.cards{outline:none;flex-direction:column;flex:1;min-height:0;display:flex}.cards-bar{border-bottom:1px solid var(--border);background:var(--surface-2);font-variant-numeric:tabular-nums;align-items:center;gap:6px;padding:6px 8px;display:flex}.cards-pos{text-align:right;width:4.5em}.cards-select{margin-left:auto}.cards-select[aria-pressed=true]{background:var(--select);border-color:var(--accent)}.cards-card{background:var(--surface);flex:1;padding:6px 8px;overflow:auto}.cards-card.selected{background:var(--select)}.cards-row{align-items:center;gap:6px;padding:2px 0;display:flex}.cards-name{text-overflow:ellipsis;white-space:nowrap;flex:0 40%;min-width:0;font-weight:600;overflow:hidden}.cards-row input{flex:1;min-width:0}.cards-row input.numeric{text-align:right}.cards-note{color:var(--fg-muted);margin:12px}.cards-row .badge{color:var(--fg-muted);border:1px solid var(--border);border-radius:4px;padding:0 3px;font-size:10px;line-height:14px}.cards-value.computed{color:var(--fg-muted);flex:1}.plot{outline:none;flex-direction:column;flex:1;min-width:0;display:flex}.plot-stage{touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;flex:1;min-height:0;position:relative}.plot-stage canvas,.plot-stage svg{position:absolute;inset:0}.plot-stage svg{pointer-events:none;overflow:visible}.plot-stage .divider{stroke:var(--border);stroke-width:1px}.plot-stage .axis-line{stroke:var(--fg-muted);stroke-width:1px}.plot-stage text{fill:var(--fg-muted);font-size:12px}.plot-stage text.axis-title{fill:var(--fg);font-weight:600}.plot-hint{color:var(--fg-muted);background:var(--surface-2);pointer-events:none;border-radius:4px;padding:2px 8px;font-size:12px;position:absolute;top:8px;left:50%;transform:translate(-50%)}.plot-legend{border-top:1px solid var(--border);color:var(--fg-muted);flex-wrap:wrap;align-items:center;gap:4px 12px;padding:6px 10px;font-size:12px;display:flex}.plot-legend strong{color:var(--fg)}.plot-legend .swatch{vertical-align:-1px;width:10px;height:10px;box-shadow:0 0 0 1px var(--fg-muted);border-radius:50%;margin-right:4px;display:inline-block}.plot-legend .ramp{vertical-align:-1px;border-radius:5px;width:80px;height:10px;display:inline-block}.plot-tools{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:4px;padding:4px 8px;font-size:12px;display:flex}.plot-tools button{padding:1px 8px;font-size:12px}.plot-tools button[aria-pressed=true]{background:var(--accent-soft);border-color:var(--accent)}.plot-tools input.num{width:5ch;font:inherit;color:var(--fg);background:var(--surface);border:1px solid var(--border);text-align:right;border-radius:6px;padding:1px 4px;font-size:12px}.plot-tools .sep{background:var(--border);align-self:stretch;width:1px;margin:0 4px}.plot-tools select{font:inherit;color:var(--fg);background:var(--surface);border:1px solid var(--border);border-radius:6px;font-size:12px}.plot-stage .stat-mark{fill:var(--fg);stroke:var(--surface);stroke-width:1px}.plot-stage .stat-mark.median{fill:none;stroke:var(--fg);stroke-width:2px}.plot-stage text.stat-value,.plot-stage text.stat-count{fill:var(--fg);font-variant-numeric:tabular-nums;paint-order:stroke;stroke:var(--surface);stroke-width:3px;font-size:12px}.plot-stage .box-plot line,.plot-stage .box-plot rect{stroke:var(--fg);stroke-width:1.5px}.plot-stage .box-plot rect{fill:color-mix(in srgb, var(--surface) 80%, transparent)}.plot-stage{--stat-mean:#1f2328;--stat-median:#8a3ffc;--stat-mode:#b45309;--stat-midrange:#0e7490}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .plot-stage{--stat-mean:#f0f3f6;--stat-median:#be95ff;--stat-mode:#f59e0b;--stat-midrange:#22d3ee}}:root[data-theme=dark] .plot-stage{--stat-mean:#f0f3f6;--stat-median:#be95ff;--stat-mode:#f59e0b;--stat-midrange:#22d3ee}.plot-stage .stat-mark.mean{fill:var(--stat-mean)}.plot-stage .stat-mark.mode{fill:var(--stat-mode)}.plot-stage .stat-mark.midrange{fill:var(--stat-midrange)}.plot-stage .stat-mark.median{stroke:var(--stat-median)}.plot-stage text.stat-value.mean{fill:var(--stat-mean)}.plot-stage text.stat-value.median{fill:var(--stat-median)}.plot-stage text.stat-value.mode{fill:var(--stat-mode)}.plot-stage text.stat-value.midrange{fill:var(--stat-midrange)}.plot-stage .stat-pick{pointer-events:all;cursor:pointer}.plot-stage tspan.stat-pick:hover{text-decoration:underline}@media (hover:none){.plot-stage tspan.stat-pick:not(.selected){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}}.plot-stage tspan.stat-pick.selected{fill:var(--accent);font-weight:700;text-decoration:underline}.plot-stage path.stat-pick:hover{stroke:var(--accent)}.plot-stage path.stat-pick.selected{stroke:var(--accent);stroke-width:2.5px}.sampler{flex-direction:column;flex:1;min-width:0;display:flex;overflow:auto}.sampler-bar{border-bottom:1px solid var(--border);background:var(--surface-2);flex-wrap:wrap;align-items:center;gap:8px;padding:8px 10px;display:flex}.sampler-bar label,.sampler-options label{color:var(--fg-muted);align-items:center;gap:6px;font-size:12px;display:inline-flex}.sampler-bar button.primary{background:var(--accent);border-color:var(--accent);color:#fff}.sampler-bar .progress{font-variant-numeric:tabular-nums;color:var(--fg-muted);font-size:12px}.sampler input.num{text-align:right;width:7ch}.sampler-device{border:0;min-width:0;margin:0;padding:10px}.sampler-options{flex-wrap:wrap;gap:10px;display:flex}.sampler .hint{color:var(--fg-muted);margin:8px 0 0;font-size:12px}.spinner-dial{width:120px;height:120px;margin:10px auto 4px;display:block}.elements{flex-wrap:wrap;gap:6px;margin:10px 0 0;padding:0;list-style:none;display:flex}.elements .ball{border:1px solid var(--border);background:var(--surface-2);border-radius:999px;align-items:center;gap:2px;padding:2px 2px 2px 6px;display:inline-flex}.elements .ball input{text-align:center;background:0 0;border:0;width:6ch}.elements .wedge{flex-basis:100%;align-items:center;gap:6px;display:flex}.elements .wedge .percent{text-align:right;font-variant-numeric:tabular-nums;width:4ch;color:var(--fg-muted)}.formula-dialog{width:min(640px,100vw - 32px);max-height:calc(94vh - 32px);color:var(--fg);background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:8px;margin:6vh auto auto;padding:16px;overflow:auto}.formula-dialog::backdrop{background:#00000059}.formula-dialog h2{margin:0 0 12px;font-size:16px}.formula-dialog h3{color:var(--fg-muted);text-transform:uppercase;letter-spacing:.04em;margin:12px 0 6px;font-size:12px;font-weight:600}.fe-field{position:relative}.fe-mirror,.fe-field textarea{letter-spacing:normal;white-space:pre-wrap;overflow-wrap:anywhere;border:1px solid var(--border);border-radius:6px;width:100%;margin:0;padding:8px;font:14px/1.5 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;display:block}.fe-mirror{color:#0000;pointer-events:none;border-color:#0000;position:absolute;inset:0;overflow:hidden}.fe-mirror mark{color:#0000;-webkit-text-decoration:underline wavy var(--danger);text-decoration:underline wavy var(--danger);text-underline-offset:3px;background:0 0;text-decoration-thickness:2px}.fe-field textarea{resize:none;color:var(--fg);background:0 0;position:relative;overflow:hidden}.fe-field textarea[aria-invalid=true]{border-color:var(--danger)}.fe-message{flex-wrap:wrap;align-items:center;gap:8px;min-height:24px;margin-top:6px;display:flex}.fe-error{color:var(--danger);margin:0;font-size:13px}.fe-suggest{font-size:12px}.fe-palette{grid-template-columns:1fr 1fr;gap:0 16px;display:grid}@media (width<=560px){.fe-palette{grid-template-columns:1fr}}.fe-chips{flex-wrap:wrap;gap:4px;display:flex}.fe-chip{min-height:32px;padding:2px 8px;font-size:13px}.fe-group{flex-wrap:wrap;align-items:center;gap:4px 8px;margin-bottom:4px;display:flex}.fe-group-title{min-width:64px;color:var(--fg-muted);font-size:12px}.fe-help{min-height:2.8em;color:var(--fg-muted);margin:6px 0 0;font-size:12px}.fe-preview{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%}.fe-preview th,.fe-preview td{text-align:left;border-bottom:1px solid var(--border);padding:2px 8px}.fe-preview th:first-child,.fe-preview td:first-child{width:64px;color:var(--fg-muted)}.fe-preview em,.fe-warning{color:var(--fg-muted)}.fe-count{color:var(--fg-muted);margin:6px 0 0;font-size:12px}.fe-buttons{align-items:center;gap:8px;margin-top:16px;display:flex}.fe-spacer{flex:1}.fe-buttons button{min-height:32px}.fe-remove{color:var(--danger)}.table-scroll{font-variant-numeric:tabular-nums;outline:none;flex:1;position:relative;overflow:auto}.table-grid{position:relative}.t-row{height:var(--row-h);display:flex;position:absolute;left:0}.t-head{z-index:2;height:calc(var(--row-h) + 4px);background:var(--surface-2);border-bottom:1px solid var(--border);position:sticky;top:0}.t-cell{width:var(--col-w);line-height:var(--row-h);border-right:1px solid var(--border);border-bottom:1px solid var(--border);white-space:nowrap;text-overflow:ellipsis;background:var(--surface);flex:none;padding:0 8px;overflow:hidden}.t-num{text-align:right;width:52px;color:var(--fg-muted);background:var(--surface-2);cursor:pointer;-webkit-user-select:none;user-select:none;z-index:1;position:sticky;left:0}.t-row.selected .t-cell{background:var(--select)}.t-cell.focused{box-shadow:inset 0 0 0 2px var(--accent)}.t-cell.numeric{text-align:right}.t-cell.missing{color:var(--fg-muted)}.t-new .t-cell{background:var(--surface-2);color:var(--fg-muted);font-style:italic}.t-header{font-weight:600;line-height:calc(var(--row-h) + 3px);background:var(--surface-2);align-items:center;gap:6px;display:flex}.t-header.key{background:var(--accent-soft);box-shadow:inset 0 -2px 0 var(--accent)}.t-header{cursor:pointer}.t-header .name{text-overflow:ellipsis;flex:1;overflow:hidden}.t-header .badge{color:var(--fg-muted);border:1px solid var(--border);border-radius:4px;padding:0 3px;font-size:10px;font-weight:500;line-height:14px}.t-header .menu-btn{color:var(--fg-muted);background:0 0;border:none;padding:0 4px}.t-add{text-align:center;cursor:pointer;width:40px;font-weight:600}.t-cell input{width:100%;height:calc(var(--row-h) - 4px);font:inherit;color:var(--fg);background:var(--surface);border:1px solid var(--accent);border-radius:3px;padding:0 4px}.t-cell input[aria-invalid=true]{border-color:var(--danger)}.t-menu{z-index:10;background:var(--surface);border:1px solid var(--border);min-width:180px;box-shadow:var(--shadow);border-radius:6px;flex-direction:column;padding:4px;display:flex;position:absolute}.t-menu button{text-align:left;border:none;border-radius:4px}.t-menu hr{border:none;border-top:1px solid var(--border);margin:4px 0}.t-error{z-index:11;background:var(--danger);color:#fff;white-space:nowrap;border-radius:4px;padding:2px 6px;font-size:12px;position:absolute}.t-header .fx{color:var(--accent);border:1px solid var(--accent);background:0 0;border-radius:4px;padding:0 4px;font-size:10px;font-style:italic;font-weight:600;line-height:14px}.t-header .fx.broken{color:var(--danger);border-color:var(--danger)}.t-cell.computed{color:var(--fg-muted);cursor:default}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--bg:#f4f5f7;--surface:#fff;--surface-2:#f0f2f5;--fg:#1d1f23;--fg-muted:#5f6672;--border:#d5d9e0;--accent:#2f6fde;--accent-soft:#dbe7fb;--select:#fff3b0;--danger:#c23a3a;--shadow:0 4px 16px #0000001f;font-family:system-ui,-apple-system,Segoe UI,sans-serif;font-size:14px}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}:root:not([data-theme=light]){--bg:#15171a;--surface:#1e2125;--surface-2:#262a30;--fg:#e8eaed;--fg-muted:#9aa1ab;--border:#363b43;--accent:#6c9cff;--accent-soft:#273752;--select:#4a4320;--danger:#ff7b7b;--shadow:0 4px 16px #00000080}}:root[data-theme=dark]{--bg:#15171a;--surface:#1e2125;--surface-2:#262a30;--fg:#e8eaed;--fg-muted:#9aa1ab;--border:#363b43;--accent:#6c9cff;--accent-soft:#273752;--select:#4a4320;--danger:#ff7b7b;--shadow:0 4px 16px #00000080}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--fg)}button{font:inherit;color:inherit;background:var(--surface);border:1px solid var(--border);cursor:pointer;border-radius:6px;padding:4px 10px}button:hover:not(:disabled){background:var(--surface-2)}button:disabled{opacity:.5;cursor:default}:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.app{flex-direction:column;height:100%;display:flex}.toolbar{background:var(--surface);border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:8px;padding:8px 12px;display:flex}.toolbar .brand{margin-right:12px;font-weight:650}.toolbar .spacer{flex:1}.toolbar .doc-name{text-overflow:ellipsis;white-space:nowrap;max-width:24ch;color:var(--fg-muted);margin-right:8px;overflow:hidden}.toolbar .sep{background:var(--border);align-self:stretch;width:1px;margin:0 4px}.add-objects{align-items:center;gap:6px;display:flex}.add-objects>span{color:var(--fg-muted);font-size:12px}.recovery{background:var(--accent-soft);border-bottom:1px solid var(--border);align-items:center;gap:8px;padding:6px 12px;font-size:14px;display:flex}.status{color:var(--fg-muted);font-size:13px}.status.error{color:var(--danger)}.workspace{flex:1;position:relative;overflow:auto}.workspace.dragging{outline:3px dashed var(--accent);outline-offset:-8px}.empty-state{text-align:center;max-width:28rem;color:var(--fg-muted);margin:12vh auto 0;padding:0 16px;line-height:1.5}.empty-state h1{color:var(--fg);font-size:1.4rem}.window{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:8px;flex-direction:column;min-width:220px;min-height:140px;display:flex;position:absolute;overflow:hidden}.window-title{background:var(--surface-2);border-bottom:1px solid var(--border);cursor:grab;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;touch-action:none;align-items:center;gap:6px;padding:4px 6px 4px 10px;display:flex}.window:focus-visible{outline:2px solid var(--accent);outline-offset:0}.window-title h2{text-overflow:ellipsis;white-space:nowrap;flex:1;margin:0;font-size:13px;font-weight:600;overflow:hidden}.window-title button{padding:1px 8px;font-size:12px}.window-title button[aria-pressed=true]{background:var(--accent-soft);border-color:var(--accent)}.window-body{flex:1;min-height:0;display:flex}.window-resize{cursor:nwse-resize;touch-action:none;background:linear-gradient(135deg, transparent 50%, var(--border) 50%);width:16px;height:16px;position:absolute;bottom:0;right:0}@media (pointer:coarse){.toolbar button,.window-title button,.sampler button,.plot-tools button{min-width:40px;min-height:40px}.window-title{padding:4px 6px 4px 12px}.window-title button{font-size:13px}.window-resize{width:32px;height:32px}.sampler input,.sampler select{min-height:40px;font-size:16px}.sampler input.num{width:8ch}.elements .ball{padding:2px 4px 2px 10px}}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}
