:root{color-scheme:dark;--night: #121113;--bg: #0f1117;--panel: #1e2028;--panel-2: #171920;--field: #121318;--line: #2d3748;--fg: #f3f4f6;--fg-2: #d1d5dc;--muted: #9ca3af;--green: #22c55e;--green-hover: #3dd574;--green-ink: #4ade80;--on-green: #06140b;--blue: #5579ff;--ghost-hover: #262934;--ok: #4ade80;--ok-bg: #13301f;--error: #f87171;--error-bg: #3a1d20;--warn: #fbbf24;--warn-bg: #3a2e12;--font-display: "Plus Jakarta Sans", "Segoe UI Semibold", "Helvetica Neue", Arial, sans-serif;--font-body: Inter, "Segoe UI", "Helvetica Neue", Arial, sans-serif;--font-mono: "JetBrains Mono", "Cascadia Mono", Consolas, Menlo, "Courier New", monospace}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--fg-2);font:14px/1.4 var(--font-body)}.shell{min-height:100vh;display:flex;flex-direction:column}.header{display:flex;align-items:center;flex-wrap:wrap;gap:4px 14px;padding:14px 24px;background:var(--night);color:var(--fg);border-bottom:1px solid var(--line)}.header .mark{color:var(--green);font:700 22px var(--font-display);line-height:1}.header h1{margin:0;font:700 20px var(--font-display)}.header .tag{color:var(--green-ink);font:700 11px var(--font-body);letter-spacing:.06em;padding-top:4px}.banner{padding:10px 24px}.banner-error{background:var(--error-bg);color:var(--error)}.tabs{display:flex;gap:4px;padding:0 24px;background:var(--night);border-bottom:1px solid var(--line)}.tab{padding:10px 16px 9px;border:0;border-bottom:2px solid transparent;background:none;color:var(--muted);font:700 14px var(--font-body);cursor:pointer}.tab:hover{color:var(--fg)}.tab[aria-selected=true]{color:var(--fg);border-bottom-color:var(--green)}.tab:focus-visible{outline:2px solid var(--green-ink);outline-offset:-2px}.main,.tabpanel{flex:1;display:flex;flex-direction:column;min-width:0}.tabpanel[hidden]{display:none}.body{flex:1;display:flex;align-items:flex-start}.panel{width:260px;flex-shrink:0;align-self:stretch;padding:20px 24px;background:var(--panel);border-right:1px solid var(--line);color:var(--fg-2);display:flex;flex-direction:column;gap:12px}.eyebrow{color:var(--green-ink);font:700 12px var(--font-body);letter-spacing:.06em;text-transform:uppercase;margin-bottom:2px}.field{display:flex;flex-direction:column;gap:4px;border:0;margin:0;padding:0}.field legend{padding:0;margin-bottom:4px}.radios{display:flex;gap:16px;color:var(--fg)}.radios label{display:flex;align-items:center;gap:6px}input,select{font:inherit;color:var(--fg)}.field input,.field select{padding:7px 8px;border:1px solid var(--line);border-radius:4px;background:var(--field)}select option{background:var(--panel);color:var(--fg)}input:focus-visible,select:focus-visible{outline:1px solid var(--green);border-color:var(--green)}input[type=radio],input[type=checkbox]{accent-color:var(--green)}.btn{display:inline-flex;white-space:nowrap;justify-content:center;align-items:center;padding:9px 18px;border-radius:4px;font:700 14px var(--font-body);cursor:pointer;border:1px solid transparent}.btn:disabled,.btn.disabled{opacity:.55;cursor:default}.btn:focus-visible{outline:2px solid var(--green-ink);outline-offset:2px}.btn-primary{margin-top:8px;background:var(--green);color:var(--on-green);font-size:15px}.btn-primary:hover:not(:disabled){background:var(--green-hover)}.btn-ghost{background:var(--panel-2);color:var(--fg);border-color:var(--line)}.btn-ghost:hover:not(:disabled):not(.disabled){background:var(--ghost-hover)}.btn-sm{padding:6px 12px;font-size:13px}.input-error{margin:4px 0 0;padding:8px 10px;border-radius:4px;background:var(--error-bg);color:var(--error)}.hint{margin:8px 0 0;color:var(--muted);font-size:13px}.card{flex:1;min-width:0;margin:20px 24px;background:var(--panel);border:1px solid var(--line);padding:16px 20px}.card-top{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px}.card-top h2{margin:0;color:var(--fg);font:700 18px var(--font-display)}.card-actions{display:flex;align-items:center;gap:16px}.check{white-space:nowrap;display:flex;align-items:center;gap:6px;color:var(--fg-2)}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse}thead th{font-family:var(--font-body);background:var(--panel-2);color:var(--muted);font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;text-align:left;padding:8px 6px;white-space:nowrap}thead th.num{text-align:right;font-family:var(--font-body)}tbody th,tbody td{padding:6px;border-bottom:1px solid var(--line);white-space:nowrap}tbody th{color:var(--fg);font:700 14px var(--font-display);text-align:left}.num{text-align:right;font-family:var(--font-mono);font-variant-numeric:tabular-nums}tr.muted td{color:var(--muted)}.measured{width:80px;padding:5px 6px;border:1px solid var(--line);border-radius:3px;background:var(--field);font-family:var(--font-mono);text-align:right}.chip{display:inline-block;padding:2px 8px;border-radius:999px;font-size:13px}.chip-ok{color:var(--ok);background:var(--ok-bg)}.chip-low{color:var(--error);background:var(--error-bg)}.chip-high{color:var(--warn);background:var(--warn-bg)}.notes{margin:12px 0 0;padding-left:18px;color:var(--warn);font-size:13px}.batch{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin-top:24px;padding-top:16px;border-top:1px solid var(--line)}.batch h3{margin:0;color:var(--fg);font:700 15px var(--font-display)}.batch .hint{margin-top:4px;max-width:560px}.batch-msg{flex-basis:100%;margin:0;color:var(--fg-2)}.equations{margin-top:20px;color:var(--fg-2)}.equations summary{cursor:pointer;color:var(--fg);font-family:var(--font-display)}.equations pre{background:var(--field);border:1px solid var(--line);padding:12px;overflow-x:auto;font-family:var(--font-mono);font-size:13px}.bulk{padding:20px 24px;display:flex;flex-direction:column;gap:20px}.bulk .card{flex:none;margin:0}.bulk .equations{margin-top:0}.bulk-input textarea{min-height:160px;resize:vertical;padding:8px 10px;border:1px solid var(--line);border-radius:4px;background:var(--field);color:var(--fg);font:13px/1.5 var(--font-mono);white-space:pre}.bulk-input textarea:focus-visible{outline:1px solid var(--green);border-color:var(--green)}code{font-family:var(--font-mono);font-size:12px;color:var(--fg)}.bulk-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.bulk-actions .btn-primary{margin-top:0;min-width:140px}.summary{margin:4px 0 0;color:var(--muted);font-size:13px}.summary-flag{color:var(--warn)}.summary-error{color:var(--error)}.bulk-table thead th.group{text-align:center;color:var(--fg);font:700 13px var(--font-display);letter-spacing:0;text-transform:none}.bulk-table .group-start{border-left:1px solid var(--line)}.bulk-table thead tr:first-child th{vertical-align:bottom}.bulk-table .sticky{position:sticky;left:0;z-index:1;background:var(--panel)}.bulk-table thead .sticky{background:var(--panel-2)}.bulk-table tbody tr:hover>*{background:var(--panel-2)}.cell-error,.row-error th{color:var(--error)}.cell-notes{color:var(--warn);font-size:12px;white-space:normal;min-width:220px}.status{padding:6px 16px;background:var(--panel);border-top:1px solid var(--line);color:var(--muted);font-size:12px}@media (max-width: 820px){.body{flex-direction:column;align-items:stretch}.panel{width:auto;border-right:0;border-bottom:1px solid var(--line)}.card{margin:16px}.bulk{padding:16px}.tabs{padding:0 8px}}
