:root{color-scheme:dark;--cyan:#63ffe2;--gold:#ffd34e;--leaf:#43e07f;--deep:#072726;font-family:Inter,"Segoe UI",Arial,sans-serif}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(circle at 50% -20%,#177775 0,#0e4846 34%,#061f1e 72%);color:#fff}.app-shell{max-width:1280px;margin:auto;min-height:100vh;padding:12px 18px 92px}.topbar{display:grid;grid-template-columns:260px 220px 1fr;gap:24px;align-items:center}.profile,.wallet{height:72px;border:2px solid #23e7c5;border-radius:36px;background:linear-gradient(180deg,#096c75,#0c3c3b);box-shadow:0 0 14px #12d6be,inset 0 0 18px #072e2d;display:flex;align-items:center}.profile{padding:5px 18px 5px 6px;gap:10px}.profile small,.profile strong{display:block}.profile small{color:#c9fff2}.avatar{width:58px;height:58px;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle at 35% 30%,#9cff8d,#24aa60 58%,#07513a);border:2px solid #ddffb0;box-shadow:0 0 12px #66ff9c}.avatar span{font-size:18px;font-weight:1000;color:#fff;text-shadow:0 2px 2px #06462e}.wallet{justify-content:center;gap:10px;color:var(--gold);font-size:23px}.plus{border:0;border-radius:50%;width:40px;height:40px;background:linear-gradient(#fff36c,#f59b00);color:#6a3300;font-size:28px;font-weight:900}.actions{display:flex;justify-content:flex-end;gap:20px}.actions button,footer button{border:0;background:none;color:#e7fff9;font-weight:800}.actions span{display:block;font-size:30px}.hero{position:relative;margin:14px 0 18px;height:190px;border:2px solid #42f8d8;border-radius:24px;overflow:hidden;background:radial-gradient(circle at 25% 60%,#21a76f,#177a77 48%,#0f4b4a 82%);box-shadow:0 0 18px #12d6be,inset 0 0 32px #0b7b79}.hero:before{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 0 42%,#93ffe71c 55%,transparent 68%),repeating-linear-gradient(115deg,transparent 0 80px,#71ffe914 82px 84px);animation:banner-light 7s linear infinite}.hero-art{position:absolute;left:2%;bottom:0;width:46%;height:100%}.glow-orb{position:absolute;width:180px;height:180px;left:20%;top:5px;border-radius:50%;background:radial-gradient(circle,#f5ffab99 0,#63ffaf38 43%,transparent 70%);animation:soft-pulse 3.8s ease-in-out infinite}.garden-mark{position:absolute;left:11%;bottom:-2px;width:280px;height:165px;filter:drop-shadow(0 8px 8px #07302f)}.garden-mark span{position:absolute}.garden-mark .tree{left:0;bottom:5px;font-size:112px}.garden-mark .home{left:105px;bottom:0;font-size:105px}.garden-mark .coins{left:207px;bottom:4px;font-size:55px}.leaf{position:absolute;width:23px;height:43px;border-radius:100% 0 100% 0;background:linear-gradient(135deg,#d7ff76,#24d572);box-shadow:0 0 10px #78ff95;will-change:transform}.leaf-one{left:9%;top:12%;animation:leaf-drift 6s ease-in-out infinite}.leaf-two{left:77%;top:15%;width:17px;height:31px;animation:leaf-drift 7.5s ease-in-out -2s infinite}.leaf-three{left:62%;top:72%;width:14px;height:26px;animation:leaf-drift 8s ease-in-out -4s infinite}.hero-copy{position:absolute;right:5%;top:27px;text-align:center;text-shadow:0 4px 0 #105351,0 0 16px #30ffe2}.hero-copy p{margin:0;color:#baffd4;font-weight:900;letter-spacing:6px}.hero-copy h1{margin:5px 0;font-size:38px;line-height:1.05;font-style:italic;animation:title-glow 3.6s ease-in-out infinite}.hero-copy em{color:var(--gold);font-style:normal;text-shadow:0 4px 0 #7d4b00,0 0 18px #ffbd23}.hero-copy small{color:#d5fff7}.game-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:14px}.game-card{position:relative;overflow:hidden;min-height:132px;border:2px solid #35edce;border-radius:22px;background:linear-gradient(145deg,#166e6c,#104c4b);color:#fff;box-shadow:0 0 10px #10baa8,inset 0 0 18px #0a787f;cursor:pointer;transition:.18s transform,.18s filter}.game-card:after{content:"";position:absolute;inset:-50%;background:linear-gradient(105deg,transparent 43%,#ffffff2b 49%,transparent 55%);transform:translateX(-70%);pointer-events:none}.game-card.active:after{animation:card-shine 4.8s ease-in-out infinite}.game-card:hover{transform:translateY(-3px);filter:brightness(1.16)}.game-card span{display:block;font-size:52px;filter:drop-shadow(0 0 8px #71e9e6)}.game-card strong{display:block;font-size:20px;font-style:italic;text-shadow:0 3px 0 #165655}.game-card small{color:#a6ffeb}.game-card.active{border-color:#fff36c;box-shadow:0 0 19px #fbd84a,inset 0 0 24px #0b9d86}.game-card.disabled{opacity:.8}.table-panel{margin-top:20px;padding:20px;border:2px solid #39f1d1;border-radius:22px;background:linear-gradient(180deg,#0f4e4ce8,#092f2fee);box-shadow:0 0 15px #12bda9;scroll-margin-top:12px}.table-head{display:grid;grid-template-columns:100px 1fr 80px 80px;align-items:center;gap:20px}.table-head small,.table-head strong{display:block}.commit code{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#85ffe9}.online{text-align:center;color:#8dffad}.online b{font-size:22px}.timer{font-size:40px;font-weight:900;text-align:center;color:var(--gold)}.dice-stage{display:flex;justify-content:center;gap:18px;margin:22px}.dice{width:78px;height:78px;border-radius:16px;background:linear-gradient(145deg,#fff,#baffdf);color:#0d3b3a;display:grid;place-items:center;font-size:44px;font-weight:900;box-shadow:0 0 18px #43ffd8;transform:translateZ(0)}.dice.rolling{animation:dice-breathe .7s ease-in-out infinite alternate}.result{text-align:center;font-size:22px;font-weight:900;color:var(--gold)}.pool-board{display:grid;grid-template-columns:1fr 1fr;gap:14px;max-width:600px;margin:0 auto 16px}.pool{padding:12px 20px;border-radius:14px;display:grid;grid-template-columns:80px 1fr auto;align-items:center}.pool span{font-size:24px;font-weight:900}.pool b{text-align:center;color:#fff;font-size:22px}.pool small{color:#d2fff5}.pool i{font-style:normal}.pool.tai{background:linear-gradient(90deg,#b82a45,#761830)}.pool.xiu{background:linear-gradient(90deg,#087e83,#115553)}.bet-controls{display:flex;align-items:end;justify-content:center;gap:15px}.bet-controls label{font-size:12px;color:#b9f8ed}.bet-controls input{display:block;width:160px;margin-top:6px;border:1px solid #48efcf;border-radius:12px;padding:14px;background:#072726;color:#fff;font-size:18px}.bet{min-width:170px;padding:12px;border:0;border-radius:14px;color:#fff;font-size:22px;font-weight:900;transition:transform .16s,filter .16s}.bet:hover:not(:disabled){transform:translateY(-2px);filter:brightness(1.15)}.bet small{display:block}.bet.tai{background:linear-gradient(#ff5d72,#b1133d)}.bet.xiu{background:linear-gradient(#1bd9bf,#087279)}.bet:disabled{opacity:.4}.proof{display:flex;justify-content:space-between;align-items:center;margin-top:18px;padding-top:14px;border-top:1px solid #1c998e}.proof button{border:1px solid #43efd1;border-radius:9px;background:#146260;color:#fff;padding:9px}.history{display:flex;gap:8px;margin-top:15px;overflow:auto}.history span{min-width:42px;padding:9px;border-radius:50%;text-align:center;font-weight:900}.history .tai{background:#c5164d}.history .xiu{background:#078b8d}.history .triple{background:#7d38c8}.fund-strip{display:flex;gap:25px;align-items:center;margin:18px 0;padding:13px 18px;border:1px solid #30ddc1;border-radius:14px;background:#0c3837}.fund-strip span{color:#c9fff4}.fund-strip b{color:var(--gold)}footer{position:fixed;z-index:5;left:50%;bottom:0;transform:translateX(-50%);width:min(1280px,100%);height:80px;padding:8px 25px;display:flex;align-items:center;justify-content:space-around;background:linear-gradient(180deg,#146664f5,#082f2ef5);border:2px solid #2ce5c5;border-bottom:0;border-radius:35px 35px 0 0;box-shadow:0 0 16px #14bda9}footer button span{display:block;font-size:11px}.deposit{padding:14px 30px!important;border-radius:25px!important;background:linear-gradient(#ffe85c,#bd6500)!important;color:#fff!important;font-size:21px;box-shadow:0 0 13px #ffc400}.toast{position:fixed;z-index:10;right:20px;top:20px;max-width:320px;padding:14px 18px;border-radius:12px;background:#104e4d;border:1px solid #42efd2;box-shadow:0 0 14px #14bda9;transform:translateY(-140%);transition:.25s}.toast.show{transform:translateY(0)}
.avatar{overflow:hidden}.avatar img{display:block;width:100%;height:100%;object-fit:cover}.coin-icon{display:inline-grid;place-items:center;width:25px;height:25px;border-radius:50%;background:linear-gradient(#fff06a,#f39b12);border:2px solid #ffe991;color:#7a4300;font:900 16px/1 Arial,sans-serif;font-style:normal;box-shadow:0 0 8px #ffc532}.hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 47%;transform:translateZ(0)}.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 0 43%,#0a32328c 58%,#0a3232d9 100%);pointer-events:none}.hero:before{z-index:2}.hero-copy{z-index:3}.game-grid{grid-template-columns:repeat(6,minmax(0,1fr))}.game-card{min-width:0;padding:0 0 8px;isolation:isolate}.game-card img{display:block;width:100%;max-width:100%;height:88px;object-fit:cover;object-position:center;filter:saturate(1.06);transition:transform .22s ease,filter .22s ease}.game-card:hover img{transform:scale(1.045);filter:saturate(1.16) brightness(1.08)}.game-card strong,.game-card small{position:relative;z-index:2}.game-card strong{margin-top:-24px;padding-top:20px;background:linear-gradient(transparent,#0c3d3c 52%)}.game-card:after{z-index:3}
@keyframes banner-light{from{transform:translateX(-18%)}to{transform:translateX(18%)}}@keyframes soft-pulse{50%{transform:scale(1.06);opacity:.72}}@keyframes leaf-drift{0%,100%{transform:translate3d(0,0,0) rotate(-18deg)}50%{transform:translate3d(18px,12px,0) rotate(22deg)}}@keyframes title-glow{50%{filter:brightness(1.16);transform:translate3d(0,-1px,0)}}@keyframes card-shine{0%,58%{transform:translateX(-70%)}82%,100%{transform:translateX(70%)}}@keyframes dice-breathe{to{transform:translate3d(0,-4px,0) rotate(2deg)}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.001ms!important}}
@media(max-width:900px){.app-shell{padding:8px 9px 88px}.topbar{grid-template-columns:1fr 150px}.actions{grid-column:1/-1;justify-content:space-around;gap:3px}.actions button{font-size:10px}.hero{height:150px}.hero-image{object-position:39% center}.hero:after{background:linear-gradient(90deg,transparent 0 34%,#0a3232a8 54%,#0a3232e8 100%)}.hero-copy{right:3%;top:25px}.hero-copy h1{font-size:25px}.game-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.game-card{min-height:105px}.game-card img{height:72px}.game-card strong{font-size:14px;margin-top:-20px;padding-top:17px}.table-head{grid-template-columns:65px 1fr 55px 55px}.bet-controls{display:grid;grid-template-columns:1fr 1fr}.bet-controls label{grid-column:1/-1}.bet-controls input{width:100%}.bet{min-width:0}.pool{grid-template-columns:55px 1fr auto;padding:10px}.pool span,.pool b{font-size:16px}.fund-strip{display:grid;grid-template-columns:1fr 1fr;gap:8px}.fund-strip strong{grid-column:1/-1}footer{padding:8px 4px}.deposit{padding:12px!important;font-size:14px}.profile{height:62px}.wallet{height:62px;font-size:17px}.avatar{width:48px;height:48px}}

:root{--cyan:#60e6e3;--gold:#ffd34e;--leaf:#64e6e3;--deep:#072827}
body{background-color:#061c1c;background-image:linear-gradient(#061c1c66,#061c1c99),url('/assets/images/ui-shell-background-blue-v3.webp');background-size:cover;background-position:center top;color:#fff}
.app-shell{max-width:1440px;padding:0 14px 98px}
.topbar{min-height:90px;padding:9px 16px;background-image:linear-gradient(90deg,#072424b8,#0f49477a),url('/assets/images/ui-header-blue-v3.webp');background-size:cover;background-position:center 56%;border-radius:0 0 28px 28px;box-shadow:0 9px 24px #083534b0}
.profile,.wallet,.actions button,footer button,.plus,.hero,.game-card,.table-panel,.fund-strip,footer,.pool,.bet,.proof button,.bet-controls input,.toast{border:0!important}
.profile,.wallet{background-image:linear-gradient(#115b59b0,#082d2cd4),url('/assets/images/ui-button-blue-v3.webp');background-size:100% 100%;box-shadow:0 7px 16px #0623238a,inset 0 0 14px #64e6e352}
.avatar{border:0;box-shadow:0 0 15px #62e6e3;background:#0f4b4a}
.actions{gap:9px}
.actions button{min-width:92px;padding:8px 10px;border-radius:18px;background-image:linear-gradient(#115856a8,#072928d1),url('/assets/images/ui-button-blue-v3.webp');background-size:100% 100%;background-position:center;box-shadow:0 5px 12px #05222182;transition:transform .18s ease,filter .18s ease}
.actions button:hover,footer button:hover{transform:translateY(-2px);filter:brightness(1.16)}
.plus{background-image:url('/assets/images/ui-button-gold-blue-v3.webp');background-size:100% 100%;box-shadow:0 4px 10px #a6670080}
.hero{margin:8px 0 8px;border-radius:20px;background:none;box-shadow:0 10px 24px #052221a8}
.hero:after{background:linear-gradient(90deg,transparent 0 43%,#082f2ea3 59%,#0c3f3edc 100%)}
.game-grid{padding:8px;gap:7px;border-radius:24px;background-image:linear-gradient(#092f2fa8,#061c1cbf),url('/assets/images/ui-game-board-blue-v3.webp');background-size:cover;background-position:center;box-shadow:0 12px 30px #041a19b8}
.game-card{min-height:154px;padding:0 0 10px;border-radius:16px;background:#0d413f;box-shadow:0 7px 14px #041919a1;opacity:1!important}
.game-card img{height:116px;filter:saturate(1.1) contrast(1.03)}
.game-card strong{margin-top:-30px;padding-top:25px;font-size:20px;background:linear-gradient(transparent,#0a3433e8 48%);text-shadow:0 3px 6px #000}
.game-card small{color:#c6f6f5}
.game-card.active{box-shadow:0 0 22px #ffd43da8,0 8px 15px #052221}
.table-panel{margin-top:9px;background-image:linear-gradient(#092f2fb5,#051919d6),url('/assets/images/ui-table-panel-blue-v3.webp');background-size:cover;background-position:center;border-radius:24px;box-shadow:0 12px 28px #041818bd}
.pool.tai,.bet.tai{background-image:linear-gradient(#8d0927a3,#3d0017d1),url('/assets/images/ui-button-red-blue-v3.webp');background-size:100% 100%}
.pool.xiu,.bet.xiu,.proof button{background-image:linear-gradient(#1b918fa1,#0d4a49d4),url('/assets/images/ui-button-cyan-blue-v3.webp');background-size:100% 100%}
.bet-controls input{background-image:linear-gradient(#061c1ce8,#0f4948dd),url('/assets/images/ui-button-blue-v3.webp');background-size:100% 100%;box-shadow:inset 0 0 12px #49e2df3d}
.fund-strip{background-image:linear-gradient(#092f2fc4,#061c1cd9),url('/assets/images/ui-table-panel-blue-v3.webp');background-size:cover;background-position:center;border-radius:18px;box-shadow:0 8px 18px #041b1a99}
footer{height:86px;background-image:linear-gradient(#0d48478a,#05201fcf),url('/assets/images/ui-footer-blue-v3.webp');background-size:cover;background-position:center 45%;border-radius:32px 32px 0 0;box-shadow:0 -8px 26px #0d4f4eb0}
footer button{min-width:130px;padding:10px 14px;border-radius:18px;background-image:linear-gradient(#115856a1,#072928c9),url('/assets/images/ui-button-blue-v3.webp');background-size:100% 100%;transition:transform .18s ease,filter .18s ease}
footer .deposit{background-image:url('/assets/images/ui-button-gold-blue-v3.webp')!important;background-size:100% 100%!important;box-shadow:0 7px 18px #a46700a3}
.toast{background-image:linear-gradient(#115856d9,#072625e8),url('/assets/images/ui-button-blue-v3.webp');background-size:100% 100%}
.profile small,.hero-copy p,.hero-copy small,.table-head small,.pool small,.fund-strip span{color:#d0f8f7}.online{color:#6ce8e5}
.dice{background:linear-gradient(145deg,#f8fefe,#a9f1f0);box-shadow:0 0 18px #5ce5e2}.history .xiu{background:#24aba8}
@media(max-width:900px){.app-shell{padding:0 8px 92px}.topbar{padding:8px}.hero{height:158px}.hero:after{background:linear-gradient(90deg,transparent 0 30%,#082f2eb8 53%,#0c3f3eed 100%)}.game-grid{grid-template-columns:repeat(3,minmax(0,1fr));padding:6px;gap:6px}.game-card{min-height:126px}.game-card img{height:91px}.game-card strong{margin-top:-25px;padding-top:21px;font-size:15px}footer button{min-width:0}}
@media(max-width:520px){.topbar{grid-template-columns:1fr 132px}.actions{overflow-x:auto;justify-content:flex-start}.actions button{min-width:78px}.hero-copy p{letter-spacing:3px}.hero-copy h1{font-size:21px}.hero-copy small{font-size:8px}.game-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.game-card{min-height:142px}.game-card img{height:105px}.table-panel{padding:12px}.table-head{gap:8px}.commit{min-width:0}footer button{padding:8px 4px}.deposit{font-size:13px!important}}

.actions button,footer button,.bet,.proof button{padding:0!important;background:none!important;overflow:hidden;line-height:0}
.actions button{width:112px;min-width:92px;border-radius:16px}
.actions button img,footer button img,.bet img,.proof button img{display:block;width:100%;height:auto;pointer-events:none;transform:translateZ(0)}
.actions button img{animation:button-breathe 4.8s ease-in-out infinite}
.actions button:nth-child(2) img{animation-delay:-1.2s}.actions button:nth-child(3) img{animation-delay:-2.4s}.actions button:nth-child(4) img{animation-delay:-3.6s}
.game-card{min-height:0;padding:0;border-radius:14px;background:none;line-height:0}
.game-card img{width:100%;height:auto;aspect-ratio:8/5;object-fit:cover;filter:saturate(1.08) contrast(1.03)}
.game-card.active img{animation:active-tile-breathe 3.8s ease-in-out infinite;will-change:transform}
.bet{width:190px;min-width:170px;border-radius:18px}
.proof button{width:172px;border-radius:14px}
footer button{width:148px;min-width:108px;border-radius:18px}
footer .deposit{width:205px;padding:0!important;background:none!important;box-shadow:0 7px 18px #a46700a3}
.dice-stage{perspective:700px;min-height:112px;align-items:center}
.dice{position:relative;width:84px;height:84px;padding:11px;display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);place-items:center;border-radius:18px;background:linear-gradient(145deg,#ffffff,#b7f4f2 72%,#7cdedc);box-shadow:0 12px 18px #0625248f,inset -5px -7px 10px #4fc6c35c,inset 5px 5px 10px #ffffffb8;transform-style:preserve-3d;transform:translate3d(0,0,0)}
.dice i{width:14px;height:14px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#1c6765,#041918 70%);box-shadow:inset 1px 2px 3px #000,0 1px 1px #fff8;opacity:0;transform:scale(.45);transition:opacity .12s,transform .12s}
.dice.face-hidden i:nth-child(1),.dice.face-hidden i:nth-child(3),.dice.face-hidden i:nth-child(5),.dice.face-hidden i:nth-child(7),.dice.face-hidden i:nth-child(9){opacity:.15;transform:scale(.72)}
.dice.face-1 i:nth-child(5),.dice.face-2 i:nth-child(1),.dice.face-2 i:nth-child(9),.dice.face-3 i:nth-child(1),.dice.face-3 i:nth-child(5),.dice.face-3 i:nth-child(9),.dice.face-4 i:nth-child(1),.dice.face-4 i:nth-child(3),.dice.face-4 i:nth-child(7),.dice.face-4 i:nth-child(9),.dice.face-5 i:nth-child(1),.dice.face-5 i:nth-child(3),.dice.face-5 i:nth-child(5),.dice.face-5 i:nth-child(7),.dice.face-5 i:nth-child(9),.dice.face-6 i:nth-child(1),.dice.face-6 i:nth-child(3),.dice.face-6 i:nth-child(4),.dice.face-6 i:nth-child(6),.dice.face-6 i:nth-child(7),.dice.face-6 i:nth-child(9){opacity:1;transform:scale(1)}
.dice.rolling{animation:dice-ready .48s ease-in-out infinite alternate;will-change:transform}
.dice.reveal{animation:dice-toss 1.08s cubic-bezier(.2,.72,.25,1.12);will-change:transform}
.dice-stage .dice:nth-child(2){animation-delay:.09s}.dice-stage .dice:nth-child(3){animation-delay:.18s}
@keyframes button-breathe{0%,100%{transform:translate3d(0,0,0);filter:brightness(1)}50%{transform:translate3d(0,-1px,0);filter:brightness(1.12)}}
@keyframes active-tile-breathe{0%,100%{transform:translate3d(0,0,0) scale(1);filter:brightness(1)}50%{transform:translate3d(0,-2px,0) scale(1.018);filter:brightness(1.12)}}
@keyframes dice-ready{from{transform:translate3d(-2px,1px,0) rotate(-2deg)}to{transform:translate3d(2px,-2px,0) rotate(2deg)}}
@keyframes dice-toss{0%{transform:translate3d(0,0,0) rotateX(0) rotateZ(0) scale(1)}34%{transform:translate3d(0,-105px,0) rotateX(155deg) rotateZ(88deg) scale(.84)}67%{transform:translate3d(0,9px,0) rotateX(330deg) rotateZ(176deg) scale(1.04)}82%{transform:translate3d(0,-15px,0) rotateX(350deg) rotateZ(182deg) scale(.98)}100%{transform:translate3d(0,0,0) rotateX(360deg) rotateZ(180deg) scale(1)}}
@media(max-width:900px){.actions button{width:96px}.game-card{min-height:0}.game-card img{height:auto}.bet{width:100%;min-width:0}footer button{width:122px;min-width:0}footer .deposit{width:170px}.dice{width:72px;height:72px;padding:9px}.dice i{width:12px;height:12px}}
@media(max-width:520px){.actions button{min-width:92px}.game-card{min-height:0}.game-card img{height:auto}.proof button{width:145px}footer button{width:78px}footer .deposit{width:112px}.dice-stage{gap:12px}.dice{width:66px;height:66px;padding:8px}.dice i{width:11px;height:11px}}

.card-room-panel{margin-top:9px;padding:18px;border-radius:24px;background-image:linear-gradient(#092f2fb5,#051919d6),url('/assets/images/ui-table-panel-blue-v3.webp');background-size:cover;background-position:center;box-shadow:0 12px 28px #041818bd}
.card-room-panel[hidden]{display:none}
.table-panel[hidden]{display:none}.game-card.selected{transform:translateY(-3px);filter:brightness(1.16);box-shadow:0 0 23px #ffe258,inset 0 0 26px #35dfdb}.game-card.selected:before{content:"";position:absolute;z-index:4;inset:0;background:linear-gradient(135deg,#ffffff20,transparent 42%);pointer-events:none}
.card-room-head{display:flex;align-items:center;gap:18px;margin-bottom:14px}.card-room-head>img{width:190px;height:auto;border-radius:16px;box-shadow:0 8px 20px #051d1db8}.card-room-head h2{margin:0 0 6px;color:#ffe36e;font-size:28px;font-style:italic}.card-room-head p{margin:0;color:#d0f8f7;font-size:13px}
.card-room-controls{display:grid;grid-template-columns:minmax(150px,1fr) minmax(140px,180px) repeat(3,150px);gap:10px;align-items:end}.card-room-controls label{color:#d0f8f7;font-size:11px;font-weight:800}.card-room-controls input{display:block;width:100%;height:50px;margin-top:5px;padding:0 14px;border:0;border-radius:14px;background:#0f4948dd;color:#fff;box-shadow:inset 0 0 12px #49e2df3d;font-size:17px}.card-room-controls button{padding:0;border:0;border-radius:15px;background:none;overflow:hidden;line-height:0}.card-room-controls button img{display:block;width:100%;height:auto}.card-room-controls button:disabled{opacity:.38;filter:grayscale(.35)}
.card-room-status{margin:15px 0 10px;padding:10px 14px;border-radius:13px;background:#0f4746c4;color:#abf2f0;font-weight:800}
.card-player-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}.card-player{min-width:0;padding:10px;border-radius:14px;background:#0d3d3cd9;box-shadow:0 5px 13px #041b1a8f}.card-player.host{background:#195958d9;box-shadow:0 0 15px #ffd74b5c}.card-player strong,.card-player span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.card-player strong{color:#fff}.card-player span{margin-top:3px;color:#a9f1f0;font-size:12px}
.card-match-result{margin-top:13px}.card-match-summary{margin-bottom:10px;color:#ffe36e;font-weight:900;text-align:center}.card-hand-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:10px}.card-hand{padding:12px;border-radius:16px;background:#092f2ed9;text-align:center}.card-hand.winner{box-shadow:inset 0 0 24px #f6ce3966,0 0 15px #f6ce3947}.card-hand header{display:flex;justify-content:space-between;gap:8px;margin-bottom:10px}.card-hand header b{color:#fff}.card-hand header span{color:#ffe36e}.playing-cards{display:flex;justify-content:center;gap:7px}.playing-card{position:relative;width:54px;height:76px;padding:5px;border-radius:7px;background:linear-gradient(145deg,#fff,#ddfaf9);color:#0c3635;box-shadow:0 5px 9px #0009;font:900 17px/1 Arial,sans-serif;text-align:left}.playing-card.red{color:#c41742}.playing-card i{position:absolute;right:6px;bottom:6px;font-size:23px;font-style:normal}.card-score{margin-top:9px;color:#c3f5f4;font-weight:800}.card-payout{color:#ffe36e}
@media(max-width:1000px){.card-room-controls{grid-template-columns:1fr 1fr 1fr}.card-room-controls label{grid-column:span 1}.card-player-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:600px){.card-room-head>img{width:115px}.card-room-head h2{font-size:21px}.card-room-head p{font-size:10px}.card-room-controls{grid-template-columns:1fr 1fr}.card-room-controls button{width:100%}.card-player-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.card-hand-grid{grid-template-columns:1fr}}
.game-mode .hero,.game-mode .game-grid,.game-mode .fund-strip,.game-mode footer{display:none}.game-mode .app-shell{padding-bottom:22px}.card-room-panel,.table-panel{position:relative;min-height:520px}.exit-game{position:absolute;z-index:8;top:14px;right:14px;width:42px;height:42px;padding:0;border:0;border-radius:50%;background:linear-gradient(145deg,#2cd2ce,#0f4847);color:#fff;font-size:25px;font-weight:900;box-shadow:0 0 14px #53e4e0;cursor:pointer}.exit-game:hover{filter:brightness(1.2);transform:scale(1.04)}
.card-lobby-create{display:grid;grid-template-columns:minmax(200px,1fr) 180px;gap:12px;align-items:end;max-width:620px;margin:0 auto 20px}.card-lobby-create label{color:#d0f8f7;font-size:11px;font-weight:800}.card-lobby-create input{display:block;width:100%;height:52px;margin-top:5px;padding:0 16px;border:0;border-radius:15px;background:#0f4948dd;color:#fff;box-shadow:inset 0 0 13px #49e2df4d;font-size:18px}.card-lobby-create button,.card-lobby-room button{padding:0;border:0;background:none;line-height:0;cursor:pointer}.card-lobby-create img,.card-lobby-room button img{display:block;width:100%;height:auto}.card-lobby-title{margin:10px 0;color:#ffe36e;font-size:16px;font-weight:900;text-align:center}.card-lobby-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px}.card-lobby-room{padding:14px;border-radius:18px;background:linear-gradient(145deg,#145e5ddb,#092c2ceb);box-shadow:inset 0 0 18px #4ae2df38,0 7px 16px #051f1e99}.card-lobby-room header{display:flex;justify-content:space-between;gap:8px;margin-bottom:5px}.card-lobby-room header strong{color:#fff}.card-lobby-room header span{color:#88ecea}.card-lobby-room p{margin:5px 0 12px;color:#b4f3f2;font-size:12px}.card-lobby-room button{width:130px}.card-lobby-empty{grid-column:1/-1;padding:35px;text-align:center;color:#9defee;background:#0d3b3aa6;border-radius:18px}
.card-table[hidden]{display:none}.card-table{position:relative}.card-room-timer{position:absolute;right:0;top:-64px;min-width:150px;padding:10px 14px;border-radius:18px;background:#0e4745e6;color:#ffe36e;box-shadow:0 0 16px #43e1de66;font-size:18px;font-weight:900;text-align:center}.card-table .card-room-controls{grid-template-columns:minmax(160px,1fr) repeat(3,minmax(130px,180px))}.playing-card.card-back{display:grid;place-items:center;background:repeating-linear-gradient(45deg,#115251 0 6px,#20aca8 6px 10px);color:transparent;box-shadow:inset 0 0 0 4px #a9f1f0,inset 0 0 0 7px #125554,0 5px 9px #0009}.playing-card.peeled{animation:peel-card .46s cubic-bezier(.2,.75,.25,1.2)}@keyframes peel-card{0%{transform:rotateY(90deg) scale(.78)}100%{transform:rotateY(0) scale(1)}}
@media(max-width:700px){.card-room-panel,.table-panel{min-height:430px}.card-lobby-create{grid-template-columns:1fr 135px}.card-table .card-room-controls{grid-template-columns:1fr 1fr}.card-room-timer{position:static;margin:0 0 10px}.exit-game{top:8px;right:8px;width:38px;height:38px}.card-room-head{padding-right:38px}}
.card-room-panel{padding:12px;min-height:0}.compact-game-title{margin:4px 52px 14px 4px;color:#ffe36e;font-size:18px;font-weight:900}.card-lobby-create{grid-template-columns:minmax(180px,340px) 112px;justify-content:center;gap:8px;margin-bottom:12px}.card-lobby-create input{height:38px;padding:0 12px;border-radius:10px;font-size:15px}.compact-action{min-width:92px;height:38px;padding:0 15px!important;border:0;border-radius:10px!important;background:linear-gradient(180deg,#2bc4c0,#136361)!important;color:#fff!important;box-shadow:0 4px 10px #06242499,inset 0 0 9px #64e7e44f!important;font:800 13px/1 "Segoe UI",Arial,sans-serif!important;white-space:nowrap;cursor:pointer}.compact-action.primary{background:linear-gradient(180deg,#e6aa28,#8d4b05)!important}.compact-action.danger{background:linear-gradient(180deg,#db3b52,#79152c)!important}.compact-action:hover:not(:disabled){filter:brightness(1.18);transform:translateY(-1px)}.compact-action:disabled{opacity:.38;filter:grayscale(.4);cursor:not-allowed}.card-lobby-room button.compact-action{width:auto;min-width:105px}.card-lobby-room{padding:11px}.card-lobby-room p{margin-bottom:8px}
.card-table-toolbar{display:flex;align-items:center;gap:8px;min-height:46px;padding-right:48px}.card-table-toolbar .card-room-status{flex:1;min-width:180px;margin:0;padding:9px 12px;font-size:13px}.compact-stake{display:flex;align-items:center;gap:6px;color:#b5f3f2;font-size:11px;font-weight:800}.compact-stake input{width:92px;height:38px;padding:0 9px;border:0;border-radius:10px;background:#0f4947;color:#fff;font-size:14px}.card-table-toolbar .card-room-timer{position:static;min-width:120px;padding:9px 10px;border-radius:10px;font-size:13px}.bai-cao-table-surface{position:relative;min-height:550px;margin-top:10px;overflow:hidden;border-radius:46% / 20%;background:radial-gradient(ellipse at center,#1b8b88 0,#146a68 45%,#0b3a39 73%,#051d1c 100%);box-shadow:inset 0 0 0 8px #26afac99,inset 0 0 45px #4de3df55,0 12px 25px #041919bd}.bai-cao-table-surface:before{content:"";position:absolute;inset:7%;border-radius:48%;background:radial-gradient(ellipse,#27b2af22,transparent 68%);box-shadow:inset 0 0 28px #6ce8e52b}.table-emblem{position:absolute;z-index:0;left:50%;top:50%;transform:translate(-50%,-50%);color:#7deae81f;font-size:30px;font-weight:1000;letter-spacing:4px;text-align:center}.bai-cao-table-surface .card-player-grid{position:absolute;z-index:2;inset:0;display:block}.table-seat{position:absolute;width:176px;min-height:76px;padding:8px 9px 8px 48px;border-radius:15px;background:linear-gradient(145deg,#0f4645ea,#062322ef);box-shadow:0 7px 15px #05201fb8,inset 0 0 12px #48e2de35;text-align:left;transform:translate(-50%,-50%)}.table-seat.host{left:50%;top:50%;background:linear-gradient(145deg,#1e706ef2,#0c3837ef);box-shadow:0 0 22px #ffd84e70,inset 0 0 16px #ffe0522b}.table-seat.winner{box-shadow:0 0 25px #ffe35aa8,inset 0 0 18px #ffd7373d}.table-seat .seat-avatar{position:absolute;left:8px;top:9px;display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:linear-gradient(#59e5e2,#208684);color:#fff;font-weight:900;box-shadow:0 0 9px #5de5e2}.table-seat strong,.table-seat span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.table-seat strong{font-size:13px}.table-seat span{color:#a0f0ee;font-size:10px}.table-seat .playing-cards{margin:7px 0 0 -39px;gap:3px}.table-seat .playing-card{width:34px;height:48px;padding:3px;border-radius:5px;font-size:11px}.table-seat .playing-card i{right:3px;bottom:3px;font-size:14px}.table-seat .card-score,.table-seat .card-payout{position:absolute;right:8px;font-size:10px;font-weight:800}.table-seat .card-score{bottom:20px;color:#c3f5f4}.table-seat .card-payout{bottom:7px;color:#ffe36e}.table-seat.seat-1{left:24%;top:13%}.table-seat.seat-2{left:76%;top:13%}.table-seat.seat-3{left:11%;top:52%}.table-seat.seat-4{left:89%;top:52%}.table-seat.seat-5{left:50%;top:86%}.bai-cao-table-surface .card-match-result{position:absolute;z-index:3;left:50%;top:8%;width:260px;margin:0;transform:translateX(-50%);pointer-events:none}.bai-cao-table-surface .card-match-summary{margin:0;padding:7px 10px;border-radius:10px;background:#092f2ea8;font-size:12px}
@media(max-width:850px){.card-table-toolbar{flex-wrap:wrap;padding-right:44px}.card-table-toolbar .card-room-status{flex-basis:calc(100% - 50px)}.bai-cao-table-surface{min-height:610px;border-radius:28px}.table-seat{width:145px;padding-left:42px}.table-seat.seat-1{left:23%;top:14%}.table-seat.seat-2{left:77%;top:14%}.table-seat.seat-3{left:17%;top:52%}.table-seat.seat-4{left:83%;top:52%}.table-seat.seat-5{top:88%}}
@media(max-width:520px){.compact-game-title{font-size:14px}.card-lobby-create{grid-template-columns:1fr 100px}.compact-action{min-width:80px;height:34px;padding:0 8px!important;font-size:11px!important}.compact-stake input{width:74px;height:34px}.card-table-toolbar{gap:5px}.card-table-toolbar .card-room-timer{min-width:105px}.bai-cao-table-surface{min-height:650px}.table-seat{width:126px;min-height:70px;padding:7px 6px 7px 37px}.table-seat .seat-avatar{left:6px;width:26px;height:26px}.table-seat strong{font-size:11px}.table-seat span{font-size:8px}.table-seat .playing-cards{margin-left:-30px}.table-seat .playing-card{width:29px;height:42px}.table-seat.seat-1{left:22%;top:15%}.table-seat.seat-2{left:78%;top:15%}.table-seat.seat-3{left:20%;top:53%}.table-seat.seat-4{left:80%;top:53%}.table-seat.seat-5{top:89%}.bai-cao-table-surface .card-match-result{top:4%;width:190px}.table-emblem{font-size:21px}}
.table-seat.host{left:50%;top:13%}.bai-cao-table-surface .card-match-result{top:46%}.table-seat.viewer:not(.host){box-shadow:0 0 22px #64e6e38c,inset 0 0 16px #64e6e32e}.table-seat.viewer:not(.host):after{content:"B\1ea0N";position:absolute;right:8px;top:8px;color:#85ece9;font-size:9px;font-weight:900}
.compact-action.peel-enabled{background:linear-gradient(180deg,#2ccbc7,#198583)!important;box-shadow:0 0 12px #51e4e08f,inset 0 0 10px #b5f3f242!important}
@media(max-width:850px){.table-seat.host{top:13%}.bai-cao-table-surface .card-match-result{top:46%}}
@media(max-width:520px){.table-seat.host{top:13%}.bai-cao-table-surface .card-match-result{top:46%}}
.classic-game-panel{position:relative;padding:12px;border-radius:24px;background-image:linear-gradient(#092f2fc9,#051919e8),url('/assets/images/ui-table-panel-blue-v3.webp');background-size:cover;background-position:center;box-shadow:0 12px 28px #041818bd}.classic-game-panel[hidden],.classic-lobby[hidden],.classic-table[hidden],[data-classic-action][hidden],.classic-raise[hidden]{display:none}.classic-lobby-create{display:grid;grid-template-columns:minmax(180px,340px) 112px;justify-content:center;gap:8px;align-items:end;margin:0 auto 12px}.classic-lobby-create label{color:#d0f8f7;font-size:11px;font-weight:800}.classic-lobby-create input{display:block;width:100%;height:38px;margin-top:5px;padding:0 12px;border:0;border-radius:10px;background:#0f4948dd;color:#fff;font-size:15px}.classic-table-surface{position:relative;min-height:650px;margin-top:10px;overflow:hidden;border-radius:42px;background:radial-gradient(ellipse at center,#1c8b89 0,#146a68 47%,#0a3433 78%,#051b1b 100%);box-shadow:inset 0 0 0 7px #29bdb999,inset 0 0 46px #51e4e03d,0 12px 25px #041919bd}.classic-table-surface:before{content:"";position:absolute;inset:8%;border-radius:48%;background:radial-gradient(ellipse,#2bbebb27,transparent 70%)}.classic-player-seats{position:absolute;z-index:2;inset:0}.classic-player-seats .table-seat.host{left:50%;top:11%}.classic-player-seats .table-seat.seat-1{left:22%;top:16%}.classic-player-seats .table-seat.seat-2{left:78%;top:16%}.classic-player-seats .table-seat.seat-3{left:10%;top:48%}.classic-player-seats .table-seat.seat-4{left:90%;top:48%}.classic-player-seats .table-seat.seat-5{left:50%;top:71%}.classic-seat small{display:block;margin-top:4px;color:#ffe36e;font-size:10px;font-weight:800}.classic-seat.current-turn{box-shadow:0 0 26px #6be8e5bd,inset 0 0 19px #6be8e540}.classic-center{position:absolute;z-index:3;left:50%;top:42%;min-width:260px;max-width:460px;padding:12px 16px;transform:translate(-50%,-50%);border-radius:15px;background:#082e2db8;color:#ffe36e;text-align:center;font-size:13px;font-weight:900}.classic-center b,.classic-center span{display:block}.center-cards{display:flex;justify-content:center;gap:6px;margin-top:9px}.classic-own-hand{position:absolute;z-index:4;left:50%;bottom:12px;display:flex;justify-content:center;align-items:end;max-width:94%;transform:translateX(-50%);padding:8px 12px}.classic-card{position:relative;margin-left:-5px;padding:0;border:0;background:none;transition:transform .16s;cursor:default}.classic-card:first-child{margin-left:0}.classic-card:not(:disabled){cursor:pointer}.classic-card.selected{z-index:3;transform:translateY(-18px)}.classic-card .playing-card{width:48px;height:68px;font-size:15px}.classic-card .playing-card i{font-size:20px}.classic-actions{display:flex;justify-content:center;align-items:center;gap:8px;min-height:52px;padding:8px}.classic-raise{display:flex;align-items:center;gap:5px;color:#b5f3f2;font-size:11px;font-weight:800}.classic-raise input{width:90px;height:38px;padding:0 8px;border:0;border-radius:10px;background:#0f4947;color:#fff}.classic-actions:empty{display:none}
@media(max-width:760px){.classic-table-surface{min-height:690px}.classic-player-seats .table-seat.seat-1{left:22%;top:17%}.classic-player-seats .table-seat.seat-2{left:78%;top:17%}.classic-player-seats .table-seat.seat-3{left:20%;top:45%}.classic-player-seats .table-seat.seat-4{left:80%;top:45%}.classic-player-seats .table-seat.seat-5{top:70%}.classic-own-hand{overflow-x:auto;justify-content:flex-start;width:96%}.classic-card .playing-card{width:40px;height:58px}.classic-actions{flex-wrap:wrap}}
.compact-action{min-width:68px;height:34px;padding:0 11px!important;font-size:12px!important;transition:transform .16s,filter .16s,box-shadow .16s}.compact-action:hover:not(:disabled){filter:brightness(1.22);transform:translateY(-2px);box-shadow:0 7px 16px #062726cc,inset 0 0 12px #9befed70!important}.card-lobby-room button.compact-action{min-width:78px}.compact-action:focus-visible,.exit-game:focus-visible,.active-table-reminder:focus-visible{outline:3px solid #fff07a;outline-offset:3px}
.active-table-reminder{position:fixed;z-index:20;right:18px;bottom:96px;width:54px;height:54px;border:0;border-radius:50%;background:radial-gradient(circle at 35% 28%,#83ece9,#20b0ac 48%,#0e4e4d 100%);color:#fff;box-shadow:0 0 0 3px #70e8e666,0 0 22px #46e2deb5;cursor:pointer;animation:table-reminder-pulse 2.2s ease-in-out infinite}.active-table-reminder[hidden]{display:none}.active-table-reminder span{font-size:27px;text-shadow:0 2px 5px #083634}.active-table-reminder b{position:absolute;right:-2px;top:-3px;display:grid;place-items:center;width:21px;height:21px;border-radius:50%;background:#ffcc35;color:#0d3c3b;font-size:13px;box-shadow:0 0 8px #ffe56f}.active-table-reminder:after{content:attr(data-tooltip);position:absolute;right:62px;top:50%;width:max-content;max-width:230px;padding:9px 12px;transform:translate(8px,-50%);border-radius:9px;background:#0a3433eb;color:#f6fefd;box-shadow:0 5px 16px #000a,0 0 0 1px #63e6e380;font-size:12px;font-weight:800;line-height:1.35;opacity:0;pointer-events:none;transition:.18s}.active-table-reminder:hover{filter:brightness(1.15);animation-play-state:paused}.active-table-reminder:hover:after,.active-table-reminder:focus-visible:after{transform:translate(0,-50%);opacity:1}@keyframes table-reminder-pulse{50%{box-shadow:0 0 0 7px #70e8e618,0 0 28px #46e2dedf;transform:scale(1.04)}}
@media(max-width:600px){.active-table-reminder{right:12px;bottom:84px;width:48px;height:48px}.active-table-reminder:after{right:55px;max-width:190px}}
.card-lobby-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.card-lobby-room{min-height:78px;padding:9px 11px;border-radius:13px}.card-lobby-room header{margin:0 0 7px;font-size:13px}.card-lobby-room header span{font-size:12px}.room-actions{display:flex;align-items:center;justify-content:space-between;gap:8px}.room-phase{font-size:10px;font-weight:900;letter-spacing:.35px;color:#9ef0ee}.room-phase.playing{color:#ffd85b}.card-lobby-room .compact-action{height:29px;min-width:60px;padding:0 9px!important;font-size:10px!important}.card-lobby-empty{min-height:78px;padding:26px}
@media(max-width:900px){.card-lobby-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.card-lobby-grid{grid-template-columns:1fr}}
.chip-picker{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:9px;max-width:760px;margin:0 auto 13px}.chip-picker>span{margin-right:4px;color:#acf2f0;font-size:11px;font-weight:900}.bet-chip{width:48px;height:48px;padding:0;border:3px dashed #8aedea;border-radius:50%;background:radial-gradient(circle at 35% 28%,#53e4e0,#1a8b89 58%,#0e4f4d);color:#fff;box-shadow:0 4px 10px #000a,inset 0 0 0 3px #0e3f3e;font:900 12px/1 "Segoe UI",Arial,sans-serif;cursor:pointer;transition:transform .16s,filter .16s,box-shadow .16s}.bet-chip:hover:not(:disabled){filter:brightness(1.2);transform:translateY(-2px)}.bet-chip.selected{border-color:#fff18b;background:radial-gradient(circle at 35% 28%,#fff47a,#e19b13 57%,#7b3d00);box-shadow:0 0 16px #ffd84ca8,inset 0 0 0 3px #633000;transform:translateY(-3px) scale(1.06)}.bet-chip:disabled{opacity:.4;cursor:not-allowed}.bet.selected-bet-side{filter:brightness(1.14);box-shadow:0 0 0 3px #ffe46f,0 0 22px #ffd12f9c}.bet-status-row{display:flex;align-items:center;justify-content:center;gap:14px;min-height:42px;max-width:620px;margin:10px auto 0;padding:7px 12px;border-radius:12px;background:#0b3c3ab8;color:#c8f6f5;font-size:12px;font-weight:900}.bet-status-row span{flex:1}.cancel-bet{height:32px;padding:0 13px;border:0;border-radius:8px;background:linear-gradient(#e0475d,#78152c);color:#fff;box-shadow:0 4px 10px #0008;font:900 11px/1 "Segoe UI",Arial,sans-serif;cursor:pointer;white-space:nowrap}.cancel-bet:hover:not(:disabled){filter:brightness(1.18);transform:translateY(-1px)}.cancel-bet:disabled{opacity:.35;cursor:not-allowed}.proof{margin-top:8px}.proof>span{color:#84dbd9;font-size:10px;font-weight:800}
@media(max-width:560px){.chip-picker{gap:6px}.chip-picker>span{width:100%;text-align:center}.bet-chip{width:42px;height:42px;font-size:11px}.bet-status-row{gap:8px}.cancel-bet{padding:0 9px;font-size:10px}}
.currency-note{width:max-content;max-width:100%;margin:5px auto 8px;padding:5px 10px;border-radius:8px;background:#0e4442b8;color:#9ef0ee;font-size:9px;font-weight:800;letter-spacing:.25px;text-align:center}.room-stake{flex:1;color:#ffe171;font-size:10px;font-weight:900;text-align:center;white-space:nowrap}.room-actions .room-phase{min-width:68px}.room-actions .compact-action{flex:0 0 auto}
@media(max-width:560px){.currency-note{font-size:8px}.room-stake{font-size:9px}.room-actions .room-phase{min-width:62px}}
.room-game-rule{min-height:30px;margin:0 0 5px!important;color:#a9f1f0!important;font-size:10px!important;line-height:1.35}
.playing-card{overflow:hidden;padding:0!important;background:linear-gradient(145deg,#fff 0,#f6f8ef 57%,#c8eceb 100%)}.playing-card .card-corner{position:absolute;z-index:3;left:4px;top:4px;display:flex;flex-direction:column;align-items:center;line-height:.85;text-shadow:0 1px 0 #fff}.playing-card .card-corner b{font-family:Georgia,"Times New Roman",serif;font-size:.92em}.playing-card .card-corner i{position:static!important;display:block;margin-top:2px;font-size:1.02em!important;font-style:normal}.playing-card .card-corner-bottom{left:auto;right:4px;top:auto;bottom:4px;transform:rotate(180deg)}.playing-card .card-center-suit{position:absolute;z-index:1;left:50%;top:52%;transform:translate(-50%,-50%);font-size:2.15em;opacity:.9}.playing-card .card-court{position:absolute;z-index:1;inset:6% 8% 5%;background-image:url('/assets/images/card-court-traditional-red-blue-set04-v2.svg');background-repeat:no-repeat;background-size:300% 100%;filter:saturate(1.02) contrast(1.08)}.playing-card.rank-j .card-court{background-position:left center}.playing-card.rank-q .card-court{background-position:center center}.playing-card.rank-k .card-court{background-position:right center}.playing-card.rank-a:before{content:"";position:absolute;z-index:0;left:50%;top:52%;width:56%;height:66%;transform:translate(-50%,-50%);border:1px solid currentColor;border-radius:50%;opacity:.2;box-shadow:inset 0 0 0 3px #fff,inset 0 0 0 4px currentColor}.playing-card.rank-a .card-center-suit{font-size:2.8em;text-shadow:0 2px 0 #fff,0 0 1px currentColor}.playing-card.rank-j,.playing-card.rank-q,.playing-card.rank-k,.playing-card.rank-a{box-shadow:0 5px 11px #000a,inset 0 0 0 1px #ffffff}.playing-card.card-back .card-corner,.playing-card.card-back .card-center-suit,.playing-card.card-back .card-court{display:none}
.tien-len-mode .classic-card{margin-left:-10px}.tien-len-mode .classic-card .playing-card{width:68px;height:98px;border-radius:9px;font-size:20px;box-shadow:0 8px 14px #000b}.tien-len-mode .classic-card.selected{transform:translateY(-22px)}.tien-len-mode .center-cards .playing-card{width:58px;height:82px;font-size:17px}.tien-len-mode .classic-own-hand{bottom:8px;max-width:98%;padding:8px 15px}.tien-len-sorter{position:absolute;z-index:7;left:50%;bottom:119px;display:flex;gap:5px;transform:translateX(-50%);padding:5px;border-radius:10px;background:#082d2cd9;box-shadow:0 5px 12px #0009,inset 0 0 0 1px #52e4e052}.tien-len-sorter[hidden]{display:none}.tien-len-sorter button{height:29px;padding:0 10px;border:0;border-radius:7px;background:#166766;color:#c6f6f5;font:900 10px/1 "Segoe UI",Arial,sans-serif;cursor:pointer;transition:.16s}.tien-len-sorter button:hover,.tien-len-sorter button.active{background:linear-gradient(#f4bc3f,#985405);color:#fff;box-shadow:0 0 10px #ffd75a85;transform:translateY(-1px)}
.tien-len-combo-flash{position:absolute;z-index:12;left:50%;top:43%;min-width:260px;padding:14px 24px;transform:translate(-50%,-50%);border-radius:16px;background:radial-gradient(circle,#2bbbb8e8,#093130ed 72%);color:#fff067;box-shadow:0 0 0 2px #93eeec99,0 0 34px #47e2ded4;text-align:center;font:1000 italic 30px/1 "Segoe UI",Arial,sans-serif;letter-spacing:1px;text-shadow:0 3px 0 #7a3700,0 0 12px #fff}.tien-len-combo-flash[hidden]{display:none}.tien-len-combo-flash.show{animation:tien-len-combo 2.05s ease-out both}@keyframes tien-len-combo{0%{opacity:0;transform:translate(-50%,-35%) scale(.55) rotate(-4deg)}18%{opacity:1;transform:translate(-50%,-50%) scale(1.12) rotate(1deg)}68%{opacity:1;transform:translate(-50%,-54%) scale(1)}100%{opacity:0;transform:translate(-50%,-80%) scale(.92)}}
.tien-len-result-board{position:absolute;z-index:11;left:50%;top:48%;width:min(330px,88%);padding:13px;transform:translate(-50%,-50%);border-radius:17px;background:linear-gradient(150deg,#166563f2,#062120f5);box-shadow:0 0 0 2px #63e6e375,0 15px 35px #000c}.tien-len-result-board[hidden]{display:none}.tien-len-result-board>strong{display:block;margin:0 34px 10px;color:#ffe15c;font-size:17px;text-align:center}.tien-len-result-board>button{position:absolute;right:8px;top:7px;width:28px;height:28px;border:0;border-radius:50%;background:#208986;color:#fff;font-size:20px;cursor:pointer}.tien-len-result-row{display:grid;grid-template-columns:48px 1fr auto;gap:7px;align-items:center;padding:7px 8px;border-top:1px solid #65e7e430}.tien-len-result-row>b{color:#9df0ee;font-size:11px}.tien-len-result-row>span{overflow:hidden;color:#fff;font-size:12px;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.tien-len-result-row>strong{font-size:12px}.tien-len-result-row .gain{color:#65ffac}.tien-len-result-row .loss{color:#ff7386}.tien-len-result-row>small{grid-column:2/4;color:#ffc85b;font-size:9px;line-height:1.25}
@media(max-width:760px){.tien-len-mode .classic-card{margin-left:-12px}.tien-len-mode .classic-card .playing-card{width:53px;height:77px;font-size:16px}.tien-len-mode .center-cards .playing-card{width:48px;height:69px;font-size:14px}.tien-len-sorter{bottom:96px;max-width:96%;gap:3px}.tien-len-sorter button{padding:0 7px;font-size:9px}.tien-len-combo-flash{min-width:210px;font-size:24px}.tien-len-result-board{top:50%}}
.mau-binh-board{position:absolute;z-index:6;left:50%;top:33%;display:grid;width:min(930px,94%);max-height:64%;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;transform:translateX(-50%);overflow:auto;padding:6px}.mau-binh-board[hidden]{display:none}.mau-binh-zone{min-height:142px;padding:7px;border-radius:14px;background:linear-gradient(160deg,#104d4ce8,#062120ed);box-shadow:inset 0 0 0 1px #5ce5e270,0 6px 15px #0008;transition:.16s}.mau-binh-zone.drag-over{background:linear-gradient(160deg,#1a817ff2,#0e4442f2);box-shadow:inset 0 0 0 2px #ffe769,0 0 18px #58e5e1}.mau-binh-zone header{display:flex;justify-content:space-between;gap:5px;margin-bottom:6px;color:#ffe769;font-size:11px}.mau-binh-zone header span{color:#a9f2f0;font-size:9px}.mau-binh-zone.reserve{grid-column:1/-1;min-height:118px}.mau-binh-cards{display:flex;min-height:88px;align-items:center;justify-content:center;padding:4px}.mau-binh-card{position:relative;margin-left:-8px;padding:0;border:0;background:none;cursor:grab;transition:.15s transform,.15s filter}.mau-binh-card:first-child{margin-left:0}.mau-binh-card:hover,.mau-binh-card.selected{z-index:8;transform:translateY(-8px);filter:brightness(1.12)}.mau-binh-card.selected{filter:drop-shadow(0 0 8px #fff36c)}.mau-binh-card .playing-card{width:54px;height:76px;font-size:15px}.mau-binh-card .playing-card i{font-size:19px}.mau-binh-mode .classic-center{top:27%}.mau-binh-mode .classic-own-hand{display:none}
@media(max-width:760px){.mau-binh-mode .classic-table-surface{min-height:900px}.mau-binh-board{top:25%;max-height:73%;grid-template-columns:1fr}.mau-binh-zone.reserve{grid-column:auto}.mau-binh-zone{min-height:120px}.mau-binh-card .playing-card{width:47px;height:67px}.mau-binh-mode .classic-center{top:19%}}
.game-mode .topbar{display:none}.game-mode .app-shell{padding-top:6px}
.playing-card .card-corner-bottom{display:none!important}.playing-card.traditional-card:after{content:"";position:absolute;z-index:4;right:0;bottom:0;width:24%;height:31%;background:#fff;pointer-events:none}.classic-card,.mau-binh-card,.tien-len-mode .classic-card{margin-left:1px}.classic-own-hand,.mau-binh-cards{gap:2px}
.round-result-board{position:absolute;z-index:14;left:50%;top:48%;width:min(390px,92%);padding:13px;transform:translate(-50%,-50%);border-radius:17px;background:linear-gradient(150deg,#166563f7,#062120fa);box-shadow:0 0 0 2px #63e6e375,0 15px 35px #000c}.round-result-board[hidden]{display:none}.round-result-board>strong{display:block;margin:0 34px 10px;color:#ffe15c;font-size:17px;text-align:center}.round-result-board>button{position:absolute;right:8px;top:7px;width:28px;height:28px;border:0;border-radius:50%;background:#208986;color:#fff;font-size:20px;cursor:pointer}.round-result-board .tien-len-result-row{grid-template-columns:48px 1fr auto}.round-result-board .tien-len-result-row>small{grid-column:2/4}
.mau-binh-showdown{position:absolute;z-index:8;inset:13px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;overflow:auto;padding:5px}.mau-binh-showdown[hidden]{display:none}.mau-showdown-player{min-width:0;padding:9px;border-radius:14px;background:linear-gradient(150deg,#104f4ded,#062120f3);box-shadow:inset 0 0 0 1px #5fe6e370,0 6px 14px #0008}.mau-showdown-player.winner{box-shadow:inset 0 0 0 2px #ffe26b,0 0 17px #ffcf3c70}.mau-showdown-player>header{display:flex;justify-content:space-between;gap:6px;margin-bottom:5px;color:#fff;font-size:12px}.mau-showdown-player>header span{color:#ffe36e;font-weight:900}.mau-showdown-chi{display:grid;grid-template-columns:58px 1fr;align-items:center;gap:4px;min-height:62px;border-top:1px solid #65e7e42e}.mau-showdown-chi>strong{color:#9df0ee;font-size:9px}.mau-showdown-chi .playing-cards{justify-content:flex-start;gap:3px}.mau-showdown-chi .playing-card{width:39px;height:56px;border-radius:5px;font-size:12px}.mau-binh-mode .classic-center,.mau-binh-mode .classic-player-seats{transition:opacity .15s}.mau-binh-mode:has(.mau-binh-showdown:not([hidden])) .classic-center,.mau-binh-mode:has(.mau-binh-showdown:not([hidden])) .classic-player-seats{opacity:0;pointer-events:none}
@media(max-width:760px){.mau-binh-showdown{grid-template-columns:1fr}.mau-showdown-chi .playing-card{width:36px;height:52px}.round-result-board{top:46%}}
.classic-card .playing-card{width:62px;height:90px;border-radius:8px;font-size:18px}.center-cards .playing-card{width:56px;height:80px;font-size:16px}.table-seat .playing-card{width:42px;height:60px;border-radius:6px;font-size:13px}.table-seat .playing-cards{gap:3px}.tien-len-mode .classic-card .playing-card{width:68px;height:98px;font-size:20px}.tien-len-mode .center-cards .playing-card{width:58px;height:82px;font-size:17px}
@media(max-width:760px){.classic-card .playing-card{width:49px;height:71px;font-size:15px}.center-cards .playing-card{width:46px;height:66px;font-size:14px}.table-seat .playing-card{width:35px;height:51px;font-size:11px}.tien-len-mode .classic-card .playing-card{width:53px;height:77px;font-size:16px}.tien-len-mode .center-cards .playing-card{width:48px;height:69px;font-size:14px}}
.playing-card.traditional-card{background:#fff}.playing-card.traditional-card .card-corner,.playing-card.traditional-card:before{display:none}.card-traditional-art{position:absolute;z-index:2;inset:0;display:block;width:100%;height:100%;object-fit:fill;border-radius:inherit;pointer-events:none}
.slot-panel{position:relative;min-height:650px;padding:18px;border-radius:28px;background:radial-gradient(circle at 50% 8%,#26a8a5 0,#104c4b 38%,#051a19 78%);box-shadow:inset 0 0 0 3px #65e7e480,inset 0 0 55px #26bab744,0 14px 35px #000b;overflow:hidden}.slot-panel[hidden],.slot-jackpot-celebration[hidden]{display:none}.slot-panel:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(120deg,transparent 0 90px,#6ae8e50b 92px 95px);pointer-events:none}.slot-header{position:relative;z-index:2;display:flex;align-items:center;justify-content:center;gap:34px;margin:0 auto 14px}.slot-title{color:#fff;font:1000 italic 27px/1 "Segoe UI",Arial,sans-serif;text-shadow:0 3px 0 #12716f,0 0 15px #6ae7e4}.slot-jackpot{min-width:290px;padding:10px 24px;border-radius:18px;background:linear-gradient(180deg,#5d1804,#230308);box-shadow:inset 0 0 0 2px #ffcf50,0 0 22px #ff9e22a8;text-align:center}.slot-jackpot small{display:block;color:#ffd974;font-size:10px;font-weight:900;letter-spacing:2px}.slot-jackpot strong{display:inline-block;margin-top:3px;color:#fff04e;font:1000 31px/1 "Segoe UI",Arial,sans-serif;text-shadow:0 0 12px #ff6a00}.slot-jackpot span{margin-left:7px;color:#ffc55f;font-size:12px;font-weight:900}.slot-machine{position:relative;z-index:2;display:grid;grid-template-columns:repeat(3,minmax(90px,150px));gap:10px;width:max-content;max-width:100%;margin:0 auto;padding:17px;border-radius:25px;background:linear-gradient(145deg,#ffd968,#9b4d07 25%,#351007 58%,#e89b22);box-shadow:inset 0 0 0 4px #fff2a2,0 10px 30px #000c,0 0 26px #ffb13080}.slot-reel{position:relative;display:grid;grid-template-rows:repeat(3,88px);overflow:hidden;border-radius:13px;background:linear-gradient(90deg,#d0f8f7,#fff 47%,#bef0ef);box-shadow:inset 0 0 15px #308c8a,0 0 0 3px #531b08}.slot-reel span{display:grid;place-items:center;border-bottom:1px solid #4dbab74a;color:#135755;font:1000 38px/1 "Segoe UI Symbol","Segoe UI Emoji",sans-serif;text-shadow:0 2px 0 #fff}.slot-reel span:nth-child(2){background:#fff8ca}.slot-payline{position:absolute;z-index:5;left:7px;right:7px;top:50%;height:4px;transform:translateY(-50%);border-radius:4px;background:#ff314f;box-shadow:0 0 10px #ff213f;pointer-events:none}.slot-machine.spinning .slot-reel span{animation:slot-reel-blur .16s linear infinite}.slot-result{position:relative;z-index:2;min-height:42px;margin:13px auto 5px;color:#d0f8f7;text-align:center;font-size:15px;font-weight:1000;letter-spacing:.5px}.slot-result.win{color:#fff068;text-shadow:0 0 12px #ffb300}.slot-bet-picker{position:relative;z-index:2;display:flex;justify-content:center;gap:8px}.slot-bet-picker button{width:48px;height:42px;border:0;border-radius:13px;background:linear-gradient(#28bdb9,#125655);color:#defaf9;box-shadow:inset 0 0 0 1px #83ebe966,0 5px 11px #0008;font-weight:900;cursor:pointer}.slot-bet-picker button.selected{background:linear-gradient(#ffe96d,#b66a09);color:#fff;box-shadow:0 0 14px #ffc83d}.slot-spin{position:relative;z-index:2;display:block;width:180px;height:64px;margin:12px auto;border:0;border-radius:32px;background:radial-gradient(circle at 50% 18%,#fff785,#ffbe21 48%,#c14a08 100%);color:#671b00;box-shadow:inset 0 0 0 4px #fff3a2,0 7px 0 #6b1b05,0 0 24px #ffb921;cursor:pointer}.slot-spin span,.slot-spin small{display:block;font-weight:1000}.slot-spin span{font-size:24px}.slot-spin small{font-size:10px}.slot-spin:hover:not(:disabled){filter:brightness(1.1);transform:translateY(-2px)}.slot-spin:disabled{filter:grayscale(.5);opacity:.7;cursor:wait}.slot-paytable{position:relative;z-index:2;display:grid;grid-template-columns:repeat(6,minmax(80px,1fr));gap:6px;max-width:780px;margin:14px auto}.slot-paytable span{padding:7px;border-radius:10px;background:#0d3e3dbd;text-align:center;box-shadow:inset 0 0 0 1px #57e4e14d}.slot-paytable b,.slot-paytable small{display:block}.slot-paytable b{color:#fff;font-size:13px}.slot-paytable small{margin-top:3px;color:#ffd759;font-size:10px;font-weight:900}.slot-history{position:relative;z-index:2;display:flex;gap:7px;max-width:780px;margin:auto;overflow:auto;padding:7px}.slot-history span{min-width:84px;padding:7px;border-radius:9px;background:#0c3534bf;color:#c6f6f5;text-align:center;font-size:9px;font-weight:800}.slot-history span.win{color:#ffe66d;box-shadow:inset 0 0 0 1px #ffcf465c}.slot-jackpot-celebration{position:absolute;z-index:20;inset:0;display:grid;place-content:center;text-align:center;background:radial-gradient(circle,#ffcc29e8,#8b2608e8 44%,#051817f2 76%);animation:slot-jackpot-in .55s ease-out}.slot-jackpot-celebration b{color:#fff36d;font:1000 italic 62px/1 "Segoe UI",Arial,sans-serif;text-shadow:0 5px 0 #9b3300,0 0 25px #fff}.slot-jackpot-celebration strong{margin-top:16px;color:#fff;font-size:28px}.slot-panel.jackpot-hit{animation:slot-machine-glow 1s ease-in-out 3}@keyframes slot-reel-blur{50%{transform:translateY(7px);filter:blur(2px)}}@keyframes slot-jackpot-in{from{opacity:0;transform:scale(.7)}to{opacity:1;transform:scale(1)}}@keyframes slot-machine-glow{50%{filter:brightness(1.45)}}
@media(max-width:700px){.slot-panel{min-height:700px;padding:14px 7px}.slot-header{flex-direction:column;gap:9px}.slot-title{font-size:21px}.slot-jackpot{min-width:min(290px,82vw)}.slot-machine{grid-template-columns:repeat(3,minmax(72px,100px));gap:6px;padding:12px}.slot-reel{grid-template-rows:repeat(3,72px)}.slot-reel span{font-size:29px}.slot-paytable{grid-template-columns:repeat(3,1fr)}.slot-jackpot-celebration b{font-size:44px}}
.rotate-device{display:none}.bai-cao-table-surface .table-seat.seat-0,.classic-player-seats .table-seat.seat-0{left:50%;top:9%;transform:translate(-50%,-50%)}.bai-cao-table-surface .table-seat.seat-1,.classic-player-seats .table-seat.seat-1{left:12px;top:31%;transform:translate(0,-50%)}.bai-cao-table-surface .table-seat.seat-2,.classic-player-seats .table-seat.seat-2{right:12px;left:auto;top:31%;transform:translate(0,-50%)}.bai-cao-table-surface .table-seat.seat-3,.classic-player-seats .table-seat.seat-3{left:12px;top:70%;transform:translate(0,-50%)}.bai-cao-table-surface .table-seat.seat-4,.classic-player-seats .table-seat.seat-4{right:12px;left:auto;top:70%;transform:translate(0,-50%)}.bai-cao-table-surface .table-seat.seat-5,.classic-player-seats .table-seat.seat-5{left:14%;top:90%;transform:translate(-50%,-50%)}.bai-cao-table-surface .table-seat.seat-0 .playing-cards{position:absolute;left:50%;top:100%;margin:5px 0 0;transform:translateX(-50%)}.bai-cao-table-surface .table-seat.seat-1 .playing-cards,.bai-cao-table-surface .table-seat.seat-3 .playing-cards{position:absolute;left:100%;top:50%;margin:0 0 0 5px;transform:translateY(-50%)}.bai-cao-table-surface .table-seat.seat-2 .playing-cards,.bai-cao-table-surface .table-seat.seat-4 .playing-cards{position:absolute;right:100%;top:50%;margin:0 5px 0 0;transform:translateY(-50%)}.bai-cao-table-surface .table-seat.seat-5 .playing-cards{position:absolute;left:100%;bottom:0;margin:0 0 0 6px}.table-seat.viewer{background:linear-gradient(145deg,#187371f2,#0c3736ef);box-shadow:0 0 22px #64e6e38c,inset 0 0 16px #64e6e32e}.table-seat.host:before{content:"C";position:absolute;right:-5px;top:-7px;display:grid;place-items:center;width:18px;height:18px;border-radius:50%;background:#ffd84e;color:#5a2600;font-size:9px;font-weight:1000;box-shadow:0 0 8px #ffdc59}
@media (orientation:portrait) and (max-width:600px) and (hover:none) and (pointer:coarse){body.game-mode .rotate-device{position:fixed;z-index:1000;inset:0;display:grid;place-content:center;gap:10px;padding:24px;background:radial-gradient(circle,#1d7b79 0,#051a19f5 72%);color:#fff;text-align:center}.rotate-device>span{display:block;color:#ffe25b;font-size:72px;font-weight:1000;animation:rotate-device-hint 1.8s ease-in-out infinite}.rotate-device strong{font-size:22px}.rotate-device small{color:#a9f1f0;font-size:11px;font-weight:800;letter-spacing:.5px}.rotate-home{justify-self:center;margin-top:16px;padding:10px 18px;border-radius:20px;background:linear-gradient(#ffe86b,#c17608);color:#431e00;font-size:11px;font-weight:1000;text-decoration:none;box-shadow:0 5px 14px #0008,inset 0 0 0 1px #fff4a8}@keyframes rotate-device-hint{50%{transform:rotate(90deg)}}}
@media (orientation:landscape) and (max-height:600px) and (max-width:1100px){body.game-mode:has(.classic-table:not([hidden])),body.game-mode:has(.card-table:not([hidden])){overflow:hidden}.game-mode .app-shell{width:100vw;max-width:none;min-height:100dvh;padding:3px}.classic-game-panel:has(.classic-table:not([hidden])),.card-room-panel:has(.card-table:not([hidden])){height:100dvh;min-height:0;padding:3px;border-radius:12px}.card-table-toolbar{min-height:38px;height:38px;gap:4px;padding-right:42px;flex-wrap:nowrap}.card-table-toolbar .card-room-status{min-width:110px;padding:6px 8px;font-size:10px}.compact-stake{font-size:9px}.compact-stake input{width:58px;height:29px;font-size:11px}.card-table-toolbar .card-room-timer{min-width:82px;padding:6px;font-size:10px}.card-table-toolbar .compact-action{height:29px;min-width:50px;padding:0 7px!important;font-size:9px!important}.exit-game{top:5px;right:5px;width:34px;height:34px;font-size:19px}.classic-table-surface,.bai-cao-table-surface{height:calc(100dvh - 91px);min-height:0!important;margin-top:2px;border-radius:30px}.classic-actions{min-height:43px;height:43px;padding:3px;gap:4px;overflow-x:auto;flex-wrap:nowrap}.classic-actions .compact-action{height:30px;min-width:58px;padding:0 7px!important;font-size:9px!important}.classic-raise{font-size:8px}.classic-raise input{width:58px;height:30px}.table-seat{width:118px;min-height:49px;padding:5px 5px 5px 35px;border-radius:11px}.table-seat .seat-avatar{left:5px;top:6px;width:25px;height:25px;font-size:10px}.table-seat strong{font-size:10px}.table-seat span,.classic-seat small{font-size:8px}.table-seat .card-score,.table-seat .card-payout{right:5px;font-size:8px}.table-seat .card-score{bottom:16px}.table-seat .card-payout{bottom:5px}.bai-cao-table-surface .table-seat.seat-0,.classic-player-seats .table-seat.seat-0{top:10%}.bai-cao-table-surface .table-seat.seat-1,.classic-player-seats .table-seat.seat-1,.bai-cao-table-surface .table-seat.seat-2,.classic-player-seats .table-seat.seat-2{top:29%}.bai-cao-table-surface .table-seat.seat-3,.classic-player-seats .table-seat.seat-3,.bai-cao-table-surface .table-seat.seat-4,.classic-player-seats .table-seat.seat-4{top:69%}.bai-cao-table-surface .table-seat.seat-1,.classic-player-seats .table-seat.seat-1,.bai-cao-table-surface .table-seat.seat-3,.classic-player-seats .table-seat.seat-3{left:3px}.bai-cao-table-surface .table-seat.seat-2,.classic-player-seats .table-seat.seat-2,.bai-cao-table-surface .table-seat.seat-4,.classic-player-seats .table-seat.seat-4{right:3px}.bai-cao-table-surface .table-seat.seat-5,.classic-player-seats .table-seat.seat-5{left:11%;top:89%}.bai-cao-table-surface .table-seat .playing-card{width:27px;height:39px;font-size:9px}.classic-center{top:45%;min-width:170px;max-width:42%;padding:7px 10px;font-size:10px}.classic-own-hand{bottom:1px;max-width:76%;padding:3px 7px}.classic-card .playing-card,.tien-len-mode .classic-card .playing-card{width:42px;height:61px;font-size:13px}.center-cards .playing-card,.tien-len-mode .center-cards .playing-card{width:36px;height:52px;font-size:11px}.tien-len-sorter{bottom:63px;padding:3px}.tien-len-sorter button{height:24px;padding:0 6px;font-size:8px}.bai-cao-table-surface .card-match-result{top:47%;width:180px}.table-emblem{font-size:18px}.mau-binh-mode .classic-table-surface{min-height:0!important}.mau-binh-board{top:17%;max-height:72%;grid-template-columns:repeat(3,minmax(0,1fr))}.mau-binh-zone{min-height:85px;padding:4px}.mau-binh-zone.reserve{grid-column:1/-1;min-height:72px}.mau-binh-card .playing-card{width:37px;height:53px}.mau-binh-mode .classic-center{top:10%}}
.xi-dach-peel{background:linear-gradient(180deg,#2cc8c4,#198684)!important;box-shadow:0 0 13px #5ce5e291,inset 0 0 12px #c2f5f445!important}.mau-reveal-stage{grid-column:1/-1;padding:8px 12px;border-radius:10px;background:linear-gradient(90deg,transparent,#1b8583e8,transparent);color:#ffe56c;text-align:center;font-size:14px;font-weight:1000;letter-spacing:.7px}.mau-showdown-chi>strong i{display:block;margin-top:4px;font-size:10px;font-style:normal}.mau-showdown-chi>strong i.gain{color:#62ffa5}.mau-showdown-chi>strong i.loss{color:#ff7187}

/* Nổ Hũ 250 dòng thắng · 8 cột × 6 hàng */
.slot-panel{min-height:820px;background-image:linear-gradient(#0623228f,#051a1ac2),url('/assets/images/slot-jackpot-stage-ai-v2.webp');background-size:cover;background-position:center}
.slot-panel:before{inset:-3%;background:radial-gradient(circle at 18% 28%,#74e9e624 0,transparent 22%),radial-gradient(circle at 82% 72%,#ffd7521f 0,transparent 24%),repeating-linear-gradient(120deg,transparent 0 90px,#6ae8e509 92px 95px);opacity:.62;animation:slot-ambient-float 14s ease-in-out infinite alternate;will-change:transform,opacity}
.slot-header{margin-bottom:7px}
.slot-meta{position:relative;z-index:2;display:flex;justify-content:center;gap:18px;margin:0 auto 10px;color:#c8f6f5;font-size:11px;font-weight:900;letter-spacing:1px;text-shadow:0 2px 5px #020f0e}.slot-meta b{color:#ffe46d}
.slot-jackpot strong.jumping{animation:jackpot-number-jump .38s ease-out}
.slot-machine{grid-template-columns:repeat(8,minmax(58px,94px));gap:5px;width:min(100%,900px);padding:14px;border-radius:22px}
.slot-reel{grid-template-rows:repeat(6,62px);border-radius:9px}
.slot-reel span{font-size:27px;background:linear-gradient(90deg,#d0f8f7,#fff 47%,#bef0ef)}
.slot-reel span:nth-child(2){background:linear-gradient(90deg,#d0f8f7,#fff 47%,#bef0ef)}
.slot-reel span.winning{position:relative;z-index:2;background:radial-gradient(circle,#fffbd0 0,#ffd43e 48%,#ff7a17 100%);color:#821100;box-shadow:inset 0 0 0 3px #fff5a3,0 0 16px #ffd323;animation:slot-cell-win .72s ease-in-out infinite alternate}
.slot-payline{display:none}
.slot-bet-picker{align-items:center;flex-wrap:wrap}.slot-bet-picker>small{color:#b5f3f2;font-size:10px;font-weight:900}
.slot-paytable{grid-template-columns:repeat(7,minmax(74px,1fr));max-width:900px}
.slot-history{max-width:900px}
@keyframes jackpot-number-jump{0%{transform:translateY(0) scale(1)}45%{transform:translateY(-7px) scale(1.08);filter:brightness(1.4)}100%{transform:translateY(0) scale(1)}}
@keyframes slot-cell-win{from{transform:scale(.96);filter:brightness(1)}to{transform:scale(1.05);filter:brightness(1.25)}}
@keyframes slot-ambient-float{from{transform:translate3d(-.35%,0,0) scale(1.015);opacity:.48}to{transform:translate3d(.35%,-.5%,0) scale(1.03);opacity:.68}}
@media(prefers-reduced-motion:reduce){.slot-panel:before{animation:none}.slot-jackpot strong.jumping,.slot-reel span.winning{animation:none}}
@media(max-width:900px){.slot-machine{grid-template-columns:repeat(8,minmax(44px,1fr));gap:4px;width:100%;padding:10px}.slot-reel{grid-template-rows:repeat(6,52px)}.slot-reel span{font-size:23px}.slot-paytable{grid-template-columns:repeat(4,1fr)}}
@media(max-width:700px){.slot-panel{min-height:760px;padding:10px 5px}.slot-header{flex-direction:row;gap:8px}.slot-title{font-size:18px}.slot-jackpot{min-width:210px;padding:8px 12px}.slot-jackpot strong{font-size:25px}.slot-machine{grid-template-columns:repeat(8,minmax(34px,1fr));gap:3px;width:100%;padding:8px}.slot-reel{grid-template-rows:repeat(6,44px)}.slot-reel span{font-size:20px}.slot-paytable{grid-template-columns:repeat(4,1fr)}.slot-paytable span{padding:5px}.slot-result{font-size:12px}.slot-bet-picker button{width:43px;height:38px}}
@media (orientation:landscape) and (max-height:600px) and (max-width:1100px){body.game-mode:has(.slot-panel:not([hidden])){overflow:auto}.game-mode .slot-panel:not([hidden]){min-height:100dvh;padding:5px;border-radius:12px}.slot-header{gap:12px;margin-bottom:2px}.slot-title{font-size:16px}.slot-jackpot{min-width:200px;padding:5px 10px}.slot-jackpot strong{font-size:21px}.slot-meta{margin-bottom:3px;font-size:8px}.slot-machine{max-width:760px;padding:5px;gap:3px}.slot-reel{grid-template-rows:repeat(6,35px)}.slot-reel span{font-size:17px}.slot-result{min-height:25px;margin:3px auto;font-size:10px}.slot-bet-picker button{width:38px;height:29px;border-radius:8px;font-size:10px}.slot-bet-picker>small{font-size:8px}.slot-spin{width:135px;height:41px;margin:5px auto}.slot-spin span{font-size:17px}.slot-paytable{display:none}.slot-history{padding:3px}}

/* Ghép sát các ảnh game để không lộ nền giữa các ô. */
.game-grid{gap:0;padding:0;overflow:hidden;border-radius:18px}
.game-grid .game-card,.game-grid .game-card:hover,.game-grid .game-card.selected{margin:0;border-radius:0;box-shadow:none!important;transform:none}
.game-grid .game-card img{display:block;width:100%;height:auto;margin:0;border-radius:0}
@media(max-width:900px){.game-grid{gap:0;padding:0}}

/* Chat nhỏ gọn, luôn sẵn trên sảnh và trong bàn chơi. */
.chat-fab{position:fixed;z-index:1102;right:14px;bottom:92px;display:grid;place-items:center;width:42px;height:42px;padding:0;border:0;border-radius:50%;background:linear-gradient(145deg,#3ee1dd,#198b88);color:#fff;box-shadow:0 5px 14px #0009,0 0 13px #5ce5e280;cursor:pointer}.chat-fab[hidden]{display:none}.chat-fab span{font-size:20px;line-height:1}.chat-fab b{position:absolute;right:-4px;top:-5px;display:grid;place-items:center;min-width:18px;height:18px;padding:0 4px;border-radius:10px;background:#ff4362;color:#fff;font-size:9px;box-shadow:0 2px 6px #0008}.chat-fab.has-unread{animation:chat-unread-pulse 1.3s ease-in-out infinite}.chat-fab:hover{filter:brightness(1.14);transform:translateY(-1px)}
.chat-panel{position:fixed;z-index:1101;right:14px;bottom:142px;display:grid;grid-template-rows:auto minmax(100px,1fr) auto auto;width:min(310px,calc(100vw - 20px));height:min(360px,calc(100dvh - 165px));overflow:hidden;border-radius:16px;background:linear-gradient(155deg,#166563f7,#061f1efa);box-shadow:0 14px 34px #000c,inset 0 0 0 1px #6ce8e580;animation:chat-panel-in .18s ease-out}.chat-panel[hidden]{display:none}.chat-controls{display:flex;align-items:center;justify-content:flex-end;gap:6px;min-height:38px;padding:5px 7px;background:#197e7ce8}.chat-controls button{display:flex;align-items:center;gap:4px;height:27px;padding:0 8px;border:0;border-radius:8px;background:#105553;color:#fff;cursor:pointer}.chat-controls button:hover{background:#219693}.chat-controls button span{font-size:13px;line-height:1}.chat-controls button b{font-size:8px}.chat-controls #chatMute[aria-pressed="true"]{background:#176936}
.chat-messages{min-height:0;overflow-y:auto;padding:7px 9px}.chat-messages article{display:block;margin:0;padding:5px 2px;border-bottom:1px solid #56d7d42b;background:none;color:#fff;font-size:11px;line-height:1.35;overflow-wrap:anywhere}.chat-messages article b{color:#83ece9}.chat-messages article.mine b{color:#ffe475}.chat-empty{margin:auto;padding:25px 8px;color:#7edfdc;font-size:10px;text-align:center}
.chat-emojis{display:flex;gap:4px;padding:6px 8px;border-top:1px solid #63e6e32e}.chat-emojis button{display:grid;place-items:center;width:30px;height:28px;padding:0;border:0;border-radius:8px;background:#166765;color:#fff;font-size:15px;cursor:pointer}.chat-emojis button:hover{background:#208d8a;transform:translateY(-1px)}
.chat-form{display:grid;grid-template-columns:1fr 54px;gap:5px;padding:0 8px 8px}.chat-form input{min-width:0;height:34px;padding:0 10px;border:0;border-radius:9px;background:#ecfcfc;color:#0f4544;font-size:11px;outline:none}.chat-form input:focus{box-shadow:0 0 0 2px #71e9e6}.chat-form button{height:34px;padding:0;border:0;border-radius:9px;background:linear-gradient(#ffd957,#bc7108);color:#4d2500;font-size:10px;font-weight:1000;cursor:pointer}.chat-form button:disabled{opacity:.5}
body.game-mode .chat-fab{bottom:12px}body.game-mode .chat-panel{bottom:61px}
@keyframes chat-panel-in{from{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:none}}
@keyframes chat-unread-pulse{50%{box-shadow:0 5px 14px #0009,0 0 20px #71e9e6;transform:scale(1.05)}}
@media(max-width:520px){.chat-fab{right:8px;bottom:84px;width:40px;height:40px}.chat-panel{right:7px;bottom:132px;width:calc(100vw - 14px);height:min(330px,calc(100dvh - 145px))}body.game-mode .chat-fab{bottom:8px}body.game-mode .chat-panel{bottom:56px}}
@media (orientation:landscape) and (max-height:600px){.chat-fab{right:8px;bottom:8px}.chat-panel{right:8px;bottom:56px;width:290px;height:min(290px,calc(100dvh - 64px))}.chat-messages article{margin-bottom:5px;padding:5px 8px}}
@media(prefers-reduced-motion:reduce){.chat-fab.has-unread,.chat-panel{animation:none}}

/* Sáu game độc lập: cược nhanh và đấu với máy. */
.game-card.generated-card>span{position:absolute;z-index:4;left:0;right:0;bottom:0;display:block;padding:25px 5px 7px;background:linear-gradient(transparent,#082c2bed 52%);color:#fff66e;font:1000 italic clamp(13px,1.45vw,21px)/1 "Segoe UI",Arial,sans-serif;text-align:center;text-shadow:0 3px 3px #0d504f;filter:none}.game-card.generated-card>span small{display:block;margin-top:3px;color:#fff;font-size:8px;font-style:normal;letter-spacing:.6px}
.portal-game-panel{position:relative;min-height:640px;margin-top:9px;padding:18px;border-radius:24px;background:radial-gradient(circle at 50% 30%,#219996 0,#104f4e 48%,#061e1e 100%);box-shadow:inset 0 0 45px #53e4e038,0 14px 30px #0008}.portal-game-panel[hidden]{display:none}.portal-game-panel h2{margin:3px 55px 3px;color:#ffe66c;text-align:center;font-size:28px;font-style:italic;text-shadow:0 3px 0 #1a817f,0 0 14px #6ae7e4}.portal-status{min-height:22px;margin:5px auto 13px;color:#c5f6f5;text-align:center;font-size:12px;font-weight:900}.portal-status.win{color:#fff072;text-shadow:0 0 10px #ffc400}.portal-bet{display:flex;justify-content:center;align-items:end;gap:9px;margin:14px auto}.portal-bet label{color:#b7f4f2;font-size:9px;font-weight:900}.portal-bet input{display:block;width:120px;height:36px;margin-top:4px;padding:0 10px;border:0;border-radius:10px;background:#082b2a;color:#fff}.choice-grid{display:grid;grid-template-columns:repeat(3,minmax(90px,145px));justify-content:center;gap:8px}.choice-grid button,.cao-thap-actions button{min-height:54px;border:0;border-radius:13px;background:linear-gradient(#2bc6c3,#156d6b);color:#fff;box-shadow:inset 0 0 0 1px #88ecea5e,0 5px 12px #0008;font-weight:1000;cursor:pointer}.choice-grid button.selected{background:linear-gradient(#ffe55e,#bd6508);color:#492100;box-shadow:0 0 17px #ffd139}.bau-cua-choices button{font-size:25px}.bau-cua-choices button b{display:block;font-size:10px}.bau-cua-dice{display:flex;justify-content:center;gap:10px}.bau-cua-dice span{display:grid;place-items:center;width:75px;height:75px;border-radius:16px;background:#f5fefd;color:#115351;font-size:37px;box-shadow:0 0 16px #64e6e3}.portal-history{display:flex;justify-content:center;gap:6px;max-width:780px;margin:10px auto;overflow:auto}.portal-history span{min-width:94px;padding:7px;border-radius:9px;background:#0a3635bd;color:#c2f5f4;text-align:center;font-size:9px}.portal-history span.win{color:#ffe45a;box-shadow:inset 0 0 0 1px #ffd74d66}.xoc-dia-coins{display:flex;justify-content:center;gap:8px;margin:21px}.xoc-dia-coins i{width:57px;height:57px;border:5px solid #fff;border-radius:50%;background:#e63240;box-shadow:0 0 14px #70e8e6}.xoc-dia-coins i.trang{background:#fff;box-shadow:inset 0 0 0 2px #9df0ee,0 0 14px #70e8e6}.cao-thap-card{display:grid;place-items:center;width:122px;height:174px;margin:18px auto;border-radius:16px;background:linear-gradient(145deg,#fff,#c6f6f5);color:#135d5b;font:1000 42px/1 "Segoe UI Symbol",sans-serif;box-shadow:0 0 25px #70e8e6,inset 0 0 0 5px #fff}.cao-thap-card.red{color:#d0163b}.cao-thap-actions{display:flex;justify-content:center;gap:10px}.cao-thap-actions button{width:150px;background:linear-gradient(#ffdb50,#b55b08);color:#4b2300}
.board-toolbar{display:flex;justify-content:center;align-items:center;gap:10px;min-height:40px;margin:7px auto;color:#abf2f0;font-size:10px;font-weight:800}.domino-chain{display:flex;align-items:center;min-height:150px;padding:20px;overflow-x:auto;border-radius:25px;background:radial-gradient(ellipse,#1a827f,#0c4543 75%);box-shadow:inset 0 0 26px #65e7e445}.domino-hand{display:flex;justify-content:center;gap:8px;min-height:115px;padding:18px;overflow-x:auto}.domino-tile{display:grid;grid-template-columns:1fr 1fr;flex:0 0 76px;width:76px;height:42px;padding:0;border:3px solid #f6f4e7;border-radius:8px;background:#153c3b;color:#fff;box-shadow:0 4px 8px #0009;cursor:pointer}.domino-tile.vertical{grid-template-columns:1fr;grid-template-rows:1fr 1fr;width:42px;height:76px;flex-basis:42px}.domino-tile i{display:grid;place-items:center;border-right:1px solid #fff8;font-style:normal;font-weight:1000}.domino-tile i:last-child{border:0}.domino-tile.selected{transform:translateY(-10px);box-shadow:0 0 15px #ffe157}.domino-side-picker{display:flex;gap:3px}.domino-side-picker button{width:32px;height:32px;border:0;border-radius:50%;background:#28bdb9;color:#fff}
.chess-board,.xiangqi-board{display:grid;margin:8px auto;overflow:hidden;box-shadow:0 12px 28px #000a}.chess-board{grid-template-columns:repeat(8,1fr);width:min(78vw,560px);aspect-ratio:1}.chess-square,.xiangqi-square{display:grid;place-items:center;padding:0;border:0;cursor:pointer}.chess-square{background:#c6eeed;color:#134544;font-size:clamp(22px,5vw,49px)}.chess-square.dark{background:#2ea09d}.chess-square.selected,.xiangqi-square.selected{box-shadow:inset 0 0 0 5px #ffe14c;background:#e6a62d}.chess-square.last,.xiangqi-square.last{box-shadow:inset 0 0 0 3px #4effa1}.xiangqi-board{grid-template-columns:repeat(9,1fr);width:min(72vw,520px);max-width:calc(100% - 24px);aspect-ratio:9/10;background:#d6a24d}.xiangqi-square{position:relative;background:linear-gradient(90deg,transparent 48%,#6b3a16 49% 51%,transparent 52%),linear-gradient(transparent 48%,#6b3a16 49% 51%,transparent 52%);font-size:clamp(15px,3.5vw,31px)}.xiangqi-square.river{background-color:#e4bc6c}.xiangqi-piece{display:grid;place-items:center;width:78%;height:78%;overflow:hidden;border:2px solid currentColor;border-radius:50%;background:#f8db91;color:#151515;font-family:"Noto Serif CJK SC","Microsoft YaHei","SimSun",serif;font-size:clamp(22px,4.6vw,40px);font-weight:900;line-height:1;white-space:nowrap;box-shadow:0 2px 5px #5b2a08}.xiangqi-piece.red{color:#c41420}
@media(max-width:700px){.portal-game-panel{min-height:520px;padding:10px}.portal-game-panel h2{font-size:21px}.choice-grid{grid-template-columns:repeat(3,1fr)}.bau-cua-dice span{width:62px;height:62px}.chess-board{width:min(88vw,500px)}.xiangqi-board{width:min(82vw,460px)}}
@media (orientation:landscape) and (max-height:600px) and (max-width:1100px){body.game-mode:has(.portal-game-panel:not([hidden])){overflow:auto}.portal-game-panel{min-height:100dvh;margin:0;padding:4px 8px;border-radius:12px}.portal-game-panel h2{margin:0 45px;font-size:18px}.portal-status{margin:2px auto 5px}.bau-cua-dice span{width:52px;height:52px;font-size:27px}.choice-grid button{min-height:38px}.portal-bet{margin:6px auto}.portal-history{display:none}.cao-thap-card{width:85px;height:120px;margin:4px auto;font-size:31px}.board-toolbar{margin:2px}.chess-board{width:min(74vh,510px)}.xiangqi-board{width:min(78vh,470px)}.domino-chain{min-height:105px}.domino-hand{min-height:83px;padding:8px}}

/* Thanh điều hướng compact và chế độ tự ẩn trên điện thoại ngang. */
.app-shell{padding-top:7px;padding-bottom:66px}.topbar{min-height:62px;grid-template-columns:220px 180px 1fr;gap:12px;padding:5px 10px;border-radius:0 0 20px 20px}.profile,.wallet{height:50px;border-radius:25px}.profile{padding:4px 12px 4px 5px;gap:8px}.avatar{width:40px;height:40px}.profile small{font-size:9px}.profile strong{font-size:13px}.wallet{gap:7px;font-size:18px}.coin-icon{width:21px;height:21px;font-size:12px}.plus{width:30px;height:30px;font-size:20px}.actions{gap:8px}.actions button{width:94px;min-width:72px;border-radius:13px}footer{height:58px;padding:4px 14px;border-radius:23px 23px 0 0}footer button{width:112px;min-width:76px;border-radius:13px}footer .deposit{width:138px;padding:0!important}.chat-fab{bottom:67px}.game-chrome-toggle{display:none}
@media(max-width:900px){.app-shell{padding:0 5px 54px}.topbar{min-height:78px;grid-template-columns:minmax(150px,1fr) 128px;grid-template-rows:40px 30px;gap:3px 6px;padding:4px;border-radius:0 0 14px 14px}.profile,.wallet{height:38px;border-radius:19px}.profile{padding:3px 7px 3px 3px;gap:5px}.avatar{width:32px;height:32px}.profile small{font-size:7px}.profile strong{max-width:112px;overflow:hidden;font-size:10px;text-overflow:ellipsis;white-space:nowrap}.wallet{gap:4px;font-size:13px}.coin-icon{width:18px;height:18px;font-size:10px}.plus{width:25px;height:25px;font-size:17px}.actions{grid-column:1/-1;display:flex;justify-content:center;gap:5px;overflow:hidden}.actions button{width:72px;min-width:0;border-radius:9px}.hero{height:118px;margin:5px 0 6px;border-radius:14px}.hero-copy{top:17px}.hero-copy p{font-size:9px}.hero-copy h1{margin:3px 0;font-size:19px}.hero-copy small{font-size:7px}.fund-strip{margin:7px 0;padding:7px 9px;font-size:10px}footer{height:47px;padding:3px 5px;border-radius:17px 17px 0 0}footer button{width:82px;min-width:54px;border-radius:9px}footer .deposit{width:102px}.chat-fab{bottom:54px;width:38px;height:38px}.compact-action{height:31px;min-width:65px;font-size:9px!important}.card-room-status{padding:6px 8px;font-size:9px}.compact-game-title{font-size:13px}.portal-game-panel h2{font-size:19px}.portal-status,.board-toolbar{font-size:9px}.choice-grid button,.cao-thap-actions button{font-size:10px}.portal-bet input{height:31px}.table-head small,.pool small,.fund-strip span,.currency-note,.room-game-rule{font-size:8px}}
@media(max-width:520px){.topbar{min-height:72px;grid-template-columns:minmax(135px,1fr) 116px;grid-template-rows:37px 27px}.profile,.wallet{height:35px}.avatar{width:29px;height:29px}.actions button{width:66px}.hero{height:102px}.hero-copy{top:13px}.hero-copy h1{font-size:16px}.game-grid{grid-template-columns:repeat(2,minmax(0,1fr))}footer{height:44px}footer button{width:70px}footer .deposit{width:88px}.chat-fab{bottom:49px}}
@media (orientation:landscape) and (max-height:600px) and (max-width:1100px){body.game-mode .topbar,body.game-mode footer{display:none!important}.game-chrome-toggle{position:fixed;z-index:1205;left:5px;top:5px;display:none;place-items:center;width:34px;height:34px;padding:0;border:0;border-radius:10px;background:linear-gradient(145deg,#30d1cd,#125554);color:#fff;box-shadow:0 4px 12px #000a,0 0 10px #60e6e380;cursor:pointer}.game-chrome-toggle span{font-size:18px;line-height:1}.game-chrome-toggle b{position:absolute;left:2px;right:2px;bottom:2px;font-size:5px;letter-spacing:.4px}.game-mode .game-chrome-toggle{display:grid}.game-mode.mobile-chrome-open .topbar{position:fixed;z-index:1203;inset:0 0 auto;display:grid!important;width:100%;height:43px;min-height:43px;grid-template-columns:155px 118px 1fr;grid-template-rows:37px;gap:4px;padding:3px 6px 3px 44px;border-radius:0;background:#0a3332ee;box-shadow:0 4px 14px #000b}.game-mode.mobile-chrome-open .profile,.game-mode.mobile-chrome-open .wallet{height:35px}.game-mode.mobile-chrome-open .avatar{width:29px;height:29px}.game-mode.mobile-chrome-open .actions{grid-column:auto;justify-content:flex-end;height:35px;gap:3px}.game-mode.mobile-chrome-open .actions button{width:70px;height:31px}.game-mode.mobile-chrome-open footer{z-index:1203;display:flex!important;height:39px;padding:2px 5px;border-radius:13px 13px 0 0;background:#0a3332ee}.game-mode.mobile-chrome-open footer button{width:76px;height:34px}.game-mode.mobile-chrome-open footer .deposit{width:92px}.game-mode.mobile-chrome-open .game-chrome-toggle{background:linear-gradient(#e84d63,#76172c)}body.game-mode .chat-fab{bottom:5px;width:34px;height:34px}body.game-mode.mobile-chrome-open .chat-fab{bottom:43px}.game-mode .app-shell{padding:2px}.card-table-toolbar{min-height:34px;height:34px}.card-table-toolbar .card-room-status{min-width:96px;padding:4px 6px;font-size:8px}.card-table-toolbar .compact-action{height:26px;min-width:44px;font-size:8px!important}.card-table-toolbar .card-room-timer{min-width:70px;padding:4px;font-size:8px}.compact-stake{font-size:7px}.compact-stake input{width:52px;height:26px;font-size:9px}.classic-table-surface,.bai-cao-table-surface{height:calc(100dvh - 79px)}.classic-actions{height:39px;min-height:39px}.classic-actions .compact-action{height:27px;min-width:50px;font-size:8px!important}.table-seat{width:105px;min-height:43px;padding:4px 4px 4px 31px}.table-seat .seat-avatar{width:22px;height:22px}.table-seat strong{font-size:9px}.table-seat span,.classic-seat small{font-size:7px}.portal-game-panel h2{font-size:16px}.portal-status,.board-toolbar{min-height:16px;font-size:8px}.exit-game{width:31px;height:31px;font-size:17px}}

.nav-image-link{display:grid;place-items:center;width:112px;min-width:76px;height:42px;border-radius:13px;background:linear-gradient(#16706e,#0b3e3d);color:#fff;text-decoration:none;overflow:hidden}.nav-image-link img{width:100%;height:100%;object-fit:fill}.actions .nav-image-link{width:94px}.portal-home-widgets{margin:8px 0 16px;padding:16px;border-radius:20px;background:linear-gradient(145deg,#0f4f4de8,#072928e8);box-shadow:inset 0 0 20px #44e1de35,0 8px 24px #0008}.portal-widget-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.portal-widget-head small{color:#77eae7;font-weight:800}.portal-widget-head h2{margin:3px 0 12px;font-size:23px}.portal-widget-head a{padding:8px 12px;border-radius:12px;background:#26aaa7;color:#fff;text-decoration:none;font-weight:800}.promotion-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.promotion-card{position:relative;min-height:132px;border-radius:15px;overflow:hidden;background:#0e4241}.promotion-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.57}.promotion-card div{position:absolute;inset:auto 0 0;padding:30px 11px 10px;background:linear-gradient(transparent,#061f1ee8)}.promotion-card strong,.promotion-card small{display:block}.promotion-card small{margin-top:3px;color:#cff7f6}.leaderboard-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin-top:11px}.rank-card{padding:10px;border-radius:14px;background:#0d3e3cbd}.rank-card h3{margin:0 0 7px;color:#ffd84d;font-size:13px}.rank-row{display:grid;grid-template-columns:20px 1fr auto;gap:5px;padding:5px 0;border-top:1px solid #41d0cd26;font-size:11px}.rank-row b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rank-row em{color:#90edeb;font-style:normal}.rank-empty{color:#99dad9;font-size:11px}
@media(max-width:900px){.nav-image-link,.actions .nav-image-link{width:72px;min-width:0;height:31px}.promotion-grid{grid-template-columns:1fr}.promotion-card{min-height:110px}.leaderboard-grid{grid-template-columns:1fr 1fr}.portal-home-widgets{padding:10px}.portal-widget-head h2{font-size:17px}.portal-widget-head a{font-size:10px}}
@media(max-width:520px){.leaderboard-grid{grid-template-columns:1fr}.actions .nav-image-link{width:66px}}

/* Các chức năng người chơi tách riêng, mặc định chỉ mở khi người dùng chọn. */
.feature-top-button{display:grid;place-items:center;width:94px;min-width:72px;height:42px;padding:3px 8px!important;border:0;border-radius:13px!important;background:linear-gradient(#239592,#0f4746)!important;color:#fff!important;box-shadow:inset 0 0 0 1px #7febe863,0 6px 13px #0623238a;line-height:1.05}.feature-top-button b{font-size:14px;color:#ffe36b}.feature-top-button small{display:block!important;font-size:7px!important;color:#cff7f6!important;letter-spacing:.4px}.player-feature-dialog{width:min(1080px,calc(100% - 28px));max-height:calc(100dvh - 32px);margin:auto;padding:0;border:0;border-radius:22px;background:transparent;color:#fff;overflow:visible}.player-feature-dialog::backdrop{background:#051919e8;backdrop-filter:blur(5px)}.player-feature-window{max-height:calc(100dvh - 32px);padding:18px;border:1px solid #38c8c5;border-radius:22px;background:linear-gradient(155deg,#10504e,#072928);box-shadow:0 20px 65px #000d,inset 0 0 30px #2dc1be2e;overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable}.player-feature-window>header{position:sticky;z-index:2;top:-18px;display:flex;align-items:center;justify-content:space-between;gap:15px;margin:-18px -18px 16px;padding:15px 18px;border-bottom:1px solid #2fb8b54d;border-radius:22px 22px 0 0;background:#0d3f3ef2;backdrop-filter:blur(10px)}.player-feature-window>header small{display:block;color:#77eae7;font-size:10px;font-weight:900;letter-spacing:.7px}.player-feature-window>header h2{margin:3px 0 0;color:#fff;font-size:24px}.feature-close{display:grid;place-items:center;min-width:44px;width:44px;height:44px;padding:0;border:1px solid #7deae870;border-radius:12px;background:#176c6a;color:#fff;font-size:28px;line-height:1}.feature-close:hover{background:#239794}.feature-leaderboards{margin-top:0}.feature-promotions{grid-template-columns:repeat(3,minmax(0,1fr))}.feature-notice{margin:0 0 12px;padding:9px 12px;border-radius:10px;background:#156664;color:#cff8f7;font-size:11px}.feature-two-columns{display:grid;grid-template-columns:minmax(250px,.7fr) minmax(0,1.3fr);gap:12px}.feature-card{min-width:0;padding:14px;border:1px solid #33c2bf45;border-radius:15px;background:#0d403fb8}.feature-card h3{margin:0 0 12px;color:#ffe36b;font-size:15px}.feature-form label{display:block;margin:9px 0 4px;color:#c7f6f5;font-size:10px;font-weight:900}.feature-form label small{color:#7ad1cf;font-weight:600}.feature-form input,.feature-form textarea{display:block;width:100%;min-height:42px;padding:10px 12px;border:1px solid #2daba8;border-radius:10px;background:#072726;color:#fff;font:inherit}.feature-form textarea{min-height:110px;resize:vertical}.feature-form input:focus,.feature-form textarea:focus{outline:3px solid #64e6e366;outline-offset:1px}.feature-primary{width:100%;min-height:43px;margin-top:12px;border:0;border-radius:11px;background:linear-gradient(#31d0cd,#239794);color:#fff;font-weight:900}.feature-table-wrap{width:100%;overflow:auto;overscroll-behavior:contain}.feature-table{width:100%;min-width:480px;border-collapse:collapse;font-size:10px}.feature-table th,.feature-table td{padding:9px 7px;border-bottom:1px solid #32c3c02e;text-align:left;vertical-align:top}.feature-table th{color:#87ecea}.feature-status{display:inline-block;padding:3px 7px;border-radius:999px;background:#228c8a;color:#ebfcfb;white-space:nowrap}.feature-status.closed{background:#1a7152}.feature-status.processing{background:#8c5a13}.profile-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin-bottom:12px}.profile-summary-grid article{padding:12px;border-radius:13px;background:#14615f}.profile-summary-grid small,.profile-summary-grid strong{display:block}.profile-summary-grid small{color:#9befed;font-size:8px;font-weight:900}.profile-summary-grid strong{margin-top:4px;color:#ffe46a;font-size:17px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media(max-width:900px){.feature-top-button{width:72px;height:31px;border-radius:9px!important}.feature-top-button b{font-size:10px}.feature-top-button small{font-size:5px!important}.player-feature-dialog{width:calc(100% - 12px);max-height:calc(100dvh - 12px)}.player-feature-window{max-height:calc(100dvh - 12px);padding:10px;border-radius:15px}.player-feature-window>header{top:-10px;margin:-10px -10px 10px;padding:9px 10px;border-radius:15px 15px 0 0}.player-feature-window>header h2{font-size:18px}.feature-close{min-width:38px;width:38px;height:38px}.feature-promotions{grid-template-columns:1fr}.feature-two-columns{grid-template-columns:1fr}.profile-summary-grid{grid-template-columns:1fr 1fr}.feature-card{padding:10px}.feature-leaderboards{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.feature-top-button{width:66px}.feature-leaderboards{grid-template-columns:1fr}.profile-summary-grid{gap:6px}.profile-summary-grid strong{font-size:13px}}
@media(prefers-reduced-motion:reduce){.player-feature-dialog::backdrop{backdrop-filter:none}}
@media(prefers-reduced-motion:reduce){.game-chrome-toggle{transition:none}}

/* Bảng điều khiển ván bài: tách khỏi khu bài để không che quân. */
.classic-actions{position:absolute;z-index:9;right:12px;bottom:120px;display:flex;min-height:0;padding:6px;border-radius:12px;background:#082d2ce8;box-shadow:0 5px 14px #000a,inset 0 0 0 1px #52e4e052}
.tien-len-mode .classic-actions{width:106px;flex-direction:column;gap:5px}
.tien-len-mode .classic-actions [data-classic-action="play"]{order:3}
.tien-len-mode .classic-actions #tienLenHint{order:1}
.tien-len-mode .classic-actions [data-classic-action="pass"]{order:2}
.tien-len-mode .classic-actions .compact-action{width:100%;margin:0}
.tien-len-mode .classic-own-hand{right:128px;left:8px;width:auto;max-width:none;transform:none;overflow-x:auto;justify-content:center}
.tien-len-sorter{right:12px;bottom:12px;left:auto;transform:none}
.tien-len-sorter button{height:38px;padding:0 14px;font-size:10px}
.round-result-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}
.round-result-actions button{height:38px;border:0;border-radius:10px;background:linear-gradient(#2bcac6,#18827f);color:#fff;font-weight:900;cursor:pointer}
.round-result-actions button:last-child{background:linear-gradient(#d44c62,#7b172d)}
.round-result-actions button:disabled{opacity:.55;cursor:default}
@media(max-width:760px){.classic-actions{right:7px;bottom:96px}.tien-len-mode .classic-actions{width:88px}.tien-len-mode .classic-own-hand{right:100px;left:4px}.tien-len-sorter{right:7px;bottom:7px}.tien-len-sorter button{height:34px;padding:0 9px;font-size:9px}}

/* Tiến Lên truyền thống: bàn gọn, bài chọn không bị cắt và lượt chơi dễ nhận biết. */
.classic-table{position:relative}
.classic-table.tien-len-mode .card-table-toolbar{position:absolute;z-index:20;top:7px;left:7px;width:auto;max-width:calc(100% - 62px);min-height:38px;gap:5px;padding:4px 7px;border-radius:12px;background:#072827e8;box-shadow:0 5px 15px #000a,inset 0 0 0 1px #4ee3e063}
.classic-table.tien-len-mode .card-room-status{flex:0 1 155px;min-width:90px;padding:5px 7px;font-size:10px}
.classic-table.tien-len-mode .compact-stake{font-size:8px}
.classic-table.tien-len-mode .compact-stake input{width:62px;height:29px}
.classic-table.tien-len-mode .card-table-toolbar .compact-action{height:29px;min-width:52px;padding:0 8px!important;font-size:9px!important}
.classic-table.tien-len-mode .card-room-timer{min-width:96px;padding:6px 8px;font-size:9px}
.classic-table.tien-len-mode .classic-table-surface{margin-top:0}
.tien-len-mode .classic-own-hand{height:142px;padding:35px 15px 8px;overflow-x:auto;overflow-y:hidden;box-sizing:border-box;align-items:flex-end;scrollbar-width:thin}
.tien-len-mode .classic-card{flex:0 0 auto;touch-action:manipulation}
.tien-len-mode .classic-card[draggable="true"]{cursor:grab}
.tien-len-mode .classic-card.dragging{opacity:.42;cursor:grabbing}
.tien-len-mode .classic-card.selected{z-index:12;transform:translateY(-22px);filter:drop-shadow(0 0 8px #fff27a)}
.classic-seat.current-turn{border:2px solid #fff06b;outline:3px solid #50e4e0b8;outline-offset:2px;background:linear-gradient(145deg,#218885f5,#0f4544f5);box-shadow:0 0 16px #fff06be8,0 0 30px #50e4e0c7,inset 0 0 20px #85ece955;animation:classic-turn-pulse .9s ease-in-out infinite alternate}
.classic-seat.current-turn strong{color:#fff47a;text-shadow:0 0 8px #ffc400}
.classic-seat small:empty{display:none}
@keyframes classic-turn-pulse{to{filter:brightness(1.2);box-shadow:0 0 22px #fff06b,0 0 40px #50e4e0,inset 0 0 24px #85ece970}}
@media(prefers-reduced-motion:reduce){.classic-seat.current-turn{animation:none}}
@media(min-width:901px){
  body.game-mode:has(.classic-table:not([hidden])){overflow:hidden}
  body.game-mode:has(.classic-table:not([hidden])) .topbar,body.game-mode:has(.classic-table:not([hidden])) footer{display:none!important}
  body.game-mode:has(.classic-table:not([hidden])) .app-shell{width:100vw;max-width:none;height:100dvh;min-height:0;padding:3px}
  body.game-mode:has(.classic-table:not([hidden])) main{height:100%;min-height:0}
  .classic-game-panel:has(.classic-table:not([hidden])){height:100%;min-height:0;padding:3px;border-radius:12px}
  .classic-table:not([hidden]){height:100%;min-height:0}
  .classic-table:not([hidden]) .classic-table-surface{height:calc(100% - 3px);min-height:0;border-radius:30px}
}

@media(max-width:760px){
  .classic-table.tien-len-mode .card-table-toolbar{top:4px;left:4px;max-width:calc(100% - 44px);overflow-x:auto;flex-wrap:nowrap}
  .classic-table.tien-len-mode .card-room-status{flex-basis:110px}
  .tien-len-mode .classic-own-hand{height:112px;padding-top:29px}
}

/* Tiến Lên truyền thống trên điện thoại: dọc, toàn màn hình và bài 7 + 6 lá. */
@media (orientation:portrait) and (max-width:760px){
  body.game-mode.tien-len-portrait{width:100vw;height:100dvh;min-height:0;overflow:hidden;overscroll-behavior:none}
  body.game-mode.tien-len-portrait .rotate-device{display:none!important}
  body.game-mode.tien-len-portrait .app-shell{width:100vw;max-width:none;height:100dvh;min-height:0;padding:0}
  body.game-mode.tien-len-portrait main{height:100dvh;min-height:0}
  body.game-mode.tien-len-portrait .classic-game-panel{height:100dvh;min-height:0;padding:2px;border-radius:0}
  body.game-mode.tien-len-portrait .classic-table{height:100%;min-height:0}
  body.game-mode.tien-len-portrait .classic-table-surface{height:100%;min-height:0!important;margin:0;border-radius:20px}
  body.game-mode.tien-len-portrait .exit-game{top:4px;right:4px;width:36px;height:36px;font-size:20px}
  body.game-mode.tien-len-portrait .card-table-toolbar{right:43px;left:4px;width:auto;max-width:none;min-height:35px;height:35px;padding:3px 5px;overflow-x:auto;flex-wrap:nowrap;scrollbar-width:none}
  body.game-mode.tien-len-portrait .card-table-toolbar::-webkit-scrollbar{display:none}
  body.game-mode.tien-len-portrait .card-table-toolbar .card-room-status{flex:0 0 92px;min-width:92px;padding:4px 5px;font-size:8px}
  body.game-mode.tien-len-portrait .card-table-toolbar .compact-stake{flex:0 0 61px;font-size:6px}
  body.game-mode.tien-len-portrait .card-table-toolbar .compact-stake input{width:48px;height:25px;font-size:8px}
  body.game-mode.tien-len-portrait .card-table-toolbar .compact-action{height:25px;min-width:43px;padding:0 5px!important;font-size:7px!important}
  body.game-mode.tien-len-portrait .card-table-toolbar .card-room-timer{flex:0 0 auto;min-width:72px;padding:4px 5px;font-size:7px}
  body.game-mode.tien-len-portrait .classic-player-seats .table-seat{width:112px;min-height:48px;padding:5px 5px 5px 34px;border-radius:11px}
  body.game-mode.tien-len-portrait .classic-player-seats .seat-avatar{left:5px;top:6px;width:24px;height:24px;font-size:10px}
  body.game-mode.tien-len-portrait .classic-player-seats .table-seat strong{font-size:9px}
  body.game-mode.tien-len-portrait .classic-player-seats .table-seat span{font-size:7px}
  body.game-mode.tien-len-portrait .classic-player-seats .table-seat.host{left:50%;top:11%}
  body.game-mode.tien-len-portrait .classic-player-seats .table-seat.seat-1{left:18%;top:24%}
  body.game-mode.tien-len-portrait .classic-player-seats .table-seat.seat-2{left:82%;top:24%}
  body.game-mode.tien-len-portrait .classic-player-seats .table-seat.seat-3{left:18%;top:48%}
  body.game-mode.tien-len-portrait .classic-player-seats .table-seat.seat-4{left:82%;top:48%}
  body.game-mode.tien-len-portrait .classic-player-seats .table-seat.viewer.seat-5{right:auto;bottom:8px;left:6px;top:auto;transform:none}
  body.game-mode.tien-len-portrait .classic-table.has-own-cards .classic-player-seats .table-seat.viewer.seat-5{bottom:250px}
  body.game-mode.tien-len-portrait .classic-center{top:40%;min-width:150px;max-width:68%;padding:7px 9px;font-size:9px}
  body.game-mode.tien-len-portrait .tien-len-mode .classic-own-hand{right:4px;bottom:88px;left:4px;display:grid;width:auto;height:158px;max-width:none;grid-template-columns:repeat(7,minmax(0,1fr));grid-template-rows:repeat(2,72px);gap:2px 0;align-items:end;justify-items:center;overflow:visible;transform:none;padding:12px 2px 0}
  body.game-mode.tien-len-portrait .tien-len-mode .classic-card{width:100%;min-width:0;margin:0;display:grid;place-items:center}
  body.game-mode.tien-len-portrait .tien-len-mode .classic-card .playing-card{width:43px;height:63px;border-radius:7px;font-size:13px}
  body.game-mode.tien-len-portrait .tien-len-mode .classic-card.selected{transform:translateY(-9px)}
  body.game-mode.tien-len-portrait .tien-len-mode .classic-actions{right:4px;bottom:4px;left:4px;width:auto;height:38px;min-height:38px;flex-direction:row;flex-wrap:nowrap;gap:4px;padding:3px}
  body.game-mode.tien-len-portrait .tien-len-mode .classic-actions .compact-action{width:auto;min-width:0;flex:1;height:30px;padding:0 5px!important;font-size:8px!important}
  body.game-mode.tien-len-portrait .tien-len-sorter{right:4px;bottom:45px;left:auto;max-width:calc(100% - 8px);gap:3px;transform:none;padding:3px}
  body.game-mode.tien-len-portrait .tien-len-sorter button{height:30px;padding:0 7px;font-size:8px}
  body.game-mode.tien-len-portrait .chat-fab{right:5px;bottom:84px;width:34px;height:34px}
}

/* Nổ Hũ Pha Lê: sân khấu AI xanh dương, 5 cuộn x 3 hàng và 20 đường cược. */
.slot-panel{--slot-cyan:#6be8e5;--slot-blue:#22b4b1;--slot-deep:#051919;--slot-gold:#ffe77a;min-height:0;margin-top:9px;padding:10px 12px 18px;border-radius:28px;background:radial-gradient(circle at 50% 8%,#209794 0,#061f1e 54%,#031010 100%);box-shadow:inset 0 0 0 1px #88ecea5c,0 16px 38px #000b;overflow:hidden;isolation:isolate}.slot-panel:before{display:none}.slot-panel>.exit-game{z-index:35}.slot-ai-stage{position:relative;z-index:2;width:min(100%,1180px);min-height:620px;margin:auto;overflow:hidden;border-radius:22px;background-image:linear-gradient(#061c1c0a,#061c1c1c),url('/assets/images/slot-no-hu-blue-stage-v3.webp');background-size:100% 100%;background-position:center;background-repeat:no-repeat;box-shadow:0 11px 30px #000b,inset 0 0 0 1px #84ece955}.slot-ai-stage:after{content:"";position:absolute;z-index:0;inset:0;background:radial-gradient(ellipse at 50% 52%,transparent 0 32%,#07252412 55%,#020c0b7d 100%);pointer-events:none}.slot-header{position:absolute;z-index:4;left:8%;right:8%;top:7%;display:grid;grid-template-columns:1fr minmax(245px,1.1fr) 1fr;align-items:center;gap:18px;margin:0}.slot-title{justify-self:start;color:#fff;font:1000 italic clamp(18px,2vw,30px)/.9 "Segoe UI",Arial,sans-serif;text-align:center;text-shadow:0 3px 0 #146c6a,0 0 14px #63e6e3}.slot-title small{display:block;margin-bottom:6px;color:#acf2f0;font-size:.35em;letter-spacing:2.5px}.slot-jackpot{min-width:0;padding:9px 16px;border:1px solid #ffd96b;border-radius:15px;background:linear-gradient(180deg,#156967e8,#072524ed);box-shadow:inset 0 0 0 2px #5ae5e247,0 0 18px #3de0dc8c;text-align:center}.slot-jackpot small{color:#ffe990;font-size:9px;letter-spacing:2px}.slot-jackpot strong{margin-top:4px;color:#fff385;font-size:clamp(22px,2.5vw,34px);text-shadow:0 0 14px #ffb400}.slot-jackpot span{color:#abf2f0}.slot-free-badge{justify-self:end;min-width:120px;padding:9px 13px;border:1px solid #5de6e2;border-radius:14px;background:#0a3635da;box-shadow:inset 0 0 12px #3ee1dd47;text-align:center}.slot-free-badge small,.slot-free-badge strong{display:block}.slot-free-badge small{color:#b4f3f2;font-size:8px;font-weight:1000;letter-spacing:1px}.slot-free-badge strong{margin-top:2px;color:#fff;font-size:24px}.slot-free-badge.active{border-color:#fff071;background:linear-gradient(#6b3500dd,#1d0b04e8);box-shadow:0 0 18px #ffc329}.slot-free-badge.active strong{color:#fff06b}.slot-meta{position:absolute;z-index:4;top:22%;left:23%;right:23%;display:flex;justify-content:space-between;margin:0;padding:4px 13px;border-radius:10px;background:#072726b8;color:#b4f3f2;font-size:9px;letter-spacing:.7px}.slot-meta b{color:#fff176}.slot-machine{position:absolute;z-index:3;top:28%;right:20%;bottom:19%;left:20%;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:5px;width:auto;max-width:none;margin:0;padding:10px;border:1px solid #7aeae770;border-radius:16px;background:linear-gradient(180deg,#072928f0,#041414ed);box-shadow:inset 0 0 22px #2dcecb57,0 7px 20px #000c}.slot-reel{display:grid;grid-template-rows:repeat(3,minmax(0,1fr));min-width:0;overflow:hidden;border:1px solid #58e5e18c;border-radius:10px;background:linear-gradient(90deg,#051c1b,#135b59 48%,#051c1b);box-shadow:inset 0 0 14px #030c0ce8,0 0 0 1px #083332}.slot-cell{position:relative;display:grid;align-content:center;justify-items:center;min-height:0;padding:3px;border-bottom:1px solid #69e7e429;color:#e9fbfb;font-family:"Segoe UI",Arial,sans-serif;text-align:center;text-shadow:0 2px 4px #000;transition:filter .16s,transform .16s,background .16s}.slot-cell:last-child{border-bottom:0}.slot-cell b{font-size:clamp(18px,2.25vw,34px);line-height:.95}.slot-cell small{margin-top:4px;color:#b4f3f2;font-size:clamp(5px,.55vw,8px);font-weight:1000;letter-spacing:.5px}.slot-cell.symbol-wild{background:radial-gradient(circle,#2dd0cc,#115654 72%);color:#fff06d}.slot-cell.symbol-wild b{font-size:clamp(15px,1.75vw,27px);font-style:italic}.slot-cell.symbol-scatter{background:radial-gradient(circle,#1a7e7c,#0a3837 74%);color:#86fff4}.slot-cell.symbol-bonus{background:radial-gradient(circle,#53238f,#144645 72%);color:#ffdc77}.slot-cell.symbol-bonus b{font-size:clamp(12px,1.45vw,22px)}.slot-cell.symbol-multiplier3,.slot-cell.symbol-multiplier4{background:radial-gradient(circle,#b14b15,#351038 72%);color:#fff293}.slot-cell.symbol-jackpot{background:radial-gradient(circle,#97610d,#211146 72%);color:#fff29b}.slot-cell.winning{z-index:2;background:radial-gradient(circle,#fffac4,#f9a915 42%,#9a330a 100%);color:#4d1700;box-shadow:inset 0 0 0 2px #fff8b1,0 0 17px #ffd42b;animation:slot-winning-cell .7s ease-in-out infinite alternate}.slot-cell.sticky:after{content:"GI\1eee L\1ea0I";position:absolute;right:2px;bottom:2px;padding:2px 3px;border-radius:4px;background:#39d8d4;color:#fff;font-size:5px;font-weight:1000;letter-spacing:.3px;box-shadow:0 0 7px #5ee6e2}.slot-result{position:absolute;z-index:4;right:19%;bottom:11.5%;left:19%;min-height:30px;margin:0;padding:7px 12px;border-radius:12px;background:#06201fd9;color:#d3f8f7;font-size:clamp(9px,1vw,13px);letter-spacing:.4px}.slot-result.win{color:#fff38a;box-shadow:0 0 14px #f8bd3466;text-shadow:0 0 10px #ffb300}.slot-machine.spinning .slot-cell{animation:slot-new-reel-blur .18s linear infinite}.slot-machine.spinning .slot-reel:nth-child(2) .slot-cell{animation-delay:-.04s}.slot-machine.spinning .slot-reel:nth-child(3) .slot-cell{animation-delay:-.08s}.slot-machine.spinning .slot-reel:nth-child(4) .slot-cell{animation-delay:-.12s}.slot-machine.spinning .slot-reel:nth-child(5) .slot-cell{animation-delay:-.16s}
.slot-control-deck{position:relative;z-index:5;width:min(100%,1050px);margin:-2px auto 0;padding:11px;border:1px solid #51e4e05c;border-radius:19px;background:linear-gradient(180deg,#0e4241f0,#051c1bf2);box-shadow:0 9px 22px #0008,inset 0 0 18px #29bbb824}.slot-config-grid{display:grid;grid-template-columns:1fr 1.15fr 1.15fr .9fr;gap:8px}.slot-config-grid>label,.slot-total,.slot-auto-choice{min-width:0;padding:7px 9px;border-radius:12px;background:#072726;border:1px solid #30b6b262}.slot-config-grid label>span,.slot-total>span,.slot-auto-choice>span{display:block;margin-bottom:5px;color:#abf2f0;font-size:8px;font-weight:1000;letter-spacing:.55px}.slot-stepper{display:grid;grid-template-columns:31px 1fr 31px;align-items:center;overflow:hidden;border-radius:9px;background:#0e4342}.slot-stepper button{height:32px;border:0;background:linear-gradient(#2ac4c0,#146664);color:#fff;font-size:18px;font-weight:1000;cursor:pointer}.slot-stepper input,.slot-limit-input,.slot-auto-choice select{width:100%;height:32px;padding:0 7px;border:0;outline:0;background:#0c3938;color:#fff;text-align:center;font-weight:1000}.slot-limit-input{border-radius:9px}.slot-total{text-align:center}.slot-total strong{color:#fff06c;font-size:21px}.slot-total small{margin-left:4px;color:#abf2f0;font-size:7px}.slot-action-row{display:grid;grid-template-columns:1fr 1.05fr 1.25fr 1.05fr;gap:8px;margin-top:8px}.slot-auto-choice select{border-radius:8px;text-align:left}.slot-secondary,.slot-spin{position:relative;z-index:2;display:grid;place-content:center;width:auto;height:56px;margin:0;padding:0 10px;border:0;border-radius:15px;cursor:pointer}.slot-secondary{background:linear-gradient(#27b8b5,#105452);color:#fff;box-shadow:inset 0 0 0 1px #87ecea70,0 5px 10px #0007}.slot-secondary.active{background:linear-gradient(#dd4d66,#70162d);box-shadow:inset 0 0 0 1px #ff9bac80,0 0 13px #ff49675e}.slot-secondary b,.slot-secondary small{display:block}.slot-secondary b{font-size:12px}.slot-secondary small{margin-top:3px;color:#c2f5f4;font-size:7px;letter-spacing:.4px}.slot-spin{background:radial-gradient(circle at 50% 15%,#fff9ac,#ffc82f 46%,#b95a08 100%);color:#551d00;box-shadow:inset 0 0 0 3px #fff5a3,0 5px 0 #722600,0 0 18px #ffc2328c}.slot-spin span{font-size:21px}.slot-spin small{font-size:7px}.slot-secondary:hover:not(:disabled),.slot-spin:hover:not(:disabled){filter:brightness(1.13);transform:translateY(-1px)}.slot-secondary:disabled,.slot-spin:disabled,.slot-stepper button:disabled{opacity:.48;filter:grayscale(.35);cursor:not-allowed}.slot-history{position:relative;z-index:3;display:flex;gap:6px;width:min(100%,1050px);min-height:43px;margin:7px auto 0;padding:5px;overflow-x:auto}.slot-history span{min-width:96px;padding:6px;border:1px solid #30b5b24f;border-radius:9px;background:#072726d6;color:#b1efee;font-size:8px}.slot-history span.win{border-color:#eebd466e;color:#ffe781}
.slot-paytable-panel{position:fixed;z-index:1300;inset:4vh max(18px,calc((100vw - 1120px)/2));overflow:auto;padding:15px;border:1px solid #73e9e6;border-radius:22px;background:linear-gradient(160deg,#156260f5,#061c1cfa 62%,#0d403ffa);box-shadow:0 24px 70px #000e,inset 0 0 40px #2bcdc933}.slot-paytable-panel[hidden]{display:none}.slot-paytable-panel>header{position:sticky;z-index:3;top:-15px;display:flex;align-items:center;justify-content:space-between;margin:-15px -15px 13px;padding:13px 17px;background:#0b3837f5;border-bottom:1px solid #57e5e15c}.slot-paytable-panel header small,.slot-paytable-panel header strong{display:block}.slot-paytable-panel header small{color:#9defee;font-size:8px;letter-spacing:2px}.slot-paytable-panel header strong{margin-top:3px;color:#ffe87d;font-size:22px}.slot-paytable-panel header button{width:36px;height:36px;border:0;border-radius:50%;background:#1e8582;color:#fff;font-size:24px;cursor:pointer}.slot-feature-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.slot-feature-cards article{min-width:0;padding:12px;border:1px solid #32c5c15c;border-radius:14px;background:#082b2ab5}.slot-feature-cards article>b,.slot-feature-cards article>strong{display:block}.slot-feature-cards article>b{min-height:31px;color:#fff076;font-size:20px}.slot-feature-cards article>strong{margin:4px 0;color:#b5f3f2;font-size:10px}.slot-feature-cards p{margin:0;color:#d9f9f8;font-size:9px;line-height:1.5}.slot-symbol-scatter{color:#79fff0!important}.slot-symbol-bonus{color:#e2a7ff!important}.slot-symbol-multi{color:#ffaf66!important}.slot-paytable-body{display:grid;grid-template-columns:1fr 1.4fr;gap:12px;margin-top:12px}.slot-symbol-table{display:grid;grid-template-columns:repeat(2,1fr);gap:6px}.slot-symbol-table span{padding:8px;border-radius:10px;background:#072827c4;text-align:center}.slot-symbol-table b,.slot-symbol-table strong,.slot-symbol-table small{display:block}.slot-symbol-table b{color:#ffe577;font-size:23px}.slot-symbol-table strong{margin-top:3px;font-size:9px}.slot-symbol-table small{margin-top:3px;color:#9defee;font-size:8px}.slot-paytable-body h3{margin:2px 0 7px;color:#ffe681;font-size:12px}.slot-payline-guide{display:grid;grid-template-columns:repeat(5,1fr);gap:5px}.slot-payline-guide>div{position:relative;padding:3px;border:1px solid #35c3c069;border-radius:8px;background:#072928b8}.slot-payline-guide>div.inactive{opacity:.3}.slot-payline-guide b{position:absolute;top:3px;left:5px;color:#fff177;font-size:8px}.slot-payline-guide svg{display:block;width:100%;height:auto}.slot-payline-guide circle{fill:#31a09e}.slot-payline-guide polyline{fill:none;stroke:#ffe04d;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.slot-jackpot-celebration{z-index:1400}.slot-jackpot-celebration b{font-size:clamp(42px,8vw,82px)}
@keyframes slot-new-reel-blur{50%{transform:translateY(8px);filter:blur(2px) brightness(1.3)}}@keyframes slot-winning-cell{to{filter:brightness(1.28);transform:scale(.98)}}
@media(max-width:800px){.slot-panel{padding:5px 5px 12px;border-radius:17px}.slot-ai-stage{min-height:530px;border-radius:15px;background-size:cover}.slot-header{left:7%;right:7%;top:6%;grid-template-columns:.85fr 1.35fr .85fr;gap:6px}.slot-title{font-size:17px}.slot-jackpot{padding:7px}.slot-jackpot strong{font-size:23px}.slot-free-badge{min-width:84px;padding:7px 5px}.slot-free-badge strong{font-size:19px}.slot-meta{top:21%;right:12%;left:12%}.slot-machine{top:28%;right:9%;bottom:20%;left:9%;gap:3px;padding:7px}.slot-cell b{font-size:clamp(18px,5vw,29px)}.slot-cell small{font-size:6px}.slot-cell.symbol-wild b{font-size:clamp(14px,4vw,23px)}.slot-cell.symbol-bonus b{font-size:clamp(10px,3vw,17px)}.slot-result{right:8%;bottom:12%;left:8%;font-size:9px}.slot-config-grid{grid-template-columns:1fr 1fr}.slot-action-row{grid-template-columns:1fr 1fr}.slot-control-deck{padding:8px}.slot-paytable-panel{inset:8px;padding:10px;border-radius:15px}.slot-paytable-panel>header{top:-10px;margin:-10px -10px 10px}.slot-feature-cards{grid-template-columns:1fr 1fr}.slot-paytable-body{grid-template-columns:1fr}.slot-payline-guide{grid-template-columns:repeat(4,1fr)}}
@media(max-width:480px){.slot-ai-stage{min-height:445px;background-position:center}.slot-header{top:5%;grid-template-columns:.8fr 1.5fr .8fr}.slot-title{font-size:13px}.slot-title small{letter-spacing:1px}.slot-jackpot{padding:6px 3px}.slot-jackpot small{font-size:6px}.slot-jackpot strong{font-size:18px}.slot-jackpot span{display:none}.slot-free-badge{min-width:62px}.slot-free-badge small{font-size:5px}.slot-free-badge strong{font-size:16px}.slot-meta{font-size:7px}.slot-machine{top:27%;right:5%;bottom:21%;left:5%;padding:5px}.slot-cell b{font-size:clamp(16px,5.8vw,24px)}.slot-cell small{display:none}.slot-result{right:5%;bottom:12%;left:5%;padding:6px;font-size:7px}.slot-config-grid,.slot-action-row{gap:5px}.slot-config-grid>label,.slot-total,.slot-auto-choice{padding:6px}.slot-config-grid label>span,.slot-total>span,.slot-auto-choice>span{font-size:6px}.slot-secondary,.slot-spin{height:50px}.slot-feature-cards{grid-template-columns:1fr}.slot-symbol-table{grid-template-columns:repeat(2,1fr)}.slot-payline-guide{grid-template-columns:repeat(3,1fr)}}
@media (orientation:landscape) and (max-height:600px) and (max-width:1100px){body.game-mode:has(.slot-panel:not([hidden])){overflow:auto;overflow-x:hidden}body.game-mode:has(.slot-panel:not([hidden])) .app-shell{width:100%}.game-mode .slot-panel:not([hidden]){min-height:100dvh;margin:0;padding:2px;border-radius:10px}.slot-ai-stage{width:min(72vw,760px);min-height:390px;margin-left:2px;border-radius:10px}.slot-header{top:4%}.slot-title{font-size:14px}.slot-jackpot{padding:4px}.slot-jackpot strong{font-size:19px}.slot-free-badge{padding:4px}.slot-meta{top:19%}.slot-machine{top:25%;bottom:18%;padding:5px}.slot-result{bottom:9%;min-height:22px;padding:4px}.slot-control-deck{position:absolute;z-index:7;top:4px;right:3px;width:calc(28vw - 9px);margin:0;padding:6px}.slot-config-grid,.slot-action-row{grid-template-columns:1fr}.slot-config-grid{gap:4px}.slot-action-row{gap:4px;margin-top:4px}.slot-config-grid>label,.slot-total,.slot-auto-choice{padding:4px}.slot-config-grid label>span,.slot-total>span,.slot-auto-choice>span{margin-bottom:2px;font-size:6px}.slot-stepper input,.slot-limit-input,.slot-auto-choice select,.slot-stepper button{height:25px}.slot-secondary,.slot-spin{height:35px}.slot-secondary b{font-size:9px}.slot-secondary small,.slot-spin small{display:none}.slot-spin span{font-size:15px}.slot-history{display:none}.slot-paytable-panel{inset:5px}.slot-jackpot-celebration{position:fixed}}
.slot-reel .slot-cell,.slot-reel .slot-cell:nth-child(2){background:linear-gradient(90deg,#051c1b,#135b59 48%,#051c1b)}.slot-reel .slot-cell.symbol-wild{background:radial-gradient(circle,#2dd0cc,#115654 72%)}.slot-reel .slot-cell.symbol-scatter{background:radial-gradient(circle,#1a7e7c,#0a3837 74%)}.slot-reel .slot-cell.symbol-bonus{background:radial-gradient(circle,#53238f,#144645 72%)}.slot-reel .slot-cell.symbol-multiplier3,.slot-reel .slot-cell.symbol-multiplier4{background:radial-gradient(circle,#b14b15,#351038 72%)}.slot-reel .slot-cell.symbol-jackpot{background:radial-gradient(circle,#97610d,#211146 72%)}.slot-reel .slot-cell.winning{background:radial-gradient(circle,#fffac4,#f9a915 42%,#9a330a 100%)}

/* Bộ asset Nổ Hũ 6868 · Mẻo, tạo riêng cho cuộn quay, nút và bảng thưởng. */
.slot-title{width:clamp(125px,17vw,215px);height:82px;overflow:visible}.slot-title img{display:block;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 4px 7px #062625);transform:scale(1.23);user-select:none}.slot-cell{overflow:hidden;padding:0;background:#051c1b!important;text-shadow:none}.slot-symbol-image{position:absolute;inset:1px;display:block;width:calc(100% - 2px);height:calc(100% - 2px);border-radius:7px;object-fit:cover;object-position:center;filter:saturate(1.08) contrast(1.04);user-select:none;pointer-events:none}.slot-cell small{position:absolute;z-index:2;right:3px;bottom:2px;left:3px;margin:0;padding:2px 3px;border-radius:5px;background:linear-gradient(90deg,#051919ba,#0f4645e8,#051919ba);color:#ffed96;font-size:clamp(5px,.5vw,7px);font-weight:1000;line-height:1.15;letter-spacing:.35px;text-shadow:0 1px 2px #000}.slot-cell.winning .slot-symbol-image{filter:saturate(1.25) brightness(1.2);animation:slot-asset-win .7s ease-in-out infinite alternate}.slot-cell.winning:before{content:"";position:absolute;z-index:3;inset:1px;border:2px solid #fff095;border-radius:8px;box-shadow:inset 0 0 13px #ffbf00,0 0 14px #ffd42b;pointer-events:none}.slot-cell.sticky:after{z-index:4}.slot-machine.spinning .slot-symbol-image{filter:blur(2px) brightness(1.25)}
.slot-spin,.slot-secondary,.slot-stepper button{background-position:center;background-repeat:no-repeat;background-size:100% 100%}.slot-spin{background-color:#d89000;background-image:linear-gradient(#ffffff0d,#ffd9280d),url('/assets/images/no-hu-v4/slot-button-gold-v4.webp');color:#fffbe2;text-shadow:0 2px 1px #702000;box-shadow:0 5px 0 #431000,0 0 18px #ffc2328c}.slot-secondary,.slot-stepper button{background-color:#177d7a;background-image:linear-gradient(#09302f22,#09302f22),url('/assets/images/no-hu-v4/slot-button-blue-v4.webp');color:#fff;text-shadow:0 1px 2px #093938}.slot-secondary.active{background-color:#791932;background-image:linear-gradient(#35000a22,#35000a22),url('/assets/images/no-hu-v4/slot-button-red-v4.webp');box-shadow:0 4px 10px #0008,0 0 13px #ff49675e}.slot-secondary small{color:#dcfaf9}.slot-spin:active,.slot-secondary:active,.slot-stepper button:active{transform:translateY(2px);filter:brightness(.93)}
.slot-feature-cards article{display:grid;grid-template-columns:76px 1fr;grid-template-rows:auto 1fr;column-gap:10px;align-items:center;overflow:hidden}.slot-feature-cards article>img,.slot-feature-pair{grid-row:1/3;display:block;width:76px;height:76px;border:1px solid #5fe6e370;border-radius:13px;background:#061e1e;box-shadow:0 0 14px #23b7b352}.slot-feature-cards article>img{object-fit:cover}.slot-feature-pair{display:grid;grid-template-columns:1fr 1fr;overflow:hidden}.slot-feature-pair img{width:100%;height:100%;object-fit:cover}.slot-feature-cards article>strong{align-self:end;margin:0 0 4px;color:#ffe887;font-size:10px}.slot-feature-cards p{align-self:start}.slot-symbol-table span{display:grid;grid-template-columns:58px 1fr;grid-template-rows:1fr 1fr;align-items:center;column-gap:8px;min-height:64px;text-align:left}.slot-symbol-table img{grid-row:1/3;width:58px;height:58px;border-radius:10px;object-fit:cover;box-shadow:0 0 10px #2bc8c44d}.slot-symbol-table strong{align-self:end}.slot-symbol-table small{align-self:start}.slot-jackpot-celebration{background-image:radial-gradient(circle,#ffcc29db,#197b79e8 47%,#031111f5),url('/assets/images/no-hu-v4/slot-symbol-jackpot-meo-v4.webp');background-position:center;background-repeat:no-repeat;background-size:cover}.slot-jackpot-celebration b,.slot-jackpot-celebration strong{position:relative;z-index:2}
@keyframes slot-asset-win{to{transform:scale(1.055);filter:saturate(1.35) brightness(1.35)}}
@media(max-width:800px){.slot-title{width:120px;height:60px}.slot-feature-cards article{grid-template-columns:62px 1fr}.slot-feature-cards article>img,.slot-feature-pair{width:62px;height:62px}.slot-symbol-table span{grid-template-columns:52px 1fr}.slot-symbol-table img{width:52px;height:52px}}
@media(max-width:480px){.slot-title{width:86px;height:47px}.slot-title img{transform:scale(1.32)}.slot-cell small{display:block;font-size:4.5px;padding:1px}.slot-feature-cards article{grid-template-columns:70px 1fr}.slot-feature-cards article>img,.slot-feature-pair{width:70px;height:70px}}
@media (orientation:landscape) and (max-height:600px) and (max-width:1100px){.slot-title{width:96px;height:44px}.slot-cell small{font-size:4px}.slot-symbol-table img{width:45px;height:45px}}

/* Biểu mẫu tạo bàn: tách tên bàn và tiền cược thành hai ô độc lập. */
.classic-lobby-create{grid-template-columns:minmax(150px,260px) minmax(120px,180px) 112px}
.classic-lobby-create label{min-width:0}
.classic-lobby-create input{border:1px solid #289d9a;outline:none}
.classic-lobby-create input:focus{border-color:#71e9e6;box-shadow:0 0 0 2px #50e4e033}
@media(max-width:560px){.classic-lobby-create{grid-template-columns:minmax(0,1.3fr) minmax(0,.9fr) 78px;gap:5px}.classic-lobby-create input{padding:0 8px;font-size:12px}}

.slot2-panel{position:relative;min-height:650px;padding:18px;border-radius:28px;background:linear-gradient(145deg,#051c1b,#0d3f3d 55%,#051c1b);box-shadow:inset 0 0 0 3px #e0b044,0 15px 35px #000b}.slot2-panel[hidden]{display:none}.slot2-panel>header{display:flex;align-items:center;justify-content:center;gap:28px}.slot2-panel h2{color:#ffe98a;font-size:30px;text-shadow:0 3px #462000,0 0 16px #ffc400}.slot2-panel header div,.slot2-controls>div{padding:8px 18px;border:1px solid #f2bd45;border-radius:13px;background:#0d3f3ddc;text-align:center}.slot2-panel small{display:block;color:#acf2f0;font-size:9px}.slot2-panel strong{color:#ffe56a;font-size:21px}.slot2-stage,.domino-canvas,.xoc-dia-coins{position:relative;min-height:360px;margin:16px auto;border-radius:18px;overflow:hidden;background:#031312aa}.slot2-stage{max-width:820px;box-shadow:0 0 0 2px #d9a72d,0 12px 30px #000c}.slot2-stage canvas,.domino-canvas canvas,.xoc-dia-coins canvas{display:block!important;width:100%!important;height:100%!important}.slot2-controls{display:flex;align-items:center;justify-content:center;gap:12px}.slot2-controls label{color:#c5f6f5;font-size:10px;font-weight:900}.slot2-controls input{display:block;width:120px;margin-top:4px;padding:9px;border:1px solid #32b3b0;border-radius:9px;background:#072827;color:#fff}.multiplayer-toolbar{display:flex;justify-content:center;gap:7px;margin:10px auto;flex-wrap:wrap}.multiplayer-toolbar input,.multiplayer-toolbar select,.multiplayer-toolbar button{min-height:38px;padding:0 11px;border:1px solid #30afac;border-radius:9px;background:#0c3938;color:#fff;font-weight:900}.room-player-list{display:flex;justify-content:center;gap:7px;flex-wrap:wrap;margin:8px}.room-player-list span{padding:7px 10px;border-radius:10px;background:#0e403f;color:#c8f6f5;font-size:11px;font-weight:900}.room-player-list span.turn{box-shadow:inset 0 0 0 2px #ffe568;color:#ffe568}.domino-canvas{max-width:850px;min-height:250px}.xoc-dia-coins{max-width:650px;min-height:250px}.domino-chain{min-height:40px}.domino-hand{min-height:80px}.domino-canvas+.domino-chain{display:none}
@media(max-width:700px){.slot2-panel{padding:8px}.slot2-panel>header{gap:7px}.slot2-panel h2{font-size:20px}.slot2-panel header div{padding:6px 8px}.slot2-stage{min-height:300px}.slot2-controls{flex-wrap:wrap}.multiplayer-toolbar input,.multiplayer-toolbar select{max-width:150px}.xoc-dia-coins{min-height:210px}.domino-canvas{min-height:220px}}

.slot2-stage{width:100%;max-width:820px;min-height:0;aspect-ratio:16/9}
.slot2-stage canvas{position:absolute!important;inset:0;display:block!important;width:100%!important;height:100%!important}

/* Mobile dọc: khóa thu phóng và kéo giữ ngoài ý muốn. */
html,body{max-width:100%;overscroll-behavior-x:none;-webkit-text-size-adjust:100%;touch-action:pan-y}
img,canvas,.game-card,.playing-card{-webkit-user-drag:none;-webkit-touch-callout:none;user-select:none}
.classic-table-surface,.bai-cao-table-surface,.slot-ai-stage,.slot2-stage,.portal-game-panel canvas,.chess-board,.xiangqi-board{touch-action:none}
.xiangqi-capture-panel{position:relative;min-height:680px;padding:10px 14px 14px;overflow:hidden;background:radial-gradient(circle at 50% 40%,#174f46,#071d1b 72%)}
.xiangqi-capture-header{display:flex;align-items:center;justify-content:center;gap:18px;min-height:42px}.xiangqi-capture-header h2{margin:0;color:#ffe477;font-size:clamp(19px,2.2vw,29px)}.xiangqi-capture-header .portal-status{margin:0}
.xiangqi-capture-lobby{margin:4px auto}.xiangqi-capture-lobby input:first-child{width:118px}.xiangqi-capture-lobby input[type=number]{width:92px}.xiangqi-capture-lobby button:disabled,.xiangqi-capture-actions button:disabled{opacity:.45;pointer-events:none}
.xiangqi-capture-rooms{display:flex;justify-content:center;gap:7px;min-height:0;overflow-x:auto}.xiangqi-capture-rooms button{padding:6px 10px;border:1px solid #dab552;border-radius:8px;background:#103f39;color:#fff0bd;font-weight:800;white-space:nowrap}
.xiangqi-capture-actions{position:absolute;z-index:4;left:50%;bottom:12px;transform:translateX(-50%);margin:0;pointer-events:auto}.xiangqi-capture-canvas{position:absolute;inset:96px 10px 52px;overflow:hidden;border-radius:16px}.xiangqi-capture-canvas canvas{display:block!important;width:100%!important;height:100%!important;touch-action:none}
body.game-mode #xiangqiCapturePanel{display:block;height:100%;min-height:0;margin:0;padding-top:6px}body.game-mode #xiangqiCapturePanel .xiangqi-capture-canvas{inset:90px 6px 52px}
@media(max-width:700px){.xiangqi-capture-panel{min-height:620px;padding:7px}.xiangqi-capture-header{justify-content:flex-start;padding-left:42px;gap:8px}.xiangqi-capture-header h2{font-size:17px}.xiangqi-capture-header .portal-status{font-size:10px}.xiangqi-capture-lobby{flex-wrap:nowrap;overflow-x:auto;justify-content:flex-start;padding:0 2px}.xiangqi-capture-lobby input,.xiangqi-capture-lobby button{flex:0 0 auto}.xiangqi-capture-lobby button{padding:0 8px;font-size:11px}.xiangqi-capture-canvas,body.game-mode #xiangqiCapturePanel .xiangqi-capture-canvas{inset:86px 3px 52px}.xiangqi-capture-actions{bottom:5px;width:100%;justify-content:center}.xiangqi-capture-actions button{min-height:38px}}
@media (orientation:portrait) and (max-width:760px){
  body.game-mode.mobile-game-portrait{width:100vw;min-height:100dvh;overflow-x:hidden;overscroll-behavior:none}
  body.game-mode.mobile-game-portrait .rotate-device{display:none!important}
  body.game-mode.mobile-game-portrait .app-shell{width:100vw;max-width:none;min-height:100dvh;padding:3px}
  body.game-mode.mobile-game-portrait main{width:100%;min-height:100dvh}
  body.game-mode.mobile-game-portrait .classic-game-panel,
  body.game-mode.mobile-game-portrait .card-room-panel,
  body.game-mode.mobile-game-portrait .table-panel,
  body.game-mode.mobile-game-portrait .slot-panel,
  body.game-mode.mobile-game-portrait .slot2-panel,
  body.game-mode.mobile-game-portrait .portal-game-panel{width:100%;max-width:100%;margin:0;border-radius:14px}
  body.game-mode.mobile-game-portrait .exit-game{top:5px;right:5px;width:36px;height:36px;font-size:20px}
  body.game-mode.mobile-game-portrait .slot2-stage,
  body.game-mode.mobile-game-portrait .domino-canvas,
  body.game-mode.mobile-game-portrait .xoc-dia-coins{width:100%;max-width:100%}
}

/* Nổ Hũ 2: cược 243 cách, tự động và bảng giới thiệu. */
.slot2-control-deck{width:min(100%,820px);margin:0 auto 10px}
.slot2-config-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px}
.slot2-config-grid>label,.slot2-config-grid>.slot-total{min-width:0;padding:7px 9px;border:1px solid #b78a3466;border-radius:12px;background:#072726}
.slot2-config-grid label>span,.slot2-config-grid>.slot-total>span{display:block;margin-bottom:5px;color:#abf2f0;font-size:8px;font-weight:1000;letter-spacing:.55px}
.slot2-config-grid .slot-total{text-align:center}.slot2-config-grid .slot-total strong{color:#fff06c;font-size:21px}.slot2-config-grid .slot-total small{margin-left:4px;color:#abf2f0;font-size:7px}
.slot2-action-row{display:grid;grid-template-columns:1fr 1.25fr 1fr;gap:8px;margin-top:8px}
.slot2-info-panel{background:linear-gradient(160deg,#0f4544f7,#061c1cfa 62%,#241307fa)}
.slot2-intro{margin:0 0 12px;padding:11px 14px;border:1px solid #d9a93f66;border-radius:13px;background:#072827cc;color:#defaf9;font-size:11px;font-weight:700;line-height:1.55}
.slot2-symbol-art{display:block;width:76px;height:76px;border:1px solid #f0bd4f80;border-radius:13px;background-color:#061e1e;background-image:url('/assets/images/no-hu-2-symbol-atlas-ai-v2.webp');background-repeat:no-repeat;background-size:300% 300%;box-shadow:0 0 14px #c58b2452}
.slot2-symbol-art.dragon{background-position:0 0}.slot2-symbol-art.phoenix{background-position:50% 0}.slot2-symbol-art.lotus{background-position:100% 0}.slot2-symbol-art.coin,.slot2-symbol-art.bonus{background-position:0 50%}.slot2-symbol-art.fan{background-position:50% 50%}.slot2-symbol-art.lantern{background-position:100% 50%}.slot2-symbol-art.jackpot{background-position:0 100%}.slot2-symbol-art.wild{background-position:50% 100%}.slot2-symbol-art.scatter{background-position:100% 100%}
.slot2-feature-cards article>i{grid-row:1/3}
.slot2-paytable-body{margin-top:12px}.slot2-paytable-body h3{margin:2px 0 8px;color:#ffe681;font-size:12px}
.slot2-symbol-table{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}
.slot2-symbol-table>span{display:grid;grid-template-columns:58px 1fr;grid-template-rows:1fr 1fr;align-items:center;column-gap:8px;min-width:0;padding:7px;border-radius:11px;background:#072827c4}
.slot2-symbol-table .slot2-symbol-art{grid-row:1/3;width:58px;height:58px;border-radius:10px}.slot2-symbol-table strong{align-self:end;font-size:10px}.slot2-symbol-table small{align-self:start;margin-top:3px;color:#9defee;font-size:8px}
@media(max-width:700px){.slot2-config-grid{grid-template-columns:1fr 1fr}.slot2-config-grid .slot-auto-choice{grid-column:1/-1}.slot2-action-row{gap:5px}.slot2-action-row .slot-secondary,.slot2-action-row .slot-spin{height:50px;padding:0 5px}.slot2-action-row .slot-secondary b{font-size:10px}.slot2-action-row .slot-secondary small,.slot2-action-row .slot-spin small{font-size:6px}.slot2-symbol-table{grid-template-columns:1fr 1fr}.slot2-info-panel .slot-feature-cards{grid-template-columns:1fr 1fr}}
@media(max-width:460px){.slot2-info-panel .slot-feature-cards,.slot2-symbol-table{grid-template-columns:1fr}.slot2-intro{font-size:10px}.slot2-symbol-art{width:68px;height:68px}}

/* Layout xanh ngọc cắt trực tiếp từ ảnh mẫu 1536x1024. */
body.layout-viet-green:not(.game-mode){background-color:#031c18;background-image:linear-gradient(#001c1561,#001c1594),url('/assets/images/layout-viet-green-v1/home-background-jade-v1.webp?v=20260911-1');background-size:cover;background-position:center top;background-repeat:no-repeat;background-attachment:fixed;color:#fff}
body.layout-viet-green:not(.game-mode) .app-shell{width:min(1536px,100%);max-width:1536px;padding:0 28px 18px}
body.layout-viet-green:not(.game-mode) .topbar{min-height:140px;grid-template-columns:360px 390px minmax(0,1fr);gap:10px;padding:0;background:none;border-radius:0;box-shadow:none}
body.layout-viet-green:not(.game-mode) .profile{position:relative;width:360px;height:134px;padding:0;background:url('/assets/images/layout-viet-green-v1/top-profile.webp') center/100% 100% no-repeat;box-shadow:none}
body.layout-viet-green:not(.game-mode) .profile .avatar{display:none}
body.layout-viet-green:not(.game-mode) .profile>div:last-child{position:absolute;top:32px;left:170px;width:170px;overflow:hidden}
body.layout-viet-green:not(.game-mode) .profile small{overflow:hidden;color:#fff;font-size:17px;font-weight:900;line-height:30px;text-overflow:ellipsis;white-space:nowrap;text-shadow:0 2px 3px #003a35}
body.layout-viet-green:not(.game-mode) .profile strong{display:none}
body.layout-viet-green:not(.game-mode) .wallet{position:relative;width:390px;height:96px;padding:0;background:url('/assets/images/layout-viet-green-v1/top-wallet.webp') center/100% 100% no-repeat;box-shadow:none}
body.layout-viet-green:not(.game-mode) .wallet .coin-icon{display:none}
body.layout-viet-green:not(.game-mode) .wallet strong{position:absolute;right:78px;left:78px;overflow:hidden;color:#fff7bd;font-size:23px;text-align:center;text-overflow:ellipsis;text-shadow:0 3px 4px #004f3d;white-space:nowrap}
body.layout-viet-green:not(.game-mode) .wallet .plus{position:absolute;right:4px;width:82px;height:82px;opacity:0;cursor:pointer}
body.layout-viet-green:not(.game-mode) .actions{height:134px;gap:0;align-items:center;justify-content:space-between;overflow:visible}
body.layout-viet-green:not(.game-mode) .actions button,body.layout-viet-green:not(.game-mode) .actions .nav-image-link{width:20%;min-width:0;height:132px;padding:0;border-radius:0!important;background:none!important;box-shadow:none}
body.layout-viet-green:not(.game-mode) .actions button img{width:100%;height:100%;object-fit:contain;animation:none}
body.layout-viet-green:not(.game-mode) .hero{height:auto;aspect-ratio:1600/227;margin:0 0 12px;border-radius:0;background:none;box-shadow:none}
body.layout-viet-green:not(.game-mode) .hero-picture{position:absolute;inset:0;display:block;width:100%;height:100%}
body.layout-viet-green:not(.game-mode) .hero:before,body.layout-viet-green:not(.game-mode) .hero:after,body.layout-viet-green:not(.game-mode) .hero-copy{display:none}
body.layout-viet-green:not(.game-mode) .hero-image{object-fit:fill;object-position:center}
body.layout-viet-green:not(.game-mode) .game-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:12px;padding:0;background:none;border-radius:0;box-shadow:none}
body.layout-viet-green:not(.game-mode) .game-card{aspect-ratio:201/131;border-radius:0;background:none;box-shadow:none}
body.layout-viet-green:not(.game-mode) .game-card img{width:100%;height:100%;aspect-ratio:auto;object-fit:fill;animation:none}
body.layout-viet-green:not(.game-mode) .game-card:hover{transform:translateY(-2px);filter:brightness(1.08)}
body.layout-viet-green:not(.game-mode) .game-card.selected{box-shadow:0 0 14px #ffe767;filter:brightness(1.08)}
body.layout-viet-green:not(.game-mode) .fund-strip{display:none}
body.layout-viet-green:not(.game-mode) .chat-fab{display:none}
body.layout-viet-green:not(.game-mode) footer{position:static;width:100%;height:auto;margin:12px 0 6px;padding:0;display:grid;grid-template-columns:261fr 221fr 189fr 189fr 204fr 432fr;align-items:stretch;transform:none;background:none;border-radius:0;box-shadow:none}
body.layout-viet-green:not(.game-mode) footer button,body.layout-viet-green:not(.game-mode) footer .nav-image-link,body.layout-viet-green:not(.game-mode) footer .deposit{width:100%;min-width:0;height:auto;padding:0!important;border-radius:0!important;background:none!important;box-shadow:none!important}
body.layout-viet-green:not(.game-mode) footer button img{display:block;width:100%;height:100%;object-fit:fill}
.layout-category-bar{display:grid;grid-template-columns:152fr 164fr 159fr 160fr 164fr 375fr 78fr 82fr;gap:0;width:100%;align-items:center}
.layout-category-bar button{min-width:0;padding:0;border:0;background:none;cursor:pointer}
.layout-category-bar img{display:block;width:100%;height:auto;pointer-events:none}
body.game-mode .layout-category-bar{display:none}

@media(max-width:900px){body.layout-viet-green:not(.game-mode) .app-shell{padding:0 8px 12px}body.layout-viet-green:not(.game-mode) .topbar{grid-template-columns:minmax(0,1fr) minmax(0,1.08fr);min-height:150px;gap:5px}body.layout-viet-green:not(.game-mode) .profile{width:100%;height:auto;aspect-ratio:718/266}body.layout-viet-green:not(.game-mode) .profile>div:last-child{top:24%;left:48%;width:46%}body.layout-viet-green:not(.game-mode) .profile small{font-size:12px;line-height:20px}body.layout-viet-green:not(.game-mode) .wallet{width:100%;height:auto;aspect-ratio:778/190}body.layout-viet-green:not(.game-mode) .wallet strong{right:20%;left:20%;font-size:16px}body.layout-viet-green:not(.game-mode) .wallet .plus{right:0;width:22%;height:100%}body.layout-viet-green:not(.game-mode) .actions{grid-column:1/-1;height:66px}body.layout-viet-green:not(.game-mode) .actions button,body.layout-viet-green:not(.game-mode) .actions .nav-image-link{height:66px}body.layout-viet-green:not(.game-mode) .hero{aspect-ratio:2046/512}body.layout-viet-green:not(.game-mode) .game-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}body.layout-viet-green:not(.game-mode) footer{grid-template-columns:repeat(5,minmax(0,1fr));margin-top:8px}body.layout-viet-green:not(.game-mode) footer .deposit{grid-column:1/-1;width:42%;justify-self:center}.layout-category-bar{grid-template-columns:repeat(5,minmax(0,1fr));row-gap:3px}.layout-category-bar button:nth-child(6){grid-column:1/4}.layout-category-bar button:nth-child(7),.layout-category-bar button:nth-child(8){justify-self:center;width:54%}}
@media(max-width:520px){body.layout-viet-green:not(.game-mode) .topbar{min-height:116px}body.layout-viet-green:not(.game-mode) .actions{height:48px}body.layout-viet-green:not(.game-mode) .actions button,body.layout-viet-green:not(.game-mode) .actions .nav-image-link{height:48px}body.layout-viet-green:not(.game-mode) .game-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px}body.layout-viet-green:not(.game-mode) .hero{margin-bottom:5px}body.layout-viet-green:not(.game-mode) footer{margin-top:5px}.layout-category-bar{display:none}}

/* Chế độ chơi một khung hình: toàn bộ bàn chơi luôn nằm gọn trong viewport. */
html:has(body.game-mode),body.game-mode{width:100%;height:100dvh;min-height:0;overflow:hidden!important;overscroll-behavior:none;touch-action:none}
body.game-mode{position:fixed;inset:0}
body.game-mode .app-shell{box-sizing:border-box;width:100vw;max-width:none;height:100dvh;min-height:0;padding:0!important;overflow:hidden}
body.game-mode main{width:100%;height:100%;min-height:0;overflow:hidden}
body.game-mode main>section[hidden]{display:none!important}
body.game-mode main>section:not([hidden]):not(.game-grid):not(.fund-strip){box-sizing:border-box;width:100%;max-width:100%;height:100%;max-height:100%;min-height:0;margin:0;overflow:hidden}
body.game-mode .classic-game-panel:not([hidden]),body.game-mode .card-room-panel:not([hidden]),body.game-mode .table-panel:not([hidden]),body.game-mode .slot-panel:not([hidden]),body.game-mode .slot2-panel:not([hidden]),body.game-mode .bar777-panel:not([hidden]),body.game-mode .portal-game-panel:not([hidden]){border-radius:clamp(8px,1.4vw,18px)}

/* Các bàn bài dùng toàn bộ chiều cao còn lại sau thanh điều khiển. */
body.game-mode .classic-game-panel:has(.classic-table:not([hidden])){display:grid;grid-template-rows:minmax(0,1fr);padding:3px}
body.game-mode .classic-table:not([hidden]){display:grid;min-height:0;grid-template-rows:auto minmax(0,1fr) auto}
body.game-mode .classic-table.tien-len-mode:not([hidden]){grid-template-rows:minmax(0,1fr)}
body.game-mode .classic-table.tien-len-mode .classic-table-surface{grid-row:1;height:100%;min-height:0}
body.game-mode .classic-table-surface,body.game-mode .bai-cao-table-surface{height:auto;min-height:0;margin-top:3px}
body.game-mode .card-room-panel:not([hidden]){padding:5px}

/* Tài Xỉu co theo chiều cao, giữ đủ toàn bộ nút cược và thông tin phiên. */
body.game-mode #taiXiuPanel{display:grid;grid-template-rows:auto minmax(118px,1.45fr) auto auto auto auto auto auto;align-content:stretch;gap:clamp(2px,.65vh,6px);padding:clamp(5px,1vh,11px)}
body.game-mode #taiXiuPanel .table-head,body.game-mode #taiXiuPanel .dice-stage,body.game-mode #taiXiuPanel .pool-board,body.game-mode #taiXiuPanel .chip-picker,body.game-mode #taiXiuPanel .bet-status-row,body.game-mode #taiXiuPanel .proof{margin-top:0;margin-bottom:0}
body.game-mode #taiXiuPanel .dice-stage{min-height:0}
body.game-mode #taiXiuPanel .shared-dice-stage{position:relative;display:block;width:100%;height:100%;min-height:0;margin:0;overflow:hidden;isolation:isolate}
body.game-mode #taiXiuPanel .shared-dice-stage canvas{position:absolute!important;inset:0;width:100%!important;height:100%!important;display:block;background:transparent!important}
body.game-mode #taiXiuPanel .result{min-height:18px;margin:0}
body.game-mode #taiXiuPanel .pool{padding-block:clamp(4px,1vh,10px)}
body.game-mode #taiXiuPanel .chip-picker{gap:clamp(3px,.7vw,8px)}
body.game-mode #taiXiuPanel .bet-chip{width:clamp(34px,5.5vh,48px);height:clamp(34px,5.5vh,48px)}
body.game-mode #taiXiuPanel .history{display:none}

/* Nổ Hũ: sân khấu nhận phần chiều cao linh hoạt, điều khiển luôn ở trong khung. */
body.game-mode #slotPanel{display:grid;grid-template-rows:minmax(220px,1fr) auto;gap:4px;padding:4px}
body.game-mode #slotPanel .slot-ai-stage{width:min(100%,1180px);height:100%;min-height:0;margin:0 auto}
body.game-mode #slotPanel .slot-control-deck{width:min(100%,1050px);margin:0 auto;padding:clamp(5px,.8vh,9px)}
body.game-mode #slotPanel .slot-config-grid>label,body.game-mode #slotPanel .slot-total,body.game-mode #slotPanel .slot-auto-choice{padding:clamp(3px,.6vh,6px)}
body.game-mode #slotPanel .slot-action-row{margin-top:4px}
body.game-mode #slotPanel .slot-secondary,body.game-mode #slotPanel .slot-spin{height:clamp(40px,6vh,52px)}
body.game-mode #slotPanel>.slot-history{display:none}

/* BAR 777: giữ vòng quay lớn nhất có thể nhưng không đẩy cửa cược ra ngoài. */
body.game-mode #bar777Panel{display:grid;grid-template-rows:auto minmax(180px,1fr) auto auto auto auto;gap:clamp(2px,.55vh,6px);padding:clamp(4px,.8vh,9px)}
body.game-mode #bar777Panel .bar777-head{padding:2px 40px}
body.game-mode #bar777Panel .bar777-head>div{padding:clamp(3px,.6vh,6px)}
body.game-mode #bar777Panel .bar777-stage{width:100%;height:auto;min-height:0;border-width:3px}
body.game-mode #bar777Panel .bar777-status{min-height:17px;margin:0;font-size:clamp(9px,1.4vh,13px)}
body.game-mode #bar777Panel .bar777-bets{gap:clamp(2px,.45vw,5px)}
body.game-mode #bar777Panel .bar777-bets button{padding:clamp(2px,.55vh,6px) 2px}
body.game-mode #bar777Panel .bar777-controls{margin-top:0}
body.game-mode #bar777Panel .bar777-gamble{margin-top:0}
body.game-mode #bar777Panel .bar777-history{height:clamp(24px,4vh,34px);margin-top:0}

/* Nổ Hũ 2: canvas và cụm điều khiển chia sẻ đúng chiều cao viewport. */
body.game-mode #slot2Panel{display:grid;grid-template-rows:auto minmax(180px,1fr) auto auto auto;gap:clamp(2px,.6vh,6px);padding:clamp(4px,.9vh,10px)}
body.game-mode #slot2Panel>header{gap:clamp(6px,2vw,24px)}
body.game-mode #slot2Panel .slot2-stage{width:min(100%,820px);height:100%;min-height:0;margin:0 auto;aspect-ratio:auto}
body.game-mode #slot2Panel .portal-status{min-height:17px;margin:0}
body.game-mode #slot2Panel .slot2-control-deck{margin:0 auto;padding:clamp(5px,.7vh,8px)}
body.game-mode #slot2Panel .slot2-config-grid>label,body.game-mode #slot2Panel .slot2-config-grid>.slot-total{padding:clamp(3px,.6vh,6px)}
body.game-mode #slot2Panel .slot2-action-row{margin-top:4px}
body.game-mode #slot2Panel .slot2-action-row .slot-secondary,body.game-mode #slot2Panel .slot2-action-row .slot-spin{height:clamp(40px,6vh,50px)}
body.game-mode #slot2Panel>.portal-history{display:none}

/* Game nhanh và game bàn: bàn cờ/canvas co theo cạnh ngắn của thiết bị. */
body.game-mode .portal-game-panel:not([hidden]){padding:clamp(5px,1vh,12px)}
body.game-mode .portal-game-panel h2{margin:0 42px;font-size:clamp(17px,3vh,25px)}
body.game-mode .portal-game-panel .portal-status{margin:2px auto clamp(3px,.8vh,8px)}
body.game-mode .portal-game-panel .portal-history{max-height:38px;margin:clamp(3px,.7vh,8px) auto}
body.game-mode #chessPanel .chess-board{width:min(82vw,calc(100dvh - 128px),560px);margin:3px auto}
body.game-mode #xiangqiPanel .xiangqi-board{width:min(74vw,calc((100dvh - 128px)*.9),520px);margin:3px auto}
body.game-mode #dominoPanel{display:grid;grid-template-rows:auto auto auto auto minmax(120px,1fr) auto}
body.game-mode #dominoPanel .multiplayer-toolbar,body.game-mode #dominoPanel .board-toolbar,body.game-mode #dominoPanel .room-player-list{margin-block:2px}
body.game-mode #dominoPanel .domino-canvas{height:100%;min-height:0;margin:2px auto}
body.game-mode #dominoPanel .domino-hand{min-height:64px;padding:5px}

@media(max-width:700px){
  body.game-mode #taiXiuPanel{grid-template-rows:auto minmax(96px,1.35fr) auto auto auto auto auto auto;padding:4px}
  body.game-mode #taiXiuPanel .table-head{padding-inline:38px}
  body.game-mode #taiXiuPanel .proof{display:none}
  body.game-mode #slotPanel{grid-template-rows:minmax(210px,1fr) auto;padding:3px}
  body.game-mode #slotPanel .slot-control-deck{padding:5px}
  body.game-mode #slotPanel .slot-config-grid,body.game-mode #slotPanel .slot-action-row{gap:3px}
  body.game-mode #slotPanel .slot-stepper input,body.game-mode #slotPanel .slot-limit-input,body.game-mode #slotPanel .slot-auto-choice select,body.game-mode #slotPanel .slot-stepper button{height:28px}
  body.game-mode #slotPanel .slot-secondary,body.game-mode #slotPanel .slot-spin{height:42px}
  body.game-mode #bar777Panel{grid-template-rows:auto minmax(160px,1fr) auto auto auto auto;padding:4px}
  body.game-mode #bar777Panel .bar777-stage{min-height:0}
  body.game-mode #bar777Panel .bar777-bets{grid-template-columns:repeat(4,1fr)}
  body.game-mode #bar777Panel .bar777-bets b{font-size:clamp(13px,4vw,18px)}
  body.game-mode #bar777Panel .bar777-bets small{font-size:8px}
  body.game-mode #bar777Panel .bar777-bets em{min-height:13px;font-size:10px}
  body.game-mode #bar777Panel .bar777-controls>button{height:34px}
  body.game-mode #bar777Panel .bar777-controls label,body.game-mode #bar777Panel .bar777-controls>div{padding:3px}
  body.game-mode #bar777Panel .bar777-controls input{padding:4px;font-size:14px}
  body.game-mode #bar777Panel .bar777-history{display:none}
  body.game-mode #slot2Panel{grid-template-rows:auto minmax(160px,1fr) auto auto;padding:4px}
  body.game-mode #slot2Panel>header h2{font-size:18px}
  body.game-mode #slot2Panel>header div{padding:4px 6px}
  body.game-mode #slot2Panel .slot2-config-grid,body.game-mode #slot2Panel .slot2-action-row{gap:3px}
  body.game-mode #slot2Panel .slot2-action-row .slot-secondary,body.game-mode #slot2Panel .slot2-action-row .slot-spin{height:42px}
  body.game-mode .portal-game-panel .portal-history{display:none}
  body.game-mode .portal-game-panel .portal-bet{margin:clamp(3px,.8vh,8px) auto}
  body.game-mode #chessPanel .chess-board{width:min(94vw,calc(100dvh - 118px))}
  body.game-mode #xiangqiPanel .xiangqi-board{width:min(90vw,calc((100dvh - 118px)*.9))}
}

@media (orientation:landscape) and (max-height:600px) and (max-width:1100px){
  body.game-mode:has(.slot-panel:not([hidden])),body.game-mode:has(.portal-game-panel:not([hidden])){overflow:hidden!important}
  body.game-mode #slotPanel{grid-template-columns:minmax(0,72fr) minmax(210px,28fr);grid-template-rows:1fr}
  body.game-mode #slotPanel .slot-ai-stage{width:100%;height:100%;min-height:0;margin:0}
  body.game-mode #slotPanel .slot-control-deck{position:relative;inset:auto;width:100%;height:min-content;margin:0;align-self:center}
  body.game-mode #bar777Panel{grid-template-columns:minmax(0,1.7fr) minmax(280px,1fr);grid-template-rows:auto minmax(0,1fr) auto auto auto}
  body.game-mode #bar777Panel .bar777-head{grid-column:1/-1}
  body.game-mode #bar777Panel .bar777-stage{grid-column:1;grid-row:2/-1;height:100%}
  body.game-mode #bar777Panel .bar777-status,body.game-mode #bar777Panel .bar777-bets,body.game-mode #bar777Panel .bar777-controls,body.game-mode #bar777Panel .bar777-gamble{grid-column:2}
  body.game-mode #bar777Panel .bar777-bets{grid-template-columns:repeat(4,1fr)}
  body.game-mode #slot2Panel{grid-template-columns:minmax(0,1.6fr) minmax(260px,1fr);grid-template-rows:auto minmax(0,1fr) auto}
  body.game-mode #slot2Panel>header{grid-column:1/-1}
  body.game-mode #slot2Panel .slot2-stage{grid-column:1;grid-row:2/-1}
  body.game-mode #slot2Panel .portal-status,body.game-mode #slot2Panel .slot-control-deck{grid-column:2}
}
/* BAR 777 */
.bar777-panel{position:relative;max-width:980px;margin:12px auto 90px;padding:12px;border:2px solid #e6bd52;border-radius:24px;background:linear-gradient(155deg,#35190d,#6c1c13 48%,#173e25);box-shadow:0 18px 42px #06170dbb;color:#fff4c2;overflow:hidden}
.bar777-head{display:grid;grid-template-columns:1fr auto 1fr;gap:8px;align-items:center;padding:4px 44px 10px;text-align:center}
.bar777-head>div{min-width:0;padding:7px;border:1px solid #a97028;border-radius:12px;background:#140b08cc}.bar777-head small{display:block;font-size:11px;color:#e4c679}.bar777-head strong{display:block;font-size:clamp(18px,4vw,30px);color:#ffe05e}.bar777-clock strong{color:#ff7656;font-size:34px}
.bar777-stage{position:relative;width:100%;height:min(58vw,520px);min-height:330px;border:4px solid #c28d34;border-radius:18px;background:radial-gradient(circle,#713027 0 34%,#270e0c 72%);overflow:hidden;touch-action:none}.bar777-stage canvas{display:block!important;width:100%!important;height:100%!important}
.bar777-loading{position:absolute;inset:0;z-index:3;display:grid;place-content:center;gap:8px;background:#241109}.bar777-loading span{width:160px;height:9px;border-radius:9px;background:linear-gradient(90deg,#f2c94c 0 70%,#573922 70%)}.bar777-loading b{text-align:center}.bar777-stage canvas+.bar777-loading,.bar777-stage>div:has(canvas)~.bar777-loading{display:none}
.bar777-status{min-height:30px;margin:8px 0;text-align:center;font-weight:900;color:#ffe782}.bar777-status.win{color:#7cff9d}
.bar777-bets{display:grid;grid-template-columns:repeat(8,1fr);gap:6px}.bar777-bets button{min-width:0;padding:7px 2px;border:2px solid #99712d;border-radius:13px;background:linear-gradient(#fff2bd,#e0b95d);color:#4a1a0f;box-shadow:inset 0 -3px #98682e;touch-action:manipulation}.bar777-bets button:disabled{filter:grayscale(.7);opacity:.55}.bar777-bets b,.bar777-bets small,.bar777-bets em{display:block}.bar777-bets b{font-size:clamp(16px,4vw,25px)}.bar777-bets small{font-size:10px}.bar777-bets em{min-height:17px;color:#a11212;font-style:normal;font-weight:900}
.bar777-controls{display:grid;grid-template-columns:repeat(5,minmax(38px,60px)) minmax(92px,1fr) minmax(105px,1fr);gap:6px;align-items:stretch;margin-top:8px}.bar777-controls>button{border:2px solid #ecc750;border-radius:50%;background:#174e2a;color:#ffec84;font-weight:900}.bar777-controls label,.bar777-controls>div{display:flex;align-items:center;justify-content:center;gap:6px;padding:6px;border:1px solid #9b712a;border-radius:12px;background:#180d09}.bar777-controls input{width:70px;padding:7px;border:1px solid #d2a742;border-radius:7px;background:#fff9d9;font-size:18px;font-weight:900;text-align:center}.bar777-controls small,.bar777-controls span{font-size:10px;color:#d9bd73}
.bar777-gamble{display:grid;grid-template-columns:1fr 1.35fr 1fr;gap:8px;margin-top:10px}.bar777-gamble button{padding:10px;border:2px solid #f0ce58;border-radius:16px;background:linear-gradient(#397a42,#174a28);color:#fff0a0}.bar777-gamble button:first-child{background:linear-gradient(#48c3c0,#1e7472)}.bar777-gamble button:last-child{background:linear-gradient(#d84e3d,#7e1b18)}.bar777-gamble b,.bar777-gamble small{display:block}.bar777-gamble b{font-size:17px}
.bar777-gamble[hidden]{display:none}
.bar777-history{display:flex;gap:6px;overflow:hidden;margin-top:9px}.bar777-history span{flex:0 0 72px;padding:5px;border-radius:8px;background:#170d0a;text-align:center;font-size:10px;color:#e9cf87}.bar777-history .win{color:#78ef98}
@media(max-width:700px){.bar777-panel{box-sizing:border-box;margin:0 0 70px;padding:7px;border-radius:14px}.bar777-head{padding:3px 38px 7px}.bar777-head small{font-size:8px}.bar777-stage{height:min(79vw,440px);min-height:280px}.bar777-bets{grid-template-columns:repeat(4,1fr)}.bar777-controls{grid-template-columns:repeat(5,1fr)}.bar777-controls label{grid-column:1/4}.bar777-controls>div{grid-column:4/6}.bar777-controls>button{height:42px}.bar777-gamble{position:sticky;bottom:4px;z-index:4}.bar777-gamble b{font-size:13px}}

/* Mobile ngang: các cụm cao được chuyển sang hàng ngang và co theo cạnh ngắn. */
@media (orientation:landscape) and (max-height:600px) and (max-width:1100px){
  body.game-mode #taiXiuPanel{grid-template-rows:54px 96px 18px 29px 34px 62px 34px;gap:2px;padding:3px}
  body.game-mode #taiXiuPanel .dice-stage{height:96px;min-height:0}
  body.game-mode #taiXiuPanel .dice{width:56px;height:56px;padding:7px;border-radius:12px}
  body.game-mode #taiXiuPanel .dice i{width:9px;height:9px}
  body.game-mode #taiXiuPanel .bet-controls{display:grid;grid-template-columns:minmax(120px,1fr) repeat(2,minmax(145px,190px));align-items:center;height:62px;gap:7px}
  body.game-mode #taiXiuPanel .bet-controls label{grid-column:auto}
  body.game-mode #taiXiuPanel .bet-controls input{width:100%;height:32px;margin-top:2px;padding:2px 8px}
  body.game-mode #taiXiuPanel .bet{width:100%;min-width:0;height:58px}
  body.game-mode #taiXiuPanel .bet img{width:100%;height:100%;object-fit:fill}
  body.game-mode #taiXiuPanel .bet-status-row{min-height:0;height:34px;padding:2px 7px}
  body.game-mode #taiXiuPanel .proof{display:none}

  body.game-mode #xocDiaPanel{display:grid;grid-template-rows:auto auto auto minmax(100px,1fr) auto auto auto;align-content:stretch;gap:2px}
  body.game-mode #xocDiaPanel .multiplayer-toolbar{margin:2px auto}
  body.game-mode #xocDiaPanel .multiplayer-toolbar input,body.game-mode #xocDiaPanel .multiplayer-toolbar select,body.game-mode #xocDiaPanel .multiplayer-toolbar button{min-height:31px}
  body.game-mode #xocDiaPanel .xoc-dia-coins{width:min(64vw,650px);height:100%;min-height:0;margin:2px auto}
  body.game-mode #xocDiaPanel .room-player-list{margin:0}
  body.game-mode #xocDiaPanel .choice-grid{grid-template-columns:repeat(6,1fr);gap:4px}
  body.game-mode #xocDiaPanel .choice-grid button{min-height:34px}
  body.game-mode #xocDiaPanel .portal-bet{height:39px;margin:2px auto;align-items:center}
  body.game-mode #xocDiaPanel .portal-bet input{height:29px;margin-top:1px}

  body.game-mode #bar777Panel .bar777-controls{grid-template-columns:repeat(5,minmax(0,1fr));gap:3px}
  body.game-mode #bar777Panel .bar777-controls>button{height:33px}
  body.game-mode #bar777Panel .bar777-controls label{grid-column:1/4;padding:3px}
  body.game-mode #bar777Panel .bar777-controls>div{grid-column:4/6;padding:3px}
  body.game-mode #bar777Panel .bar777-controls input{width:min(70px,45%);padding:3px;font-size:14px}
  body.game-mode #bar777Panel .bar777-history{display:none}
}

/* BAR 777: lịch sử chỉ dùng biểu tượng trong atlas chung, không lặp tên cửa cược. */
.bar777-history span{position:relative;display:grid;place-items:center;min-width:54px;height:42px;padding:2px;overflow:hidden}
.bar777-history span b{position:absolute;right:2px;bottom:1px;padding:1px 3px;border-radius:5px;background:#170d0ddd;color:#ffe36c;font-size:10px;line-height:1.15}
.bar777-atlas-icon{display:block;width:38px;height:38px;background-image:url('/assets/images/bar777-game-atlas-v1.webp');background-repeat:no-repeat;background-size:800% 800%;filter:drop-shadow(0 2px 2px #0009)}
.bar777-atlas-icon.is-bar100{background-position:28.571% 0}.bar777-atlas-icon.is-bar50{background-position:42.857% 0}.bar777-atlas-icon.is-seven{background-position:57.143% 0}.bar777-atlas-icon.is-star{background-position:71.429% 0}.bar777-atlas-icon.is-watermelon{background-position:85.714% 0}.bar777-atlas-icon.is-bell{background-position:100% 0}.bar777-atlas-icon.is-lemon{background-position:0 14.286%}.bar777-atlas-icon.is-orange{background-position:14.286% 14.286%}.bar777-atlas-icon.is-apple{background-position:28.571% 14.286%}.bar777-atlas-icon.is-luck{background-position:42.857% 14.286%}

/* BAR 777: chip và lịch sử dùng chung một hàng, mục mới luôn chiếm ưu tiên hiển thị. */
body.game-mode #bar777Panel .bar777-controls{display:grid;grid-template-columns:repeat(6,minmax(30px,60px)) minmax(0,1fr);gap:clamp(3px,.55vw,7px);min-width:0;margin-top:0}
body.game-mode #bar777Panel .bar777-controls>button{width:100%;height:clamp(34px,6vh,54px);min-width:0;aspect-ratio:1;border-radius:50%}
body.game-mode #bar777Panel .bar777-controls>button[aria-pressed="true"]{background:#246f37;box-shadow:inset 0 0 0 3px #ffec84,0 0 10px #ffe45c88}
body.game-mode #bar777Panel .bar777-controls .bar777-history{display:flex!important;align-items:stretch;min-width:0;height:clamp(34px,6vh,54px);margin:0;padding:0;border:0;border-radius:0;background:transparent;gap:clamp(2px,.4vw,6px);overflow:hidden}
body.game-mode #bar777Panel .bar777-controls .bar777-history span{flex:0 0 clamp(38px,4.5vw,54px);width:clamp(38px,4.5vw,54px);min-width:0;height:100%;box-sizing:border-box;padding:1px}
body.game-mode #bar777Panel .bar777-controls .bar777-history .bar777-atlas-icon{width:min(38px,90%);height:min(38px,90%)}
@media(max-width:700px){body.game-mode #bar777Panel .bar777-controls{grid-template-columns:repeat(6,minmax(30px,1fr)) minmax(62px,2.7fr)}body.game-mode #bar777Panel .bar777-controls>button{height:34px;font-size:10px}body.game-mode #bar777Panel .bar777-controls .bar777-history{height:34px}body.game-mode #bar777Panel .bar777-controls .bar777-history span{flex-basis:32px;width:32px}.bar777-controls .bar777-atlas-icon{transform:scale(.78)}}

/* Nền bàn game responsive: Tiến Lên, Mậu Binh/Xập Xám và Bài Cào. */
.classic-table.tien-len-mode .classic-table-surface,
.classic-table.mau-binh-mode .classic-table-surface,
#baiCaoTable .bai-cao-table-surface{
  background-image:url('/assets/images/table-background-v1/table-desktop.webp');
  background-position:center;
  background-repeat:no-repeat;
  background-size:100% 100%;
}
@media (orientation:portrait) and (max-width:1024px){
  .classic-table.tien-len-mode .classic-table-surface,
  .classic-table.mau-binh-mode .classic-table-surface,
  #baiCaoTable .bai-cao-table-surface{
    background-image:url('/assets/images/table-background-v1/table-mobile.webp');
  }
}

:root{--jade:#287c7a}
