:root { --canvas:#11161d; --panel:#18212b; --raised:#202b36; --emphasis:#283744; --border:#334553; --strong:#496274; --text:#edf5fb; --muted:#a9bac7; --faint:#7e94a4; --blue:#78baf0; --blue-dim:#163a59; --amber:#f1bd5d; --amber-dim:#483719; --green:#74d3a2; --red:#ed917f; --mono:ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; --sans:Inter, ui-sans-serif, system-ui, -apple-system, sans-serif; }
* { box-sizing:border-box; }
html { background:var(--canvas); color:var(--text); font-family:var(--sans); }
body { margin:0; min-width:320px; }
button, textarea, input { font:inherit; }
button, .file-button { cursor:pointer; }
button:focus-visible, textarea:focus-visible, .file-button:focus-within, .chart-wrap:focus-visible { outline:2px solid var(--blue); outline-offset:2px; }
::selection { background:var(--blue-dim); color:white; }
.station { max-width:1680px; margin:0 auto; padding:20px 24px 28px; }
.topbar { display:flex; justify-content:space-between; gap:24px; align-items:flex-start; border-bottom:1px solid var(--border); padding-bottom:16px; }
.product-mark,.micro { color:var(--faint); font:700 10px/1.4 var(--mono); letter-spacing:.1em; text-transform:uppercase; margin:0 0 5px; }
h1,h2,h3,p { margin-top:0; } h1 { font:700 clamp(24px,3vw,34px)/1 var(--mono); letter-spacing:.015em; } h2 { font-size:17px; margin-bottom:4px; } h3 { font:700 11px/1.3 var(--sans); text-transform:uppercase; letter-spacing:.08em; color:var(--muted); margin-bottom:8px; }
.top-status { display:flex; gap:7px; align-items:center; flex-wrap:wrap; justify-content:flex-end; max-width:640px; } .badge { border:1px solid currentColor; border-radius:3px; padding:3px 7px; white-space:nowrap; font:700 10px/1.3 var(--mono); letter-spacing:.05em; } .blue{color:var(--blue);background:var(--blue-dim)} .amber{color:var(--amber);background:var(--amber-dim)} .neutral{color:#bdcbd5;background:#26333d} .pack-id { color:var(--faint); font:11px/1.4 var(--mono); }
.notice { margin:14px 0; padding:10px 12px; background:#152533; border:1px solid #2b526e; border-radius:5px; color:#cae3f2; font-size:13px; line-height:1.45; } .notice strong { color:white; }
.workspace { display:grid; grid-template-columns:240px minmax(480px,1fr) 330px; gap:12px; align-items:start; }
.case-rail,.chart-panel,.context-panel,.review-panel { border:1px solid var(--border); background:var(--panel); border-radius:6px; }
.case-rail { padding:12px 8px; } .rail-heading { display:flex; justify-content:space-between; align-items:baseline; padding:0 4px 9px; border-bottom:1px solid var(--border); } .rail-heading h2 { margin:0; } .mono { font-family:var(--mono); color:var(--muted); font-size:11px; }
.case-list { display:grid; gap:2px; padding-top:7px; }.case-item { display:grid; grid-template-columns:20px 1fr auto; width:100%; gap:6px; align-items:center; text-align:left; border:1px solid transparent; border-radius:4px; background:transparent; color:var(--text); min-height:54px; padding:7px; }.case-item:hover{background:var(--raised)} .case-item[aria-current="true"] { background:var(--blue-dim); border-color:#356b92; } .case-index,.case-state { color:var(--faint); font:11px var(--mono); }.case-name { font:600 12px/1.25 var(--mono); }.case-state { color:var(--amber); font-size:9px; text-transform:uppercase; }.rail-help { border-top:1px solid var(--border); margin:8px 4px 0; padding:10px 0 0; color:var(--faint); font-size:11px; line-height:1.45; } kbd { font:10px var(--mono); padding:1px 4px; border:1px solid var(--strong); border-radius:3px; background:#101820; color:var(--muted); }
.analysis,.chart-panel,.chart-wrap { min-width:0; max-width:100%; }
.analysis { display:grid; gap:12px; }.instrument-title { display:flex; justify-content:space-between; align-items:flex-start; gap:12px; padding:4px 2px; }.instrument-title h2 { font:700 25px/1 var(--mono); margin:0 0 6px; }.subline{color:var(--muted); font:13px/1.4 var(--sans); margin:0;}
.panel-head { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; padding:12px; border-bottom:1px solid var(--border); }.panel-head h3 { color:var(--text); margin:0 0 4px; }.panel-head p { color:var(--faint); font-size:11px; margin:0; }.legend { display:flex; flex-wrap:wrap; gap:8px; color:var(--muted); font:10px var(--mono); }.legend span { display:flex; gap:4px; align-items:center; }.legend i { width:8px; height:8px; display:inline-block; }.legend-up{background:var(--green)}.legend-down{background:var(--red)}.legend-d1{background:#5b7d9e}.legend-d2{background:var(--blue)}
.chart-wrap { height:430px; padding:8px; overflow:hidden; }.chart-wrap svg { display:block; width:100%; height:100%; }.chart-label { fill:var(--faint); font:10px var(--mono); }.chart-section { fill:#91a8b9; font:700 10px var(--mono); letter-spacing:.08em; }.grid-line { stroke:#2c3c49; stroke-width:1; }.divider-line { stroke:#557184; stroke-width:1; stroke-dasharray:3 3; }.volume { opacity:.72; }
.context-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; }.context-panel { min-height:160px; padding:12px; }.context-panel h3 { color:var(--text); border-bottom:1px solid var(--border); padding-bottom:8px; margin-bottom:6px; }.context-panel dl { margin:0; }.context-panel div { display:grid; grid-template-columns:42% 1fr; gap:8px; padding:6px 0; border-bottom:1px solid #293640; }.context-panel div:last-child{border-bottom:0}.context-panel dt { color:var(--faint); font:700 10px var(--sans); text-transform:uppercase; letter-spacing:.04em; }.context-panel dd { color:var(--muted); margin:0; font:11px/1.35 var(--mono); }.evidence-panel dd { color:var(--amber); }
.review-panel { padding:14px; position:sticky; top:10px; }.review-heading { padding-bottom:12px; border-bottom:1px solid var(--border); }.review-heading h2 { margin-bottom:5px; }.review-heading p { color:var(--muted); font-size:12px; line-height:1.4; margin:0; }.review-panel fieldset { margin:14px 0 12px; padding:0; border:0; }.review-panel legend { color:var(--muted); font:700 11px/1.4 var(--sans); margin-bottom:8px; }.choice { display:grid; grid-template-columns:18px 1fr auto; gap:7px; align-items:center; min-height:55px; padding:7px; margin:3px 0; border:1px solid var(--border); border-radius:4px; background:var(--raised); }.choice:has(input:checked) { border-color:var(--blue); background:var(--blue-dim); }.choice b { display:block; font-size:12px; }.choice small { display:block; color:var(--muted); margin-top:2px; font-size:10px; }.choice input { accent-color:var(--blue); }.notes-label { display:block; color:var(--muted); font:700 11px var(--sans); margin-bottom:6px; }.review-panel textarea { width:100%; resize:vertical; min-height:130px; background:#111a22; border:1px solid var(--strong); color:var(--text); border-radius:4px; padding:9px; font-size:12px; line-height:1.45; }.review-panel textarea::placeholder { color:#708796; }.save-row { display:flex; align-items:center; gap:10px; margin-top:10px; }.primary,.review-actions button,.file-button { min-height:38px; border:1px solid var(--strong); border-radius:5px; background:var(--raised); color:var(--text); padding:8px 10px; font:600 11px var(--mono); }.primary { background:#1f5377; border-color:#5da5d8; }.primary:hover { background:#28658e; }.review-actions { display:grid; grid-template-columns:1fr 1fr; gap:6px; margin-top:12px; }.review-actions button,.file-button { text-align:center; }.review-actions button:hover,.file-button:hover { background:var(--emphasis); }.review-actions input { position:absolute; width:1px; height:1px; opacity:0; }.save-state,.import-state { color:var(--green); font-size:11px; line-height:1.3; }.import-state { min-height:30px; margin:8px 0 0; }.integrity-note { border-top:1px solid var(--border); margin-top:8px; padding-top:11px; }.integrity-note h3 { color:var(--muted); margin-bottom:5px; }.integrity-note p { margin:0; color:var(--faint); font-size:11px; line-height:1.45; }
@media (max-width:1150px) { .workspace { grid-template-columns:210px minmax(420px,1fr); }.review-panel { grid-column:1 / -1; position:static; }.review-panel textarea { min-height:90px; }.review-actions { grid-template-columns:repeat(3,1fr); }.context-grid { grid-template-columns:repeat(3,1fr); } }
@media (max-width:760px) { .station{padding:14px 12px 24px}.topbar{display:block}.top-status{justify-content:flex-start;margin-top:12px}.workspace{display:flex;flex-direction:column}.case-rail{width:100%;order:2}.analysis{width:100%;order:1}.review-panel{width:100%;order:3}.case-list{grid-template-columns:repeat(2,minmax(0,1fr))}.case-item{min-height:50px}.chart-wrap{height:335px}.context-grid{grid-template-columns:1fr}.context-panel{min-height:auto}.instrument-title{display:block}.instrument-title .badge{display:inline-block;margin-top:9px}.panel-head{display:block}.legend{margin-top:10px}.review-actions{grid-template-columns:1fr 1fr} }
@media (max-width:430px) { h1{font-size:24px}.case-list{grid-template-columns:1fr}.chart-wrap{height:290px}.notice{font-size:12px}.context-panel div{grid-template-columns:38% 1fr}.top-status{gap:5px}.pack-id{width:100%;overflow-wrap:anywhere} }
@media (prefers-reduced-motion:no-preference){.case-item,.choice,.primary,.review-actions button,.file-button{transition:background-color 120ms ease-out,border-color 120ms ease-out}.chart-wrap svg{animation:chart-in 320ms ease-out both}@keyframes chart-in{from{opacity:.4;clip-path:inset(0 100% 0 0)}to{opacity:1;clip-path:inset(0 0 0 0)}}}
.rubric fieldset{border:0;margin:10px 0;padding:0}.rubric legend{color:var(--muted);font:700 11px var(--sans);margin-bottom:6px}.rubric select,.rubric input{background:#111a22;border:1px solid var(--strong);border-radius:4px;color:var(--text);min-height:34px;padding:5px;width:100%;font-size:11px}.tuple-head,.tuple{display:grid;grid-template-columns:1.2fr 1fr .8fr .8fr;gap:4px;margin:4px 0;align-items:center}.tuple-head{color:var(--faint);font:9px var(--mono)}.tuple b{font:10px var(--mono)}.compact-fields{display:grid;grid-template-columns:1fr 1fr;gap:5px}.compact-fields legend{grid-column:1/-1}.compact-fields input{min-width:0}

::selection{background:#295d83;color:#fff} textarea{caret-color:var(--blue)} :focus-visible{outline:2px solid var(--blue);outline-offset:3px} .chart-wrap{scrollbar-color:var(--strong) var(--canvas)}
.chart-help{display:none}
@media(max-width:760px){.chart-wrap{overflow-x:auto}.chart-wrap svg{width:680px;max-width:none} .chart-help{display:block;color:var(--muted);font-size:11px;margin:0;padding:8px 12px}}

.rubric label{display:block;color:var(--muted);font-size:11px;margin:8px 0 4px}.rubric-help{font-size:12px;color:var(--muted);line-height:1.5}.rubric .hypothesis{border-top:1px solid var(--border);padding-top:10px}.rubric .hypothesis legend{font-size:12px;color:var(--text)}.rubric :disabled{opacity:.5}.rubric textarea{min-height:70px}.save-row{flex-wrap:wrap}.review-panel{position:static}.rubric input,.rubric select{min-width:0;min-height:40px}.review-panel select{font:inherit;font-size:12px}

.chart-wrap svg{animation:none}
