:root{--bg:#07090d;--bg-glow:#0e1a20;--surface:#0e151b;--surface-2:#141d25;--surface-3:#1b262f;--line:#ffffff12;--line-strong:#ffffff24;--text:#e9f0f6;--text-dim:#8fa2b2;--text-faint:#5b6c7b;--accent:#3ddc97;--accent-dim:#3ddc9724;--gold:#f2c14e;--danger:#ff5f5f;--act-raise:#e34b5a;--act-threebet:#f0823a;--act-fourbet:#d4466e;--act-allin:#f36;--act-call:#3bb96b;--act-limp:#6c8cd5;--act-fold:#263038;--felt-1:#176253;--felt-2:#0b3130;--felt-rail:#2a3b45;--card-face:#f7f9fb;--card-ink:#16202a;--radius:16px;--radius-sm:10px;--radius-lg:22px;--shadow-1:0 1px 2px #00000080, 0 8px 24px #00000059;--shadow-2:0 2px 6px #0000008c, 0 18px 48px #00000073;--ease:cubic-bezier(.22, .61, .36, 1);--nav-h:58px;--font:-apple-system, BlinkMacSystemFont, "SF Pro Text", "Segoe UI", Roboto, Inter, system-ui, sans-serif;--mono:ui-monospace, "SF Mono", SFMono-Regular, Menlo, monospace}:root[data-theme=light]{--bg:#f4f7fa;--bg-glow:#e4edf3;--surface:#fff;--surface-2:#f1f5f9;--surface-3:#e5ecf2;--line:#0a192817;--line-strong:#0a19282e;--text:#0f1b26;--text-dim:#51677a;--text-faint:#87a0b4;--accent:#0f9f67;--accent-dim:#0f9f671f;--gold:#b9811a;--act-fold:#cfd9e2;--felt-rail:#cbd7de;--shadow-1:0 1px 2px #10243814, 0 8px 20px #10243814;--shadow-2:0 2px 8px #1024381f, 0 18px 40px #1024381f}*,:before,:after{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--bg);color:var(--text);font-family:var(--font);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;overscroll-behavior-y:none;margin:0;font-size:15px;line-height:1.45}body:before{content:"";background:radial-gradient(120% 100% at 50% 0%, var(--bg-glow) 0%, transparent 70%);pointer-events:none;z-index:0;height:340px;position:fixed;inset:0 0 auto}button{font:inherit;color:inherit;cursor:pointer;touch-action:manipulation;background:0 0;border:0}input,select{font:inherit;color:inherit}h1,h2,h3{letter-spacing:-.02em;margin:0;font-weight:650}h1{font-size:24px}h2{font-size:17px}h3{font-size:14px}p{margin:0}.app{z-index:1;flex-direction:column;max-width:560px;min-height:100dvh;margin:0 auto;display:flex;position:relative}.screen{padding:calc(env(safe-area-inset-top) + 14px) 16px calc(var(--nav-h) + env(safe-area-inset-bottom) + 24px);animation:rise .28s var(--ease);flex:1}@keyframes rise{0%{opacity:0;transform:translateY(6px)}}.num{font-variant-numeric:tabular-nums;letter-spacing:-.01em}.eyebrow{letter-spacing:.1em;text-transform:uppercase;color:var(--text-faint);font-size:11px;font-weight:650}.dim{color:var(--text-dim)}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-1)}.stack{flex-direction:column;gap:14px;display:flex}.row{align-items:center;gap:10px;display:flex}.spread{justify-content:space-between;align-items:center;gap:10px;display:flex}.scroll-x{scrollbar-width:none;gap:8px;margin:0 -16px;padding-bottom:2px;padding-left:16px;padding-right:16px;display:flex;overflow-x:auto}.scroll-x::-webkit-scrollbar{display:none}.chip{background:var(--surface-2);border:1px solid var(--line);color:var(--text-dim);transition:all .18s var(--ease);border-radius:999px;flex:none;padding:7px 13px;font-size:13px;font-weight:550}.chip[aria-pressed=true]{background:var(--accent-dim);border-color:var(--accent);color:var(--accent)}.divider{background:var(--line);height:1px;margin:2px 0}.nav{z-index:20;height:calc(var(--nav-h) + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);background:color-mix(in srgb, var(--surface) 86%, transparent);-webkit-backdrop-filter:blur(18px)saturate(140%);backdrop-filter:blur(18px)saturate(140%);border-top:1px solid var(--line);display:flex;position:fixed;bottom:0;left:0;right:0}.nav-item{color:var(--text-faint);letter-spacing:.02em;transition:color .18s var(--ease);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:3px;font-size:10px;font-weight:600;display:flex}.nav-item svg{fill:currentColor;width:21px;height:21px}.nav-item.is-active{color:var(--accent)}.pcard{background:var(--card-face);box-shadow:var(--shadow-1);border-radius:8px;flex-direction:column;flex:none;justify-content:center;align-items:center;font-weight:700;line-height:1;display:flex;position:relative}.pcard-lg{border-radius:10px;gap:4px;width:62px;height:88px}.pcard-lg .pcard-rank{letter-spacing:-.04em;font-size:30px}.pcard-lg .pcard-suit{font-size:26px}.pcard-md{gap:2px;width:42px;height:60px}.pcard-md .pcard-rank{font-size:20px}.pcard-md .pcard-suit{font-size:17px}.pcard-sm{border-radius:6px;width:28px;height:40px}.pcard-sm .pcard-rank{font-size:14px}.pcard-sm .pcard-suit{font-size:12px}.pcard-pair{gap:8px;display:flex}.pcard-pair .pcard:first-child{transform:rotate(-4deg)}.pcard-pair .pcard:last-child{transform:rotate(4deg)}.table-svg{width:100%;height:auto;display:block}.table-pot-label{letter-spacing:.18em;fill:#ffffff73;font-size:8px;font-weight:700}.table-pot{fill:#eef6f2;letter-spacing:-.02em;font-size:17px;font-weight:700}.seat rect{fill:var(--surface-2);stroke:var(--line-strong);stroke-width:1px}.seat text{fill:var(--text-dim);font-size:11px;font-weight:700}.seat.is-hero rect{fill:var(--accent-dim);stroke:var(--accent);stroke-width:1.5px}.seat.is-hero text{fill:var(--accent)}.seat.is-actor rect{fill:var(--surface-3);stroke:var(--line-strong)}.seat.is-actor text{fill:var(--text)}.seat.is-folded{opacity:.32}.seat-bet rect{fill:var(--gold);stroke:none}.seat-bet text{fill:#20170a;font-size:9.5px;font-weight:800}.dealer-button circle{fill:#f2f6f9}.dealer-button text{fill:#1b2733;font-size:9px;font-weight:800}.range-grid{grid-template-columns:repeat(13,1fr);gap:2px;display:grid}.grid-cell{aspect-ratio:1;letter-spacing:-.03em;color:#ffffffeb;text-shadow:0 1px 1px #0006;background:var(--act-fold);border-radius:3px;justify-content:center;align-items:center;font-size:clamp(7px,2.05vw,10px);font-weight:650;display:flex;position:relative;overflow:hidden}:root[data-theme=light] .grid-cell{color:#fffffff5}:root[data-theme=light] .grid-cell.is-impossible,.grid-cell.is-impossible{border:1px dashed var(--line);color:var(--text-faint);text-shadow:none;background:0 0!important}.grid-cell.is-pair{box-shadow:inset 0 0 0 1px #ffffff2e}.grid-cell.is-highlight{outline:2px solid var(--text);outline-offset:0;z-index:2;box-shadow:var(--shadow-2);border-radius:4px;transform:scale(1.22)}.grid-cell.is-selected{color:#04120c;text-shadow:none;background:var(--accent)!important}.grid-cell[disabled]{cursor:default}.legend{flex-wrap:wrap;gap:6px 14px;display:flex}.legend-item{color:var(--text-dim);align-items:center;gap:6px;font-size:12px;display:flex}.legend-item i{border-radius:3px;width:10px;height:10px}.legend-item b{color:var(--text);font-weight:650}.freq-track{background:var(--surface-3);border-radius:999px;height:10px;display:flex;overflow:hidden}.freq-seg{height:100%;transition:width .35s var(--ease)}.freq-seg.is-chosen{box-shadow:inset 0 0 0 2px #ffffff8c}.freq-keys{flex-wrap:wrap;gap:4px 12px;margin-top:8px;display:flex}.freq-key{color:var(--text-dim);align-items:center;gap:5px;font-size:12px;display:flex}.freq-key i{border-radius:2px;width:8px;height:8px}.freq-key b{color:var(--text);font-weight:650}.freq-key.is-chosen{color:var(--text)}.btn{background:var(--surface-2);border:1px solid var(--line);transition:transform .12s var(--ease), filter .18s var(--ease);border-radius:13px;justify-content:center;align-items:center;gap:7px;padding:13px 18px;font-size:15px;font-weight:620;display:inline-flex}.btn:active{transform:scale(.97)}.btn-primary{background:var(--accent);color:#04120c;border-color:#0000}.btn-ghost{background:0 0}.btn-block{width:100%}.btn-sm{border-radius:10px;padding:8px 13px;font-size:13px}.actions{grid-auto-columns:1fr;grid-auto-flow:column;gap:9px;display:grid}.action-btn{border:1px solid var(--line-strong);background:var(--surface-2);transition:transform .12s var(--ease), background .18s var(--ease);border-radius:14px;flex-direction:column;align-items:center;gap:2px;padding:14px 6px;font-size:15px;font-weight:680;display:flex}.action-btn small{color:var(--text-faint);font-size:11px;font-weight:600}.action-btn:active{transform:scale(.96)}.action-btn[data-action=raise],.action-btn[data-action=threebet],.action-btn[data-action=fourbet]{border-color:color-mix(in srgb, var(--act-raise) 55%, transparent);background:color-mix(in srgb, var(--act-raise) 15%, var(--surface-2))}.action-btn[data-action=call]{border-color:color-mix(in srgb, var(--act-call) 55%, transparent);background:color-mix(in srgb, var(--act-call) 15%, var(--surface-2))}.hud{gap:8px;display:flex}.hud-cell{background:var(--surface);border:1px solid var(--line);border-radius:12px;flex:1;padding:9px 11px}.hud-cell span{letter-spacing:.08em;text-transform:uppercase;color:var(--text-faint);font-size:10px;font-weight:650;display:block}.hud-cell b{letter-spacing:-.02em;font-size:19px;font-weight:700}.prompt{padding:14px 16px}.prompt .eyebrow{white-space:nowrap;flex:none}.prompt h2{margin:2px 0 3px}.prompt p{color:var(--text-dim);font-size:13.5px}.hero-hand{flex-direction:column;flex:1;justify-content:center;align-items:center;gap:12px;min-height:130px;padding:6px 0;display:flex}.hero-hand.is-compact{flex:none;min-height:0;padding:0}.hero-hand.is-compact .pcard-lg{width:48px;height:68px}.hero-hand.is-compact .pcard-lg .pcard-rank{font-size:23px}.hero-hand.is-compact .pcard-lg .pcard-suit{font-size:20px}.kbd-hint{text-align:center;color:var(--text-faint);font-size:11.5px}.hero-hand .label{color:var(--text-faint);letter-spacing:.06em;text-transform:uppercase;font-size:12px;font-weight:600}.verdict{border-radius:var(--radius);border:1px solid var(--line);animation:rise .25s var(--ease);padding:14px 16px}.verdict.tone-good{background:color-mix(in srgb, var(--act-call) 16%, var(--surface));border-color:color-mix(in srgb, var(--act-call) 45%, transparent)}.verdict.tone-ok{background:color-mix(in srgb, var(--gold) 15%, var(--surface));border-color:color-mix(in srgb, var(--gold) 45%, transparent)}.verdict.tone-bad{background:color-mix(in srgb, var(--danger) 14%, var(--surface));border-color:color-mix(in srgb, var(--danger) 42%, transparent)}.verdict-head{justify-content:space-between;align-items:baseline;margin-bottom:10px;display:flex}.verdict-head h2{font-size:18px}.verdict-head b{color:var(--text-dim);font-size:13px;font-weight:650}.verdict p{color:var(--text-dim);margin-top:10px;font-size:13.5px;line-height:1.5}.note{color:var(--text-dim);padding:13px 15px;font-size:13px;line-height:1.55}.field{background:var(--surface-2);border:1px solid var(--line);width:100%;font-family:var(--mono);border-radius:12px;outline:none;padding:11px 13px;font-size:13px}.field:focus{border-color:var(--accent)}.label-row{justify-content:space-between;align-items:baseline;margin-bottom:7px;display:flex}.board-slots{gap:7px;display:flex}.slot{border:1px dashed var(--line-strong);width:42px;height:60px;color:var(--text-faint);border-radius:8px;justify-content:center;align-items:center;font-size:18px;display:flex}.picker{grid-template-columns:repeat(13,1fr);gap:3px;display:grid}.picker button{aspect-ratio:.72;background:var(--card-face);color:var(--card-ink);border-radius:4px;justify-content:center;align-items:center;font-size:clamp(7px,1.9vw,10px);font-weight:700;display:flex}.picker button[disabled]{opacity:.22}.equity-bars{flex-direction:column;gap:10px;display:flex}.equity-row{grid-template-columns:54px 1fr 58px;align-items:center;gap:10px;font-size:13px;display:grid}.equity-row .bar{background:var(--surface-3);border-radius:999px;height:12px;overflow:hidden}.equity-row .bar i{height:100%;transition:width .4s var(--ease);border-radius:999px;display:block}.equity-row b{text-align:right;font-size:16px;font-weight:700}.ring-wrap{align-items:center;gap:18px;padding:16px;display:flex}.ring{flex:none;width:104px;height:104px;position:relative}.ring svg{transform:rotate(-90deg)}.ring-value{flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.ring-value b{letter-spacing:-.03em;font-size:25px;font-weight:700}.ring-value span{color:var(--text-faint);text-transform:uppercase;letter-spacing:.08em;font-size:10px;font-weight:650}.leak{border-bottom:1px solid var(--line);text-align:left;flex-direction:column;gap:4px;width:100%;padding:11px 14px;display:flex}.leak:last-child{border-bottom:0}.leak-head{justify-content:space-between;align-items:baseline;font-size:13.5px;font-weight:600;display:flex}.leak-head b{font-variant-numeric:tabular-nums}.leak-bar{background:var(--surface-3);border-radius:999px;height:6px;overflow:hidden}.leak-bar i{border-radius:999px;height:100%;display:block}.leak small{color:var(--text-faint);font-size:11px}.toggle-row{border-bottom:1px solid var(--line);text-align:left;justify-content:space-between;align-items:center;gap:12px;width:100%;padding:12px 14px;display:flex}.toggle-row:last-child{border-bottom:0}.toggle-row span{font-size:14px}.toggle-row small{color:var(--text-faint);margin-top:1px;font-size:11.5px;display:block}.switch{background:var(--surface-3);width:44px;height:26px;transition:background .2s var(--ease);border-radius:999px;flex:none;position:relative}.switch:after{content:"";width:20px;height:20px;transition:transform .2s var(--ease);background:#fff;border-radius:50%;position:absolute;top:3px;left:3px;box-shadow:0 1px 3px #0006}.switch[aria-pressed=true]{background:var(--accent)}.switch[aria-pressed=true]:after{transform:translate(18px)}.recent{flex-wrap:wrap;gap:5px;display:flex}.recent i{border-radius:3px;width:11px;height:11px}
