:root{--ink:#f8f6ef;--muted:#b9c0ca;--gold:#f4c45b;--felt:#087048;--felt-dark:#023b2a;--panel:#111723;--danger:#e85b69;--focus:#ffe76a}
*{box-sizing:border-box}
[hidden]{display:none!important}
body.poker-room{margin:0;min-height:100vh;color:var(--ink);background:#070910 radial-gradient(ellipse at 50% 0,#30283d 0,#101521 42%,#06080e 78%);font-family:Poppins,system-ui,sans-serif;overflow-x:hidden}
.skip-link{position:fixed;left:1rem;top:-5rem;z-index:9999;background:#fff;color:#101827;padding:.7rem 1rem;border-radius:.6rem;font-weight:900}.skip-link:focus{top:1rem}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
button,a,input{font:inherit}button:focus-visible,a:focus-visible,input:focus-visible{outline:4px solid var(--focus);outline-offset:4px}
.room-shell{min-height:calc(100vh - 66px);position:relative;isolation:isolate}
.lobby{position:relative;width:min(960px,calc(100% - 2rem));min-height:570px;margin:1rem auto 2rem;padding:3rem 2rem;text-align:center;display:grid;place-content:center;border:1px solid #ffffff24;border-radius:42px;background:radial-gradient(ellipse at 50% 30%,#126c4b,#063728 66%,#031e18);box-shadow:0 30px 80px #000b,inset 0 0 0 8px #130d0a,inset 0 0 0 12px #a06134,inset 0 0 0 15px #f0b86b;overflow:hidden}
.lobby:before{content:"";position:absolute;inset:24px;border:2px solid #ffffff1b;border-radius:27px;pointer-events:none}.lobby-mark{font:900 5rem Georgia;color:#f4c45b;text-shadow:0 8px 20px #0008}.eyebrow{margin:0;text-transform:uppercase;letter-spacing:.18em;color:var(--gold);font-weight:900;font-size:.78rem}.lobby h1{font:800 clamp(2.2rem,6vw,4.2rem) Georgia,serif;margin:.2rem}.lobby-copy{max-width:650px;margin:.4rem auto 1.7rem;color:#e6eee9;line-height:1.65}.mode-grid{display:grid;grid-template-columns:repeat(2,minmax(250px,1fr));gap:1rem;max-width:740px;margin:auto}.mode-card{min-height:190px;padding:1.2rem;border:2px solid #ffffff42;border-radius:24px;color:#fff;background:linear-gradient(150deg,#149566,#07563e);box-shadow:0 12px 0 #032e22,0 20px 35px #0007,inset 0 1px #ffffff55;cursor:pointer;transition:.2s transform,.2s filter}.mode-card:hover{transform:translateY(-6px);filter:brightness(1.12)}.mode-card strong,.mode-card span{display:block}.mode-icon{font-size:3rem}.mode-card strong{font-size:1.35rem;margin:.5rem}.mode-card span:last-child{font-size:.82rem;color:#e4f4ec}.lobby-actions{display:flex;justify-content:center;gap:.8rem;flex-wrap:wrap;margin-top:1.7rem}.utility-button,.toolbar-button{border:1px solid #ffffff3b;border-radius:999px;background:#131a25;color:#fff;padding:.65rem 1rem;text-decoration:none;font-weight:800;cursor:pointer}
.game-screen{position:relative;min-height:calc(100vh - 66px);padding:.5rem clamp(.4rem,2vw,1.4rem) 8.4rem;overflow:hidden}.room-light{position:absolute;top:-18rem;width:25rem;height:40rem;background:linear-gradient(#f9d9a533,transparent);filter:blur(18px);transform:rotate(22deg);pointer-events:none}.room-light-left{left:-7rem}.room-light-right{right:-7rem;transform:rotate(-22deg)}
.game-toolbar{position:relative;z-index:20;max-width:1200px;margin:0 auto .35rem;display:grid;grid-template-columns:1fr auto 1fr;align-items:center}.game-toolbar>:last-child{justify-self:end}.game-identity{text-align:center}.game-identity span,.game-identity small{display:block}.game-identity span{font-weight:900}.game-identity small{color:var(--gold)}.toolbar-button{display:flex;gap:.35rem;align-items:center}
.status-bar{position:relative;z-index:20;width:min(720px,94%);min-height:40px;margin:.2rem auto .5rem;display:grid;place-items:center;text-align:center;padding:.45rem 1rem;border:1px solid #ffffff2b;border-radius:999px;background:#090e17d9;color:#eaf1ed;font-weight:750;box-shadow:0 8px 22px #0005}
.table-stage{position:relative;width:min(1160px,98vw);height:min(58vw,560px);min-height:440px;margin:auto;perspective:1100px;filter:drop-shadow(0 38px 30px #000b)}
.table-base,.table-rail,.poker-table{position:absolute;left:50%;width:94%;height:83%;border-radius:50%;transform:translateX(-50%) rotateX(10deg)}
.table-base{top:13%;background:linear-gradient(180deg,#392116 0,#150b08 35%,#050507 100%);box-shadow:0 36px 0 #07080b,0 55px 42px #000;clip-path:ellipse(50% 49% at 50% 50%)}
.table-rail{top:4.5%;width:98%;height:88%;background:radial-gradient(ellipse at 50% 0,#bc7545 0,#60321e 48%,#24120c 72%,#0a0808 100%);box-shadow:inset 0 4px 3px #ffd29888,inset 0 -16px 22px #160a07,0 14px 0 #170c09,0 28px 32px #000c}
.table-rail:after{content:"";position:absolute;inset:2.5%;border:3px solid #e3a16266;border-radius:50%;box-shadow:0 0 0 7px #120c0a88,inset 0 2px #fff4}
.poker-table{top:8.5%;width:90%;height:79%;overflow:visible;background:radial-gradient(ellipse at 50% 30%,#169c69 0,#086b49 44%,#03432f 78%,#021f19 100%);box-shadow:inset 0 0 55px #001a12cc,inset 0 2px 8px #ffffff40}
.felt-grain{position:absolute;inset:0;border-radius:50%;opacity:.22;background-image:repeating-linear-gradient(112deg,transparent 0 4px,#ffffff0b 5px 6px),repeating-linear-gradient(18deg,transparent 0 6px,#001b111a 7px 8px);pointer-events:none}.table-logo{position:absolute;left:50%;top:51%;transform:translate(-50%,-50%);font:italic 700 clamp(3.5rem,10vw,8rem) Georgia;color:#ffffff0d;text-shadow:0 2px #0002;user-select:none}
.seat{position:absolute;z-index:6;display:grid;grid-template-columns:auto auto auto;align-items:center;gap:.35rem;min-width:142px;padding:.35rem .55rem;border:1px solid #ffffff28;border-radius:18px;background:linear-gradient(#1b2533eb,#090e16eb);box-shadow:0 10px 16px #0009;transform-origin:center}.seat-left{left:-4%;top:44%;transform:rotateX(-10deg) rotateZ(3deg)}.seat-top{left:50%;top:-9%;transform:translateX(-50%) rotateX(-10deg)}.seat-right{right:-4%;top:44%;transform:rotateX(-10deg) rotateZ(-3deg)}.player-portrait{width:42px;height:42px;display:grid;place-items:center;border-radius:50%;background:#ffffff10;font-size:1.45rem}.seat-info strong,.seat-info span{display:block;line-height:1.15}.seat-info span{font-size:.68rem;color:#cdd7d2}.position-button{display:inline-grid;place-items:center;min-width:25px;height:25px;padding:0 .25rem;border-radius:999px;background:#eee;color:#17202d;font-size:.62rem;font-weight:900}.position-button:empty{display:none}.seat.is-turn{outline:4px solid var(--gold);box-shadow:0 0 28px #f4c45b88,0 10px 16px #0009}.seat.is-folded{opacity:.45;filter:grayscale(1)}
.opponent-cards{position:absolute;display:flex;left:50%;top:calc(100% + 7px);transform:translateX(-50%)}.opponent-cards .card{margin-left:-18px}.opponent-cards .card:first-child{margin-left:0}.action-bubble{position:absolute;left:50%;top:calc(100% + 102px);transform:translateX(-50%);white-space:nowrap;padding:.25rem .5rem;border-radius:999px;background:#f4c45b;color:#17202d;font-size:.67rem;font-weight:900;box-shadow:0 5px 9px #0008}.action-bubble:empty{display:none}
.center-table{position:absolute;z-index:4;left:50%;top:37%;transform:translate(-50%,-50%) rotateX(-10deg);width:66%;text-align:center}.pot-label{display:inline-block;padding:.25rem .65rem;border-radius:999px;background:#061a14a8;border:1px solid #ffffff2b;font-size:.76rem}.pot-chips{height:32px;display:flex;justify-content:center;align-items:end}.pot-chips i{width:34px;height:12px;margin:0 -5px;border-radius:50%;background:#d62839;border:4px dashed #fff;box-shadow:0 -5px 0 #d62839,0 -9px 0 #f0d452,0 -13px 0 #14213d}.pot-chips i:nth-child(2){background:#2563eb;transform:translateY(4px)}.community-cards{min-height:88px;margin-top:.35rem;display:flex;justify-content:center;gap:.35rem}.showdown-panel{position:absolute;z-index:15;left:50%;top:50%;transform:translate(-50%,-50%);width:min(480px,90%);padding:.7rem 1rem;border:2px solid #f4c45b;border-radius:18px;background:#0a111cf2;box-shadow:0 16px 35px #000b;font-size:.82rem}.showdown-panel strong{display:block;color:var(--gold);font-size:1.05rem}
.deck{position:absolute;z-index:3;right:24%;top:48%;width:48px;height:66px}.deck i{position:absolute;inset:0;border:2px solid #dce7ed;border-radius:7px;background:repeating-linear-gradient(45deg,#142b44 0 6px,#2d5e82 6px 12px)}.deck i:nth-child(2){transform:translate(4px,3px)}.deck i:nth-child(3){transform:translate(8px,6px)}
.hero-seat{position:absolute;z-index:8;left:50%;bottom:-9%;transform:translateX(-50%) rotateX(-10deg);text-align:center}.hero-label{display:inline-flex;gap:.45rem;align-items:center;padding:.32rem .65rem;border:1px solid #ffffff2e;border-radius:999px;background:#0c131dec;box-shadow:0 8px 16px #0008;font-size:.8rem;white-space:nowrap}.hero-cards{display:flex;justify-content:center;gap:.35rem;margin-top:.3rem}.hand-readout{display:inline-block;margin-top:.28rem;padding:.22rem .55rem;border-radius:999px;background:#061a14c9;color:#dfeae4;font-size:.7rem;font-weight:800}
.card{position:relative;width:66px;height:92px;flex:none;border:2px solid #f1eee3;border-radius:9px;background:linear-gradient(145deg,#fff,#ede9de);box-shadow:0 8px 12px #0007;color:#101318;transform:rotate(var(--card-tilt,0deg));transition:.18s transform,.18s filter}.card.red{color:#d3263e}.card .corner{position:absolute;left:6px;top:4px;font:bold .88rem/1 system-ui;text-align:center}.card .pip{position:absolute;inset:0;display:grid;place-items:center;font-size:2rem}.card.back{background:repeating-linear-gradient(45deg,#142b44 0 7px,#2d5e82 7px 14px);box-shadow:inset 0 0 0 5px #f5f5ef,inset 0 0 0 7px #244965,0 8px 12px #0007}.card.winner{outline:4px solid #ffe15a;filter:drop-shadow(0 0 10px #ffe15a)}button.card{cursor:pointer}.hero-cards button.card[aria-pressed="true"]{transform:translateY(-16px) rotate(var(--card-tilt,0deg));outline:4px solid #ffe15a}.discard-tag{position:absolute;left:50%;bottom:-9px;transform:translateX(-50%);padding:.1rem .35rem;border-radius:999px;background:#e83e5d;color:#fff;font-size:.55rem;font-weight:900}
.action-dock{position:fixed;z-index:50;left:50%;bottom:max(.45rem,env(safe-area-inset-bottom));transform:translateX(-50%);width:min(920px,calc(100% - 1rem));min-height:92px;padding:.55rem .7rem;border:1px solid #ffffff2b;border-radius:22px;background:#0c121dec;box-shadow:0 14px 35px #000d,inset 0 1px #ffffff1e;backdrop-filter:blur(16px)}.turn-summary{display:flex;justify-content:center;gap:.6rem;min-height:22px;font-size:.77rem}.turn-summary strong{color:var(--gold)}.bet-actions,.draw-actions{display:flex;align-items:center;justify-content:center;gap:.45rem}.action-button{min-height:45px;border:0;border-radius:12px;padding:.55rem .85rem;color:#fff;background:#253044;font-weight:900;cursor:pointer;box-shadow:0 5px 0 #070a0f}.action-button:active{transform:translateY(3px);box-shadow:0 2px 0 #070a0f}.action-button:disabled{opacity:.42;cursor:not-allowed}.action-fold{color:#ff9eaa;background:#3a1f2a}.action-call,.action-primary{background:#078b60}.action-raise{background:#b36c17}.action-allin{background:#7137a6}.raise-group{display:grid;grid-template-columns:auto minmax(90px,180px) 42px;align-items:center;gap:.35rem;padding:0 .45rem}.raise-group label{font-size:.7rem}.raise-group output{color:var(--gold);font-weight:900}.action-dock>#nextHandButton{display:block;margin:auto}.action-dock>#nextHandButton[hidden]{display:none}
.poker-dialog{width:min(560px,calc(100% - 2rem));max-height:88vh;overflow:auto;border:2px solid #b87a3e;border-radius:24px;padding:1.5rem;color:#fff;background:linear-gradient(160deg,#182231,#090e16);box-shadow:0 30px 80px #000}.poker-dialog::backdrop{background:#030507cc;backdrop-filter:blur(5px)}.dialog-close{position:absolute;right:1rem;top:.8rem;width:42px;height:42px;border:1px solid #ffffff3b;border-radius:50%;background:#222c3c;color:#fff;font-size:1.5rem}.poker-dialog h2{margin:.25rem 0 1rem}.rank-list{padding:0;list-style:none;display:grid;gap:.35rem}.rank-list li{display:flex;justify-content:space-between;gap:1rem;padding:.45rem .65rem;border-radius:10px;background:#ffffff0c}.rank-list span{color:#c9d2dd;font-size:.8rem;text-align:right}.dialog-action{display:block;width:100%;margin:.55rem 0;padding:.8rem;border:1px solid #ffffff2c;border-radius:12px;background:#202b3b;color:#fff;text-align:center;text-decoration:none;font-weight:850}
@media(max-width:760px){.lobby{padding:2rem 1rem;min-height:650px}.mode-grid{grid-template-columns:1fr}.mode-card{min-height:135px}.game-screen{padding-inline:0;padding-bottom:8.8rem}.toolbar-button span{display:none}.table-stage{width:100vw;height:610px;min-height:610px;perspective:850px}.table-base,.table-rail,.poker-table{width:116%;left:50%;height:72%;top:13%;transform:translateX(-50%) rotateX(7deg)}.table-base{top:21%}.table-rail{top:12%;height:76%}.poker-table{top:16%;width:107%;height:68%}.seat{min-width:102px;padding:.25rem;grid-template-columns:auto auto}.player-portrait{width:30px;height:30px;font-size:1rem}.seat-info{font-size:.7rem}.seat-info span{font-size:.58rem}.seat-left{left:1%;top:46%}.seat-right{right:1%;top:46%}.seat-top{top:-7%}.position-button{position:absolute;right:-4px;top:-8px}.opponent-cards .card{width:32px;height:45px;margin-left:-15px}.opponent-cards .card .corner,.opponent-cards .card .pip{display:none}.action-bubble{top:calc(100% + 47px)}.center-table{top:38%;width:78%}.community-cards{min-height:64px;gap:.15rem}.community-cards .card{width:43px;height:61px}.community-cards .card .corner{font-size:.66rem}.community-cards .card .pip{font-size:1.25rem}.deck{display:none}.hero-seat{bottom:-14%}.hero-cards .card{width:57px;height:80px}.hero-cards .card .pip{font-size:1.7rem}.table-logo{font-size:4rem}.action-dock{min-height:119px}.turn-summary{font-size:.7rem}.bet-actions{display:grid;grid-template-columns:repeat(4,1fr)}.action-button{padding:.5rem .35rem;font-size:.76rem}.raise-group{grid-column:1/-1;grid-row:1;grid-template-columns:auto 1fr 35px}.action-fold{grid-column:1}.action-call{grid-column:2}.action-raise{grid-column:3}.action-allin{grid-column:4}.status-bar{font-size:.72rem;min-height:34px;margin-bottom:0}.game-toolbar{padding:0 .4rem}}
@media(max-width:400px){.seat-left{left:-2%}.seat-right{right:-2%}.hero-cards .card{width:52px;height:74px}.hero-label{font-size:.68rem}.rank-list li{display:block}.rank-list span{display:block;text-align:left;margin-top:.2rem}}
@media(max-width:760px){.seat{min-width:96px}.seat-left{left:5%}.seat-right{right:5%}.action-bubble{max-width:92px;overflow:hidden;text-overflow:ellipsis}}
@media(max-width:400px){.seat-left{left:4%}.seat-right{right:4%}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
@media(forced-colors:active){.card,.seat,.action-button,.toolbar-button{border:2px solid ButtonText}.card.winner{outline:4px solid Highlight}}

/* ===== Card Room II: raised casino table and guaranteed visible hero hand ===== */
body.poker-room{background:
  radial-gradient(ellipse at 50% -5%,#75583333 0 18%,transparent 44%),
  linear-gradient(90deg,transparent 0 8%,#ffffff06 8.2% 8.35%,transparent 8.5% 91.5%,#ffffff06 91.65% 91.8%,transparent 92%),
  linear-gradient(180deg,#171820 0,#0b0d13 52%,#050609 100%)}
.game-screen{padding-bottom:9rem;background:linear-gradient(180deg,transparent 0 70%,#0007 100%)}
.game-screen:before{content:"";position:absolute;z-index:-1;left:50%;top:72px;width:min(980px,90vw);height:360px;transform:translateX(-50%);background:radial-gradient(ellipse,#d7ab6450 0,#d7ab6410 30%,transparent 70%);filter:blur(30px);pointer-events:none}
.table-stage{width:min(1120px,96vw);height:520px;min-height:520px;perspective:1250px;filter:drop-shadow(0 42px 28px #000e)}
.table-base,.table-rail,.poker-table{left:50%;border-radius:42% 42% 48% 48% / 25% 25% 56% 56%;transform:translateX(-50%) rotateX(15deg)}
.table-base{top:15%;width:92%;height:76%;background:linear-gradient(180deg,#4b2c1c 0,#1e100b 36%,#080608 37% 100%);box-shadow:0 24px 0 #080609,0 42px 36px #000;clip-path:none}
.table-base:after{content:"MIRRAH CARD ROOM";position:absolute;left:50%;bottom:5%;transform:translateX(-50%);color:#d7a75d66;letter-spacing:.25em;font:800 .65rem Poppins,sans-serif;white-space:nowrap}
.table-rail{top:3%;width:96%;height:82%;padding:0;background:linear-gradient(165deg,#e3ae70 0 2%,#8d5431 5%,#422319 35%,#1b0e0b 72%,#090708 100%);box-shadow:inset 0 4px 4px #ffe0ad99,inset 0 -18px 25px #100705,0 15px 0 #160b09,0 28px 30px #000d}
.table-rail:before{content:"";position:absolute;inset:3.2%;border-radius:inherit;border:2px dashed #e0ae735e;box-shadow:inset 0 0 0 7px #120a08,0 1px #ffdda34d}
.table-rail:after{inset:6.5%;border:0;background:radial-gradient(ellipse at 50% 20%,#13a274,#087052 52%,#034232 100%);box-shadow:inset 0 0 0 4px #061c16,inset 0 14px 24px #ffffff12,inset 0 -24px 38px #001e17bb}
.poker-table{top:8.5%;width:84%;height:68%;overflow:visible;background:transparent;box-shadow:none}
.felt-grain{inset:0 -3%;border-radius:42% 42% 48% 48% / 25% 25% 56% 56%;opacity:.28;background-image:repeating-linear-gradient(105deg,transparent 0 7px,#ffffff0b 8px 9px),repeating-linear-gradient(15deg,transparent 0 10px,#001d161f 11px 12px)}
.table-logo{top:55%;font-size:clamp(3rem,6vw,5rem);color:#eed7a918;text-shadow:0 1px #fff1}
.seat{background:linear-gradient(155deg,#242a34f5,#0b0e14f5);border:1px solid #d4ae7166;box-shadow:0 11px 20px #000c,inset 0 1px #ffffff1a}
.seat-top{top:-7%}.seat-left{left:-2%;top:39%}.seat-right{right:-2%;top:39%}
.center-table{top:50%;width:64%}.pot-chips{height:27px}.community-cards{min-height:96px;margin-top:.55rem}.pot-label{padding:.3rem .8rem;border:1px solid #efc87888;background:#080c10e8;color:#f5d58b;box-shadow:0 6px 14px #0009}.pot-chips i{filter:drop-shadow(0 4px 3px #0008)}
.deck{right:18%;top:52%}
.hero-seat{left:50%;bottom:-16%;width:min(580px,82vw);height:158px;display:grid;grid-template-rows:104px 26px 24px;justify-items:center;align-items:center;transform:translateX(-50%);padding:.45rem 1rem .35rem;border:1px solid #d4ae7166;border-radius:28px 28px 18px 18px;background:linear-gradient(180deg,#1b2029f7,#090c12fa);box-shadow:0 20px 35px #000d,inset 0 1px #ffffff1f}
.hero-seat:before{content:"YOUR HAND";position:absolute;left:1rem;top:.75rem;color:#d8b77b;font-size:.58rem;font-weight:900;letter-spacing:.16em}
.hero-label{grid-row:2;margin:0;background:#05080dbf;border-color:#d4ae714c}
.hero-cards{grid-row:1;margin:0;min-height:102px;align-items:end;z-index:2}
.hero-cards .card{width:72px;height:100px}
.hand-readout{grid-row:3;margin:0;color:#f4d487;background:transparent}
.card{border-color:#fffdf2;background:linear-gradient(145deg,#fff 0,#f7f3e8 60%,#ddd6c5 100%);box-shadow:0 10px 18px #0009,0 1px #fff inset}
.card .corner{font-size:.95rem}.card .pip{font-size:2.2rem}
.action-dock{width:min(900px,calc(100% - 1.25rem));min-height:96px;border-color:#d4ae7157;border-radius:18px;background:linear-gradient(180deg,#171c25fa,#090c12fc);box-shadow:0 18px 42px #000f,inset 0 1px #ffffff1c}
.action-button{border:1px solid #ffffff18;border-radius:9px;box-shadow:0 4px 0 #05070a}.action-call,.action-primary{background:linear-gradient(#12a774,#087553)}.action-raise{background:linear-gradient(#c78328,#8e5213)}.action-allin{background:linear-gradient(#824db3,#5b2d83)}

@media(max-width:760px){
  .game-screen{padding-bottom:9.5rem}
  .table-stage{width:100vw;height:545px;min-height:545px;perspective:900px}
  .table-base,.table-rail,.poker-table{border-radius:38% 38% 45% 45% / 23% 23% 55% 55%;transform:translateX(-50%) rotateX(10deg)}
  .table-base{top:18%;width:111%;height:66%}.table-rail{top:10%;width:114%;height:70%}.poker-table{top:15%;width:101%;height:58%}
  .seat{min-width:92px}.seat-top{top:-8%}.seat-left{left:5%;top:38%}.seat-right{right:5%;top:38%}
  .center-table{top:46%;width:76%}.community-cards{min-height:64px}
  .hero-seat{bottom:-29%;width:94vw;height:142px;grid-template-rows:88px 25px 22px;padding-top:.35rem;border-radius:20px}
  .hero-seat:before{top:.45rem;left:.7rem;font-size:.5rem}.hero-cards{min-height:88px}.hero-cards .card{width:58px;height:82px}.hero-cards .card .pip{font-size:1.75rem}
  .hero-label{font-size:.67rem}.hand-readout{font-size:.63rem}
  .hero-label .position-button{position:static}
  .action-dock{min-height:120px}
}
@media(max-width:400px){.seat-left{left:4%}.seat-right{right:4%}.hero-cards .card{width:54px;height:78px}.hero-seat{bottom:-30%}}

/* ===== Vegas room atmosphere: lighting, leather, brass, and legibility ===== */
body.poker-room{background:
  radial-gradient(circle at 8% 16%,#ffc65a3d 0 3px,transparent 4px),radial-gradient(circle at 16% 10%,#ec535340 0 4px,transparent 5px),
  radial-gradient(circle at 84% 11%,#ffc65a42 0 3px,transparent 4px),radial-gradient(circle at 93% 18%,#e2465040 0 4px,transparent 5px),
  radial-gradient(ellipse at 50% -10%,#b9894850 0 9%,#4b302328 24%,transparent 48%),
  linear-gradient(180deg,#1b171a 0,#0b0d12 54%,#050507 100%)}
.game-screen:after{content:"";position:absolute;z-index:-2;left:-10%;right:-10%;bottom:0;height:40%;opacity:.33;background:
  linear-gradient(45deg,#8f2336 25%,transparent 25% 75%,#8f2336 75%),linear-gradient(-45deg,#c89a3b 25%,#241320 25% 75%,#c89a3b 75%);background-size:42px 42px;transform:perspective(500px) rotateX(62deg);transform-origin:bottom;filter:brightness(.52)}
.room-light{top:-12rem;width:30rem;height:44rem;background:conic-gradient(from 170deg at 50% 0,transparent 0 39%,#ffd78b26 44% 56%,transparent 61%);filter:blur(14px)}
.game-toolbar{min-height:48px;padding:.3rem .55rem;border:1px solid #d9ae6940;border-radius:16px;background:linear-gradient(180deg,#231b1ced,#0e1016ed);box-shadow:0 9px 24px #0008,inset 0 1px #ffe1a826}
.game-identity span{font-family:Georgia,serif;letter-spacing:.04em}.game-identity small{letter-spacing:.13em;text-transform:uppercase}
.toolbar-button{border-color:#d5ac6866;background:linear-gradient(#2a2528,#12151c);box-shadow:inset 0 1px #ffffff18}
.status-bar{border-color:#d9ae695c;background:linear-gradient(90deg,#160d12e8,#2a161ce8 50%,#160d12e8);color:#fff6e4;box-shadow:0 8px 26px #0009,inset 0 1px #ffe1a822}
.table-base{background:linear-gradient(180deg,#6d3a24 0,#2a140d 32%,#0a0809 34% 100%);box-shadow:0 24px 0 #070608,0 33px 0 #c4994930,0 52px 40px #000}
.table-base:after{bottom:4%;padding:.25rem .8rem;border:1px solid #d4aa6354;border-radius:999px;background:#09070a;color:#dfb76f99;box-shadow:0 3px 8px #000}
.table-rail{background:linear-gradient(160deg,#f1ca8f 0 1%,#a8693c 4%,#542b21 32%,#291217 65%,#0c080a 100%);box-shadow:inset 0 4px 3px #ffe5bca6,inset 0 -18px 27px #090405,0 15px 0 #100708,0 29px 32px #000e}
.table-rail:after{background:radial-gradient(ellipse at 50% 25%,#159a70 0,#087052 48%,#034030 82%,#021f18 100%);box-shadow:inset 0 0 0 4px #061912,inset 0 13px 24px #ffffff14,inset 0 -25px 40px #001a14d6}
.seat{border-color:#e0bb796e;background:linear-gradient(150deg,#30272af7,#101116f7 65%,#08090cf7);box-shadow:0 11px 20px #000d,inset 0 1px #ffe9c026}
.player-portrait{border:1px solid #d8ad6670;background:radial-gradient(circle,#3b3030,#171318);box-shadow:inset 0 1px #fff2,0 3px 8px #000}
.seat-info strong{color:#fff8e9}.seat-info span{color:#d9c9ad}.seat.is-turn{outline-color:#ffcf64;box-shadow:0 0 0 2px #6f4218,0 0 28px #ffc34e9c,0 11px 20px #000d}
.position-button{border:1px solid #ffe4a8;background:radial-gradient(circle at 35% 28%,#fff3bc,#d8a238 68%,#7f4c13);color:#241305;box-shadow:0 2px 6px #0009}
.action-bubble{border:1px solid #f1ca79;background:linear-gradient(#231a16,#0c0d11);color:#ffd986;box-shadow:0 5px 10px #000a}
.pot-label{font-family:Georgia,serif;letter-spacing:.04em;background:linear-gradient(#221b17,#090b0e);border-color:#e2bd7975;color:#ffdc91}
.pot-chips i{background:#a30e2d;border-color:#ffeac7;box-shadow:0 -5px 0 #a30e2d,0 -9px 0 #d5a72e,0 -13px 0 #182b52,0 5px 7px #000b}.pot-chips i:nth-child(2){background:#173e82}
.hero-seat{border-color:#e4be7775;background:linear-gradient(160deg,#272123fa,#111218fa 60%,#08090dfa);box-shadow:0 20px 38px #000e,inset 0 1px #ffe2a92b,inset 0 0 36px #0005}
.hero-seat:before{color:#efc87c}.hero-label{border-color:#e1b96d61;background:#07080bdc}.hand-readout{color:#ffd984;letter-spacing:.04em}
.card{border:3px solid #fffdf3;border-radius:10px;background:linear-gradient(145deg,#fff 0,#faf7ec 60%,#d9d0bc 100%);box-shadow:0 11px 20px #000a,0 1px #fff inset}.card.red{color:#d20f32}.card.black{color:#0b1017}.card .corner{font-weight:950}.card.back{border-color:#f4dfb8;background:repeating-linear-gradient(45deg,#55111f 0 6px,#9d2940 6px 12px);box-shadow:inset 0 0 0 4px #f6e5c7,inset 0 0 0 6px #6f1728,0 8px 12px #0009}
.action-dock{border-color:#dfb96f70;background:linear-gradient(180deg,#252024fc,#0d0f14fc);box-shadow:0 18px 44px #000f,inset 0 1px #ffe0a929}.turn-summary strong{color:#ffd475}.raise-group input{accent-color:#d7a33e}
.action-button{border-color:#f0d29735;text-shadow:0 1px 2px #0008}.action-fold{background:linear-gradient(#5a2632,#32131c);color:#ffc4cc}.action-call,.action-primary{background:linear-gradient(#15a875,#076346)}.action-raise{background:linear-gradient(#d08b2d,#82480f)}.action-allin{background:linear-gradient(#8d50bd,#4f276f)}
@media(max-width:760px){.game-toolbar{margin-inline:.35rem}.game-screen:after{height:32%}.status-bar{width:90%}.hero-seat{box-shadow:0 16px 30px #000e,inset 0 1px #ffe2a929}}
.seat-top .action-bubble{left:calc(100% + .45rem);top:56px;transform:none}
.deck i{border-color:#f4dfb8;background:repeating-linear-gradient(45deg,#55111f 0 6px,#9d2940 6px 12px)}
.showdown-panel{position:fixed;left:50%;top:185px;transform:translateX(-50%);width:min(480px,calc(100vw - 2rem));border-color:#e3bd76;background:linear-gradient(180deg,#251c1ff7,#0b0d12fa);box-shadow:0 16px 38px #000e,inset 0 1px #ffe4ad24}
@media(max-width:760px){.seat-top .action-bubble{left:calc(100% + .2rem);top:45px}}
@media(max-width:760px){.opponent-cards .card:not(.back) .corner{display:block;font-size:.55rem;left:3px;top:2px}.opponent-cards .card:not(.back) .pip{display:grid;font-size:.9rem}.showdown-panel{display:none!important}}

/* ===== Classic sapphire racetrack: a true oval table, not a shield/hat silhouette ===== */
body.poker-room{background:
  radial-gradient(circle at 10% 14%,#ffd46b33 0 3px,transparent 4px),radial-gradient(circle at 90% 14%,#ffd46b33 0 3px,transparent 4px),
  radial-gradient(ellipse at 50% -5%,#4e3a6b70 0,#1b1730 34%,transparent 62%),
  linear-gradient(180deg,#151426 0,#090b16 58%,#05060b 100%)}
.game-screen:after{opacity:.18;background:linear-gradient(45deg,#42306c 25%,transparent 25% 75%,#42306c 75%),linear-gradient(-45deg,#b38a3a 25%,#131124 25% 75%,#b38a3a 75%);background-size:48px 48px}
.table-stage{width:min(1120px,96vw);height:520px;min-height:520px;perspective:1400px}
.table-base,.table-rail,.poker-table{left:50%;border-radius:50%;transform:translateX(-50%) rotateX(10deg)}
.table-base{top:10%;width:92%;height:74%;clip-path:none;background:linear-gradient(180deg,#2a2b35 0,#11131a 54%,#05060a 55% 100%);box-shadow:0 22px 0 #05060a,0 27px 0 #b98a3a66,0 50px 42px #000}
.table-base:after{bottom:4%;color:#e4bd73a8;border-color:#d3a85c5e;background:#090a10}
.table-rail{top:0;width:96%;height:78%;background:linear-gradient(155deg,#faf1d4 0 1%,#cba35a 3%,#4b4d57 7%,#20222a 43%,#090a0f 84%);box-shadow:inset 0 4px 4px #fff6d9aa,inset 0 -17px 24px #030407,0 14px 0 #08090d,0 27px 32px #000e}
.table-rail:before{inset:3%;border:2px dashed #d6ae6580;box-shadow:inset 0 0 0 7px #090b10,0 1px #fff7dc42}
.table-rail:after{inset:7%;border-radius:50%;background:radial-gradient(ellipse at 50% 28%,#1564ac 0,#0a4b8c 46%,#053364 79%,#021c3b 100%);box-shadow:inset 0 0 0 4px #061526,inset 0 13px 25px #8dd1ff1c,inset 0 -28px 42px #00112ddb}
.poker-table{top:5%;width:84%;height:68%;border-radius:50%;background:transparent;box-shadow:none}
.felt-grain{inset:0 -3%;border-radius:50%;opacity:.2;background-image:repeating-linear-gradient(105deg,transparent 0 7px,#ffffff12 8px 9px),repeating-linear-gradient(15deg,transparent 0 10px,#00102924 11px 12px)}
.table-logo{top:54%;color:#d8eaff17;text-shadow:0 1px #fff1}
.seat{border-color:#ddb96e7d;background:linear-gradient(150deg,#292d39f8,#10131bf8 68%,#07080df8)}
.seat-left{left:-2%;top:40%}.seat-right{right:-2%;top:40%}.seat-top{top:-7%}
.pot-label{background:linear-gradient(#20242d,#080a0f);border-color:#e0bc747d;color:#ffdc91}
.hero-seat{bottom:-20%;border-color:#deb86e7a;background:linear-gradient(160deg,#222631fc,#0e1118fc 62%,#07080dfc)}
.hero-seat:before,.hand-readout{color:#f0c976}
.action-dock{border-color:#dcb46b75;background:linear-gradient(180deg,#212530fc,#0b0d13fc)}
@media(max-width:760px){
  .table-stage{width:100vw;height:545px;min-height:545px;perspective:950px}
  .table-base,.table-rail,.poker-table{border-radius:50%;transform:translateX(-50%) rotateX(7deg)}
  .table-base{top:14%;width:112%;height:68%}.table-rail{top:7%;width:116%;height:72%}.poker-table{top:12%;width:102%;height:62%}
  .seat-left{left:5%;top:40%}.seat-right{right:5%;top:40%}.seat-top{top:-8%}
  .hero-seat{bottom:-32%}
}
@media(max-width:400px){.hero-seat{bottom:-33%}}

/* ===== Final sizing pass: compact hand console, compact pause, top-down chips ===== */
.hero-seat{bottom:-10%;width:min(420px,72vw);height:136px;grid-template-rows:88px 25px 19px;padding:.35rem .75rem .25rem;border-radius:20px 20px 14px 14px}
.hero-seat:before{left:.75rem;top:.55rem;font-size:.52rem}
.hero-cards{min-height:88px}.hero-cards .card{width:64px;height:88px}.hero-cards .card .pip{font-size:1.9rem}.hero-cards .card .corner{font-size:.86rem}
.hero-label{padding:.22rem .55rem;font-size:.72rem}.hand-readout{font-size:.62rem;padding:.08rem .4rem}
.poker-dialog.menu-dialog{position:fixed;inset:0;width:min(360px,calc(100% - 2rem));height:max-content;max-height:calc(100vh - 2rem);margin:auto;padding:1.05rem 1rem;border-radius:18px}
.menu-dialog h2{margin:.15rem 0 .65rem;font-size:1.45rem}.menu-dialog .eyebrow{font-size:.65rem}.menu-dialog .dialog-close{width:34px;height:34px;right:.7rem;top:.55rem;font-size:1.15rem}.menu-dialog .dialog-action{min-height:44px;margin:.38rem 0;padding:.55rem .7rem;font-size:.88rem}
.pot-chips{height:32px;align-items:center;gap:3px;transform:translateX(96px)}
.pot-chips i,.pot-chips i:nth-child(2){width:27px;height:27px;margin:0;border:3px dashed #ffe7ba;border-radius:50%;transform:none;background:radial-gradient(circle,#f3d67d 0 17%,#8d1230 18% 51%,#f4dd9b 52% 61%,#a20f32 62%);box-shadow:inset 0 0 0 2px #761026,0 4px 7px #000b;filter:none}
.pot-chips i:nth-child(2){background:radial-gradient(circle,#e9d98b 0 17%,#174b98 18% 51%,#f1e2a5 52% 61%,#153f82 62%);box-shadow:inset 0 0 0 2px #0f326c,0 4px 7px #000b}
.pot-chips i:nth-child(3){background:radial-gradient(circle,#f2dd94 0 17%,#20242c 18% 51%,#f0dda1 52% 61%,#151920 62%);box-shadow:inset 0 0 0 2px #090b0f,0 4px 7px #000b}
@media(max-width:760px){.hero-seat{bottom:-22%;width:88vw;height:126px;grid-template-rows:80px 24px 18px;padding:.3rem .55rem .2rem}.hero-seat:before{left:.55rem;top:.4rem}.hero-cards{min-height:80px}.hero-cards .card{width:55px;height:78px}.hero-cards .card .pip{font-size:1.65rem}.hero-label{font-size:.64rem}.hand-readout{font-size:.58rem}.pot-chips{transform:translateX(72px)}}
@media(max-width:400px){.hero-seat{bottom:-23%}}
