@font-face{font-family:Workshop;src:url('/poker/holdem/assets/display.ttf')}@font-face{font-family:Bricolage;src:url('/poker/holdem/assets/body.woff2')}
:root{color-scheme:dark;--ink:#101c22;--cream:#f3e6c7;--gold:#d9b66d;--felt:#163e37;--copper:#b8844c;--wine:#a1464c}
*{box-sizing:border-box}body{margin:0;background:#101a1c;color:var(--cream);font-family:Bricolage,system-ui,sans-serif;overflow-x:hidden}button,a,input{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer;color:inherit}button:disabled{cursor:wait;opacity:.48}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #fff4c8;outline-offset:5px}[hidden]{display:none!important}button svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8}h1,h2,p{margin:0}button{touch-action:manipulation;user-select:none;-webkit-user-select:none}a{color:inherit}
.topbar{height:98px;padding:18px 32px;display:flex;align-items:center;gap:25px;background:linear-gradient(#162327,#101b20);border-bottom:1px solid #b58c423d;position:relative;z-index:2}.brand{color:var(--cream);text-decoration:none;font-family:Workshop,sans-serif;line-height:.82;transform:rotate(-4deg);width:115px;flex-shrink:0;text-shadow:2px 3px #080e13}.brand>span{font-size:21px;display:block}.brand strong{font-size:45px;font-weight:400}.gold{color:var(--gold)}.room-title{border-left:1px solid #8a76514d;padding-left:24px}.room-title>span{font-size:12px;color:#c5b694}.room-title h1{font-family:Workshop;font-size:25px;letter-spacing:.25px;font-weight:400;margin-top:4px}.top-actions{margin-left:auto;display:flex;gap:9px}.small-btn{min-width:42px;height:42px;display:flex;align-items:center;justify-content:center;gap:8px;border:1px solid #84734c;border-radius:8px;background:#17282c;box-shadow:inset 0 1px #b4a4783a,0 3px #071114;padding:0 13px;font-size:13px}.small-btn:hover{background:#29433f}.small-btn[aria-pressed=true]{color:#ffe1a0;border-color:#d8af6b}.table-meta{height:58px;display:flex;align-items:center;justify-content:center;gap:24px;padding:0 22px;background:#121e21;font-size:12px;color:#bcb8a6}.modes{display:flex;background:#0b1417;border:1px solid #4b554a;border-radius:7px;padding:3px;gap:3px}.modes button{background:transparent;border:0;padding:7px 14px;font-size:12px;border-radius:4px;color:#c2c8bb}.modes button[aria-pressed=true]{color:#f9e5b4;background:#30483e;box-shadow:inset 0 1px #6b8056}.prototype{color:#a9b5ad;border-left:1px solid #45534c;padding-left:24px}
#stage{height:calc(100svh - 276px);min-height:450px;max-height:1000px;position:relative;isolation:isolate;background:radial-gradient(ellipse at 50% 45%,#284039,#0f191b 70%);overflow:hidden}#stage>canvas{display:block;width:100%;height:100%;touch-action:none;cursor:grab}#stage>canvas:active{cursor:grabbing}.seat{position:absolute;z-index:2;text-align:center;width:157px;pointer-events:none;transform:translate(-50%,-100%);filter:drop-shadow(0 9px 7px #060b0e90);transition:opacity .3s}.seat>img{width:96px;height:107px;object-fit:contain;object-position:bottom;display:block;margin:0 auto -4px;filter:drop-shadow(0 3px 1px #0008)}.nameplate{position:relative;padding:6px 13px 5px;background:linear-gradient(145deg,#71512f,#e0bd77 14%,#ac7f40 47%,#e7cc8a 85%,#6a4c2a);clip-path:polygon(8% 0,92% 0,100% 18%,100% 82%,92% 100%,8% 100%,0 82%,0 18%);box-shadow:0 3px #000}.nameplate:before{content:'';position:absolute;inset:3px;background:linear-gradient(#233a36,#122620);clip-path:inherit;z-index:-1}.nameplate strong{display:block;font-size:12px;font-weight:650;white-space:nowrap}.nameplate .stack{font-size:14px;color:#f2dca8;display:block;padding-top:2px;font-variant-numeric:tabular-nums}.seat-action{display:block;font-size:10px;color:#d9ddca;padding:4px 6px;text-shadow:0 2px 3px #000;min-height:19px}.seat.active .nameplate{filter:drop-shadow(0 0 8px #dcae48)}.seat.folded{opacity:.4}.seat.react img{animation:react .5s ease-out}.quip{position:absolute;top:100%;left:50%;transform:translateX(-50%);width:180px;background:var(--cream);border-radius:8px;padding:10px 12px;color:#293a36;font-size:12px;line-height:1.35;box-shadow:0 4px #080f164d}.quip:after{content:'';position:absolute;top:-7px;left:50%;border:7px solid transparent;border-top:0;border-bottom-color:var(--cream)}
.welcome{position:absolute;left:50%;top:56%;transform:translate(-50%,-50%);text-align:center;z-index:3;min-width:300px}.welcome p{font-family:Workshop;font-size:36px;line-height:1.06;color:#f2e7c8;text-shadow:0 3px 8px #000a;margin-bottom:23px}.welcome small{display:block;margin-top:17px;color:#dedbc5;font-size:11px}.game-btn{position:relative;min-height:55px;min-width:125px;display:inline-flex;align-items:center;justify-content:center;gap:12px;padding:12px 27px;border:1px solid #e2c58d;border-radius:10px;font-family:Workshop,Bricolage,sans-serif;font-size:24px;line-height:1.1;box-shadow:inset 0 0 0 3px #59411d,inset 0 0 0 4px #e3bd70,0 4px 0 #412b19,0 7px 10px #0004;transition:filter .15s,transform .12s}.game-btn:before,.game-btn:after{content:'';position:absolute;width:5px;height:5px;background:#f1d598;border-radius:50%;top:calc(50% - 2px);box-shadow:0 1px 2px #4f3618}.game-btn:before{left:9px}.game-btn:after{right:9px}.primary{color:#1a2b28;background:linear-gradient(170deg,#f2cc74,#dba342 78%)}.secondary{background:linear-gradient(170deg,#36574f,#223e37);color:#f0e1bb}.quiet{background:linear-gradient(#263134,#1b2529);color:#c9c9b8;box-shadow:inset 0 0 0 3px #151e20,inset 0 0 0 4px #677369,0 4px #0a1215;border-color:#738075}.game-btn:hover:not(:disabled){filter:brightness(1.12)}.game-btn:active:not(:disabled){transform:translateY(3px);box-shadow:inset 0 0 0 3px #59411d,inset 0 0 0 4px #e3bd70,0 1px #412b19}.pot{position:absolute;text-align:center;pointer-events:none;transform:translate(-50%,-50%);z-index:1;filter:drop-shadow(0 2px 3px #000a)}.pot>span{font-size:11px;color:#d8d7bb}.pot strong{display:block;font-size:25px;font-weight:650;margin-top:2px}.pot small{font-weight:400;font-size:11px;color:#c1c8b8}.you{position:absolute;left:50%;bottom:9px;transform:translateX(-50%);text-align:center;pointer-events:none;text-shadow:0 2px 5px #000}.you strong{font-size:13px;display:block}.you strong span{margin-left:10px;color:var(--gold)}.you>span{font-size:11px;color:#c3cabc;display:block;margin-top:3px}.table-hint{position:absolute;left:24px;bottom:16px;font-size:11px;color:#a3ada5;pointer-events:none}
.action-dock{min-height:120px;padding:20px max(24px,calc((100vw - 1170px)/2));display:flex;align-items:center;justify-content:space-between;gap:20px;background:linear-gradient(#19292b,#101b20);border-top:1px solid #b18b4b66;position:relative;z-index:5;box-shadow:0 -12px 35px #050a0a33;padding-bottom:max(20px,env(safe-area-inset-bottom))}.turn-copy{max-width:350px}.turn-copy>span{display:block;color:var(--gold);font-size:12px;margin-bottom:6px}.turn-copy>strong{display:block;font-size:17px;line-height:1.35;font-weight:550}.bet-actions{display:flex;gap:12px}.bet-actions .game-btn{min-width:135px}#raise-panel{position:absolute;bottom:calc(100% + 10px);right:25px;padding:18px;background:#162b29;box-shadow:0 14px 35px #0009;border:1px solid #9b8150;border-radius:12px;width:420px;z-index:10}#raise-panel label{display:flex;justify-content:space-between;font-size:14px;color:#d6dccb}#raise-value{font-size:22px;color:var(--gold)}#raise-size{width:100%;accent-color:#debc75;margin:16px 0 20px;min-height:24px}.raise-buttons{display:flex;gap:8px;align-items:center}.raise-buttons>button:not(.game-btn){min-height:40px;min-width:43px;background:#263c37;border:1px solid #688173;border-radius:6px}.raise-buttons .game-btn{font-size:18px;min-width:0;padding:12px 20px;min-height:45px;flex:1}.result{position:absolute;top:44%;left:50%;transform:translate(-50%,-50%);padding:25px 42px 30px;min-width:330px;text-align:center;border:1px solid #c4a76b;border-radius:12px;background:linear-gradient(#203d35f5,#112920f7);box-shadow:0 15px 60px #0008;z-index:4}.result>span{color:var(--gold);font-size:12px}.result h2{font-family:Workshop;font-size:40px;font-weight:400;margin:9px 0}.result p{font-size:14px;line-height:1.5;margin:0 0 18px;color:#d8ddca}dialog{max-width:460px;padding:32px;border-radius:14px;border:1px solid var(--gold);background:#192f2c;color:var(--cream);box-shadow:0 20px 100px #0009}dialog::backdrop{background:#071114be;backdrop-filter:blur(5px)}dialog h2{font-family:Workshop;font-size:34px;font-weight:400;margin:14px 0}dialog p{font-size:14px;line-height:1.6;color:#d3d6c8;margin-bottom:15px}dialog>button:first-child{float:right;background:transparent;border:0;font-size:28px;min-width:40px;min-height:40px}dialog .game-btn{font-size:20px;width:100%;margin-top:8px}#loading{position:absolute;inset:0;background:#152521;display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:20}#loading h2{font-family:Workshop;font-weight:400;font-size:32px;margin-top:28px}#loading p{font-size:13px;margin-top:7px;color:#bdc8b5}.loading-card{width:62px;height:86px;border:3px double #ddba73;border-radius:6px;background:repeating-linear-gradient(45deg,#1e3931,#1e3931 4px,#2c4438 4px,#2c4438 6px);transform:rotate(-8deg);box-shadow:6px 5px #b79c66,10px 9px #0b1915}body.ready #loading{display:none}@keyframes react{40%{transform:translateY(-7px) rotate(-3deg)}80%{transform:translateY(1px) rotate(1deg)}}
@media(min-width:1600px){.seat{width:180px}.seat>img{width:120px;height:135px}.nameplate strong{font-size:13px}}
@media(max-width:700px){.topbar{height:78px;padding:12px 16px;gap:15px}.brand{width:80px}.brand>span{font-size:16px}.brand strong{font-size:33px}.room-title{padding-left:15px}.room-title>span{font-size:9px}.room-title h1{font-size:20px}.top-actions{gap:6px}.small-btn{width:35px;min-width:35px;height:38px;padding:0}.small-btn span{display:none}.table-meta{height:55px;gap:10px;padding:0 12px;justify-content:space-between}.modes button{font-size:10px;padding:7px 8px}.table-meta>span{font-size:10px}.prototype{display:none}#stage{height:calc(100svh - 315px);min-height:400px;max-height:690px}.seat{width:105px}.seat>img{width:61px;height:76px}.nameplate{padding:5px 6px 4px}.nameplate strong{font-size:9px}.nameplate .stack{font-size:11px}.seat-action{font-size:8px;padding:3px 2px;min-height:15px}.quip{width:125px;font-size:10px;padding:8px;top:100%}.welcome{top:65%;min-width:260px}.welcome p{font-size:27px}.welcome small{font-size:10px}.welcome .game-btn{font-size:23px;min-height:54px}.table-hint{display:none}.pot strong{font-size:19px}.pot small{font-size:10px}.pot>span{font-size:10px}.you{bottom:9px}.you>span{font-size:10px}.you strong{font-size:12px}.action-dock{min-height:182px;padding:15px 14px max(20px,env(safe-area-inset-bottom));flex-direction:column;justify-content:center;gap:13px}.turn-copy{text-align:center;max-width:100%}.turn-copy>span{font-size:10px;margin-bottom:4px}.turn-copy>strong{font-size:14px}.bet-actions{width:100%;gap:8px}.bet-actions .game-btn{flex:1;min-width:0;font-size:22px;padding:13px 20px;min-height:54px}.result{min-width:280px;max-width:94%;padding:22px}.result h2{font-size:33px}#raise-panel{left:10px;right:10px;width:auto}dialog{max-width:calc(100% - 30px);padding:25px}.small-btn svg{width:18px;height:18px}}
@media(max-width:370px){.room-title{display:none}.top-actions{margin-left:auto}.seat{width:96px}.nameplate strong{font-size:8px}.bet-actions .game-btn{font-size:19px;padding-inline:15px}}
@media(max-height:550px) and (min-width:701px){.topbar{height:64px;padding-block:8px}.brand{width:75px}.brand strong{font-size:30px}.brand>span{font-size:15px}.table-meta{height:44px}#stage{height:370px;min-height:370px}.seat>img{height:70px;width:65px}.seat{width:135px}.action-dock{min-height:90px}.welcome p{font-size:29px}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

/* Back-room iteration: authored environment, portrait seating and quieter chrome. */
body{background:#101a18}
.topbar{height:80px;background:#0d1b1be8;padding:7px 28px;gap:28px;border-bottom-color:#ae844a66}
.brand{width:126px;transform:none;line-height:0;filter:drop-shadow(0 3px 2px #0008)}
.brand img{width:100%;height:70px;object-fit:contain}
.room-title{padding-left:25px}.room-title h1{font-size:25px}.room-title>span{font-size:10px;letter-spacing:1.3px;text-transform:uppercase}
.table-meta{height:46px;background:#111c1b;gap:20px;border-bottom:1px solid #98804c36}
#stage{height:calc(100svh - 230px);min-height:475px;max-height:1100px;background:linear-gradient(#0a15152b,#0a15152b),url('/poker/holdem/assets/room-v2.webp') center 39%/cover no-repeat}
#stage:after{content:'';position:absolute;inset:0;pointer-events:none;z-index:0;box-shadow:inset 0 0 80px 20px #07110f63}
#stage>canvas{position:relative;z-index:1}
.seat{width:162px;filter:drop-shadow(0 8px 6px #0008)}
.portrait{position:relative;width:112px;height:127px;margin:0 auto -6px;isolation:isolate}
.portrait:before{content:'';position:absolute;inset:25px 4px 0;border-radius:52% 52% 15% 15%;background:radial-gradient(ellipse at 50% 40%,#876537,#342a24 65%);border:2px solid #9d7d4e;box-shadow:inset 0 0 0 3px #2a271e,0 5px 12px #0007;z-index:-1}
.portrait img{height:100%;width:100%;object-fit:contain;object-position:bottom;filter:drop-shadow(0 3px 2px #05070788);transform-origin:50% 100%}
#seat-0 .portrait img{transform:scale(1.12)}
#seat-2 .portrait img{transform:scale(1.16)}
.nameplate{padding:7px 13px 6px;isolation:isolate;background:linear-gradient(135deg,#71512f,#ebd19c 12%,#ac7f40 42%,#e7cc8a 85%,#6a4c2a)}
.nameplate:before{inset:2px;background:linear-gradient(#253c35,#11231e)}
.nameplate strong{font-size:12px;letter-spacing:.1px}.nameplate .stack{font-size:16px;line-height:1.15;font-weight:650}
.seat-action{font-size:10px;padding-top:5px;background:linear-gradient(90deg,transparent,#0a191ac7,transparent);color:#ece0c6}
.seat.active .portrait:before{box-shadow:inset 0 0 0 3px #2a271e,0 0 22px #f3b74799;border-color:#f5cf7f}
.seat.active .nameplate:before{background:linear-gradient(#405547,#1d392b)}
.seat.react .portrait{animation:react .5s ease-out}
.seat.folded{opacity:.55;filter:saturate(.45) drop-shadow(0 8px 6px #0008)}
.quip{z-index:6;font-size:12px;border:1px solid #f7dda0;box-shadow:0 5px 12px #0005;animation:quip-in .2s ease-out}
@keyframes quip-in{from{opacity:0;translate:0 -4px}to{opacity:1;translate:0 0}}
.welcome{top:59%;min-width:320px}.welcome-eyebrow{font-size:10px;letter-spacing:2px;color:#e5d7b6;display:block;margin-bottom:12px}
.welcome p{font-size:49px;line-height:.98;margin-bottom:12px;text-shadow:0 3px 1px #122a25,0 3px 15px #05100a99}
.welcome small{font-size:10px;margin-top:6px;opacity:.8}
.game-btn{border:0;background:transparent url('/poker/holdem/assets/button-navy.webp') center/100% 100% no-repeat;box-shadow:none;border-radius:0;min-width:170px;min-height:64px;padding:16px 33px;font-size:24px;filter:drop-shadow(0 4px 2px #0005)}
.game-btn:before,.game-btn:after{display:none}.game-btn svg{display:none}
.game-btn.primary{background-image:url('/poker/holdem/assets/button-amber.webp');color:#172d26}
.game-btn.secondary{background-image:url('/poker/holdem/assets/button-teal.webp');color:#fff0cd}
.game-btn.quiet{background-image:url('/poker/holdem/assets/button-navy.webp');color:#dacfac;box-shadow:none}
.game-btn:active:not(:disabled){box-shadow:none;transform:translateY(2px)}
.game-btn:hover:not(:disabled){filter:brightness(1.15) drop-shadow(0 5px 4px #0006)}
.welcome .game-btn{width:240px;height:80px;padding-left:39px;font-size:26px}
.pot{z-index:2;background:#0b2825c4;padding:6px 20px;border:1px solid #b59f604a;border-radius:30px;box-shadow:0 4px 10px #03150d44;min-width:125px}
.pot>span{text-transform:uppercase;font-size:9px;letter-spacing:1.5px}.pot strong{font-size:22px;margin-top:0}.pot small{font-size:10px}
.you{z-index:2;bottom:10px;background:#101e1cdb;min-width:220px;border:1px solid #b292554d;border-radius:25px;padding:7px 17px;transition:border-color .2s,box-shadow .2s}
.you strong{font-size:12px}.you>span{font-size:10px}.your-turn .you{border-color:#e3c47b;box-shadow:0 0 14px #dcb05630}.table-hint{z-index:2;color:#e1d6b9;opacity:.65;font-size:10px}
.action-dock{min-height:104px;padding-block:14px;background:linear-gradient(#182720,#0d1c19);border-top:2px solid #997443;box-shadow:0 -3px 0 #18231b,0 -10px 24px #020b0566}
.turn-copy>span{font-size:11px;text-transform:uppercase;letter-spacing:1.5px}.turn-copy>strong{font-size:16px}.bet-actions{gap:10px}.bet-actions .game-btn{min-width:170px}
.result{background:radial-gradient(ellipse at top,#455540,#122a24 75%);border:1px solid #b39457;border-radius:55px 55px 18px 18px;padding:29px 32px 20px;box-shadow:inset 0 0 0 5px #12251c,inset 0 0 0 6px #99804b,0 15px 60px #0009}
.result-crest{display:block;margin:-57px auto 12px;width:60px;height:60px;fill:#e0bd76;stroke:#7a5b2c;stroke-width:2;filter:drop-shadow(0 3px 2px #0007)}
.result h2{font-size:42px}.result[data-outcome=win]{animation:result-in .5s cubic-bezier(.16,1,.3,1)}
@keyframes result-in{from{opacity:0;translate:0 12px;scale:.96}to{opacity:1;translate:0 0;scale:1}}
#loading{background:linear-gradient(#10241de8,#10241dfc),url('/poker/holdem/assets/room-v2.webp') center/cover}
#raise-panel{background:linear-gradient(#294237,#162e26);border:2px solid #ab8c50;box-shadow:0 14px 35px #0009,inset 0 0 0 3px #15271f}
.raise-buttons .game-btn{height:54px;min-width:132px;padding:10px 20px;font-size:18px}
@media(min-width:1600px){.portrait{width:135px;height:150px}.seat{width:180px}.welcome p{font-size:56px}}
@media(max-width:700px){
.topbar{height:68px;padding:5px 13px;gap:12px}.brand{width:94px}.brand img{height:58px}.room-title{padding-left:12px}.room-title h1{font-size:18px}.room-title>span{font-size:8px;letter-spacing:.6px}.small-btn{min-width:32px;width:32px;height:36px;border-radius:6px}
.table-meta{height:44px;gap:8px}.modes button{padding:6px 8px}.prototype{display:none}
#stage{height:calc(100svh - 272px);min-height:400px;max-height:820px;background-position:center 26%}
#stage:after{box-shadow:inset 0 0 35px #03100b50}.seat{width:103px}.portrait{width:69px;height:91px;margin-bottom:-4px}.portrait:before{inset:21px 0 0;border-width:1px}
.nameplate{padding:5px 5px 4px}.nameplate strong{font-size:8.5px}.nameplate .stack{font-size:11px}.seat-action{font-size:8px;min-height:15px}.quip{font-size:10px;width:125px}
.welcome{top:64%;min-width:270px}.welcome p{font-size:36px;margin-bottom:7px}.welcome-eyebrow{font-size:8px;letter-spacing:1.5px;margin-bottom:9px}.welcome .game-btn{width:210px;min-height:70px;height:70px;font-size:24px}.welcome small{font-size:9px;margin-top:3px}
.action-dock{min-height:160px;padding:10px 12px max(15px,env(safe-area-inset-bottom));gap:8px}.turn-copy>span{font-size:9px;letter-spacing:1px}.turn-copy>strong{font-size:13px}.bet-actions{gap:3px}.bet-actions .game-btn{min-width:0;min-height:57px;font-size:19px;padding:14px 20px;background-size:100% 100%}.bet-actions .game-btn.primary{padding-left:24px}
.pot{min-width:108px;padding:5px 13px}.pot strong{font-size:18px}.pot>span{font-size:8px}.pot small{font-size:9px}.you{min-width:185px;bottom:9px;padding:6px 14px}.you strong{font-size:11px}.you>span{font-size:9px}.result{min-width:270px}.result h2{font-size:33px}.result-crest{width:50px;height:50px}
}
@media(max-width:370px){.seat{width:93px}.portrait{height:83px;width:62px}.nameplate strong{font-size:7.8px}.bet-actions .game-btn{font-size:17px;padding-inline:18px}.welcome p{font-size:32px}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

.portrait{animation:breathe 7s ease-in-out infinite;transform-origin:50% 95%}
#seat-0 .portrait{animation-delay:-2s}#seat-2 .portrait{animation-delay:-4s}#seat-3 .portrait{animation-delay:-6s}
.seat.active .portrait{animation:lean-in .5s ease-out both}.seat.folded .portrait{animation:none}
@keyframes breathe{0%,100%{translate:0 0;scale:1 1}50%{translate:0 -1px;scale:1 1.012}}
@keyframes lean-in{0%{rotate:0deg;translate:0 0}50%{rotate:-2deg;translate:0 -4px}100%{rotate:-.5deg;translate:0 -1px}}
.sleeping .portrait{animation-play-state:paused}
@media(prefers-reduced-motion:reduce){.portrait,.seat.active .portrait{animation:none!important}}

.welcome-eyebrow{display:none}.welcome{top:65%}.welcome p{font-size:44px}
@media(max-width:700px){.welcome{top:64%}.welcome p{font-size:36px}}
@media(max-width:370px){.welcome p{font-size:32px}}

@media(max-width:700px){.quip{width:105px}}

@media(max-height:650px) and (min-width:701px){
  .topbar{height:64px;padding-block:4px}.brand{width:105px}.brand img{height:54px}
  .table-meta{height:40px}#stage{height:calc(100svh - 194px);min-height:340px}
  .portrait{width:82px;height:84px}.seat{width:146px}.nameplate strong{font-size:11px}.nameplate .stack{font-size:14px}.seat-action{font-size:9px}
  .welcome p{font-size:34px}.welcome .game-btn{width:210px;height:70px;min-height:70px;font-size:24px}.welcome{top:66%}
  .action-dock{min-height:90px;padding-block:10px}.bet-actions .game-btn{min-height:60px}.you{bottom:6px}
}

@media(max-height:650px) and (min-width:701px){.you{left:20px;bottom:12px;transform:none;min-width:150px}.table-hint{display:none}}

/* Live-table controls retain the approved room and illustrated treatment. */
.topbar{z-index:12}.top-actions{align-items:center}.meta-button,.text-button{border:0;background:transparent;color:var(--gold);padding:8px;min-height:36px;text-decoration:underline;text-underline-offset:3px}.top-actions .workshop-nav{padding:0;margin:0;background:none;border:0;min-height:0;box-shadow:none;position:static;display:block;width:auto}.top-actions .workshop-brand{display:none}.top-actions .workshop-nav-tools{gap:0}.top-actions .workshop-menu>summary{font-family:Bricolage;font-size:12px;min-height:42px;padding:9px 12px;border:1px solid #84734c;border-radius:8px;background:#17282c;color:var(--cream)}.top-actions .workshop-menu-panel{right:0;left:auto;top:calc(100% + 12px);width:min(380px,calc(100vw - 24px));z-index:40}.top-actions .workshop-menu{position:relative}.top-actions .workshop-menu-panel a{font-family:Bricolage}.room-title{min-width:0}.top-actions .workshop-menu>summary svg{display:none}
#notice{position:relative;z-index:11;background:#253e33;border-block:1px solid #b59a61;padding:10px 22px;display:flex;align-items:center;gap:14px;font-size:13px}#notice>span{flex:1}#notice a{font-size:12px}#notice .small-btn{flex-shrink:0}#visual-note{padding:9px 18px;background:#263a2f;font-size:12px}.action-dock{flex-wrap:wrap}.turn-copy{flex:1}.dock-result{position:relative;top:auto;left:auto;transform:none;min-width:0;width:100%;padding:12px 20px;border-radius:10px;display:grid;grid-template-columns:1fr auto;gap:4px 20px;text-align:left;box-shadow:inset 0 0 0 3px #12251c,0 4px 10px #0005}.dock-result .result-crest{display:none}.dock-result h2{font-size:28px;margin:0;grid-column:1}.dock-result p{grid-column:1;margin:0;font-size:12px;max-width:70ch}.dock-result>.game-btn{grid-column:2;grid-row:1/4;align-self:center;min-height:58px}.dock-result a{grid-column:1;font-size:12px;color:#e6cd8f;margin-top:4px}.dock-result>.text-button{grid-column:2;grid-row:4;padding:2px;min-height:26px;font-size:12px}.action-dock:has(.dock-result:not([hidden]))>.turn-copy{display:none}.raise-buttons{flex-wrap:wrap}.raise-buttons>button:not(.game-btn){font-size:12px;flex:1;padding:5px 8px}.raise-buttons .game-btn{flex:2}#raise-panel{max-width:calc(100vw - 20px)}dialog{max-height:calc(100dvh - 32px);overflow:auto;overscroll-behavior:contain}#dialog-actions{display:flex;flex-direction:column;gap:4px}#dialog-body ol{padding-left:22px;font-size:13px;line-height:1.7}#dialog-body{clear:both}.guide-character{height:120px;width:105px;object-fit:contain;float:left;margin:0 14px 12px 0}.help-pager{clear:both;display:flex;justify-content:space-between;align-items:center;gap:10px}.guide-highlight{outline:3px solid #e5c779!important;outline-offset:-3px;box-shadow:0 0 30px #d3ad5a66!important}#about::backdrop{background:#07111488;backdrop-filter:none}#about p{clear:both}.flat-cards{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.flat-table #stage>canvas{display:none}.flat-table #stage{min-height:470px}.flat-table .flat-cards{width:auto;height:auto;clip-path:none;overflow:visible;inset:auto 12px 70px;text-align:center;z-index:3;background:#10271fdd;border-radius:14px;padding:10px}.flat-cards>div{display:flex;align-items:center;justify-content:center;gap:6px;margin:7px 0}.flat-cards strong{font-size:11px;min-width:55px}.flat-card{font:bold 22px Georgia;background:#f8f0d9;border:2px solid #d6bf89;border-radius:6px;color:#1d302f;min-width:42px;padding:11px 4px}.flat-card.red{color:#a6383a}.flat-table #pot{left:50%!important;top:42%!important}.flat-table #seat-0{left:15%;top:47%}.flat-table #seat-1{left:37%;top:31%}.flat-table #seat-2{left:63%;top:31%}.flat-table #seat-3{left:85%;top:47%}.flat-table .welcome{z-index:5}.flat-table .flat-cards:empty{display:none}#load-recovery{margin-top:12px;font-size:13px}#loading .game-btn{margin-top:14px}
@media(max-width:900px){.room-title{padding-left:15px}.topbar{gap:15px;padding-inline:18px}.bet-actions .game-btn{min-width:125px}.turn-copy{max-width:280px}.top-actions .workshop-menu>summary{font-size:11px;padding-inline:8px}}
@media(max-width:700px){.topbar{padding:5px 10px;gap:8px}.brand{width:75px}.brand img{height:54px}.room-title{padding-left:8px}.room-title h1{font-size:16px}.room-title>span{font-size:7px;letter-spacing:0}.top-actions{gap:4px}.top-actions .workshop-menu>summary{font-size:0;width:32px;min-height:36px;padding:7px 4px}.top-actions .workshop-menu>summary:before{content:'Menu';font-size:9px}.top-actions .workshop-menu-panel{position:fixed;right:10px;top:62px;max-height:calc(100dvh - 80px);overflow:auto}.top-actions .workshop-menu-panel a{font-size:14px}.meta-button{font-size:10px;padding:4px}.table-meta{gap:5px;padding-inline:9px}.table-meta>span{font-size:9px}.modes button{font-size:9px;padding-inline:6px}#stage{min-height:400px}.turn-copy{max-width:100%;flex:auto}.bet-actions .game-btn{min-width:0}.dock-result{grid-template-columns:1fr;padding:10px 14px;text-align:center;gap:4px}.dock-result h2{font-size:26px}.dock-result h2,.dock-result p,.dock-result>.game-btn,.dock-result>.text-button,.dock-result a{grid-column:1;grid-row:auto}.dock-result>.game-btn{justify-self:center;min-height:52px;padding-block:10px;font-size:21px}.dock-result>.text-button{justify-self:center}.dock-result p{font-size:11px}.action-dock:has(.dock-result:not([hidden])){padding-block:10px}#notice{flex-wrap:wrap;padding:10px 12px;gap:8px;font-size:12px}#notice>span{flex-basis:100%}#notice .small-btn{height:36px;width:auto;font-size:12px}.raise-buttons .game-btn{min-width:140px}.flat-card{min-width:35px;font-size:19px}.flat-table .portrait{height:75px}.flat-table #stage{min-height:470px}}
@media(max-width:370px){.room-title{display:block}.room-title>span{display:none}.brand{width:66px}.topbar{gap:5px}.small-btn{min-width:29px;width:29px}.top-actions .workshop-menu>summary{width:29px}.modes button{font-size:8px}.table-meta{gap:3px}.room-title h1{font-size:14px}}
@media(max-height:650px) and (min-width:701px){.bet-actions .game-btn{min-width:125px}.turn-copy>strong{font-size:14px}.dock-result{padding:8px 16px}.dock-result h2{font-size:24px}.dock-result>.game-btn{min-height:52px}.action-dock{gap:10px}}

/* Let result and reconnect copy take space without pushing betting controls off screen. */
.top-actions .workshop-nav{height:auto}.top-actions .workshop-menu>summary{min-width:0}
main{height:calc(100svh - 80px);display:flex;flex-direction:column;min-height:0}.table-meta,.action-dock,#notice,#visual-note{flex-shrink:0}#stage{height:auto;flex:1;min-height:300px;max-height:none}
@media(max-width:700px){main{height:calc(100svh - 68px)}#stage{min-height:260px}.top-actions .workshop-menu>summary{min-width:0}}
@media(max-height:650px) and (min-width:701px){main{height:calc(100svh - 64px)}#stage{height:auto;min-height:260px}}

/* Each illustrated skin is a real, bounded layer; labels cannot stretch or replace the artwork. */
.game-btn{background:none!important;overflow:hidden;isolation:isolate;padding:10px 26px;min-height:58px;white-space:nowrap;text-align:center;line-height:1.1;box-shadow:none!important;border-radius:11px;flex-shrink:0}
.game-btn .button-skin{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;transform:scaleY(1.3);z-index:-1;pointer-events:none;user-select:none}
.game-btn .button-label{display:block;position:relative;z-index:1;max-width:100%;white-space:nowrap;line-height:1.15;text-align:center}
.game-btn.primary{color:#14241c;text-shadow:0 1px #ffe2a577}.game-btn.secondary,.game-btn.quiet{color:#fff0ca;text-shadow:0 2px 2px #071713}
.game-btn:disabled{opacity:.66;cursor:default}.game-btn:focus-visible{outline-offset:2px}
.welcome .game-btn{width:258px;min-height:68px;height:68px;padding:10px 24px;font-size:24px}.welcome .game-btn .button-label{padding-left:8px}
.bet-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;flex:0 1 560px;min-width:0}.bet-actions .game-btn{width:100%;min-width:0;min-height:58px;padding:10px 13px;font-size:23px}
#raise-panel{width:410px;max-width:calc(100vw - 20px);max-height:calc(100svh - 150px);overflow:auto;overscroll-behavior:contain;padding:18px 20px;background:radial-gradient(ellipse at top,#365445,#132c24 85%);border:1px solid #ccaa6a;border-radius:16px;box-shadow:0 16px 45px #000a,inset 0 0 0 4px #11271e,inset 0 0 0 5px #6f663c}
.raise-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}#raise-panel .raise-heading label{display:block;font-size:14px;color:#f0dfb6;font-weight:650}.raise-heading .small-btn{width:44px;min-width:44px;height:44px;font-size:26px;border-color:#7a7954;background:#11271f}
.wager-total{display:flex;align-items:baseline;gap:11px;margin-top:-5px}#raise-value{font-family:Workshop;font-size:48px;line-height:1.1;color:#ffe0a0;font-variant-numeric:tabular-nums}.wager-total>span{font-size:11px;color:#d5d7bc}#raise-impact{font-size:12px;line-height:1.5;color:#e0dcc6;margin-top:8px}
#raise-size{appearance:none;-webkit-appearance:none;width:100%;min-height:44px;height:44px;margin:10px 0 0;background:transparent;cursor:pointer;--wager-progress:0%}#raise-size::-webkit-slider-runnable-track{height:7px;border-radius:6px;border:1px solid #817b4d;background:linear-gradient(to right,#e3be77 0 var(--wager-progress),#0b211c var(--wager-progress) 100%);box-shadow:inset 0 1px 2px #0008}#raise-size::-webkit-slider-thumb{-webkit-appearance:none;width:28px;height:28px;margin-top:-11px;border:3px solid #e6c381;border-radius:50%;background:radial-gradient(circle at 35% 25%,#ffebba,#c79140);box-shadow:0 2px 4px #0008,inset 0 0 0 3px #715531}#raise-size::-moz-range-track{height:7px;border:1px solid #817b4d;border-radius:6px;background:#0b211c}#raise-size::-moz-range-progress{height:7px;background:#e3be77}#raise-size::-moz-range-thumb{width:24px;height:24px;border:3px solid #e6c381;border-radius:50%;background:#cfa14e;box-shadow:0 2px 4px #0008}
.raise-limits{display:flex;justify-content:space-between;gap:12px;font-size:11px;color:#c9d0b4;margin-bottom:12px}.raise-presets{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.raise-presets .game-btn{min-width:0;width:100%;min-height:57px;padding:7px 8px;font-family:Bricolage;font-size:11px}.raise-presets .button-label{display:flex;flex-direction:column;gap:3px}.raise-presets .button-label strong{font-size:16px;color:#fff2cf;font-weight:750}.raise-presets .game-btn[aria-pressed=true]{outline:2px solid #ffe3a2;outline-offset:-3px;filter:brightness(1.15)}#confirm-raise{display:flex;width:100%;min-width:0;min-height:62px;margin-top:12px;font-size:24px;padding-inline:28px}
@media(max-width:900px) and (min-width:701px){.bet-actions{flex-basis:450px;gap:7px}.bet-actions .game-btn{font-size:21px;padding-inline:10px}}
@media(max-width:700px){.bet-actions{width:100%;flex:none;gap:6px}.bet-actions .game-btn{min-height:53px;padding:8px 7px;font-size:clamp(14px,4.1vw,18px)}.welcome .game-btn{width:238px;min-height:64px;height:64px;font-size:22px;padding:8px 24px}.welcome .game-btn .button-label{padding-left:6px}.action-dock{padding-inline:10px;gap:8px}#raise-panel{left:10px;right:10px;bottom:calc(100% + 8px);width:auto;max-height:calc(100svh - 190px);padding:14px 16px}.wager-total{gap:9px}#raise-value{font-size:42px}.wager-total>span{font-size:10px}#raise-impact{font-size:11px}.raise-presets{gap:5px}.raise-presets .game-btn{min-height:55px;padding:7px 5px;font-size:10px}.raise-presets .button-label strong{font-size:14px}#confirm-raise{font-size:22px;min-height:58px}.dock-result>.game-btn{min-width:190px;min-height:56px;padding-inline:24px;font-size:21px}.game-btn .button-skin{transform:scaleY(1.3)}.raise-heading .small-btn{height:44px;width:44px}}
@media(max-width:370px){.welcome .game-btn{width:226px;font-size:21px}.raise-presets .game-btn{font-size:10px}.wager-total>span{max-width:88px;line-height:1.4}.bet-actions .game-btn{font-size:14px}.dock-result h2{font-size:24px}}

/* Keep the complete illustrated silhouettes; quick choices use engraved chip tokens. */
.game-btn .button-skin{object-fit:contain;transform:none}.game-btn .button-label{max-width:80%;margin-inline:auto}.welcome .game-btn{width:258px;height:86px;min-height:86px;padding:8px 15px}.welcome .game-btn .button-label{padding-left:5px}
.raise-presets{gap:12px;margin-top:6px}.wager-token{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;min-width:0;min-height:88px;padding:4px;border:0;background:none;color:#f6e6c3;border-radius:12px}.preset-name{font-size:12px}.preset-value{display:grid;place-items:center;width:64px;height:64px;border:5px solid transparent;border-radius:50%;background:linear-gradient(#214b3d,#102c25) padding-box,repeating-conic-gradient(#e4cd94 0deg 10deg,#477565 10deg 45deg) border-box;box-shadow:inset 0 0 0 1px #e2cc95,inset 0 0 0 5px #14382c,0 3px 5px #0005;font-size:18px;font-weight:750;font-variant-numeric:tabular-nums;color:#fff0c5}.wager-token[data-bet=pot] .preset-value{background:linear-gradient(#356460,#193f3e) padding-box,repeating-conic-gradient(#f0ddaf 0deg 10deg,#538583 10deg 45deg) border-box}.wager-token[aria-pressed=true] .preset-value{box-shadow:inset 0 0 0 1px #ffe8aa,inset 0 0 0 5px #244336,0 0 0 2px #e2bc73,0 0 18px #d4b27655;color:#fff8df}.wager-token:hover:not(:disabled) .preset-value{filter:brightness(1.16)}
#confirm-raise{width:min(100%,300px);height:100px;min-height:100px;justify-content:center;margin:4px auto -3px;padding:9px 15px;font-size:24px}#confirm-raise .button-label{max-width:76%;padding-left:7px}
@media(max-width:700px){.welcome .game-btn{width:238px;height:80px;min-height:80px;font-size:22px}.bet-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 8px}.bet-actions #call{grid-column:1;grid-row:1}.bet-actions #raise{grid-column:2;grid-row:1}.bet-actions #fold{grid-column:1/3;grid-row:2;width:160px;justify-self:center;min-height:52px;height:54px;font-size:17px}.bet-actions .game-btn{min-height:52px;aspect-ratio:3/1;padding:5px 7px;font-size:clamp(15px,4.5vw,18px)}.bet-actions .button-label{max-width:80%}.action-dock{min-height:195px;gap:6px;padding-top:10px;padding-bottom:max(12px,env(safe-area-inset-bottom))}.preset-value{width:60px;height:60px;font-size:17px}.preset-name{font-size:11px}.wager-token{min-height:82px;gap:5px}.raise-presets{gap:7px}#confirm-raise{height:auto;min-height:0;aspect-ratio:3/1;font-size:22px;margin:5px auto 0}.dock-result>.game-btn{width:210px;height:70px;min-height:70px;padding:5px 10px}.top-actions .small-btn,.top-actions .workshop-menu>summary{width:44px;min-width:44px;height:44px;min-height:44px}.topbar{gap:7px}.brand{width:64px}.room-title{padding-left:7px}.room-title h1{font-size:15px}.room-title>span{font-size:6px}}
@media(max-width:370px){.room-title{display:none}.brand{width:78px}.topbar{padding-inline:10px}.top-actions{gap:4px}.welcome .game-btn{width:226px;height:76px;min-height:76px;font-size:21px}.bet-actions .game-btn{font-size:15px}.bet-actions #fold{width:150px;height:50px;min-height:50px}.action-dock{min-height:185px}.wager-total>span{max-width:none}.preset-value{width:57px;height:57px;font-size:16px}#confirm-raise{font-size:21px}}

/* WebGL fallback has its own anchors; stale projected coordinates cannot clip portraits. */
.flat-table #table-hint{display:none}.flat-table .seat{transform:translate(-50%,0)}.flat-table #seat-0{left:15%!important;top:25%!important}.flat-table #seat-1{left:37%!important;top:2%!important}.flat-table #seat-2{left:63%!important;top:2%!important}.flat-table #seat-3{left:85%!important;top:25%!important}
@media(max-width:700px){.flat-table #seat-0{left:14%!important;top:24%!important}.flat-table #seat-1{left:37%!important;top:2%!important}.flat-table #seat-2{left:63%!important;top:2%!important}.flat-table #seat-3{left:86%!important;top:24%!important}}
