:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--sat:env(safe-area-inset-top,0px);--sab:env(safe-area-inset-bottom,0px);--sal:env(safe-area-inset-left,0px);--sar:env(safe-area-inset-right,0px);--inset-top:calc(var(--sat) + var(--tg-content-safe-area-inset-top,0px) + var(--tg-safe-area-inset-top,0px));--inset-bottom:calc(var(--sab) + var(--tg-content-safe-area-inset-bottom,0px) + var(--tg-safe-area-inset-bottom,0px));--inset-left:calc(var(--sal) + var(--tg-safe-area-inset-left,0px));--inset-right:calc(var(--sar) + var(--tg-safe-area-inset-right,0px));--bg:var(--tg-theme-bg-color,#f3f1ee);--bg-elevated:var(--tg-theme-secondary-bg-color,#fff);--fg:var(--tg-theme-text-color,#1a1a1a);--fg-muted:var(--tg-theme-hint-color,#6b6b6b);--accent:var(--tg-theme-button-color,#a51f1f);--accent-fg:var(--tg-theme-button-text-color,#fff);--border:#d9d3cc;--danger:#c0392b;--positive:#1f8a3d;--negative:#c0392b;--overlay-bg:#14100e8c;--card-shadow:0 1px 3px #0000002e;--safe-btn-height:48px}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:var(--tg-theme-bg-color,#15161a);--bg-elevated:var(--tg-theme-secondary-bg-color,#1f2126);--fg:var(--tg-theme-text-color,#ececec);--fg-muted:var(--tg-theme-hint-color,#9a9a9a);--accent:var(--tg-theme-button-color,#e0574b);--accent-fg:var(--tg-theme-button-text-color,#fff);--border:#33343a;--overlay-bg:#000000a6;--card-shadow:0 1px 3px #00000080}}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:var(--tg-theme-bg-color,#15161a);--bg-elevated:var(--tg-theme-secondary-bg-color,#1f2126);--fg:var(--tg-theme-text-color,#ececec);--fg-muted:var(--tg-theme-hint-color,#9a9a9a);--border:#33343a;--overlay-bg:#000000a6}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:var(--tg-theme-bg-color,#f3f1ee);--bg-elevated:var(--tg-theme-secondary-bg-color,#fff);--fg:var(--tg-theme-text-color,#1a1a1a);--fg-muted:var(--tg-theme-hint-color,#6b6b6b);--border:#d9d3cc;--overlay-bg:#14100e8c}*{box-sizing:border-box}html,body{background:var(--bg);min-height:100dvh;color:var(--fg);-webkit-tap-highlight-color:transparent;overscroll-behavior-y:none;margin:0;padding:0;font-family:-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei,Segoe UI,sans-serif}#root{flex-direction:column;min-height:100dvh;display:flex}button,input,select{font:inherit;color:inherit}ul{margin:0;padding:0;list-style:none}h1,h2,h3,p{margin:0 0 .5em}.page{min-height:100dvh;padding:calc(16px + var(--inset-top)) calc(16px + var(--inset-right)) calc(16px + var(--inset-bottom)) calc(16px + var(--inset-left));flex-direction:column;flex:1;gap:12px;display:flex}.page-loading,.page-resuming,.page-fatal{text-align:center;justify-content:center;align-items:center;gap:16px}.page-home,.page-lobby,.page-finished{justify-content:center}.field{flex-direction:column;gap:4px;margin-bottom:10px;display:flex}.field label{color:var(--fg-muted);font-size:.85rem}.field input,.field select{min-height:var(--safe-btn-height);border:1px solid var(--border);background:var(--bg-elevated);color:var(--fg);border-radius:10px;padding:0 12px}.field-error,.form-error{color:var(--danger);margin:0;font-size:.85rem}.field-hint{color:var(--fg-muted);margin:0;font-size:.8rem}.segmented{flex-wrap:wrap;gap:8px;display:flex}.segmented label{border:1px solid var(--border);background:var(--bg-elevated);border-radius:999px;align-items:center;gap:4px;padding:8px 12px;font-size:.9rem;display:inline-flex}.reward-group,.gold-group{border:1px solid var(--border);border-radius:12px;margin:0 0 12px;padding:12px}.reward-row{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:8px;display:flex}.form-actions{gap:12px;margin-top:auto;padding-top:12px;display:flex}.form-actions .btn{flex:1}.btn{min-height:var(--safe-btn-height);cursor:pointer;border:none;border-radius:12px;padding:0 20px;font-size:1rem;font-weight:600;transition:opacity .15s,transform 50ms}.btn:active{transform:scale(.97)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-primary{background:var(--accent);color:var(--accent-fg)}.btn-secondary{background:var(--bg-elevated);color:var(--fg);border:1px solid var(--border)}.btn-ghost{color:var(--accent);border:1px dashed var(--border);background:0 0}.page-home h1,.page-create-room h1{text-align:center}.home-actions{flex-direction:column;gap:16px;display:flex}.home-join{align-items:flex-end;gap:8px;display:flex}.home-join .field{flex:1;margin-bottom:0}.page-lobby{text-align:center;align-items:center}.room-code-label{color:var(--fg-muted);margin:0}.room-code{letter-spacing:.1em;margin:0;font-size:3rem}.seat-list{grid-template-columns:1fr 1fr;gap:10px;width:100%;margin:12px 0;display:grid}.seat-card{border:1px solid var(--border);background:var(--bg-elevated);box-shadow:var(--card-shadow);border-radius:12px;flex-direction:column;gap:4px;padding:10px;display:flex}.seat-card.disconnected{opacity:.6}.seat-index{color:var(--fg-muted);font-size:.75rem}.seat-status{color:var(--positive);font-size:.75rem}.seat-card.disconnected .seat-status{color:var(--danger)}.lobby-hint{color:var(--fg-muted)}.final-standings{flex-direction:column;gap:8px;width:100%;display:flex}.final-standings li{background:var(--bg-elevated);border:1px solid var(--border);border-radius:10px;justify-content:space-between;padding:12px;display:flex}.final-standings .amount,.round-totals .amount,.cumulative-totals .amount{font-variant-numeric:tabular-nums}.amount.positive,.final-standings li.positive .amount{color:var(--positive)}.amount.negative,.final-standings li.negative .amount{color:var(--negative)}.page-table{padding-left:calc(8px + var(--inset-left));padding-right:calc(8px + var(--inset-right));padding-bottom:calc(96px + var(--inset-bottom));gap:8px}.seat-ring{grid-template-columns:1fr 1fr;gap:6px;display:grid}.seat-badge{border:1px solid var(--border);background:var(--bg-elevated);border-radius:10px;flex-wrap:wrap;align-items:center;gap:6px;padding:6px 10px;font-size:.85rem;display:flex}.seat-badge.turn{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent) inset}.seat-badge.disconnected{opacity:.55}.seat-badge-name{text-overflow:ellipsis;white-space:nowrap;max-width:8em;font-weight:600;overflow:hidden}.seat-badge-remaining{color:var(--fg-muted)}.seat-badge-offline{color:var(--danger);font-size:.75rem}.table-center{background:var(--bg-elevated);border:1px solid var(--border);text-align:center;border-radius:12px;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:4px;min-height:88px;padding:10px;display:flex}.lead-cards{flex-wrap:wrap;justify-content:center;gap:2px;display:flex}.lead-card{width:34px}.lead-empty{color:var(--fg-muted)}.table-center-direction,.table-center-gold{color:var(--fg-muted);flex-wrap:wrap;justify-content:center;gap:8px;font-size:.8rem;display:flex}.my-hand{flex:none}.hand-view{-webkit-overflow-scrolling:touch;gap:2px;padding:4px 2px 8px;display:flex;overflow-x:auto}.hand-card{flex:none}.hand-card-btn{cursor:pointer;background:0 0;border:none;min-height:0;padding:0;display:block}.hand-card.selected .hand-card-btn{transform:translateY(-10px)}.card-face{border-radius:4px;width:42px;height:auto;display:block;box-shadow:0 1px 2px #0000004d}.card-face-fallback{border:1px solid var(--border);background:#fff;border-radius:4px;justify-content:center;align-items:center;width:42px;height:60px;font-weight:700;display:flex}.selection-hint{text-align:center;color:var(--fg-muted);margin:0;font-size:.85rem}.selection-hint[data-hint-kind=invalid]{color:var(--danger)}.table-actions{padding:10px calc(16px + var(--inset-right)) calc(10px + var(--inset-bottom)) calc(16px + var(--inset-left));background:var(--bg);border-top:1px solid var(--border);z-index:20;gap:10px;display:flex;position:fixed;bottom:0;left:0;right:0}.table-actions .btn{flex:1}.solo-reopen{align-self:center}.dialog-overlay{background:var(--overlay-bg);z-index:40;justify-content:center;align-items:flex-end;padding:0;display:flex;position:fixed;inset:0}.dialog{background:var(--bg-elevated);width:100%;max-height:min(85dvh,720px);padding:20px calc(20px + var(--inset-right)) calc(20px + var(--inset-bottom)) calc(20px + var(--inset-left));border-radius:16px 16px 0 0;overflow-y:auto;box-shadow:0 -2px 12px #00000040}.dialog-actions{flex-wrap:wrap;gap:10px;margin-top:12px;display:flex}.dialog-actions .btn{flex:1;min-width:40%}.settlement-sheet section{margin-bottom:14px}.revealed-hands{flex-direction:column;gap:10px;display:flex}.revealed-hand-cards{flex-wrap:wrap;gap:2px;display:flex}.revealed-card{width:28px}.cap-badge,.tie-badge{background:var(--accent);color:var(--accent-fg);border-radius:999px;margin-left:6px;padding:1px 6px;font-size:.7rem;display:inline-block}.reward-transfers li,.round-totals li,.cumulative-totals li{border-bottom:1px dashed var(--border);justify-content:space-between;gap:8px;padding:4px 0;display:flex}.vote-status-list li{justify-content:space-between;padding:4px 0;display:flex}.vote-status-list li.me{font-weight:600}.toast{left:50%;bottom:calc(96px + var(--inset-bottom));background:var(--danger);color:#fff;z-index:50;text-align:center;cursor:pointer;border-radius:999px;max-width:calc(100vw - 32px);padding:10px 16px;font-size:.85rem;position:fixed;transform:translate(-50%);box-shadow:0 2px 8px #0000004d}.disconnect-overlay{background:var(--overlay-bg);color:#fff;z-index:100;text-align:center;padding:calc(16px + var(--inset-top)) 24px calc(16px + var(--inset-bottom));flex-direction:column;justify-content:center;align-items:center;gap:12px;display:flex;position:fixed;inset:0}.disconnect-spinner{border:3px solid #ffffff59;border-top-color:#fff;border-radius:50%;width:28px;height:28px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.disconnect-spinner{animation:none}}@media (orientation:landscape) and (height<=480px){.page-table{padding-bottom:calc(72px + var(--inset-bottom));grid-template-rows:auto 1fr;grid-template-columns:1fr 1fr;display:grid}.seat-ring{grid-column:1/2}.table-center{grid-column:2/3}.my-hand{grid-column:1/3}}
