:root{color-scheme:light}body{margin:0;font-family:system-ui,sans-serif;background:#f8f9fa;color:#1a202c}.header{position:sticky;top:0;z-index:50;background:#fff;border-bottom:1px solid #e2e8f0;padding:8px 16px;display:flex;align-items:center;gap:14px;flex-wrap:wrap}.brand{font-size:15px;font-weight:700;color:#1e293b}.chips{display:flex;gap:6px;flex-wrap:wrap}.chip{font-size:11px;color:#475569;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:999px;padding:2px 9px;white-space:nowrap}.chip.ok{color:#166534;background:#f0fdf4;border-color:#bbf7d0}.chip.warn{color:#92400e;background:#fef3c7;border-color:#fde68a}.chip.err{color:#991b1b;background:#fef2f2;border-color:#fecaca}.verdict{font-size:12px;color:#475569;flex:1 1 260px}.header-actions{display:flex;align-items:center;gap:10px;margin-left:auto}.header-actions label{font-size:12px;color:#475569;display:flex;align-items:center;gap:4px}.header-actions input[type=number]{width:58px;padding:2px 6px;border:1px solid #cbd5e1;border-radius:4px;font-size:13px}.workbench{display:flex;flex-direction:column;gap:14px;padding:14px 16px;max-width:1700px;margin:0 auto}.workbench-main{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:14px;min-width:0;align-items:start}.workbench-main:has(>.drawer-card.closed){grid-template-columns:minmax(0,1fr) 44px}.drawer-card.closed{padding:8px 6px}.drawer-collapse{border:none;background:none;cursor:pointer;color:#64748b;font-size:15px;padding:2px 8px;border-radius:6px}.drawer-collapse:hover{background:#f1f5f9;color:#334155}@media(max-width:1100px){.workbench-main{grid-template-columns:1fr}.workbench-main:has(>.drawer-card.closed){grid-template-columns:1fr}}.spacer{flex:1}.stage-card,.drawer-card{background:#fff;border-radius:8px;padding:12px;box-shadow:0 1px 3px #0000001a;min-width:0}.stage-toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:10px}.seg{display:inline-flex}.seg button{padding:4px 10px;font-size:12px;cursor:pointer;border:1px solid #cbd5e1;background:#fff;color:#475569}.seg button:first-child{border-radius:4px 0 0 4px}.seg button:last-child{border-radius:0 4px 4px 0}.seg button+button{border-left:none}.seg button.active{background:#2563eb;border-color:#2563eb;color:#fff}.drawer-tabs{display:flex;gap:4px;margin-bottom:10px}.drawer-tabs button{flex:1;padding:6px 8px;font-size:12px;font-weight:600;cursor:pointer;border:1px solid #e2e8f0;background:#f8fafc;color:#64748b;border-radius:6px}.drawer-tabs button.active{background:#eff6ff;color:#1d4ed8;border-color:#bfdbfe}details.tier-group{border-top:1px solid #e2e8f0;padding:8px 2px}details.tier-group:first-of-type{border-top:none}details.tier-group summary{cursor:pointer;font-weight:600;font-size:12px;color:#1e293b;display:flex;align-items:center;gap:8px;list-style:none}details.tier-group summary::-webkit-details-marker{display:none}details.tier-group summary:before{content:"▸";color:#94a3b8;font-size:10px}details.tier-group[open] summary:before{content:"▾"}.ctrl-grid{display:flex;flex-direction:column;gap:6px;margin-top:8px}.ctrl{display:flex;align-items:center;gap:6px;font-size:12px;color:#475569;flex-wrap:wrap}.ctrl input[type=number]{width:64px;padding:2px 6px;border:1px solid #cbd5e1;border-radius:4px;font-size:12px}.ctrl input[type=text]{flex:1}.ctrl-help{font-size:11px;color:#94a3b8;line-height:1.35}.scope-badge{margin-left:auto;font-size:9px;font-weight:700;letter-spacing:.4px;text-transform:uppercase;border-radius:4px;padding:1px 5px}.scope-badge.derive{background:#dcfce7;color:#166534}.scope-badge.solve{background:#dbeafe;color:#1e40af}.scope-badge.pipeline{background:#fef3c7;color:#92400e}.modified-dot{width:7px;height:7px;border-radius:50%;background:#f59e0b;flex-shrink:0}.modified-dot-off{width:7px;height:7px;border-radius:50%;background:transparent;border:1px solid #e2e8f0;flex-shrink:0}.hint{font-size:12px;color:#64748b;margin:0 0 10px;line-height:1.4}.edit-panel{margin-top:12px}.edit-panel h3{margin:0 0 8px;font-size:13px;color:#475569;font-weight:600}.edit-table{border-collapse:collapse;font-size:11px;width:100%}.edit-table th,.edit-table td{padding:2px 4px;text-align:center;white-space:nowrap}.edit-table thead th{font-weight:600;color:#64748b;font-size:10px}.edit-table .row-label{font-weight:600;color:#64748b;text-align:right;padding-right:6px}.edit-table td[data-ti]{cursor:pointer;min-width:32px;padding:2px 3px;font-size:11px;text-align:center;background:#f8fafc;border:1px solid transparent;user-select:none}.edit-table td[data-ti]:hover{border-color:#94a3b8}.edit-table td[data-ti].cell-pos{background:#fef2f2}.edit-table td[data-ti].cell-neg{background:#eff6ff}.edit-table td[data-ti].cell-empty{background:#f1f5f9;color:#94a3b8}.edit-table td[data-ti].cell-selected{outline:2px solid #2563eb;outline-offset:-2px;position:relative}.edit-table td[data-ti].cell-afr-rich{background:#dbeafe}.edit-table td[data-ti].cell-afr-stoich{background:#dcfce7}.edit-table td[data-ti].cell-afr-lean{background:#fef9c3}.batch-bar{display:flex;align-items:center;gap:6px;margin-top:8px}.batch-input{width:96px;padding:2px 4px;border:1px solid #cbd5e1;border-radius:4px;font-size:11px;text-align:center}.batch-input:focus{outline:none;border-color:#2563eb}.btn-batch{padding:2px 10px;font-size:11px;border:none;border-radius:4px;background:#2563eb;color:#fff;cursor:pointer}.btn-batch:hover{background:#1d4ed8}.batch-count{color:#64748b;font-size:11px}.btn-action{padding:8px 20px;font-size:14px;border:none;border-radius:6px;background:#2563eb;color:#fff;cursor:pointer;font-weight:500}.btn-action:hover{background:#1d4ed8}.btn-action:disabled{background:#94a3b8;cursor:default}.btn-action.highlight{background:#d97706;animation:pulse 2s infinite}.btn-secondary{padding:6px 12px;font-size:12px;border:none;border-radius:6px;background:#64748b;color:#fff;cursor:pointer}.btn-secondary:hover{background:#475569}.btn-secondary:disabled{opacity:.5;cursor:default}.file-label{display:inline-block;padding:6px 12px;font-size:12px;border-radius:6px;background:#64748b;color:#fff;cursor:pointer}.file-label:hover{background:#475569}.file-label input[type=file]{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.status{font-size:12px;color:#64748b;min-height:16px}.status.error{color:#dc2626}.grid-input{flex:1 1 200px;min-width:160px;padding:2px 6px;border:1px solid #cbd5e1;border-radius:4px;font-size:12px}.grid-input:focus{outline:none;border-color:#2563eb}.dock{background:#fff;border-radius:8px;padding:6px 12px 10px;box-shadow:0 1px 3px #0000001a;min-width:0}.dock-header{display:flex;align-items:baseline;gap:14px;min-width:0}.dock-toggle{background:none;border:none;cursor:pointer;font-size:13px;font-weight:600;color:#1e293b;padding:6px 2px}.dock-funnel{font-size:11px;color:#64748b;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.inspector{border-top:1px solid #e2e8f0;margin-top:10px;padding-top:10px}.inspector h4{margin:0 0 6px;font-size:12px;color:#1e293b}.inspector table{font-size:12px;color:#475569;border-collapse:collapse}.inspector td{padding:1px 8px 1px 0}.inspector td:first-child{color:#94a3b8}.inspector .trust-bad{color:#dc2626;font-weight:600}.loader{display:flex;align-items:center;gap:8px;padding:12px 0;font-size:13px;color:#475569}.spinner{width:16px;height:16px;border:2px solid #cbd5e1;border-top-color:#2563eb;border-radius:50%;animation:spin .6s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.empty-state{border:2px dashed #cbd5e1;border-radius:8px;padding:48px 24px;text-align:center;color:#64748b;background:#fff}.empty-state h2{margin:0 0 6px;font-size:16px;color:#1e293b}@keyframes pulse{0%,to{box-shadow:0 0 #d9770666}50%{box-shadow:0 0 0 6px #d9770600}}.inj-scope{margin-top:4px}.inj-scope canvas{display:block;width:100%;cursor:crosshair;touch-action:none}.space-btn.svelte-1v09by2{cursor:pointer;font-size:11px}.mapgrid-wrap.svelte-1kvjjzq{position:relative;width:100%}.mapgrid-wrap.sq.svelte-1kvjjzq{flex:1 1 auto;min-height:0}canvas.svelte-1kvjjzq{display:block;margin:0 auto}.mapgrid-tooltip.svelte-1kvjjzq{position:absolute;pointer-events:none;background:#0f172aeb;color:#f1f5f9;font-size:12px;line-height:1.45;padding:6px 9px;border-radius:6px;max-width:240px;z-index:5}.surf-wrap.svelte-tu2s9g{position:relative;width:100%}.surf-busy.svelte-tu2s9g,.surf-error.svelte-tu2s9g{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:13px;color:#64748b}.surf-error.svelte-tu2s9g{color:#dc2626}.edit-panel.svelte-730p34{min-width:0}.aux-card.svelte-ad4ppg{display:grid;gap:6px;padding:8px;border:1px solid #e2e8f0;border-radius:8px}.aux-head.svelte-ad4ppg{display:flex;gap:6px;align-items:center}.aux-head.svelte-ad4ppg strong:where(.svelte-ad4ppg){font-size:12px;margin-right:auto}.aux-head.svelte-ad4ppg input[type=text]:where(.svelte-ad4ppg){width:64px;font-size:12px}.aux-head.svelte-ad4ppg input[type=color]:where(.svelte-ad4ppg){width:26px;height:22px;padding:0;border:1px solid #e2e8f0;border-radius:4px;background:none}.aux-meta.svelte-ad4ppg{font-size:11px;color:#94a3b8;margin-top:-2px}.aux-eq.svelte-ad4ppg{display:flex;gap:6px;align-items:center;font-size:12px}.aux-eq.svelte-ad4ppg .pt:where(.svelte-ad4ppg){font-weight:600;width:12px}.aux-eq.svelte-ad4ppg input[type=number]:where(.svelte-ad4ppg){width:62px}.aux-eq.svelte-ad4ppg .op:where(.svelte-ad4ppg){color:#64748b}.aux-eq.svelte-ad4ppg .unit-echo:where(.svelte-ad4ppg){color:#64748b;min-width:26px}.aux-foot.svelte-ad4ppg{display:flex;gap:10px;align-items:center;font-size:12px}.foot-hint.svelte-ad4ppg{color:#64748b}.readout.svelte-14963mw{font-family:ui-monospace,monospace;font-size:11px;color:#475569;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
