:root{--bg: #08120e;--panel: #12211a;--panel-2: #16281f;--line: #26493a;--text: #eaf3ee;--muted: #8fae9f;--accent: #37c47f;--danger: #e05c5c;--felt: radial-gradient(ellipse at 50% 45%, #1d5c42 0%, #14422f 55%, #0d2a1e 100%);--gold: #e2c275;color-scheme:dark}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:15px/1.5 system-ui,-apple-system,Segoe UI,sans-serif;overflow-x:hidden}h1,h2,h3{margin:0 0 .4rem;font-weight:650}button{background:var(--accent);color:#06231a;border:0;border-radius:8px;padding:.5rem .9rem;font:inherit;font-weight:600;cursor:pointer}button:disabled{opacity:.45;cursor:default}button.ghost{background:transparent;color:var(--text);border:1px solid var(--line)}button.small{padding:.3rem .6rem;font-size:.85rem}button.danger{background:transparent;color:var(--danger);border:1px solid var(--danger)}input,select{width:100%;padding:.5rem;border-radius:8px;border:1px solid var(--line);background:#0c1a14;color:var(--text);font:inherit}code{background:#0c1a14;padding:.1rem .3rem;border-radius:4px}.muted{color:var(--muted)}.error{color:var(--danger);margin:0}.error.banner{background:#e05c5c1f;border:1px solid var(--danger);border-radius:8px;padding:.5rem .75rem}.centered{min-height:100vh;display:grid;place-items:center;padding:1rem}.card{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:1rem}.login{width:min(360px,100%);display:grid;gap:.75rem}.login label{display:grid;gap:.3rem;font-size:.9rem;color:var(--muted)}.page{max-width:1100px;margin:0 auto;padding:1rem;display:grid;gap:1.25rem}.topbar{display:flex;align-items:center;gap:.75rem;padding:.5rem .25rem;border-bottom:1px solid var(--line)}.spacer{flex:1}.stacked{display:grid;gap:.35rem;justify-items:start}.grid{list-style:none;margin:0;padding:0;display:grid;gap:.75rem;grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}.table-page{position:relative;min-height:100vh;display:grid;grid-template-rows:auto 1fr auto auto;gap:.5rem;padding:.5rem}.table-topbar.collapsed{border-bottom-color:transparent}.blind{background:var(--panel-2);border:1px solid var(--line);border-radius:999px;padding:.1rem .6rem;font-size:.85rem;color:var(--muted)}.felt-wrap{display:grid;place-items:center;padding:.5rem 0;min-height:0}.felt{position:relative;width:min(920px,96vw);aspect-ratio:16 / 9;background:var(--felt);border:6px solid #2a1f14;border-radius:50%/46%;box-shadow:inset 0 0 40px #0000008c,0 12px 30px #00000073}.board{position:absolute;left:50%;top:44%;transform:translate(-50%,-50%);display:flex;gap:.35rem}.pot-total{position:absolute;left:50%;top:58%;transform:translate(-50%);background:#00000059;border-radius:999px;padding:.15rem .75rem;font-weight:600;color:var(--gold);white-space:nowrap}.tourney-badge{position:absolute;left:50%;top:8%;transform:translate(-50%);font-size:.8rem;color:var(--muted)}.card-face{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;width:44px;height:62px;border-radius:6px;background:#f7faf8;color:#0b1410;font-weight:700;line-height:1;box-shadow:0 2px 6px #0006}.card-face .rank{font-size:1rem}.card-face .suit{font-size:1.1rem}.card-face.red{color:#c0392b}.card-face.small{width:30px;height:42px}.card-face.small .rank{font-size:.75rem}.card-face.small .suit{font-size:.8rem}.card-face.back{background:repeating-linear-gradient(45deg,#1b3a63 0,#1b3a63 4px,#16304f 4px,#16304f 8px);border:2px solid #0e1f36}.seat{position:absolute;transform:translate(-50%,-50%);min-width:118px;max-width:150px;padding:.35rem .45rem;background:#06120dd9;border:1px solid var(--line);border-radius:10px;text-align:center;font-size:.8rem;transition:border-color .15s ease}.seat.me{border-color:var(--gold)}.seat.to-act{border-color:var(--accent);box-shadow:0 0 0 2px #37c47f59}.seat.empty{opacity:.5;border-style:dashed}.seat-head{display:flex;align-items:center;justify-content:center;gap:.3rem}.avatar{display:inline-grid;place-items:center;width:26px;height:26px;border-radius:999px;background:#23483a;color:var(--text);font-size:.7rem;font-weight:700}.avatar.out{opacity:.4}.avatar.ghost{background:transparent;border:1px dashed var(--line);color:var(--muted)}.alias{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:84px}.dealer{background:var(--gold);color:#21180a;border-radius:999px;padding:0 .35rem;font-size:.65rem;font-weight:700}.stack{color:var(--text);font-variant-numeric:tabular-nums}.badge{margin-left:.3rem;background:#e2c2752e;color:var(--gold);border-radius:999px;padding:0 .3rem;font-size:.65rem}.badge.off{background:#e05c5c26;color:var(--danger)}.hole{display:flex;justify-content:center;gap:.15rem;margin-top:.2rem;min-height:42px}.bet{position:absolute;left:50%;bottom:-18px;transform:translate(-50%);background:#0000008c;border-radius:999px;padding:0 .45rem;color:var(--gold);font-size:.72rem;white-space:nowrap}.timer{position:absolute;right:-8px;top:-8px;background:var(--accent);color:#06231a;border-radius:999px;padding:0 .35rem;font-size:.68rem;font-weight:700}.last-action{color:var(--muted);font-size:.7rem;margin-top:.1rem}.seat-number{position:absolute;left:-4px;top:-6px;font-size:.6rem;color:var(--muted);opacity:.6}.action-bar{justify-self:end;display:grid;gap:.4rem;background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:.6rem;width:min(420px,100%)}.action-row{display:flex;gap:.4rem;flex-wrap:wrap}.action-row button{flex:1}.presets{display:flex;gap:.3rem}.presets button{flex:1}.slider-row{display:flex;align-items:center;gap:.5rem}.slider-row input[type=range]{flex:1;padding:0}.slider-row output{min-width:64px;text-align:right;font-variant-numeric:tabular-nums;color:var(--gold)}.sit-panel{justify-self:end;display:flex;align-items:center;gap:.5rem;background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:.5rem .6rem}.sit-panel label{display:flex;align-items:center;gap:.35rem;color:var(--muted);font-size:.85rem;white-space:nowrap}.sit-panel select{width:auto}.stand-row{justify-self:start}.chat{position:fixed;left:.75rem;bottom:.75rem;width:min(280px,40vw);background:#091610eb;border:1px solid var(--line);border-radius:12px;padding:.5rem;font-size:.82rem}.chat header{display:flex;align-items:center;justify-content:space-between;color:var(--muted)}.chat ul{list-style:none;margin:.4rem 0;padding:0;max-height:160px;overflow-y:auto;display:grid;gap:.2rem}.chat li{overflow-wrap:anywhere}@media (max-width: 900px){.felt{aspect-ratio:4 / 3}.seat{min-width:98px;font-size:.72rem}.card-face{width:34px;height:48px}.chat{width:min(220px,55vw)}}@media (max-width: 640px){.felt{aspect-ratio:1 / 1;border-width:4px}.seat{min-width:84px;max-width:110px;padding:.25rem}.alias{max-width:58px}.hole{min-height:34px}.card-face.small{width:22px;height:30px}.action-bar,.sit-panel{width:100%;justify-self:stretch}.chat{position:static;width:100%;margin-top:.5rem}}
