:root{color-scheme:dark;font-family:system-ui,sans-serif;--gold:#f7df9d;--muted:#b6c7bc;--solo-panel:#183d32;--solo-border:#678774;--solo-muted:#b6c7bc;--solo-seat:#24584c;--solo-active:#f7df9d;--solo-active-fg:#132824;--session-background:#102b25;--session-border:#678774;--session-chip:#20483d;--session-accent:#f7df9d;--session-text:#fff8e9;--session-muted:#b6c7bc;--session-control-bg:#234439;--session-control-border:#678774;background:#091c1b;color:#fff8e9}
*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(ellipse at 50% 16%,#245347,#112923 48%,#071310)}button,input,select{font:inherit}button{cursor:pointer}button:disabled{opacity:.55;cursor:default}img{display:block;max-width:100%}#shell{max-width:1280px;padding:clamp(10px,2vw,24px);margin:auto}[hidden]{display:none!important}
.notice{position:sticky;top:6px;z-index:50;padding:12px 16px;border:1px solid #e5b8aa;background:#572e30;color:#fff7ef}
.poker-table{display:grid;gap:12px}.table-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px;padding:12px 2px;border-bottom:1px solid #c5a25c80}.table-eyebrow{font-size:11px;letter-spacing:.15em;color:var(--gold);font-weight:700}.table-heading{font:500 clamp(26px,3vw,38px) Georgia,serif;margin:4px 0}.score-track{display:flex;gap:8px}.score-badge{display:flex;gap:6px;align-items:center;background:#19382f;border:1px solid #8c7850;border-radius:4px;padding:7px 10px;font-size:13px;font-weight:700}.badge-icon{width:21px;height:21px}
.stage-progress{display:flex;gap:4px}.progress-step{display:flex;flex:1;min-width:0;justify-content:center;align-items:center;gap:7px;padding:9px 2px;border-bottom:4px solid #60786b;background:#183b327d;opacity:.55}.progress-step.current{opacity:1;background:#305046}.progress-step.done{opacity:.8}.progress-step.current,.progress-step.done{border-color:var(--stage-color)}.progress-mark{display:grid;place-items:center;width:23px;height:23px;flex:none;border:1px solid var(--stage-color);border-radius:50%;font-size:11px;font-weight:800}.progress-label{font-size:12px}
.table-panel{background:#102820eb;border:1px solid #607c65;border-radius:6px;padding:clamp(10px,1.5vw,18px)}.panel-title{font-size:12px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--gold);margin:0 0 12px}.cards-row{display:flex;justify-content:center;align-items:flex-start;gap:clamp(4px,1vw,14px)}.card-shell{display:flex;flex-direction:column;align-items:center;gap:3px;min-width:0}.playing-card{width:clamp(58px,8.8vw,112px);aspect-ratio:18/25;border-radius:6px;box-shadow:0 3px 9px #0008}.card-caption{font-size:10px;color:var(--muted);text-align:center}.community-cards .card-shell{flex:0 1 112px}
.seat-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.seat-tile{padding:9px;min-width:0;background:#15342d;border:1px solid #557366;border-radius:5px}.seat-tile.own{border-color:var(--gold);background:#284338}.seat-header{display:flex;gap:9px;align-items:center;min-width:0}.player-avatar{width:40px;height:40px;flex:none}.name-stack{display:grid;gap:3px;min-width:0}.seat-name{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.seat-detail{font-size:10px;color:var(--muted)}.seat-chip-history{display:flex;gap:7px;margin-top:8px}.seat-chip-slot{width:35px;height:35px;display:grid;place-items:center;border:1px dashed #78927d;border-radius:50%;background:#0d231e;opacity:.8}.seat-chip-slot.is-current{border:1px solid var(--gold);opacity:1}.chip-placeholder{color:#a0af9f}.chip-art.small-chip{width:32px;height:32px}
.rule-help{font-size:12px;color:#c9d9cc;line-height:1.5;margin:0 0 10px}.chip-bar{display:flex;gap:10px;flex-wrap:wrap;justify-content:center}.chip-button{display:flex;flex-direction:column;align-items:center;gap:3px;padding:7px;min-width:88px;border:1px solid #6b8b77;border-radius:5px;background:#1d3e34;color:#fff8e9}.chip-button:hover:not(:disabled),.chip-button:focus-visible{border-color:var(--gold)}.chip-button.held{border:2px solid var(--gold);background:#4d4632}.chip-button.taken:not(.held){background:#28372f}.chip-button .chip-art{width:61px;height:61px}.chip-owner{font-size:11px;max-width:80px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.pocket-cards .playing-card{width:clamp(88px,12vw,145px)}
.showdown-list{display:grid;gap:8px}.showdown-entry{display:flex;align-items:center;flex-wrap:wrap;gap:10px;background:#1b3c32;border:1px solid #658471;border-radius:5px;padding:10px}.showdown-label{display:flex;align-items:center;gap:8px;min-width:180px;flex:1}.hand-name{font-size:12px;color:var(--gold)}.best-five{gap:4px;justify-content:flex-start}.best-five .playing-card{width:clamp(48px,6vw,72px)}.result-note{font-size:13px;line-height:1.5;color:var(--muted)}.final-outcome{font:26px Georgia,serif;color:var(--gold);margin-top:12px}
.table-button{border:1px solid var(--gold);border-radius:4px;background:#365447;color:#fff8e9;min-height:40px;padding:9px 14px;font-weight:700}.next-heist{margin-top:12px;background:#e4c27c;color:#182c23}
.lobby-panel{max-width:560px;margin:6vh auto;padding:34px;background:#112d25;border:1px solid #8d855e;border-radius:10px;box-shadow:0 20px 60px #0008}.lobby-panel h1{font:500 46px Georgia,serif;color:var(--gold);margin:12px 0}.lobby-lede{color:var(--muted);line-height:1.55}.lobby-form{display:grid;gap:15px}.lobby-form label{display:grid;gap:6px;font-size:12px}.lobby-form input,.lobby-form select{padding:11px;background:#081c18;color:#fff8e9;border:1px solid #708a75;border-radius:5px}.games-lobby button,.lobby-panel button{min-height:40px}:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
@media(max-width:700px){.seat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.chip-button{min-width:75px;padding:5px}.chip-button .chip-art{width:52px;height:52px}.chip-bar{gap:7px}.lobby-panel{padding:22px;margin:3vh auto}}
@media(max-width:420px){#shell{padding:9px}.seat-grid{gap:5px}.seat-tile{padding:6px}.player-avatar{width:30px;height:30px}.seat-chip-history{gap:3px}.seat-chip-slot{width:29px;height:29px}.chip-art.small-chip{width:26px;height:26px}.progress-step{gap:4px}.progress-label{font-size:10px}.playing-card{width:clamp(50px,16vw,68px)}.pocket-cards .playing-card{width:105px}.table-panel{padding:9px}.score-badge{font-size:12px}.showdown-label{min-width:100%}}
