:root{color-scheme:dark;font-family:Inter,system-ui,-apple-system,sans-serif;line-height:1.5;font-weight:400;color:#e8edf2;background:#0f1419}*{box-sizing:border-box}.hidden{display:none!important}.login-screen{min-height:100vh;display:grid;place-items:center;padding:2rem}.login-card{width:min(420px,100%);padding:2rem;border:1px solid #243040;border-radius:12px;background:#151b24}.login-card h1{margin:0 0 .75rem;font-size:1.4rem}.login-card p{margin:0 0 1.25rem;color:#9fb0c0}.login-error{margin-top:1rem;color:#ff8a8a;min-height:1.25rem}.signed-in-bar{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.65rem 1.5rem;border-bottom:1px solid #243040;background:#121820;color:#9fb0c0}.signed-in-bar strong{color:#e8edf2}.signed-in-nav{display:flex;align-items:center;gap:.75rem}.signed-in-nav a{color:#7eb6ff;text-decoration:none}.signed-in-nav a:hover{text-decoration:underline}body{margin:0;min-height:100vh}header{padding:1.25rem 1.5rem .5rem;border-bottom:1px solid #243040}header h1{margin:0 0 .25rem;font-size:1.35rem}header p{margin:0;color:#9fb0c0;max-width:70ch}main.research-workspace{display:grid;grid-template-columns:320px minmax(0,1fr);gap:1rem;padding:1rem 1.5rem 2rem;transition:grid-template-columns .2s ease,gap .2s ease}main.research-workspace.controls-collapsed{grid-template-columns:auto minmax(0,1fr);gap:.75rem}.research-workspace.controls-collapsed .controls-body{display:none}.run-status{margin-top:.75rem;padding-top:.75rem;border-top:1px solid #243040}.research-workspace.controls-collapsed .run-status{margin-top:0;padding-top:0;border-top:none}.research-workspace.controls-collapsed .controls-pane{align-self:start}.research-workspace.controls-collapsed .controls-head h2{display:none}.research-workspace.controls-collapsed .controls-head{margin-bottom:0}.panel-head{display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem}.panel-head h2{margin:0;flex:1;min-width:0}.sidebar-collapse-btn{flex-shrink:0;width:2.25rem;height:2.25rem;border:1px solid #314052;border-radius:8px;background:#0f1419;color:#53a6ff;font-size:1rem;line-height:1;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;padding:0}.sidebar-collapse-btn:hover{border-color:#3d5570;background:#151f2a}.panel{background:#151c24;border:1px solid #243040;border-radius:12px;padding:1rem}.panel h2{margin:0 0 .75rem;font-size:.95rem;text-transform:uppercase;letter-spacing:.04em;color:#9fb0c0}.panel-head h2{margin:0}label{display:grid;gap:.35rem;margin-bottom:.75rem;font-size:.9rem}.hint{margin:-.35rem 0 .75rem;font-size:.8rem;color:#9fb0c0;line-height:1.4}input,select,button{font:inherit}input,select{background:#0f1419;color:inherit;border:1px solid #314052;border-radius:8px;padding:.5rem .65rem}.checkbox-row{display:flex;align-items:flex-start;gap:.5rem;margin-bottom:.5rem}.checkbox-row label,.checkbox-row .checkbox-label{display:inline;margin:0;line-height:1.45}.checkbox-row input{width:auto}.rule-row{display:flex;align-items:flex-start;gap:.35rem;margin-bottom:.5rem}.rule-row .checkbox-row{flex:1;margin-bottom:0}.rule-row-stepper{align-items:center}.rule-row-stepper .stepper-label{flex:1;margin:0}.rule-row.nested{margin-left:1rem}.rule-highlight-btn{flex:0 0 auto;width:2rem;height:2rem;margin-top:.05rem;padding:0;border:1px solid #3d5166;border-radius:8px;background:#182028;color:#9fb3c8;font-size:.95rem;line-height:1;cursor:pointer}.rule-highlight-btn:hover{border-color:#d4af37;color:#f0d875}.rule-highlight-btn.active{border-color:#d4af37;background:#d4af372e;color:#f0d875;box-shadow:0 0 0 1px #d4af3759}.chart-cell.rule-affected{box-shadow:inset 0 0 0 2px #d4af37,0 0 0 1px #d4af3773}.rule-affected-legend{color:#f0d875}.split-aces-rules,.double-down-rules{margin:.75rem 0;padding:.65rem .75rem;border:1px solid #314052;border-radius:8px;background:#0f1419}.split-aces-rules legend,.double-down-rules legend{padding:0 .35rem;color:#9fb3c8}.rule-toggle-hint{margin-top:0}label.nested{display:block;margin:.5rem 0 .5rem 1rem}.checkbox-row.nested{margin-left:0}.shoe-config{margin-bottom:.75rem}.shoe-config>label{margin-bottom:.5rem}.shoe-mode{margin:0;padding:.65rem .75rem;border:1px solid #314052;border-radius:8px;background:#0f1419}.shoe-mode legend{padding:0 .35rem;font-size:.8rem;color:#9fb0c0}.radio-row{display:flex;align-items:flex-start;gap:.5rem;margin:0 0 .4rem;font-size:.85rem;line-height:1.35;cursor:pointer}.radio-row:last-child{margin-bottom:0}.radio-row input{width:auto;margin-top:.2rem;flex-shrink:0}.actions{display:grid;gap:.5rem;margin-top:1rem}button{border:0;border-radius:8px;padding:.65rem .85rem;cursor:pointer;background:#2f6fed;color:#fff}button.secondary{background:#243040}button.danger{background:#8b2f2f}button.danger:not(:disabled):hover{background:#a33a3a}button:disabled{opacity:.55;cursor:not-allowed}.status{margin-top:.75rem;font-size:.85rem;color:#9fb0c0}.progress{margin-top:.5rem;height:8px;background:#243040;border-radius:999px;overflow:hidden}.progress>span{display:block;height:100%;background:linear-gradient(90deg,#2f6fed,#53a6ff);width:0%;transition:width .15s ease}.results h2{margin-top:0}.session-row{display:flex;align-items:flex-end;gap:.75rem;margin-bottom:.5rem}.session-select-label{flex:1;min-width:0}.session-row .danger{border-color:#8b3030;color:#ffb0b0;flex-shrink:0}.session-row .danger:disabled{opacity:.45}.stat.incomplete-ev strong{color:#e8b84a}.summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.75rem;margin-bottom:1rem}.stat{background:#101820;border:1px solid #243040;border-radius:10px;padding:.75rem}.stat strong{display:block;font-size:1.1rem}.stat span{color:#9fb0c0;font-size:.85rem}.match-yes,.clear-call{color:#57d68d}.match-no,.close-call{color:#ff7b7b}table:not(.comparison-chart){width:100%;border-collapse:collapse;font-size:.92rem}table:not(.comparison-chart) th,table:not(.comparison-chart) td{padding:.55rem .65rem;border-bottom:1px solid #243040;text-align:left}table:not(.comparison-chart) th{color:#9fb0c0;font-weight:600}tr.best td{background:#2f6fed1f}tr.chart td{outline:1px solid rgba(87,214,141,.35)}.mismatch-list{margin-top:1rem}.scenario-browser{margin-top:1rem;border-top:1px solid #243040;padding-top:1rem}.scenario-browser.hidden{display:none}.scenario-browser h3{margin:0 0 .5rem;font-size:.95rem;color:#9fb0c0}.scenario-browser label{margin-bottom:.5rem}.scenario-picker-btn{display:block;width:100%;text-align:left;background:#101820;color:inherit;border:1px solid #243040;border-radius:8px;padding:.65rem .75rem;margin-bottom:.45rem;cursor:pointer;font:inherit;line-height:1.45}.scenario-picker-btn:hover{border-color:#3d5570;background:#151f2a}.scenario-picker-btn.selected{border-color:#2f6fed;background:#2f6fed1f}.scenario-picker-btn .meta{color:#9fb0c0;font-size:.85rem}.detail-back{margin:0 0 .75rem}.detail-back button{background:#243040;font-size:.85rem;padding:.45rem .7rem}.table-hint{color:#9fb0c0;font-size:.9rem;padding:.5rem 0}.chart-legend{margin:0 0 .75rem;font-size:.8rem;color:#9fb0c0}.chart-section{margin-bottom:1.25rem}.chart-section h3{margin:0 0 .5rem;font-size:.9rem;color:#9fb0c0;text-transform:uppercase;letter-spacing:.04em}.chart-scroll{overflow-x:auto}.comparison-chart{width:100%;min-width:720px;table-layout:fixed;border-collapse:separate;border-spacing:3px;font-size:.72rem}.comparison-chart td.chart-cell-wrap{width:4.75rem;padding:0;vertical-align:top}.comparison-chart th,.comparison-chart td{padding:0;border:0;vertical-align:middle}.comparison-chart thead th{text-align:center;color:#9fb0c0;font-size:.75rem;padding-bottom:.25rem}.comparison-chart .row-label{text-align:right;padding-right:.45rem;color:#9fb0c0;white-space:nowrap;font-size:.75rem}.chart-cell{display:block;width:100%;box-sizing:border-box;min-width:0;padding:.2rem .25rem;border:1px solid #243040;border-radius:6px;background:#101820;color:inherit;cursor:pointer;font:inherit;text-align:left;line-height:1.25}.chart-cell:hover{border-color:#3d5570}.chart-cell.selected{border-color:#2f6fed;box-shadow:0 0 0 1px #2f6fed}.chart-cell.multi-selected{border-color:#c9a227;box-shadow:0 0 0 2px #c9a227}.chart-cell.selected.multi-selected{box-shadow:0 0 0 1px #2f6fed,0 0 0 3px #c9a227}.chart-cell.untested{opacity:.55}.chart-cell.reveal-fill{animation:chart-cell-fill .55s ease-out}@keyframes chart-cell-fill{0%{opacity:.4;transform:scale(.94);box-shadow:inset 0 0 0 2px #2f6fedd9}to{opacity:1;transform:scale(1);box-shadow:none}}.chart-cell.match,.chart-cell.clear-call{background:#57d68d0f}.chart-cell.mismatch,.chart-cell.close-call{background:#ff7b7b14;border-color:#ff7b7b59}.chart-cell.ev-high{background:#57d68d1a;border-color:#57d68d59}.chart-cell.ev-mid{background:#9fb0c00f;border-color:#9fb0c040}.chart-cell.ev-low{background:#ff7b7b14;border-color:#ff7b7b59}.chart-cell.move-hit{background:#1565c047;border-color:#1565c08c}.chart-cell.move-stand{background:#37474f8c;border-color:#546e7aa6}.chart-cell.move-double{background:#6a1b9a52;border-color:#6a1b9a8c}.chart-cell.move-split{background:#2e7d3247;border-color:#2e7d328c}.chart-cell.move-surrender{background:#bf360c47;border-color:#bf360c8c}.move-hit{color:#64b5f6}.move-stand{color:#90a4ae}.move-double{color:#ce93d8}.move-split{color:#81c784}.move-surrender{color:#ff8a65}.ev-high{color:#57d68d}.ev-mid{color:#9fb0c0}.ev-low{color:#ff7b7b}.results-toolbar{display:flex;flex-wrap:wrap;gap:1rem 1.5rem;margin:.75rem 0 1rem}.toolbar-group{border:1px solid #243040;border-radius:8px;padding:.5rem .75rem;margin:0}.toolbar-group legend{padding:0 .35rem;font-size:.75rem;color:#9fb0c0}.inline-radio{display:inline-flex;align-items:center;gap:.35rem;margin-right:.75rem;font-size:.85rem;cursor:pointer}.ev-list{margin-top:.5rem}.ev-list-actions{display:flex;justify-content:flex-end;margin-bottom:.5rem}.ev-list-actions button:disabled{opacity:.45;cursor:not-allowed}.ev-list-scroll{overflow:auto;max-height:min(65vh,640px);border:1px solid #243040;border-radius:8px}.ev-list-header{color:#9fb0c0;border-bottom:1px solid #243040;font-size:.75rem;letter-spacing:.02em;position:sticky;top:0;z-index:2;background:#151c24}.ev-list-sort{padding:0;border:none;background:transparent;color:inherit;font:inherit;text-transform:inherit;letter-spacing:inherit;text-align:left;cursor:pointer}.ev-list-sort:hover{color:#d8e4f0}.ev-list-sort.sorted-asc,.ev-list-sort.sorted-desc{color:#53a6ff}.ev-list-sort.sorted-asc:after{content:" ↑"}.ev-list-sort.sorted-desc:after{content:" ↓"}.ev-list-move{font-variant-numeric:tabular-nums;text-align:right}.ev-list-move.na{color:#4a5868;text-align:center}.ev-list-move.move-ev-best{color:#53a6ff;font-weight:700;background:#53a6ff1f;border-radius:4px;padding:.1rem .2rem}.ev-list-header,.ev-list-row{display:grid;grid-template-columns:minmax(140px,2fr) minmax(5rem,1.1fr) minmax(4rem,.75fr) minmax(3.75rem,.7fr) repeat(5,minmax(4.25rem,.85fr)) .75fr;gap:.5rem;align-items:center;padding:.45rem .5rem;font-size:.8rem;min-width:52rem}.ev-list-row{width:100%;border:none;border-bottom:1px solid #1a2430;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer}.ev-list-row:hover{background:#2f6fed0f}.ev-list-row.selected{background:#2f6fed1f;box-shadow:inset 3px 0 #2f6fed}.ev-list-row.multi-selected{box-shadow:inset 3px 0 #c9a227}.ev-list-row.selected.multi-selected{background:#2f6fed1f;box-shadow:inset 3px 0 #2f6fed,inset 6px 0 #c9a227}.cell-selection-bar{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem 1rem;margin:.75rem 0;padding:.65rem .85rem;border:1px solid #2a3a4d;border-radius:8px;background:#0f151c}.cell-selection-bar.hidden{display:none}.cell-selection-count{font-weight:600;color:#e8c547}.cell-selection-trials{display:inline-flex;align-items:center;gap:.4rem;font-size:.85rem}.cell-selection-trials input{width:6rem}.cell-selection-hint{margin-top:.25rem}.ev-list-label{font-weight:500}.ev-list-recommended{color:#53a6ff;font-weight:500}.ev-list-top-ev{font-variant-numeric:tabular-nums;font-weight:600;text-align:right;justify-self:end}.ev-list-ev-diff{font-variant-numeric:tabular-nums;color:#9fb0c0;text-align:right;justify-self:end}.ev-list-row .ev-list-move{justify-self:end}.ev-list-header .ev-list-sort[data-sort-column=best],.ev-list-header .ev-list-sort[data-sort-column=evDiff],.ev-list-header .ev-list-sort[data-sort-column=hit],.ev-list-header .ev-list-sort[data-sort-column=stand],.ev-list-header .ev-list-sort[data-sort-column=double],.ev-list-header .ev-list-sort[data-sort-column=split],.ev-list-header .ev-list-sort[data-sort-column=surrender],.ev-list-header .ev-list-sort[data-sort-column=runs]{text-align:right;justify-self:end}.ev-list-runs{color:#7d8fa3;font-variant-numeric:tabular-nums;text-align:right;justify-self:end}.table-hint{color:#7d8fa3;font-size:.8rem;margin:0 0 .75rem}.cell-row{display:flex;justify-content:space-between;gap:.25rem}.cell-row span:last-child{color:#9fb0c0;font-variant-numeric:tabular-nums}.cell-row.chart-row span:first-child{color:#57d68d;font-weight:600}.cell-row.sim-row span:first-child{color:#53a6ff;font-weight:600}.cell-row.meta-row{color:#7d8fa3;font-size:.65rem}.detail-panel.hidden,.hidden{display:none}.detail-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.75rem;margin-bottom:1rem}.mismatch-item{padding:.65rem 0;border-bottom:1px solid #243040}@media(max-width:960px){main,main.research-workspace{grid-template-columns:1fr}.research-workspace.controls-collapsed .controls-body{display:none}}
