@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,500;0,600;0,700;1,500;1,600&display=swap');
:root{color-scheme:dark;--ink:#071b18;--deep:#05100f;--green:#135c49;--gold:#d8b66a;--ivory:#fff8ea;--muted:#a3b9ae;--line:#c8ab6330}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 30% 0,#12352b 0,transparent 55%),#061512;color:var(--ivory);font:15px 'DM Sans',system-ui,sans-serif}button,input,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #e7c47e;outline-offset:4px}button:disabled{opacity:.35;cursor:not-allowed}[hidden]{display:none!important}.topbar{height:96px;max-width:1440px;margin:auto;padding:0 5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:14px}.brand{display:flex;gap:12px;align-items:center;font:22px 'Playfair Display',Georgia,serif;letter-spacing:2px}.brand b{font-weight:500}.brand small{display:block;font:8px 'DM Sans',sans-serif;letter-spacing:4px;color:var(--gold);margin-top:6px}.brand-mark{font-size:36px;color:var(--gold)}.top-actions{display:flex;align-items:center;gap:22px}.preview-badge{font-size:9px;letter-spacing:2px;color:var(--muted);border:1px solid var(--line);border-radius:4px;padding:8px 10px}.wallet{display:flex;align-items:center;gap:12px;background:#ffffff06;color:var(--ivory);padding:10px 12px;border:1px solid var(--line);border-radius:12px;text-align:left}.wallet small{display:block;font-size:8px;letter-spacing:1.5px;color:var(--muted)}.wallet b{font-size:21px;font-weight:600;letter-spacing:1px}.chip-icon{display:grid;place-items:center;width:34px;height:34px;border:3px dashed #efd28e;border-radius:50%;box-shadow:inset 0 0 0 2px #96773e;background:#c29b54;color:#13231d;font:bold 16px Georgia}.plus{font-size:23px;color:var(--gold);margin-left:12px}.icon-button{border:0;background:transparent;color:var(--gold);font-size:24px;display:flex;align-items:center;gap:6px;min-height:48px}.icon-button span{font-size:9px;color:var(--muted)}main{max-width:1280px;margin:auto;padding:0 36px}.welcome{display:grid;grid-template-columns:1.2fr 1fr;gap:65px;align-items:center;padding:50px 0 55px;min-height:680px}.eyebrow{font-size:10px;letter-spacing:3px;font-weight:600;color:var(--gold)}h1,h2,p{margin:0}.welcome h1{font:500 clamp(40px,4.5vw,65px)/1.15 'Playfair Display',Georgia,serif;margin:24px 0}.welcome h1 em{color:var(--gold)}.welcome-copy>p{max-width:440px;color:var(--muted);line-height:1.8}.welcome-tags{display:flex;gap:18px;font-size:11px;color:#c5d1c7;margin:26px 0}.setup{display:flex;gap:16px;margin:30px 0 20px}.setup label{display:flex;flex-direction:column;gap:9px;font-size:11px;letter-spacing:.5px;flex:1;min-width:0;color:#b4c5bb}input,select{min-height:48px;background:#112720;color:var(--ivory);border:1px solid #52654c;border-radius:7px;padding:12px;width:100%}.gold{border:1px solid #e3c786;background:linear-gradient(110deg,#e8cf95,#c09b53);color:#15251c;border-radius:8px;font-weight:700;min-height:48px;padding:13px 24px;box-shadow:0 5px 24px #c7a36513}.gold:hover{filter:brightness(1.08)}.primary{width:100%;display:flex;justify-content:space-between;align-items:center;letter-spacing:.3px;font-size:16px}.primary span{font-size:23px}.fineprint{font-size:11px!important;line-height:1.7!important;color:#9eb2a5!important;margin-top:17px!important}.dealer-hero{height:580px;position:relative;border-radius:180px 180px 16px 16px;overflow:hidden;border:1px solid #d9b36960;box-shadow:0 20px 65px #0006}.dealer-hero img{width:100%;height:100%;object-fit:cover;object-position:50% 28%}.dealer-hero:after{content:'';position:absolute;inset:45% 0 0;background:linear-gradient(transparent,#061512)}.dealer-caption{position:absolute;bottom:32px;left:0;right:0;text-align:center;z-index:1}.dealer-caption strong{display:block;font:48px 'Playfair Display',Georgia,serif;margin:10px 0}.dealer-caption p{font:italic 17px Georgia;color:#dbe6d9}.room-heading{display:flex;align-items:center;justify-content:space-between;padding:25px 0 18px}.room-heading h1{font:27px 'Playfair Display',Georgia;margin-top:7px}.room-heading h1 span{font:10px 'DM Sans',sans-serif;border:1px solid #7d946c;padding:4px 8px;border-radius:4px;margin-left:10px;vertical-align:middle;color:#b7d6b2}.quiet{border:1px solid #71836c55;background:#142b23;color:#c9d8cc;border-radius:8px;min-height:48px;padding:10px 16px}.game-layout{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:24px}.game-main{min-width:0}.dealer-strip{display:flex;align-items:center;gap:13px;border:1px solid var(--line);border-radius:12px 12px 0 0;background:#10271f;padding:12px 18px}.dealer-strip img{height:60px;width:60px;border-radius:50%;object-fit:cover;object-position:50% 18%;border:1px solid var(--gold)}.dealer-strip strong{font:22px 'Playfair Display',Georgia}.dealer-strip strong span{font:8px 'DM Sans',sans-serif;letter-spacing:1.5px;color:var(--gold);margin-left:8px}.dealer-strip p{font-size:11px;color:#b5cbbd;margin-top:5px}.table-spec{margin-left:auto;text-align:right;white-space:nowrap}.table-spec span{font-size:8px;color:#9fbba8;display:block;letter-spacing:2px}.table-spec b{font-size:15px;font-weight:500;display:block;margin-top:4px}.table-room{height:530px;position:relative;background:radial-gradient(ellipse at 50% 45%,#204538,#081d18 70%);border:1px solid var(--line);border-top:0;border-radius:0 0 16px 16px;overflow:hidden}.table-surface{position:absolute;inset:56px 34px 55px;border-radius:45% / 48%;background:radial-gradient(ellipse at 45% 30%,#20795d,#0a4736 70%);border:12px solid #3c2c20;outline:2px solid #bba16b;box-shadow:inset 0 0 0 2px #b99e64,inset 0 0 50px #001d18,0 20px 30px #0008}.felt-line{position:absolute;inset:17px;border:1px solid #bad08732;border-radius:45% / 48%;background-image:radial-gradient(#fff1 .5px,transparent .5px);background-size:4px 4px}.felt-brand{position:absolute;top:64%;left:50%;transform:translateX(-50%);color:#dfe1b435;font:23px 'Playfair Display',Georgia;letter-spacing:5px;white-space:nowrap;text-align:center}.felt-brand span{display:block;font:7px 'DM Sans',sans-serif;letter-spacing:3px;margin-top:5px}.round-tag{position:absolute;top:12px;left:50%;transform:translateX(-50%);font-size:8px;letter-spacing:2px;color:#a3bcaa;white-space:nowrap}.pot{position:absolute;top:35%;left:50%;transform:translateX(-50%);text-align:center}.pot span{font-size:8px;letter-spacing:2px;color:#c9d9bc;display:block}.pot strong{font-size:25px;font-weight:600;color:#ffdfa1;display:block;margin-top:4px;text-shadow:0 2px 10px #0008}.community{position:absolute;top:46%;left:50%;transform:translateX(-50%);display:flex;gap:7px}.card{width:41px;height:59px;background:linear-gradient(120deg,#fffdf5,#e9e2ce);color:#152323;border:1px solid #eee3c6;border-radius:5px;box-shadow:0 3px 6px #0005;position:relative;font:bold 18px Georgia;display:flex;flex-direction:column;justify-content:space-between;padding:4px;flex-shrink:0}.card.red{color:#b32e47}.card .suit{font-size:21px;align-self:flex-end;line-height:1}.card.back{background:repeating-linear-gradient(45deg,#163b36 0 3px,#285448 3px 4px);border:3px solid #d0bd8c;display:grid;place-items:center;color:#dec087;font-size:19px}.card.ghost{background:#001e1940;border:1px dashed #b4c89538;box-shadow:none}.card.winning{box-shadow:0 0 0 2px #e6c070,0 0 20px #e5c47b55}.seat{position:absolute;transform:translate(-50%,-50%);text-align:center;width:118px;transition:opacity .25s}.seat.folded{opacity:.42}.avatar{height:41px;width:41px;border-radius:50%;margin:0 auto 4px;display:grid;place-items:center;font:21px 'Playfair Display',Georgia;background:linear-gradient(135deg,#536654,#1c332d);border:2px solid #8da383;color:#f8e5b5;position:relative}.seat.hero .avatar{background:linear-gradient(135deg,#e9cf91,#8f753d);color:#182d20}.seat.active .avatar{border-color:#f6d17c;box-shadow:0 0 0 4px #e6be5425,0 0 22px #e4c17e45}.seat.active .nameplate{border-color:#d8b66a}.nameplate{border:1px solid #8597745c;background:linear-gradient(#1a332b,#10251e);border-radius:8px;padding:5px 8px;box-shadow:0 4px 12px #0005}.seat-name{font-size:11px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bot-label{font-size:7px;letter-spacing:1.4px;color:#b1c8b5;margin-top:2px}.stack{font-size:12px;color:#ead28c;font-weight:600;margin-top:3px}.hole-cards{display:flex;justify-content:center;gap:4px;margin-top:5px}.hole-cards .card{width:28px;height:39px;font-size:13px;padding:3px}.hole-cards .card .suit{font-size:15px}.hero .hole-cards .card{width:39px;height:53px;font-size:18px}.hero .hole-cards .card .suit{font-size:20px}.seat-action{font-size:9px;color:#ebd394;min-height:12px;margin-top:4px;white-space:nowrap}.markers{position:absolute;right:12px;top:12px;display:flex;gap:3px}.marker{height:18px;min-width:18px;border-radius:50%;background:#e9e1c5;color:#172720;font-size:8px;font-weight:700;display:grid;place-items:center;padding:2px;box-shadow:0 2px 5px #0006}.marker.blind{background:#b79962}.waiting{position:absolute;inset:0;z-index:5;background:#061913ed;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;gap:16px;padding:25px}.waiting strong{font:25px 'Playfair Display',Georgia}.waiting>span:not(.spinner){color:var(--gold);font-size:13px}.waiting small{font-size:11px;color:var(--muted)}.spinner{width:38px;height:38px;border:2px solid #b69a4840;border-top-color:var(--gold);border-radius:50%;animation:spin 1.4s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.status{padding:17px 10px;text-align:center;color:#d8e8d8;font-size:13px;min-height:51px}.controls{background:#10251ff5;border:1px solid var(--line);padding:14px;border-radius:12px;margin-bottom:10px}.bet-tools{display:grid;grid-template-columns:110px 1fr;align-items:center;gap:12px}.bet-tools label{font-size:8px;letter-spacing:1.5px;color:var(--muted)}.bet-tools output{display:block;color:var(--gold);font-size:20px;font-weight:700;letter-spacing:0;margin-top:3px}.bet-tools input{accent-color:#d8b66a;border:0;padding:0;min-height:32px}.presets{grid-column:1/-1;display:flex;gap:6px;margin:0 0 12px}.presets button{flex:1;min-height:40px;background:#193c30;border:1px solid #8093694d;border-radius:5px;color:#d8e0ce;font-size:12px}.presets .allin{color:#e6c281}.action-buttons{display:grid;grid-template-columns:1fr 1.4fr 1.4fr;gap:8px}.action-buttons button{font-size:14px;min-height:50px;font-weight:700;border-radius:8px}.fold{background:#352a2a;border:1px solid #926b6960;color:#ebc6c3}.check{background:#22553e;border:1px solid #83ae784d;color:#e5f0db}.next-controls{display:flex;justify-content:center;gap:10px;padding:8px}.table-footer{display:flex;align-items:center;justify-content:space-between;font-size:8px;letter-spacing:1px;color:#8aa394;gap:8px;padding:10px 0}.table-footer button{border:0;background:none;color:#cdb580;font-size:10px;min-height:44px}.result{padding:15px 20px;border:1px solid #b39b5b70;background:linear-gradient(120deg,#2a3926,#152b21);border-radius:10px;margin-bottom:10px;font-size:12px;line-height:1.8;text-align:center}.result b{color:#f0d38d}.panel{border:1px solid var(--line);border-radius:12px;padding:22px;margin-bottom:18px;background:#0d251e}.panel .eyebrow{font-size:8px;letter-spacing:1.5px}.panel h2{font:23px 'Playfair Display',Georgia;margin:12px 0 16px}.panel p{color:#a9c0af;font-size:12px;line-height:1.8}.rule-chips{display:flex;flex-wrap:wrap;gap:12px;margin-top:20px;color:#bacfba;font-size:10px}.rule-chips b{color:var(--gold);margin-right:4px}.history-panel{max-height:365px;overflow:auto}#history{list-style:none;margin:0;padding:0}#history li{font-size:11px;color:#aec1af;padding:9px 0;border-bottom:1px solid #adc79712;line-height:1.5}#history li:first-child{color:#e8d6a6}.practice-note{display:flex;gap:12px;font-size:12px;color:#c9d6c7;line-height:1.7;padding:10px}.practice-note>span{font-size:30px;color:var(--gold)}.practice-note small{font-size:10px;color:#8fa596}.page-footer{display:flex;justify-content:space-between;gap:15px;padding:35px 0 25px;border-top:1px solid var(--line);margin-top:35px;font-size:9px;color:#83998b;letter-spacing:1.3px}.page-footer nav{display:flex;gap:20px;letter-spacing:0}dialog{width:min(720px,92vw);max-height:88dvh;overflow:auto;border:1px solid #bba36780;border-radius:20px;padding:32px;background:linear-gradient(130deg,#153b2f,#091d17);color:var(--ivory);box-shadow:0 30px 100px #0009}dialog::backdrop{background:#020d0ad9;backdrop-filter:blur(8px)}dialog h2{font:32px 'Playfair Display',Georgia;margin:16px 0}dialog p{font-size:13px;line-height:1.8;color:#b4cbb9}.dialog-close{position:absolute;right:12px;top:10px;border:0;background:none;color:#e4dbbe;font-size:30px;width:44px;height:44px}.pack-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:25px 0}.pack-grid article{text-align:center;border:1px solid var(--line);border-radius:10px;padding:20px 8px;background:#f4d89606;display:flex;flex-direction:column;align-items:center}.pack-grid article>span{font-size:8px;letter-spacing:1.5px;color:#d2bd85}.coins{font-size:25px;color:var(--gold);height:55px;display:grid;place-items:center;white-space:nowrap}.pack-grid strong{font-size:22px}.pack-grid small{font-size:8px;letter-spacing:2px;margin:6px 0 18px;color:#8eab97}.pack-grid b{color:#dec68b;font-size:18px}dialog>.gold{width:100%;margin-top:20px}.rankings{padding-left:23px;line-height:1.8}.rankings li{padding:6px 0;color:#e0c182;font-size:14px}.rankings span{display:block;font-size:12px;color:#b8cdbb}.confirm-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:24px}.toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);z-index:20;max-width:90vw;border:1px solid var(--gold);padding:14px 22px;border-radius:10px;background:#173e2f;box-shadow:0 4px 30px #0009;font-size:13px}.card{animation:appear .25s ease-out}@keyframes appear{from{opacity:.2;transform:translateY(-7px)}to{opacity:1;transform:none}}
@media(max-width:1000px){.game-layout{grid-template-columns:1fr}.sidebar{display:grid;grid-template-columns:1fr 1fr;gap:16px}.practice-note{display:none}.panel{margin-bottom:0}.history-panel{max-height:240px}.welcome{gap:30px}.welcome-tags{gap:10px;font-size:10px}.topbar{padding:0 24px}.preview-badge{display:none}}
@media(max-width:640px){main{padding:0 12px}.topbar{height:78px;padding:0 14px}.brand{font-size:15px;letter-spacing:1px;gap:7px}.brand-mark{font-size:27px}.brand small{font-size:6px;letter-spacing:2px}.wallet{gap:7px;padding:8px}.wallet small{font-size:6px;letter-spacing:.5px}.wallet b{font-size:17px}.chip-icon{width:27px;height:27px;font-size:12px}.plus{margin-left:0;font-size:20px}.top-actions{gap:8px}.icon-button{font-size:18px;gap:3px}.icon-button span{font-size:7px}.welcome{display:flex;flex-direction:column-reverse;padding:22px 8px 30px;gap:25px;min-height:0}.dealer-hero{height:300px;width:100%;border-radius:130px 130px 12px 12px;max-width:360px}.dealer-hero img{object-position:50% 29%}.dealer-hero:after{inset:35% 0 0}.dealer-caption{bottom:15px}.dealer-caption strong{font-size:34px;margin:5px 0}.dealer-caption .eyebrow{font-size:7px}.dealer-caption p{font-size:13px}.welcome h1{font-size:38px;margin:14px 0}.welcome-copy>p{font-size:13px;line-height:1.7}.welcome-tags{font-size:9px;gap:12px;flex-wrap:wrap;margin:20px 0}.setup{gap:10px;margin:20px 0}.setup label{font-size:10px}input,select{font-size:12px;padding:10px}.eyebrow{font-size:8px;letter-spacing:2px}.room-heading{padding:20px 3px 15px}.room-heading h1{font-size:21px}.room-heading h1 span{font-size:8px;margin-left:4px}.room-heading .quiet{font-size:11px;padding:8px 12px}.dealer-strip{padding:10px;gap:9px}.dealer-strip img{height:48px;width:48px}.dealer-strip strong{font-size:19px}.dealer-strip strong span{font-size:6px;letter-spacing:1px;margin-left:4px}.dealer-strip p{font-size:9px;line-height:1.5;max-width:220px}.table-spec{display:none}.table-room{height:530px}.table-surface{inset:54px 13px 65px;border-width:9px;border-radius:46% / 27%}.felt-line{inset:11px;border-radius:46% / 27%}.seat{width:89px}.avatar{width:34px;height:34px;font-size:18px}.nameplate{padding:4px}.seat-name{font-size:10px}.bot-label{font-size:6px;letter-spacing:.8px}.stack{font-size:11px}.markers{right:3px;top:8px}.marker{height:16px;min-width:16px;font-size:7px}.hole-cards .card{width:24px;height:34px;font-size:12px;padding:2px}.hero .hole-cards .card{width:36px;height:49px;font-size:17px}.community{gap:4px;top:46%}.community .card{width:33px;height:48px;font-size:16px}.community .card .suit{font-size:18px}.pot{top:35%}.pot strong{font-size:22px}.felt-brand{font-size:16px;letter-spacing:3px;top:63%}.felt-brand span{font-size:5px;letter-spacing:2px}.controls{padding:12px;position:sticky;bottom:8px;z-index:6;box-shadow:0 6px 30px #0007}.action-buttons{gap:6px}.action-buttons button{font-size:13px;padding:10px 6px}.presets button{min-height:44px}.status{font-size:11px;padding:14px 5px}.table-footer{font-size:6px;letter-spacing:.6px}.table-footer button{font-size:9px}.sidebar{grid-template-columns:1fr}.panel:first-child{display:none}.history-panel{max-height:210px}.page-footer{font-size:7px;letter-spacing:.7px;flex-direction:column;align-items:center;line-height:1.5;padding:20px 0}.pack-grid{grid-template-columns:1fr 1fr}.pack-grid article{padding:14px 8px}dialog{padding:26px 20px}dialog h2{font-size:27px}.next-controls .quiet{font-size:11px}.next-controls .gold{font-size:13px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

.nameplate{display:flex;flex-direction:column;align-items:center;gap:2px}.seat-name{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis}.stack{display:block}.bot-label{display:block}
/* Stable layout while dealing and while the turn changes. */
#play-area{overflow-anchor:none}.action-zone{display:grid;grid-template-areas:'actions';height:242px;align-items:start}.action-zone>.controls,.action-zone>.hand-summary{grid-area:actions;width:100%;min-width:0}.hand-summary{max-height:242px;overflow:auto}.controls{position:static;bottom:auto}.status{height:54px;min-height:54px;display:grid;place-items:center;overflow:hidden;padding:8px}.dealer-strip{height:86px}.dealer-strip>div:not(.table-spec){min-width:0}.dealer-strip p{height:30px;overflow:hidden}.dealer-strip img{flex-shrink:0}.history-panel{height:365px}.card{animation:none}.hole-cards{height:39px}.hero .hole-cards{height:53px}.wallet b,.stack,.pot strong{font-variant-numeric:tabular-nums}.wallet b{display:block;min-width:6ch}.seat-action{height:12px;overflow:hidden}
@media(max-width:1000px){.history-panel{height:240px}}
@media(max-width:640px){.controls{position:static;bottom:auto}.dealer-strip{height:80px}.history-panel{height:210px}.hole-cards{height:34px}.hero .hole-cards{height:49px}}
