:root{color-scheme:light;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;--bg: #f4f7f5;--panel: #ffffff;--panel-2: #eef5f1;--text: #17211d;--muted: #64736d;--line: #d9e4de;--felt: #2f9a52;--felt-2: #3cb868;--table-room: #1f2328;--table-rail: #9aa3ad;--table-rail-dark: #5f6770;--pos-blind: #1565c0;--pos-early: #c62828;--pos-middle: #e65100;--pos-late: #2e7d32;--pos-on: #ffffff;--blue: #316fd6;--amber: #c98815;--coral: #d85d4f;--violet: #6d5bd2;--shadow: 0 18px 40px rgba(24, 45, 38, .12);--suit-spades: #1a1f24;--suit-hearts: #d63b35;--suit-diamonds: #d63b35;--suit-clubs: #1a1f24}:root[data-deck=two-color]{--suit-spades: #1a1f24;--suit-hearts: #d63b35;--suit-diamonds: #d63b35;--suit-clubs: #1a1f24}:root[data-deck=four-color]{--suit-spades: #1a1f24;--suit-hearts: #d63b35;--suit-diamonds: #2f6fd6;--suit-clubs: #2f9a52}:root[data-table-theme=classic]{--felt: #2f9a52;--felt-2: #3cb868;--table-room: #1f2328}:root[data-table-theme=navy]{--felt: #1f4f8a;--felt-2: #2f67ad;--table-room: #121820}:root[data-table-theme=graphite]{--felt: #3a424d;--felt-2: #4d5866;--table-room: #0f1114}:root[data-theme=dark]{color-scheme:dark;--bg: #101513;--panel: #17211d;--panel-2: #1f2c27;--text: #edf7f1;--muted: #a6b7af;--line: #2d3e37;--felt: #2f9a52;--felt-2: #45c974;--table-room: #14171b;--table-rail: #7f8791;--table-rail-dark: #4a5159;--pos-blind: #4fc3f7;--pos-early: #ff6b63;--pos-middle: #ffb74d;--pos-late: #aed581;--blue: #6da4ff;--amber: #f0b84d;--coral: #ff7b6e;--violet: #9f8dff;--shadow: 0 20px 48px rgba(0, 0, 0, .28)}*{box-sizing:border-box}body{margin:0;min-width:320px;background:var(--bg);color:var(--text)}button,textarea,input{font:inherit}button{cursor:pointer}.app-shell{min-height:100vh;display:grid;grid-template-columns:260px minmax(0,1fr)}.sidebar{position:sticky;top:0;height:100vh;padding:18px;background:var(--panel);border-right:1px solid var(--line);display:flex;flex-direction:column;gap:14px}.brand{display:flex;align-items:center;gap:10px;margin-bottom:10px}.brand-mark{width:44px;height:44px;border-radius:8px;display:grid;place-items:center;background:var(--felt);color:#fff;font-weight:800}.brand strong,.brand span{display:block}.brand span{color:var(--muted);font-size:.82rem}nav{display:grid;gap:8px}.nav-item,.icon-text,.metric-chip,.concept-pill,.toolbar button,.toolbar label{min-height:42px;border:1px solid var(--line);border-radius:8px;background:var(--panel-2);color:var(--text);text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:0 12px;white-space:nowrap}.nav-item{justify-content:flex-start}.nav-item.active,.icon-text:not(.secondary){background:var(--felt);border-color:var(--felt);color:#fff}.nav-import-badge{margin-left:auto;min-width:18px;height:18px;border-radius:999px;background:color-mix(in srgb,var(--felt) 82%,white);color:#fff;font-size:.72rem;font-weight:800;display:inline-grid;place-items:center;animation:import-pulse 1.2s ease-in-out infinite}@keyframes import-pulse{0%,to{opacity:1}50%{opacity:.55}}.import-background-banner{display:flex;align-items:center;gap:10px;margin-bottom:14px;padding:10px 14px;border-radius:12px;border:1px solid color-mix(in srgb,var(--felt) 35%,var(--line));background:color-mix(in srgb,var(--felt) 12%,var(--panel));color:var(--text);text-decoration:none}.import-background-banner:hover{border-color:color-mix(in srgb,var(--felt) 55%,var(--line))}.import-background-banner-cta{margin-left:auto;font-size:.82rem;font-weight:700;color:var(--felt)}.icon-text.secondary{background:transparent}.sidebar-footer{margin-top:auto;display:grid;gap:8px;padding-top:12px;border-top:1px solid var(--line)}.sidebar-tool{width:100%;justify-content:flex-start}.sidebar-tool-on,.icon-text.sidebar-tool-on{background:var(--felt);border-color:var(--felt);color:#fff}.sidebar-tool-state{margin-left:auto;font-size:.68rem;font-weight:700;letter-spacing:.06em}.auth-user-card{min-height:52px;display:flex;align-items:center;gap:10px;padding:10px;border:1px solid var(--line);border-radius:8px;background:var(--panel-2)}.auth-user-card strong,.auth-user-card span{display:block}.auth-user-card strong{max-width:170px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.auth-user-card span{color:var(--muted);font-size:.74rem}.auth-screen{min-height:100vh;display:grid;place-items:center;padding:24px;background:linear-gradient(135deg,rgba(47,154,82,.14),transparent 38%),var(--bg)}.auth-panel{width:min(460px,100%);display:grid;gap:18px;padding:24px;border:1px solid var(--line);border-radius:8px;background:var(--panel);box-shadow:var(--shadow)}.auth-brand{margin-bottom:0}.auth-heading{display:flex;gap:12px;align-items:flex-start}.auth-heading h1{margin:2px 0 4px;font-size:2rem}.auth-form{display:grid;gap:14px}.auth-form label{display:grid;gap:6px;color:var(--muted);font-size:.82rem}.auth-form input{width:100%;min-height:44px;border:1px solid var(--line);border-radius:8px;padding:0 12px;background:var(--panel-2);color:var(--text)}.password-field{display:grid;grid-template-columns:minmax(0,1fr) 44px;gap:8px}.icon-only{min-height:44px;border:1px solid var(--line);border-radius:8px;background:var(--panel-2);color:var(--text);display:grid;place-items:center}.auth-submit{width:100%}.auth-error{margin:0;color:var(--coral);font-weight:700}.auth-safety-note{margin:0;padding:10px;border:1px solid var(--line);border-radius:8px;background:var(--panel-2);color:var(--muted);font-size:.82rem}.app-version-desktop{display:grid;gap:4px;padding:8px 10px;border-radius:10px;background:var(--panel-2);border:1px solid var(--line)}.app-version-desktop .app-version-label{font-size:.62rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.app-version-desktop code,.app-version-mobile code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.68rem;color:var(--muted);word-break:break-word}.app-version-clickable{cursor:pointer;text-align:left;width:100%;font:inherit;color:inherit}.app-version-clickable:hover,.app-version-clickable:focus-visible{border-color:var(--felt);outline:none}.app-version-mobile{display:none;position:fixed;right:10px;bottom:calc(12px + env(safe-area-inset-bottom,0px));z-index:12;align-items:center;gap:6px;padding:4px 8px;border-radius:999px;background:#0c121ce0;border:1px solid var(--line);color:#fff;box-shadow:0 8px 18px #0000002e}.app-version-mobile.app-version-clickable{pointer-events:auto;width:auto}.app-version-mobile span{font-size:.58rem;text-transform:uppercase;letter-spacing:.05em;opacity:.82}.version-changelog-overlay{position:fixed;inset:0;z-index:120;display:grid;place-items:center;padding:20px;background:#0000008c}.version-changelog-panel{width:min(520px,100%);max-height:min(70vh,560px);display:grid;grid-template-rows:auto 1fr;border-radius:14px;border:1px solid var(--line);background:var(--panel);box-shadow:var(--shadow);overflow:hidden}.version-changelog-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:16px 18px;border-bottom:1px solid var(--line)}.version-changelog-header h2{margin:0;font-size:1rem}.version-changelog-body{overflow:auto;padding:14px 18px 18px}.version-changelog-intro{margin:0 0 12px;font-size:.88rem}.version-changelog-list{margin:0;padding:0;list-style:none;display:grid;gap:8px}.version-changelog-list li{display:grid;grid-template-columns:52px 1fr;gap:10px;align-items:start;font-size:.84rem}.version-changelog-list code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.72rem;color:var(--muted)}.version-changelog-header .icon-text.secondary{flex-shrink:0;background:var(--panel-2)}.sidebar-tool-on .sidebar-tool-state{color:#ffffffeb}.main-view{min-width:0;padding:24px}.screen{max-width:1320px;margin:0 auto;display:grid;gap:20px}.screen-header{display:flex;align-items:center;justify-content:space-between;gap:16px}.screen-header h1{margin:0;font-size:clamp(2rem,4vw,3.6rem);line-height:1}.eyebrow{margin:0 0 8px;color:var(--felt-2);font-weight:700;text-transform:uppercase;font-size:.78rem}.page-help{border:1px solid var(--border);border-radius:8px;background:color-mix(in srgb,var(--surface) 88%,var(--accent) 12%);overflow:hidden}.page-help-summary{display:flex;align-items:center;gap:8px;padding:9px 12px;cursor:pointer;list-style:none;font-size:.84rem;font-weight:600;color:var(--felt-2);user-select:none;transition:color .15s ease,background .15s ease}.page-help-summary::-webkit-details-marker{display:none}.page-help-summary:hover{color:var(--text);background:color-mix(in srgb,var(--surface) 80%,var(--accent) 20%)}.page-help-summary .page-help-caret{margin-left:auto;transition:transform .2s ease;opacity:.7}.page-help[open] .page-help-summary .page-help-caret{transform:rotate(180deg)}.page-help-body{padding:4px 14px 14px;border-top:1px solid var(--border)}.page-help-intro{margin:12px 0 10px;font-size:.9rem;line-height:1.5;color:var(--text)}.page-help-steps{margin:0;padding-left:18px;display:grid;gap:8px}.page-help-steps li{font-size:.86rem;line-height:1.45}.page-help-steps li strong{display:inline;margin-right:6px;color:var(--text)}.page-help-steps li span{color:var(--felt-2)}.page-help-tip{margin:12px 0 0;padding:9px 11px;border-radius:6px;background:color-mix(in srgb,var(--surface) 82%,var(--accent) 18%);font-size:.83rem;line-height:1.45;color:var(--text)}.page-help-tip strong{color:var(--accent)}.dashboard-grid{display:grid;grid-template-columns:minmax(210px,1.1fr) repeat(3,minmax(160px,1fr));gap:14px}.score-ring{min-height:210px;border-radius:8px;background:radial-gradient(circle at center,var(--panel) 0 54%,transparent 55%),conic-gradient(var(--felt-2) var(--score),var(--line) 0);display:grid;place-items:center;box-shadow:var(--shadow)}.score-ring div{text-align:center}.score-ring strong{display:block;font-size:3.5rem}.score-ring span,.metric-card span,.metric-chip span,.data-card small,.state-panel p,.muted{color:var(--muted)}.metric-card,.data-card,.state-panel,.import-panel{border:1px solid var(--line);border-radius:8px;background:var(--panel);box-shadow:var(--shadow)}.metric-card{min-height:150px;padding:18px;color:var(--text);text-align:left;display:grid;align-content:space-between}.metric-card strong{font-size:2rem}.section-band{display:grid;gap:12px}.section-band h2,.data-card h2,.task-column h2{margin:0;font-size:1.15rem}.card-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.data-card{padding:16px;display:grid;gap:10px}.data-card p{margin:0;line-height:1.45}.data-card.accent{border-color:color-mix(in srgb,var(--felt) 45%,var(--line));background:color-mix(in srgb,var(--panel) 82%,var(--felt) 18%)}.settings-screen{gap:18px}.settings-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px;align-items:start}.settings-panel h2{display:flex;align-items:center;gap:8px}.settings-panel label{display:grid;gap:6px;color:var(--muted);font-size:.78rem}.settings-panel input,.settings-panel select{min-height:40px;width:100%;border:1px solid var(--line);border-radius:8px;padding:0 10px;background:var(--panel-2);color:var(--text)}.settings-panel input:disabled{opacity:.72}.settings-inline{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.settings-kv{display:flex;min-height:34px;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line);color:var(--muted)}.settings-kv strong{color:var(--text);text-align:right}.settings-hint{margin:0;color:var(--muted);font-size:.88rem;line-height:1.45}.session-list{display:grid;gap:8px;max-height:430px;overflow:auto;padding-right:2px}.session-row{display:grid;grid-template-columns:minmax(0,1fr) 36px;gap:8px;align-items:center;padding:10px;border:1px solid var(--line);border-radius:8px;background:var(--panel-2)}.session-row div{min-width:0;display:grid;gap:2px}.session-row span{color:var(--muted);font-size:.78rem;overflow-wrap:anywhere}.settings-actions{display:flex;flex-wrap:wrap;gap:8px}.file-action{position:relative;overflow:hidden;cursor:pointer}.file-action input{position:absolute;inset:0;opacity:0;cursor:pointer}.toggle-line{display:flex!important;grid-template-columns:none!important;align-items:center;gap:8px!important}.toggle-line input{width:16px;min-height:16px}.danger-zone{display:grid;gap:8px;margin-top:4px;padding-top:10px;border-top:1px solid var(--line)}.compact-state{padding:12px 14px}.segmented-control{display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:4px;border:1px solid var(--line);border-radius:8px;background:var(--panel-2)}.segmented-control button{min-height:36px;border:0;border-radius:6px;background:transparent;color:var(--muted);font-weight:800}.segmented-control button.active{background:var(--felt);color:#fff}.split{display:grid;grid-template-columns:1fr 1fr;gap:12px}.metrics-row,.toolbar,.pill-row,.quick-sizes,.action-bar{display:flex;flex-wrap:wrap;gap:8px}.mini-pill{display:inline-flex;align-items:center;min-height:24px;padding:0 8px;border-radius:999px;border:1px solid var(--line);color:var(--muted);background:color-mix(in srgb,var(--panel) 86%,var(--felt) 14%);font-size:.72rem;font-weight:800}.metric-chip{flex-direction:column;align-items:flex-start;min-width:120px;height:58px}.concept-pill{min-height:30px;padding:0 10px;color:var(--blue);background:color-mix(in srgb,var(--panel) 80%,var(--blue) 20%)}.concept-drawer{position:fixed;z-index:20;right:18px;bottom:18px;width:min(420px,calc(100vw - 36px));transform:translateY(calc(100% + 24px));transition:transform .18s ease;border:1px solid var(--line);border-radius:8px;background:var(--panel);box-shadow:var(--shadow);padding:18px;pointer-events:none;visibility:hidden}.concept-drawer.open{transform:translateY(0);pointer-events:auto;visibility:visible}.drawer-close{float:right;border:0;background:transparent;color:var(--text)}.import-layout,.replayer-layout,.range-layout,.study-layout{display:grid;gap:14px}.import-layout{grid-template-columns:minmax(0,1.4fr) minmax(260px,.6fr)}.import-layout-after-result{grid-template-columns:minmax(0,1fr)}.import-panel{padding:12px;display:grid;gap:10px}.import-input-tabs{display:flex;flex-wrap:wrap;gap:8px}.import-input-tabs button{min-height:34px;padding:0 12px;border:1px solid var(--line);border-radius:999px;background:var(--panel-2);color:var(--muted)}.import-input-tabs button.active{color:var(--text);border-color:color-mix(in srgb,var(--felt) 45%,var(--line));background:color-mix(in srgb,var(--panel) 82%,var(--felt) 18%)}.import-input-collapsed{display:grid;gap:10px;padding:14px;border:1px dashed var(--line);border-radius:8px;background:var(--panel-2)}.import-textarea-compact{min-height:180px}.import-result-card{margin-bottom:4px}.import-result-premium{display:grid;gap:16px}.import-result-subheadline{margin:4px 0 0;font-size:.92rem;line-height:1.45}.import-hero-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px}.import-hero-metric{display:grid;gap:4px;padding:14px 12px;border:1px solid var(--line);border-radius:12px;background:linear-gradient(180deg,var(--panel-2) 0%,var(--panel) 100%);text-align:center}.import-hero-metric-value{font-size:1.65rem;line-height:1;letter-spacing:-.02em}.import-hero-metric-label{color:var(--muted);font-size:.78rem;line-height:1.3}.import-hero-metric-ok .import-hero-metric-value{color:var(--green, #3ecf8e)}.import-hero-metric-warn .import-hero-metric-value{color:#f0b429}.import-insight-note{margin:0;padding:12px 14px;border-radius:10px;border:1px solid color-mix(in srgb,#f0b429 28%,var(--line));background:color-mix(in srgb,#f0b429 8%,var(--panel));font-size:.88rem;line-height:1.45}.import-actions-primary{display:flex;flex-wrap:wrap;gap:8px}.import-cta-primary{min-width:180px}.import-details-friendly summary,.import-details-technical summary{cursor:pointer;font-weight:600}.import-section-hint{margin:0 0 8px;font-size:.84rem}.import-group-list li{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.import-group-count{color:var(--muted);font-size:.84rem;white-space:nowrap}.import-tech-kv{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;margin-bottom:12px}.import-tech-kv>div{display:grid;gap:4px;padding:10px 12px;border:1px solid var(--line);border-radius:8px;background:var(--panel-2)}.import-tech-kv span{color:var(--muted);font-size:.78rem}.import-actions-technical{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px}.import-result-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.import-result-title{display:flex;align-items:flex-start;gap:10px}.import-result-title h2{margin:0;font-size:1.15rem}.import-status-badge{display:inline-flex;margin-top:4px;padding:2px 8px;border-radius:999px;font-size:.78rem;letter-spacing:.04em;text-transform:uppercase}.import-status-ok{color:var(--green, #3ecf8e)}.import-status-ok .import-status-badge{background:color-mix(in srgb,var(--panel) 70%,#3ecf8e 30%)}.import-status-partial{color:#f0b429}.import-status-partial .import-status-badge{background:color-mix(in srgb,var(--panel) 70%,#f0b429 30%)}.import-status-failed{color:#ff6b6b}.import-status-failed .import-status-badge{background:color-mix(in srgb,var(--panel) 70%,#ff6b6b 30%)}.import-metrics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px}.import-metric{display:grid;gap:4px;padding:10px 12px;border:1px solid var(--line);border-radius:8px;background:var(--panel-2)}.import-metric-label{color:var(--muted);font-size:.82rem}.import-metric-value{font-size:1.05rem;word-break:break-word}.import-batch-line{margin:0}.import-batch-id{font-size:.82rem;word-break:break-all}.import-section h3{margin:0 0 8px;font-size:.95rem}.import-section-alert{border-left:3px solid #f0b429;padding-left:10px}.import-group-list,.import-detail-list{margin:0;padding-left:18px;display:grid;gap:6px}.import-actions{display:flex;flex-wrap:wrap;gap:8px}.import-actions .action-btn{text-decoration:none}.import-details,.import-subdetails{border:1px solid var(--line);border-radius:8px;background:var(--panel-2);padding:10px 12px}.import-details>summary,.import-subdetails>summary{cursor:pointer;font-weight:600}.import-details-body{display:grid;gap:10px;margin-top:10px}.import-detail-sample,.import-error-sample{font-size:.85rem;word-break:break-word}.import-progress-card{border:1px solid color-mix(in srgb,var(--felt) 35%,var(--line));border-radius:12px;background:linear-gradient(180deg,color-mix(in srgb,var(--panel) 88%,var(--felt) 12%),var(--panel)),var(--panel);box-shadow:var(--shadow);padding:18px;display:grid;gap:14px}.import-progress-error{border-color:color-mix(in srgb,#e35d6a 55%,var(--line));background:color-mix(in srgb,var(--panel) 90%,#e35d6a 10%)}.import-progress-header{display:flex;justify-content:space-between;gap:16px;align-items:start;flex-wrap:wrap}.import-progress-header h2{margin:4px 0 0;font-size:1.15rem}.import-progress-stats{display:flex;flex-wrap:wrap;gap:10px}.import-progress-stats div{min-width:88px;border:1px solid var(--line);border-radius:8px;background:var(--panel-2);padding:8px 10px;display:grid;gap:2px}.import-progress-stats span{color:var(--muted);font-size:.72rem;text-transform:uppercase;letter-spacing:.04em}.import-progress-stats strong{font-size:.95rem}.import-progress-bar{height:10px;border-radius:999px;background:color-mix(in srgb,var(--panel-2) 80%,var(--line));overflow:hidden}.import-progress-bar-fill{height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--felt),color-mix(in srgb,var(--felt) 65%,#7ce0c8));transition:width .35s ease}.import-progress-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px}.import-progress-step{display:flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:8px;padding:8px 10px;color:var(--muted);font-size:.82rem;background:var(--panel-2)}.import-progress-step.done{color:var(--text);border-color:color-mix(in srgb,var(--felt) 40%,var(--line))}.import-progress-step.current{color:var(--text);border-color:color-mix(in srgb,var(--felt) 55%,var(--line));background:color-mix(in srgb,var(--panel-2) 70%,var(--felt) 30%)}.import-progress-step.failed{color:#ffd5d9;border-color:#e35d6a;background:color-mix(in srgb,#e35d6a 18%,var(--panel-2))}.import-progress-error-text{margin:0;color:#ffb4bc;font-size:.92rem}.import-progress-meta{margin:0;font-size:.85rem}.spin{animation:import-spin 1s linear infinite}@keyframes import-spin{to{transform:rotate(360deg)}}textarea{min-height:380px;resize:vertical;border:1px solid var(--line);border-radius:8px;background:var(--panel-2);color:var(--text);padding:14px;line-height:1.45}input[type=file]{display:none}.replayer-layout{grid-template-columns:320px minmax(0,1fr)}.replayer-enterprise-layout{display:grid;grid-template-columns:minmax(280px,360px) minmax(0,1fr);gap:14px;align-items:start}.integrity-panel-simple{gap:12px}.integrity-plain-head{display:flex;gap:12px;align-items:flex-start}.integrity-plain-head h2{margin:0 0 6px;font-size:1rem}.integrity-plain-head p{margin:0;font-size:.86rem;line-height:1.45}.integrity-plain-hint{margin-top:6px!important;font-size:.8rem!important}.integrity-what-to-do{padding:10px 12px;border-radius:10px;background:var(--panel-2);border:1px solid var(--line);font-size:.82rem}.integrity-what-to-do strong{display:block;margin-bottom:6px}.integrity-what-to-do ol{margin:0;padding-left:18px;display:grid;gap:6px}.integrity-simple-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.integrity-primary-action{min-height:40px;display:inline-flex;align-items:center;gap:8px;padding:0 14px}.integrity-tech-details{border-top:1px solid var(--line);padding-top:8px}.integrity-tech-details summary{cursor:pointer;color:var(--muted);font-size:.8rem;font-weight:600;list-style:none;display:inline-flex;align-items:center;gap:4px}.integrity-issue-groups{margin:10px 0;padding-left:18px;font-size:.8rem;color:var(--muted)}.integrity-quarantine-link{display:grid;gap:2px;width:100%;text-align:left;padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:var(--panel-2);color:inherit;cursor:pointer;font:inherit}.integrity-quarantine-link:hover{border-color:color-mix(in srgb,var(--felt) 40%,var(--line))}.integrity-quarantine-link small{color:var(--muted);font-size:.74rem}.integrity-panel{grid-column:1 / -1;display:grid;gap:10px;padding:12px;border:1px solid var(--line);border-radius:8px;background:var(--panel)}.integrity-panel-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.integrity-panel-header h2{margin:0;font-size:1rem}.integrity-actions,.integrity-row-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.integrity-banner{display:inline-flex;align-items:center;gap:8px;width:fit-content;padding:7px 10px;border:1px solid color-mix(in srgb,var(--amber) 55%,var(--line));border-radius:8px;background:color-mix(in srgb,var(--panel) 82%,var(--amber) 18%);color:var(--amber);font-size:.82rem;font-weight:700}.integrity-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px}.integrity-metrics>div{display:grid;gap:2px;padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:var(--panel-2)}.integrity-metrics span,.integrity-quarantine-row span,.integrity-quarantine-row small{color:var(--muted);font-size:.76rem}.integrity-message{margin:0;font-size:.82rem;color:var(--felt)}.integrity-message.error{color:var(--coral)}.integrity-quarantine-list{display:grid;gap:8px}.integrity-quarantine-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;padding:9px 10px;border:1px solid var(--line);border-radius:8px;background:var(--panel-2)}.integrity-quarantine-row>div:first-child{display:grid;gap:2px;min-width:0}.replayer-session-line{margin:6px 0 0;font-size:.86rem}.hand-library{display:grid;gap:10px;padding:12px;background:var(--panel);border:1px solid var(--line);border-radius:12px;min-height:0}.hand-library-premium{gap:8px;padding:10px 12px 12px;background:linear-gradient(180deg,var(--panel) 0%,color-mix(in srgb,var(--panel) 92%,var(--bg)) 100%);box-shadow:var(--shadow)}.hand-library-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.library-collapse-btn{display:inline-grid;place-items:center;width:32px;height:32px;border:1px solid var(--line);border-radius:8px;background:var(--panel-2);color:var(--muted);cursor:pointer;flex-shrink:0}.library-collapse-btn:hover{color:var(--text);border-color:color-mix(in srgb,var(--felt) 40%,var(--line))}.hand-library-quick-views{display:flex;gap:6px;overflow-x:auto;padding-bottom:2px;scrollbar-width:thin}.library-view-chip{flex-shrink:0;min-height:28px;padding:0 10px;border:1px solid var(--line);border-radius:999px;background:var(--panel-2);color:var(--text);font-size:.72rem;font-weight:600;cursor:pointer;white-space:nowrap}.library-view-chip.active{border-color:color-mix(in srgb,var(--felt) 55%,var(--line));background:color-mix(in srgb,var(--panel) 70%,var(--felt) 30%);color:var(--text)}.hand-library-filter-bar{display:grid;gap:6px}.library-filter-toggle{min-height:32px;padding:0 10px;border:1px solid var(--line);border-radius:8px;background:var(--panel-2);color:var(--muted);font-size:.76rem;font-weight:600;text-align:left;cursor:pointer}.library-filter-toggle.open{color:var(--text);border-color:color-mix(in srgb,var(--felt) 35%,var(--line))}.hand-library-filter-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.library-filter-select{min-height:32px;border:1px solid var(--line);border-radius:8px;background:var(--panel-2);color:var(--text);padding:0 8px;font-size:.74rem}.library-action-chip{display:inline-flex;align-items:center;gap:4px;min-height:28px;padding:0 10px;border:1px solid var(--line);border-radius:8px;background:var(--panel-2);color:var(--text);font-size:.72rem;font-weight:600;cursor:pointer}.library-action-chip.danger{color:var(--coral);border-color:color-mix(in srgb,var(--coral) 35%,var(--line))}.library-action-chip.muted-action{color:var(--muted);margin-left:auto}.hand-library-row-top{display:grid;grid-template-columns:minmax(0,1fr) auto auto auto;gap:6px;align-items:center}.hand-library-pos{font-size:.72rem;font-weight:700;padding:1px 6px;border-radius:999px;background:color-mix(in srgb,var(--panel) 70%,var(--felt) 30%)}.hand-library-cards{font-size:.72rem;color:var(--muted)}.hand-library-result{font-size:.72rem;font-weight:700}.replayer-layout-collapsed{grid-template-columns:auto minmax(0,1fr)!important;gap:0!important;align-items:stretch!important}.replayer-layout-collapsed .replayer-library-expand-rail{min-height:unset;height:100%;align-self:stretch}.replayer-layout-collapsed .replayer-layout-detail{min-height:0}.replayer-library-expand-rail{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;width:36px;min-height:120px;padding:12px 4px;border:1px solid var(--line);border-left:0;border-radius:0 10px 10px 0;background:var(--panel);color:var(--muted);cursor:pointer;writing-mode:vertical-rl;text-orientation:mixed;font-size:.72rem;font-weight:700;letter-spacing:.04em}.replayer-library-expand-rail:hover{color:var(--text);background:var(--panel-2)}.replayer-library-expand-rail span{writing-mode:vertical-rl}.hand-library-header{display:grid;gap:6px}.hand-library-header h2{margin:0;font-size:1rem}.hand-library-session-summary{display:grid;gap:2px}.hand-library-saved-views{display:flex;flex-wrap:wrap;gap:6px}.hand-library-saved-views .chip{min-height:28px;padding:0 10px;font-size:.74rem}.hand-library-filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.hand-library-search{grid-column:1 / -1;display:flex;align-items:center;gap:8px;padding:0 10px;border:1px solid var(--line);border-radius:8px;background:var(--panel-2)}.hand-library-search input{flex:1;border:0;background:transparent;min-height:34px}.hand-library-filters select{min-height:34px;border:1px solid var(--line);border-radius:8px;background:var(--panel-2);color:var(--text);padding:0 8px}.hand-library-list{display:grid;gap:6px;max-height:min(62vh,640px);overflow-y:auto;padding-right:2px}.hand-library-row{display:grid;grid-template-columns:auto 1fr;gap:8px;align-items:stretch;padding:10px;border:1px solid var(--line);border-radius:8px;background:var(--panel-2);color:var(--text)}.hand-library-row.active{border-color:var(--felt);background:color-mix(in srgb,var(--panel) 80%,var(--felt) 20%)}.hand-library-row-top,.hand-library-row-bottom{display:flex;flex-wrap:wrap;gap:8px;align-items:center;font-size:.82rem}.hand-library-row-mid{font-size:.78rem;color:var(--muted)}.hand-library-ev{font-size:.72rem;font-weight:700;color:var(--coral)}.hand-library-row .tag{font-size:.68rem;padding:1px 6px;border-radius:999px;background:var(--panel);border:1px solid var(--line)}.hand-library-row .positive{color:var(--felt)}.hand-library-row .negative{color:var(--coral)}.hand-library-pagination{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:.82rem}.hand-library-state{padding:12px}.hand-library-state.error{color:var(--coral)}.import-zip-error{margin:0 0 8px;padding:8px 10px;border-radius:8px;border:1px solid color-mix(in srgb,var(--coral) 45%,var(--line));background:color-mix(in srgb,var(--panel) 82%,var(--coral) 18%);color:var(--coral);font-size:.82rem}.replayer-mobile-back{justify-self:start}.hand-library-bulk-bar{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.hand-library-check{display:flex;align-items:flex-start;padding-top:12px}.hand-library-row-btn{display:grid;gap:4px;padding:0;border:0;background:transparent;color:inherit;text-align:left;cursor:pointer}.delete-dialog-backdrop{position:fixed;inset:0;background:#0000008c;display:grid;place-items:center;z-index:120;padding:16px}.delete-dialog{width:min(480px,100%);padding:18px;border-radius:12px;border:1px solid var(--line);background:var(--panel);display:grid;gap:12px}.delete-dialog h3{margin:0}.delete-dialog-confirm{display:grid;gap:6px;font-size:.86rem}.delete-dialog-confirm input{min-height:36px;border:1px solid var(--line);border-radius:8px;padding:0 10px;background:var(--panel-2);color:var(--text)}.delete-dialog-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.import-duplicate-actions{justify-content:stretch}button.danger,.danger-text{color:var(--coral)}button.danger{border:1px solid color-mix(in srgb,var(--coral) 45%,var(--line));background:color-mix(in srgb,var(--panel) 70%,var(--coral) 30%);min-height:36px;padding:0 14px;border-radius:8px}.hand-list{display:grid;align-content:start;gap:8px}.hand-list button{display:grid;gap:4px;padding:12px;border:1px solid var(--line);border-radius:8px;background:var(--panel);color:var(--text);text-align:left;position:relative}.hand-list button.active{border-color:var(--felt);background:var(--panel-2)}.hand-list-ev{font-size:.68rem;font-weight:700;padding:2px 7px;border-radius:999px;width:fit-content}.ev-plus{background:#2f9a522e;color:var(--felt)}.ev-minus{background:#d63b3524;color:var(--coral)}.ev-close{background:#f0b84d2e;color:var(--amber)}.ev-unknown{color:var(--muted)}.ev-tag{display:inline-flex;align-items:center;font-size:.72rem;font-weight:700;padding:2px 8px;border-radius:999px}.ev-plus-border{border-left:3px solid var(--felt)}.ev-minus-border{border-left:3px solid var(--coral)}.ev-close-border{border-left:3px solid var(--amber)}.ev-unknown-border{border-left:3px solid var(--line)}.replayer-detail{display:grid;gap:14px}.replayer-scrubber{display:grid;gap:10px;padding:10px 12px;background:var(--panel);border:1px solid var(--line);border-radius:12px}.replayer-scrubber-main{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.replayer-street-tabs{display:flex;flex-wrap:wrap;gap:6px}.replayer-street-tabs .chip{padding:4px 10px;border-radius:999px;border:1px solid var(--line);background:var(--panel-2);font-size:.74rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;cursor:pointer}.replayer-street-tabs .chip.active{border-color:var(--felt);color:var(--felt)}.replayer-step-panel{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px}.replayer-step-panel>div{min-height:76px;display:grid;align-content:space-between;gap:6px;padding:10px 12px;border:1px solid var(--line);border-radius:8px;background:var(--panel)}.replayer-step-panel span{color:var(--muted);font-size:.72rem}.replayer-step-panel strong{font-size:.92rem;overflow-wrap:anywhere}.replayer-summary{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-start;padding:12px 14px;background:var(--panel);border:1px solid var(--line);border-radius:12px}.replayer-summary-info{display:grid;gap:2px;min-width:140px}.replayer-summary-pot{display:grid;gap:2px;min-width:100px}.replayer-summary-pot strong{font-size:1.25rem;font-weight:800}.replayer-summary-pot small{color:var(--muted);font-size:.72rem}.replayer-summary .hero-view-control{margin:0;border:none;padding:0;background:transparent;flex:1;min-width:200px}.table-stakes-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 16px;margin:0 0 12px;padding:10px 14px;border-radius:12px;border:1px solid var(--border);background:color-mix(in srgb,var(--panel) 92%,var(--accent) 8%)}.table-stakes-primary{display:grid;gap:2px}.table-stakes-pot{display:flex;align-items:baseline;gap:6px}.amount-display-toggle{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.amount-display-label{font-size:.72rem}.decision-header{display:flex;align-items:center;gap:10px;margin-bottom:6px}.decision-street{font-size:.74rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.decision-explanation{margin:0 0 10px;line-height:1.5}.decision-postflop-note{font-size:.8rem;margin:0 0 8px}.replayer-coach{display:grid;gap:12px;padding:14px 16px;border-radius:14px;border:1px solid color-mix(in srgb,var(--line) 70%,var(--felt) 30%);background:linear-gradient(165deg,color-mix(in srgb,var(--panel) 92%,var(--felt) 8%),var(--panel));box-shadow:0 1px #ffffff0a inset,0 12px 28px #0000001f;border-left-width:4px}.replayer-coach-dock{margin-top:-2px}.replayer-coach-context{padding:10px 14px;gap:6px}.replayer-coach-header{display:flex;flex-wrap:wrap;gap:14px;align-items:flex-start}.replayer-coach-spot{display:grid;gap:3px;min-width:180px;flex:1}.replayer-coach-spot strong{font-size:.98rem;line-height:1.35}.replayer-coach-verdict{display:grid;gap:7px;flex:1;min-width:220px;padding:10px 12px;border-radius:10px;background:color-mix(in srgb,var(--panel-2) 88%,var(--felt) 12%);border:1px solid color-mix(in srgb,var(--line) 80%,var(--felt) 20%)}.replayer-coach-row{display:flex;align-items:center;gap:8px;font-size:.88rem}.replayer-coach-row .muted{min-width:84px;font-size:.76rem;text-transform:uppercase;letter-spacing:.04em}.decision-metrics-panel,.equity-vs-range-panel{display:grid;gap:10px;padding:12px 14px;background:color-mix(in srgb,var(--panel-2) 84%,var(--felt) 16%);border:1px solid color-mix(in srgb,var(--line) 75%,var(--felt) 25%);border-radius:12px}.decision-metrics-note{margin:0;font-size:.82rem;line-height:1.45;color:var(--muted)}.replayer-secondary-bar{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-start;padding:10px 14px;background:var(--panel-2);border:1px solid var(--line);border-radius:10px}.timeline-summary{display:flex;flex-direction:column;gap:3px;flex:1;min-width:200px}.timeline-summary-line{font-size:.8rem;color:var(--muted);line-height:1.4}.replayer-secondary-btns{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.equity-vs-range-panel{display:grid;gap:8px;padding:10px 12px;background:var(--panel-2);border:1px solid var(--line);border-radius:10px}.equity-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px}.equity-cell{display:grid;gap:2px}.equity-label{font-size:.72rem;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.equity-cell strong{font-size:1rem}.status-not-implemented{font-size:.78rem!important;color:var(--muted)}.ev-action-list{display:grid;gap:2px;font-size:.82rem}.equity-status{font-size:.72rem;font-style:italic}.board,.board-row,.hero-cards,.table-hero-cards,.seat-hole-cards{display:flex;gap:8px;align-items:center;justify-content:center}.position-legend{display:flex;flex-wrap:wrap;gap:10px;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:var(--panel);box-shadow:var(--shadow)}.legend-item{display:inline-flex;align-items:center;gap:8px;min-height:34px;padding:0 10px;border-radius:999px;border:1px solid var(--line);background:var(--panel-2)}.legend-item strong{font-size:.82rem}.legend-item small{color:var(--muted);font-style:italic;font-size:.72rem}.legend-dot{width:14px;height:14px;border-radius:50%;flex-shrink:0}.position-badge{display:inline-grid;place-items:center;min-width:42px;min-height:28px;padding:0 8px;border-radius:999px;color:var(--pos-on, #fff);font-weight:800;font-size:.78rem;text-shadow:0 1px 2px rgba(0,0,0,.35);box-shadow:0 4px 12px #0000002e;border:1px solid rgba(0,0,0,.12)}.position-badge.compact{min-width:36px;min-height:24px;font-size:.72rem}.pos-sb .legend-dot,.position-badge.pos-sb,.pos-sb .seat-marker,.pos-bb .legend-dot,.position-badge.pos-bb,.pos-bb .seat-marker{background:var(--pos-blind);color:#fff}.pos-utg .legend-dot,.position-badge.pos-utg,.pos-utg .seat-marker,.pos-utg1 .legend-dot,.position-badge.pos-utg1,.pos-utg1 .seat-marker,.pos-utg2 .legend-dot,.position-badge.pos-utg2,.pos-utg2 .seat-marker{background:var(--pos-early);color:#fff}.pos-hj .legend-dot,.position-badge.pos-hj,.pos-hj .seat-marker,.pos-mp .legend-dot,.position-badge.pos-mp,.pos-mp .seat-marker{background:var(--pos-middle);color:#fff}.pos-co .legend-dot,.position-badge.pos-co,.pos-co .seat-marker,.pos-btn .legend-dot,.position-badge.pos-btn,.pos-btn .seat-marker,.pos-bu .legend-dot,.position-badge.pos-bu,.pos-bu .seat-marker{background:var(--pos-late);color:#fff}.poker-room{padding:18px;border-radius:16px;background:radial-gradient(circle at 20% 10%,rgba(255,255,255,.04),transparent 35%),linear-gradient(180deg,var(--table-room),color-mix(in srgb,var(--table-room) 82%,#000));box-shadow:inset 0 1px #ffffff0d,var(--shadow);pointer-events:none}.poker-room.compact{padding:12px}.poker-table-frame{position:relative;height:clamp(230px,30vw,340px);max-width:min(780px,100%);width:100%;margin:0 auto;pointer-events:auto;overflow:visible}.poker-table-frame.compact{height:clamp(240px,50vw,320px)}.poker-table-surface{position:absolute;inset:0;border-radius:50%/42%;background:linear-gradient(180deg,var(--table-rail),var(--table-rail-dark));padding:12px;box-shadow:inset 0 0 0 2px #ffffff38,0 18px 40px #00000059}.table-felt{position:relative;height:100%;border-radius:inherit;overflow:hidden;background:radial-gradient(ellipse at center,color-mix(in srgb,#fff 8%,transparent),transparent 58%),linear-gradient(160deg,var(--felt-2),var(--felt));box-shadow:inset 0 14px 30px #0003}.table-watermark{position:absolute;inset:24% 34%;display:grid;place-items:center;font-size:clamp(3.5rem,12vw,6.5rem);font-weight:900;color:#ffffff14;letter-spacing:.08em;pointer-events:none;user-select:none}.poker-seats-ring{position:absolute;inset:-28px -32px;pointer-events:none;z-index:6;overflow:visible}.card-view{--card-suit-color: var(--suit-spades);position:relative;width:36px;height:50px;border-radius:7px;overflow:hidden;background:linear-gradient(165deg,#fff,#f3f4f6 58%,#e6e8ec);border:1px solid #c8ced6;box-shadow:0 1px #fff inset,0 10px 18px #00000038;color:var(--card-suit-color);flex-shrink:0}.card-view.large{width:56px;height:78px;border-radius:9px}.card-view.card-suit-s{--card-suit-color: var(--suit-spades)}.card-view.card-suit-h{--card-suit-color: var(--suit-hearts)}.card-view.card-suit-d{--card-suit-color: var(--suit-diamonds)}.card-view.card-suit-c{--card-suit-color: var(--suit-clubs)}.card-corner{position:absolute;top:4px;left:5px;display:grid;gap:1px;line-height:1;z-index:2}.card-view.large .card-corner{top:6px;left:7px}.card-rank{font-size:.72rem;font-weight:800;letter-spacing:-.03em;font-family:Segoe UI,Inter,system-ui,sans-serif}.card-view.large .card-rank{font-size:1rem}.card-suit{fill:currentColor;color:var(--card-suit-color)}.card-suit.corner{width:10px;height:10px}.card-view.large .card-suit.corner{width:13px;height:13px}.card-pip{position:absolute;right:6px;bottom:7px;opacity:.96;z-index:1}.card-view.large .card-pip{right:8px;bottom:10px}.card-suit.pip{width:22px;height:22px}.card-view.large .card-suit.pip{width:30px;height:30px}.timeline{display:grid;gap:8px}.timeline-row{display:grid;grid-template-columns:78px 52px minmax(0,1fr);gap:10px;align-items:center;padding:10px;border:1px solid var(--line);border-radius:8px;background:var(--panel)}button.timeline-row{width:100%;text-align:left;cursor:pointer;font:inherit;color:inherit}.timeline-row.active{border-color:var(--felt);background:color-mix(in srgb,var(--felt) 12%,var(--panel))}.timeline-row.decision{border-color:var(--amber);background:color-mix(in srgb,var(--panel) 82%,var(--amber) 18%)}.timeline-row p{margin:0}.range-layout{grid-template-columns:minmax(320px,1fr) 360px}.range-layout .position-legend{grid-column:1 / -1}.range-format-bar{grid-column:1 / -1;display:flex;flex-wrap:wrap;gap:8px}.range-filters-card{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:16px 20px;display:flex;flex-direction:column;gap:16px;margin-bottom:16px}.range-filter-group{display:flex;flex-direction:column;gap:8px}.range-filter-label{font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.07em;color:var(--muted)}.range-filter-description{margin-top:-4px;font-size:.76rem;color:var(--muted)}.range-filter-hint{font-size:.78rem;color:var(--muted);margin-top:-2px}.range-pos-selector{display:flex;flex-wrap:wrap;gap:6px}.range-pos-btn{min-width:54px;padding:6px 10px;border:2px solid var(--line);border-radius:8px;background:var(--panel);color:var(--text);font-weight:700;font-size:.82rem;transition:background .14s,border-color .14s,color .14s}.range-pos-btn:hover{border-color:var(--pos-color, var(--felt));background:color-mix(in srgb,var(--panel) 82%,var(--pos-color, var(--felt)) 18%)}.range-pos-btn.active{border-color:var(--pos-color, var(--felt));background:var(--pos-color, var(--felt));color:#fff}.range-situation-selector{display:flex;gap:8px;flex-wrap:wrap}.range-situation-btn{flex:1;min-width:180px;padding:10px 14px;border:2px solid var(--line);border-radius:10px;background:var(--panel);color:var(--text);text-align:left;display:flex;flex-direction:column;gap:2px;transition:border-color .14s,background .14s}.range-situation-btn strong{font-size:.88rem}.range-situation-btn small{font-size:.73rem;color:var(--muted)}.range-situation-btn:hover:not(:disabled){border-color:var(--felt)}.range-situation-btn.active{border-color:var(--felt);background:color-mix(in srgb,var(--panel) 80%,var(--felt) 20%)}.range-situation-btn:disabled{opacity:.45;cursor:not-allowed}.range-presets{display:flex;flex-wrap:wrap;gap:6px}.range-preset-btn{padding:5px 12px;border:1px solid var(--line);border-radius:20px;background:var(--panel-2);color:var(--text);font-size:.78rem;transition:border-color .12s,background .12s}.range-preset-btn:hover{border-color:var(--felt);background:color-mix(in srgb,var(--panel) 80%,var(--felt) 20%)}.range-main-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:16px;align-items:start}.range-matrix-col{display:flex;flex-direction:column;gap:10px}.range-detail-col{display:flex;flex-direction:column;gap:12px;position:sticky;top:16px}.range-spot-header{display:flex;justify-content:space-between;align-items:center;gap:12px}.range-spot-title{margin:0;font-size:1.15rem;font-weight:700}.range-spot-meta{font-size:.73rem;color:var(--muted)}.range-play-pct{display:flex;flex-direction:column;align-items:flex-end;gap:1px}.range-play-pct-num{font-size:1.6rem;font-weight:800;line-height:1;color:var(--felt)}.range-play-pct-label{font-size:.68rem;color:var(--muted);text-align:right}.range-stats-bar{display:flex;height:28px;border-radius:8px;overflow:hidden;gap:2px}.range-stat-segment{display:flex;align-items:center;justify-content:center;min-width:0;border-radius:6px;transition:flex .3s ease}.range-stat-segment.fold{background:color-mix(in srgb,var(--panel) 50%,var(--muted) 50%)}.range-stat-segment.call{background:color-mix(in srgb,var(--blue) 70%,var(--panel) 30%)}.range-stat-segment.raise{background:color-mix(in srgb,var(--felt-2) 70%,var(--panel) 30%)}.range-stat-segment.threebet{background:color-mix(in srgb,var(--felt) 80%,var(--panel) 20%)}.range-stat-segment.mixed{background:color-mix(in srgb,var(--violet) 70%,var(--panel) 30%)}.range-stat-label{font-size:.65rem;font-weight:700;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:0 4px}.range-stats-numbers{display:flex;flex-wrap:wrap;gap:8px;font-size:.74rem}.range-stat-num{display:flex;align-items:center;gap:4px}.range-stat-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.range-stat-num.fold .range-stat-dot{background:color-mix(in srgb,var(--muted) 70%,var(--panel) 30%)}.range-stat-num.call .range-stat-dot{background:var(--blue)}.range-stat-num.raise .range-stat-dot,.range-stat-num.threebet .range-stat-dot{background:var(--felt-2)}.range-stat-num.mixed .range-stat-dot{background:var(--violet)}.range-grid{display:grid;grid-template-columns:repeat(13,minmax(32px,1fr));gap:3px;transition:opacity .2s}.range-grid--loading{opacity:.5;pointer-events:none}.range-cell{aspect-ratio:1;min-width:0;border:1px solid var(--line);border-radius:5px;font-size:clamp(.58rem,1.35vw,.82rem);font-weight:600;color:var(--text);background:var(--panel);cursor:pointer;transition:transform .08s,box-shadow .08s,border-color .1s}.range-cell:hover{transform:scale(1.12);box-shadow:0 3px 10px #0000002e;z-index:2;position:relative}.range-cell.fold{opacity:.4;background:var(--bg)}.range-cell.fold:hover{opacity:.8}.range-cell.call{background:color-mix(in srgb,var(--panel) 50%,var(--blue) 50%);border-color:color-mix(in srgb,var(--line) 40%,var(--blue) 60%);color:#fff}.range-cell.threebet{background:color-mix(in srgb,var(--panel) 30%,var(--felt) 70%);border-color:var(--felt);color:#fff}.range-cell.raise{background:color-mix(in srgb,var(--panel) 38%,var(--felt-2) 62%);border-color:var(--felt-2);color:#fff}.range-cell.mixed{background:color-mix(in srgb,var(--panel) 42%,var(--violet) 58%);border-color:var(--violet);color:#fff}.range-cell.selected{outline:2px solid var(--amber);outline-offset:1px;box-shadow:0 0 0 3px color-mix(in srgb,var(--amber) 30%,transparent);transform:scale(1.08);z-index:3;position:relative}.range-legend{display:flex;flex-wrap:wrap;gap:10px;padding:8px 0 4px;border-top:1px solid var(--line)}.range-legend-item{display:flex;align-items:center;gap:5px;font-size:.74rem;color:var(--muted)}.range-legend-dot{width:10px;height:10px;border-radius:3px;flex-shrink:0}.range-legend-item.fold .range-legend-dot{background:color-mix(in srgb,var(--bg) 60%,var(--muted) 40%);border:1px solid var(--line)}.range-legend-item.call .range-legend-dot{background:var(--blue)}.range-legend-item.raise .range-legend-dot,.range-legend-item.threebet .range-legend-dot{background:var(--felt-2)}.range-legend-item.mixed .range-legend-dot{background:var(--violet)}.range-combo-card{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:16px;display:flex;flex-direction:column;gap:12px}.range-combo-card--empty{opacity:.6}.range-combo-header{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}.range-combo-header-actions{display:flex;align-items:center;gap:8px}.range-combo-name{font-size:1.6rem;font-weight:900;letter-spacing:.02em;line-height:1}.range-combo-action-badge{padding:5px 12px;border-radius:20px;font-size:.78rem;font-weight:700;border:1px solid transparent}.range-combo-action-badge.fold{background:color-mix(in srgb,var(--panel) 60%,var(--muted) 40%);border-color:var(--muted);color:var(--muted)}.range-combo-action-badge.call{background:color-mix(in srgb,var(--panel) 30%,var(--blue) 70%);border-color:var(--blue);color:#fff}.range-combo-action-badge.raise,.range-combo-action-badge.threebet{background:color-mix(in srgb,var(--panel) 20%,var(--felt) 80%);border-color:var(--felt);color:#fff}.range-combo-action-badge.mixed{background:color-mix(in srgb,var(--panel) 20%,var(--violet) 80%);border-color:var(--violet);color:#fff}.range-combo-freq{display:flex;flex-direction:column;gap:4px}.range-combo-freq-bar{height:6px;background:var(--line);border-radius:3px;overflow:hidden}.range-combo-freq-bar span{display:block;height:100%;background:var(--felt);border-radius:3px;transition:width .3s ease}.range-combo-freq-label{font-size:.72rem;color:var(--muted)}.range-ev-badge{padding:4px 10px;border-radius:6px;font-size:.73rem;font-weight:600;align-self:flex-start}.range-ev-badge.ev-plus{background:color-mix(in srgb,var(--panel) 60%,var(--felt) 40%);color:var(--felt)}.range-ev-badge.ev-close{background:color-mix(in srgb,var(--panel) 60%,var(--amber) 40%);color:var(--amber)}.range-ev-badge.ev-neutral{background:color-mix(in srgb,var(--panel) 70%,var(--muted) 30%);color:var(--muted)}.range-ev-badge.ev-minus{background:color-mix(in srgb,var(--panel) 60%,var(--coral) 40%);color:var(--coral)}.range-ev-badge.ev-unknown{background:var(--panel-2);color:var(--muted)}.range-ev-value{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;border:1px solid var(--line);border-radius:10px;background:var(--panel-2)}.range-ev-value span{font-size:.74rem;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}.range-ev-value strong{font-size:1.4rem;line-height:1}.range-ev-value.positive strong{color:var(--felt)}.range-ev-value.negative strong{color:var(--coral)}.range-ev-value.neutral strong{color:var(--muted)}.range-ev-note{margin:-4px 0 0;font-size:.74rem;color:var(--muted);line-height:1.45}.range-combo-explanation{font-size:.86rem;line-height:1.55;color:var(--text);margin:0}.range-combo-concepts{display:flex;flex-direction:column;gap:6px;padding-top:8px;border-top:1px solid var(--line)}.range-modal-backdrop{position:fixed;inset:0;z-index:50;display:flex;align-items:center;justify-content:center;padding:18px;background:#070e0c94;backdrop-filter:blur(3px)}.range-modal{width:min(560px,100%);max-height:min(82vh,720px);overflow-y:auto;border-radius:14px;box-shadow:0 20px 70px #0000005c}.range-modal .range-combo-card{border-color:color-mix(in srgb,var(--line) 70%,var(--felt) 30%)}.range-modal-close{width:32px;height:32px;border:1px solid var(--line);border-radius:999px;background:var(--panel-2);color:var(--text);font-size:1.25rem;line-height:1;cursor:pointer}.range-modal-close:hover{border-color:var(--felt);background:color-mix(in srgb,var(--panel-2) 75%,var(--felt) 25%)}.range-villain-card{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:16px;display:flex;flex-direction:column;gap:10px}.range-villain-title{margin:0;font-size:.9rem;font-weight:700}.range-villain-pct-row{display:flex;align-items:baseline;gap:8px}.range-villain-pct{font-size:2rem;font-weight:900;color:var(--coral);line-height:1}.range-villain-pct-label{font-size:.78rem;color:var(--muted)}.range-villain-bar{height:8px;background:var(--line);border-radius:4px;overflow:hidden}.range-villain-bar div{height:100%;background:var(--coral);border-radius:4px;transition:width .4s ease;max-width:100%}.range-villain-desc{font-size:.82rem;line-height:1.5;margin:0;color:var(--text)}.range-villain-combos{font-size:.78rem;color:var(--muted);margin:0}.range-villain-combo-list{display:flex;flex-direction:column;gap:6px}.range-villain-combos-grid{display:flex;flex-wrap:wrap;gap:4px}.range-villain-combo-chip{padding:2px 7px;background:var(--panel-2);border:1px solid var(--line);border-radius:4px;font-size:.72rem;font-weight:600}.range-villain-warning{font-size:.7rem;color:var(--muted);border-top:1px solid var(--line);padding-top:8px;margin:0}.range-coming-soon-card{background:var(--panel);border:1px dashed var(--line);border-radius:10px;padding:14px;display:flex;flex-direction:column;gap:6px}.range-coming-soon-card strong{font-size:.84rem}.range-coming-soon-card p{font-size:.76rem;color:var(--muted);margin:0}.study-layout{grid-template-columns:minmax(0,1fr)}.training-mode-bar{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.training-mode-btn{min-height:44px;display:inline-grid;align-content:center;gap:2px;padding:6px 10px;border:1px solid var(--line);border-radius:8px;background:var(--panel);color:var(--text);text-align:left}.training-mode-btn.active{border-color:var(--felt);background:color-mix(in srgb,var(--panel) 78%,var(--felt) 22%)}.training-mode-btn:disabled{cursor:not-allowed;opacity:.58}.training-mode-btn strong,.training-mode-btn small{font-size:.62rem;color:var(--muted)}.training-mode-btn:not(:disabled) strong,.training-mode-btn:not(:disabled) small{color:var(--felt)}.task-column{display:none;align-content:start;gap:10px}.task-column.visible{display:grid}.study-screen .study-layout:has(.task-column.visible){grid-template-columns:300px minmax(0,1fr)}.study-tasks-toggle{flex-shrink:0}.training-surface{display:grid;gap:12px;border:1px solid var(--line);border-radius:12px;padding:14px;background:linear-gradient(180deg,var(--panel),color-mix(in srgb,var(--panel) 92%,var(--felt) 8%));box-shadow:var(--shadow)}.training-topbar{display:flex;flex-wrap:wrap;gap:8px}.topbar-chip,.blind,.dealer{min-height:28px;display:inline-grid;place-items:center;padding:0 10px;border-radius:999px;background:var(--panel-2);border:1px solid var(--line);font-size:.78rem;font-weight:600}.topbar-chip.accent{background:color-mix(in srgb,var(--panel) 70%,var(--felt-2) 30%);border-color:color-mix(in srgb,var(--felt) 40%,var(--line))}.topbar-chip.muted-chip{color:var(--muted);font-weight:500}.facing-action{display:grid;gap:4px;padding:12px 14px;border-radius:10px;border:1px solid color-mix(in srgb,var(--amber) 35%,var(--line));background:color-mix(in srgb,var(--panel) 84%,var(--amber) 16%)}.facing-action span{color:var(--muted);font-size:.78rem;text-transform:uppercase;letter-spacing:.04em}.facing-action strong{font-size:1rem;line-height:1.35}.pot-center{position:absolute;inset:34% 28%;display:grid;place-items:center;color:#fff;text-align:center;z-index:2}.dealer-on-felt{position:absolute;width:24px;height:18px;border-radius:999px;display:grid;place-items:center;background:#e53935;color:#fff;font-size:.68rem;font-weight:800;border:1px solid #ffcaca;box-shadow:0 4px 12px #00000052;z-index:5}.dealer-on-felt.slot-sb{left:30%;top:16%}.dealer-on-felt.slot-bb{left:70%;top:16%}.dealer-on-felt.slot-utg{left:86%;top:48%}.dealer-on-felt.slot-hj{left:70%;top:82%}.dealer-on-felt.slot-co{left:30%;top:82%}.dealer-on-felt.slot-btn{left:18%;top:40%}.hero-view-control{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin:0 0 12px;padding:10px 12px;border:1px solid var(--border);border-radius:12px;background:var(--surface)}.hero-view-control span{font-size:.82rem;font-weight:600}.hero-view-control select{min-width:180px;border:1px solid var(--border);border-radius:8px;background:var(--surface-elevated);color:var(--text);padding:6px 10px;font-size:.82rem}.hero-view-control small,.hero-view-hint{width:100%;color:var(--text-muted);font-size:.74rem}.felt-bet{position:absolute;display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:999px;background:#ffffffeb;color:#111;font-size:.68rem;font-weight:700;box-shadow:0 6px 14px #00000038;z-index:4}.felt-bet em{font-style:normal}.felt-bet.slot-sb{left:24%;top:24%}.felt-bet.slot-bb{left:66%;top:24%}.felt-bet.slot-utg{left:72%;top:46%}.felt-bet.slot-hj{left:58%;top:62%}.felt-bet.slot-co{left:30%;top:62%}.felt-bet.slot-btn{left:20%;top:46%}.seat-bet-chip{position:absolute;z-index:6;display:inline-flex;flex-direction:column;align-items:center;gap:3px;padding:0;background:transparent;border:0;box-shadow:none;pointer-events:none;white-space:nowrap}.seat-bet-chip em{font-style:normal;font-size:.64rem;font-weight:800;color:#f8faf8;padding:1px 6px;border-radius:999px;background:#080e16d1;text-shadow:0 1px 2px rgba(0,0,0,.5)}.poker-chip-stack{position:relative;width:26px;height:16px}.poker-chip-stack.size-lg{width:30px;height:20px}.poker-chip-disc{position:absolute;left:50%;bottom:0;width:22px;height:22px;margin-left:-11px;border-radius:50%;border:2px dashed rgba(255,255,255,.5);box-shadow:inset 0 1px 3px #ffffff59,inset 0 -2px 4px #00000038,0 2px 4px #00000047}.poker-chip-stack.size-lg .poker-chip-disc{width:24px;height:24px;margin-left:-12px}.poker-chip-white .poker-chip-disc{background:radial-gradient(circle at 35% 30%,#fff,#e8e8e8 45%,#bdbdbd);border-color:#7878788c}.poker-chip-red .poker-chip-disc{background:radial-gradient(circle at 35% 30%,#ff6b6b,#d32f2f,#9a1f1f);border-color:#ffdcdc8c}.poker-chip-blue .poker-chip-disc{background:radial-gradient(circle at 35% 30%,#64b5f6,#1976d2,#0d47a1);border-color:#c8e6ff8c}.poker-chip-gold .poker-chip-disc{background:radial-gradient(circle at 35% 30%,#ffe082,#ffb300,#c68400);border-color:#fff0c8a6}.poker-chip-green .poker-chip-disc{background:radial-gradient(circle at 35% 30%,#81c784,#388e3c,#1b5e20);border-color:#d2ffd28c}.poker-chip-purple .poker-chip-disc{background:radial-gradient(circle at 35% 30%,#b39ddb,#673ab7,#4527a0);border-color:#e6d2ff8c}.poker-chip-black .poker-chip-disc{background:radial-gradient(circle at 35% 30%,#616161,#212121 55%,#0a0a0a);border-color:#b4b4b473}.seat-bet-chip-blind .poker-chip-disc{width:20px;height:20px;margin-left:-10px;border-width:2px}.seat-bet-chip-extra .poker-chip-disc{border-style:solid;border-width:3px}.slot-sb .seat-bet-chip{top:calc(100% + 6px);left:55%;transform:translate(-50%)}.slot-bb .seat-bet-chip{top:calc(100% + 6px);left:45%;transform:translate(-50%)}.slot-utg .seat-bet-chip{right:calc(100% + 4px);top:35%;transform:translateY(-50%)}.slot-hj .seat-bet-chip{bottom:calc(100% + 6px);left:45%;transform:translate(-50%)}.slot-co .seat-bet-chip{bottom:calc(100% + 6px);left:55%;transform:translate(-50%)}.slot-btn .seat-bet-chip{left:calc(100% + 4px);top:35%;transform:translateY(-50%)}.seat-action-badge{position:relative;z-index:4;display:inline-flex;align-items:center;justify-content:center;min-width:44px;max-width:88px;min-height:18px;padding:2px 7px;border-radius:999px;background:#0c121ceb;color:#fff;font-size:.58rem;font-weight:700;letter-spacing:.01em;text-align:center;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;box-shadow:0 4px 10px #00000047;text-transform:none;flex-shrink:0}.seat-action-badge.kind-blind_extra{background:#78500aeb;color:#fff8e8}.seat-action-badge.kind-blind_sb,.seat-action-badge.kind-blind_bb{background:#284678e6}.seat-action-badge.kind-fold{background:#505050e0}.seat-action-badge.kind-win{background:#14783ceb}.poker-seat.winner-seat .seat-marker{box-shadow:0 0 0 3px #6ee7a0,0 0 0 6px #6ee7a059,0 12px 24px #00000052}.seat-status-winner{color:#9ef0c0;font-weight:800}.winner-pot-pile{position:absolute;z-index:5;display:inline-flex;flex-direction:column;align-items:center;gap:2px;padding:4px 8px;border-radius:10px;background:#14502de0;color:#eafff2;font-size:.68rem;font-weight:700;box-shadow:0 8px 18px #00000047;pointer-events:none}.winner-pot-pile em{font-style:normal}.winner-pot-pile .chip-stack-lg{width:18px;height:18px}.slot-sb .winner-pot-pile,.slot-bb .winner-pot-pile{top:calc(100% + 28px);left:50%;transform:translate(-50%)}.slot-utg .winner-pot-pile{right:calc(100% + 8px);top:50%;transform:translateY(-50%)}.slot-hj .winner-pot-pile,.slot-co .winner-pot-pile{bottom:calc(100% + 28px);left:50%;transform:translate(-50%)}.slot-btn .winner-pot-pile{left:calc(100% + 8px);top:50%;transform:translateY(-50%)}.pot-winner-label{color:#9ef0c0}.timeline-grouped{display:flex;flex-direction:column;gap:10px}.timeline-group-title{margin:0;font-size:.78rem;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em}.timeline-row.timeline-setup{opacity:.92;border-left:3px solid rgba(180,120,20,.55)}.timeline-order{font-size:.72rem;font-weight:700;color:var(--text-muted);min-width:1.4rem}.timeline-pot{font-size:.68rem;margin-left:auto}.pot-center strong{font-size:1.5rem}.empty-board{color:#ffffffbf;font-style:italic}.poker-seat{position:absolute;width:88px;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:3px;color:#fff;pointer-events:auto;transform:translate(-50%,-50%);transition:opacity .16s ease}.seat-marker{position:relative;width:52px;height:52px;min-width:52px;min-height:52px;flex-shrink:0;border-radius:50%;display:flex;align-items:center;justify-content:center;padding:0;color:#fff;font-weight:800;text-shadow:0 1px 2px rgba(0,0,0,.45);border:2px solid rgba(255,255,255,.88);box-shadow:0 8px 18px #00000047;overflow:visible}.seat-marker-pos{font-size:.72rem;line-height:1;flex-shrink:0;letter-spacing:.02em}.seat-cards-slot{display:flex;align-items:center;justify-content:center;min-height:24px;width:100%;flex-shrink:0}.seat-cards-slot:empty,.seat-cards-slot:not(:has(.seat-hole-cards)){min-height:0;height:0;overflow:hidden}.seat-label{display:none}.poker-seat.hero-seat .seat-marker{box-shadow:0 0 0 3px #ffd76a,0 0 0 6px #ffd76a59,0 12px 24px #00000052}.seat-stack{display:inline-flex;align-items:center;justify-content:center;min-width:52px;padding:3px 9px;border-radius:999px;background:#060c14d1;border:1px solid rgba(255,255,255,.16);font-size:.68rem;font-weight:700;letter-spacing:.01em;color:#fffffff5;text-shadow:0 1px 2px rgba(0,0,0,.55);box-shadow:0 2px 8px #0000003d;line-height:1.2}.card-back{display:flex;background:linear-gradient(145deg,#1a3d5c,#0f2740);border:1px solid #2d5f8f;color:#7eb8e8;justify-content:center;align-items:center}.card-back .card-back-pattern{display:block;width:62%;height:62%;border-radius:3px;background:repeating-linear-gradient(135deg,rgba(126,184,232,.42) 0 2px,transparent 2px 5px),repeating-linear-gradient(45deg,rgba(126,184,232,.22) 0 2px,transparent 2px 5px)}.seat-stack.stack-unverified{opacity:.75}.table-disclaimer{display:block;text-align:center;margin-top:6px;font-size:.72rem}.seat-folded{opacity:.58}.seat-folded .seat-marker{box-shadow:0 8px 18px #0003}.seat-allin .seat-marker{box-shadow:0 0 0 3px var(--coral),0 10px 22px #00000047}.seat-waiting .seat-marker{box-shadow:0 0 0 2px #ffffff8c,0 10px 22px #00000047}.seat-mucked .seat-marker,.seat-unrevealed .seat-marker{box-shadow:0 8px 18px #0003}.seat-status-muck,.seat-status-unrevealed{font-size:.62rem;color:#ffffffb8}.chip-stack{width:14px;height:14px;border-radius:50%;background:linear-gradient(180deg,#f4f4f4,#c7c7c7);border:2px solid #8d8d8d;box-shadow:0 2px #8d8d8d,0 5px #d0d0d0}.seat-status{font-size:.64rem;text-transform:uppercase;letter-spacing:.04em;opacity:.9}.slot-sb{left:26%;top:4%}.slot-bb{left:74%;top:4%}.slot-utg{left:97%;top:50%}.slot-hj{left:74%;top:96%}.slot-co{left:26%;top:96%}.slot-btn{left:3%;top:50%}.slot-hj .seat-cards-slot,.slot-co .seat-cards-slot{order:-2}.slot-hj .seat-marker,.slot-co .seat-marker{order:-1}.slot-sb .seat-cards-slot,.slot-bb .seat-cards-slot,.slot-btn .seat-cards-slot,.slot-utg .seat-cards-slot{order:1}.slot-sb .seat-marker,.slot-bb .seat-marker,.slot-btn .seat-marker,.slot-utg .seat-marker{order:0}.slot-fallback{left:50%;top:50%}.poker-seat.hero-seat .seat-cards-slot{order:-2;min-height:56px}.poker-seat.hero-seat .seat-hole-cards{gap:5px;margin-bottom:4px}.poker-seat.hero-seat .seat-hole-cards .card-view.seat{width:40px;height:54px;border-radius:5px;box-shadow:0 3px 12px #00000061}.poker-seat.hero-seat .seat-hole-cards .card-view.seat .card-corner{top:3px;left:3px}.poker-seat.hero-seat .seat-hole-cards .card-view.seat .card-rank{font-size:.72rem;line-height:1}.poker-seat.hero-seat .seat-hole-cards .card-view.seat .card-suit.corner{width:9px;height:9px}.seat-marker .seat-hole-cards,.seat-cards-slot .seat-hole-cards{position:static;z-index:1;display:flex;gap:2px;align-items:center;justify-content:center;pointer-events:none}.seat-hole-cards .card-view.seat{width:18px;height:24px;border-radius:3px;box-shadow:0 1px 4px #00000047}.seat-hole-cards .card-view.seat .card-corner{top:2px;left:2px;gap:0}.seat-hole-cards .card-view.seat .card-rank{font-size:.44rem;line-height:1}.seat-hole-cards .card-view.seat .card-suit.corner{width:6px;height:6px}.seat-hole-cards .card-back.seat{opacity:.88}.seat-hole-cards .card-back.seat .card-back-pattern{width:70%;height:70%}.hero-zone{display:flex;align-items:center;justify-content:space-between;gap:14px;border:1px solid var(--line);border-radius:12px;padding:14px;background:var(--panel-2)}.hero-meta{display:grid;gap:8px}.hero-label{font-weight:700;font-size:.92rem}.training-controls{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:stretch;position:relative;z-index:6}.quick-sizes .size-chip,.action-btn{min-height:50px;border:1px solid var(--line);border-radius:10px;background:var(--panel);color:var(--text);padding:0 14px;min-width:76px}.action-bar{display:flex;flex-wrap:wrap;gap:8px}.action-btn{flex:1 1 92px;background:var(--felt);border-color:var(--felt);color:#fff;font-weight:700;font-size:1rem}.action-btn.danger-action{background:var(--coral);border-color:var(--coral)}.action-btn-fold{background:#c62828!important;border-color:#c62828!important;color:#fff!important}.action-btn-fold:hover{background:#b71c1c!important;border-color:#b71c1c!important}.action-btn-call{background:#2e7d32!important;border-color:#2e7d32!important;color:#fff!important}.action-btn-call:hover{background:#1b5e20!important;border-color:#1b5e20!important}.action-btn-raise{background:#c98815!important;border-color:#c98815!important;color:#fff!important}.action-btn-raise:hover{background:#a86e0f!important;border-color:#a86e0f!important}.action-btn-allin{background:linear-gradient(135deg,#6d5bd2,#8b4fc8)!important;border-color:#6d5bd2!important;color:#fff!important;font-weight:800!important;box-shadow:0 2px 8px #6d5bd259!important}.action-btn-allin:hover{background:linear-gradient(135deg,#5c4bbb,#7a3fb5)!important;box-shadow:0 4px 12px #6d5bd280!important}.coach-zone{display:grid;gap:0;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:var(--panel-2)}.coach-compact-bar{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 14px;border-bottom:1px solid var(--line)}.coach-facing-bar{font-size:.83rem;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.coach-toggle{min-width:82px;min-height:34px;border:1px solid var(--line);border-radius:999px;background:var(--panel);color:var(--text);display:inline-flex;align-items:center;justify-content:center;gap:6px;font-size:.83rem;font-weight:600;flex-shrink:0}.coach-toggle.open{background:color-mix(in srgb,var(--panel) 68%,var(--blue) 32%);border-color:color-mix(in srgb,var(--blue) 40%,var(--line))}.decision-coach{display:grid;gap:8px;padding:12px 14px;animation:coach-in .16s ease}@keyframes coach-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.coach-summary{display:flex;gap:14px;align-items:flex-start;flex-wrap:wrap}.coach-hero-info{display:grid;gap:2px}.coach-hero{font-weight:700;font-size:.9rem}.coach-facing{font-size:.78rem}.coach-recommendation{display:flex;flex-wrap:wrap;align-items:center;gap:8px;flex:1}.coach-action-label{font-size:.72rem;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}.coach-action{font-size:1.1rem;font-weight:800}.ev-plus-text{color:var(--felt)}.ev-minus-text{color:var(--coral)}.ev-close-text{color:var(--amber)}.ev-unknown-text{color:var(--muted)}.coach-odds-inline{font-size:.78rem}.coach-confidence{font-size:.72rem}.coach-tabs{display:flex;flex-wrap:wrap;gap:6px;border-top:1px solid var(--line);padding-top:8px}.coach-tabs button{min-height:32px;border:1px solid var(--line);border-radius:999px;background:var(--panel);color:var(--text);display:inline-flex;align-items:center;gap:5px;padding:0 10px;font-size:.8rem}.coach-tabs button.active{background:color-mix(in srgb,var(--panel) 60%,var(--felt-2) 40%);border-color:color-mix(in srgb,var(--felt) 40%,var(--line))}.coach-tab-content{font-size:.86rem;line-height:1.5}.coach-reason,.coach-odds-detail,.coach-ranges-detail,.coach-explanation-detail{display:grid;gap:6px}.coach-assisted-warning{font-size:.72rem;border-top:1px solid var(--line);padding-top:6px}.training-action-zone{display:grid;gap:8px}.preflop-sizing{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.secondary-size{min-height:38px;border:1px dashed var(--line);border-radius:999px;background:var(--panel);color:var(--text);padding:0 14px;font-size:.82rem;cursor:default;opacity:.8}.size-status{font-size:.7rem;font-style:italic}.review-header{display:flex;align-items:center;gap:10px;margin-bottom:4px}.review-header h2{margin:0;font-size:1rem}.review-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:8px}.review-actions .action-btn{flex:0 0 auto;min-height:42px;min-width:140px;background:var(--felt);border-color:var(--felt);color:#fff}.ev-tag{display:inline-flex;width:fit-content;padding:2px 8px;border-radius:999px;background:color-mix(in srgb,var(--panel) 70%,var(--felt-2) 30%);font-size:.78rem;font-weight:700}.post-hand-review h2{margin:0;font-size:1rem}.state-panel{padding:16px;display:grid;gap:8px}hr{width:100%;border:0;border-top:1px solid var(--line)}.study-screen{max-width:1400px}.study-session-chips{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.study-main-layout{display:grid;grid-template-columns:220px minmax(0,1fr);gap:18px;align-items:start}.study-sidebar{display:grid;gap:2px;position:sticky;top:14px}.study-sidebar-section{display:grid;gap:2px;padding-bottom:14px;border-bottom:1px solid var(--line);margin-bottom:14px}.study-sidebar-section:last-child{border-bottom:none;margin-bottom:0}.study-sidebar-title{font-size:.68rem;font-weight:700;letter-spacing:.08em;color:var(--muted);padding:0 10px 6px;margin:0}.study-mode-item{display:flex;align-items:center;gap:8px;width:100%;min-height:36px;padding:6px 10px;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--text);text-align:left;font-size:.84rem;cursor:pointer;transition:background .1s,border-color .1s}.study-mode-item:hover:not(.disabled){background:var(--panel-2);border-color:var(--line)}.study-mode-item.active{background:color-mix(in srgb,var(--panel) 72%,var(--felt) 28%);border-color:color-mix(in srgb,var(--felt) 50%,var(--line));font-weight:600}.study-mode-item.disabled{cursor:not-allowed;opacity:.45}.study-mode-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0;background:var(--line)}.study-mode-dot.dot-real{background:var(--felt)}.study-mode-dot.dot-none{background:var(--line)}.study-mode-label{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.study-mode-soon{font-size:.62rem;color:var(--muted);background:var(--panel-2);border:1px solid var(--line);border-radius:999px;padding:1px 6px;flex-shrink:0}.study-task-item{display:grid;gap:2px;padding:8px 10px;border-radius:8px;border:1px solid var(--line);background:var(--panel);cursor:default}.study-task-title{font-size:.82rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.study-task-desc{font-size:.72rem;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.study-tasks-empty{font-size:.78rem;color:var(--muted);padding:0 10px;margin:0;line-height:1.4}.study-pos-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:5px;padding:0 2px}.study-pos-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;min-height:44px;border:1px solid var(--line);border-radius:9px;background:var(--panel);color:var(--text);font-size:.76rem;font-weight:600;cursor:pointer;transition:background .12s,border-color .12s,box-shadow .12s}.study-pos-btn:hover{background:var(--panel-2);border-color:var(--muted)}.study-pos-btn.active{border-color:var(--felt);background:color-mix(in srgb,var(--panel) 68%,var(--felt) 32%);box-shadow:0 0 0 2px color-mix(in srgb,transparent 70%,var(--felt) 30%)}.study-pos-count{font-size:.62rem;font-weight:700;color:var(--muted);line-height:1}.study-pos-btn.active .study-pos-count{color:var(--felt)}.study-pos-btn.pos-btn{border-left:3px solid var(--pos-late)}.study-pos-btn.pos-co{border-left:3px solid var(--pos-middle)}.study-pos-btn.pos-hj,.study-pos-btn.pos-utg{border-left:3px solid var(--pos-early)}.study-pos-btn.pos-sb,.study-pos-btn.pos-bb{border-left:3px solid var(--pos-blind)}.study-pos-hint{font-size:.72rem;color:var(--muted);padding:4px 10px 0;margin:0}.study-modes-soon-group{margin-top:2px}.study-modes-soon-toggle{font-size:.72rem;color:var(--muted);padding:6px 10px;cursor:pointer;list-style:none;display:flex;align-items:center;gap:6px;border-radius:6px;user-select:none}.study-modes-soon-toggle:hover{background:var(--panel-2)}.study-modes-soon-toggle:before{content:"▸";font-size:.6rem;transition:transform .12s}details.study-modes-soon-group[open] .study-modes-soon-toggle:before{transform:rotate(90deg)}.study-tasks-hint{font-size:.7rem;color:var(--muted);padding:4px 10px 0;margin:0;line-height:1.4;font-style:italic}.study-stats-block .study-stat-row{display:flex;justify-content:space-between;align-items:center;padding:5px 10px;font-size:.82rem}.study-stats-block .study-stat-row span{color:var(--muted)}.study-center{display:grid;gap:12px;min-width:0}.study-loading{padding:40px 0}.study-dock{display:grid;gap:12px}.study-action-area{display:grid;gap:10px}.study-action-bar{gap:10px}.study-action-bar .action-btn{min-height:52px;font-size:1.05rem;border-radius:12px}.study-evaluating{padding:10px 0;font-size:.86rem;text-align:center}.study-facing-value{font-size:.82rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:280px}.study-review-next{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.study-next-btn{min-height:44px;min-width:160px;flex:0 0 auto;background:var(--felt);border-color:var(--felt);color:#fff;font-size:.95rem}.study-review-card{display:grid;gap:12px;padding:18px 20px;border:1px solid var(--line);border-radius:14px;background:var(--panel);box-shadow:var(--shadow);animation:coach-in .2s ease}.study-review-header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;flex-wrap:wrap}.study-review-verdict{display:grid;gap:3px}.study-review-verdict h3{margin:0;font-size:1rem;font-weight:600;line-height:1.35}.ev-tag-lg{min-height:32px;padding:0 14px;font-size:.88rem;font-weight:700;display:inline-flex;align-items:center;border-radius:999px;flex-shrink:0;background:color-mix(in srgb,var(--panel) 68%,var(--felt) 32%)}.ev-tag-lg.ev-plus{background:color-mix(in srgb,var(--panel) 55%,var(--felt) 45%);color:var(--felt);border:1px solid color-mix(in srgb,var(--felt) 40%,transparent)}.ev-tag-lg.ev-minus{background:color-mix(in srgb,var(--panel) 60%,var(--coral) 40%);color:var(--coral);border:1px solid color-mix(in srgb,var(--coral) 40%,transparent)}.ev-tag-lg.ev-close{background:color-mix(in srgb,var(--panel) 65%,var(--amber) 35%);color:var(--amber);border:1px solid color-mix(in srgb,var(--amber) 35%,transparent)}.study-review-meta{display:flex;flex-wrap:wrap;gap:6px}.study-meta-chip{display:inline-flex;align-items:center;min-height:24px;padding:0 10px;border-radius:999px;border:1px solid var(--line);background:var(--panel-2);font-size:.75rem;font-weight:600}.study-meta-chip.chip-clean{background:color-mix(in srgb,var(--panel) 65%,var(--felt) 35%);border-color:color-mix(in srgb,var(--felt) 40%,var(--line));color:var(--felt)}.study-meta-chip.chip-assisted{background:color-mix(in srgb,var(--panel) 70%,var(--amber) 30%);border-color:color-mix(in srgb,var(--amber) 30%,var(--line));color:var(--amber)}.study-review-text{font-size:.88rem;line-height:1.55;margin:0;color:var(--text)}@media(max-width:860px){.study-main-layout{grid-template-columns:1fr}.study-sidebar{position:static}.study-sidebar-section{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:6px;padding-bottom:12px}.study-sidebar-title{grid-column:1 / -1}.study-task-item{display:none}.study-task-item:nth-child(-n+3){display:grid}}@media(max-width:540px){.study-sidebar{display:none}.study-main-layout{grid-template-columns:1fr}}.reports-screen{max-width:1600px}.reports-actions,.preset-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.reports-layout{display:grid;grid-template-columns:200px 1fr 220px;gap:14px;align-items:start}.reports-nav-sidebar{border:1px solid var(--line);border-radius:10px;background:var(--panel);overflow:hidden;position:sticky;top:12px}.nav-group{border-bottom:1px solid var(--line)}.nav-group:last-child{border-bottom:0}.nav-group-header{display:flex;align-items:center;gap:6px;width:100%;min-height:34px;padding:0 12px;background:var(--panel-2);color:var(--muted);font-size:.68rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;text-align:left;border:0}.nav-group-header:hover{color:var(--text)}.nav-group-items{display:grid}.nav-item{display:flex;align-items:center;gap:8px;width:100%;min-height:34px;padding:0 14px;border:0;border-left:3px solid transparent;background:transparent;color:var(--muted);font-size:.84rem;text-align:left;transition:color .12s,background .12s,border-color .12s}.nav-item:hover{background:var(--panel-2);color:var(--text)}.nav-item.active{border-left-color:var(--felt);background:color-mix(in srgb,var(--panel) 80%,var(--felt) 20%);color:var(--text);font-weight:600}.status-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}.dot-real{background:var(--felt)}.dot-basic{background:var(--amber)}.dot-none{background:color-mix(in srgb,var(--muted) 40%,transparent 60%)}.dot-unknown{background:var(--line)}.reports-main{display:grid;gap:14px;min-width:0}.report-main-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:10px;border-bottom:1px solid var(--line)}.report-main-title{display:flex;align-items:center;gap:10px}.report-main-title h2{font-size:1.15rem;font-weight:700;margin:0}.report-status-icon{display:inline-flex;align-items:center;color:var(--muted);cursor:help;transition:color .12s}.report-status-icon:hover{color:var(--text)}.report-generated-at{color:var(--muted);font-size:.76rem;white-space:nowrap}.report-status{display:inline-flex;min-height:24px;align-items:center;border-radius:6px;padding:0 8px;font-size:.7rem;font-weight:700;letter-spacing:.04em}.status-real{background:color-mix(in srgb,var(--panel) 60%,var(--felt) 40%);color:var(--felt-2)}.report-content{display:grid;gap:14px}.reports-metric-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(148px,1fr));gap:10px}.reports-metric-grid .metric-card{min-height:100px;box-shadow:none}.reports-metric-grid .metric-card strong{font-size:1.4rem;overflow-wrap:anywhere}.reports-metric-grid .metric-card strong.positive{color:var(--felt-2)}.reports-metric-grid .metric-card strong.negative{color:var(--coral)}.metric-card-label{font-size:.72rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}.report-loading{height:4px;background:var(--line);border-radius:2px;overflow:hidden}.report-loading-bar{height:100%;width:40%;background:var(--felt);border-radius:2px;animation:loading-slide 1.2s ease-in-out infinite}@keyframes loading-slide{0%{transform:translate(-100%)}to{transform:translate(350%)}}.report-empty-chart{min-height:140px;display:grid;place-items:center;gap:6px;border:1px dashed var(--line);border-radius:8px;background:var(--panel-2);color:var(--muted);text-align:center;padding:20px;font-size:.9rem}.report-chart{display:grid;gap:10px;min-width:0;border:1px solid var(--line);border-radius:8px;padding:14px;background:var(--panel-2);overflow:hidden}.report-chart-header{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.report-chart-header strong{font-size:.9rem}.report-chart svg{width:100%;height:auto;min-height:200px}.chart-grid-line{stroke:var(--line);stroke-width:1;opacity:.5}.chart-zero-line{stroke:var(--muted);stroke-width:1.5;opacity:.7}.chart-axis-label{fill:var(--muted);font-size:10px}.chart-bar-positive{fill:var(--felt)}.chart-bar-negative{fill:var(--coral)}.chart-label{fill:var(--muted);font-size:11px}.chart-line{fill:none;stroke:var(--felt);stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}.chart-area-fill{fill:var(--felt);opacity:.12}.chart-point-hover{fill:transparent;stroke:transparent;cursor:crosshair}.chart-point-hover:hover{fill:var(--felt);stroke:var(--panel);stroke-width:2}.chart-tooltip-bg{fill:var(--panel);stroke:var(--line);stroke-width:1}.chart-tooltip-label{fill:var(--muted);font-size:9px}.chart-tooltip-value{fill:var(--text);font-size:11px;font-weight:700}.chart-legend{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.chart-legend-item{display:flex;align-items:center;gap:4px;font-size:.76rem;color:var(--muted)}.chart-legend-dot{width:8px;height:8px;border-radius:2px;flex-shrink:0}.hstat-container{border:1px solid var(--line);border-radius:8px;padding:14px;background:var(--panel-2);display:grid;gap:8px}.hstat-title{font-size:.9rem;font-weight:600;margin:0 0 4px;color:var(--text)}.hstat-row{display:grid;grid-template-columns:80px 1fr 64px;align-items:center;gap:10px}.hstat-label{font-size:.73rem;font-weight:600;letter-spacing:.04em;color:var(--muted);text-align:right}.hstat-track{height:10px;background:var(--line);border-radius:5px;overflow:hidden}.hstat-fill{height:100%;border-radius:5px;transition:width .4s ease}.hstat-fill.pos{background:var(--felt)}.hstat-fill.neg{background:var(--coral)}.hstat-value{font-size:.82rem;font-weight:700;text-align:right}.hstat-value.positive{color:var(--felt-2)}.hstat-value.negative{color:var(--coral)}.report-donut-real{display:flex;align-items:flex-start;gap:16px;border:1px solid var(--line);border-radius:8px;padding:14px;background:var(--panel-2);flex-wrap:wrap}.donut-svg{flex-shrink:0}.donut-inner-hole{fill:var(--panel-2)}.donut-center-label{fill:var(--muted);font-size:9px;font-weight:500;text-transform:uppercase;letter-spacing:.04em}.donut-center-value{fill:var(--text);font-size:14px;font-weight:700}.donut-legend{display:grid;gap:6px;flex:1;min-width:120px;align-content:start;padding-top:4px}.donut-legend-row{display:flex;align-items:center;gap:8px;padding:4px 6px;border-radius:6px;cursor:pointer;transition:background .12s}.donut-legend-row:hover,.donut-legend-row.highlighted{background:var(--panel)}.donut-dot{width:10px;height:10px;border-radius:2px;flex-shrink:0}.donut-legend-label{flex:1;font-size:.82rem;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.donut-legend-value{font-size:.84rem;font-weight:700;color:var(--text);white-space:nowrap}.heatmap-13{display:grid;grid-template-columns:repeat(13,minmax(38px,1fr));gap:4px;min-width:0}.heatmap-cell{min-height:48px;border:1px solid color-mix(in srgb,var(--line) 72%,#000 28%);border-radius:6px;color:var(--text);display:grid;place-items:center;padding:4px 2px}.heatmap-cell strong,.heatmap-cell span{line-height:1}.heatmap-cell span{font-size:.64rem}.report-table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:8px}.report-table{width:100%;min-width:640px;border-collapse:collapse;background:var(--panel)}.report-table th,.report-table td{padding:10px 14px;border-bottom:1px solid var(--line);text-align:left;white-space:nowrap;font-size:.86rem}.report-table th{color:var(--muted);font-size:.73rem;text-transform:uppercase;letter-spacing:.04em;background:var(--panel-2);position:sticky;top:0;z-index:1}.sortable-th{cursor:pointer;user-select:none;transition:color .12s}.sortable-th:hover{color:var(--text)}.sort-indicator{opacity:.5;font-size:.68rem}.report-table tbody tr{transition:background .1s}.report-table tbody tr:hover{background:var(--panel-2)}.report-table tr:last-child td{border-bottom:0}.td-positive{color:var(--felt-2);font-weight:600}.td-negative{color:var(--coral);font-weight:600}.formula-trace{border:1px solid var(--line);border-radius:8px;background:var(--panel);overflow:hidden}.formula-trace-toggle{display:flex;align-items:center;gap:6px;width:100%;min-height:38px;padding:0 12px;background:transparent;border:0;color:var(--muted);font-size:.82rem;text-align:left;cursor:pointer;transition:color .12s}.formula-trace-toggle:hover{color:var(--text)}.formula-trace-toggle span{flex:1}.formula-warn-count{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;background:var(--amber);color:#000;font-size:.68rem;font-weight:700}.formula-trace-body{display:grid;gap:4px;padding:10px 14px 14px;border-top:1px solid var(--line);font-size:.82rem;color:var(--muted)}.formula-trace-body span{overflow-wrap:anywhere}.formula-trace-body em{color:var(--amber);font-style:normal}.reports-quick-filters{border:1px solid var(--line);border-radius:10px;background:var(--panel);overflow:hidden;position:sticky;top:12px;display:grid}.qf-section{padding:12px;border-bottom:1px solid var(--line);display:grid;gap:8px}.qf-section:last-child{border-bottom:0}.qf-section-title{font-size:.65rem;font-weight:700;letter-spacing:.08em;color:var(--muted);margin:0;text-transform:uppercase}.qf-presets{display:grid;gap:4px}.qf-preset-btn{width:100%;min-height:30px;padding:0 10px;border:1px solid var(--line);border-radius:6px;background:transparent;color:var(--muted);font-size:.8rem;text-align:left;cursor:pointer;transition:background .1s,color .1s,border-color .1s}.qf-preset-btn:hover{background:var(--panel-2);color:var(--text);border-color:var(--felt)}.qf-preset-btn.active{background:color-mix(in srgb,var(--felt) 14%,transparent);color:var(--text);border-color:var(--felt);font-weight:600}.qf-position-chips{display:flex;flex-wrap:wrap;gap:4px}.qf-pos-chip{min-height:26px;padding:0 8px;border:1px solid var(--line);border-radius:5px;background:transparent;color:var(--muted);font-size:.72rem;font-weight:600;letter-spacing:.03em;cursor:pointer;transition:all .1s}.qf-pos-chip:hover{border-color:var(--felt);color:var(--text)}.qf-pos-chip.active{background:var(--felt);border-color:var(--felt);color:#fff}.qf-label{display:grid;gap:4px;font-size:.72rem;color:var(--muted)}.qf-input{width:100%;min-height:32px;padding:0 8px;border:1px solid var(--line);border-radius:6px;background:var(--panel-2);color:var(--text);font-size:.82rem}.qf-segmented{display:flex;border:1px solid var(--line);border-radius:6px;overflow:hidden}.qf-seg-btn{flex:1;min-height:30px;border:0;border-right:1px solid var(--line);background:transparent;color:var(--muted);font-size:.78rem;cursor:pointer;transition:background .1s,color .1s}.qf-seg-btn:last-child{border-right:0}.qf-seg-btn:hover{background:var(--panel-2);color:var(--text)}.qf-seg-btn.active{background:var(--felt);color:#fff;font-weight:600}.qf-trusted-toggle{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:.8rem;color:var(--muted)}.qf-trusted-toggle input{width:14px;height:14px;accent-color:var(--felt)}.qf-reset-btn{width:100%;min-height:30px;border:1px solid var(--coral);border-radius:6px;background:transparent;color:var(--coral);font-size:.78rem;cursor:pointer;transition:background .1s}.qf-reset-btn:hover{background:color-mix(in srgb,var(--panel) 80%,var(--coral) 20%)}.custom-builder{border:1px solid var(--line);border-radius:8px;background:var(--panel);padding:14px;display:grid;gap:12px}.filter-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}.filter-grid label{display:grid;gap:6px;color:var(--muted);font-size:.78rem}.filter-grid input,.filter-grid select{min-height:38px;width:100%;border:1px solid var(--line);border-radius:7px;padding:0 10px;background:var(--panel-2);color:var(--text)}.saved-preset{display:inline-flex;align-items:center;min-height:34px;border:1px solid var(--line);border-radius:8px;overflow:hidden}.saved-preset button{min-height:34px;border:0;border-right:1px solid var(--line);background:var(--panel-2);color:var(--text);padding:0 10px}.saved-preset button:last-child{border-right:0;color:var(--coral)}@media(max-width:980px){.app-shell{grid-template-columns:1fr}.sidebar{position:sticky;top:0;bottom:auto;z-index:10;height:auto;order:0;border-right:0;border-top:1px solid var(--line)}.main-view{order:1}.brand{display:none}nav{grid-template-columns:repeat(auto-fit,minmax(44px,1fr))}.nav-item{justify-content:center;padding:0 8px}.nav-item span,.sidebar-footer{display:none}.app-version-mobile{display:inline-flex;position:static;align-self:flex-end;margin-top:-2px}.main-view{padding:16px}.dashboard-grid,.card-list,.split,.import-layout,.replayer-layout,.replayer-enterprise-layout,.range-layout,.study-layout,.settings-grid{grid-template-columns:1fr}.replayer-enterprise-layout.mobile-detail .hand-library{display:none}.score-ring{min-height:190px}.hand-list{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.reports-actions{width:100%}.reports-layout{grid-template-columns:1fr}.reports-nav-sidebar{position:static;display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:0}.nav-group{border-right:1px solid var(--line)}.reports-quick-filters{position:static;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.qf-section{border-right:1px solid var(--line)}}@media(max-width:620px){.screen-header{align-items:flex-start;flex-direction:column}.range-grid{grid-template-columns:repeat(13,minmax(24px,1fr));gap:3px}.range-cell{font-size:.58rem}.poker-table-frame{height:clamp(210px,56vw,300px)}.poker-table-frame.compact{height:clamp(220px,58vw,290px)}.poker-room.immersive{--poker-seat-bleed-y: 64px;--poker-seat-bleed-x: 46px}.poker-seat{width:80px}.seat-marker{width:48px;height:48px;min-width:48px;min-height:48px}.seat-marker-pos{font-size:.68rem}.seat-cards-slot{min-height:22px}.seat-hole-cards .card-view.seat{width:16px;height:22px}.seat-stack{min-width:48px;font-size:.62rem;padding:2px 7px}.seat-action-badge{max-width:76px;font-size:.54rem}.position-legend{gap:6px;padding:10px}.legend-item small{display:none}.hero-zone{align-items:flex-start;flex-direction:column}.training-controls{grid-template-columns:1fr}.action-bar{position:sticky;bottom:72px;z-index:4;padding-bottom:2px}.action-btn{min-height:54px;flex:1 1 calc(50% - 4px)}.help-toggle{width:100%;min-height:46px}.study-screen .study-layout:has(.task-column.visible){grid-template-columns:1fr}.card-view.large{width:48px;height:66px}.timeline-row{grid-template-columns:64px 44px minmax(0,1fr);font-size:.86rem}.reports-actions .icon-text{flex:1 1 108px}.reports-layout{grid-template-columns:1fr}.reports-nav-sidebar,.reports-quick-filters{position:static}.reports-nav-sidebar{display:flex;flex-wrap:wrap;gap:0}.nav-group{flex:1 1 auto}.report-main-header{flex-direction:column;align-items:flex-start;gap:6px}.report-chart svg{min-height:170px}.hstat-row{grid-template-columns:60px 1fr 52px;gap:6px}.heatmap-13{grid-template-columns:repeat(13,minmax(22px,1fr));gap:3px}.heatmap-cell{min-height:34px;font-size:.62rem;padding:2px 1px}.heatmap-cell span{font-size:.54rem}}.lab-trace-btn{margin-top:12px}.lab-overlay{position:fixed;inset:0;z-index:30;pointer-events:none;display:flex;align-items:stretch;justify-content:flex-end}.lab-overlay:before{content:"";position:absolute;inset:0;background:#00000059;pointer-events:auto}.lab-panel{position:relative;width:min(520px,100%);max-height:100dvh;background:var(--panel);border-left:1px solid var(--line);border-radius:0;display:grid;grid-template-rows:auto auto 1fr auto;overflow:hidden;pointer-events:auto;animation:lab-slide-in .2s ease}@keyframes lab-slide-in{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.lab-header,.lab-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border-bottom:1px solid var(--border)}.lab-footer{border-bottom:0;border-top:1px solid var(--border)}.lab-header h2{margin:0;font-size:1rem}.lab-header>div{display:flex;align-items:center;gap:8px}.lab-tabs{display:flex;flex-wrap:wrap;gap:6px;padding:10px 12px;border-bottom:1px solid var(--border)}.lab-tabs button{border:1px solid var(--border);background:transparent;color:var(--text-muted);border-radius:999px;padding:6px 10px;font-size:.78rem}.lab-tabs button.active{color:var(--accent);border-color:var(--accent)}.lab-body{overflow:auto;padding:14px 16px}.lab-pre{margin:0;white-space:pre-wrap;word-break:break-word;font-size:.78rem;line-height:1.45;background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:12px}.lab-summary p{margin:0 0 8px}.replayer-layout-split{align-items:stretch}.replayer-layout-library,.replayer-layout-detail{min-width:0}.replayer-layout-library{min-width:260px}.replayer-detail-empty{display:grid;place-content:center;min-height:320px;padding:32px;text-align:center;color:var(--muted);background:var(--panel);border:1px dashed var(--line);border-radius:12px}.replayer-detail-empty strong{display:block;margin-bottom:8px;color:var(--text);font-size:1rem}.replayer-layout-resizer{width:8px;border:0;border-radius:999px;background:var(--line);cursor:col-resize;padding:0}.replayer-layout-resizer:hover{background:color-mix(in srgb,var(--felt) 45%,var(--line))}.replayer-layout-fullscreen{grid-template-columns:minmax(0,1fr)!important}.replayer-scrubber-enterprise{gap:12px}.replayer-scrubber-main{align-items:center}.replayer-icon-btn{min-width:38px;justify-content:center}.replayer-speed-control{display:inline-flex;gap:6px;margin-left:4px}.replayer-step-counter{margin-left:auto;font-size:.82rem}.replayer-scrubber-track-wrap{position:relative;padding-top:18px}.replayer-scrubber-street-markers{position:relative;height:18px}.replayer-street-marker{position:absolute;top:0;transform:translate(-50%);border:0;background:transparent;color:var(--muted);font-size:.68rem;font-weight:700;cursor:pointer}.replayer-street-marker.active{color:var(--felt)}.replayer-scrubber-slider{width:100%;accent-color:var(--felt)}.replayer-shortcuts-hint{font-size:.72rem}.replayer-main-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,300px);gap:12px;align-items:start}.replayer-table-zone{display:grid;gap:8px}.replayer-controls-dock{display:grid;gap:8px;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:var(--panel);box-shadow:var(--shadow)}.replayer-dock-stats{display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;padding-bottom:8px;border-bottom:1px solid var(--line)}.replayer-dock-stat{display:inline-flex;align-items:baseline;gap:5px;min-width:0;font-size:.72rem;color:var(--muted)}.replayer-dock-stat strong{color:var(--text);font-size:.82rem;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:140px}.replayer-controls-dock .replayer-scrubber{border:0;padding:0;background:transparent;box-shadow:none;gap:6px}.replayer-controls-dock .replayer-minimap{border:0;border-top:1px solid var(--line);border-radius:0;background:transparent;padding:8px 0 0;margin:0}.replayer-scrubber-compact .replayer-scrubber-main{display:flex;flex-wrap:nowrap;align-items:center;gap:6px;width:100%}.replayer-scrubber-compact .replayer-speed-control{flex:1;justify-content:flex-end}.replayer-transport{display:inline-flex;align-items:center;gap:4px;flex-shrink:0}.replayer-scrubber-compact .replayer-icon-btn{min-width:34px;min-height:34px;padding:0 8px}.replayer-scrubber-compact .replayer-speed-control{gap:4px;margin-left:0}.replayer-scrubber-compact .replayer-speed-control .chip{min-height:30px;padding:0 8px;font-size:.72rem}.replayer-hero-chip{margin-left:auto;min-height:30px;padding:0 10px;font-size:.72rem}.replayer-scrubber-compact .replayer-scrubber-track-wrap{padding-top:14px}.replayer-scrubber-footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px}.replayer-scrubber-compact .replayer-street-tabs{gap:4px}.replayer-scrubber-compact .replayer-street-tabs .chip{min-height:28px;padding:0 9px;font-size:.68rem}.replayer-step-panel-compact{grid-template-columns:repeat(4,minmax(0,1fr))}.replayer-step-panel-compact>div{min-height:58px}.poker-table-frame.immersive{height:clamp(260px,44vh,420px);max-width:min(820px,100%)}.poker-room.immersive{--poker-ring-inset-y: 28px;--poker-ring-inset-x: 32px;--poker-seat-bleed-y: 72px;--poker-seat-bleed-x: 52px;padding:calc(var(--poker-ring-inset-y) + var(--poker-seat-bleed-y)) calc(var(--poker-ring-inset-x) + var(--poker-seat-bleed-x)) calc(var(--poker-ring-inset-y) + var(--poker-seat-bleed-y));overflow:visible}.poker-table-frame.step-animate .pot-center strong,.poker-table-frame.step-animate .seat-action-badge{animation:replayer-step-pop .32s ease}.poker-seat.has-action .seat-action-badge{animation:replayer-badge-in .26s ease}@keyframes replayer-step-pop{0%{transform:scale(.96);opacity:.7}to{transform:scale(1);opacity:1}}@keyframes replayer-badge-in{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}.replayer-minimap{display:flex;flex-wrap:wrap;gap:3px;padding:8px 10px;border:1px solid var(--line);border-radius:10px;background:var(--panel-2);justify-content:center}.replayer-minimap-dot{width:10px;height:10px;border-radius:999px;border:1px solid transparent;padding:0;cursor:pointer}.replayer-minimap-dot.kind-setup{background:var(--muted)}.replayer-minimap-dot.kind-fold{background:#8a9490}.replayer-minimap-dot.kind-passive{background:var(--blue)}.replayer-minimap-dot.kind-aggressive{background:var(--amber)}.replayer-minimap-dot.kind-allin{background:var(--coral)}.replayer-minimap-dot.kind-showdown{background:var(--violet)}.replayer-minimap-dot.hero{box-shadow:0 0 0 2px color-mix(in srgb,var(--felt) 35%,transparent)}.replayer-minimap-dot.active{transform:scale(1.25);border-color:var(--text)}.replayer-action-history{border:1px solid var(--line);border-radius:12px;background:var(--panel);min-height:0;max-height:min(72vh,760px);display:grid;grid-template-rows:auto minmax(0,1fr)}.replayer-action-history.collapsed{max-height:none}.replayer-action-history-header{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 12px;border-bottom:1px solid var(--line)}.replayer-action-history-body{overflow:auto;padding:8px}.replayer-action-history-group h4{margin:8px 4px 4px;font-size:.74rem;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}.replayer-action-history-row{display:grid;grid-template-columns:24px 52px 40px minmax(0,1fr);gap:6px;align-items:center;width:100%;padding:7px 8px;border:1px solid transparent;border-radius:8px;background:transparent;color:inherit;text-align:left;cursor:pointer;font-size:.78rem}.replayer-action-history-row .position-badge{min-width:34px;min-height:22px;font-size:.68rem;padding:0 6px;color:#fff!important;border:none}.replayer-action-history-label{font-weight:600}.replayer-action-history-row.active{border-color:color-mix(in srgb,var(--felt) 45%,var(--line));background:color-mix(in srgb,var(--panel) 82%,var(--felt) 18%);box-shadow:inset 3px 0 0 var(--felt)}.replayer-action-history-row.hero .replayer-action-history-label{font-weight:700}.replayer-action-history-order{color:var(--muted)}.replayer-action-history-street,.replayer-action-history-amount{color:var(--muted);font-size:.72rem}.replayer-table-controls{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.replayer-control-group{display:inline-flex;align-items:center;gap:6px;font-size:.78rem;color:var(--muted)}.replayer-control-group select{min-height:30px;border:1px solid var(--line);border-radius:8px;background:var(--panel-2);color:var(--text);padding:0 8px}.seat-hud-overlay{position:absolute;top:-8px;left:50%;transform:translate(-50%);display:inline-flex;flex-wrap:wrap;gap:4px;justify-content:center;padding:2px 6px;border-radius:999px;background:color-mix(in srgb,var(--panel) 82%,#000 18%);border:1px solid var(--line);font-size:.62rem;font-weight:700;z-index:8;pointer-events:none}.seat-hud-inline{display:inline-flex;flex-wrap:wrap;gap:3px;justify-content:center;max-width:92px;padding:2px 5px;border-radius:999px;background:color-mix(in srgb,var(--panel) 82%,#000 18%);border:1px solid var(--line);font-size:.58rem;font-weight:700;color:var(--text);flex-shrink:0}.seat-hud-inline small{width:100%;text-align:center;font-weight:500;color:var(--muted);font-size:.52rem}.seat-hud-overlay small{width:100%;text-align:center;font-weight:500;color:var(--muted)}.seat-stack-depth{display:none}.pot-odds-ring{position:relative;width:96px;height:96px;flex-shrink:0}.pot-odds-ring svg{transform:rotate(-90deg)}.pot-odds-ring-bg,.pot-odds-ring-required,.pot-odds-ring-estimated{fill:none;stroke-width:6}.pot-odds-ring-bg{stroke:var(--line)}.pot-odds-ring-required{stroke:var(--amber)}.pot-odds-ring-estimated{stroke:var(--felt);stroke-width:5}.pot-odds-ring-center{position:absolute;inset:0;display:grid;place-content:center;text-align:center;gap:0}.pot-odds-ring-center strong{font-size:1rem}.pot-odds-ring-center small,.pot-odds-ring-est-label{font-size:.68rem;color:var(--muted)}.pot-odds-ring.tone-positive .pot-odds-ring-estimated{stroke:var(--felt)}.pot-odds-ring.tone-negative .pot-odds-ring-estimated{stroke:var(--coral)}.replayer-coach-toolbar{display:flex;align-items:center;justify-content:space-between;gap:8px}.replayer-coach-toolbar-actions{display:flex;flex-wrap:wrap;gap:6px}.replayer-coach-inline-odds{display:flex;align-items:center;gap:12px}.session-graph{padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--panel);margin-bottom:12px}.session-graph-header{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;margin-bottom:8px}.session-graph-right{display:flex;flex-direction:column;align-items:flex-end;gap:6px}.session-graph-bounds{display:flex;gap:10px;font-size:.76rem}.session-graph-legend{display:flex;gap:6px}.sg-series-btn{display:flex;align-items:center;gap:5px;padding:2px 8px 2px 6px;border:1px solid var(--line);border-radius:999px;background:transparent;color:var(--muted);font-size:.72rem;font-weight:600;cursor:pointer;transition:border-color .1s,color .1s,background .1s}.sg-series-btn.active{color:var(--text);border-color:var(--text-2);background:var(--panel-2)}.sg-series-swatch{display:inline-block;width:8px;height:8px;border-radius:50%;opacity:.5}.sg-series-btn.active .sg-series-swatch{opacity:1}.sg-series-swatch.result{background:var(--felt)}.sg-series-swatch.ev{background:#f59e0b}.session-graph-canvas{position:relative}.session-graph-svg{display:block;overflow:visible}.session-graph-zero{stroke:var(--line);stroke-width:1}.session-graph-line{fill:none;stroke:var(--felt);stroke-width:1.5;stroke-linejoin:round;stroke-linecap:round}.session-graph-ev-line{fill:none;stroke:#f59e0b;stroke-width:1.5;stroke-linejoin:round;stroke-linecap:round;stroke-dasharray:4 3;opacity:.85}.session-graph-dot{cursor:pointer;fill:var(--blue);transition:r 80ms}.session-graph-dot.win{fill:var(--felt)}.session-graph-dot.loss{fill:var(--coral)}.session-graph-dot.selected{stroke:var(--text);stroke-width:1.5}.session-graph-tooltip{position:absolute;top:8px;right:8px;display:grid;gap:2px;padding:8px 10px;border-radius:8px;border:1px solid var(--line);background:var(--panel-2);font-size:.76rem}.session-graph-zoom{display:flex;flex-wrap:wrap;gap:4px;margin-top:8px;border-top:1px solid var(--line);padding-top:8px}.session-zoom-btn{min-height:24px;padding:0 8px;border:1px solid var(--line);border-radius:999px;background:var(--panel-2);color:var(--muted);font-size:.72rem;font-weight:600;cursor:pointer;transition:border-color .1s,color .1s}.session-zoom-btn:hover{color:var(--text);border-color:color-mix(in srgb,var(--felt) 40%,var(--line))}.session-zoom-btn.active{background:color-mix(in srgb,var(--panel) 70%,var(--felt) 30%);border-color:color-mix(in srgb,var(--felt) 50%,var(--line));color:var(--text)}.hand-preview-wrap{position:relative;min-width:0}.hand-preview-wrap .hand-library-row-btn{width:100%}.hand-preview-popover{position:absolute;left:calc(100% + 8px);top:0;z-index:40;width:min(240px,70vw);display:grid;gap:4px;padding:10px 12px;border-radius:10px;border:1px solid var(--line);background:var(--panel);box-shadow:var(--shadow);pointer-events:none}@media(max-width:900px){.replayer-main-layout{grid-template-columns:minmax(0,1fr)}.replayer-action-history{max-height:280px}.hand-preview-popover{left:auto;right:0;top:calc(100% + 6px)}.replayer-layout-split{grid-template-columns:minmax(0,1fr)!important}.replayer-layout-resizer{display:none}.range-main-layout{grid-template-columns:minmax(0,1fr)}.range-detail-col{position:static}}
