@font-face{font-family:Spectral;font-style:normal;font-weight:400;font-display:swap;src:url(fonts/Spectral-400.woff2) format("woff2")}@font-face{font-family:Spectral;font-style:normal;font-weight:500;font-display:swap;src:url(fonts/Spectral-500.woff2) format("woff2")}@font-face{font-family:Spectral;font-style:normal;font-weight:600;font-display:swap;src:url(fonts/Spectral-600.woff2) format("woff2")}@font-face{font-family:Spectral;font-style:normal;font-weight:700;font-display:swap;src:url(fonts/Spectral-700.woff2) format("woff2")}@font-face{font-family:Public Sans;font-style:normal;font-weight:400;font-display:swap;src:url(fonts/PublicSans-400.woff2) format("woff2")}@font-face{font-family:Public Sans;font-style:normal;font-weight:500;font-display:swap;src:url(fonts/PublicSans-500.woff2) format("woff2")}@font-face{font-family:Public Sans;font-style:normal;font-weight:600;font-display:swap;src:url(fonts/PublicSans-600.woff2) format("woff2")}@font-face{font-family:Public Sans;font-style:normal;font-weight:700;font-display:swap;src:url(fonts/PublicSans-700.woff2) format("woff2")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(fonts/IBMPlexMono-400.woff2) format("woff2")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(fonts/IBMPlexMono-500.woff2) format("woff2")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(fonts/IBMPlexMono-600.woff2) format("woff2")}:root{color-scheme:light;--bg: #f8f7fc;--panel: #ffffff;--panel-border: #e5e3f2;--surface-2: #f1effb;--surface-3: #e9e6f7;--surface-4: #d8d3ef;--surface-well: #f1effb;--surface-code: #f1effb;--btn-bg: #f1effb;--accent-tint: #efe9ff;--canvas-dot: #e5e3f2;--text: #1a1a2e;--muted: #68687f;--accent: #5b3df5;--accent-2: #c94a1a;--on-accent: #ffffff;--on-accent-2: #ffffff;--ok: #157a45;--bad: #cc2b2b;--running: #c94a1a;--on-running: #ffffff;--node-hue-math: #6d28d9;--node-hue-data: #0369a1;--node-hue-uncertainty: #475569;--node-hue-rl: #a21caf;--chart-series-1: #0e7c86;--chart-series-2: #a6790a;--chart-series-3: #2f5fdb;--chart-series-4: #b5386b;--chart-series-5: #5d8a1f;--chart-series-6: #7a4fd0;--chart-grid: var(--panel-border);--chart-ink: var(--text);--chart-ink-muted: var(--muted);--shadow-sm: 0 1px 2px rgba(26, 26, 46, .05), 0 1px 1px rgba(26, 26, 46, .04);--shadow-md: 0 4px 10px rgba(26, 26, 46, .08), 0 2px 4px rgba(26, 26, 46, .05);--focus-ring: 0 0 0 3px color-mix(in srgb, var(--accent) 35%, transparent);--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--text-xs: 11px;--text-sm: 12.5px;--text-md: 14px;--text-lg: 16px;--text-xl: 20px;--text-2xl: 27px;--cell-bracket: var(--panel-border);--font-display: "Public Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-sans: "Public Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono: "IBM Plex Mono", ui-monospace, "SF Mono", Consolas, monospace}:root[data-theme=dark]{color-scheme:dark;--bg: #0b0f10;--panel: #12181a;--panel-border: #263030;--surface-2: #182320;--surface-3: #1e2a26;--surface-4: #2a3a34;--surface-well: #0e1414;--surface-code: #0e1414;--btn-bg: #1a2223;--accent-tint: #182320;--canvas-dot: #182320;--text: #d7e4e0;--muted: #7c8d88;--accent: #2dd4bf;--accent-2: #f5a524;--on-accent: #06231a;--on-accent-2: #241605;--ok: #4ade80;--bad: #f87171;--running: #f5a524;--on-running: #241605;--node-hue-math: #a78bfa;--node-hue-data: #38bdf8;--node-hue-uncertainty: #94a3b8;--node-hue-rl: #e879f9;--chart-series-1: #e05fa0;--chart-series-2: #5b8cff;--chart-series-3: #c7de3a;--chart-series-4: #3ed6c0;--chart-series-5: #ff9a3c;--chart-series-6: #b58cff;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .32), 0 1px 1px rgba(0, 0, 0, .24);--shadow-md: 0 4px 12px rgba(0, 0, 0, .45), 0 2px 6px rgba(0, 0, 0, .3);--focus-ring: 0 0 0 3px color-mix(in srgb, var(--accent) 40%, transparent)}*{box-sizing:border-box}html,body{margin:0;height:100%;height:100dvh;background:var(--bg);color:var(--text);font-family:var(--font-sans);font-size:var(--text-md)}:focus-visible{outline:none;box-shadow:var(--focus-ring);border-radius:4px}body{display:flex;flex-direction:column}#topbar{display:flex;align-items:baseline;gap:12px;padding:11px 18px;border-bottom:1px solid var(--panel-border);background:var(--panel);flex-shrink:0;box-shadow:var(--shadow-sm);position:relative;z-index:30}#brand{display:inline-flex;align-items:center;gap:6px;text-decoration:none;font-weight:600;font-size:17px;color:var(--accent);font-family:var(--font-display)}#brand:hover{opacity:.8}#brand-mark{flex-shrink:0}#subtitle{color:var(--muted);flex:1}#topbar-actions{display:inline-flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:6px;row-gap:6px}#topbar-actions button{display:inline-flex;align-items:center;gap:6px;background:var(--btn-bg);border:1px solid transparent;color:var(--text);padding:7px 13px;border-radius:7px;cursor:pointer;margin-left:0;font-size:var(--text-sm);font-family:var(--font-sans);transition:background-color .12s ease,box-shadow .12s ease,border-color .12s ease}#topbar-actions button svg{flex-shrink:0;opacity:.85}#topbar-actions button:hover{background:var(--surface-4)}#topbar-actions button.primary{background:var(--accent-2);color:var(--on-accent-2);font-weight:600;padding:7px 16px;box-shadow:var(--shadow-sm)}#topbar-actions button.primary svg{opacity:1}#topbar-actions button.primary:hover{background:color-mix(in srgb,var(--accent-2) 88%,black)}#topbar-actions button:disabled{opacity:.45;cursor:not-allowed}#topbar-actions button:disabled:hover{background:var(--btn-bg)}#topbar-actions button.primary:disabled:hover{background:var(--accent-2)}#btn-theme{background:none;border:1px solid var(--panel-border);color:var(--text);border-radius:999px;width:30px;height:30px;padding:0;cursor:pointer;font-size:14px;margin-left:6px;display:inline-flex;align-items:center;justify-content:center;transition:border-color .12s ease}#btn-theme:hover{border-color:var(--accent)}#domain-ribbon{display:flex;gap:6px;align-items:center;flex-wrap:wrap;padding:8px 16px;background:var(--panel);border-bottom:1px solid var(--panel-border);flex-shrink:0}.ribbon-tab{display:inline-flex;align-items:center;gap:6px;background:var(--surface-2);border:1px solid var(--panel-border);color:var(--muted);border-radius:999px;padding:6px 14px;font-size:var(--text-sm);font-family:var(--font-sans);cursor:pointer;transition:color .12s ease,border-color .12s ease,background-color .12s ease,box-shadow .12s ease}.ribbon-tab svg{flex-shrink:0}.ribbon-tab:hover:not(.disabled){color:var(--text);border-color:var(--accent);background:var(--surface-3)}.ribbon-tab.active{background:var(--accent);color:var(--on-accent);border-color:var(--accent);font-weight:600;box-shadow:var(--shadow-sm)}.ribbon-tab.disabled{opacity:.45;cursor:not-allowed}.ribbon-empty-note{color:var(--muted);font-size:var(--text-sm)}.ribbon-empty-note code{font-family:var(--font-mono);font-size:11px;background:var(--surface-code);border:1px solid var(--panel-border);border-radius:4px;padding:1px 5px}#layout{display:flex;flex:1 1 auto;min-height:0}#layout[hidden],#domain-ribbon[hidden]{display:none}#palette{width:clamp(180px,18vw,250px);flex-shrink:0;background:var(--panel);border-right:1px solid var(--panel-border);padding:10px;overflow-y:auto}#palette h2{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:14px 0 6px}#palette h2:first-child{margin-top:0}#split-handle{width:5px;flex-shrink:0;cursor:col-resize;background:var(--panel-border);touch-action:none}#split-handle:hover,#split-handle.dragging{background:var(--accent)}#notebook{width:clamp(320px,52vw,760px);flex-shrink:0;background:var(--bg);border-left:1px solid var(--panel-border);padding:var(--space-3);overflow-y:auto;display:flex;flex-direction:column;gap:var(--space-3)}#palette-filter{width:100%;background:var(--surface-well);color:var(--text);border:1px solid var(--panel-border);border-radius:6px;padding:6px 8px;font-size:12px;font-family:var(--font-sans);margin-bottom:8px}.palette-group-title{display:flex;align-items:center;gap:6px;font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:14px 0 6px}.palette-group-title svg{flex-shrink:0}.palette-group-title:first-child{margin-top:0}.palette-item{padding:8px 9px;border-radius:7px;cursor:pointer;margin-bottom:4px;border:1px solid transparent;display:flex;align-items:flex-start;gap:7px;transition:background-color .12s ease,border-color .12s ease}.palette-item:hover{background:var(--surface-3);border-color:var(--panel-border)}.palette-item-icon{flex-shrink:0;width:16px;height:16px;margin-top:1px;color:var(--muted)}.palette-item-text{flex:1;min-width:0}.palette-item-label{display:block}.palette-item-desc{display:block;color:var(--muted);font-size:11px;margin-top:2px;line-height:1.35}.palette-item-ready{display:block;color:var(--ok);font-size:10.5px;margin-top:4px;font-weight:600}.palette-item-bare-link{display:block;color:var(--muted);font-size:10.5px;margin-top:2px;text-decoration:underline}.palette-item-bare-link:hover{color:var(--accent)}.palette-item--flagship{border-color:var(--accent);background:var(--accent-tint);box-shadow:var(--shadow-sm)}.palette-item--flagship .palette-item-icon{color:var(--accent)}.muted-list,.muted{color:var(--muted);font-size:var(--text-sm)}#canvas-wrap{position:relative;flex:1;overflow:auto;background:radial-gradient(circle,var(--canvas-dot) 1px,transparent 1px) 0 0/18px 18px,var(--bg)}#start-panel{position:absolute;inset:0;z-index:8;overflow-y:auto;background:var(--bg)}#start-panel[hidden]{display:none}#start-panel-card{max-width:1100px;margin:0 auto;padding:24px 28px 40px}#hero{text-align:center;padding:36px 12px 30px}#hero-mark{color:var(--accent);margin-bottom:var(--space-3)}#hero-title{font-family:var(--font-display);font-weight:600;font-size:26px;line-height:1.3;margin:0 0 var(--space-3);color:var(--text)}#hero-sub{max-width:640px;margin:0 auto var(--space-4);color:var(--muted);line-height:1.6;font-size:var(--text-lg)}#hero-actions{display:flex;gap:var(--space-2);justify-content:center;flex-wrap:wrap}#hero-actions button{font-family:var(--font-sans);font-size:var(--text-md);padding:10px 22px;border-radius:8px;cursor:pointer;border:1px solid var(--panel-border);background:var(--panel);color:var(--text);transition:border-color .12s ease,box-shadow .12s ease,background-color .12s ease}#hero-actions button:hover{border-color:var(--accent);box-shadow:var(--shadow-sm)}#hero-actions button.primary{background:var(--accent-2);color:var(--on-accent-2);border-color:var(--accent-2);font-weight:600;box-shadow:var(--shadow-sm)}#hero-actions button.primary:hover{background:color-mix(in srgb,var(--accent-2) 88%,black);border-color:color-mix(in srgb,var(--accent-2) 88%,black)}#hero-pack-snippet{max-width:640px;margin:var(--space-3) auto 0;text-align:left;font-family:var(--font-mono);font-size:11px;background:var(--surface-code);border:1px solid var(--panel-border);border-radius:8px;padding:12px 14px;white-space:pre-wrap;line-height:1.6;color:var(--text)}#capability-index{margin:8px 0 34px}.index-title{font-family:var(--font-display);font-weight:600;font-size:15px;margin:0 0 14px;text-align:center;color:var(--text)}#capability-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:var(--space-3)}.capability-item{position:relative;display:grid;grid-template-columns:36px 1fr;gap:12px;align-items:start;padding:14px;min-height:96px;text-align:left;font:inherit;color:inherit;border:1px solid var(--panel-border);border-radius:12px;background:var(--panel);box-shadow:var(--shadow-sm);cursor:pointer;transition:border-color .12s ease,box-shadow .12s ease,transform .12s ease}button.capability-item:hover{border-color:var(--accent);box-shadow:var(--shadow-md);transform:translateY(-1px)}button.capability-item:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.capability-icon{width:36px;height:36px;border-radius:10px;background:var(--accent-tint);color:var(--accent);display:flex;align-items:center;justify-content:center}.capability-text{display:flex;flex-direction:column;gap:3px;min-width:0;padding-right:26px}.capability-text b{font-size:var(--text-md);color:var(--text);font-weight:600;line-height:1.25}.capability-text span{font-size:12px;color:var(--muted);line-height:1.4}.capability-blurb{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.capability-count{position:absolute;top:10px;right:12px;font-size:11px;color:var(--muted);background:var(--surface-well);border-radius:999px;padding:1px 8px}.capability-like-grid .capability-item{cursor:default}#module-card-overlay{position:fixed;inset:0;z-index:60;background:#0a0a1973;display:flex;align-items:center;justify-content:center;padding:24px}#module-card{width:min(680px,100%);max-height:min(80vh,760px);display:flex;flex-direction:column;background:var(--panel);border:1px solid var(--panel-border);border-radius:16px;box-shadow:0 24px 64px #00000047;overflow:hidden}#module-card .mc-head{display:grid;grid-template-columns:48px 1fr 32px;gap:14px;align-items:start;padding:20px 20px 16px;border-bottom:1px solid var(--panel-border);background:linear-gradient(180deg,var(--accent-tint),transparent)}#module-card .mc-icon{width:48px;height:48px;border-radius:12px;background:var(--panel);color:var(--accent);display:flex;align-items:center;justify-content:center;border:1px solid var(--panel-border)}#module-card h2{margin:0 0 4px;font-family:var(--font-display);font-size:20px;color:var(--text)}#module-card .mc-blurb{margin:0;color:var(--muted);font-size:13px;line-height:1.5}#module-card .mc-close{font-size:22px;line-height:1;padding:2px 8px;border:none;background:transparent;cursor:pointer;color:var(--muted)}#module-card .mc-body{padding:8px 20px 20px;overflow:auto}#module-card h3{margin:16px 0 8px;font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.mc-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.mc-list li{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:10px 12px;border:1px solid var(--panel-border);border-radius:10px;background:var(--bg)}.mc-list li>div{display:flex;flex-direction:column;gap:2px;min-width:0}.mc-list b{font-size:13px;color:var(--text)}.mc-list span{font-size:12px;color:var(--muted);line-height:1.4}.mc-list button{flex-shrink:0}#start-panel-header{display:flex;justify-content:space-between;align-items:baseline;margin-top:6px}#start-panel-header h2{margin:0;font-size:18px;font-family:var(--font-display);font-weight:600}#start-panel-header-actions{display:flex;align-items:center;gap:8px}#btn-start-dismiss{background:none;border:none;color:var(--muted);cursor:pointer;font-size:20px;line-height:1}#btn-start-dismiss:hover{color:var(--text)}#start-panel-hint{color:var(--muted);margin-top:4px}.gallery-stage{margin-top:26px}.gallery-stage:first-of-type{margin-top:18px}.gallery-stage-title{display:flex;align-items:center;gap:7px;font-size:11.5px;text-transform:uppercase;letter-spacing:.08em;font-weight:700;color:var(--muted);margin:0 0 10px;padding-bottom:6px;border-bottom:1px solid var(--panel-border)}.gallery-stage-title svg{flex-shrink:0}.tile-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:16px}.template-card{border:1px solid var(--panel-border);border-radius:14px;cursor:pointer;min-width:0;background:var(--panel);overflow:hidden;display:flex;flex-direction:column;box-shadow:var(--shadow-sm);transition:border-color .12s,transform .12s,box-shadow .12s}.template-card:hover{border-color:var(--accent);transform:translateY(-2px);box-shadow:var(--shadow-md)}.template-card-art{width:100%;aspect-ratio:16 / 10;background:var(--surface-2);border-bottom:1px solid var(--panel-border);display:flex;align-items:center;justify-content:center;overflow:hidden;color:var(--muted)}.template-card-art img{width:100%;height:100%;object-fit:cover;display:block}.template-card-body{padding:12px 14px 14px}.template-card h3{margin:0 0 4px;font-size:var(--text-md);color:var(--text);font-weight:600}.template-card p{margin:0;font-size:var(--text-sm);color:var(--muted);line-height:1.45;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.template-card .template-badge{display:inline-block;margin-top:6px;margin-right:5px;font-size:10px;color:var(--running);border:1px solid var(--running);border-radius:4px;padding:1px 5px}.template-badge--cost{color:var(--muted);border-color:var(--panel-border)}.template-card.disabled{cursor:not-allowed;opacity:.55}.template-card.disabled:hover{border-color:var(--panel-border);transform:none;box-shadow:var(--shadow-sm)}.template-badge--unavailable{color:var(--bad);border-color:var(--bad)}#canvas{position:relative;width:2400px;height:1600px}#edges-svg{position:absolute;top:0;left:0;width:2400px;height:1600px;pointer-events:none}#edges-svg .edge-base{fill:none;stroke:var(--accent);stroke-width:2}#edges-svg .edge-flow{fill:none;stroke:var(--accent);stroke-width:2.2;stroke-linecap:round;stroke-dasharray:5 9;opacity:.75;animation:edge-flow-move 1s linear infinite}@keyframes edge-flow-move{to{stroke-dashoffset:-28}}#edges-svg .edge-arrow-head{fill:var(--accent)}#edges-svg .edge-label{font-family:var(--font-mono);font-size:9px;fill:var(--muted);text-anchor:middle;paint-order:stroke;stroke:var(--panel);stroke-width:3px}#edges-svg line.pending{stroke:var(--running);stroke-width:2.4;stroke-dasharray:4 3}@media(prefers-reduced-motion:reduce){#edges-svg .edge-flow{animation:none}}#canvas-kpi-strip{position:sticky;top:0;z-index:5;display:flex;gap:10px;flex-wrap:wrap;padding:8px 10px;background:color-mix(in srgb,var(--panel) 92%,transparent);backdrop-filter:blur(3px);border-bottom:1px solid var(--panel-border)}#canvas-kpi-strip[hidden]{display:none}.kpi-group{display:flex;gap:8px}.kpi-pill{display:flex;flex-direction:column;gap:2px;background:var(--panel);border:1px solid var(--panel-border);border-radius:8px;padding:5px 11px;box-shadow:var(--shadow-sm)}.kpi-label{font-size:9.5px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.kpi-value{font-family:var(--font-mono);font-size:14px;font-weight:700;color:var(--text)}.kpi-pill.kpi-ok .kpi-value{color:var(--ok)}.kpi-pill.kpi-bad .kpi-value{color:var(--bad)}#canvas-hint{position:absolute;bottom:8px;left:8px;color:var(--muted);font-size:11px;max-width:480px;pointer-events:none}.node-box{position:absolute;min-width:210px;width:fit-content;max-width:320px;background:var(--panel);border:1px solid var(--panel-border);border-radius:10px;user-select:none;box-shadow:var(--shadow-sm);overflow:hidden;transition:border-color .12s ease,box-shadow .12s ease}.node-box.selected{border-color:var(--accent);box-shadow:var(--shadow-md),var(--focus-ring)}.node-box.status-running{border-color:var(--running)}.node-box.status-done{border-color:var(--ok)}.node-box.status-failed{border-color:var(--bad)}.node-title{padding:7px 8px 7px 7px;font-weight:600;cursor:grab;display:flex;align-items:center;gap:6px;background:color-mix(in srgb,var(--node-accent, var(--accent)) 14%,var(--surface-2));border-bottom:2px solid var(--node-accent, var(--accent))}.node-title-icon{flex-shrink:0;width:18px;height:18px;border-radius:5px;display:flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--node-accent, var(--accent)) 22%,var(--panel));color:var(--node-accent, var(--accent))}.node-title-text{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.node-title .node-id{color:var(--muted);font-weight:400;font-size:11px}.node-status-badge{flex-shrink:0;width:14px;height:14px;display:none;align-items:center;justify-content:center}.node-status-badge.visible{display:flex}.node-status-badge.status-running{color:var(--running);animation:node-status-spin .9s linear infinite}.node-status-badge.status-done{color:var(--ok)}.node-status-badge.status-failed{color:var(--bad)}@keyframes node-status-spin{to{transform:rotate(360deg)}}.node-remove{cursor:pointer;color:var(--muted);flex-shrink:0}.node-remove:hover{color:var(--bad)}.node-body{padding:7px 0}.node-body.has-divider .port-row.output-row:first-of-type{margin-top:6px;padding-top:9px;border-top:1px solid var(--panel-border)}.node-result-preview{margin:4px 6px 0;padding:4px 6px;border-radius:6px;font-size:10.5px;font-family:var(--font-mono);color:var(--ok);background:color-mix(in srgb,var(--ok) 12%,transparent);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.node-result-preview[hidden]{display:none}.port-row{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--muted);margin:0 6px 3px;padding:3px 6px;border-radius:6px;cursor:pointer;background:var(--surface-well);border:1px solid transparent;transition:background-color .12s ease,border-color .12s ease}.port-row:hover{border-color:var(--node-accent, var(--accent));background:var(--accent-tint)}.port-row.output-row{flex-direction:row-reverse;cursor:crosshair}.port-row.pending-source{border-color:var(--running);box-shadow:0 0 0 2px color-mix(in srgb,var(--running) 35%,transparent)}.port-dot{position:relative;width:9px;height:9px;border-radius:50%;background:var(--accent);border:2px solid var(--panel);flex-shrink:0;pointer-events:none;transition:transform .1s ease,box-shadow .1s ease}.port-dot.output{background:var(--ok)}.port-dot.pending-source{box-shadow:0 0 0 3px var(--running)}.port-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.output-row .port-label{text-align:right}.port-value{color:var(--text);font-family:var(--font-mono);font-size:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:130px;flex-shrink:0}.port-dot:after{content:attr(data-io);position:absolute;bottom:100%;left:50%;transform:translate(-50%);margin-bottom:2px;font-size:7px;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);pointer-events:none;white-space:nowrap}#canvas-wrap.wiring .port-row.input-row{background:var(--accent-tint);border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 30%,transparent)}#canvas-wrap.wiring .port-row.input-row .port-dot{transform:scale(1.5)}#wiring-instruction-bar{position:fixed;left:50%;bottom:22px;transform:translate(-50%);z-index:20;background:var(--running);color:var(--on-running);font-weight:600;font-size:12.5px;padding:8px 16px;border-radius:999px;box-shadow:var(--shadow-md);pointer-events:none;white-space:nowrap}#wiring-instruction-bar[hidden]{display:none}#wiring-instruction-bar.warning{background:var(--bad);color:var(--on-running)}#inspector-body input,#inspector-body textarea,#inspector-body select{width:100%;background:var(--surface-well);color:var(--text);border:1px solid var(--panel-border);border-radius:4px;padding:4px;font-size:12px;font-family:var(--font-sans);margin-bottom:6px}#inspector-body textarea{height:50px;font-family:var(--font-mono)}#inspector-body label{display:block;font-size:11px;color:var(--muted);margin-bottom:2px}#inspector-body h3{font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin:16px 0 6px;border-top:1px solid var(--panel-border);padding-top:10px}#inspector-body h3:first-of-type{border-top:none;padding-top:0;margin-top:8px}.objective-tabs{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:8px}.objective-tab{background:var(--surface-2);border:1px solid var(--panel-border);color:var(--muted);border-radius:5px;padding:4px 8px;font-size:11px;cursor:pointer}.objective-tab.active{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}.objective-tab:hover:not(.active){color:var(--text)}.field-hint{font-size:10.5px;color:var(--muted);margin:-3px 0 6px}.validate-row{display:flex;align-items:center;gap:8px;margin-bottom:8px}.validate-row button{background:var(--btn-bg);border:none;color:var(--text);border-radius:4px;padding:4px 10px;font-size:11px;cursor:pointer}.validate-result{font-size:11px}.validate-result.ok{color:var(--ok)}.validate-result.bad{color:var(--bad)}.editable-table{width:100%;border-collapse:collapse;margin-bottom:6px}.editable-table th{font-size:10px;text-transform:uppercase;color:var(--muted);text-align:left;padding:2px 4px;font-weight:500}.editable-table td{padding:2px 3px}.editable-table input{margin-bottom:0;padding:3px 4px;font-size:11.5px;font-family:var(--font-mono)}.editable-table .row-remove{background:none;border:none;color:var(--muted);cursor:pointer;font-size:14px;padding:0 4px}.editable-table .row-remove:hover{color:var(--bad)}.add-row-btn{background:var(--surface-2);border:1px dashed var(--panel-border);color:var(--muted);border-radius:5px;padding:4px 8px;font-size:11px;cursor:pointer;width:100%;margin-bottom:6px}.add-row-btn:hover{color:var(--text);border-color:var(--accent)}.solver-summary{font-size:10.5px;color:var(--muted);margin:-3px 0 8px;line-height:1.4}#output-panel,#log-panel{background:var(--surface-code);border:1px solid var(--panel-border);border-radius:6px;padding:8px;font-family:var(--font-mono);font-size:11px;white-space:pre-wrap;word-break:break-word;max-height:180px;overflow-y:auto}.cell{background:var(--panel);border:1px solid var(--panel-border);border-radius:9px;padding:var(--space-3);position:relative;box-shadow:var(--shadow-sm)}.cell-live{box-shadow:var(--shadow-md)}.cell:before{content:"";position:absolute;left:0;top:8px;bottom:8px;width:3px;border-radius:2px;background:var(--cell-bracket)}.cell-current:before{background:var(--accent)}.cell-live:before,.cell-archived:before{background:var(--ok)}.cell-live.cell-failed:before,.cell-archived.cell-failed:before{background:var(--bad)}.cell-live.cell-stopped:before{background:var(--running)}.cell-header{display:flex;align-items:baseline;gap:var(--space-2);margin-bottom:var(--space-2)}.cell-io-label{font-size:var(--text-xs);font-weight:700;text-transform:uppercase;letter-spacing:.05em;padding:1px 6px;border-radius:4px;flex-shrink:0;font-family:var(--font-display)}.cell-io-in{color:var(--accent);background:color-mix(in srgb,var(--accent) 15%,transparent)}.cell-io-out{color:var(--ok);background:color-mix(in srgb,var(--ok) 15%,transparent)}.cell-header h2{font-size:var(--text-md);margin:0;color:var(--text);font-weight:600;text-transform:none;letter-spacing:normal;font-family:var(--font-sans)}#notebook-run-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);font-size:var(--text-sm)}#btn-stop-run{background:color-mix(in srgb,var(--bad) 12%,var(--panel));color:var(--bad);border:1px solid color-mix(in srgb,var(--bad) 45%,var(--panel-border));border-radius:6px;padding:4px 10px;font-size:11px;font-family:var(--font-sans);cursor:pointer}#btn-stop-run:hover{background:color-mix(in srgb,var(--bad) 20%,var(--panel))}#btn-stop-run[hidden]{display:none}#cell-stack{display:flex;flex-direction:column;gap:var(--space-3)}#cell-stack:empty{display:none}#notebook-live-cell[hidden]{display:none}.cell-prose{font-size:var(--text-sm);color:var(--muted);margin:-2px 0 var(--space-2);line-height:1.5}.cell-error-banner{display:flex;align-items:flex-start;gap:8px;background:color-mix(in srgb,var(--bad) 12%,var(--panel));border:1px solid color-mix(in srgb,var(--bad) 45%,var(--panel-border));color:var(--bad);border-radius:6px;padding:8px 10px;font-size:var(--text-sm);font-family:var(--font-mono);white-space:pre-wrap;word-break:break-word;margin-bottom:var(--space-2)}.cell-error-banner[hidden]{display:none}.cell-error-banner:before{content:"\26a0";flex-shrink:0;font-family:var(--font-sans)}.cell-error-cause,.cell-error-remedy{font-family:var(--font-sans);white-space:normal;font-size:var(--text-xs);margin-top:4px;opacity:.85}#results-summary:empty{display:none}#results-summary{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:var(--space-2);font-size:var(--text-sm)}.result-stat{background:var(--surface-2);border-radius:6px;padding:6px 10px;min-width:90px}.result-stat .stat-label{display:block;font-size:10px;text-transform:uppercase;color:var(--muted)}.result-stat .stat-value{display:block;font-family:var(--font-mono);font-size:14px;font-weight:600;margin-top:2px}.result-stat.stat-ok .stat-value{color:var(--ok)}.result-stat.stat-bad .stat-value{color:var(--bad)}.result-chip{border:1px solid var(--panel-border);border-radius:8px;background:var(--panel);padding:8px 10px;margin-bottom:var(--space-2);font-size:var(--text-sm);box-shadow:var(--shadow-sm)}.result-chip-head{display:flex;align-items:center;gap:6px;font-weight:600;margin-bottom:4px}.result-chip-kind{font-size:9.5px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);background:var(--surface-2);border-radius:4px;padding:1px 5px}.result-chip-fields{display:flex;flex-wrap:wrap;gap:4px 14px;color:var(--muted);font-size:11.5px;font-family:var(--font-mono)}.result-chip-fields b{color:var(--text);font-weight:600}#result-chips:empty{display:none}.cell-prose:empty{display:none}#suggested-plots:empty{display:none}.suggested-plots-row{display:flex;gap:6px;align-items:center;flex-wrap:wrap;margin-bottom:var(--space-2)}.suggested-plots-label{font-size:var(--text-xs);color:var(--muted);margin-right:2px}.suggested-plot-btn{background:var(--surface-2);border:1px solid var(--panel-border);color:var(--muted);border-radius:999px;padding:4px 12px;font-size:var(--text-xs);font-family:var(--font-sans);cursor:pointer;transition:color .12s ease,border-color .12s ease,background-color .12s ease}.suggested-plot-btn:hover{color:var(--text);border-color:var(--accent);background:var(--surface-3)}.suggested-plot-btn.active{border-color:var(--accent);color:var(--accent);font-weight:600}.card-actionable{cursor:pointer;transition:opacity .12s ease,transform .12s ease}.card-actionable:hover{opacity:.85}.card-actionable:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}.card-actionable:active{transform:scale(.99)}.tile-grid--collapsed{display:none}.gallery-stage-title--collapsed{opacity:.6}.charts-node-divider{font-size:var(--text-xs);font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.03em;margin:var(--space-3) 0 4px;padding-top:var(--space-2);border-top:1px solid var(--panel-border)}.charts-node-divider:first-child{border-top:none;padding-top:0;margin-top:0}.charts-node-divider--anchor{margin:0;padding:0;border:none;height:0;overflow:hidden}.charts-highlight-flash{animation:charts-highlight-pulse 1.2s ease-out}@keyframes charts-highlight-pulse{0%{box-shadow:0 0 0 3px var(--accent);border-radius:8px}to{box-shadow:0 0 0 3px transparent;border-radius:8px}}#variables-panel{margin-top:var(--space-2)}.workspace-empty{margin:0}.workspace-group{margin-bottom:var(--space-3)}.workspace-group-title{font-size:var(--text-xs);font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.03em;margin-bottom:4px}.workspace-table{width:100%;border-collapse:collapse;font-size:var(--text-sm)}.workspace-table th{text-align:left;font-size:10px;text-transform:uppercase;color:var(--muted);font-weight:600;padding:3px 8px;border-bottom:1px solid var(--panel-border)}.workspace-table td{padding:4px 8px;border-bottom:1px solid var(--panel-border);vertical-align:middle}.workspace-var-name{font-family:var(--font-mono);font-weight:600}.workspace-var-type,.workspace-var-shape{color:var(--muted);font-family:var(--font-mono);font-size:var(--text-xs)}.workspace-var-value{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text);max-width:320px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.workspace-plot-btn{background:var(--surface-2);border:1px solid var(--panel-border);color:var(--muted);border-radius:6px;padding:2px 10px;font-size:var(--text-xs);cursor:pointer}.workspace-plot-btn:hover:not(:disabled){color:var(--text);border-color:var(--accent);background:var(--surface-3)}.workspace-plot-btn:disabled{opacity:.4;cursor:not-allowed}#charts-drawer-body{display:flex;gap:var(--space-3);flex-wrap:wrap;margin-bottom:var(--space-2);container-type:inline-size}#charts-drawer-body:empty{display:none}#log-details,#raw-details{margin-top:6px}#log-details summary,#raw-details summary{cursor:pointer;font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.chart-wrap{position:relative;min-width:0;width:100%}@container (min-width: 900px){.chart-wrap{width:calc(50% - var(--space-3) / 2);min-width:260px}}.chart-title{font-size:12px;font-weight:600;margin-bottom:4px;color:var(--text)}.chart-svg{display:block;max-width:100%;height:auto;background:var(--panel);border-radius:6px}.chart-axis-label{font-size:11px;fill:var(--chart-ink-muted);font-family:var(--font-mono);font-variant-numeric:tabular-nums}.chart-colorbar-img{image-rendering:auto}.chart-axis-title{font-size:12px;font-weight:600;fill:var(--chart-ink);font-family:var(--font-sans)}.chart-note{font-size:12px;color:var(--muted);margin-bottom:6px}.airfoil-evo-controls{display:flex;align-items:center;gap:10px;margin:6px 0}.airfoil-evo-controls button{background:var(--btn-bg);border:1px solid var(--panel-border);color:var(--text);border-radius:6px;padding:5px 12px;font-size:12.5px;cursor:pointer;flex-shrink:0}.airfoil-evo-controls button:hover{background:var(--surface-4)}.airfoil-evo-controls input[type=range]{flex:1 1 auto;accent-color:var(--accent)}.airfoil-evo-label{font-family:var(--font-mono);font-size:12px;color:var(--muted);white-space:nowrap;flex-shrink:0}.chart-tooltip{position:absolute;background:var(--surface-code);border:1px solid var(--panel-border);border-radius:4px;padding:4px 8px;font-size:11px;font-family:var(--font-mono);color:var(--text);pointer-events:none;white-space:nowrap;z-index:10}.chart-export-bar{position:absolute;top:2px;right:2px;z-index:3}.chart-export-btn,.chart-expand-btn{background:var(--surface-well);border:1px solid var(--panel-border);color:var(--muted);border-radius:4px;font-size:10.5px;padding:2px 7px;cursor:pointer;opacity:.6}.chart-export-btn:hover,.chart-expand-btn:hover{opacity:1;color:var(--text);border-color:var(--accent)}.chart-export-dialog-overlay{position:fixed;inset:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:92}.chart-export-dialog{background:var(--panel);border:1px solid var(--panel-border);border-radius:10px;padding:20px;width:320px;max-width:calc(100vw - 32px);box-shadow:var(--shadow-md)}.chart-export-dialog h3{margin:0 0 12px;font-size:15px;color:var(--text)}.chart-export-dialog label{display:block;font-size:12px;color:var(--muted);margin-bottom:10px}.chart-export-dialog input,.chart-export-dialog select{display:block;width:100%;margin-top:4px;background:var(--surface-well);color:var(--text);border:1px solid var(--panel-border);border-radius:4px;padding:5px 6px;font-size:12px;box-sizing:border-box}.chart-export-dialog .ced-note{font-size:12px;color:var(--muted);margin:0 0 12px}.chart-export-dialog .ced-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}.chart-export-dialog .ced-actions button{flex:1 1 auto;padding:6px 8px;font-size:12px;border-radius:6px;border:1px solid var(--panel-border);background:var(--btn-bg);color:var(--text);cursor:pointer}.chart-export-dialog .ced-hq{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}#pack-modal-overlay{position:fixed;inset:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:92}#pack-modal-overlay[hidden]{display:none}#pack-modal{background:var(--panel);border:1px solid var(--panel-border);border-radius:10px;padding:22px;width:420px;max-width:calc(100vw - 32px);max-height:calc(100vh - 48px);overflow-y:auto;box-shadow:var(--shadow-md)}#pack-modal h2{margin:0 0 8px;font-size:16px;color:var(--text)}#pack-modal>p.muted{font-size:12.5px;line-height:1.5;margin:0 0 14px}#pack-modal label{display:block;font-size:12px;color:var(--muted);margin-bottom:10px}#pack-modal input{display:block;width:100%;margin-top:4px;background:var(--surface-well);color:var(--text);border:1px solid var(--panel-border);border-radius:4px;padding:6px 7px;font-size:12.5px;box-sizing:border-box}#pack-modal-actions{display:flex;gap:8px;margin-top:4px}#pack-modal-actions button{flex:1 1 auto;padding:7px 10px;font-size:13px;border-radius:6px;border:1px solid var(--panel-border);background:var(--btn-bg);color:var(--text);cursor:pointer}#pack-modal-actions button.primary{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}#pack-modal-result{margin-top:14px;font-size:12.5px;border-radius:6px;padding:10px 12px}#pack-modal-result pre{white-space:pre-wrap;font-size:11.5px;margin:6px 0 0;background:var(--surface-code);border-radius:4px;padding:8px;overflow-x:auto}#pack-modal-result.pack-modal-success{background:color-mix(in srgb,var(--ok) 15%,transparent);color:var(--text)}#pack-modal-result.pack-modal-error{background:color-mix(in srgb,var(--bad) 15%,transparent);color:var(--text)}#pack-modal-cli-fallback{margin-top:14px}#pack-modal-cli-fallback summary{cursor:pointer;font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}#pack-modal-cli-fallback pre{margin-top:8px;font-size:11.5px;background:var(--surface-code);border-radius:4px;padding:8px;overflow-x:auto}.chart-toggle{display:block;margin-bottom:4px;font-size:11px;color:var(--muted);cursor:pointer}.chart-toggle input{vertical-align:middle}.chart-legend{display:flex;gap:14px;margin-top:4px;font-size:11px;color:var(--muted);flex-wrap:wrap}.chart-legend-item{display:flex;align-items:center;gap:5px}.chart-legend-swatch{width:10px;height:10px;border-radius:50%;display:inline-block;background:var(--chart-series-1)}.chart-legend-swatch--ring{background:none;border:1.5px solid var(--chart-series-2)}.chart-legend-swatch--line{width:16px;height:3px;border-radius:1px}.chart-legend-swatch--dash{width:16px;height:0;border-radius:0;background:none;border-top:2px dashed var(--chart-ink)}.chart-table-toggle{margin-top:6px}.chart-table-toggle button{background:var(--surface-2);border:1px solid var(--panel-border);color:var(--text);border-radius:4px;padding:3px 8px;font-size:11px;cursor:pointer}.chart-table-toggle button:hover{background:var(--surface-3)}.chart-table{border-collapse:collapse;margin-top:6px;font-size:11px;font-family:var(--font-mono)}.chart-table th,.chart-table td{border:1px solid var(--panel-border);padding:3px 6px;text-align:right}.chart-table th{color:var(--muted);font-weight:600}#study[hidden]{display:none}#study{display:flex;flex-direction:column;flex:1 1 auto;min-height:0;background:var(--bg)}#study-header{display:flex;align-items:center;gap:var(--space-3);padding:12px 20px;border-bottom:1px solid var(--panel-border);background:var(--panel);flex-shrink:0}#study-close{background:var(--btn-bg);border:none;color:var(--text);border-radius:6px;width:30px;height:30px;font-size:15px;cursor:pointer;flex-shrink:0}#study-close:hover{opacity:.85}#study-header-text{flex:1;min-width:0}#study-pack{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.06em}#study-title{font-family:var(--font-display);font-size:19px;margin:2px 0 0;color:var(--text);font-weight:600}#study-export{display:flex;align-items:center;gap:6px;flex-shrink:0}#study-export-label{margin-right:2px;font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.05em}#study-export button{background:var(--btn-bg);border:none;color:var(--text);padding:6px 12px;border-radius:6px;cursor:pointer;font-size:12px;font-family:var(--font-sans)}#study-export button:hover{opacity:.85}#study-export button.primary{background:var(--accent-2);color:var(--on-accent-2);font-weight:600}#study-export button:disabled{opacity:.4;cursor:not-allowed}#study-stepper{display:flex;padding:16px 20px 14px;background:var(--panel);border-bottom:1px solid var(--panel-border);flex-shrink:0}.study-step-tab{background:none;border:none;color:var(--muted);padding:0;font-size:var(--text-sm);font-family:var(--font-sans);cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:6px;flex:1;position:relative;text-align:center}.study-step-tab:before{content:"";position:absolute;top:14px;left:-50%;width:100%;height:2px;background:var(--surface-3);z-index:0}.study-step-tab:first-child:before{display:none}.study-step-tab .step-num{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;background:var(--surface-3);color:var(--muted);font-size:12px;font-weight:700;position:relative;z-index:1;transition:background-color .15s ease,color .15s ease}.study-step-tab.active{color:var(--accent);font-weight:600}.study-step-tab.active .step-num{background:var(--accent);color:var(--on-accent)}.study-step-tab.active:before{background:var(--ok)}.study-step-tab.done .step-num{background:var(--ok);color:var(--on-accent);font-size:0}.study-step-tab.done .step-num:after{content:"\2713";font-size:13px}.study-step-tab.done:before{background:var(--ok)}.study-step-tab:hover:not(.active){color:var(--text)}#study-body{flex:1 1 auto;min-height:0;overflow-y:auto;padding:20px;max-width:1500px;margin:0 auto;width:100%}.study-step[hidden]{display:none}.study-statement{font-size:var(--text-lg);line-height:1.6;color:var(--text);margin:0 0 var(--space-5);max-width:72ch}.study-section-title{font-family:var(--font-display);font-size:14px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin:var(--space-5) 0 var(--space-3)}.study-section-title:first-of-type{margin-top:0}#study-formulation table,#study-baseline-compare table{width:100%;border-collapse:collapse;font-size:var(--text-sm);background:var(--panel);border:1px solid var(--panel-border);border-radius:8px;overflow:hidden;box-shadow:var(--shadow-sm)}#study-formulation th,#study-formulation td,#study-baseline-compare th,#study-baseline-compare td{padding:8px 12px;text-align:left;border-bottom:1px solid var(--panel-border)}#study-formulation th,#study-baseline-compare th{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.04em;color:var(--muted);background:var(--surface-2)}#study-formulation tr:last-child td,#study-baseline-compare tr:last-child td{border-bottom:none}#study-formulation td.mono,#study-baseline-compare td.mono{font-family:var(--font-mono)}.study-term-rationale{color:var(--muted);font-size:11.5px;margin:2px 0 0}.study-term-list{list-style:none;margin:var(--space-3) 0 0;padding:0;display:flex;flex-direction:column;gap:10px}.study-term-list li{background:var(--panel);border:1px solid var(--panel-border);border-radius:8px;padding:8px 12px;box-shadow:var(--shadow-sm)}.study-term-head{display:flex;align-items:center;gap:8px;font-weight:600;font-size:var(--text-sm)}.study-term-sense{font-size:10px;text-transform:uppercase;letter-spacing:.04em;padding:1px 6px;border-radius:4px;background:var(--surface-2);color:var(--muted);font-weight:600}#study-glossary:empty{display:none}.study-glossary-details{margin:var(--space-3) 0 0}.study-glossary-details summary{cursor:pointer;font-size:var(--text-sm);color:var(--muted);font-weight:600}.study-glossary-details summary:hover{color:var(--text)}.study-glossary-list{margin:var(--space-2) 0 0;padding:0}.study-glossary-list dt{font-weight:600;font-size:var(--text-sm);margin-top:8px}.study-glossary-list dt:first-child{margin-top:0}.study-glossary-list dd{margin:2px 0 0;color:var(--muted);font-size:11.5px}#study-baseline{background:var(--surface-2);border-radius:8px;padding:10px 14px;font-size:var(--text-sm)}#study-baseline .kv-row{display:flex;gap:8px;padding:2px 0}#study-baseline .kv-row b{font-family:var(--font-mono)}#study-references{margin-top:var(--space-3);font-size:11.5px;color:var(--muted)}#study-references ol{margin:4px 0 0;padding-left:18px}#study-define-actions{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);margin-top:var(--space-5);padding-top:var(--space-4);border-top:1px solid var(--panel-border)}#study-run-btn{background:var(--accent-2);color:var(--on-accent-2);border:none;border-radius:6px;padding:10px 22px;font-size:var(--text-lg);font-weight:600;cursor:pointer;font-family:var(--font-sans)}#study-run-btn:hover{opacity:.9}#study-run-btn:disabled{opacity:.5;cursor:not-allowed}#env-banner{display:flex;align-items:flex-start;gap:10px;padding:10px var(--space-5);background:color-mix(in srgb,var(--accent-2) 10%,var(--panel));border-bottom:1px solid color-mix(in srgb,var(--accent-2) 35%,var(--panel-border));color:var(--text);font-size:var(--text-sm)}#env-banner[hidden]{display:none}#env-banner-icon{color:var(--accent-2);flex:0 0 auto;margin-top:1px}#env-banner-body{flex:1;min-width:0}#env-banner-title{display:block;margin-bottom:4px;font-family:var(--font-mono);font-size:12.5px}#env-banner-list{margin:0;padding-left:1.2em;display:flex;flex-direction:column;gap:3px}#env-banner-list li{line-height:1.5}#env-banner-list li.env-banner-fix{list-style:none;margin-left:-1.2em;color:var(--muted);margin-top:2px}#env-banner-list code{background:var(--surface-2);border-radius:4px;padding:1px 5px;font-size:11.5px}#env-banner-dismiss{flex:0 0 auto;background:none;border:none;color:var(--muted);font-size:18px;line-height:1;cursor:pointer;padding:0 2px}#env-banner-dismiss:hover{color:var(--text)}.study-banner{display:flex;align-items:center;gap:8px;border-radius:8px;padding:10px 14px;font-size:var(--text-sm);margin-bottom:var(--space-4)}.study-banner[hidden]{display:none}.study-banner.ok{background:color-mix(in srgb,var(--ok) 12%,var(--panel));border:1px solid color-mix(in srgb,var(--ok) 40%,var(--panel-border));color:var(--ok)}.study-banner.running{background:color-mix(in srgb,var(--running) 12%,var(--panel));border:1px solid color-mix(in srgb,var(--running) 40%,var(--panel-border));color:var(--running)}.study-banner.bad{background:color-mix(in srgb,var(--bad) 12%,var(--panel));border:1px solid color-mix(in srgb,var(--bad) 40%,var(--panel-border));color:var(--bad)}.study-banner.partial{background:color-mix(in srgb,var(--accent-2) 12%,var(--panel));border:1px solid color-mix(in srgb,var(--accent-2) 40%,var(--panel-border));color:var(--accent-2)}#study-kpis,#study-kpis-results{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px;margin-bottom:var(--space-4)}.study-kpi{background:var(--panel);border:1px solid var(--panel-border);border-radius:8px;padding:10px 14px;box-shadow:var(--shadow-sm)}.study-kpi-label{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}.study-kpi-value{display:block;font-family:var(--font-mono);font-size:19px;font-weight:600;color:var(--text);margin-top:3px}.study-kpi-value.ok{color:var(--ok)}.study-kpi-value.bad{color:var(--bad)}#study-progress-wrap{position:relative;height:8px;border-radius:999px;background:var(--surface-2);margin-bottom:4px;overflow:hidden}#study-progress-bar{height:100%;background:var(--accent);border-radius:999px;width:0%;transition:width .3s ease}#study-progress-label{display:block;font-size:11px;color:var(--muted);margin-bottom:var(--space-4)}#study-run-panels,#study-results-panels{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4);margin-bottom:var(--space-4)}@media(max-width:760px){#study-run-panels,#study-results-panels{grid-template-columns:1fr}}.study-panel{background:var(--panel);border:1px solid var(--panel-border);border-radius:8px;padding:12px;container-type:inline-size;box-shadow:var(--shadow-sm)}.study-panel h3{margin:0 0 8px;font-size:var(--text-sm);font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.03em}#study-ranked table{width:100%;border-collapse:collapse;font-size:var(--text-sm);background:var(--panel);border:1px solid var(--panel-border);border-radius:8px;overflow:hidden;box-shadow:var(--shadow-sm)}#study-ranked th,#study-ranked td{padding:7px 10px;text-align:left;border-bottom:1px solid var(--panel-border);font-family:var(--font-mono)}#study-ranked th{font-family:var(--font-sans);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.03em;color:var(--muted);background:var(--surface-2)}#study-ranked tr.is-best{background:color-mix(in srgb,var(--ok) 10%,var(--panel))}#study-ranked tr.is-best td:first-child{font-weight:700;color:var(--ok)}#study-ranked tr.tied td:first-child:after{content:" (tied)";font-size:10px;color:var(--muted);font-weight:400}#study-ranked .feasible-yes{color:var(--ok)}#study-ranked .feasible-no{color:var(--bad)}#study-ranked-wrap{overflow-x:auto}#tour-spotlight{position:fixed;z-index:95;border-radius:8px;pointer-events:none;box-shadow:0 0 0 9999px color-mix(in srgb,black 55%,transparent);border:2px solid var(--accent);transition:left .18s ease,top .18s ease,width .18s ease,height .18s ease}#tour-spotlight[hidden]{display:none}#tour-card{position:fixed;z-index:96;width:320px;max-width:calc(100vw - 24px);background:var(--panel);border:1px solid var(--panel-border);border-radius:10px;box-shadow:var(--shadow-md);padding:14px 16px 12px}#tour-card[hidden]{display:none}#tour-card-progress{height:3px;background:var(--surface-3);border-radius:2px;overflow:hidden;margin-bottom:9px}#tour-card-progress-bar{height:100%;background:var(--accent);transition:width .2s ease}#tour-card-step-label{font-size:10.5px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin-bottom:4px}#tour-card-title{margin:0 0 6px;font-family:var(--font-display);font-size:var(--text-lg);font-weight:600;color:var(--text)}#tour-card-body{margin:0;font-size:var(--text-sm);line-height:1.5;color:var(--text)}#tour-card-hint{margin-top:9px;font-size:11.5px;color:var(--accent);font-weight:600}#tour-card-actions{display:flex;align-items:center;gap:8px;margin-top:12px}#tour-card-actions button{font-family:var(--font-sans);font-size:12.5px;padding:6px 12px;border-radius:6px;cursor:pointer;border:1px solid var(--panel-border);background:var(--btn-bg);color:var(--text)}#tour-card-actions button:hover{background:var(--surface-4)}#tour-card-actions #tour-card-skip{background:none;border:none;color:var(--muted);text-decoration:underline;padding:6px 4px}#tour-card-actions button.primary{background:var(--accent);color:var(--on-accent);border-color:var(--accent);font-weight:600}#tour-card-actions button.primary:hover{background:color-mix(in srgb,var(--accent) 88%,black)}#grapher[hidden]{display:none}#grapher{display:flex;flex-direction:column;flex:1 1 auto;min-height:0;background:var(--bg)}#grapher-header{display:flex;align-items:center;gap:var(--space-3);padding:12px 20px;border-bottom:1px solid var(--panel-border);background:var(--panel);flex-shrink:0}#grapher-close{background:var(--btn-bg);border:none;color:var(--text);border-radius:6px;width:30px;height:30px;font-size:15px;cursor:pointer;flex-shrink:0}#grapher-close:hover{opacity:.85}#grapher-header-text{flex:1;min-width:0}#grapher-title{font-family:var(--font-display);font-size:19px;margin:0;color:var(--text);font-weight:600}#grapher-mode-toggle{display:flex;border:1px solid var(--panel-border);border-radius:7px;overflow:hidden}.grapher-mode-btn{background:var(--panel);border:none;color:var(--muted);padding:6px 14px;cursor:pointer;font-family:var(--font-mono);font-size:12.5px;border-right:1px solid var(--panel-border)}.grapher-mode-btn:last-child{border-right:none}.grapher-mode-btn.active{background:var(--accent);color:var(--on-accent);font-weight:600}.grapher-mode-btn:hover:not(.active){background:var(--surface-3)}#grapher-body{flex:1 1 auto;min-height:0;display:flex}#grapher-sidebar{width:280px;flex-shrink:0;border-right:1px solid var(--panel-border);background:var(--panel);padding:14px;overflow-y:auto;display:flex;flex-direction:column;gap:4px}.grapher-expr-row{display:flex;align-items:center;gap:6px;margin-bottom:6px}.grapher-expr-swatch{width:10px;height:10px;border-radius:50%;flex-shrink:0}.grapher-expr-row input[type=text]{flex:1;min-width:0;background:var(--surface-well);border:1px solid var(--panel-border);color:var(--text);border-radius:6px;padding:6px 8px;font-family:var(--font-mono);font-size:12.5px}.grapher-expr-vis,.grapher-expr-remove{background:none;border:none;color:var(--muted);cursor:pointer;font-size:13px;flex-shrink:0;width:20px}.grapher-expr-vis.off{opacity:.4}.grapher-expr-remove:hover{color:var(--bad)}#grapher-add-expr{background:var(--btn-bg);border:none;color:var(--text);border-radius:6px;padding:7px 10px;cursor:pointer;font-size:12.5px;margin:2px 0 12px;text-align:left}#grapher-add-expr:hover{background:var(--surface-4)}#grapher-params{display:flex;flex-direction:column;gap:10px;padding-top:6px;border-top:1px solid var(--panel-border)}.grapher-param-row{display:flex;flex-direction:column;gap:3px}.grapher-param-row label{font-family:var(--font-mono);font-size:11.5px;color:var(--text)}.grapher-param-row input[type=range]{width:100%;accent-color:var(--accent)}#grapher-actions{display:flex;flex-direction:column;gap:6px;margin-top:16px}#grapher-actions button{font-family:var(--font-sans);font-size:12.5px;padding:8px 10px;border-radius:7px;cursor:pointer;border:1px solid var(--panel-border);background:var(--btn-bg);color:var(--text)}#grapher-actions button.primary{background:var(--accent-2);color:var(--on-accent-2);border-color:var(--accent-2);font-weight:600}#grapher-actions button:hover{opacity:.9}#grapher-hint{font-size:11px;margin-top:8px}#grapher-hint.grapher-error{color:var(--bad)}#grapher-chart-area{flex:1 1 auto;min-width:0;padding:20px;overflow:auto}#grapher-chart{max-width:1400px;margin:0 auto}#solver[hidden]{display:none}#solver{display:flex;flex-direction:column;flex:1 1 auto;min-height:0;background:var(--bg)}#solver-header{display:flex;align-items:center;gap:var(--space-3);padding:12px 20px;border-bottom:1px solid var(--panel-border);background:var(--panel);flex-shrink:0}#solver-close{background:var(--btn-bg);border:none;color:var(--text);border-radius:6px;width:30px;height:30px;font-size:15px;cursor:pointer;flex-shrink:0}#solver-close:hover{opacity:.85}#solver-header-text{flex:1;min-width:0}#solver-title{font-family:var(--font-display);font-size:19px;margin:0;color:var(--text);font-weight:600}#solver-body{flex:1 1 auto;min-height:0;display:flex}#solver-sidebar{width:340px;flex-shrink:0;border-right:1px solid var(--panel-border);background:var(--panel);padding:14px;overflow-y:auto;display:flex;flex-direction:column;gap:4px}.solver-section-title{font-size:12.5px;text-transform:uppercase;letter-spacing:.03em;color:var(--muted);margin:10px 0 6px}.solver-section-title code{font-size:11px}.solver-eq-row,.solver-unknown-row{display:flex;align-items:center;gap:6px;margin-bottom:6px}.solver-eq-row input[type=text]{flex:1;min-width:0;background:var(--surface-well);border:1px solid var(--panel-border);color:var(--text);border-radius:6px;padding:6px 8px;font-family:var(--font-mono);font-size:12.5px}.solver-unknown-row .solver-unknown-name{font-family:var(--font-mono);font-size:12.5px;color:var(--text);width:70px;flex-shrink:0}.solver-unknown-row input[type=number]{flex:1;min-width:0;background:var(--surface-well);border:1px solid var(--panel-border);color:var(--text);border-radius:6px;padding:6px 8px;font-family:var(--font-mono);font-size:12.5px}.solver-eq-remove{background:none;border:none;color:var(--muted);cursor:pointer;font-size:13px;flex-shrink:0;width:20px}.solver-eq-remove:hover{color:var(--bad)}#solver-add-eq{background:var(--btn-bg);border:none;color:var(--text);border-radius:6px;padding:7px 10px;cursor:pointer;font-size:12.5px;margin:2px 0 12px;text-align:left}#solver-add-eq:hover{background:var(--surface-4)}#solver-actions{display:flex;flex-direction:column;gap:6px;margin-top:16px}#solver-actions button{font-family:var(--font-sans);font-size:12.5px;padding:8px 10px;border-radius:7px;cursor:pointer;border:1px solid var(--panel-border);background:var(--btn-bg);color:var(--text)}#solver-actions button.primary{background:var(--accent-2);color:var(--on-accent-2);border-color:var(--accent-2);font-weight:600}#solver-actions button:hover{opacity:.9}#solver-hint{font-size:11px;margin-top:8px}#solver-hint.solver-error{color:var(--bad)}#solver-results-area{flex:1 1 auto;min-width:0;padding:20px;overflow:auto}#solver-results{max-width:none;margin:0}.solver-status-banner{padding:10px 14px;border-radius:8px;margin-bottom:16px;font-size:13px;border:1px solid var(--panel-border)}.solver-status-banner.ok{background:color-mix(in srgb,var(--ok) 14%,transparent);border-color:var(--ok)}.solver-status-banner.bad{background:color-mix(in srgb,var(--bad) 14%,transparent);border-color:var(--bad)}.solver-results-table{width:100%;border-collapse:collapse;font-family:var(--font-mono);font-size:12.5px;margin-bottom:18px}.solver-results-table th,.solver-results-table td{text-align:left;padding:6px 10px;border-bottom:1px solid var(--panel-border)}.solver-results-table th{color:var(--muted);font-weight:600;font-family:var(--font-sans);font-size:11.5px;text-transform:uppercase;letter-spacing:.03em}#fitdata-overlay{display:block}#fitdata-overlay[hidden]{display:none}#fitdata-panel{padding:0}#fitdata-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}#fitdata-header h3{margin:0;font-family:var(--font-display);font-size:15px;color:var(--text)}#fitdata-input{width:100%;box-sizing:border-box;background:var(--surface-well);border:1px solid var(--panel-border);color:var(--text);border-radius:7px;padding:8px 10px;font-family:var(--font-mono);font-size:12.5px;margin:8px 0 10px;resize:vertical}#fitdata-run{background:var(--accent-2);color:var(--on-accent-2);border:none;border-radius:7px;padding:8px 14px;font-weight:600;cursor:pointer;font-family:var(--font-sans)}#fitdata-run:disabled{opacity:.5;cursor:not-allowed}#fitdata-status{margin:10px 0 6px;font-size:12px}#fitdata-results{display:flex;flex-direction:column;gap:6px}.fitdata-results-head{display:flex;align-items:center;gap:6px;font-size:11px;margin-bottom:2px}.fitdata-sort-btn{padding:2px 8px;border-radius:5px;border:1px solid var(--panel-border);background:var(--surface-well);color:var(--muted);font-size:11px;cursor:pointer}.fitdata-sort-btn:hover{color:var(--text);border-color:var(--accent)}.fitdata-sort-btn.active{color:var(--on-accent);background:var(--accent);border-color:var(--accent)}.fitdata-engine-badge{align-self:flex-start;font-size:9.5px;font-weight:600;letter-spacing:.02em;color:var(--muted);border:1px solid var(--panel-border);border-radius:4px;padding:0 5px;text-transform:uppercase}.fitdata-result-row{display:flex;flex-direction:column;gap:2px;text-align:left;padding:8px 10px;border:1px solid var(--panel-border);border-radius:7px;background:var(--surface-well);cursor:pointer}.fitdata-result-row:hover{border-color:var(--accent);background:var(--accent-tint)}.fitdata-result-expr{font-family:var(--font-mono);font-size:12.5px;color:var(--text)}.fitdata-result-meta{font-size:10.5px;color:var(--muted)}.fitdata-result-best{border-color:var(--ok);background:color-mix(in srgb,var(--ok) 10%,var(--surface-well))}.fitdata-best-badge{align-self:flex-start;background:var(--ok);color:var(--on-accent);font-size:9.5px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:1px 6px;border-radius:4px}.fitdata-accurate-badge{background:var(--accent);cursor:help}.fitdata-result-warning{align-self:flex-start;color:var(--bad);font-size:10.5px;font-weight:600;cursor:help}#monitor-overlay{position:fixed;inset:0;z-index:90;background:var(--bg);display:flex;flex-direction:column}#monitor-overlay[hidden]{display:none}#monitor-header{display:flex;align-items:center;gap:var(--space-4);flex-wrap:wrap;padding:10px var(--space-5);background:var(--panel);border-bottom:1px solid var(--panel-border);box-shadow:var(--shadow-sm);flex-shrink:0}#monitor-header-left{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap;min-width:0}#monitor-run-label{font-family:var(--font-display);font-size:var(--text-lg);color:var(--text);white-space:nowrap}#monitor-run-meta{font-size:var(--text-sm);white-space:nowrap}#monitor-progress-wrap{flex:1 1 120px;min-width:80px;height:6px;border-radius:3px;background:var(--surface-3);overflow:hidden}#monitor-progress-wrap[hidden]{display:none}#monitor-progress-bar{height:100%;width:0%;background:var(--accent);transition:width .15s linear}#monitor-header-actions{display:flex;align-items:center;gap:8px;margin-left:auto;flex-wrap:wrap}#monitor-layout-label{font-size:var(--text-sm);color:var(--muted);display:flex;align-items:center;gap:4px}#monitor-header-actions select{background:var(--btn-bg);color:var(--text);border:1px solid var(--panel-border);border-radius:6px;padding:4px 6px;font-family:var(--font-sans);font-size:12px}#monitor-header-actions button{background:var(--btn-bg);color:var(--text);border:1px solid var(--panel-border);border-radius:6px;padding:6px 11px;font-size:12.5px;font-weight:600;cursor:pointer;font-family:var(--font-sans)}#monitor-header-actions button:hover{border-color:var(--accent)}#monitor-rec-mp4.recording,#monitor-rec-screen.recording{background:var(--bad);color:var(--on-accent-2);border-color:var(--bad)}#monitor-close{font-size:18px;line-height:1;padding:4px 10px}#monitor-popped-note{padding:8px var(--space-5);background:var(--accent-tint);color:var(--text);font-size:13px;display:flex;align-items:center;gap:10px;flex-shrink:0}#monitor-popped-note[hidden]{display:none}#monitor-popped-note button{background:var(--accent);color:var(--on-accent);border:none;border-radius:6px;padding:4px 10px;font-weight:600;cursor:pointer;font-size:12px}#monitor-body{flex:1 1 auto;min-height:0;overflow:auto;padding:var(--space-4) var(--space-5)}#monitor-node-tabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:var(--space-3)}.monitor-node-tab{background:var(--btn-bg);color:var(--text);border:1px solid var(--panel-border);border-radius:999px;padding:4px 12px;font-size:12px;cursor:pointer;font-family:var(--font-mono)}.monitor-node-tab.active{background:var(--accent);color:var(--on-accent);border-color:var(--accent);font-weight:600}.monitor-node-tab.no-data{opacity:.5;cursor:default}.monitor-grid{display:grid;gap:var(--space-4);grid-template-columns:1fr}.monitor-grid-2,.monitor-grid-4{grid-template-columns:repeat(2,1fr)}.monitor-grid-6{grid-template-columns:repeat(3,1fr)}@media(max-width:900px){.monitor-grid-2,.monitor-grid-4,.monitor-grid-6{grid-template-columns:1fr}}.monitor-panel{background:var(--panel);border:1px solid var(--panel-border);border-radius:10px;box-shadow:var(--shadow-sm);padding:var(--space-3);display:flex;flex-direction:column;gap:6px;min-width:0}.monitor-panel-head{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.monitor-panel-head select{background:var(--surface-well);color:var(--text);border:1px solid var(--panel-border);border-radius:5px;padding:3px 5px;font-size:11.5px;font-family:var(--font-sans)}.monitor-panel-head .mp-note{font-size:10.5px;color:var(--muted);margin-left:auto;text-align:right}.monitor-panel-chart{min-height:160px}.monitor-panel-sliders{display:flex;flex-direction:column;gap:4px;border-top:1px dashed var(--panel-border);padding-top:6px}.mp-slider-row{display:flex;align-items:center;gap:6px}.mp-slider-label{font-size:10.5px;color:var(--muted);font-family:var(--font-mono);min-width:110px}.mp-slider-row input[type=range]{flex:1 1 auto}.mp-slider-unpin{background:none;border:1px solid var(--panel-border);border-radius:4px;color:var(--muted);cursor:pointer;font-size:11px;padding:1px 5px}.mp-slider-unpin[hidden],#intro[hidden]{display:none}#intro{display:flex;flex-direction:column;flex:1 1 auto;min-height:0;background:var(--bg)}#intro-header{display:flex;align-items:center;gap:var(--space-3);padding:12px 20px;border-bottom:1px solid var(--panel-border);background:var(--panel);flex-shrink:0}#intro-header h1{margin:0;font-family:var(--font-display);font-size:18px;font-weight:600;color:var(--text)}#intro-close{background:none;border:1px solid var(--panel-border);border-radius:7px;color:var(--text);font-size:16px;padding:4px 10px;cursor:pointer}#intro-close:hover{border-color:var(--accent)}#intro-body{flex:1 1 auto;min-height:0;overflow-y:auto;padding:28px 32px 60px;max-width:880px;margin:0 auto;width:100%;box-sizing:border-box}#intro-etymology{font-size:var(--text-md);line-height:1.6;color:var(--text);max-width:72ch}#intro-taglines{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0 8px}.intro-tagline{font-family:var(--font-display);font-style:italic;font-size:12.5px;color:var(--accent);background:var(--accent-tint);padding:5px 12px;border-radius:999px}#intro-arch-caption{max-width:68ch}#intro-arch-wrap{background:var(--panel);border:1px solid var(--panel-border);border-radius:10px;padding:10px;margin:4px 0 var(--space-5);box-shadow:var(--shadow-sm)}#intro-arch-svg{width:100%;height:auto;display:block}.capability-like-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-3);margin-bottom:var(--space-5)}@media(max-width:760px){.capability-like-grid{grid-template-columns:1fr}}.capability-like-grid .capability-item{align-items:flex-start}.capability-like-grid .capability-text span{font-size:12px;line-height:1.5}#intro-feature-table{width:100%;border-collapse:collapse;margin-bottom:var(--space-5);font-size:13px}#intro-feature-table th,#intro-feature-table td{text-align:left;padding:8px 12px;border-bottom:1px solid var(--panel-border)}#intro-feature-table th{color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.04em}#intro-feature-table td:first-child{font-weight:600;color:var(--text);white-space:nowrap}#intro-ctas{display:flex;gap:10px;flex-wrap:wrap;margin-top:var(--space-4)}#intro-ctas button{background:var(--btn-bg);color:var(--text);border:1px solid var(--panel-border);border-radius:8px;padding:9px 16px;font-weight:600;font-size:13px;cursor:pointer;font-family:var(--font-sans)}#intro-ctas button.primary{background:var(--accent-2);color:var(--on-accent-2);border-color:var(--accent-2)}#intro-ctas button:hover{border-color:var(--accent)}#intro-ctas button.primary:hover{background:color-mix(in srgb,var(--accent-2) 88%,black)}@media(max-width:600px){#intro-body{padding:20px 16px 48px}}#learn[hidden]{display:none}#learn{display:flex;flex-direction:column;flex:1 1 auto;min-height:0;background:var(--bg)}#learn-header{display:flex;align-items:center;gap:var(--space-3);padding:12px 20px;border-bottom:1px solid var(--panel-border);background:var(--panel);flex-shrink:0}#learn-header h1{margin:0;font-family:var(--font-display);font-size:18px;font-weight:600;color:var(--text)}#learn-close{background:none;border:1px solid var(--panel-border);border-radius:7px;color:var(--text);font-size:16px;padding:4px 10px;cursor:pointer}#learn-close:hover{border-color:var(--accent)}#learn-body{flex:1 1 auto;min-height:0;overflow-y:auto;padding:28px 32px 60px;max-width:880px;margin:0 auto;width:100%;box-sizing:border-box}#learn-grid.capability-like-grid{grid-template-columns:repeat(2,1fr)}@media(max-width:700px){#learn-grid.capability-like-grid{grid-template-columns:1fr}}.learn-card{display:flex;flex-direction:column;gap:8px;padding:16px;border:1px solid var(--panel-border);border-radius:10px;background:var(--panel);box-shadow:var(--shadow-sm)}.learn-card-done{border-color:var(--ok)}.learn-card-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.learn-card-head b{font-size:var(--text-md);color:var(--text);font-family:var(--font-display)}.learn-card-check{font-size:11px;color:var(--ok);font-weight:600;white-space:nowrap}.learn-card-desc{margin:0;font-size:12.5px;color:var(--muted);line-height:1.5;flex:1 1 auto}.learn-card-steps{font-size:10.5px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.learn-card button{align-self:flex-start;background:var(--accent);color:var(--on-accent);border:none;border-radius:7px;padding:7px 14px;font-weight:600;font-size:12.5px;cursor:pointer;font-family:var(--font-sans);margin-top:4px}.learn-card button:hover{background:color-mix(in srgb,var(--accent) 88%,black)}@media(max-width:600px){#learn-body{padding:20px 16px 48px}}#history[hidden]{display:none}#history{display:flex;flex-direction:column;flex:1 1 auto;min-height:0;background:var(--bg)}#history-header{display:flex;align-items:center;gap:var(--space-3);padding:12px 20px;border-bottom:1px solid var(--panel-border);background:var(--panel);flex-shrink:0}#history-header h1{margin:0;font-family:var(--font-display);font-size:18px;font-weight:600;color:var(--text)}#history-close{background:none;border:1px solid var(--panel-border);border-radius:7px;color:var(--text);font-size:16px;padding:4px 10px;cursor:pointer}#history-close:hover{border-color:var(--accent)}#history-body{flex:1 1 auto;min-height:0;overflow-y:auto;padding:20px 32px 60px;max-width:880px;margin:0 auto;width:100%;box-sizing:border-box}@media(max-width:600px){#history-body{padding:16px 16px 48px}}.history-row{display:flex;align-items:center;gap:14px;padding:10px 14px;border:1px solid var(--panel-border);border-radius:8px;background:var(--panel);box-shadow:var(--shadow-sm);margin-bottom:8px;flex-wrap:wrap}.history-row--failed{border-color:var(--bad)}.history-time{font-family:var(--font-mono);font-size:11px;color:var(--muted);white-space:nowrap}.history-desc{flex:1 1 auto;font-size:var(--text-sm);color:var(--text)}.history-row--failed .history-desc{color:var(--bad)}.history-wall{font-family:var(--font-mono);font-size:11px;color:var(--muted);white-space:nowrap}.history-row button{background:var(--surface-2);border:1px solid var(--panel-border);color:var(--text);border-radius:6px;padding:5px 11px;font-size:12px;cursor:pointer;font-family:var(--font-sans)}.history-row button:hover:not(:disabled){border-color:var(--accent);background:var(--surface-3)}.history-row button:disabled{opacity:.6;cursor:default}.section-desc{margin:3px 0 0;color:var(--muted);font-size:var(--text-sm);max-width:60ch}.section-tutorial-btn{background:none;border:1px solid var(--panel-border);border-radius:7px;color:var(--muted);font-size:12px;padding:5px 12px;cursor:pointer;font-family:var(--font-sans);flex-shrink:0}.section-tutorial-btn:hover{border-color:var(--accent);color:var(--text)}.learn-show-all{grid-column:1 / -1;justify-self:start;background:none;border:1px dashed var(--panel-border);border-radius:7px;color:var(--muted);font-size:12px;padding:6px 12px;cursor:pointer;font-family:var(--font-sans);margin-bottom:4px}.learn-show-all:hover{border-color:var(--accent);color:var(--text)}.learn-sections{display:flex;flex-direction:column;gap:var(--space-4, 24px)}.learn-section-title{margin:0 0 10px;font-family:var(--font-display);font-size:15px;color:var(--text)}.benchmark-picker{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:var(--space-2, 8px)}.benchmark-card{display:flex;flex-direction:column;align-items:flex-start;gap:4px;text-align:left;padding:var(--space-3, 12px);border:1px solid var(--border, #d0d7de);border-radius:10px;background:var(--surface, transparent);color:inherit;cursor:pointer;font:inherit}.benchmark-card:hover{border-color:var(--accent)}.benchmark-card.selected{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent) inset}.benchmark-card code{font-size:11px;overflow-wrap:anywhere}.benchmark-blurb{font-size:12px;color:var(--muted)}.benchmark-facts{font-size:11px;color:var(--muted)}.benchmark-badge{font-size:10px;text-transform:uppercase;letter-spacing:.04em;padding:1px 6px;border-radius:999px;border:1px solid var(--border, #d0d7de);color:var(--muted)}.benchmark-badge.diff-hard{color:var(--bad);border-color:var(--bad)}#canvas-wrap{min-width:0}@media(max-width:900px){#layout{flex-direction:column}#palette{width:auto;max-height:34vh;border-right:0;border-bottom:1px solid var(--panel-border)}#notebook{width:auto;flex-shrink:1;border-left:0;border-top:1px solid var(--panel-border)}#split-handle{display:none}#canvas-wrap{min-height:320px}}@media(max-width:720px){#topbar{gap:var(--space-1, 4px)}#topbar .topbar-btn-label{display:none}}#notebook-steps{display:flex;gap:var(--space-2);position:sticky;top:calc(-1 * var(--space-3));z-index:2;background:var(--bg);padding:var(--space-2) 0;border-bottom:1px solid var(--panel-border)}.step-btn{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border-radius:999px;border:1px solid var(--panel-border);background:var(--surface, transparent);color:var(--muted);font:inherit;font-size:var(--text-sm);cursor:pointer}.step-btn .step-num{display:inline-grid;place-items:center;width:20px;height:20px;border-radius:50%;border:1px solid currentColor;font-size:11px;font-weight:600}.step-btn.active{color:var(--accent);border-color:var(--accent);font-weight:600}.step-btn.active .step-num{background:var(--accent);border-color:var(--accent);color:#fff}.step-btn.done{color:var(--good, #1a7f37)}.step-btn.done .step-num{font-size:0}.step-btn.done .step-num:before{content:"\2713";font-size:12px}.step-btn:disabled{opacity:.45;cursor:default}#notebook[data-step=define] #notebook-run-row,#notebook[data-step=define] #notebook-live-cell,#notebook[data-step=define] #cell-stack,#notebook[data-step=run] #notebook-current-cell,#notebook[data-step=results] #notebook-current-cell{display:none}.topbar-group{display:inline-flex;align-items:center;gap:4px;padding-left:10px;margin-left:4px;border-left:1px solid var(--panel-border)}.topbar-group:first-child{border-left:0;padding-left:0;margin-left:0}.topbar-run{gap:6px}@media(max-width:1180px){#subtitle{display:none}#topbar{align-items:center}}#topbar{align-items:center;padding:5px 14px;gap:10px}#toolbar{display:flex;align-items:center;flex-shrink:0;position:relative;z-index:29;padding:6px 14px;background:var(--panel);border-bottom:1px solid var(--panel-border)}#toolbar #topbar-actions{justify-content:flex-start}#menubar{display:flex;align-items:center;gap:2px;margin-left:6px}.menu{position:relative}.menu-title{background:none;border:0;color:var(--text);font:inherit;font-size:var(--text-sm);padding:6px 10px;border-radius:6px;cursor:pointer}.menu-title:hover,.menu-title[aria-expanded=true]{background:var(--surface-4)}.menu-panel{position:absolute;top:calc(100% + 4px);left:0;z-index:60;min-width:230px;padding:4px;background:var(--panel);border:1px solid var(--panel-border);border-radius:8px;box-shadow:var(--shadow-md)}.menu-panel[hidden]{display:none}.menu-panel button{display:flex;align-items:center;gap:8px;width:100%;text-align:left;margin:0;background:none;border:0;color:var(--text);font:inherit;font-size:var(--text-sm);padding:7px 10px;border-radius:6px;cursor:pointer}.menu-panel button:hover:not(:disabled),.menu-panel button:focus-visible{background:var(--surface-4)}.menu-panel button:disabled{opacity:.45;cursor:not-allowed}.menu-panel button svg{flex-shrink:0;opacity:.85}.menu-panel kbd{margin-left:auto;padding-left:18px;color:var(--muted);font-family:var(--font-mono);font-size:11px}.menu-panel hr{border:0;border-top:1px solid var(--panel-border);margin:4px 2px}.menu-panel button[role=menuitemcheckbox]:before{content:"";display:inline-block;width:14px;flex-shrink:0}.menu-panel button[role=menuitemcheckbox][aria-checked=true]:before{content:"\2713";color:var(--accent)}#canvas-stage{position:relative;flex:1;min-width:0;display:flex}#canvas-stage>#canvas-wrap{flex:1}#canvas-sizer{position:relative}#canvas-scene{position:absolute;top:0;left:0;width:2400px;height:1600px;transform-origin:0 0}.canvas-hud{position:absolute;z-index:8}#canvas-stage:has(#start-panel:not([hidden])) .canvas-hud{display:none}#tool-rail{position:relative;order:-1;align-self:flex-start;flex-shrink:0;margin:10px 0 0 8px;display:flex;flex-direction:column;gap:2px;padding:6px;background:var(--panel);border:1px solid var(--panel-border);border-radius:12px;box-shadow:var(--shadow-sm)}.tool-btn{width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;background:none;border:0;border-radius:8px;color:var(--muted);cursor:pointer}.tool-btn:hover{background:var(--surface-4);color:var(--text)}.tool-btn.active{background:var(--accent);color:var(--on-accent)}.tool-btn[aria-pressed=false]:not(.active){color:var(--muted)}.tool-sep{height:1px;background:var(--panel-border);margin:4px 6px}#zoom-control{left:66px;bottom:12px;display:flex;align-items:center;padding:3px;background:var(--panel);border:1px solid var(--panel-border);border-radius:999px;box-shadow:var(--shadow-sm)}#zoom-control button{min-width:28px;height:26px;padding:0 6px;background:none;border:0;border-radius:999px;color:var(--text);font:inherit;font-size:15px;line-height:1;cursor:pointer}#zoom-control button:hover{background:var(--surface-4)}#zoom-control #zoom-readout{min-width:54px;font-family:var(--font-mono);font-size:12px}#minimap{right:14px;bottom:12px;width:190px;height:126px;overflow:hidden;cursor:crosshair;touch-action:none;background:var(--panel);border:1px solid var(--panel-border);border-radius:10px;box-shadow:var(--shadow-sm)}#minimap[hidden]{display:none}#minimap-svg{width:100%;height:100%;display:block}#minimap-svg .mm-node,#minimap-svg .mm-edge,#minimap-svg .mm-view{vector-effect:non-scaling-stroke}#minimap-svg .mm-node{fill:var(--surface-4);stroke:var(--accent);stroke-width:1.5px}#minimap-svg .mm-node.status-running{stroke:var(--running);fill:color-mix(in srgb,var(--running) 22%,transparent)}#minimap-svg .mm-node.status-done{stroke:var(--ok);fill:color-mix(in srgb,var(--ok) 22%,transparent)}#minimap-svg .mm-node.status-failed{stroke:var(--bad);fill:color-mix(in srgb,var(--bad) 22%,transparent)}#minimap-svg .mm-node.selected{stroke-width:3px}#minimap-svg .mm-edge{stroke:var(--muted);stroke-width:1px;opacity:.6;fill:none}#minimap-svg .mm-view{fill:var(--accent);fill-opacity:.12;stroke:var(--accent);stroke-width:1.5px}#canvas-stage[data-tool=pan] #canvas-wrap{cursor:grab}#canvas-stage[data-tool=pan] #canvas-wrap.panning{cursor:grabbing;user-select:none}#canvas-stage[data-tool=pan] #canvas-scene{pointer-events:none}#layout.palette-hidden #palette{display:none}@media(max-width:900px){#canvas-stage{min-height:320px}#tool-rail .tool-sep{width:1px;height:auto;margin:4px}#zoom-control{left:8px}#minimap{width:140px;height:93px}}@media(max-width:720px){#subtitle{display:none}#menubar{flex-wrap:wrap}}#canvas-hint{left:190px;bottom:16px;max-width:300px}@media(max-width:900px){#tool-rail{order:0;flex-direction:row;margin:6px 8px;align-self:auto}}#grapher-mode-toggle{flex-wrap:wrap}#grapher-domain,#grapher-colour{border:1px solid var(--panel-border);border-radius:8px;padding:8px 10px 10px;margin:12px 0 0}#grapher-domain legend,#grapher-colour legend{font-size:11px;color:var(--muted);padding:0 4px}.gd-row[hidden]{display:none}.gd-row{display:flex;align-items:center;gap:6px;margin-top:6px;font-size:12px;color:var(--text)}.gd-row input[type=number]{width:74px;min-width:0;padding:3px 5px;background:var(--surface-2, var(--panel));color:var(--text);border:1px solid var(--panel-border);border-radius:5px;font-family:var(--font-mono);font-size:12px}.gd-row label{display:inline-flex;align-items:center;gap:4px}.grapher-param-bounds{display:flex;align-items:center;gap:4px;font-size:11px;color:var(--muted)}.grapher-param-bounds input{width:58px;padding:2px 4px;background:var(--surface-2, var(--panel));color:var(--text);border:1px solid var(--panel-border);border-radius:4px;font-family:var(--font-mono);font-size:11px}.grapher-param-play{margin-left:auto;padding:1px 8px;border:1px solid var(--panel-border);border-radius:5px;background:var(--surface-3);color:var(--text);cursor:pointer}#grapher-recover-options{border:1px solid var(--panel-border);border-radius:8px;padding:6px 10px 10px}#grapher-recover-options[hidden]{display:none}#grapher-recover-options summary{cursor:pointer;font-weight:600;font-size:12.5px}#grapher-recover-options label{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:6px;font-size:12px}#grapher-recover-options select{max-width:100%}#grapher-recover-options select,#grapher-recover-options input[type=text],#grapher-recover-options input[type=number]{max-width:150px;background:var(--surface-2, var(--panel));color:var(--text);border:1px solid var(--panel-border);border-radius:5px;padding:3px 5px;font-size:12px}#grapher-recover-options .gr-check{justify-content:flex-start}#grapher-io{display:flex;gap:6px}#grapher-io button{flex:1}.graph-toolbar{display:flex;align-items:center;gap:6px;margin:6px 0 2px;flex-wrap:wrap}.graph-toolbar button{padding:2px 10px;min-width:30px;border:1px solid var(--panel-border);border-radius:6px;background:var(--surface-3);color:var(--text);font-size:12px;cursor:pointer}.graph-toolbar button:hover{background:var(--surface-4)}.graph-readout{margin-left:auto;font-family:var(--font-mono);font-size:11px;color:var(--muted)}.chart-contour-label{font-size:9.5px;font-family:var(--font-mono);fill:var(--chart-ink);paint-order:stroke;stroke:var(--panel);stroke-width:3px;stroke-linejoin:round;pointer-events:none}.geometry-fit{display:flex;flex-direction:column;gap:14px}.graph-kpis{display:flex;flex-wrap:wrap;gap:10px}.graph-kpi{display:flex;flex-direction:column;gap:2px;padding:8px 12px;border:1px solid var(--panel-border);border-radius:8px;background:var(--panel);min-width:96px}.graph-kpi-label{font-size:10.5px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.graph-kpi-value{font-family:var(--font-mono);font-size:14px;color:var(--text)}.geometry-equations-wrap{overflow-x:auto;border:1px solid var(--panel-border);border-radius:8px}.geometry-equations{width:100%}.geometry-equations code{font-family:var(--font-mono);font-size:12px;white-space:pre-wrap;word-break:break-word;color:var(--text)}.geometry-view{min-width:0}.geometry-equations th:nth-child(3),.geometry-equations td:nth-child(3){text-align:left}.graph-export-dialog{max-width:460px}.graph-export-dialog textarea{width:100%;box-sizing:border-box;background:var(--surface-2, var(--panel));color:var(--text);border:1px solid var(--panel-border);border-radius:6px;padding:6px 8px;font:inherit;font-size:12px;resize:vertical}.ged-label{font-size:12px;color:var(--muted);margin:4px 0 6px}.ged-formats{display:flex;flex-direction:column;gap:4px;margin-bottom:12px}.ged-format{display:flex!important;align-items:flex-start;gap:8px;margin:0!important;padding:6px 8px;border:1px solid var(--panel-border);border-radius:7px;cursor:pointer;color:var(--text)!important}.ged-format:hover{background:var(--surface-3)}.ged-format input{margin-top:3px;width:auto}.ged-format strong{display:block;font-size:12.5px}.ged-format small{display:block;color:var(--muted);font-size:11px}.ged-status{min-height:1.3em}.ged-status.ged-error{color:var(--bad);white-space:pre-wrap}.scene3d-stack{position:relative}.scene3d-canvas{position:absolute;pointer-events:none}.chart-wrap.has-gl{background:var(--panel);border-radius:6px}.chart-wrap.has-gl .chart-svg{position:relative;background:transparent}.graph-toolbar button.active{background:var(--accent-soft, rgba(80,120,220,.14));border-color:var(--accent, currentColor)}.data-panel{max-width:780px}#data-drop{border:1.5px dashed var(--border-strong, var(--border));border-radius:10px;padding:18px 16px;text-align:center;cursor:pointer;margin:8px 0;background:var(--panel-alt, transparent);transition:border-color .12s,background .12s}#data-drop:hover,#data-drop:focus-visible,#data-drop.over{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 7%,transparent);outline:none}.data-drop-title{font-weight:600;margin-bottom:2px}#data-paste-box{margin:6px 0}#data-paste-box summary{cursor:pointer;color:var(--text-muted, inherit);font-size:12.5px}#data-summary{margin:6px 0 4px;font-weight:500}#data-preview{overflow-x:auto;margin-bottom:8px}.data-preview-table{border-collapse:collapse;font-family:var(--font-mono);font-size:12px;min-width:100%}.data-preview-table th,.data-preview-table td{border-bottom:1px solid var(--border);padding:4px 10px;text-align:right;white-space:nowrap}.data-preview-table th{vertical-align:bottom;font-weight:600;text-align:left}.data-preview-table th.num{text-align:right}.data-col-name{margin-bottom:3px}.data-preview-table select{font-size:11.5px}#data-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:8px 0}#data-actions[hidden]{display:none}.data-backend{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;margin-left:auto}.fitdata-result-expr{overflow-wrap:anywhere}.section-controls{display:inline-flex;align-items:center;gap:6px;margin-left:4px}.section-controls .section-slider{width:150px;accent-color:var(--chart-series-2)}.section-controls button.active{border-color:var(--chart-series-2)}.section-readout{white-space:nowrap}.section-inset{position:absolute;top:44px;right:12px;background:var(--panel);border:1px solid var(--panel-border);border-radius:6px;box-shadow:var(--shadow-md);pointer-events:none}.section-inset-svg{display:block}#grapher-sidebar{width:268px}.rail-head{display:flex;align-items:center;justify-content:space-between;margin:0 0 8px}.rail-title{font-family:var(--font-display);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--muted)}.rail-toggle{font-size:11px;padding:3px 8px;border-radius:999px;border:1px solid var(--panel-border);background:transparent;color:var(--muted);cursor:pointer}.rail-toggle[aria-pressed=true]{color:var(--text);border-color:var(--accent);background:var(--accent-tint)}.layer-add{display:flex;gap:4px;margin:2px 0 12px}.layer-add button{flex:1;min-width:0;background:var(--btn-bg);border:1px dashed var(--panel-border);color:var(--text);border-radius:6px;padding:6px 4px;cursor:pointer;font-size:11.5px;white-space:nowrap}.layer-add button:hover{border-style:solid;border-color:var(--accent);background:var(--accent-tint)}#grapher-add-expr{margin:0;text-align:center}.grapher-layer-row{display:flex;align-items:center;gap:6px;margin-bottom:6px;padding:5px 6px;border:1px solid var(--panel-border);border-radius:7px;background:var(--surface-well);font-size:12px}.grapher-layer-row .layer-kind{width:16px;text-align:center;color:var(--muted);flex-shrink:0}.grapher-layer-row .layer-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.grapher-layer-row .layer-meta{color:var(--muted);font-size:10.5px;white-space:nowrap}.grapher-layer-row.off{opacity:.5}.grapher-layer-row button{background:none;border:none;color:var(--muted);cursor:pointer;width:20px;flex-shrink:0}.grapher-layer-row button:hover{color:var(--text)}#grapher-chart-area{display:flex;flex-direction:column;gap:14px}#grapher-chart{width:100%;flex:1 1 auto}#grapher-dock{width:340px;flex-shrink:0;border-left:1px solid var(--panel-border);background:var(--panel);display:flex;flex-direction:column;min-height:0}#grapher-dock[hidden]{display:none}#dock-tabs{display:flex;border-bottom:1px solid var(--panel-border);flex-shrink:0}.dock-tab{flex:1;background:none;border:none;border-bottom:2px solid transparent;padding:10px 6px;color:var(--muted);cursor:pointer;font-size:12.5px;font-weight:600}.dock-tab:hover{color:var(--text)}.dock-tab.active{color:var(--text);border-bottom-color:var(--accent)}.dock-pane{padding:12px 14px 18px;overflow-y:auto;flex:1 1 auto;min-height:0}.dock-pane[hidden]{display:none}#dock-export #grapher-io{flex-wrap:wrap}#dock-export #grapher-io button{flex:1 1 40%;padding:8px 10px;border-radius:7px;cursor:pointer;border:1px solid var(--panel-border);background:var(--btn-bg);color:var(--text);font-size:12.5px}#dock-export #grapher-io button.primary{background:var(--accent-2);color:var(--on-accent-2);border-color:var(--accent-2);font-weight:600}.dock-analysis-block{margin-bottom:14px}.dock-analysis-block h4{margin:0 0 4px;font-size:12px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}.dock-analysis-formula{font-family:var(--font-mono);font-size:12.5px;padding:8px 10px;background:var(--surface-well);border:1px solid var(--panel-border);border-radius:7px;overflow-wrap:anywhere}#search-pareto .chart-wrap{width:100%}#grapher-search{border:1px solid var(--panel-border);border-radius:10px;background:var(--panel);padding:10px 12px 12px;flex:0 0 auto;min-height:318px;box-sizing:border-box}#grapher-search[hidden]{display:none}#search-head{display:flex;align-items:center;gap:12px;margin-bottom:6px}#search-title{font-family:var(--font-display);font-weight:700;font-size:13px}#search-status{flex:1;font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums}#search-stop{padding:3px 12px;border-radius:6px;border:1px solid var(--bad);background:transparent;color:var(--bad);cursor:pointer;font-size:12px}#search-progress{height:4px;border-radius:2px;background:var(--surface-well);overflow:hidden;margin-bottom:10px}#search-progress-bar{height:100%;width:0;background:var(--accent);transition:width .25s ease}#search-progress.indeterminate #search-progress-bar{width:32%;animation:search-slide 1.3s ease-in-out infinite}@keyframes search-slide{0%{margin-left:-32%}to{margin-left:100%}}@media(prefers-reduced-motion:reduce){#search-progress.indeterminate #search-progress-bar{animation:none;margin-left:34%}}#search-body{display:grid;grid-template-columns:minmax(280px,1.15fr) 1fr;gap:14px;align-items:start}#search-charts-col{display:flex;flex-direction:column;gap:10px}#search-improvement .chart-wrap{width:100%}#search-minis{display:grid;grid-template-columns:repeat(auto-fill,minmax(118px,1fr));gap:8px}#search-stats{margin-bottom:10px}#search-stats[hidden]{display:none}#grapher-search-setup{margin-bottom:10px}#data-actions-main{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:6px}#data-actions-main .data-backend{margin-left:0}#grapher-search-results{margin-top:12px;padding-top:10px;border-top:1px solid var(--panel-border)}.mini-card{border:1px solid var(--panel-border);border-radius:8px;padding:6px;background:var(--surface-well);cursor:pointer;text-align:left;font:inherit;color:inherit}.mini-card:hover,.mini-card.selected{border-color:var(--accent);background:var(--accent-tint)}.mini-card.best{border-color:var(--chart-series-2)}.mini-card .mini-expr{font-family:var(--font-mono);font-size:10px;margin-top:3px;overflow-wrap:anywhere;max-height:2.5em;overflow:hidden;line-height:1.25}.mini-card .mini-meta{font-size:10px;color:var(--muted)}.mini-fit{display:block;width:100%;height:auto}.mini-card{position:relative}.mini-pin{position:absolute;top:2px;right:2px;width:20px;height:20px;line-height:18px;text-align:center;padding:0;border:1px solid transparent;border-radius:5px;background:transparent;color:var(--muted);font-size:13px;cursor:pointer}.mini-pin:hover{background:var(--surface-well);color:var(--text)}.mini-pin.pinned{color:var(--accent-2)}#fitdata-compare{margin-top:12px;padding:10px 12px;border:1px solid var(--panel-border);border-radius:8px;background:var(--surface-well)}.fitdata-compare-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}.fitdata-compare-head button{font-size:12px}.fitdata-compare-swatch{display:inline-block;width:10px;height:10px;border-radius:50%}.fitdata-compare-chart{margin-top:10px}@media(max-width:1100px){#grapher-dock{position:absolute;right:0;top:0;bottom:0;z-index:25;box-shadow:var(--shadow-md);width:min(360px,92vw)}#grapher-body{position:relative}}@media(max-width:900px){#search-body{grid-template-columns:1fr}}.dock-tab.has-new:after{content:"";display:inline-block;width:6px;height:6px;margin-left:5px;border-radius:50%;background:var(--accent-2);vertical-align:middle}.chart-viewer{position:fixed;inset:0;z-index:91;background:var(--bg);display:flex;flex-direction:column}.chart-viewer-head,#popout .chart-viewer-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4, 16px);flex-shrink:0;padding:10px var(--space-5, 20px);background:var(--panel);border-bottom:1px solid var(--panel-border);box-shadow:var(--shadow-sm)}.chart-viewer-head strong{font-family:var(--font-display);font-size:var(--text-lg, 16px);color:var(--text);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chart-viewer-actions{display:flex;gap:8px;flex-shrink:0}.chart-viewer-btn{background:var(--surface-well);border:1px solid var(--panel-border);color:var(--text);border-radius:6px;font-size:12.5px;padding:5px 12px;cursor:pointer}.chart-viewer-btn:hover{border-color:var(--accent)}.chart-viewer-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.chart-viewer-body{flex:1;min-height:0;overflow:auto;padding:14px;display:flex}.chart-viewer-host{flex:1;min-width:0;display:flex;flex-direction:column}.chart-viewer-host .chart-wrap{width:100%;max-width:none}.chart-expand-btn{margin-right:4px}
