:root{--ink: #0f1319;--surface: #ffffff;--surface-2: #f4f6f8;--line: #dde2e8;--line-strong: #c3ccd6;--text: #1a1f26;--text-dim: #5c6672;--text-faint: #8b95a1;--signal: #b8701a;--signal-bg: #fdf3e5;--settled: #2f7d5c;--settled-bg: #eaf5ef;--halt: #b04434;--halt-bg: #fbeeec;--mono: ui-monospace, "Cascadia Code", "JetBrains Mono", "SF Mono", Consolas, monospace;--sans: ui-sans-serif, "Segoe UI Variable Text", "Segoe UI", system-ui, sans-serif;--r: 3px;--rail: 248px;--sp-1: 4px;--sp-2: 8px;--sp-3: 12px;--sp-4: 16px;--sp-5: 24px;--sp-6: 32px;--sp-7: 48px;--sp-8: 64px;--field: 460px}@media (prefers-color-scheme: dark){:root{--ink: #e8ecf1;--surface: #14181d;--surface-2: #1b2027;--line: #2c333c;--line-strong: #3d4650;--text: #e2e7ed;--text-dim: #97a1ad;--text-faint: #6b7683;--signal: #e8a33d;--signal-bg: #2a2218;--settled: #4fb286;--settled-bg: #16261f;--halt: #d2695a;--halt-bg: #2a1a17}}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--surface);color:var(--text);font-family:var(--sans);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}a{color:inherit}:focus-visible{outline:2px solid var(--signal);outline-offset:2px}@media (prefers-reduced-motion: reduce){*{transition:none!important;animation:none!important}}.shell{display:grid;grid-template-columns:var(--rail) 1fr;min-height:100%}.rail{border-right:1px solid var(--line);background:var(--surface-2);padding:var(--sp-5) 0;display:flex;flex-direction:column;gap:var(--sp-1)}.brand{font-family:var(--mono);font-size:14px;letter-spacing:.1em;text-transform:uppercase;color:var(--text-dim);padding:0 var(--sp-5) var(--sp-5)}.brand b{color:var(--text);font-weight:700}.rail a{display:block;padding:var(--sp-3) var(--sp-5);font-family:var(--mono);font-size:15px;font-weight:500;color:var(--text-dim);text-decoration:none;border-left:3px solid transparent}.rail a:hover{color:var(--text);background:var(--surface)}.rail a.on{color:var(--text);font-weight:700;border-left-color:var(--signal);background:var(--surface)}.rail .spacer{flex:1}.main{padding:var(--sp-7) var(--sp-8) var(--sp-8);max-width:1240px}h1{font-family:var(--mono);font-size:28px;font-weight:700;letter-spacing:-.01em;margin:0 0 var(--sp-2)}.lede{font-size:17px;color:var(--text-dim);margin:0 0 var(--sp-6);max-width:68ch}h2{font-family:var(--mono);font-size:15px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-dim);margin:var(--sp-7) 0 var(--sp-4)}.mono{font-family:var(--mono)}.dim{color:var(--text-dim)}.faint{color:var(--text-faint)}button,.btn{font-family:var(--mono);font-size:15px;font-weight:600;padding:var(--sp-3) var(--sp-5);min-height:44px;border:1.5px solid var(--line-strong);border-radius:var(--r);background:var(--surface);color:var(--text);cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-2)}button:hover:not(:disabled),.btn:hover{border-color:var(--text-dim);background:var(--surface-2)}button:disabled,.btn[aria-disabled=true]{opacity:.45;cursor:not-allowed}button:disabled:hover{background:var(--surface)}button.primary,.btn.primary{background:var(--signal);border-color:var(--signal);color:#14181d;font-weight:700}button.primary:hover:not(:disabled),.btn.primary:hover{background:var(--signal);border-color:var(--signal);filter:brightness(1.06)}button.danger{color:var(--halt);border-color:var(--halt)}button.danger:hover:not(:disabled){background:var(--halt-bg)}input:not([type=checkbox]):not([type=radio]):not([type=file]),select{font-family:var(--mono);font-size:15px;padding:var(--sp-3) var(--sp-4);min-height:44px;border:1.5px solid var(--line-strong);border-radius:var(--r);background:var(--surface);color:var(--text);width:100%}input:not([type=checkbox]):not([type=radio]):hover:not(:disabled),select:hover:not(:disabled){border-color:var(--text-dim)}input:not([type=checkbox]):not([type=radio]):disabled,select:disabled{opacity:.55;cursor:not-allowed;background:var(--surface-2)}input[type=checkbox],input[type=radio]{width:18px;height:18px;accent-color:var(--signal);cursor:pointer}label{display:block;margin-bottom:var(--sp-4)}.main>label:not(.row):not(.file-picker),.card>label:not(.row):not(.file-picker),form>label:not(.row):not(.file-picker){max-width:var(--field)}label span{display:block;font-family:var(--mono);font-size:14px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--text-dim);margin-bottom:var(--sp-2)}.row{display:flex;gap:var(--sp-3);align-items:center;flex-wrap:wrap}.file-picker{display:inline-flex;align-items:center;gap:var(--sp-4);min-height:56px;padding:var(--sp-4) var(--sp-5);border:1.5px dashed var(--line-strong);border-radius:var(--r);background:var(--surface-2);color:var(--text);font-family:var(--sans);font-weight:600;font-size:16px;cursor:pointer;max-width:100%}.file-picker:hover{border-color:var(--signal);background:var(--signal-bg)}.file-picker:focus-within{outline:2px solid var(--signal);outline-offset:2px;border-color:var(--signal)}.file-picker .count{font-family:var(--mono);font-size:14px;font-weight:500;color:var(--text-dim)}.file-picker input[type=file]{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.card{border:1px solid var(--line);border-radius:var(--r);padding:var(--sp-5) var(--sp-6);background:var(--surface-2);margin-bottom:var(--sp-4)}.card.flat{background:var(--surface)}.tag{font-family:var(--mono);font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;padding:var(--sp-1) var(--sp-3);border-radius:2px;border:1px solid var(--line-strong);color:var(--text-dim)}.tag.ok{color:var(--settled);border-color:var(--settled);background:var(--settled-bg)}.tag.bad{color:var(--halt);border-color:var(--halt);background:var(--halt-bg)}.tag.live{color:var(--signal);border-color:var(--signal);background:var(--signal-bg)}.note{border-left:3px solid var(--signal);background:var(--signal-bg);padding:var(--sp-4) var(--sp-5);margin:var(--sp-4) 0;border-radius:0 var(--r) var(--r) 0;font-size:15px}.note.bad{border-left-color:var(--halt);background:var(--halt-bg)}.empty{border:1.5px dashed var(--line-strong);border-radius:var(--r);padding:var(--sp-7);text-align:center;color:var(--text-dim);font-size:16px}.range{position:relative;height:8px;background:var(--surface);border:1px solid var(--line);border-radius:1px;overflow:hidden}.range .fill{position:absolute;inset:0 auto 0 0;background:var(--signal);transition:width .2s linear}.range .ticks{position:absolute;top:0;right:0;bottom:0;left:0;background-image:repeating-linear-gradient(to right,transparent 0,transparent calc(var(--tick) - 1px),var(--line-strong) calc(var(--tick) - 1px),var(--line-strong) var(--tick));opacity:.7}.range.done .fill{background:var(--settled)}.meter{display:grid;gap:var(--sp-2);margin-bottom:var(--sp-4)}.meter .label{display:flex;justify-content:space-between;gap:var(--sp-3);font-family:var(--mono);font-size:14px;color:var(--text-dim)}.meter .label .name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text)}.counters{display:flex;gap:var(--sp-7);margin:var(--sp-6) 0 var(--sp-7);flex-wrap:wrap}.counter .n{font-family:var(--mono);font-size:34px;font-weight:700;line-height:1.1;font-variant-numeric:tabular-nums}.counter .k{font-family:var(--mono);font-size:12px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--text-dim)}.counter.ok .n{color:var(--settled)}.counter.bad .n{color:var(--halt)}.tabs{display:flex;gap:0;border-bottom:1px solid var(--line);margin-bottom:var(--sp-3)}.tabs button{border:none;border-bottom:3px solid transparent;border-radius:0;background:none;color:var(--text-dim);min-height:44px;padding:var(--sp-3) var(--sp-4)}.tabs button:hover:not(:disabled){background:none;color:var(--text)}.tabs button.on{color:var(--text);font-weight:700;border-bottom-color:var(--signal)}.tree{border:1px solid var(--line);border-radius:var(--r);max-height:380px;overflow:auto;padding:var(--sp-2) 0;font-family:var(--mono);font-size:15px}.node{display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-2) var(--sp-4);min-height:40px}.node:hover{background:var(--surface-2)}.node input{width:18px}.node label{margin:0;display:inline}.node .twist{width:20px;min-height:auto;border:none;background:none;padding:0;color:var(--text-faint);cursor:pointer;font-size:13px}.node .twist.leaf{cursor:default;opacity:.35}table{width:100%;border-collapse:collapse;font-family:var(--mono);font-size:15px}th{text-align:left;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-dim);padding:var(--sp-3) var(--sp-4);border-bottom:1.5px solid var(--line)}td{padding:var(--sp-3) var(--sp-4);border-bottom:1px solid var(--line)}tbody tr:hover{background:var(--surface-2)}.scroll{max-height:380px;overflow:auto;border:1px solid var(--line);border-radius:var(--r)}.login{display:grid;place-items:center;min-height:100%;padding:var(--sp-5)}.login form{width:100%;max-width:380px}ol.steps{padding-left:var(--sp-5);margin:var(--sp-4) 0;font-size:16px}ol.steps li{margin-bottom:var(--sp-3)}@media (max-width: 760px){.shell{grid-template-columns:1fr}.rail{flex-direction:row;overflow-x:auto;padding:var(--sp-2) 0;align-items:center}.brand{display:none}.rail a{border-left:none;border-bottom:3px solid transparent;white-space:nowrap;padding:var(--sp-3) var(--sp-4)}.rail a.on{border-left:none;border-bottom-color:var(--signal)}.rail .spacer{display:none}.main{padding:var(--sp-5) var(--sp-4) var(--sp-6)}h1{font-size:24px}.lede{font-size:15px}.row{flex-direction:column;align-items:stretch;gap:var(--sp-3)}.row button,.row .btn,.row a.btn{width:100%;text-align:center}.main>label:not(.row):not(.file-picker),.card>label:not(.row):not(.file-picker),form>label:not(.row):not(.file-picker){max-width:none}.counters{gap:var(--sp-5)}.counter .n{font-size:26px}table{font-size:13px}th,td{padding:var(--sp-2) var(--sp-3)}.file-picker{width:100%}.tabs{flex-wrap:wrap}}
