:root{--paper:#f4efe5;--ink:#1b1e1d;--muted:#5f655e;--line:#1b1e1d1f;--panel:#fffbf5c7;--panel-strong:#fffbf5eb;--accent:#d95736;--accent-soft:#d957362e;--cool:#22817e;--cool-soft:#22817e29;--shadow:0 24px 70px #412d1a24;--mono:"IBM Plex Mono", "SFMono-Regular", Consolas, monospace;--sans:"Space Grotesk", "Avenir Next", "Segoe UI", sans-serif}*{box-sizing:border-box}html,body,#root{min-height:100%}body{font-family:var(--sans);color:var(--ink);background:radial-gradient(circle at top,#ffffffb3,#0000 36%),linear-gradient(160deg,#e8decc 0%,#f4efe5 40%,#dbe8e4 100%);margin:0}button,input,table{font:inherit}.app-shell{grid-template-columns:minmax(320px,420px) 1fr;gap:20px;height:100vh;padding:20px;display:grid;position:relative;overflow:hidden}.sidebar,.main-stage{flex-direction:column;gap:20px;min-height:0;display:flex;overflow:auto}.panel{background:var(--panel);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);box-shadow:var(--shadow);border:1px solid #ffffff8c;border-radius:24px}.upload-panel,.examples-panel,.control-panel,.prediction-panel,.counterfactual-panel,.path-panel,.dataset-panel,.radial-panel,.selected-tree-panel,.ensemble-cube-panel{padding:22px}.upload-panel{padding:16px 18px}.dataset-panel{flex-direction:column;display:flex}.counterfactual-panel{flex-direction:column;gap:16px;display:flex}.eyebrow,.panel-caption,.session-badge,.stat-grid span,.contribution-chip span,.status-bar,th{text-transform:uppercase;letter-spacing:.12em;color:var(--muted);font-size:.72rem}h1,h2,p{margin:0}h1{max-width:11ch;margin-top:6px;font-size:clamp(1.7rem,4vw,2.4rem);line-height:.94}h2{font-size:1.15rem;line-height:1.05}.lede{color:var(--muted);margin-top:8px;font-size:.94rem;line-height:1.35}.file-card{background:var(--panel-strong);border:1px solid var(--line);border-radius:16px;flex-direction:column;gap:8px;margin-top:0;padding:11px 12px;display:flex}.examples-copy{margin-top:0;margin-bottom:14px}.examples-loader{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) auto;align-items:end;gap:10px;display:grid}.examples-loader-field{flex-direction:column;gap:6px;min-width:0;display:flex}.examples-loader-field span{text-transform:uppercase;color:var(--muted);font-size:.72rem}.examples-loader-field select{border:1px solid var(--line);width:100%;min-height:36px;color:var(--ink);background:#ffffffb8;border-radius:10px;padding:8px 10px}.example-load-button{border:1px solid var(--line);background:var(--panel-strong);min-height:36px;color:var(--ink);cursor:pointer;border-radius:10px;padding:8px 13px;font-weight:700}.example-load-button:hover:not(:disabled){background:#22817e1a;border-color:#22817e73}.example-load-button.active{background:var(--accent);border-color:var(--accent);color:#fff}.example-load-button:disabled{opacity:.55;cursor:not-allowed}.examples-loaded-status{color:var(--muted);margin-top:10px;font-size:.86rem}@media (width<=680px){.examples-loader{grid-template-columns:1fr;align-items:stretch}}.file-card.subtle{background:#ffffff75}.file-card input{width:100%}.action-button,.ghost-button{cursor:pointer;border:0;border-radius:999px;margin-top:8px;padding:10px 16px;transition:transform .16s,opacity .16s,background .16s}.action-button{background:var(--ink);color:#fff}.ghost-button{color:var(--ink);border:1px solid var(--line);background:0 0}.random-sample-button{padding:7px 11px;font-size:.82rem}.action-button:hover,.ghost-button:hover{transform:translateY(-1px)}.action-button:disabled,.ghost-button:disabled{opacity:.45;cursor:not-allowed;transform:none}.session-badge{background:#1b1e1d0f;border-radius:999px;width:fit-content;margin-top:12px;padding:7px 10px;display:inline-flex}.upload-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:12px;display:grid}.upload-card{min-width:0}.upload-card .file-card span{font-size:.84rem;font-weight:600;line-height:1.2}.compact-button{width:100%;min-height:38px;font-size:.92rem}.panel-header{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:14px;display:flex}.panel-header.compact{align-items:center;gap:8px;margin-bottom:0}.counterfactual-actions{justify-content:space-between;align-items:center;gap:16px;display:flex}.counterfactual-meta{flex-direction:column;flex:auto;gap:5px;min-width:0;display:flex}.counterfactual-meta-row{flex-wrap:wrap;gap:8px;min-width:0;display:flex}.counterfactual-buttons{white-space:nowrap;flex:none;align-items:center;gap:8px;display:flex}.counterfactual-meta span,.counterfactual-change-list li span,.empty-inline{color:var(--muted);font-size:.82rem;line-height:1.25}.counterfactual-meta span{overflow-wrap:anywhere;min-width:0}.counterfactual-card,.counterfactual-changes{flex-direction:column;gap:12px;display:flex}.counterfactual-status{color:#1f5c5a;background:#22817e1a;border:1px solid #22817e33;border-radius:18px;padding:16px 18px}.counterfactual-stats{grid-template-columns:repeat(auto-fit,minmax(132px,1fr));gap:12px;padding:6px 0 10px;display:grid}.counterfactual-metric{border:1px solid var(--line);background:#ffffff75;border-radius:8px;flex-direction:column;justify-content:space-between;gap:8px;min-height:56px;padding:10px 12px;display:flex}.counterfactual-metric-label{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:.7rem;font-weight:700;line-height:1}.counterfactual-metric-value{align-items:baseline;gap:8px;display:flex}.counterfactual-metric-value strong{color:var(--ink);font-size:1.22rem;font-weight:700;line-height:1}.counterfactual-metric-value small{color:var(--muted);font-size:.78rem;font-weight:600;line-height:1}.counterfactual-change-list{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.counterfactual-change-list li{background:var(--panel-strong);border:1px solid var(--line);border-radius:14px;justify-content:space-between;align-items:baseline;gap:12px;padding:11px 12px;display:flex}.counterfactual-change-list li strong{font-size:.92rem}.counterfactual-error{padding:16px 18px}.feature-list{flex-direction:column;gap:7px;max-height:56vh;padding-right:3px;display:flex;overflow:auto}.feature-row{border-top:1px solid #1b1e1d14;grid-template-columns:minmax(102px,132px) minmax(0,1fr) minmax(66px,auto);align-items:center;gap:5px 11px;padding:8px 0;display:grid}.numeric-feature-row{align-items:start}.feature-row:first-child{border-top:0}.feature-label{align-items:start;min-width:0;padding-top:2px;display:flex}.feature-label span{text-transform:none;letter-spacing:0;word-break:break-word;font-size:.88rem;font-weight:600;line-height:1.18}.feature-slider{accent-color:var(--accent);width:100%;margin:0}.numeric-feature-row .feature-control{grid-area:1/2/3/4;grid-template-columns:minmax(0,.9fr) minmax(66px,auto);gap:5px 11px;display:grid}.numeric-feature-row .feature-slider{grid-area:1/1/auto/3;align-self:center}.numeric-feature-row .feature-number{grid-area:2/1;place-self:center start;width:90%;min-height:38px}.feature-control,.feature-numeric-stack{flex-direction:column;gap:8px;min-width:0;display:flex}.feature-number{border:1px solid var(--line);background:#ffffffb8;border-radius:12px;width:100%;padding:8px 11px}.feature-select{border:1px solid var(--line);width:100%;color:var(--ink);background:#ffffffb8;border-radius:12px;padding:10px 12px}.feature-binary-group{flex-wrap:wrap;gap:8px;display:flex}.feature-chip{border:1px solid var(--line);color:var(--ink);cursor:pointer;background:#ffffff94;border-radius:999px;flex:1;padding:10px 12px;transition:transform .16s,background .16s,border-color .16s}.feature-chip.active{background:var(--accent-soft);border-color:#d9573652}.feature-chip:hover:not(:disabled){transform:translateY(-1px)}.feature-chip:disabled,.feature-select:disabled,.feature-number:disabled,.feature-slider:disabled{opacity:.5}.feature-missing-toggle{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;cursor:pointer;background:#ffffff85;border:1px solid #1b1e1d29;border-radius:999px;justify-content:center;place-self:center end;align-items:center;gap:5px;padding:5px 8px;font-size:.68rem;font-weight:600;transition:background .16s,border-color .16s,color .16s,box-shadow .16s,transform .16s;display:inline-flex}.numeric-feature-row .feature-missing-toggle{grid-area:2/3;align-self:center;min-height:28px}.feature-missing-toggle:hover:not(:disabled){border-color:#1b1e1d47;transform:translateY(-1px)}.feature-missing-toggle.active{color:var(--ink);background:#d957362e;border-color:#d957369e;box-shadow:inset 0 0 0 1px #d9573629}.feature-missing-toggle:disabled{opacity:.42;cursor:not-allowed;transform:none}.feature-missing-dot{opacity:.7;background:0 0;border:1px solid;border-radius:999px;width:6px;height:6px}.feature-missing-toggle.active .feature-missing-dot{background:var(--accent);border-color:var(--accent);opacity:1}.probability-meter{cursor:crosshair;touch-action:none;-webkit-user-select:none;user-select:none;background:#1b1e1d0f;border-radius:18px;min-height:78px;position:relative;overflow:hidden}.probability-fill{background:linear-gradient(90deg, var(--cool), var(--accent));opacity:.9;pointer-events:none;position:absolute;inset:0 auto 0 0}.probability-threshold-marker{z-index:1;cursor:ew-resize;border-left:2px dashed #fffffff5;transition:border-color .12s,box-shadow .12s;position:absolute;inset:0 auto 0 0;box-shadow:0 0 0 1px #1b1e1d33}.probability-meter:hover .probability-threshold-marker,.probability-meter.is-dragging-threshold .probability-threshold-marker,.probability-threshold-marker:focus-visible{border-left-color:#fff;outline:none;box-shadow:0 0 0 1px #1b1e1d3d,0 0 0 4px #22817e2e}.probability-threshold-label{color:var(--ink);letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;pointer-events:none;background:#fffbf5eb;border:1px solid #1b1e1d1a;border-radius:999px;padding:3px 7px;font-size:.68rem;line-height:1;display:inline-flex;position:absolute;top:8px;box-shadow:0 10px 24px #412d1a14}.probability-threshold-label.align-right{left:10px}.probability-threshold-label.align-left{right:10px}.probability-copy{z-index:2;flex-direction:column;justify-content:center;gap:3px;height:100%;padding:15px 18px;display:flex;position:relative}.probability-copy strong{font-size:clamp(1.75rem,4.4vw,2.55rem);line-height:1}.stat-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin-top:11px;display:grid}.stat-grid div,.contribution-chip{background:#ffffff73;border:1px solid #1b1e1d14;border-radius:14px;padding:10px 12px}.info-card{position:relative}.info-card:after{content:attr(data-tooltip);opacity:0;pointer-events:none;color:#fff;text-transform:none;letter-spacing:normal;z-index:2;background:#1b1e1df5;border-radius:12px;padding:10px 12px;font-size:.78rem;line-height:1.45;transition:opacity .12s,transform .12s;position:absolute;bottom:calc(100% + 8px);left:14px;right:14px;transform:translateY(4px);box-shadow:0 12px 30px #1b1e1d2e}.info-card:hover:after,.info-card:focus-visible:after{opacity:1;transform:translateY(0)}.info-card:focus-visible{outline-offset:3px;outline:2px solid #22817e73}.stat-grid strong,.contribution-chip strong{margin-top:5px;font-size:1.14rem;display:block}.stat-grid small{color:var(--muted);margin-top:3px;font-size:.74rem;line-height:1.2;display:block}.contribution-panel-shell{flex-direction:column;align-items:center;width:100%;display:flex}.contribution-panel{width:100%;max-width:100%;transition:width .18s}.contribution-chart-shell{margin-top:0}.contribution-chart-copy{color:var(--muted);max-width:82ch;line-height:1.45}.contribution-chart-frame,.radial-shell{position:relative}.contribution-chart{background:#ffffff75;border:1px solid #1b1e1d14;border-radius:20px;width:100%;height:auto;margin-top:14px;display:block}.chart-gridline{stroke:#1b1e1d14;stroke-width:1px}.chart-baseline{stroke:#1b1e1d9e;stroke-width:1.2px}.chart-tick-mark{stroke:#1b1e1d47;stroke-width:1px}.chart-axis-label{fill:var(--muted);font-size:12px;font-family:var(--mono)}.chart-bar{cursor:pointer;transform-box:fill-box;transform-origin:50%;transition:opacity .12s,transform .12s}.chart-bar.active,.chart-bar:focus-visible{opacity:1;transform:scaleX(1.02)}.chart-bar:focus-visible{outline:none}.radial-panel-shell{flex-direction:column;align-items:center;width:100%;display:flex}.radial-panel{width:100%;max-width:100%;transition:width .18s,min-height .18s}.ensemble-cube-panel{flex-direction:column;gap:12px;display:flex}.ensemble-cube-header{align-items:center;margin-bottom:0}.ensemble-cube-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.ensemble-cube-layer-toggles{background:#1b1e1d0f;border-radius:999px;align-items:center;gap:5px;padding:4px;display:inline-flex}.ensemble-cube-layer-toggle{color:var(--muted);cursor:pointer;font-size:.66rem;font-family:var(--mono);letter-spacing:.06em;text-transform:uppercase;background:0 0;border:1px solid #0000;border-radius:999px;padding:7px 10px;transition:background .16s,border-color .16s,color .16s,opacity .16s}.ensemble-cube-layer-toggle.active{color:var(--ink);background:#ffffffd6;border-color:#1b1e1d14;box-shadow:0 8px 20px #412d1a0f}.ensemble-cube-layer-toggle:not(.active){opacity:.58}.ensemble-cube-select-label{color:var(--muted);font-size:.72rem;font-family:var(--mono);text-transform:uppercase;letter-spacing:.08em;align-items:center;gap:8px;display:inline-flex}.ensemble-cube-select-label select{border:1px solid var(--line);min-width:94px;color:var(--ink);background:#ffffffb3;border-radius:999px;padding:8px 12px}.ensemble-cube-reset{font-size:.74rem;font-family:var(--mono);text-transform:uppercase;letter-spacing:.08em;margin-top:0;padding:8px 12px}.ensemble-cube-layout{grid-template-columns:minmax(0,1fr) minmax(260px,340px);gap:16px;min-height:540px;display:grid}.ensemble-cube-stage{background:linear-gradient(#ffffffbd,#ffffff57),radial-gradient(circle at 18% 14%,#22817e24,#0000 34%),radial-gradient(circle at 82% 78%,#d957361f,#0000 36%);border:1px solid #1b1e1d14;border-radius:22px;min-height:540px;position:relative;overflow:hidden}.ensemble-cube-stage canvas{display:block}.ensemble-cube-tooltip{z-index:12;pointer-events:none;color:#fff;max-width:280px;font-size:.78rem;font-family:var(--mono);background:#1b1e1df0;border-radius:12px;gap:3px;padding:9px 11px;display:grid;position:fixed;box-shadow:0 12px 30px #1b1e1d38}.ensemble-cube-tooltip span{opacity:.86}.ensemble-cube-details{flex-direction:column;gap:12px;min-height:0;display:flex}.ensemble-cube-annotations,.ensemble-cube-cell-card,.ensemble-cube-empty-detail{background:#ffffff7a;border:1px solid #1b1e1d14}.ensemble-cube-annotations{color:var(--muted);border-radius:18px;gap:8px;padding:13px 14px;font-size:.78rem;line-height:1.25;display:grid}.ensemble-cube-legend-row{align-items:center;gap:8px;display:inline-flex}.ensemble-cube-color-legend{max-width:190px;color:var(--muted);gap:5px;display:grid}.ensemble-cube-color-scale{background:linear-gradient(90deg,#9dbdcf,#236a92);border:1px solid #1b1e1d14;border-radius:999px;width:100%;height:9px}.ensemble-cube-color-labels{font-size:.66rem;font-family:var(--mono);letter-spacing:.05em;text-transform:uppercase;justify-content:space-between;display:flex}.ensemble-cube-legend-swatch{border-radius:999px;flex:none;width:16px;height:8px}.ensemble-cube-legend-swatch.cube{background:#236a92}.ensemble-cube-legend-swatch.positive{background:#2e9f62}.ensemble-cube-legend-swatch.negative{background:#c94b47}.ensemble-cube-outline-swatch{background:#236a924d;border:2px solid #050505;flex:none;width:14px;height:14px}.ensemble-cube-cell-card{border-radius:18px;gap:14px;min-height:0;padding:16px;display:grid}.ensemble-cube-cell-card h3{overflow-wrap:anywhere;margin:4px 0 0;font-size:1rem;line-height:1.12}.ensemble-cube-cell-card dl{gap:8px;margin:0;display:grid}.ensemble-cube-cell-card dl div{grid-template-columns:94px minmax(0,1fr);align-items:baseline;gap:10px;display:grid}.ensemble-cube-cell-card dt{color:var(--muted);font-size:.7rem;font-family:var(--mono);text-transform:uppercase;letter-spacing:.08em}.ensemble-cube-cell-card dd{min-width:0;color:var(--ink);overflow-wrap:anywhere;margin:0;font-size:.86rem;line-height:1.25}.radial-svg-stage{justify-content:center;align-items:center;display:flex}.radial-svg{aspect-ratio:1;background:radial-gradient(circle,#ffffffe6,#f0ebe26b);border-radius:24px;width:100%;transition:background .18s;display:block}.radial-shell.dark .radial-svg{background:radial-gradient(circle,#1c1c1ce6,#000)}.radial-mode-toggle{z-index:4;position:absolute}.gauge-track{fill:none;stroke-width:8px;stroke-linecap:round}.gauge-needle{transition:transform .28s}.gauge-value{font-size:.95rem;font-family:var(--mono)}.floating-gauge-panel{z-index:5;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);-webkit-user-select:none;user-select:none;border:1px solid #1b1e1d14;border-radius:18px;flex-direction:column;align-items:center;gap:6px;width:126px;padding:8px 10px 11px;display:flex;position:absolute}.floating-gauge-panel.dragging{cursor:grabbing}.feature-importance-shell{z-index:8;pointer-events:none;background:#1b1e1d00;transition:background .18s;position:fixed;inset:0}.feature-importance-shell.open{pointer-events:auto;background:#1b1e1d24}.feature-importance-panel{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#fffbf5f0;border-left:1px solid #1b1e1d14;grid-template-rows:auto auto 1fr;gap:14px;width:min(380px,92vw);height:100%;padding:22px 20px 20px;transition:transform .22s;display:grid;position:absolute;top:0;right:0;transform:translate(100%);box-shadow:-18px 0 50px #412d1a29}.feature-importance-panel.open{transform:translate(0)}.feature-importance-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.feature-importance-title-group{gap:4px;display:grid}.feature-importance-subtitle{color:var(--muted);font-size:.78rem;line-height:1.2}.feature-importance-close{width:34px;height:34px;color:var(--ink);cursor:pointer;background:#ffffff94;border:1px solid #1b1e1d1f;border-radius:999px;font-size:1.2rem;line-height:1}.feature-importance-mode-toggle{background:#1b1e1d0f;border-radius:999px;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;width:fit-content;padding:4px;display:inline-grid}.feature-importance-mode-toggle button{color:var(--muted);cursor:pointer;font-size:.72rem;font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;background:0 0;border:0;border-radius:999px;padding:8px 12px}.feature-importance-mode-toggle button.active{color:var(--ink);background:#ffffffeb;box-shadow:0 8px 20px #412d1a14}.feature-importance-chart{min-height:0;padding-right:4px;overflow:auto}.feature-importance-row{border-top:1px solid #1b1e1d0f;gap:8px;padding:10px 0;display:grid}.feature-importance-row:first-child{border-top:0}.feature-importance-row-header{grid-template-columns:minmax(0,1fr) auto;align-items:baseline;gap:10px;display:grid}.feature-importance-name{text-overflow:ellipsis;white-space:nowrap;font-size:.86rem;overflow:hidden}.feature-importance-value{font-size:.8rem;font-family:var(--mono);color:var(--muted)}.feature-importance-bar-track{background:#1b1e1d12;border-radius:999px;height:10px;position:relative;overflow:hidden}.feature-importance-bar-track.local{background:linear-gradient(90deg,#22817e14 0 50%,#d9573614 50% 100%)}.feature-importance-zero-line{background:#1b1e1d2e;width:1px;position:absolute;top:0;bottom:0;left:50%}.feature-importance-bar{border-radius:999px;position:absolute;top:0;bottom:0}.feature-importance-bar.global{background:linear-gradient(90deg, var(--cool), var(--accent));left:0}.feature-importance-bar.local.positive{background:#d95736e0}.feature-importance-bar.local.negative{background:#22817ee0}.floating-gauge-handle{cursor:grab;background:0 0;border:0;justify-content:center;gap:3px;width:100%;padding:2px 0 3px;display:flex}.floating-gauge-handle span{opacity:.9;border-radius:999px;width:14px;height:3px}.floating-radial-gauge{width:90px;height:90px}.floating-gauge-label{font-size:.62rem;font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase}.floating-feature-importance-toggle{width:100%;color:var(--ink);cursor:pointer;font-size:.62rem;font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;background:#ffffff8f;border:1px solid #1b1e1d1f;border-radius:999px;padding:7px 10px;transition:background .16s,transform .16s,border-color .16s}.floating-feature-importance-toggle:hover{background:#ffffffbd;transform:translateY(-1px)}.radial-mode-toggle{color:var(--ink);cursor:pointer;font-size:.74rem;font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;background:#fffbf5d1;border:1px solid #1b1e1d1f;border-radius:999px;padding:8px 12px;transition:background .16s,color .16s,border-color .16s;top:16px;right:16px}.radial-shell.dark .radial-mode-toggle{color:#fff;background:#141414db;border-color:#ffffff24}.radial-scale-control{grid-template-columns:auto 1fr auto;align-items:center;gap:12px;max-width:100%;margin-top:14px;transition:width .18s;display:grid}.radial-scale-label,.radial-scale-value{font-size:.72rem;font-family:var(--mono);text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.radial-shell.dark .radial-scale-label,.radial-shell.dark .radial-scale-value{color:#ffffffd1}.radial-scale-slider{width:100%;accent-color:var(--accent)}.sector-fill{fill:#ffffff47;stroke:#1b1e1d0a}.sector-fill.active{fill:#fff6;stroke:#1b1e1d1f}.sector-fill,.tree-index-label,.chart-bar{cursor:pointer}.edge-line{stroke:#1b1e1d33;stroke-width:1.4px}.edge-line.counterfactual{stroke:#f0f;stroke-linecap:round}.selected-tree-star{cursor:pointer;font-size:18px;font-family:var(--mono);opacity:.72;paint-order:stroke;stroke:#ffffffd9;stroke-width:3px}.selected-tree-panel{grid-template-rows:auto 1fr auto;gap:10px;height:470px;min-height:470px;display:grid;overflow:hidden}.path-panel{grid-template-rows:auto auto auto;gap:8px;padding-top:14px;padding-bottom:14px;display:grid}.path-panel h2{font-size:.95rem}.path-section{flex-direction:column;gap:4px;min-width:0;display:flex}.path-section-label{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:.68rem;font-weight:700;line-height:1}.path-panel-content{white-space:nowrap;color:var(--muted);font-size:.82rem;line-height:1.25;font-family:var(--mono);scrollbar-width:thin;background:#ffffff75;border:1px solid #1b1e1d14;border-radius:14px;padding:8px 12px;overflow:auto hidden}.path-condition strong{color:var(--ink);font-weight:800}.path-separator{color:var(--muted)}.selected-tree-summary{text-align:right;flex-direction:column;align-items:flex-end;gap:3px;display:flex}.selected-tree-header-controls{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:12px;display:flex}.selected-tree-select-label{color:var(--muted);font-size:.72rem;font-family:var(--mono);text-transform:uppercase;letter-spacing:.08em;align-items:center;gap:8px;display:inline-flex}.selected-tree-select-label select{border:1px solid var(--line);min-width:112px;color:var(--ink);background:#ffffffb3;border-radius:999px;padding:8px 12px}.selected-tree-summary strong{font-size:1rem}.selected-tree-summary span{color:var(--muted);font-size:.82rem}.selected-tree-workspace{grid-template-columns:minmax(0,1fr) 28px;align-items:stretch;gap:8px;min-height:0;display:grid}.selected-tree-shell{background:#ffffff80;border:1px solid #1b1e1d14;border-radius:22px;align-items:stretch;min-height:0;display:flex;overflow:hidden}.selected-tree-svg{cursor:grab;-webkit-user-select:none;user-select:none;width:100%;height:100%;min-height:0;display:block}.selected-tree-svg.dragging{cursor:grabbing}.selected-tree-drag-surface{fill:#0000}.selected-tree-controls{z-index:1;grid-template-columns:1fr;gap:8px;min-height:34px;display:grid;position:relative}.selected-tree-control{background:#ffffff80;border:1px solid #1b1e1d14;border-radius:16px;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;padding:10px 12px;display:grid}.selected-tree-control.compact{min-height:34px;padding:6px 10px}.selected-tree-control span,.selected-tree-control strong{color:var(--muted);font-size:.78rem;font-family:var(--mono);text-transform:uppercase;letter-spacing:.06em}.selected-tree-control input{width:100%;min-width:0;height:14px;accent-color:var(--accent);display:block}.selected-tree-side-control{background:#ffffff80;border:1px solid #1b1e1d14;border-radius:16px;justify-content:center;align-items:center;padding:8px 0;display:flex;overflow:hidden}.selected-tree-side-control input{width:260px;height:14px;accent-color:var(--accent);transform-origin:50%;margin:0;transform:rotate(-90deg)}.detail-edge{stroke:#1b1e1d2e;stroke-width:2px}.detail-edge.counterfactual{stroke:#f0f;stroke-width:3px;stroke-linecap:round}.detail-edge.active{stroke:var(--accent);stroke-width:4px}.detail-node{fill:#1b1e1d2e;stroke:#ffffffe0;stroke-width:2.5px}.detail-node.active{fill:var(--ink)}.detail-leaf{fill:#1b1e1d4d;stroke:#ffffffe6;stroke-width:2px}.detail-leaf.active{fill:var(--cool);stroke:#22817e40;stroke-width:4px}.detail-node-label,.detail-threshold-label,.detail-leaf-label{fill:var(--ink);font-size:12px}.detail-node-label{font-weight:600}.detail-threshold-label,.detail-leaf-label{fill:var(--muted)}.edge-line.active{stroke:#111;stroke-width:1.4px}.tree-node{fill:#1b1e1d2e}.tree-node.active{fill:#1b1e1de6}.shared-root-node{fill:#111;stroke:#fffffff2;stroke-width:1.8px}.tree-leaf{fill:#1b1e1d4d}.tree-leaf.active{stroke:#fff;stroke-width:1.5px}.tree-index-label{fill:var(--muted);font-size:16px;font-family:var(--mono);pointer-events:none}.chart-tooltip,.radial-tooltip{z-index:10;pointer-events:none;color:#fff;font-size:.8rem;font-family:var(--mono);background:#1b1e1deb;border-radius:10px;padding:8px 10px;position:fixed;box-shadow:0 12px 30px #1b1e1d38}.table-shell{background:#ffffff6b;border:1px solid #1b1e1d14;border-radius:18px;height:clamp(220px,28vh,320px);min-height:0;overflow:auto}table{border-collapse:collapse;width:100%}th,td{text-align:left;border-bottom:1px solid #1b1e1d14;padding:12px 14px}tbody tr{cursor:pointer;transition:background .12s}tbody tr:hover{background:#22817e14}tbody tr.selected{background:#d957361f}.empty-state{color:var(--muted);border:1px dashed #1b1e1d29;border-radius:18px;padding:24px}.error-banner{color:#7f2d1c;background:#d9573624;border:1px solid #d9573642;border-radius:18px;padding:14px 16px}.status-bar{justify-content:space-between;gap:16px;padding:6px 8px 14px;display:flex}@media (width<=1180px){.app-shell{grid-template-columns:1fr;height:auto;min-height:100vh;overflow:visible}.upload-grid{grid-template-columns:1fr}.feature-list{max-height:none}.sidebar,.main-stage{overflow:visible}.floating-gauge-panel{z-index:4}.ensemble-cube-layout{grid-template-columns:1fr}.ensemble-cube-stage{min-height:460px}}@media (width<=720px){.app-shell{padding:12px}.feature-row{grid-template-columns:1fr}.numeric-feature-row .feature-control{grid-area:auto/1;grid-template-columns:minmax(0,1fr) auto}.numeric-feature-row .feature-missing-toggle{grid-area:auto/1;justify-self:end}.panel-header,.status-bar{flex-direction:column;align-items:flex-start}.ensemble-cube-actions{align-items:stretch;width:100%}.ensemble-cube-layer-toggles{border-radius:16px;flex-wrap:wrap}.ensemble-cube-layer-toggle{flex:130px}.ensemble-cube-select-label,.ensemble-cube-select-label select,.ensemble-cube-reset{flex:1}.ensemble-cube-layout,.ensemble-cube-stage{min-height:390px}.counterfactual-actions{flex-wrap:wrap;align-items:flex-start}.counterfactual-buttons{margin-left:auto}.selected-tree-summary{text-align:left;align-items:flex-start}.selected-tree-panel{height:400px;min-height:400px}.selected-tree-workspace{grid-template-columns:minmax(0,1fr) 24px;gap:6px}.selected-tree-shell,.selected-tree-svg{min-height:0}.selected-tree-controls{min-height:34px}.stat-grid{grid-template-columns:1fr}}
