@font-face{font-family:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/plus-jakarta-sans-cyrillic-ext-wght-normal-BvLRN1El.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/plus-jakarta-sans-vietnamese-wght-normal-Bnh6xcKr.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/plus-jakarta-sans-latin-ext-wght-normal-Ch-K9LVU.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/plus-jakarta-sans-latin-wght-normal-BD2oGHtS.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{color-scheme:dark;--bg: #0b1120;--surface: #111827;--surface-2: #172033;--surface-3: #1f2a40;--border: #263247;--border-strong: #34425c;--text: #e8edf5;--text-secondary: #b6c2d4;--text-muted: #8796ad;--text-faint: #64748b;--primary: #10b981;--primary-strong: #059669;--primary-soft: rgba(16, 185, 129, .14);--accent: #fbbf24;--accent-soft: rgba(251, 191, 36, .14);--good: #22c55e;--warn: #eab308;--bad: #ef4444;--info: #60a5fa;--act-fold: #475569;--act-call: #2563eb;--act-raise: #dc2626;--felt: #0f5132;--felt-2: #157347;--rail: #4a2f19;--s1: 4px;--s2: 8px;--s3: 12px;--s4: 16px;--s5: 20px;--s6: 24px;--r-sm: 6px;--r: 8px;--r-lg: 12px;--r-xl: 16px;--shadow: 0 1px 3px rgba(0, 0, 0, .35);--shadow-md: 0 12px 40px rgba(0, 0, 0, .45), 0 0 0 1px rgba(255, 255, 255, .04);--ease: cubic-bezier(.2, .8, .2, 1);--font: "Plus Jakarta Sans Variable", "Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif}*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--bg);color:var(--text);font-family:var(--font);font-size:14px;line-height:1.45;-webkit-font-smoothing:antialiased}h1,h2,h3{margin:0;letter-spacing:-.01em}h1{font-size:22px;font-weight:800}h2{font-size:15px;font-weight:700}h3{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);margin:var(--s4) 0 var(--s2)}p{margin:0}.icon{flex-shrink:0}.muted{color:var(--text-muted);font-size:12.5px}.faint{color:var(--text-faint);font-size:12px}.pos{color:var(--good)}.neg{color:var(--bad)}.num{font-variant-numeric:tabular-nums}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}:focus-visible{outline:2px solid var(--primary);outline-offset:2px;border-radius:var(--r-sm)}button{font:inherit;color:inherit;cursor:pointer}button:disabled{cursor:not-allowed;opacity:.45}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:36px;padding:0 14px;border-radius:var(--r);border:1px solid var(--border-strong);background:var(--surface-2);color:var(--text);font-size:13px;font-weight:600;white-space:nowrap;transition:background .15s,border-color .15s,transform .1s}.btn:hover:not(:disabled){background:var(--surface-3);border-color:var(--text-faint)}.btn:active:not(:disabled){transform:translateY(1px)}.btn--primary{background:var(--primary-strong);border-color:var(--primary-strong);color:#fff}.btn--primary:hover:not(:disabled){background:var(--primary);border-color:var(--primary)}.btn--ghost{background:transparent;border-color:transparent;color:var(--text-secondary)}.btn--ghost:hover:not(:disabled){background:var(--surface-2);border-color:transparent;color:var(--text)}.btn--lg{height:48px;padding:0 24px;font-size:15px;border-radius:var(--r-lg)}.btn--sm{height:30px;padding:0 10px;font-size:12.5px}.btn-icon{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--r-sm);border:0;background:transparent;color:var(--text-muted)}.btn-icon:hover{background:var(--surface-2);color:var(--text)}.kbd{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 4px;border-radius:4px;background:#ffffff29;font-size:10.5px;font-weight:700;line-height:1}input,select{font:inherit;font-size:13px;color:var(--text);background:var(--surface-2);border:1px solid var(--border-strong);border-radius:var(--r);height:36px;padding:0 10px;transition:border-color .15s}input:hover,select:hover{border-color:var(--text-faint)}input:focus,select:focus{outline:none;border-color:var(--primary)}select{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding-right:30px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%238796ad' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 8px center}input[type=checkbox]{width:16px;height:16px;padding:0;accent-color:var(--primary-strong)}input[type=range]{height:auto;padding:0;border:0;background:none;accent-color:var(--primary)}.field{display:flex;align-items:center;justify-content:space-between;gap:var(--s3);min-height:36px;margin:var(--s2) 0}.field>span:first-child{color:var(--text-secondary);font-weight:500}.check{display:flex;align-items:flex-start;gap:var(--s2);margin:var(--s3) 0;cursor:pointer;color:var(--text-secondary);font-size:13px}.check input{margin-top:1px}.seg{display:inline-flex;padding:3px;gap:2px;border-radius:var(--r);background:var(--surface-2);border:1px solid var(--border)}.seg button{height:28px;padding:0 12px;border:0;border-radius:var(--r-sm);background:none;color:var(--text-muted);font-size:12.5px;font-weight:600}.seg button.on{background:var(--surface-3);color:var(--text);box-shadow:var(--shadow)}.chips{display:flex;gap:var(--s1);flex-wrap:wrap}.chip{height:30px;padding:0 10px;border-radius:999px;border:1px solid var(--border-strong);background:var(--surface-2);color:var(--text-secondary);font-size:12.5px;font-weight:600;display:inline-flex;align-items:center;gap:6px}.chip:hover{border-color:var(--text-faint);color:var(--text)}.chip.on{background:var(--primary-soft);border-color:var(--primary);color:#a7f3d0}.chip--gto{border-color:#10b98180;color:#6ee7b7}.switch{display:inline-flex;align-items:center;gap:var(--s2);font-size:12.5px;color:var(--text-secondary);cursor:pointer;-webkit-user-select:none;user-select:none}.switch input{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:30px;height:18px;border-radius:999px;background:var(--surface-3);border:1px solid var(--border-strong);position:relative;transition:background .15s;cursor:pointer}.switch input:after{content:"";position:absolute;top:2px;left:2px;width:12px;height:12px;border-radius:50%;background:var(--text-muted);transition:transform .15s var(--ease),background .15s}.switch input:checked{background:var(--primary-strong);border-color:var(--primary-strong)}.switch input:checked:after{transform:translate(12px);background:#fff}.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:var(--s5);margin-bottom:var(--s4)}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:var(--s3);margin-bottom:var(--s3);flex-wrap:wrap}.panel-title{display:flex;align-items:center;gap:var(--s2)}.panel-title .icon{color:var(--primary)}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:var(--s6)}.hint{color:var(--text-muted);font-size:12.5px;margin-top:var(--s2)}.avatar{display:inline-flex;align-items:center;justify-content:center;border-radius:50%;flex-shrink:0;color:#fff}.tag{display:inline-flex;align-items:center;height:18px;padding:0 6px;border-radius:4px;font-size:10px;font-weight:800;letter-spacing:.3px;color:#0b1120}.page{max-width:1120px;margin:0 auto;padding:var(--s6) var(--s4) 64px}.brand{display:flex;align-items:center;gap:var(--s3);margin-bottom:var(--s2)}.brand-mark{width:40px;height:40px;border-radius:var(--r-lg);background:linear-gradient(135deg,var(--primary-strong),#0e7490);display:inline-flex;align-items:center;justify-content:center;color:#fff}.brand h1{font-size:24px}.lead{color:var(--text-muted);margin-bottom:var(--s5);max-width:720px}.profile-card{display:flex;align-items:center;gap:var(--s3);width:100%;text-align:left;flex-wrap:wrap}.profile-card:hover{border-color:var(--border-strong)}.profile-card .cta{margin-left:auto;display:inline-flex;align-items:center;gap:4px;color:var(--primary);font-weight:600;font-size:13px}.level-pill{display:inline-flex;align-items:center;gap:6px;height:26px;padding:0 10px;border-radius:999px;font-weight:700;font-size:12.5px;background:var(--surface-2);border:1px solid}.mode-cards{display:grid;grid-template-columns:1fr 1fr;gap:var(--s3)}.mode-card{display:flex;gap:var(--s3);align-items:flex-start;background:var(--surface-2);border:1.5px solid var(--border);border-radius:var(--r-lg);padding:var(--s4);text-align:left;transition:border-color .15s,background .15s}.mode-card:hover{border-color:var(--border-strong)}.mode-card.active{border-color:var(--primary);background:linear-gradient(180deg,var(--primary-soft),transparent 80%),var(--surface-2)}.mode-icon{width:40px;height:40px;border-radius:var(--r);background:var(--surface-3);display:inline-flex;align-items:center;justify-content:center;color:var(--text-secondary)}.mode-card.active .mode-icon{background:var(--primary-strong);color:#fff}.mode-title{font-size:15px;font-weight:700;margin-bottom:2px}.mode-desc{color:var(--text-muted);font-size:12.5px}.stake-inputs{display:flex;align-items:center;gap:6px}.stake-inputs input{width:84px}.seat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:var(--s2)}.seat-cfg{display:flex;align-items:center;gap:var(--s2);background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r);padding:6px 8px}.seat-cfg select{flex:1;min-width:0;height:32px}.seat-no{color:var(--text-faint);font-size:11.5px;font-weight:600;white-space:nowrap;width:42px}.start-bar{display:flex;justify-content:center;gap:var(--s3);margin:var(--s5) 0;flex-wrap:wrap}.profile-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:var(--s2)}.profile-item{display:flex;gap:var(--s3);background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r);padding:var(--s3)}.profile-name{font-weight:700;margin-bottom:2px;display:flex;align-items:center;gap:6px}.profile-desc{font-size:12.5px;color:var(--text-secondary)}.profile-exploit{display:flex;gap:6px;font-size:12.5px;color:#fcd34d;margin-top:6px}.game{display:flex;flex-direction:column;min-height:100vh}.topbar{display:flex;align-items:center;gap:var(--s3);padding:var(--s2) var(--s4);background:var(--surface);border-bottom:1px solid var(--border);flex-wrap:wrap;position:sticky;top:0;z-index:20}.hud{display:flex;gap:6px;flex-wrap:wrap;flex:1}.hud-item{display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 10px;border-radius:var(--r-sm);background:var(--surface-2);font-size:12.5px;color:var(--text-secondary)}.hud-item .icon{color:var(--text-muted)}.hud-item.warn{background:#e11d482e;color:#fda4af;animation:pulse 1.4s infinite}.hud-item.warn .icon{color:#fda4af}.toggles{display:flex;gap:var(--s4);align-items:center;flex-wrap:wrap}@keyframes pulse{50%{opacity:.6}}.main{display:flex;gap:var(--s4);padding:var(--s4);flex:1;align-items:flex-start}.table-area{flex:1;min-width:0;display:flex;flex-direction:column;gap:var(--s3);position:relative}.side{width:360px;flex-shrink:0;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);display:flex;flex-direction:column;max-height:calc(100vh - 84px);position:sticky;top:64px}.tabs{display:flex;border-bottom:1px solid var(--border);padding:0 var(--s2)}.tabs button{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:6px;background:none;border:0;color:var(--text-muted);padding:12px 4px 10px;border-bottom:2px solid transparent;font-size:12.5px;font-weight:600}.tabs button:hover{color:var(--text)}.tabs button.on{color:var(--text);border-bottom-color:var(--primary)}.tab-body{padding:var(--s4);overflow-y:auto;flex:1}.toasts{position:absolute;top:8px;left:50%;transform:translate(-50%);display:flex;flex-direction:column;gap:6px;z-index:15;width:min(460px,92%);pointer-events:none}.toast{display:flex;align-items:center;gap:var(--s2);background:#111827f5;border:1px solid var(--border-strong);border-radius:var(--r);padding:8px 12px;font-size:13px;box-shadow:var(--shadow-md);animation:toast-in .25s var(--ease)}.toast .icon{color:var(--accent)}@keyframes toast-in{0%{opacity:0;transform:translateY(-6px)}}.felt{position:relative;width:100%;aspect-ratio:16 / 9.2;min-height:380px}.felt-inner{position:absolute;top:9%;right:7%;bottom:9%;left:7%;border-radius:50%;background:radial-gradient(ellipse at center,var(--felt-2) 0%,var(--felt) 62%,#0a3622 100%);border:12px solid var(--rail);box-shadow:inset 0 0 50px #0000008c,0 10px 40px #00000080,0 0 0 2px #6b4423}.felt-logo{position:absolute;left:50%;top:66%;transform:translate(-50%,-50%);color:#ffffff0f;pointer-events:none}.board{position:absolute;left:50%;top:46%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:8px}.pot{display:inline-flex;align-items:center;gap:6px;background:#00000073;padding:4px 12px;border-radius:999px;font-weight:800;color:var(--accent);font-variant-numeric:tabular-nums}.pot small{color:var(--text-secondary);font-weight:500}.board-cards{display:flex;gap:6px}.street-label{font-size:10.5px;font-weight:700;letter-spacing:2.5px;color:#ffffff73}.card{width:48px;height:66px;border-radius:7px;background:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;font-weight:800;box-shadow:0 3px 8px #00000073;line-height:1;-webkit-user-select:none;user-select:none;animation:deal .25s var(--ease)}.card .rank{font-size:21px;letter-spacing:-1px}.card .suit{font-size:19px;margin-top:1px}.card.small{width:34px;height:47px;border-radius:5px}.card.small .rank,.card.small .suit{font-size:14px}.card.mini{width:24px;height:33px;border-radius:4px;box-shadow:0 1px 3px #0006}.card.mini .rank,.card.mini .suit{font-size:11px}.card.suit-0{color:#111827}.card.suit-1{color:#dc2626}.card.suit-2{color:#2563eb}.card.suit-3{color:#15803d}.card.back{background:repeating-linear-gradient(45deg,#1e3a8a,#1e3a8a 4px,#1d4ed8 4px,#1d4ed8 8px);border:2px solid #f8fafc}.card.slot{background:#ffffff0d;border:1px dashed rgba(255,255,255,.18);box-shadow:none;animation:none}@keyframes deal{0%{opacity:0;transform:translateY(-6px) scale(.96)}}.cards-inline{display:inline-flex;gap:2px;vertical-align:middle}.seat{position:absolute;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;z-index:2;transition:opacity .3s}.seat-cards{display:flex;gap:2px;height:47px;margin-bottom:-10px;z-index:1}.seat.hero .seat-cards{height:66px}.seat-box{position:relative;display:flex;align-items:center;gap:8px;background:#0f172af2;border:1.5px solid var(--border-strong);border-radius:var(--r-lg);padding:6px 10px 6px 6px;min-width:128px;z-index:2;box-shadow:var(--shadow);transition:box-shadow .2s,border-color .2s}.seat-info{display:flex;flex-direction:column;min-width:0}.seat.to-act .seat-box{border-color:var(--accent);box-shadow:0 0 0 3px #fbbf2459,0 0 22px #fbbf2459}.seat.hero .seat-box{border-color:var(--primary)}.seat.folded{opacity:.45}.seat.winner .seat-box{border-color:var(--good);box-shadow:0 0 0 3px #22c55e59,0 0 22px #22c55e66}.seat-top{display:flex;align-items:center;gap:5px}.pos-chip{background:var(--surface-3);border-radius:4px;padding:0 5px;font-size:10px;font-weight:800;color:#fde68a;line-height:16px}.seat-name{font-size:12.5px;font-weight:700;white-space:nowrap;max-width:96px;overflow:hidden;text-overflow:ellipsis}.seat-stack{font-weight:800;color:#a7f3d0;font-size:13px;font-variant-numeric:tabular-nums}.seat-type{position:absolute;top:-9px;right:-6px}.seat-action{position:absolute;left:50%;bottom:-12px;transform:translate(-50%);white-space:nowrap;font-size:10.5px;font-weight:700;color:#111827;background:#fde68a;padding:1px 7px;border-radius:999px}.seat-action.fold{background:var(--surface-3);color:var(--text-muted)}.seat-won{font-size:12px;color:var(--good);font-weight:800}.seat-hand{font-size:10.5px;color:#c4b5fd;max-width:150px;line-height:1.25}.seat-empty{display:inline-flex;align-items:center;gap:6px;color:var(--text-muted);font-size:12px;background:#00000059;padding:8px 12px;border-radius:var(--r-lg)}.dealer-btn{position:absolute;right:-12px;top:-8px;width:22px;height:22px;border-radius:50%;background:#fff;color:#111;font-weight:900;font-size:11px;display:flex;align-items:center;justify-content:center;box-shadow:0 1px 4px #0009;z-index:3}.bet-chip{position:absolute;transform:translate(-50%,-50%);background:#0000008c;border-radius:999px;padding:2px 9px 2px 4px;font-size:12px;font-weight:800;display:flex;align-items:center;gap:4px;z-index:1;color:#fef3c7;font-variant-numeric:tabular-nums}.chip-dot{width:14px;height:14px;border-radius:50%;background:radial-gradient(circle,#f59e0b 35%,#fff 36%,#fff 50%,#dc2626 51%);display:inline-block}.actionbar{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:var(--s3) var(--s4);display:flex;flex-direction:column;gap:var(--s3)}.actionbar.waiting{flex-direction:row;align-items:center;justify-content:center;gap:var(--s2);color:var(--text-muted);padding:18px}.actionbar.done{flex-direction:row;align-items:center;justify-content:center;gap:var(--s3);flex-wrap:wrap}.result-text{font-size:18px;font-weight:800;font-variant-numeric:tabular-nums}.tour-over{display:flex;align-items:center;gap:var(--s3);font-size:16px;font-weight:700;flex-wrap:wrap;justify-content:center}.tour-over .icon{color:var(--accent)}.ab-info{display:flex;justify-content:center;gap:var(--s4);color:var(--text-muted);font-size:12.5px;flex-wrap:wrap}.ab-info b{color:var(--text);font-variant-numeric:tabular-nums}.ab-buttons{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s2)}.act{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:50px;padding:0 12px;border:0;border-radius:var(--r-lg);font-weight:800;font-size:15px;color:#fff;transition:filter .15s,transform .1s;font-variant-numeric:tabular-nums}.act:hover{filter:brightness(1.12)}.act:active{transform:translateY(1px)}.act.fold{background:var(--act-fold)}.act.call{background:var(--act-call)}.act.raise{background:var(--act-raise)}.ab-sizing{display:flex;align-items:center;gap:var(--s2);flex-wrap:wrap}.ab-sizing input[type=range]{flex:1;min-width:140px}.amt-input{width:84px;text-align:right}.ab-hint{display:flex;align-items:center;gap:var(--s3);background:var(--primary-soft);border:1px solid rgba(16,185,129,.35);border-radius:var(--r);padding:8px 12px}.ab-hint .mixbar-wrap{flex:1;margin:0}.ab-hint-label{display:inline-flex;align-items:center;gap:6px;font-weight:800;color:#6ee7b7;font-size:12.5px}.ab-hint-size{font-size:12.5px;color:#6ee7b7;white-space:nowrap;font-weight:600}.shortcuts{display:flex;justify-content:center;gap:var(--s3);color:var(--text-faint);font-size:11.5px;flex-wrap:wrap}.shortcuts span{display:inline-flex;align-items:center;gap:4px}.shortcuts .kbd{background:var(--surface-3);color:var(--text-secondary)}.mixbar-wrap{margin:6px 0}.mixbar{display:flex;height:8px;border-radius:4px;overflow:hidden;background:var(--surface-3);gap:2px}.mixbar .seg-raise{background:var(--act-raise)}.mixbar .seg-call{background:var(--act-call)}.mixbar .seg-fold{background:var(--act-fold)}.mixtext{display:flex;gap:var(--s3);font-size:12px;margin-top:5px;color:var(--text-secondary);flex-wrap:wrap}.mixtext span{display:inline-flex;align-items:center;gap:5px;font-variant-numeric:tabular-nums}.dot{width:8px;height:8px;border-radius:2px;display:inline-block}.dot.raise{background:var(--act-raise)}.dot.call{background:var(--act-call)}.dot.fold{background:var(--act-fold)}.hint-box{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r);padding:var(--s3)}.hint-spot{display:flex;align-items:center;gap:6px;font-weight:700;color:var(--text);margin-bottom:4px}.hint-spot .icon{color:var(--primary)}.hint-size{font-size:12.5px;color:#6ee7b7;font-weight:600}.lines{margin:var(--s2) 0 0;padding-left:18px}.lines li{margin:5px 0;font-size:13px;line-height:1.5;color:var(--text-secondary)}.lines li.note{color:#fdba74}.exploit{display:flex;gap:var(--s2);margin-top:var(--s3);padding:var(--s2) var(--s3);border-radius:var(--r);background:var(--accent-soft);color:#fde68a;font-size:12.5px;line-height:1.5}.exploit .icon{margin-top:2px}.empty{display:flex;flex-direction:column;align-items:center;gap:var(--s2);text-align:center;color:var(--text-muted);padding:var(--s6) var(--s3);font-size:13px}.empty .icon{color:var(--text-faint)}.msg{display:flex;align-items:center;gap:var(--s2);background:var(--accent-soft);border:1px solid rgba(251,191,36,.3);border-radius:var(--r);padding:8px 10px;margin-bottom:var(--s2);font-size:13px}.msg .icon{color:var(--accent)}.log{font-family:ui-monospace,SF Mono,Consolas,monospace;font-size:12px;line-height:1.6;color:var(--text-secondary)}.log.small{font-size:11.5px}.log-street{color:var(--accent);margin-top:8px;font-weight:700}.log-win{color:var(--good);display:flex;align-items:center;gap:6px}.hist-item{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r);padding:8px 10px;margin-bottom:6px}.hist-item summary{cursor:pointer;display:flex;gap:var(--s2);justify-content:space-between;align-items:center;font-size:13px;list-style:none}.hist-item summary::-webkit-details-marker{display:none}.decision{background:var(--surface-2);border:1px solid var(--border);border-left:3px solid;border-radius:var(--r);padding:var(--s3);margin:var(--s2) 0}.dec-head{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-bottom:6px;font-size:12.5px}.dec-row{display:flex;align-items:center;justify-content:space-between;gap:var(--s2);margin:4px 0;flex-wrap:wrap}.dec-nums{display:flex;gap:var(--s4);font-size:12.5px;margin-top:6px;flex-wrap:wrap;color:var(--text-secondary)}.dec-nums b{color:var(--text)}.grade{display:inline-flex;align-items:center;gap:4px;color:#0b1120;font-weight:800;font-size:11.5px;padding:2px 8px 2px 6px;border-radius:999px;white-space:nowrap}.modal-bg{position:fixed;top:0;right:0;bottom:0;left:0;background:#020617b3;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;z-index:50;padding:var(--s4);animation:fade .15s}.modal{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-xl);width:min(760px,100%);max-height:92vh;overflow-y:auto;padding:var(--s5);box-shadow:var(--shadow-md);animation:pop .2s var(--ease)}.modal-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--s3)}.modal-head h2{display:flex;align-items:center;gap:var(--s2);font-size:17px}.modal-head h2 .icon{color:var(--primary)}.modal-foot{display:flex;justify-content:flex-end;gap:var(--s2);margin-top:var(--s4);position:sticky;bottom:calc(-1 * var(--s5));background:var(--surface);padding:var(--s3) 0 var(--s1);border-top:1px solid var(--border)}@keyframes fade{0%{opacity:0}}@keyframes pop{0%{opacity:0;transform:translateY(8px) scale(.98)}}.review-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:var(--s2)}.kpi{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r);padding:10px 12px}.kpi-l{font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);font-weight:700}.kpi-v{font-size:18px;font-weight:800;margin-top:2px;font-variant-numeric:tabular-nums}.review-board{display:flex;align-items:center;gap:4px;margin:var(--s3) 0}.reveal-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:6px;margin-top:6px}.reveal-item{display:flex;align-items:center;gap:8px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r);padding:6px 8px;font-size:12.5px}.reveal-item.folded{opacity:.55}.reveal-who{display:flex;flex-direction:column;min-width:0;flex:1}.reveal-cards{display:inline-flex;gap:2px}.hand-log{margin-top:var(--s3)}.hand-log summary{cursor:pointer;color:var(--primary);font-weight:600}.stat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:var(--s2)}.stat{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r);padding:12px}.stat-v{font-size:20px;font-weight:800;font-variant-numeric:tabular-nums}.stat-l{font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.4px;font-weight:700;margin-top:2px}.grade-row{display:grid;grid-template-columns:170px 1fr 32px;align-items:center;gap:var(--s2);font-size:12.5px;margin:6px 0}.grade-row>span:first-child{display:inline-flex;align-items:center;gap:6px;color:var(--text-secondary)}.grade-row>span:last-child{text-align:right;font-variant-numeric:tabular-nums}.grade-bar{height:8px;background:var(--surface-3);border-radius:4px;overflow:hidden}.grade-bar div{height:100%;border-radius:0 4px 4px 0}.tour-results{display:flex;gap:4px;flex-wrap:wrap;margin-bottom:6px}.place{padding:2px 8px;border-radius:var(--r-sm);background:var(--surface-3);font-weight:700;font-size:12px}.place.p1{background:#ca8a04;color:#111}.place.p2{background:#9ca3af;color:#111}.place.p3{background:#b45309}.page-head{display:flex;align-items:center;gap:var(--s3);margin-bottom:var(--s4)}.profile-hero{display:flex;gap:var(--s5);align-items:center;flex-wrap:wrap}.level-badge{display:flex;flex-direction:column;align-items:center;gap:4px;border:2px solid;border-radius:var(--r-xl);padding:var(--s4) var(--s5);min-width:150px;background:var(--surface-2)}.level-score{font-size:34px;font-weight:800;line-height:1.1;font-variant-numeric:tabular-nums}.level-name{font-weight:700;font-size:13px}.profile-meta{flex:1;min-width:240px;display:flex;flex-direction:column;gap:6px;line-height:1.55;color:var(--text-secondary)}.profile-name-input{font-size:18px;font-weight:700;max-width:280px;height:40px}.trend{display:inline-flex;align-items:center;gap:4px;font-weight:700}.leak{display:flex;align-items:center;justify-content:space-between;gap:var(--s3);background:var(--surface-2);border:1px solid var(--border);border-left:3px solid #f97316;border-radius:var(--r);padding:var(--s3);margin:var(--s2) 0;flex-wrap:wrap}.leak b{color:var(--text)}.score-head{display:flex;justify-content:space-between;font-size:11px;text-transform:uppercase;letter-spacing:.5px;font-weight:700;color:var(--text-faint)}.score-row{display:grid;grid-template-columns:minmax(120px,1.4fr) 2fr 32px 34px;align-items:center;gap:var(--s2);margin:6px 0;font-size:13px;color:var(--text-secondary)}.score-track{height:8px;background:var(--surface-3);border-radius:4px;overflow:hidden}.score-fill{height:100%;border-radius:0 4px 4px 0}.score-val{text-align:right;font-weight:700;color:var(--text);font-variant-numeric:tabular-nums}.score-n{text-align:right;font-size:11.5px;color:var(--text-faint);font-variant-numeric:tabular-nums}.table-wrap{overflow-x:auto}.sess-table{width:100%;border-collapse:collapse;font-size:13px}.sess-table th{padding:10px 12px;text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:var(--text-faint);font-weight:700;border-bottom:1px solid var(--border)}.sess-table td{padding:10px 12px;border-bottom:1px solid var(--border);white-space:nowrap;font-variant-numeric:tabular-nums;color:var(--text-secondary)}.actions-row{display:flex;gap:var(--s2);flex-wrap:wrap}.buy-modal{width:min(480px,100%)}.buy-row{display:flex;align-items:center;gap:var(--s2);margin-top:var(--s3)}.buy-row input[type=range]{flex:1}.buy-summary{margin-top:var(--s3);background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r);padding:10px 12px;color:var(--text-secondary)}.buy-summary b{color:var(--text)}.chart{position:relative}.chart svg{width:100%;height:auto;display:block}.chart .grid{stroke:var(--border);stroke-width:1}.chart .axis{fill:var(--text-faint);font-size:11px;font-family:var(--font)}.chart .line{fill:none;stroke:var(--primary);stroke-width:2;stroke-linejoin:round}.chart .dot{fill:var(--primary);stroke:var(--surface);stroke-width:2}.chart .dot.active{fill:#fff;stroke:var(--primary)}.chart .cross{stroke:var(--border-strong);stroke-dasharray:3 3}.chart-tip{position:absolute;top:4px;right:8px;background:var(--surface-2);border:1px solid var(--border-strong);border-radius:var(--r-sm);padding:4px 8px;font-size:12.5px;box-shadow:var(--shadow-md)}@media(max-width:1100px){.main{flex-direction:column}.side{width:100%;max-height:none;position:static}}@media(max-width:700px){.grid2,.mode-cards,.profile-list{grid-template-columns:1fr}.score-row{grid-template-columns:1fr 1.2fr 28px 30px}.grade-row{grid-template-columns:130px 1fr 28px}.profile-card .cta{margin-left:0}.card{width:36px;height:50px}.card .rank,.card .suit{font-size:15px}.card.small{width:26px;height:36px}.card.small .rank,.card.small .suit{font-size:11px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}.stat-grid+p{margin-top:var(--s3)}.buy-options{display:grid;grid-template-columns:1fr 1fr;gap:var(--s2);margin-top:var(--s3)}.buy-option{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:12px 14px;border-radius:var(--r-lg);border:1.5px solid var(--border-strong);background:var(--surface-2);text-align:left}.buy-option:hover:not(:disabled){border-color:var(--text-faint)}.buy-option.on{border-color:var(--primary);background:var(--primary-soft)}.buy-option .kbd{position:absolute;top:10px;right:10px}.buy-option-n{font-size:17px;font-weight:800}.buy-option-v{font-size:12.5px;color:var(--text-secondary);font-variant-numeric:tabular-nums}.broadcast{position:absolute;left:50%;bottom:30%;transform:translate(-50%);z-index:14;display:flex;align-items:center;gap:10px;padding:6px 14px 6px 6px;border-radius:999px;background:linear-gradient(90deg,#020617f5,#0f172aeb);border:1px solid rgba(251,191,36,.55);box-shadow:0 10px 30px #00000080;animation:banner-in .3s var(--ease);white-space:nowrap;pointer-events:none}.broadcast-live{display:inline-flex;align-items:center;gap:3px;font-size:10px;font-weight:800;letter-spacing:.6px;color:#fff;background:#dc2626;padding:2px 6px;border-radius:4px}.broadcast-who{display:flex;flex-direction:column;line-height:1.15}.broadcast-who b{font-size:13px}.broadcast-who span{font-size:10.5px;color:var(--text-muted);font-weight:700}.broadcast-act{font-size:15px;font-weight:800;text-transform:uppercase;letter-spacing:.5px;color:var(--accent)}.broadcast-amt{font-size:15px;font-weight:800;color:#fff;font-variant-numeric:tabular-nums}@keyframes banner-in{0%{opacity:0;transform:translate(-50%,10px)}}.glossary{margin-bottom:var(--s3);background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r);padding:8px 10px}.glossary summary{cursor:pointer;display:flex;align-items:center;gap:6px;font-weight:600;font-size:12.5px;color:var(--text-secondary);list-style:none}.glossary summary::-webkit-details-marker{display:none}.glossary dl{margin:8px 0 0;display:grid;gap:6px}.glossary dt{font-weight:700;font-size:12px;color:var(--accent)}.glossary dd{margin:0;font-size:12px;color:var(--text-secondary)}@media(max-width:700px){.broadcast{bottom:34%;padding:4px 10px 4px 4px;gap:6px}.broadcast .avatar,.broadcast-live{display:none}.broadcast-act,.broadcast-amt{font-size:13px}}.gear-note{display:inline-flex;align-items:center;gap:4px;font-size:11px;color:#fda4af;font-weight:600}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}body{overscroll-behavior-y:none;-webkit-tap-highlight-color:transparent}button,.chip,.act,.seg button,.tabs button{touch-action:manipulation}.game,.felt,.actionbar{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.mobile-only{display:none!important}@media(hover:none){.kbd,.shortcuts{display:none!important}}@media(max-width:700px){.mobile-only{display:flex!important}.hide-sm{display:none!important}input,select{font-size:16px;height:40px}.page{padding:calc(var(--s4) + env(safe-area-inset-top)) calc(var(--s4) + env(safe-area-inset-right)) calc(48px + env(safe-area-inset-bottom)) calc(var(--s4) + env(safe-area-inset-left))}.start-bar{position:sticky;bottom:0;z-index:5;margin:var(--s4) calc(-1 * var(--s4));padding:var(--s3) var(--s4) calc(var(--s3) + env(safe-area-inset-bottom));background:linear-gradient(180deg,transparent,var(--bg) 30%)}.start-bar .btn--lg{flex:1}.game{height:100vh;height:100dvh;min-height:0;overflow:hidden}.topbar{position:relative;z-index:45;flex-wrap:nowrap;gap:6px;padding:calc(6px + env(safe-area-inset-top)) calc(8px + env(safe-area-inset-right)) 6px calc(8px + env(safe-area-inset-left))}.topbar-back{padding:0 6px}.hud{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;min-width:0}.hud::-webkit-scrollbar{display:none}.hud-item{height:28px;padding:0 8px;font-size:12px;white-space:nowrap;flex-shrink:0}.topbar-actions{gap:2px;flex-shrink:0}.topbar-actions .btn-icon{width:38px;height:38px;color:var(--text-secondary)}.main{flex:1;min-height:0;padding:0;gap:0;flex-direction:column}.table-area{flex:1;min-height:0;width:100%;gap:0}.felt{flex:1;min-height:0;aspect-ratio:auto}.felt-inner{top:7%;right:5%;bottom:9%;left:5%;border-width:8px}.seat-box{min-width:0;padding:4px 8px 4px 4px;gap:5px}.seat-box .avatar{display:none}.seat-name{max-width:64px;font-size:11px}.seat-stack{font-size:11.5px}.seat-cards{height:36px}.seat.hero .seat-cards{height:52px}.seat-action{font-size:9.5px;padding:1px 5px}.board{top:44%}.actionbar{border-radius:var(--r-xl) var(--r-xl) 0 0;border-left:0;border-right:0;border-bottom:0;padding:var(--s3) calc(var(--s3) + env(safe-area-inset-right)) calc(var(--s3) + env(safe-area-inset-bottom)) calc(var(--s3) + env(safe-area-inset-left));gap:10px;box-shadow:0 -10px 30px #00000073}.actionbar.done,.actionbar.waiting{min-height:calc(76px + env(safe-area-inset-bottom))}.ab-info{gap:var(--s3);font-size:12px}.ab-hint{padding:6px 10px;gap:8px}.ab-hint-label span,.ab-hint-size{font-size:12px}.act{height:54px;font-size:15px;border-radius:14px}.ab-sizing{gap:8px}.ab-sizing .chips{width:100%;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}.ab-sizing .chips::-webkit-scrollbar{display:none}.ab-sizing .chip{height:34px;flex-shrink:0;padding:0 12px}.ab-sizing input[type=range]{height:28px}.side,.toggles{position:fixed;left:0;right:0;bottom:0;z-index:40;width:100%;max-height:78vh;max-height:78dvh;background:var(--surface);border:1px solid var(--border);border-bottom:0;border-radius:var(--r-xl) var(--r-xl) 0 0;box-shadow:var(--shadow-md);transform:translateY(105%);transition:transform .28s var(--ease);padding-bottom:env(safe-area-inset-bottom);visibility:hidden}.side.open,.toggles.open{transform:none;visibility:visible}.side{top:auto;display:flex;height:78dvh}.toggles{flex-direction:column;align-items:stretch;gap:var(--s4);padding:var(--s3) var(--s4) calc(var(--s5) + env(safe-area-inset-bottom));display:flex}.toggles .switch{justify-content:space-between;flex-direction:row-reverse;font-size:15px;min-height:40px}.toggles .switch input{width:44px;height:26px}.toggles .switch input:after{width:20px;height:20px}.toggles .switch input:checked:after{transform:translate(18px)}.toggles .seg{margin:0;align-self:flex-start}.sheet-head{align-items:center;justify-content:space-between;padding:var(--s3) var(--s4) var(--s2)}.toggles .sheet-head{padding:0}.sheet-head:before{content:"";position:absolute;top:6px;left:50%;width:36px;height:4px;margin-left:-18px;border-radius:2px;background:var(--border-strong)}.sheet-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:35;background:#0206178c;animation:fade .2s}.tabs button{padding:12px 2px 10px;font-size:12px}.modal-bg{align-items:flex-end;padding:0}.modal{border-radius:var(--r-xl) var(--r-xl) 0 0;max-height:92vh;max-height:92dvh;padding:var(--s4) calc(var(--s4) + env(safe-area-inset-right)) 0 calc(var(--s4) + env(safe-area-inset-left))}.modal-foot{bottom:0;padding-bottom:calc(var(--s3) + env(safe-area-inset-bottom))}.modal-foot .btn{flex:1;height:44px}.buy-options{grid-template-columns:1fr 1fr}.broadcast{bottom:22%}}@media(max-width:950px)and (max-height:500px)and (orientation:landscape){.game{height:100vh;height:100dvh;overflow:hidden}.topbar{position:static;padding-top:4px;padding-bottom:4px}.main{flex:1;min-height:0;padding:4px calc(8px + env(safe-area-inset-right)) 4px calc(8px + env(safe-area-inset-left))}.table-area{flex-direction:row;min-height:0;height:100%}.felt{flex:1;aspect-ratio:auto;min-height:0}.table-area>.actionbar{width:300px;flex-shrink:0;overflow-y:auto}.side{display:none}.ab-buttons{grid-template-columns:1fr}.act{height:42px}}.sync-badge{display:inline-flex;align-items:center;gap:4px;font-size:12px;font-weight:700;padding:3px 10px;border-radius:999px}.sync-badge.off{background:var(--surface-3);color:var(--text-muted)}.sync-badge.ok{background:var(--primary-soft);color:#6ee7b7}.sync-badge.bad{background:#ef444426;color:#fca5a5}.sync-form{display:flex;align-items:center;gap:var(--s2);margin-top:var(--s3);color:var(--text-muted)}.sync-form input{flex:1;min-width:0;max-width:320px}.msg.neg{background:#ef44441a;border-color:#ef444459;color:#fca5a5}.mode-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s2);margin-bottom:var(--s4)}.mode-tab{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:10px 12px;border-radius:var(--r-lg);border:1.5px solid var(--border);background:var(--surface);text-align:left;min-width:0}.mode-tab:hover{border-color:var(--border-strong)}.mode-tab.on{border-color:var(--primary);background:linear-gradient(180deg,var(--primary-soft),transparent 85%),var(--surface)}.mode-tab-name{font-weight:800;font-size:14px}.mode-tab-meta{display:inline-flex;align-items:center;gap:4px;font-size:12px;font-weight:700;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}@media(max-width:700px){.mode-tab{padding:8px}.mode-tab-name{font-size:13px}.mode-tab-meta{font-size:11px}}.resume-card{display:flex;align-items:center;gap:var(--s3);flex-wrap:wrap;border-color:#10b98173;background:linear-gradient(90deg,var(--primary-soft),transparent 70%),var(--surface)}.resume-card .mode-icon{background:var(--primary-strong);color:#fff}.resume-info{display:flex;flex-direction:column;gap:2px;flex:1;min-width:200px}.resume-card .actions-row{margin-left:auto}.amt-alt{font-size:10px;font-weight:600;color:#fef3c7b3;margin-left:2px}.act-text{display:inline-flex;flex-direction:column;align-items:center;line-height:1.15}.act-alt{font-size:11.5px;font-weight:600;opacity:.85;font-variant-numeric:tabular-nums}.ab-info small{color:var(--text-muted);font-variant-numeric:tabular-nums}@media(max-width:700px){.act-alt{font-size:11px}.amt-alt{font-size:9px}}.why{margin-top:var(--s3);padding:var(--s3);border-radius:var(--r);background:#60a5fa14;border:1px solid rgba(96,165,250,.3);display:flex;flex-direction:column;gap:8px}.why-title{display:flex;align-items:center;gap:6px;font-size:13.5px;color:var(--text)}.why-title .icon{color:var(--info)}.why-title b{color:#93c5fd}.why-row{display:grid;grid-template-columns:112px 1fr;gap:var(--s2);font-size:13px;line-height:1.5;color:var(--text-secondary)}.why-row ul{margin:0;padding-left:16px}.why-row li{margin:2px 0}.why-label{display:inline-flex;align-items:flex-start;gap:5px;font-weight:700;color:var(--text);font-size:12px;padding-top:2px}.why-label .icon{margin-top:2px;color:var(--info)}.details-lines{margin-top:var(--s2)}.details-lines summary{cursor:pointer;font-size:12.5px;color:var(--text-muted);font-weight:600}@media(max-width:700px){.why-row{grid-template-columns:1fr;gap:2px}}.ab-why{font-size:12.5px;color:#bfdbfe;line-height:1.45;margin-top:-4px}.ab-why b{color:#93c5fd}.seat-eq{font-size:12px;font-weight:800;color:#e2e8f0;background:#0f172acc;border:1px solid var(--border-strong);border-radius:999px;padding:0 7px;margin-top:2px;align-self:flex-start;font-variant-numeric:tabular-nums}.seat-eq.lead{color:#052e16;background:var(--good);border-color:var(--good)}.runout-bar{color:var(--accent);font-weight:700}.runout-bar .btn{margin-left:var(--s2)}
