@font-face{font-family:Space Grotesk;src:url(/tgobi/fonts/space-grotesk/space-grotesk-latin-wght-normal.woff2)format("woff2");font-weight:300 700;font-style:normal;font-display:swap}:root{--bg:#0e0e0e;--surface:#181818;--surface-2:#131313;--border:#2a2a2a;--text:#e6e6e6;--text-dim:#999;--accent:#6cf;--left-pane:220px;--right-pane:280px;font-family:Space Grotesk,ui-sans-serif,system-ui,-apple-system,Helvetica Neue,sans-serif}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text)}.tgobi-root{height:100%;min-height:0}button,input,select{font:inherit;color:inherit}.app-shell{grid-template-rows:auto minmax(0,1fr) auto;min-width:0;height:100%;display:grid}.app-toolbar{background:var(--surface-2);border-bottom:1px solid var(--border);z-index:20;flex-wrap:nowrap;align-items:flex-start;gap:12px;min-width:0;min-height:40px;padding:6px 12px;font-size:13px;display:flex;position:relative;overflow:visible}.toolbar-controls{flex-direction:column;flex:auto;gap:6px;min-width:0;display:flex}.toolbar-row{flex-wrap:wrap;align-items:center;gap:6px 12px;min-width:0;display:flex}.toolbar-row-secondary{column-gap:10px}.toolbar-spacer{flex:auto;min-width:12px}.toolbar-button{border:1px solid var(--border);color:var(--text);cursor:pointer;background:0 0;padding:4px 10px;font-size:12px}.toolbar-button:hover{background:var(--surface)}.app-brand{color:var(--text);letter-spacing:0;white-space:nowrap;flex:none;margin-left:auto;line-height:22px}.shortcuts-help-wrap{flex:none;position:relative}.shortcuts-popover{z-index:20;background:var(--surface-2);border:1px solid var(--border);border-radius:6px;min-width:220px;padding:8px 12px;font-size:11px;position:absolute;top:26px;right:0;box-shadow:0 4px 12px #0000004d}.shortcut-row{align-items:center;gap:8px;padding:2px 0;display:flex}.shortcut-row kbd{background:var(--surface-1);border:1px solid var(--border);text-align:center;border-radius:3px;min-width:24px;padding:1px 6px;font-family:inherit;font-size:10px;display:inline-block}.shortcut-row span{color:var(--text-dim)}.app-statusbar{background:var(--surface-2);border-top:1px solid var(--border);height:24px;color:var(--text-dim);align-items:center;gap:14px;padding:0 12px;font-size:11px;display:flex}.app-body{grid-template-columns:28px minmax(280px, 1fr) var(--right-pane);min-width:0;min-height:0;display:grid;overflow:hidden}.app-body.left-open{grid-template-columns:var(--left-pane) minmax(280px, 1fr) var(--right-pane)}.app-side{background:var(--surface-2);min-height:0;padding:8px;overflow:auto}.app-side.left{border-right:1px solid var(--border);flex-direction:column;gap:6px;display:flex}.app-side.right{border-left:1px solid var(--border);min-width:var(--right-pane);width:var(--right-pane)}.app-main{flex-direction:column;min-width:0;min-height:0;padding:12px;display:flex;overflow:hidden}.toolbar-toggle{border:1px solid var(--border);color:var(--text);cursor:pointer;background:0 0;padding:4px 8px;font-size:12px}.toolbar-toggle[aria-expanded=true]{background:#1f3a52;border-color:#2a4a66}.side-rail{writing-mode:vertical-rl;background:var(--surface-2);color:var(--text-dim);border:0;border-right:1px solid var(--border);cursor:pointer;text-transform:uppercase;letter-spacing:.05em;padding:8px 4px;font-size:11px;transform:rotate(180deg)}.side-rail:hover{color:var(--text);background:var(--surface)}.side-close{border:1px solid var(--border);width:20px;height:20px;color:var(--text-dim);cursor:pointer;background:0 0;align-self:flex-end;padding:0;font-size:11px;line-height:1}.side-close:hover{color:var(--text);background:var(--surface)}.placeholder{height:100%;color:var(--text-dim);border:1px dashed var(--border);border-radius:8px;justify-content:center;align-items:center;font-size:13px;display:flex}.var-list{flex-direction:column;gap:4px;display:flex}.var-row{background:var(--surface);border-radius:4px;justify-content:space-between;align-items:center;padding:4px 6px;font-size:12px;display:flex}.var-row .name{color:var(--text)}.var-row .type{color:var(--text-dim);text-transform:uppercase;letter-spacing:.05em;font-size:10px}.var-row.excluded{opacity:.45}.var-row .toggle{all:unset;cursor:pointer;color:var(--accent);padding:0 4px}.var-row .scaling-select{background:var(--surface-2);min-width:0;color:var(--text);border:1px solid var(--border);border-radius:3px;padding:1px 4px;font-size:10px}.var-row .group-input{background:var(--surface-2);min-width:0;color:var(--text);border:1px solid var(--border);border-radius:3px;width:52px;padding:1px 4px;font-size:10px}.var-groups{flex-direction:column;gap:3px;padding:4px 0;display:flex}.var-group-row{background:var(--surface-2);border-radius:3px;align-items:center;gap:6px;padding:2px 6px;font-size:11px;display:flex}.var-group-row .group-name{color:var(--accent);min-width:40px;font-weight:600}.var-group-row .group-members{color:var(--text-dim);text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.var-group-row .scaling-select{background:var(--surface-2);min-width:0;color:var(--text);border:1px solid var(--border);border-radius:3px;padding:1px 4px;font-size:10px}.empty-vars{color:var(--text-dim);padding:8px 4px;font-size:12px}.var-transform{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:4px;margin-bottom:8px;display:grid}.var-transform select,.var-transform input{background:var(--surface-2);min-width:0;color:var(--text);border:1px solid var(--border);border-radius:4px;padding:3px 5px;font-size:11px}.var-transform button{background:var(--surface-2);border:1px solid var(--border);color:var(--text);cursor:pointer;border-radius:4px;padding:3px 8px;font-size:11px}.var-transform button:disabled{opacity:.4;cursor:not-allowed}.var-transform-error{color:#f88;grid-column:1/-1;font-size:11px}.var-sphere{grid-template-columns:minmax(0,1fr) auto;gap:4px;margin-bottom:8px;display:grid}.var-sphere input[aria-label=sphere\ prefix]{background:var(--surface-2);min-width:0;color:var(--text);border:1px solid var(--border);border-radius:4px;padding:3px 5px;font-size:11px}.var-sphere-list{border:1px solid var(--border);background:var(--surface);border-radius:4px;flex-wrap:wrap;grid-column:1/-1;gap:4px 8px;max-height:74px;padding:4px;font-size:11px;display:flex;overflow:auto}.var-sphere button{background:var(--surface-2);border:1px solid var(--border);color:var(--text);cursor:pointer;border-radius:4px;padding:3px 8px;font-size:11px}.var-sphere button:disabled{opacity:.4;cursor:not-allowed}.var-missing{border-top:1px solid var(--border);flex-direction:column;gap:4px;margin-bottom:4px;padding:4px 0;display:flex}.missing-summary-row{color:var(--text-dim);align-items:center;gap:6px;padding:2px 4px;font-size:11px;display:flex}.missing-impute{flex-wrap:wrap;align-items:center;gap:4px;padding:2px 4px;font-size:11px;display:flex}.missing-impute select,.missing-impute input{background:var(--surface-2);min-width:0;color:var(--text);border:1px solid var(--border);border-radius:3px;padding:1px 4px;font-size:10px}.missing-var-list{max-height:80px;overflow:auto}.missing-var-row{justify-content:space-between;padding:1px 4px;font-size:10px;display:flex}.missing-var-name{color:var(--text)}.missing-var-count{color:#d33}.imputation-cycle{align-items:center;gap:4px;font-size:10px;display:flex}.imputation-cycle label{align-items:center;gap:2px;display:flex}.imputation-cycle input{background:var(--surface-2);width:40px;min-width:0;color:var(--text);border:1px solid var(--border);border-radius:3px;padding:1px 4px;font-size:10px}.cycle-btn{background:var(--surface-2);color:var(--text);border:1px solid var(--border);cursor:pointer;white-space:nowrap;border-radius:3px;padding:1px 6px;font-size:10px}.cycle-btn:hover{background:var(--surface-3)}.missing-pattern{width:100%;height:auto}.missing-bar{cursor:pointer}.missing-bar:hover{opacity:.85}.missing-legend{color:var(--text-dim);gap:12px;padding:4px 8px;font-size:10px;display:flex}.legend-item{align-items:center;gap:4px;display:flex}.legend-swatch{border-radius:2px;width:10px;height:10px;display:inline-block}.modal-overlay{z-index:100;background:#0009;place-items:center;display:grid;position:fixed;inset:0}.modal{background:var(--surface);border:1px solid var(--border);border-radius:10px;flex-direction:column;min-width:480px;max-width:720px;max-height:80vh;display:flex}.modal header{border-bottom:1px solid var(--border);padding:12px 16px;font-weight:600}.modal .body{padding:12px 16px;overflow:auto}.modal footer{border-top:1px solid var(--border);justify-content:flex-end;gap:8px;padding:12px 16px;display:flex}.modal button{background:var(--surface-2);border:1px solid var(--border);color:var(--text);cursor:pointer;border-radius:6px;padding:6px 12px}.modal button.primary{background:#1f3a52;border-color:#2a4a66}.schema-row{border-bottom:1px solid var(--border);grid-template-columns:1fr 140px 1fr;align-items:center;gap:8px;padding:6px 0;font-size:12px;display:grid}.schema-row:last-child{border-bottom:none}.schema-row .colname{font-weight:600}.schema-row select{background:var(--surface-2);color:var(--text);border:1px solid var(--border);border-radius:4px;padding:3px 6px}.schema-row .preview{color:var(--text-dim);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.empty-state{place-items:center;height:100%;display:grid}.empty-card{border:2px dashed var(--border);text-align:center;border-radius:12px;width:480px;padding:32px}.empty-card.dragover{border-color:var(--accent);background:#66ccff0a}.empty-card h2{margin:0 0 8px;font-size:18px}.empty-card p{color:var(--text-dim);margin:4px 0 16px;font-size:13px}.empty-card .picker{border:1px solid var(--border);cursor:pointer;background:var(--surface-2);border-radius:6px;padding:8px 14px;display:inline-block}.empty-card .samples{flex-wrap:wrap;justify-content:center;gap:8px;margin-top:16px;display:flex}.empty-card .samples button{background:var(--surface-2);border:1px solid var(--border);color:var(--text);cursor:pointer;border-radius:4px;padding:4px 10px}.empty-card .err{color:#f88;margin-top:12px;font-size:12px}.plot-card{background:var(--surface);border:1px solid var(--border);border-radius:8px;flex-direction:column;min-width:0;min-height:0;display:flex;position:relative;overflow:hidden}.plot-card .plot-head{border-bottom:1px solid var(--border);color:var(--text-dim);flex-shrink:0;justify-content:space-between;align-items:center;gap:6px;padding:4px 8px;font-size:11px;display:flex}.plot-card .plot-head .vars{color:var(--text);text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;overflow:hidden}.plot-card .plot-head button.close{all:unset;cursor:pointer;color:var(--text-dim);padding:0 4px;font-size:12px}.panel-connect-btn{all:unset;cursor:pointer;color:var(--accent);border:1px solid var(--border);border-radius:3px;padding:0 6px;font-size:10px}.panel-connect-btn:disabled{opacity:.4;cursor:default}.plot-card .plot-body{flex:1 1 0;min-height:0;position:relative}.plot-card .plot-body canvas{width:100%;height:100%;position:absolute;top:0;left:0}.plot-slider,.bin-slider{color:var(--text-dim);white-space:nowrap;flex:none;align-items:center;gap:5px;display:inline-flex}.plot-slider input,.bin-slider input{flex:0 0 72px;width:72px}.alpha-slider,.point-size-slider{flex:0 0 72px;width:72px;margin:0 2px}.plot-view-controls{flex:none;align-items:center;gap:2px;display:inline-flex}.plot-view-controls button{all:unset;border:1px solid var(--border);background:var(--surface-2);min-width:18px;height:18px;color:var(--text-dim);text-align:center;cursor:pointer;border-radius:4px;padding:0 4px;font-size:10px;line-height:18px}.plot-view-controls button:hover{color:var(--text);border-color:var(--accent)}.plot-view-controls button.active{color:var(--accent);border-color:var(--accent)}.plot-card[data-tool=identify] .plot-body canvas{cursor:pointer}.plot-webgl-fallback{min-height:0;color:var(--text-dim);text-align:center;flex:1 1 0;place-items:center;padding:16px;font-size:12px;display:grid}.plot-empty{color:var(--text-dim);flex:1;place-items:center;font-size:12px;display:grid}.barchart{cursor:crosshair;flex:auto;width:100%;height:100%;min-height:0;display:block}.barchart .axis{stroke:var(--border);stroke-width:1px}.barchart .bar{fill:#88c;opacity:.68}.barchart .bar-painted{opacity:.75}.barchart .bar-shadowed{fill:#0e0e0e;opacity:.62}.barchart .bar-selected{fill:#ffd400;opacity:.92}.barchart .bar-label{fill:var(--text-dim);pointer-events:none;font-size:10px}.boxplot{cursor:crosshair;flex:auto;width:100%;height:100%;min-height:0;display:block}.boxplot .axis{stroke:var(--border);stroke-width:1px}.boxplot .boxplot-whisker{stroke:var(--text-dim);stroke-width:1.2px}.boxplot .boxplot-cap{stroke:var(--text-dim);stroke-width:1.6px}.boxplot .boxplot-box{fill:#88c;opacity:.55;stroke:var(--text-dim);stroke-width:1.2px}.boxplot .boxplot-box-painted{opacity:.75}.boxplot .boxplot-median{stroke:#ffd400;stroke-width:2.2px}.boxplot .boxplot-outlier{fill:none;stroke:var(--text-dim);stroke-width:1.2px}.boxplot .brush-rect{fill:#ffd400;opacity:.18;pointer-events:none}.plot-tooltip{pointer-events:none;border:1px solid var(--border);color:var(--text);white-space:nowrap;z-index:5;background:#0a0a0aeb;border-radius:4px;padding:4px 8px;font-size:11px;position:absolute}.plot-label{pointer-events:none;border:1px solid var(--border);color:var(--text);text-overflow:ellipsis;white-space:nowrap;z-index:4;background:#0a0a0ad6;max-width:140px;padding:2px 5px;font-size:10px;line-height:1.2;position:absolute;overflow:hidden;transform:translateY(-50%)}.plot-grid{flex:1 1 0;min-width:0;height:100%;min-height:0}.plot-grid.tile-grid{flex-direction:column;display:flex}.plot-grid.empty{place-items:center;display:grid}.plot-grid .empty-hint{color:var(--text-dim);border:1px dashed var(--border);border-radius:8px;padding:16px;font-size:13px}.tile-leaf{flex-direction:column;flex:1 1 0;min-width:0;min-height:0;display:flex;position:relative;overflow:hidden}.tile-tabs{background:var(--surface-2);border-bottom:1px solid var(--border);flex-direction:row;flex-shrink:0;min-height:24px;display:flex;overflow-x:auto}.tile-tab{color:var(--text-dim);cursor:grab;white-space:nowrap;border-right:1px solid var(--border);align-items:center;gap:4px;min-width:0;padding:2px 8px;font-size:11px;display:flex}.tile-tab:active{cursor:grabbing}.tile-tab.active{color:var(--text);background:var(--surface)}.tile-tab:hover{background:var(--surface)}.tile-tab-label{text-overflow:ellipsis;max-width:140px;overflow:hidden}.tile-tab-close{all:unset;cursor:pointer;color:var(--text-dim);padding:0 2px;font-size:11px;line-height:1}.tile-tab-close:hover{color:var(--text)}.tile-content{flex-direction:column;flex:1 1 0;min-width:0;min-height:0;display:flex;overflow:hidden}.tile-content>.plot-card{flex:1 1 0;min-height:0}.tile-empty{height:100%;color:var(--text-dim);place-items:center;font-size:12px;display:grid}.tile-leaf[data-drop]:after{content:"";pointer-events:none;z-index:30;box-shadow:inset 0 0 0 2px var(--accent);background:#66ccff14;position:absolute;inset:0}.tile-leaf[data-drop=left]:after{box-shadow:inset 3px 0 0 var(--accent);right:72%}.tile-leaf[data-drop=right]:after{box-shadow:inset -3px 0 0 var(--accent);left:72%}.tile-leaf[data-drop=top]:after{box-shadow:inset 0 3px 0 var(--accent);bottom:72%}.tile-leaf[data-drop=bottom]:after{box-shadow:inset 0 -3px 0 var(--accent);top:72%}.tile-leaf[data-drop=center]:after{inset:24px 0 0}.add-plot{position:relative}.add-plot button.toolbar{border:1px solid var(--border);color:var(--text);cursor:pointer;background:0 0;border-radius:4px;padding:4px 10px;font-size:12px}.add-plot button.toolbar[disabled]{opacity:.4;cursor:not-allowed}.add-plot .popover{z-index:10;background:var(--surface);border:1px solid var(--border);border-radius:6px;grid-template-columns:60px 140px;align-items:center;gap:6px;min-width:220px;padding:8px;display:grid;position:absolute;top:28px;left:0}.add-plot .popover label{color:var(--text-dim);font-size:11px}.add-plot .popover select{background:var(--surface-2);color:var(--text);border:1px solid var(--border);border-radius:4px;padding:3px}.add-plot .popover .actions{grid-column:span 2;justify-content:flex-end;gap:6px;display:flex}.add-plot .popover .actions button{background:var(--surface-2);border:1px solid var(--border);color:var(--text);cursor:pointer;border-radius:4px;padding:4px 10px}.add-plot .popover .actions button.primary{background:#1f3a52;border-color:#2a4a66}.brush-toolbar{flex-wrap:wrap;align-items:center;gap:8px;font-size:12px;display:flex}.toolbar-check{color:var(--text);white-space:nowrap;align-items:center;gap:5px;display:inline-flex}.brush-toolbar .brush-tools{gap:4px;display:inline-flex}.brush-toolbar .brush-tools button{all:unset;cursor:pointer;border:1px solid var(--border);background:var(--surface-2);place-items:center;width:24px;height:20px;display:inline-grid}.brush-toolbar .brush-tools button.active{box-shadow:0 0 0 2px var(--accent)}.brush-tool-svg{width:18px;height:16px;display:block}.brush-tool-svg rect,.brush-tool-svg ellipse,.brush-tool-svg path{fill:none;stroke:var(--text);stroke-width:1.8px;vector-effect:non-scaling-stroke}.brush-tool-svg path{stroke-linecap:square;stroke-linejoin:miter}.mode-toggle{border:1px solid var(--border);border-radius:4px;display:inline-flex;overflow:hidden}.mode-toggle button{color:var(--text);cursor:pointer;background:0 0;border:none;padding:3px 8px;font-size:11px}.mode-toggle button.active{color:#cee;background:#1f3a52}.brush-toolbar .swatches{gap:4px;display:inline-flex}.brush-toolbar .swatches button{all:unset;cursor:pointer;border:1px solid var(--border);border-radius:50%;width:16px;height:16px}.brush-toolbar .swatches button.active{box-shadow:0 0 0 2px var(--accent)}.brush-toolbar .shape-buttons{gap:4px;display:inline-flex}.brush-toolbar .shape-buttons button{all:unset;cursor:pointer;border:1px solid var(--border);background:var(--surface-2);place-items:center;width:20px;height:20px;display:inline-grid}.brush-toolbar .shape-buttons button.active{box-shadow:0 0 0 2px var(--accent)}.shape-icon{background:var(--text);width:10px;height:10px;display:block}.shape-icon.circle{clip-path:circle(50%)}.shape-icon.square{clip-path:inset(0)}.shape-icon.triangle{clip-path:polygon(50% 0,100% 100%,0 100%)}.shape-icon.diamond{clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%)}.tour-panel{flex-direction:column;gap:8px;font-size:12px;display:flex}.tour-panel header{color:var(--text);margin-bottom:4px;font-size:13px;font-weight:600}.tour-panel .row{align-items:center;gap:6px;display:flex}.tour-panel .row>span:first-child{color:var(--text-dim);flex:0 0 44px}.tour-panel .row select{background:var(--surface-2);color:var(--text);border:1px solid var(--border);border-radius:4px;padding:2px 4px}.tour-panel .row input[type=range]{flex:auto;min-width:0}.tour-panel .row select{flex:auto;min-width:0;max-width:100%}.tour-panel .row small{color:var(--text-dim)}.pp-sparkline{flex:none;width:100px;height:24px}.tour-diagnostics{border-top:1px solid var(--border);flex-direction:column;gap:6px;margin-top:4px;padding-top:8px;font-size:11px;display:flex}.tour-diagnostics header{color:var(--text);align-items:center;gap:6px;font-size:12px;font-weight:600;display:flex}.diag-contributions{flex-direction:column;gap:3px;display:flex}.diag-row{align-items:center;gap:4px;display:flex}.diag-row.frozen .diag-name{color:#ffd400}.diag-name{text-overflow:ellipsis;white-space:nowrap;color:var(--text-dim);flex:0 0 52px;font-size:10px;overflow:hidden}.diag-bar-track{background:var(--surface-2);border-radius:3px;flex:auto;height:6px;overflow:hidden}.diag-bar{background:var(--accent);border-radius:3px;height:100%;transition:width .15s}.diag-bar.frozen{background:#ffd400}.diag-val{text-align:right;color:var(--text-dim);font-variant-numeric:tabular-nums;flex:0 0 32px;font-size:10px}.diag-label{color:var(--text-dim);flex:0 0 44px;font-size:10px}.diag-pp-stats{border-top:1px solid var(--border);flex-direction:column;gap:2px;padding-top:4px;display:flex}.diag-info{flex-direction:column;gap:2px;display:flex}.tour-panel .vars-row{align-items:stretch}.tour-panel .vars{flex-direction:column;flex:1;gap:2px;min-width:0;max-height:240px;padding-right:4px;display:flex;overflow:hidden scroll}.tour-panel .vars,.app-side{scrollbar-width:thin;scrollbar-color:var(--border) transparent}.tour-panel .vars::-webkit-scrollbar{width:8px}.app-side::-webkit-scrollbar{width:8px}.tour-panel .vars::-webkit-scrollbar-track{background:0 0}.app-side::-webkit-scrollbar-track{background:0 0}.tour-panel .vars::-webkit-scrollbar-thumb{background:var(--border);background-clip:padding-box;border:2px solid #0000}.app-side::-webkit-scrollbar-thumb{background:var(--border);background-clip:padding-box;border:2px solid #0000}.tour-panel .vars::-webkit-scrollbar-thumb:hover{background:var(--text-dim);background-clip:padding-box}.app-side::-webkit-scrollbar-thumb:hover{background:var(--text-dim);background-clip:padding-box}.tour-panel .vars .var-row{gap:6px}.tour-panel .vars .var-row input{flex:none}.tour-panel .vars .var-row .name{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;overflow:hidden}.tour-phase{all:unset;cursor:pointer;flex:0 0 58px;place-items:center;height:18px;display:grid}.tour-phase-track{background:var(--border);width:50px;height:2px;display:block;position:relative}.tour-phase-thumb{background:var(--accent);width:8px;height:8px;position:absolute;top:50%;transform:translate(-50%,-50%)}.tour-phase.frozen .tour-phase-track{background:#594726}.tour-phase.frozen .tour-phase-thumb{background:#ffd400;box-shadow:0 0 0 2px #ffd40029}.tour-phase:focus-visible .tour-phase-track{outline:1px solid var(--accent);outline-offset:5px}.tour-panel button{background:var(--surface-2);border:1px solid var(--border);color:var(--text);cursor:pointer;border-radius:4px;padding:4px 8px;font-size:11px}.tour-panel button.tour-phase{all:unset;cursor:pointer;flex:0 0 58px;place-items:center;height:18px;display:grid}.tour-panel button[disabled]{opacity:.4;cursor:not-allowed}.right-tabs{background:var(--surface-2);border-bottom:1px solid var(--border);flex-direction:row;flex-shrink:0;min-height:24px;display:flex}.right-tab{all:unset;color:var(--text-dim);cursor:pointer;border-right:1px solid var(--border);white-space:nowrap;align-items:center;padding:3px 10px;font-size:11px;display:flex}.right-tab:hover{background:var(--surface);color:var(--text)}.right-tab.active{color:var(--accent);background:var(--surface);box-shadow:inset 0 -2px 0 var(--accent)}.clustering-panel{flex-direction:column;gap:8px;font-size:12px;display:flex}.clustering-panel header{color:var(--text);margin-bottom:4px;font-size:13px;font-weight:600}.clustering-panel .row{align-items:center;gap:6px;display:flex}.clustering-panel .row>span:first-child{color:var(--text-dim);flex:0 0 52px}.clustering-panel .row select,.clustering-panel .row input[type=number]{background:var(--surface-2);color:var(--text);border:1px solid var(--border);border-radius:4px;flex:auto;min-width:0;max-width:100%;padding:2px 4px}.clustering-panel .row small{color:var(--text-dim)}.clustering-panel .vars-row{align-items:stretch}.clustering-panel .vars{scrollbar-width:thin;scrollbar-color:var(--border) transparent;flex-direction:column;flex:1;gap:2px;min-width:0;max-height:160px;padding-right:4px;display:flex;overflow:hidden scroll}.clustering-panel .vars::-webkit-scrollbar{width:8px}.clustering-panel .vars::-webkit-scrollbar-track{background:0 0}.clustering-panel .vars::-webkit-scrollbar-thumb{background:var(--border);background-clip:padding-box;border:2px solid #0000}.clustering-panel .vars .var-row{align-items:center;gap:6px;display:flex}.clustering-panel .vars .var-row input{flex:none}.clustering-panel .vars .var-row .name{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;overflow:hidden}.clustering-panel .vars .var-row.active .name{color:var(--accent)}.clustering-panel .error{color:#f66;font-size:11px}.clustering-panel .summary small{color:var(--text-dim)}.clustering-panel button{background:var(--surface-2);border:1px solid var(--border);color:var(--text);cursor:pointer;border-radius:4px;padding:4px 8px;font-size:11px}.clustering-panel button[disabled]{opacity:.4;cursor:not-allowed}.cluster-diagnostics{border-top:1px solid var(--border);flex-direction:column;gap:6px;margin-top:4px;padding-top:8px;font-size:11px;display:flex}.cluster-diagnostics header{color:var(--text);align-items:center;gap:6px;font-size:12px;font-weight:600;display:flex}.cluster-diagnostics .diag-section{flex-direction:column;gap:3px;display:flex}.cluster-diagnostics .diag-row{align-items:center;gap:4px;display:flex}.cluster-diagnostics .diag-label{color:var(--text-dim);flex:0 0 52px;font-size:10px}.cluster-diagnostics .diag-val{text-align:right;color:var(--text-dim);font-variant-numeric:tabular-nums;flex:0 0 36px;font-size:10px}.cluster-diagnostics .diag-val.good{color:#4caf50}.cluster-diagnostics .diag-val.ok{color:#ff9800}.cluster-diagnostics .diag-val.bad{color:#f44336}.cluster-diagnostics .diag-hint{color:var(--text-dim);font-size:9px;font-style:italic}.cluster-diagnostics .diag-name{text-overflow:ellipsis;white-space:nowrap;color:var(--text-dim);flex:0 0 28px;font-size:10px;overflow:hidden}.cluster-diagnostics .diag-size{color:var(--text-dim);font-size:9px}.cluster-diagnostics .diag-bar-track{background:var(--surface-2);border-radius:3px;flex:auto;height:6px;overflow:hidden}.cluster-diagnostics .diag-bar{border-radius:3px;height:100%;transition:width .15s}.cluster-diagnostics .diag-bar.good{background:#4caf50}.cluster-diagnostics .diag-bar.ok{background:#ff9800}.cluster-diagnostics .diag-bar.bad{background:#f44336}.cluster-diagnostics .diag-svg{border:1px solid var(--border);background:var(--surface-2);border-radius:3px;display:block}.cluster-diagnostics .diag-note{color:var(--text-dim);font-size:9px;font-style:italic}.cluster-diagnostics .eps-marker{color:#ffd400;font-size:10px}.cluster-diagnostics .sil-cluster-bars{flex-direction:column;gap:2px;display:flex}.projection-diagnostics{border-top:1px solid var(--border);flex-direction:column;gap:6px;margin-top:4px;padding-top:8px;font-size:11px;display:flex}.projection-diagnostics header{color:var(--text);align-items:center;gap:6px;font-size:12px;font-weight:600;display:flex}.projection-diagnostics .diag-section{flex-direction:column;gap:3px;display:flex}.projection-diagnostics .diag-row{align-items:center;gap:4px;display:flex}.projection-diagnostics .diag-label{color:var(--text-dim);flex:0 0 72px;font-size:10px}.projection-diagnostics .diag-val{text-align:right;color:var(--text-dim);font-variant-numeric:tabular-nums;flex:0 0 36px;font-size:10px}.projection-diagnostics .diag-val.good{color:#4caf50}.projection-diagnostics .diag-val.ok{color:#ff9800}.projection-diagnostics .diag-val.bad{color:#f44336}.projection-diagnostics .diag-hint{color:var(--text-dim);font-size:9px;font-style:italic}.projection-diagnostics .diag-svg{border:1px solid var(--border);background:var(--surface-2);border-radius:3px;display:block}.projection-diagnostics .shepard-svg{margin:2px 0}.projection-diagnostics .diag-note{color:var(--text-dim);font-size:9px;font-style:italic}.classification-panel{flex-direction:column;gap:8px;font-size:12px;display:flex}.classification-panel header{color:var(--text);margin-bottom:4px;font-size:13px;font-weight:600}.classification-panel .row{align-items:center;gap:6px;display:flex}.classification-panel .row>span:first-child{color:var(--text-dim);flex:0 0 52px}.classification-panel .row select,.classification-panel .row input[type=number]{background:var(--surface-2);color:var(--text);border:1px solid var(--border);border-radius:4px;flex:auto;min-width:0;max-width:100%;padding:2px 4px}.classification-panel .row small{color:var(--text-dim)}.classification-panel .vars-row{align-items:stretch}.classification-panel .vars{scrollbar-width:thin;scrollbar-color:var(--border) transparent;flex-direction:column;flex:1;gap:2px;min-width:0;max-height:160px;padding-right:4px;display:flex;overflow:hidden scroll}.classification-panel .vars::-webkit-scrollbar{width:8px}.classification-panel .vars::-webkit-scrollbar-track{background:0 0}.classification-panel .vars::-webkit-scrollbar-thumb{background:var(--border);background-clip:padding-box;border:2px solid #0000}.classification-panel .vars .var-row{align-items:center;gap:6px;display:flex}.classification-panel .vars .var-row input{flex:none}.classification-panel .vars .var-row .name{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;overflow:hidden}.classification-panel .vars .var-row.active .name{color:var(--accent)}.classification-panel .error{color:#f66;font-size:11px}.classification-panel .summary small{color:var(--text-dim)}.classification-panel button{background:var(--surface-2);border:1px solid var(--border);color:var(--text);cursor:pointer;border-radius:4px;padding:4px 8px;font-size:11px}.classification-panel button[disabled]{opacity:.4;cursor:not-allowed}.classification-panel .spinner{border:2px solid var(--text-dim);border-top-color:var(--accent);border-radius:50%;width:10px;height:10px;animation:.6s linear infinite spin;display:inline-block}.class-diagnostics{border-top:1px solid var(--border);flex-direction:column;gap:6px;margin-top:4px;padding-top:8px;font-size:11px;display:flex}.class-diagnostics header{color:var(--text);align-items:center;gap:6px;font-size:12px;font-weight:600;display:flex}.class-diagnostics .diag-section{flex-direction:column;gap:3px;display:flex}.class-diagnostics .diag-row{align-items:center;gap:4px;display:flex}.class-diagnostics .diag-label{color:var(--text-dim);flex:0 0 52px;font-size:10px}.class-diagnostics .diag-val{text-align:right;color:var(--text-dim);font-variant-numeric:tabular-nums;flex:0 0 36px;font-size:10px}.class-diagnostics .diag-val.good{color:#4caf50}.class-diagnostics .diag-val.ok{color:#ff9800}.class-diagnostics .diag-val.bad{color:#f44336}.class-diagnostics .diag-hint{color:var(--text-dim);font-size:9px;font-style:italic}.class-diagnostics .diag-name{text-overflow:ellipsis;white-space:nowrap;color:var(--text-dim);flex:0 0 28px;font-size:10px;overflow:hidden}.class-diagnostics .diag-bar-track{background:var(--surface-2);border-radius:3px;flex:auto;height:6px;overflow:hidden}.class-diagnostics .diag-bar{border-radius:3px;height:100%;transition:width .15s}.class-diagnostics .diag-bar.accent{background:var(--accent)}.class-diagnostics .diag-bar.good{background:#4caf50}.class-diagnostics .diag-bar.ok{background:#ff9800}.class-diagnostics .diag-bar.bad{background:#f44336}.class-diagnostics .cv-folds{flex-direction:column;gap:2px;padding-left:8px;display:flex}.class-diagnostics .cv-fold .diag-name{flex:0 0 20px;font-size:9px}.class-diagnostics .cv-fold .diag-val{flex:0 0 30px;font-size:9px}.class-diagnostics .cv-fold .diag-bar-track{height:5px}.class-diagnostics .diag-note{color:var(--text-dim);font-size:9px;font-style:italic}.class-diagnostics .diag-support{color:var(--text-dim);text-align:right;font-variant-numeric:tabular-nums;font-size:10px}.cm-grid-wrap{flex-direction:column;gap:2px;display:flex}.cm-table{border-collapse:collapse;table-layout:fixed;width:100%;font-size:10px}.cm-table th{color:var(--text-dim);text-align:center;white-space:nowrap;text-overflow:ellipsis;padding:1px 2px;font-size:9px;font-weight:400;overflow:hidden}.cm-table .cm-actual{text-align:right;padding-right:4px}.cm-table td{text-align:center;font-variant-numeric:tabular-nums;padding:1px 2px;font-size:9px}.cm-cell{min-width:18px;height:18px;color:var(--text);transition:background .1s}.cm-cell.diag{color:#fff;font-weight:600}.class-metrics-table{border-collapse:collapse;width:100%;font-size:10px}.class-metrics-table th{color:var(--text-dim);text-align:right;white-space:nowrap;padding:1px 3px;font-size:9px;font-weight:400}.class-metrics-table th:first-child{text-align:left}.class-metrics-table td{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums;padding:1px 3px}.class-metrics-table td.good{color:#4caf50}.class-metrics-table td.ok{color:#ff9800}.class-metrics-table td.bad{color:#f44336}.cm-class-name{text-align:left;text-overflow:ellipsis;white-space:nowrap;max-width:60px;font-weight:500;overflow:hidden}.feat-imp-bars{flex-direction:column;gap:2px;display:flex}.projection-panel{flex-direction:column;gap:8px;font-size:12px;display:flex}.projection-panel header{color:var(--text);margin-bottom:4px;font-size:13px;font-weight:600}.projection-panel .row{align-items:center;gap:6px;display:flex}.projection-panel .row>span:first-child{color:var(--text-dim);flex:0 0 52px}.projection-panel .row select,.projection-panel .row input[type=number]{background:var(--surface-2);color:var(--text);border:1px solid var(--border);border-radius:4px;flex:auto;min-width:0;max-width:100%;padding:2px 4px}.projection-panel .row small{color:var(--text-dim)}.projection-panel .vars-row{align-items:stretch}.projection-panel .vars{scrollbar-width:thin;scrollbar-color:var(--border) transparent;flex-direction:column;flex:1;gap:2px;min-width:0;max-height:160px;padding-right:4px;display:flex;overflow:hidden scroll}.projection-panel .vars::-webkit-scrollbar{width:8px}.projection-panel .vars::-webkit-scrollbar-track{background:0 0}.projection-panel .vars::-webkit-scrollbar-thumb{background:var(--border);background-clip:padding-box;border:2px solid #0000}.projection-panel .vars .var-row{align-items:center;gap:6px;display:flex}.projection-panel .vars .var-row input{flex:none}.projection-panel .vars .var-row .name{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;overflow:hidden}.projection-panel .vars .var-row.active .name{color:var(--accent)}.projection-panel .error{color:#f66;font-size:11px}.projection-panel .summary small{color:var(--text-dim)}.projection-panel button{background:var(--surface-2);border:1px solid var(--border);color:var(--text);cursor:pointer;border-radius:4px;padding:4px 8px;font-size:11px}.projection-panel button[disabled]{opacity:.4;cursor:not-allowed}.projection-panel .spinner{border:2px solid var(--text-dim);border-top-color:var(--accent);border-radius:50%;width:10px;height:10px;animation:.6s linear infinite spin;display:inline-block}.projection-panel .loadings-row{align-items:stretch}.projection-panel .loadings{scrollbar-width:thin;scrollbar-color:var(--border) transparent;max-height:180px;overflow:auto}.projection-panel .loadings::-webkit-scrollbar{width:8px;height:8px}.projection-panel .loadings::-webkit-scrollbar-track{background:0 0}.projection-panel .loadings::-webkit-scrollbar-thumb{background:var(--border);background-clip:padding-box;border:2px solid #0000}.projection-panel .loadings table{border-collapse:collapse;width:100%;font-size:11px}.projection-panel .loadings th{color:var(--text-dim);text-align:right;white-space:nowrap;padding:1px 4px;font-weight:400}.projection-panel .loadings td{text-align:right;white-space:nowrap;padding:1px 4px}.projection-panel .loadings .var-name{text-align:left;text-overflow:ellipsis;max-width:80px;overflow:hidden}.projection-panel .loadings .loading-bar-wrap{min-width:38px;display:inline-block;position:relative}.projection-panel .loadings .loading-bar{background:var(--accent);opacity:.15;border-radius:2px;position:absolute;top:2px;bottom:2px;left:0}.projection-panel .loadings .loading-val{z-index:1;position:relative}.scagnostics-panel{flex-direction:column;gap:8px;font-size:12px;display:flex}.scagnostics-panel header{color:var(--text);margin-bottom:4px;font-size:13px;font-weight:600}.scagnostics-panel .row{align-items:center;gap:6px;display:flex}.scagnostics-panel .row>span:first-child{color:var(--text-dim);flex:0 0 36px}.scagnostics-panel .row select,.scagnostics-panel .row input[type=number]{background:var(--surface-2);color:var(--text);border:1px solid var(--border);border-radius:4px;flex:auto;min-width:0;max-width:100%;padding:2px 4px}.scagnostics-panel .row input[type=range]{flex:auto;min-width:0}.scagnostics-panel .row small{color:var(--text-dim)}.scagnostics-panel .sort-dir{background:var(--surface-2);border:1px solid var(--border);color:var(--text);cursor:pointer;border-radius:4px;padding:2px 6px;font-size:12px;line-height:1}.scagnostics-panel .threshold-val{color:var(--text-dim);text-align:right;min-width:28px;font-size:11px}.scagnostics-panel .vars-row{align-items:stretch}.scagnostics-panel .vars{scrollbar-width:thin;scrollbar-color:var(--border) transparent;flex-direction:column;flex:1;gap:2px;min-width:0;max-height:160px;padding-right:4px;display:flex;overflow:hidden scroll}.scagnostics-panel .vars::-webkit-scrollbar{width:8px}.scagnostics-panel .vars::-webkit-scrollbar-track{background:0 0}.scagnostics-panel .vars::-webkit-scrollbar-thumb{background:var(--border);background-clip:padding-box;border:2px solid #0000}.scagnostics-panel .vars .var-row{align-items:center;gap:6px;display:flex}.scagnostics-panel .vars .var-row input{flex:none}.scagnostics-panel .vars .var-row .name{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;overflow:hidden}.scagnostics-panel .vars .var-row.active .name{color:var(--accent)}.scagnostics-panel .error{color:#f66;font-size:11px}.scagnostics-panel .results-row{align-items:stretch}.scagnostics-panel .scag-results{scrollbar-width:thin;scrollbar-color:var(--border) transparent;max-height:260px;overflow:auto}.scagnostics-panel .scag-results::-webkit-scrollbar{width:8px;height:8px}.scagnostics-panel .scag-results::-webkit-scrollbar-track{background:0 0}.scagnostics-panel .scag-results::-webkit-scrollbar-thumb{background:var(--border);background-clip:padding-box;border:2px solid #0000}.scagnostics-panel .scag-results table{border-collapse:collapse;width:100%;font-size:10px}.scagnostics-panel .scag-results th{color:var(--text-dim);text-align:right;white-space:nowrap;padding:2px 3px;font-weight:400}.scagnostics-panel .scag-results th:first-child{text-align:left}.scagnostics-panel .scag-results td{text-align:right;white-space:nowrap;padding:2px 3px}.scagnostics-panel .scag-results .pair-name{text-align:left;text-overflow:ellipsis;max-width:80px;color:var(--text);font-size:10px;overflow:hidden}.scagnostics-panel .scag-results .scag-bar-wrap{min-width:32px;display:inline-block;position:relative}.scagnostics-panel .scag-results .scag-bar{background:var(--accent);opacity:.2;border-radius:2px;position:absolute;top:2px;bottom:2px;left:0}.scagnostics-panel .scag-results .scag-val{z-index:1;font-size:9px;position:relative}.scagnostics-panel .more{color:var(--text-dim);text-align:center;padding:4px 0;display:block}.scagnostics-panel button{background:var(--surface-2);border:1px solid var(--border);color:var(--text);cursor:pointer;border-radius:4px;padding:4px 8px;font-size:11px}.scagnostics-panel button[disabled]{opacity:.4;cursor:not-allowed}.scagnostics-panel .spinner{border:2px solid var(--text-dim);border-top-color:var(--accent);border-radius:50%;width:10px;height:10px;animation:.6s linear infinite spin;display:inline-block}.mapper-panel{flex-direction:column;gap:8px;font-size:12px;display:flex}.mapper-panel header{color:var(--text);margin-bottom:4px;font-size:13px;font-weight:600}.mapper-panel .row{align-items:center;gap:6px;display:flex}.mapper-panel .row>span:first-child{color:var(--text-dim);flex:0 0 36px}.mapper-panel .row select,.mapper-panel .row input[type=number]{background:var(--surface-2);color:var(--text);border:1px solid var(--border);border-radius:4px;flex:auto;min-width:0;max-width:100%;padding:2px 4px}.mapper-panel .vars-row{align-items:stretch}.mapper-panel .vars{scrollbar-width:thin;scrollbar-color:var(--border) transparent;flex-direction:column;flex:1;gap:2px;min-width:0;max-height:160px;padding-right:4px;display:flex;overflow:hidden scroll}.mapper-panel .vars::-webkit-scrollbar{width:8px}.mapper-panel .vars::-webkit-scrollbar-track{background:0 0}.mapper-panel .vars::-webkit-scrollbar-thumb{background:var(--border);background-clip:padding-box;border:2px solid #0000}.mapper-panel .vars .var-row{align-items:center;gap:6px;display:flex}.mapper-panel .vars .var-row input{flex:none}.mapper-panel .vars .var-row .name{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;overflow:hidden}.mapper-panel .vars .var-row.active .name{color:var(--accent)}.mapper-panel .error{color:#f66;font-size:11px}.mapper-panel .summary{color:var(--text-dim);font-size:11px}.mapper-panel button{background:var(--surface-2);border:1px solid var(--border);color:var(--text);cursor:pointer;border-radius:4px;padding:4px 8px;font-size:11px}.mapper-panel button[disabled]{opacity:.4;cursor:not-allowed}.mapper-panel .spinner{border:2px solid var(--text-dim);border-top-color:var(--accent);border-radius:50%;width:10px;height:10px;animation:.6s linear infinite spin;display:inline-block}.mapper-plot-svg{background:var(--surface);width:100%;height:100%}.mapper-info-overlay{color:#eee;pointer-events:none;background:#000c;border-radius:4px;max-width:320px;max-height:200px;padding:6px 10px;font-size:11px;position:absolute;bottom:8px;left:8px;overflow-y:auto}.mapper-node-detail{border-top:1px solid #fff3;margin-top:4px;padding-top:4px}.mapper-detail-section{margin-bottom:2px}.mapper-var-table{border-collapse:collapse;width:100%;margin-top:2px;font-size:10px}.mapper-var-table th{text-align:left;color:#aaa;border-bottom:1px solid #ffffff26;padding:1px 4px;font-weight:400}.mapper-var-table td{font-variant-numeric:tabular-nums;padding:1px 4px}.mapper-var-table tr:hover td{background:#ffffff14}.mapper-sweep-panel{border-top:1px solid var(--border);flex-direction:column;gap:6px;margin-top:8px;padding-top:8px;font-size:11px;display:flex}.mapper-sweep-panel header{color:var(--text);align-items:center;gap:4px;font-size:12px;font-weight:600;display:flex}.mapper-sweep-panel button{background:var(--surface-2);border:1px solid var(--border);color:var(--text);cursor:pointer;border-radius:4px;padding:3px 6px;font-size:10px}.mapper-sweep-panel button[disabled]{opacity:.4;cursor:not-allowed}.mapper-sweep-panel .row{align-items:center;gap:6px;display:flex}.sweep-results{flex-direction:column;gap:6px;display:flex}.sweep-metric{flex-direction:column;gap:2px;display:flex}.sweep-metric-label{color:var(--text-dim);font-weight:600}.sweep-heatmap-table{border-collapse:collapse;width:100%;font-size:9px}.sweep-heatmap-table th{color:var(--text-dim);text-align:center;padding:1px 2px;font-size:8px;font-weight:400}.sweep-heatmap-table td{text-align:center;font-variant-numeric:tabular-nums;border:1px solid #80808026;padding:2px 3px}.sweep-row-label{color:var(--text-dim);text-align:right;font-weight:600;padding-right:4px!important}.sweep-axis-labels{color:var(--text-dim);font-size:9px}.mapper-zoom-hint{color:var(--text-dim);pointer-events:none;font-size:10px;position:absolute;top:4px;right:8px}.var-circle{width:140px;height:140px}.var-circle.empty{color:var(--text-dim);border:1px dashed var(--border);border-radius:6px;place-items:center;font-size:11px;display:grid}.saved-views{flex-direction:column;gap:4px;font-size:11px;display:flex}.saved-views header{color:var(--text);font-size:12px;font-weight:600}.saved-views.empty{color:var(--text-dim);border:1px dashed var(--border);border-radius:4px;padding:6px;font-size:11px}.saved-views .row{background:var(--surface);border-radius:4px;align-items:center;gap:4px;padding:3px 6px;display:flex}.saved-views .row .name{color:var(--text);flex:1}.saved-views .row .meta{color:var(--text-dim);font-size:10px}.saved-views .row button{all:unset;cursor:pointer;color:var(--text-dim);padding:0 4px}.saved-views .row button:hover{color:var(--text)}.keyframe-gallery{flex-direction:column;gap:6px;font-size:11px;display:flex}.keyframe-gallery header{color:var(--text);font-size:12px;font-weight:600}.keyframe-gallery.empty{color:var(--text-dim);border:1px dashed var(--border);border-radius:4px;padding:6px;font-size:11px}.keyframe-gallery .gallery-grid{flex-wrap:wrap;gap:4px;display:flex}.keyframe-thumb{background:var(--surface);border:1px solid var(--border);border-radius:4px;flex-direction:column;align-items:center;gap:2px;width:64px;padding:3px;display:flex;position:relative}.keyframe-thumb .thumb-svg{width:48px;height:48px}.keyframe-thumb .keyframe-meta{flex-direction:column;align-items:center;gap:0;display:flex}.keyframe-thumb .keyframe-name{color:var(--text);text-overflow:ellipsis;white-space:nowrap;max-width:58px;font-size:9px;overflow:hidden}.keyframe-thumb .keyframe-source{color:var(--text-dim);font-size:8px}.keyframe-thumb .keyframe-remove{all:unset;cursor:pointer;color:var(--text-dim);border-radius:2px;padding:1px 3px;font-size:10px;line-height:1;position:absolute;top:1px;right:1px}.keyframe-thumb .keyframe-remove:hover{color:var(--text);background:var(--surface-2)}.guided-actions{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.guided-actions button{padding:2px 6px;font-size:10px}.guided-actions select{background:var(--surface-2);color:var(--text);border:1px solid var(--border);border-radius:4px;flex:auto;min-width:0;max-width:100%;padding:1px 3px;font-size:10px}.tour-scrubber{flex-direction:column;gap:4px;font-size:11px;display:flex}.tour-scrubber header{color:var(--text);font-size:12px;font-weight:600}.tour-scrubber.disabled{opacity:.4;pointer-events:none}.scrubber-track{background:var(--surface-2);border:1px solid var(--border);cursor:pointer;touch-action:none;-webkit-user-select:none;user-select:none;border-radius:4px;height:20px;position:relative}.scrubber-track:focus-visible{outline:1px solid var(--accent);outline-offset:2px}.scrubber-fill{pointer-events:none;background:#4488ff26;border-radius:4px 0 0 4px;height:100%;position:absolute;top:0;left:0}.scrubber-marker{background:var(--accent);pointer-events:none;border-radius:1px;width:3px;position:absolute;top:2px;bottom:2px;transform:translate(-50%)}.scrubber-keyframe-tick{background:var(--accent);opacity:.4;pointer-events:none;width:1px;position:absolute;top:0;bottom:0}.scrubber-labels{color:var(--text-dim);justify-content:space-between;font-size:9px;display:flex}.case-panel{min-width:0;color:var(--text);flex-direction:column;gap:6px;font-size:11px;display:flex}.case-panel.empty{color:var(--text-dim);border:1px dashed var(--border);padding:6px}.case-panel header{justify-content:space-between;align-items:center;gap:8px;font-size:12px;font-weight:600;display:flex}.case-panel header button{background:var(--surface-2);border:1px solid var(--border);color:var(--text);cursor:pointer;padding:2px 6px;font-size:10px}.case-panel header button:disabled{opacity:.45;cursor:not-allowed}.case-label-select{color:var(--text-dim);grid-template-columns:44px minmax(0,1fr);align-items:center;gap:6px;display:grid}.case-label-select select{width:100%;min-width:0}.case-inspector{background:var(--surface);border:1px solid var(--border);min-width:0;padding:5px 6px}.case-inspector .muted{color:var(--text-dim)}.case-values{color:var(--text-dim);flex-direction:column;gap:1px;min-width:0;margin-top:3px;display:flex}.case-values span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.case-list{scrollbar-width:thin;scrollbar-color:var(--border) transparent;flex-direction:column;gap:2px;max-height:220px;display:flex;overflow:auto}.case-row{grid-template-columns:minmax(0,1fr) 22px;align-items:center;gap:2px;min-width:0;display:grid}.case-row-main,.case-pin{background:var(--surface);color:var(--text);cursor:pointer;border:1px solid #0000;min-width:0;height:22px}.case-row-main{text-align:left;grid-template-columns:32px 10px minmax(0,1fr);align-items:center;gap:4px;padding:2px 5px;display:grid}.case-pin{color:var(--text-dim);padding:0}.case-row-main:hover,.case-pin:hover,.case-row.selected .case-row-main,.case-row.pinned .case-pin{border-color:var(--accent)}.case-row.shadowed{opacity:.45}.case-index{color:var(--text-dim);font-variant-numeric:tabular-nums}.case-swatch{border:1px solid #ffffff47;width:8px;height:8px}.case-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.case-note{color:var(--text-dim);font-size:10px}.selection-toolbar{align-items:center;gap:5px;min-width:0;font-size:12px;display:flex}.selection-toolbar>button{background:var(--surface-2);color:var(--text);border:1px solid var(--border);cursor:pointer;font-size:11px}.selection-icon-button{place-items:center;width:24px;height:22px;padding:0;display:inline-grid}.selection-toolbar>button:hover{background:var(--surface)}.selection-toolbar>button:active{background:var(--border)}.selection-toolbar>button:disabled{opacity:.4;cursor:not-allowed}.selection-icon{width:14px;height:14px;color:var(--text);display:block;position:relative}.selection-icon.exclude,.selection-icon.include{border:1px solid var(--text)}.selection-icon.exclude:after{content:"";border-top:1px solid #ff8a8a;position:absolute;top:6px;left:-2px;right:-2px;transform:rotate(-45deg)}.selection-icon.include:before,.selection-icon.include:after{content:"";background:var(--accent);position:absolute}.selection-icon.include:before{height:1px;top:6px;left:3px;right:3px}.selection-icon.include:after{width:1px;top:3px;bottom:3px;left:6px}.selection-icon.invert:before,.selection-icon.invert:after{content:"";width:10px;height:4px;position:absolute}.selection-icon.invert:before{border-top:1px solid var(--text);border-right:1px solid var(--text);top:2px;left:1px}.selection-icon.invert:after{border-bottom:1px solid var(--accent);border-left:1px solid var(--accent);bottom:2px;right:1px}.selection-icon.isolate:before{content:"";border:1px solid var(--text-dim);position:absolute;inset:1px}.selection-icon.isolate:after{content:"";background:var(--accent);position:absolute;inset:5px}.selection-icon.restore:before{content:"";border:1px solid var(--text);border-left-color:#0000;position:absolute;inset:2px}.selection-icon.restore:after{content:"";border-top:4px solid #0000;border-bottom:4px solid #0000;border-right:5px solid var(--text);width:0;height:0;position:absolute;top:50%;left:0;transform:translateY(-50%)}.selection-tool-toggle button{place-items:center;width:25px;height:22px;padding:0;display:inline-grid}.selection-icon.brush:before{content:"";background:var(--text);transform-origin:50% 80%;width:3px;height:11px;position:absolute;top:1px;left:7px;transform:rotate(38deg)}.selection-icon.brush:after{content:"";background:var(--accent);width:7px;height:4px;position:absolute;top:9px;left:2px;transform:skew(-18deg)}.selection-icon.identify:before{content:"i";color:var(--text);place-items:center;font-size:13px;font-weight:700;line-height:1;display:grid;position:absolute;inset:0}.edges-toolbar{flex-wrap:wrap;align-items:center;gap:6px;min-width:0;font-size:12px;display:flex}.edges-toolbar button,.edge-file-button{background:var(--surface-2);color:var(--text);border:1px solid var(--border);cursor:pointer;padding:4px 10px;font-size:11px}.edge-file-button{align-items:center;display:inline-flex}.edges-toolbar button:disabled,.edges-toolbar input:disabled{opacity:.45;cursor:not-allowed}.edges-toolbar small{color:var(--text-dim);min-width:28px;font-size:10px}.edge-alpha-slider{flex:0 0 58px;width:58px}*,:before,:after{border-radius:0!important}select,option{background-color:var(--surface-2);color:var(--text);border:1px solid var(--border)}button,input,select,textarea{border-radius:0!important}select{appearance:none;background-image:linear-gradient(45deg, transparent 50%, var(--text-dim) 50%), linear-gradient(135deg, var(--text-dim) 50%, transparent 50%);background-position:calc(100% - 10px),calc(100% - 6px);background-repeat:no-repeat;background-size:4px 4px;padding:2px 22px 2px 6px}input[type=range]{appearance:none;cursor:pointer;background:0 0;border:0;min-width:44px;height:16px;padding:0}input[type=range]::-webkit-slider-runnable-track{background:var(--border);border:0;height:3px}input[type=range]::-moz-range-track{background:var(--border);border:0;height:3px}input[type=range]::-webkit-slider-thumb{appearance:none;background:var(--text-dim);border:1px solid var(--surface-2);cursor:pointer;width:10px;height:10px;margin-top:-3.5px}input[type=range]::-moz-range-thumb{background:var(--text-dim);border:1px solid var(--surface-2);cursor:pointer;width:10px;height:10px}input[type=range]:hover::-webkit-slider-thumb{background:var(--text)}input[type=range]:focus-visible::-webkit-slider-thumb{background:var(--text)}input[type=range]:hover::-moz-range-thumb{background:var(--text)}input[type=range]:focus-visible::-moz-range-thumb{background:var(--text)}input[type=range]:focus-visible{outline:1px solid var(--accent);outline-offset:3px}input[type=checkbox]{appearance:none;background:var(--surface-2);border:1px solid var(--border);vertical-align:middle;place-content:center;width:13px;height:13px;margin:0;display:inline-grid}input[type=checkbox]:before{content:"";background:var(--accent);width:7px;height:7px;transform:scale(0)}input[type=checkbox]:checked:before{transform:scale(1)}input[type=checkbox]:focus-visible{outline:1px solid var(--accent);outline-offset:1px}.inline-check{color:var(--text);align-items:center;gap:4px;display:inline-flex}.inline-check:has(input:disabled){color:var(--text-dim)}.help-popover-wrap{align-items:center;display:inline-flex;position:relative}.help-popover-trigger{all:unset;width:12px;height:12px;color:var(--text-dim);border:1px solid var(--border);background:var(--surface-2);cursor:pointer;border-radius:2px;flex-shrink:0;place-items:center;font-size:8px;line-height:1;display:inline-grid}.help-popover-trigger:hover{color:var(--accent);border-color:var(--accent)}.help-popover{z-index:40;background:var(--surface);border:1px solid var(--border);min-width:180px;max-width:300px;color:var(--text);white-space:normal;max-height:70vh;padding:8px 10px;font-size:11px;line-height:1.45;position:fixed;overflow-y:auto;box-shadow:0 4px 16px #0006}.help-popover p{margin:0 0 6px}.help-popover p:last-child{margin-bottom:0}.help-popover .help-title{color:var(--accent);margin-bottom:4px;font-weight:600}.help-popover .help-measures{grid-template-columns:auto 1fr;gap:2px 8px;font-size:10px;display:grid}.help-popover .help-measures .mname{color:var(--accent);white-space:nowrap}.help-popover .help-measures .mdesc{color:var(--text-dim)}.help-popover .help-warning{color:#e8a040;border-left:2px solid #e8a040;margin-top:4px;padding-left:6px;font-size:10px}.lesson-overlay{z-index:50;pointer-events:auto;position:fixed;bottom:48px;left:50%;transform:translate(-50%)}.lesson-card{background:var(--surface);border:1px solid var(--border);min-width:320px;max-width:420px;color:var(--text);border-radius:6px;padding:10px 14px;font-size:11px;line-height:1.45;box-shadow:0 4px 24px #00000080}.lesson-header{align-items:center;gap:6px;margin-bottom:6px;display:flex}.lesson-badge{background:var(--accent);color:#000;text-transform:uppercase;letter-spacing:.5px;border-radius:3px;padding:1px 5px;font-size:9px;font-weight:700}.lesson-title{flex:1;font-size:12px;font-weight:600}.lesson-step-num{color:var(--text-dim);white-space:nowrap;font-size:10px}.lesson-close{all:unset;cursor:pointer;color:var(--text-dim);padding:0 2px;font-size:12px;line-height:1}.lesson-close:hover{color:var(--text)}.lesson-progress{background:var(--surface-2);border-radius:2px;height:3px;margin-bottom:8px;overflow:hidden}.lesson-progress-bar{background:var(--accent);border-radius:2px;height:100%;transition:width .2s}.lesson-step-title{color:var(--accent);margin:0 0 4px;font-size:12px;font-weight:600}.lesson-step-body p{margin:0 0 6px}.lesson-step-body p:last-child{margin-bottom:0}.lesson-nav{justify-content:flex-end;gap:8px;margin-top:10px;display:flex}.lesson-nav button{all:unset;cursor:pointer;background:var(--surface-2);color:var(--text);border:1px solid var(--border);border-radius:4px;padding:4px 12px;font-size:11px;font-weight:600}.lesson-nav button:disabled{opacity:.4;cursor:default}.lesson-nav button:not(:disabled):hover{background:var(--border)}.lesson-nav .lesson-next,.lesson-nav .lesson-finish{background:var(--accent);color:#000;border-color:var(--accent)}.lesson-nav .lesson-next:hover,.lesson-nav .lesson-finish:hover{filter:brightness(1.1)}.lesson-picker{flex-wrap:wrap;justify-content:center;align-items:center;gap:6px;margin-top:10px;display:flex}.lesson-picker-btn{all:unset;cursor:pointer;background:var(--accent);color:#000;border-radius:4px;padding:4px 10px;font-size:11px;font-weight:600}.lesson-picker-btn:hover{filter:brightness(1.1)}.lesson-toolbar-menu{z-index:30;background:var(--surface);border:1px solid var(--border);border-radius:4px;min-width:180px;padding:4px 0;position:absolute;top:100%;left:0;box-shadow:0 4px 16px #0006}.lesson-toolbar-item{all:unset;width:100%;color:var(--text);cursor:pointer;padding:6px 10px;font-size:11px;display:block}.lesson-toolbar-item:hover{background:var(--surface-2)}.dr-morph-section{border-top:1px solid var(--border);margin-top:8px;padding-top:8px}.dr-morph-section header{align-items:center;gap:4px;margin-bottom:6px;font-size:11px;font-weight:600;display:flex}.morph-play,.morph-pause{all:unset;cursor:pointer;border:1px solid var(--border);background:var(--surface-2);color:var(--text);border-radius:3px;padding:2px 6px;font-size:10px}.morph-play:hover,.morph-pause:hover{background:var(--border)}.parcoords-cond-select{background:var(--surface-2);color:var(--text);border:1px solid var(--border);max-width:120px;padding:1px 3px;font-size:10px}@keyframes spin{to{transform:rotate(360deg)}}
