@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=IBM+Plex+Mono:wght@400;500&display=swap";:root{--bg:#fff;--bg-subtle:#f8f8f8;--bg-raised:#f3f3f3;--border:#e4e4e7;--border-strong:#d1d1d6;--text:#09090b;--text-2:#52525b;--text-3:#a1a1aa;--accent:#16a34a;--accent-light:#f0fdf4;--accent-dim:#bbf7d0;--red:#dc2626;--red-light:#fef2f2;--blue:#2563eb;--blue-light:#eff6ff;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:20px;--shadow-sm:0 1px 3px #00000014, 0 1px 2px #0000000a;--shadow-md:0 4px 12px #00000014, 0 2px 4px #0000000a;--shadow-card:0 2px 8px #0000001f}*,:before,:after{box-sizing:border-box;margin:0;padding:0}button,input,textarea{font-family:inherit}img,svg,video{max-width:100%}body{background:var(--bg);color:var(--text);-webkit-tap-highlight-color:transparent;-webkit-font-smoothing:antialiased;overscroll-behavior:none;font-family:Inter,system-ui,sans-serif;font-size:15px;line-height:1.5;overflow:hidden}#root{background:var(--bg);text-align:left;flex-direction:column;width:100%;height:100dvh;display:flex;overflow:hidden}.app{flex-direction:column;height:100%;display:flex}.main-content{overscroll-behavior-y:contain;padding-bottom:calc(64px + env(safe-area-inset-bottom));flex:1;overflow:hidden auto}.sidebar{z-index:100;border-top:1px solid var(--border);background:var(--bg);padding:8px 0 max(8px, env(safe-area-inset-bottom));flex-direction:row;display:flex;position:fixed;bottom:0;left:0;right:0}.sidebar-brand,.sidebar-stat{display:none}.sidebar-links{flex-direction:row;width:100%;display:flex}.nav-btn{cursor:pointer;color:var(--text-3);background:0 0;border:none;flex-direction:column;flex:1;align-items:center;gap:4px;padding:6px 0;transition:color .15s;display:flex}.nav-icon{justify-content:center;align-items:center;font-style:normal;line-height:1;display:flex}.nav-label{letter-spacing:.5px;text-transform:uppercase;font-size:10px;font-weight:500}.nav-btn.nav-active{color:var(--accent)}@media (width>=768px){#root{max-width:none}.app{flex-direction:row}.main-content{flex:1;order:2;max-width:none}.sidebar{border-top:none;border-right:1px solid var(--border);flex-direction:column;flex-shrink:0;order:1;justify-content:flex-start;width:220px;height:100%;padding:0;position:static}.main-content{padding-bottom:0}.sidebar-brand{border-bottom:1px solid var(--border);flex-shrink:0;align-items:center;gap:10px;padding:24px 20px 20px;display:flex}.brand-suit{font-size:22px;line-height:1}.brand-name{color:var(--text);letter-spacing:-.3px;font-size:16px;font-weight:700}.sidebar-links{flex-direction:column;flex:1;gap:2px;width:100%;padding:12px 12px 0}.nav-btn{border-radius:var(--radius-md);color:var(--text-2);flex-direction:row;flex:none;justify-content:flex-start;align-items:center;gap:12px;padding:11px 12px;font-size:14px;font-weight:500}.nav-btn:hover{background:var(--bg-subtle);color:var(--text)}.nav-btn.nav-active{background:var(--accent-light);color:var(--accent)}.nav-label{letter-spacing:0;text-transform:none;font-size:14px;font-weight:500}.sidebar-stat{background:var(--bg-subtle);border:1px solid var(--border);border-radius:var(--radius-md);flex-direction:column;align-items:center;margin:8px 12px 20px;padding:16px 20px;display:flex}.ss-val{color:var(--text);font-family:IBM Plex Mono,monospace;font-size:22px;font-weight:600}.ss-label{letter-spacing:.8px;text-transform:uppercase;color:var(--text-3);margin-top:2px;font-size:10px;font-weight:600}}.tab-body{flex-direction:column;gap:14px;padding:20px 18px 28px;display:flex}.center-msg{height:300px;color:var(--text-3);justify-content:center;align-items:center;font-size:14px}.card{background:var(--bg);border:1.5px solid var(--border);width:68px;height:96px;box-shadow:var(--shadow-card);border-radius:10px;flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;gap:2px;line-height:1;display:flex}.card-sm{border-radius:7px;width:48px;height:66px}.card-red .cr,.card-red .cs{color:var(--red)}.card-black .cr,.card-black .cs{color:var(--text)}.cr{font-size:22px;font-weight:700}.cs{font-size:20px}.card-sm .cr{font-size:15px}.card-sm .cs{font-size:14px}.card-down{background:var(--bg-subtle);border:1.5px solid var(--border);color:var(--text-3);font-size:24px}.card-row{align-items:center;gap:10px;display:flex}.coach-wrap{align-items:flex-start;gap:12px;display:flex}.coach-avatar{background:var(--text);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;margin-top:2px;font-size:14px;font-weight:700;display:flex}.coach-bubble{background:var(--bg-subtle);border:1px solid var(--border);border-radius:var(--radius-lg);border-top-left-radius:4px;flex:1;padding:14px 16px}.coach-text{color:var(--text-2);font-size:14px;line-height:1.7}.coach-typing{align-items:center;gap:5px;height:20px;display:flex}.coach-typing span{background:var(--text-3);border-radius:50%;width:6px;height:6px;animation:.9s ease-in-out infinite bounce}.coach-typing span:nth-child(2){animation-delay:.15s}.coach-typing span:nth-child(3){animation-delay:.3s}@keyframes bounce{0%,80%,to{transform:translateY(0)}40%{transform:translateY(-5px)}}.prog-track{background:var(--border);border-radius:2px;height:3px;overflow:hidden}.prog-fill{border-radius:2px;height:100%;transition:width .3s}.back-btn{color:var(--text-3);cursor:pointer;background:0 0;border:none;align-items:center;gap:4px;padding:4px 0;font-size:14px;font-weight:500;display:flex}.back-btn:hover{color:var(--text)}.btn-primary{background:var(--text);border-radius:var(--radius-md);color:#fff;cursor:pointer;letter-spacing:.2px;border:none;width:100%;margin-top:4px;padding:14px;font-family:inherit;font-size:15px;font-weight:600;transition:opacity .15s}.btn-primary:active{opacity:.8}.btn-primary:disabled{opacity:.35;cursor:default}.rec-banner{background:var(--accent-light);border:1px solid var(--accent-dim);border-radius:var(--radius-md);color:var(--accent);align-items:center;gap:10px;padding:12px 14px;font-size:13px;display:flex}.rec-icon{font-size:15px}.rec-banner strong{font-weight:600}.ev-pos{color:var(--accent)}.ev-neg{color:var(--red)}.ev-neutral{color:var(--text-3)}.pos-val{color:var(--accent)}.neg-val{color:var(--red)}.table-wrap{justify-content:center;padding:4px 0 0;display:flex}.table-svg{width:100%;max-width:340px;height:auto;display:block}@media (width>=768px){.table-svg{max-width:520px}}.tab-header{justify-content:space-between;align-items:center;padding-top:4px;display:flex}.th-title{color:var(--text);letter-spacing:-.4px;font-size:22px;font-weight:700}.th-meta{color:var(--text-3);font-family:IBM Plex Mono,monospace;font-size:12px;font-weight:500}.th-title-row{align-items:center;gap:12px;display:flex}.sim-mode-badge{border-radius:20px;padding:4px 10px;font-size:12px;font-weight:600}.smb-coach{background:var(--blue-light);color:var(--blue)}.smb-practice{background:var(--accent-light);color:var(--accent)}.street-indicator{justify-content:center;align-items:center;gap:0;padding:8px 0;display:flex}.si-step{flex-direction:column;flex:1;align-items:center;gap:4px;display:flex;position:relative}.si-step:not(:last-child):after{content:"";background:var(--border);z-index:0;width:80%;height:1px;position:absolute;top:5px;left:60%}.si-dot{background:var(--bg);border:2px solid var(--border);z-index:1;border-radius:50%;width:10px;height:10px;transition:all .2s}.si-label{letter-spacing:.8px;color:var(--text-3);text-transform:uppercase;font-size:9px;font-weight:600}.si-step.si-active .si-dot{background:var(--accent);border-color:var(--accent)}.si-step.si-active .si-label{color:var(--accent)}.si-step.si-done .si-dot{background:var(--accent-dim);border-color:var(--accent-dim)}.si-step.si-done .si-label{color:var(--text-3)}.si-step.si-done:after{background:var(--accent-dim)}.pos-callout{background:var(--bg-subtle);border:1px solid var(--border);border-left:3px solid var(--accent);border-radius:0 var(--radius-md) var(--radius-md) 0;flex-direction:column;gap:2px;padding:10px 14px;display:flex}.pc-pos{color:var(--text);letter-spacing:-.3px;font-size:18px;font-weight:700;line-height:1.2}.pc-full{color:var(--text-2);font-size:12px;font-weight:500}.pc-desc{color:var(--text-3);margin-top:2px;font-size:12px;line-height:1.4}.ctx-bar{flex-wrap:wrap;gap:6px;display:flex}.ctx-pill{background:var(--bg-subtle);border:1px solid var(--border);border-radius:var(--radius-sm);text-align:center;flex:1;padding:8px 5px}.ctx-l{color:var(--text-3);letter-spacing:.8px;text-transform:uppercase;margin-bottom:2px;font-size:9px;font-weight:600;display:block}.ctx-v{color:var(--text);font-family:IBM Plex Mono,monospace;font-size:13px;font-weight:500;display:block}.ctx-hot{color:var(--accent)}.hero-section{flex-direction:column;gap:8px;display:flex}.sec-label{letter-spacing:.8px;text-transform:uppercase;color:var(--text-3);align-items:center;gap:8px;font-size:11px;font-weight:600;display:flex}.hand-name{color:var(--accent);letter-spacing:.5px;font-family:IBM Plex Mono,monospace;font-size:12px;font-weight:500}.situation-tag{color:var(--text-2);background:var(--bg-subtle);border:1px solid var(--border);border-radius:var(--radius-sm);padding:7px 12px;font-size:12px;font-weight:500}.coach-hint-area,.decision-section{flex-direction:column;gap:12px;display:flex}.decision-prompt{background:var(--bg-subtle);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-2);padding:14px 16px;font-size:14px;line-height:1.6}.decision-prompt strong{color:var(--text);font-weight:600}.action-row{gap:8px;display:flex}.act-btn{border-radius:var(--radius-md);cursor:pointer;letter-spacing:.2px;border:1.5px solid;flex:1;padding:16px 6px;font-family:inherit;font-size:14px;font-weight:600;transition:all .12s}.act-btn:active{transform:scale(.97)}.act-fold{background:var(--red-light);color:var(--red);border-color:#fca5a5}.act-call{background:var(--accent-light);color:var(--accent);border-color:var(--accent-dim)}.act-raise{background:var(--blue-light);color:var(--blue);border-color:#bfdbfe}.sizing-section{flex-direction:column;gap:12px;display:flex}.sizing-prompt{color:var(--text-2);align-items:center;gap:10px;font-size:14px;font-weight:500;display:flex}.sp-badge{background:var(--text);color:#fff;letter-spacing:.3px;border-radius:20px;padding:4px 12px;font-size:12px;font-weight:600}.sizing-grid{flex-direction:column;gap:8px;display:flex}.size-btn{background:var(--bg-subtle);border:1px solid var(--border);border-radius:var(--radius-md);cursor:pointer;justify-content:space-between;align-items:center;padding:14px 18px;transition:all .12s;display:flex}.size-btn:active{background:var(--bg-raised);border-color:var(--border-strong);transform:scale(.99)}.sb-label{color:var(--text);font-family:IBM Plex Mono,monospace;font-size:14px;font-weight:500}.sb-fold{color:var(--text-3);font-family:IBM Plex Mono,monospace;font-size:12px}.size-back{color:var(--text-3);cursor:pointer;text-align:left;background:0 0;border:none;padding:4px 0;font-size:13px;font-weight:500}.computing-row{color:var(--text-3);align-items:center;gap:10px;padding:8px 0;font-size:13px;display:flex}.spinner{border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;width:18px;height:18px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.result-section{flex-direction:column;gap:14px;display:flex}.result-banner{border-radius:var(--radius-md);border:1px solid;align-items:center;gap:14px;padding:14px 16px;display:flex}.rb-correct{background:var(--accent-light);border-color:var(--accent-dim)}.rb-wrong{background:var(--red-light);border-color:#fca5a5}.rb-icon{font-size:22px}.rb-title{color:var(--text);font-size:15px;font-weight:600}.rb-sub{color:var(--text-3);margin-top:2px;font-size:12px}.rb-sub strong{color:var(--text);font-weight:600}.ev-compare-label{letter-spacing:.8px;text-transform:uppercase;color:var(--text-3);font-size:11px;font-weight:600}.ev-compare-row{grid-template-columns:1fr 1fr 1fr;gap:8px;display:grid}.evc-box{background:var(--bg-subtle);border:1px solid var(--border);border-radius:var(--radius-md);text-align:center;padding:12px 8px;transition:all .15s}.evc-box.evc-chosen{border-color:var(--border-strong);background:var(--bg-raised)}.evc-box.evc-best{border-color:var(--accent)}.evc-action{letter-spacing:1px;text-transform:uppercase;color:var(--text-3);margin-bottom:5px;font-size:9px;font-weight:600}.evc-ev{font-family:IBM Plex Mono,monospace;font-size:20px;font-weight:600;line-height:1}.evc-sub{color:var(--text-3);margin-top:3px;font-family:IBM Plex Mono,monospace;font-size:9px}.math-grid{grid-template-columns:1fr 1fr;gap:8px;display:grid}.math-cell{background:var(--bg-subtle);border:1px solid var(--border);border-radius:var(--radius-md);text-align:center;padding:14px}.mc-label{letter-spacing:1px;text-transform:uppercase;color:var(--text-3);margin-bottom:6px;font-size:9px;font-weight:600}.mc-val{color:var(--text);font-family:IBM Plex Mono,monospace;font-size:26px;font-weight:600;line-height:1}.mc-sub{color:var(--text-3);margin-top:4px;font-size:10px}.raise-breakdown{flex-direction:column;gap:10px;display:flex}.rb-head{letter-spacing:.8px;text-transform:uppercase;color:var(--text-3);font-size:11px;font-weight:600}.street-history{flex-wrap:wrap;gap:6px;display:flex}.sh-pill{border:1px solid;border-radius:20px;padding:4px 10px;font-size:11px;font-weight:500}.shp-correct{background:var(--accent-light);border-color:var(--accent-dim);color:var(--accent)}.shp-wrong{background:var(--red-light);color:var(--red);border-color:#fca5a5}.hand-summary{background:var(--bg-subtle);border:1px solid var(--border);border-radius:var(--radius-lg);flex-direction:column;gap:14px;padding:16px;display:flex}.hs-head{color:var(--text);letter-spacing:-.3px;font-size:18px;font-weight:700}.villain-row{flex-direction:column;gap:8px;display:flex}.hs-score{color:var(--text-2);font-family:IBM Plex Mono,monospace;font-size:13px}.mode-select{flex-direction:column;gap:12px;display:flex}.mode-intro{color:var(--text-2);padding:2px 0;font-size:14px}.mode-card{background:var(--bg-subtle);border:1px solid var(--border);border-radius:var(--radius-lg);cursor:pointer;text-align:left;align-items:center;gap:14px;width:100%;padding:16px;transition:all .12s;display:flex}.mode-card:active{border-color:var(--border-strong);background:var(--bg-raised);transform:scale(.99)}.mc-icon{text-align:center;width:36px;font-size:24px}.mc-title{color:var(--text);letter-spacing:-.2px;margin-bottom:4px;font-size:16px;font-weight:700}.mc-desc{color:var(--text-2);font-size:13px;line-height:1.4}.module-list{flex-direction:column;gap:10px;display:flex}.mod-card{background:var(--bg-subtle);border:1px solid var(--border);border-radius:var(--radius-lg);cursor:pointer;text-align:left;align-items:center;gap:14px;width:100%;padding:16px;transition:all .12s;display:flex}.mod-card:active:not(:disabled){background:var(--bg-raised);border-color:var(--border-strong)}.mod-card.mod-locked{opacity:.45;cursor:not-allowed}.mod-card.mod-rec{border-color:var(--accent)}.mod-icon{text-align:center;width:36px;font-size:24px}.mod-body{flex:1;min-width:0}.mod-title{color:var(--text);letter-spacing:-.1px;margin-bottom:2px;font-size:15px;font-weight:600}.mod-meta{color:var(--text-3);align-items:center;gap:6px;margin-bottom:5px;font-size:11px;font-weight:500;display:flex}.mod-tagline{color:var(--text-2);margin-bottom:6px;font-size:12px}.mod-status{color:var(--text-3);text-align:right;min-width:28px;font-size:13px;font-weight:600}.learn-screen{background:var(--bg);flex-direction:column;height:calc(100dvh - 64px);display:flex;overflow:hidden}@media (width>=768px){.learn-screen{height:100dvh}}.learn-topbar{border-bottom:1px solid var(--border);background:var(--bg);flex-shrink:0;justify-content:space-between;align-items:center;padding:16px 24px 14px;display:flex}.lt-modtitle{color:var(--text-2);font-size:14px;font-weight:600}.lt-prog{color:var(--text-3);font-family:IBM Plex Mono,monospace;font-size:13px;font-weight:500}.learn-dots-row{border-bottom:1px solid var(--border);background:var(--bg);flex-wrap:wrap;flex-shrink:0;gap:6px;padding:12px 24px 10px;display:flex}.learn-dot{background:var(--bg-subtle);border:1.5px solid var(--border);width:30px;height:30px;color:var(--text-3);cursor:pointer;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;padding:0;font-size:10px;font-weight:700;transition:all .15s;display:flex}.learn-dot.ld-active{color:#fff;border-width:2px;transform:scale(1.15)}.learn-dot.ld-done{background:var(--accent-light);border-color:var(--accent-dim)}.learn-body{-webkit-overflow-scrolling:touch;flex:1;width:100%;max-width:720px;margin:0 auto;padding:32px 24px;overflow-y:auto}.read-page{flex-direction:column;gap:28px;display:flex}.read-heading{color:var(--text);letter-spacing:-.5px;font-size:28px;font-weight:700;line-height:1.25}.read-para{color:var(--text-2);font-size:16px;line-height:1.9}.read-callout{background:var(--accent-light);border-left:4px solid var(--accent);border-radius:0 var(--radius-md) var(--radius-md) 0;color:var(--text-2);padding:18px 20px;font-size:15px;font-weight:400;line-height:1.7}.quiz-page{flex-direction:column;gap:20px;display:flex}.qp-label{letter-spacing:1.5px;text-transform:uppercase;color:var(--text-3);font-size:11px;font-weight:700}.qp-question{color:var(--text);background:var(--bg-subtle);border-radius:var(--radius-md);border:1px solid var(--border);letter-spacing:-.1px;padding:18px 20px;font-size:17px;font-weight:600;line-height:1.6}.scenario-box{background:var(--bg-subtle);border:1px solid var(--border);border-left:4px solid var(--accent);border-radius:0 var(--radius-md) var(--radius-md) 0;padding:20px}.sb-sit-label{letter-spacing:2px;text-transform:uppercase;color:var(--text-3);margin-bottom:10px;font-size:10px;font-weight:700}.sb-situation{color:var(--text-2);font-family:IBM Plex Mono,monospace;font-size:15px;line-height:1.65}.qp-options{flex-direction:column;gap:10px;display:flex}.qp-opt{background:var(--bg-subtle);border:1.5px solid var(--border);border-radius:var(--radius-md);cursor:pointer;text-align:left;align-items:flex-start;gap:14px;width:100%;padding:16px 18px;transition:all .15s;display:flex}.qp-opt:not(:disabled):active{background:var(--bg-raised)}.qp-opt:disabled{cursor:default}.qp-opt.qp-correct{background:var(--accent-light);border-color:var(--accent)}.qp-opt.qp-wrong{background:var(--red-light);border-color:var(--red)}.qp-opt.qp-muted{opacity:.4}.qpo-letter{color:var(--text-3);min-width:20px;font-size:14px;font-weight:700;line-height:1.4}.qpo-text{color:var(--text-2);flex:1;font-size:15px;line-height:1.55}.qpo-icon{text-align:right;min-width:20px;font-size:16px;line-height:1.4}.qp-opt.qp-correct .qpo-letter,.qp-opt.qp-correct .qpo-text,.qp-opt.qp-correct .qpo-icon{color:var(--accent)}.qp-opt.qp-wrong .qpo-letter,.qp-opt.qp-wrong .qpo-text,.qp-opt.qp-wrong .qpo-icon{color:var(--red)}.qp-feedback{border-radius:var(--radius-md);border:1.5px solid;flex-direction:column;gap:8px;padding:16px 18px;display:flex}.qpf-correct{background:var(--accent-light);border-color:var(--accent)}.qpf-wrong{background:var(--red-light);border-color:var(--red)}.qpf-title{color:var(--text);font-size:15px;font-weight:600}.qpf-text{color:var(--text-2);font-size:15px;line-height:1.7}.scenario-reveal{background:var(--bg-subtle);border:1px solid var(--border);border-radius:var(--radius-md);flex-direction:column;gap:8px;padding:16px 18px;display:flex}.sr-label{letter-spacing:2px;text-transform:uppercase;color:var(--accent);font-size:9px;font-weight:700}.sr-text{color:var(--text-2);font-size:15px;line-height:1.7}.learn-footer{padding:12px 18px max(14px, env(safe-area-inset-bottom));border-top:1px solid var(--border);background:var(--bg);flex-shrink:0;justify-content:space-between;align-items:center;display:flex}.lf-btn{background:var(--bg-subtle);border:1.5px solid var(--border);border-radius:var(--radius-md);color:var(--text-2);cursor:pointer;min-width:80px;padding:10px 20px;font-family:inherit;font-size:14px;font-weight:600;transition:all .12s}.lf-btn:not(:disabled):active{background:var(--bg-raised)}.lf-btn.lf-dim,.lf-btn:disabled{opacity:.3;cursor:default}.lf-hint{color:var(--text-3);letter-spacing:.5px;text-align:center;font-size:10px;font-weight:500}.lf-finish{background:var(--text);color:#fff;border-color:var(--text)}.profile-info{background:var(--bg-subtle);border:1px solid var(--border);border-radius:var(--radius-md);padding:12px 16px}.pi-level{color:var(--text);font-size:14px;font-weight:600}.pi-gap{color:var(--text-3);margin-top:2px;font-size:12px;font-weight:500}.stat-row{grid-template-columns:1fr 1fr;gap:8px;display:grid}.stat-box{background:var(--bg-subtle);border:1px solid var(--border);border-radius:var(--radius-md);text-align:center;padding:14px}.sb-val{color:var(--text);font-family:IBM Plex Mono,monospace;font-size:26px;font-weight:600;line-height:1}.sb-label{letter-spacing:.8px;text-transform:uppercase;color:var(--text-3);margin-top:4px;font-size:10px;font-weight:600}.chart-section{background:var(--bg-subtle);border:1px solid var(--border);border-radius:var(--radius-md);padding:14px}.chart-label{letter-spacing:.8px;text-transform:uppercase;color:var(--text-3);margin-bottom:10px;font-size:10px;font-weight:600}.sparkline-wrap,.pnl-chart-wrap{overflow-x:auto}.pnl-chart-svg{width:100%;min-width:260px;display:block}.sparkline{width:100%;min-width:160px;height:80px;display:block}.bb-rate{color:var(--text-3);text-align:center;margin-top:8px;font-family:IBM Plex Mono,monospace;font-size:11px;font-weight:500}.btn-add-session{background:var(--bg-subtle);border:1.5px solid var(--border);border-radius:var(--radius-md);width:100%;color:var(--text);cursor:pointer;padding:14px;font-family:inherit;font-size:15px;font-weight:600;transition:all .12s}.btn-add-session:active{background:var(--bg-raised);border-color:var(--border-strong)}.session-form{background:var(--bg-subtle);border:1px solid var(--border);border-radius:var(--radius-lg);flex-direction:column;gap:14px;padding:18px;display:flex}.sf-title{color:var(--text);font-size:15px;font-weight:700}.sf-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.sf-row label,.sf-col label{color:var(--text-2);min-width:100px;font-size:12px;font-weight:600}.sf-row input{background:var(--bg);border:1.5px solid var(--border);border-radius:var(--radius-sm);color:var(--text);flex:1;padding:8px 12px;font-size:13px;transition:border-color .15s}.sf-row input:focus{border-color:var(--accent);outline:none}.sf-col{flex-direction:column;gap:6px;display:flex}.sf-col textarea{background:var(--bg);border:1.5px solid var(--border);border-radius:var(--radius-sm);color:var(--text);resize:none;height:70px;padding:10px 12px;font-size:13px;line-height:1.5;transition:border-color .15s}.sf-col textarea:focus{border-color:var(--accent);outline:none}.session-history{flex-direction:column;display:flex}.sh-head{letter-spacing:.8px;text-transform:uppercase;color:var(--text-3);margin-bottom:10px;font-size:11px;font-weight:700}.session-row{border-bottom:1px solid var(--border);align-items:center;gap:10px;padding:10px 0;display:flex}.sr-date{color:var(--text-2);flex:1;font-size:13px;font-weight:500}.sr-hours{color:var(--text-3);min-width:30px;font-family:IBM Plex Mono,monospace;font-size:12px}.sr-result{text-align:right;min-width:60px;font-family:IBM Plex Mono,monospace;font-size:16px;font-weight:600}.profile-lessons{flex-direction:column;gap:10px;display:flex}.mp-row{background:var(--bg-subtle);border:1px solid var(--border);border-radius:var(--radius-md);align-items:center;gap:12px;padding:12px 14px;display:flex}.mp-icon{text-align:center;width:24px;font-size:18px}.mp-body{flex:1}.mp-name{color:var(--text);margin-bottom:5px;font-size:13px;font-weight:600}.mp-count{color:var(--text-3);text-align:right;min-width:24px;font-family:IBM Plex Mono,monospace;font-size:12px;font-weight:500}.onboard{background:var(--bg);flex-direction:column;justify-content:center;width:100%;min-height:100dvh;padding:0 24px 40px;display:flex}.ob-logo{text-align:center;padding:48px 0 36px}.ob-suit{margin-bottom:10px;font-size:40px}.ob-title{color:var(--text);letter-spacing:-1.5px;font-size:42px;font-weight:800;line-height:1}.ob-sub{letter-spacing:1.5px;color:var(--text-3);text-transform:uppercase;margin-top:8px;font-size:13px;font-weight:500}.ob-dots{justify-content:center;gap:6px;margin-bottom:28px;display:flex}.ob-dot{background:var(--border);border-radius:50%;width:6px;height:6px;transition:background .2s}.ob-dot.ob-on{background:var(--text)}.ob-card{background:var(--bg-subtle);border:1.5px solid var(--border);border-radius:var(--radius-xl);width:100%;padding:24px}.ob-q{color:var(--text);letter-spacing:-.2px;margin-bottom:20px;font-size:17px;font-weight:600;line-height:1.5}.ob-opts{flex-direction:column;gap:10px;display:flex}.ob-opt{background:var(--bg);border:1.5px solid var(--border);border-radius:var(--radius-md);color:var(--text-2);cursor:pointer;text-align:left;padding:14px 16px;font-size:14px;font-weight:500;transition:all .12s}.ob-opt:active{background:var(--bg-raised);border-color:var(--border-strong);color:var(--text)}.ob-step{text-align:center;color:var(--text-3);margin-top:16px;font-size:12px;font-weight:500}.charts-tab{gap:14px}.charts-menu{flex-direction:column;gap:10px;display:flex}.chart-menu-card{background:var(--bg-subtle);border:1px solid var(--border);border-radius:var(--radius-lg);cursor:pointer;text-align:left;align-items:center;gap:14px;width:100%;padding:16px;transition:all .12s;display:flex}.chart-menu-card:active{background:var(--bg-raised);border-color:var(--border-strong)}.cmc-icon{text-align:center;width:36px;font-size:24px}.cmc-title{color:var(--text);letter-spacing:-.2px;margin-bottom:4px;font-size:16px;font-weight:700}.cmc-sub{color:var(--text-2);margin-top:2px;font-size:13px;line-height:1.4}.cmc-arrow{color:var(--text-3);margin-left:auto;font-size:16px}.legend-section{background:var(--bg-subtle);border:1px solid var(--border);border-radius:var(--radius-md);flex-direction:column;gap:10px;padding:12px 16px;display:flex}.legend-label{letter-spacing:1px;text-transform:uppercase;color:var(--text-3);font-size:10px;font-weight:700}.legend-row{flex-wrap:wrap;gap:12px;display:flex}.legend-item{color:var(--text-2);align-items:center;gap:8px;font-size:13px;font-weight:500;display:flex}.legend-dot{border-radius:4px;flex-shrink:0;width:16px;height:16px}.chart-topbar{justify-content:space-between;align-items:center;padding-top:4px;display:flex}.ct-title{color:var(--text);letter-spacing:-.2px;font-size:18px;font-weight:700}.pos-selector{flex-wrap:wrap;gap:6px;display:flex}.pos-pill{background:var(--bg-subtle);border:1.5px solid var(--border);color:var(--text-2);cursor:pointer;border-radius:20px;padding:6px 14px;font-size:12px;font-weight:600;transition:all .12s}.pos-pill.pos-active{background:var(--text);border-color:var(--text);color:#fff}.range-info{margin:2px 0}.ri-pos{color:var(--text);font-size:14px;font-weight:700}.ri-sub{color:var(--text-3);margin-top:2px;font-size:12px;font-weight:500}.rg-wrap{grid-template-columns:18px repeat(13,1fr);gap:1px;width:100%;max-width:100%;display:grid;overflow:hidden}.rg-corner{width:18px;height:18px}.rg-hdr{color:var(--text-3);text-align:center;height:18px;font-size:8px;font-weight:600;line-height:18px}.rg-cell{aspect-ratio:1;text-align:center;cursor:default;border-radius:2px;justify-content:center;align-items:center;font-size:6px;font-weight:600;line-height:1.1;transition:all .1s;display:flex}.rg-hl{outline:2px solid var(--text);outline-offset:1px;z-index:2}.range-note{color:var(--text-3);padding:4px 0;font-size:11px;font-weight:500;line-height:1.5}.spot-list{flex-direction:column;gap:8px;display:flex}.spot-card{background:var(--bg-subtle);border:1px solid var(--border);border-radius:var(--radius-md);cursor:pointer;text-align:left;align-items:center;gap:12px;width:100%;padding:14px;transition:all .12s;display:flex}.spot-card:active{background:var(--bg-raised)}.sc-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.sc-title{color:var(--text);font-size:14px;font-weight:600}.sc-board{color:var(--text-3);margin-top:2px;font-family:IBM Plex Mono,monospace;font-size:11px;font-weight:500}.sc-action{text-align:right;min-width:50px;margin-left:auto;font-size:12px;font-weight:700}.spot-hero{background:var(--bg-subtle);border-radius:var(--radius-lg);text-align:center;border:1px solid var(--border);border-left-width:3px;padding:20px}.spot-board{color:var(--text-2);margin-bottom:4px;font-family:IBM Plex Mono,monospace;font-size:15px;font-weight:500}.spot-hand{color:var(--text);margin-bottom:10px;font-family:IBM Plex Mono,monospace;font-size:22px;font-weight:700}.spot-action{letter-spacing:-.2px;font-size:18px;font-weight:700}.spot-section{background:var(--bg-subtle);border:1px solid var(--border);border-radius:var(--radius-md);flex-direction:column;gap:8px;padding:14px;display:flex}.spot-sec-label{letter-spacing:1px;text-transform:uppercase;color:var(--accent);font-size:10px;font-weight:700}.spot-text{color:var(--text-2);font-size:13px;line-height:1.7}.spot-spr{background:var(--bg-subtle);border:1px solid var(--border);border-radius:var(--radius-md);justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.spr-label{letter-spacing:1px;text-transform:uppercase;color:var(--text-3);font-size:10px;font-weight:700}.spr-val{color:var(--text);font-family:IBM Plex Mono,monospace;font-size:18px;font-weight:600}.quiz-score{color:var(--text-3);font-family:IBM Plex Mono,monospace;font-size:13px;font-weight:500}.quiz-card{background:var(--bg-subtle);border:1px solid var(--border);border-radius:var(--radius-lg);text-align:center;flex-direction:column;gap:8px;padding:28px;display:flex}.qc-pos{letter-spacing:1.5px;text-transform:uppercase;color:var(--text-3);font-size:11px;font-weight:600}.qc-hand{color:var(--text);letter-spacing:-2px;font-size:52px;font-weight:800;line-height:1}.qc-q{color:var(--text-3);font-size:13px;font-weight:500}.quiz-btns{grid-template-columns:1fr 1fr;gap:8px;display:grid}.quiz-opt{border-radius:var(--radius-md);cursor:pointer;border:1.5px solid;padding:16px;font-family:inherit;font-size:14px;font-weight:600;transition:all .12s}.quiz-opt:active{transform:scale(.97)}.quiz-result{flex-direction:column;gap:14px;display:flex}.qr-banner{border-radius:var(--radius-md);border:1.5px solid;justify-content:space-between;align-items:center;padding:14px 16px;font-size:14px;font-weight:600;display:flex}.qr-correct{background:var(--accent-light);border-color:var(--accent);color:var(--accent)}.qr-correct strong{font-weight:700}.qr-wrong{background:var(--red-light);border-color:var(--red);color:var(--red)}.qr-wrong strong{font-weight:700}.quiz-grid-wrap{flex-direction:column;gap:8px;display:flex}.qg-label{color:var(--text-3);font-size:12px;font-weight:500}.auth-screen{background:var(--bg);justify-content:center;align-items:center;width:100%;min-height:100dvh;padding:24px;display:flex}.auth-card{flex-direction:column;gap:20px;width:100%;max-width:420px;display:flex}.auth-form{flex-direction:column;gap:14px;min-height:260px;display:flex}.auth-logo{text-align:center;padding-bottom:8px}.auth-tabs{background:var(--bg-subtle);border:1px solid var(--border);border-radius:var(--radius-md);gap:0;padding:4px;display:flex}.auth-tab{border-radius:calc(var(--radius-md) - 2px);cursor:pointer;color:var(--text-3);background:0 0;border:none;flex:1;padding:9px;font-family:inherit;font-size:14px;font-weight:600;transition:all .15s}.auth-tab.auth-tab-active{background:var(--bg);color:var(--text);box-shadow:0 1px 4px #00000014}.auth-hint{color:var(--text-2);text-align:center;font-size:13px}.auth-field{flex-direction:column;gap:6px;display:flex}.auth-label{color:var(--text-2);font-size:12px;font-weight:600}.auth-input{background:var(--bg);border:1.5px solid var(--border);border-radius:var(--radius-md);color:var(--text);outline:none;padding:11px 14px;font-family:inherit;font-size:15px;transition:border-color .15s}.auth-input:focus{border-color:var(--accent)}.auth-error{color:var(--red);background:var(--red-light);border-radius:var(--radius-sm);border:1px solid #fca5a5;padding:10px 14px;font-size:13px}.auth-message{color:var(--accent);background:var(--accent-light);border:1px solid var(--accent-dim);border-radius:var(--radius-sm);padding:10px 14px;font-size:13px}.auth-link{color:var(--text-3);cursor:pointer;text-align:center;text-underline-offset:3px;background:0 0;border:none;padding:4px;font-size:13px;font-weight:500;text-decoration:underline}.auth-link:hover{color:var(--text)}.btn-sign-out{border:1.5px solid var(--border);border-radius:var(--radius-md);width:100%;color:var(--text-3);cursor:pointer;background:0 0;padding:12px;font-family:inherit;font-size:14px;font-weight:600;transition:all .12s}.btn-sign-out:hover{border-color:var(--red);color:var(--red)}@media (width>=768px){.tab-body{width:100%;max-width:900px;margin:0 auto;padding:28px 40px 40px}.onboard{max-width:520px;margin:0 auto;padding:0 32px 48px}.mod-card,.mode-card,.chart-menu-card{padding:18px 20px}.mod-icon,.mc-icon,.cmc-icon{width:38px;font-size:26px}.mod-title,.mc-title,.cmc-title{font-size:17px}.mod-tagline,.mc-desc,.cmc-sub{font-size:13px}.learn-topbar,.learn-dots-row,.learn-footer{padding-left:40px;padding-right:40px}.learn-body{max-width:760px;padding:28px 40px 32px}.rg-wrap{max-width:680px}.rg-hdr{height:22px;font-size:10px;line-height:22px}.rg-cell{font-size:8px}}.tour-overlay{z-index:200;background:#0000008c;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.tour-card{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-lg);flex-direction:column;gap:16px;width:100%;max-width:400px;padding:32px 28px 24px;display:flex;box-shadow:0 20px 60px #0006}.tour-progress{justify-content:center;gap:6px;display:flex}.tour-dot{background:var(--border);border-radius:50%;width:8px;height:8px;transition:background .2s}.tour-dot.td-active{background:var(--accent)}.tour-dot.td-done{background:var(--accent-dim)}.tour-icon{text-align:center;font-size:36px}.tour-tab-name{color:var(--text);text-align:center;letter-spacing:-.3px;font-size:22px;font-weight:700}.tour-body{color:var(--text-2);text-align:center;font-size:15px;line-height:1.7}.tour-actions{justify-content:space-between;align-items:center;margin-top:4px;display:flex}.tour-skip{color:var(--text-3);cursor:pointer;background:0 0;border:none;padding:8px 0;font-size:13px}.tour-skip:hover{color:var(--text-2)}.tour-next{min-width:120px}
