/* R18 authoritative visual layout: fixed 1320x744 stage, black casino composition. */
:root{--mint:#27dfc0;--purple:#9953ee;--ink:#010409;--panel:#07121b;--gap:7px}
html,body,#stageViewport{background:#000!important;overflow:hidden!important}
#stageViewport{background:radial-gradient(ellipse at 50% 75%,#073337 0%,#02080d 40%,#000 85%)!important}
#gameStage,.shell{width:1320px!important;height:744px!important;background:radial-gradient(ellipse at 50% 50%,#0a2b30 0%,#02080d 47%,#000 88%)!important}
.topbar{height:49px!important;background:transparent!important;padding:0 20px!important;font-size:17px!important}
.room-name{font-weight:900;letter-spacing:.5px;color:#27dfc0}.room-name .brand{color:#39f1d6}.room-count{display:none}
.room-type{display:inline-block;margin-left:9px;padding:5px 12px;border-radius:9px;background:#0b252b;color:#d6f4f1;font-size:12px;font-weight:500;letter-spacing:0}
.top-right{gap:7px!important}.top-right button{font-size:12px!important;border-radius:17px!important;background:#09161d!important;padding:7px 10px!important;color:#d8e7ee}
.walletbar{height:45px!important;background:transparent!important;padding:0 21px!important;border:0!important;justify-content:flex-start!important;gap:25px!important;font-size:14px!important}
.walletbar>span:first-child{background:#08141b;border-radius:22px;padding:8px 20px;color:#ffe19b}.walletbar strong{background:#07151a;border-radius:22px;padding:8px 14px;color:#ffd876}.walletbar #round{margin-left:auto;color:#68dcd4}
.game{height:650px!important;grid-template-rows:392px 214px 34px!important;gap:5px!important;padding:0 18px 5px!important}
.board{height:392px!important;min-height:392px!important;overflow:visible!important;background:radial-gradient(ellipse at 50% 50%,#0c3c3c 0%,#06191d 32%,#020a10 69%,transparent 100%)!important;box-shadow:none!important}
.board:after{content:'BADUGI';position:absolute;left:43%;top:44%;font-size:37px;font-weight:900;color:#ffffff09;letter-spacing:4px;pointer-events:none}
.seat{width:375px!important;height:181px!important;min-height:0!important;max-width:none!important;padding:13px!important;gap:6px!important;grid-template-columns:105px minmax(0,1fr)!important;grid-template-rows:137px 25px!important;background:linear-gradient(130deg,#0b1b26de,#07141cbf)!important;border-radius:18px!important;box-shadow:inset 0 1px 0 #ffffff0b,0 8px 22px #0006!important}
.seat-topleft{top:6px!important;left:76px!important}.seat-topright{top:6px!important;right:76px!important}
.seat-bottomleft{bottom:4px!important;left:76px!important}.seat-bottomright{bottom:4px!important;right:76px!important}
.seat .portrait{width:94px!important;height:113px!important;border-radius:12px!important;background-position:center!important;background-size:cover!important;filter:none!important;grid-column:1!important;grid-row:1!important;align-self:center!important}
.portrait-luna{background-image:url('assets/portrait-luna.webp')!important}
.portrait-jade{background-image:url('assets/portrait-jade.webp')!important}
.portrait-mint{background-image:url('assets/portrait-mint.webp')!important}
.portrait-sol{background-image:url('assets/portrait-sol.webp')!important}
.portrait-me{background-image:url('assets/portrait-me.webp')!important}
.seat-topright,.seat-bottomright{grid-template-columns:minmax(0,1fr) 105px!important}
.seat-topright .portrait,.seat-bottomright .portrait{grid-column:2!important}
.seat-topright .opp-cards,.seat-bottomright .opp-cards{grid-column:1!important;grid-row:1/3!important}
.seat-topright .seat-info,.seat-bottomright .seat-info{grid-column:2!important;grid-row:2!important}
.seat .seat-info{grid-column:1!important;grid-row:2!important;align-self:center!important;font-size:12px!important;gap:1px!important;color:#9eeae5}
.seat .seat-info small{font-size:10px!important;color:#7da7b5!important}
.opp-cards{grid-column:2!important;grid-row:1/3!important;padding:0 4px!important;align-items:center!important;justify-content:center!important}
.back{width:58px!important;min-width:58px!important;height:113px!important;min-height:113px!important;margin-right:-7px!important;border-radius:8px!important;background:repeating-linear-gradient(45deg,#9c8457 0 2px,#d3bc89 2px 4px,#ad986d 4px 6px)!important;box-shadow:0 0 0 3px #f5f4e9,0 4px 10px #000a!important}
.back:after{content:'♠';border:0!important;inset:6px!important;display:grid!important;place-items:center!important;color:#f6e9c456!important}
.bet-tag{font-size:12px!important;color:#ffdc87!important}
.table{inset:0!important;z-index:1!important}.table .center{top:135px!important;width:260px!important;height:100px!important}
.chip-stack{width:240px!important;height:95px!important;gap:5px!important;opacity:1!important}
.chip-stack .chip{width:33px!important;height:33px!important;border:5px dashed #e9ffff!important;box-shadow:0 4px 0 #1b1b25,0 8px 0 #183c44,0 12px 0 #121c25,0 14px 12px #000b!important}
.chip-stack .chip:nth-child(3n+1){background:radial-gradient(circle,#ff7887,#b9203b)!important}
.chip-stack .chip:nth-child(3n+2){background:radial-gradient(circle,#7db8ff,#145ab8)!important}
.chip-stack .chip:nth-child(3n){background:radial-gradient(circle,#5ee8a5,#117e4d)!important}
.center-status{top:229px!important;left:calc(50% - 158px)!important;width:316px!important;background:transparent!important;box-shadow:none!important;overflow:visible!important}
.round-badge{height:36px!important;background:linear-gradient(90deg,#0c615e,#17252f)!important;border-radius:20px!important;font-size:15px!important;gap:20px!important}
.pot-row{height:34px!important;background:linear-gradient(#06141b,#030a0e)!important;margin-top:5px;border-radius:11px!important;color:#9edfe0!important;font-size:17px!important}
.pot-row strong{color:#ffe09a!important}.status{padding:4px!important;background:transparent!important;font-size:11px!important}
.deck-display{position:absolute;z-index:5;top:-84px;left:calc(50% - 55px);width:110px;height:77px;display:flex;justify-content:center;align-items:center;pointer-events:none}
.deck-display span{position:absolute;top:53px;left:-105px;font-size:11px;color:#71f2e2;background:#073037;border-radius:9px;padding:5px}
.deck-card{height:73px;width:58px;border-radius:8px;background:repeating-linear-gradient(45deg,#b69b69 0 3px,#dfc995 3px 6px);box-shadow:0 0 0 5px #f9f6e8,5px 6px 0 #20202b,10px 11px 0 #10131c,0 8px 18px #000}
.game-meta{position:absolute;z-index:4;left:calc(50% - 145px);top:5px;width:290px;padding:9px;background:#07121ad9;border-radius:12px;text-align:center;font-size:13px;color:#d8e4e8}.game-meta small{font-size:11px;color:#8cb4bd}
.bottom{display:grid!important;grid-template-columns:185px 815px minmax(0,1fr)!important;height:214px!important;min-height:214px!important;gap:7px!important;overflow:visible!important}
.player-area{grid-column:2!important;width:815px!important;min-width:0!important;grid-template-columns:117px 250px 1fr!important;gap:7px!important;padding:9px!important;border-radius:18px!important;background:linear-gradient(120deg,#081721,#081923e8)!important}
.self-seat .portrait{width:106px!important;height:133px!important;border-radius:12px!important;background-position:center!important;background-size:cover!important;filter:none!important}
.self-seat{gap:3px!important}.self-seat .seat-info{font-size:13px!important;color:#9ff2e5}
.hand-area{background:transparent!important;box-shadow:none!important;padding:2px!important;min-width:0!important}
.mycards{height:164px!important;justify-content:center!important;align-items:center!important}
.playing-card{width:70px!important;height:140px!important;max-height:140px!important;min-height:140px!important;margin-right:-11px!important;border-radius:9px!important;background:#fff!important;box-shadow:0 0 0 2px #f5f4e8,0 5px 10px #0008!important}
.playing-card.selected{transform:translateY(-12px)!important;box-shadow:0 0 0 2px #a0faad,0 0 16px #35eab2!important}
.corner{font-size:24px!important}.symbol{font-size:50px!important}.cards-head{font-size:13px!important;color:#e6d26c!important;margin-top:2px!important}
.play-buttons{grid-template-columns:minmax(0,1fr) 112px!important;grid-template-rows:31px minmax(0,1fr)!important;gap:6px!important}
.bet-controls{grid-column:1/3!important;grid-row:1!important;grid-template-columns:1fr 108px!important;gap:5px!important}
.amount input{height:29px!important;background:#0a1921!important;color:#f6da9b!important;border-radius:8px!important}
.amount button{height:29px!important;border-radius:8px!important;background:#18353b!important}
.bet-slider{height:29px!important}.bet-slider button{height:27px!important;background:#153c3f!important}
.bets{grid-column:1!important;grid-row:2!important;gap:6px!important;grid-template-rows:repeat(4,1fr)!important}
.bets button{font-size:15px!important;border-radius:11px!important;background:linear-gradient(130deg,#102b2f,#071a22)!important;box-shadow:inset 0 1px 0 #ffffff12,0 2px 5px #0008!important}
.bets #call{color:#40efb5!important}.bets #fold{color:#c4a1f8!important}.bets #raise{color:#ffd475!important}.bets #check{color:#d0d4f6!important}
.exchange{grid-column:2!important;grid-row:2!important;gap:6px!important;grid-template-rows:1fr 1fr!important}
.exchange button{border-radius:14px!important;color:#00261f!important;background:linear-gradient(150deg,#4affda,#0db9a4)!important;font-size:18px!important;box-shadow:inset 0 2px 0 #ffffff44,0 5px 10px #0007!important}
.exchange #hold{background:linear-gradient(150deg,#bb83ff,#642ac5)!important;color:#fff!important}
.chat-panel{grid-column:3!important;background:#06131c!important;border-radius:13px!important;box-shadow:0 6px 16px #0008!important}
.chat-tabs{height:32px!important;gap:3px!important;padding:3px!important}.chat-tabs button{border-radius:7px!important;background:#102532!important;font-size:12px!important}
.chat-log{font-size:12px!important;color:#c7d4e1!important}.chat-entry{height:34px!important}.chat-entry input{background:#01080c!important}.chat-entry button{background:#24d6b8!important;color:#00271f!important}
.footer{height:34px!important;min-height:34px!important;padding:0 2px!important}
.footer button{height:30px!important;border-radius:10px!important;background:#0a2430!important;font-size:12px!important;padding:4px 11px!important}
.footer>div:last-child button:first-child{background:#2b1650!important}
button:hover:not(:disabled){filter:brightness(1.17)}
button:active:not(:disabled){transform:translateY(1px)}
#rotateHint{background:#01070b!important}
/* Every interactive item remains live; only the scene scales, not individual widgets. */
