@font-face{font-family:SheetMono;src:url('./fonts/DejaVuSansMono.ttf') format('truetype');font-display:swap}
:root{color-scheme:dark;--bg:#0a0f17;--panel:#0f1620;--ink:#e8e3d6;--muted:#a39c8c;--rule:#33404e;--cyan:#4dd0e1;--gold:#d4a574;--pink:#e57bb0}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:13px/1.65 SheetMono,monospace}main{max-width:1480px;margin:auto;border:1px solid var(--rule)}header,section,form,footer{padding:24px}header,nav,.intro,form,.metrics,.interpretation,footer{border-bottom:1px solid var(--rule)}header,footer,.run-controls,.panel-head{display:flex;gap:20px;justify-content:space-between;align-items:center}h1,h2,h3,p{margin:0}h1{font-size:27px;font-weight:400}h1 span{color:var(--muted)}h2{font-size:32px;font-weight:400;line-height:1.3;margin:10px 0 16px}h3{font-size:17px;line-height:1.5;font-weight:400}.eyebrow,.sheet-id,.small{font-size:10px;letter-spacing:.06em;color:var(--gold)}.eyebrow{margin-bottom:5px}.sheet-id{text-align:right}.small{color:var(--muted)}p{color:var(--muted)}a{color:var(--cyan)}nav{display:flex;gap:8px;padding:12px 24px;flex-wrap:wrap}nav a,button{font:inherit;font-size:11px;color:var(--ink);background:var(--bg);border:1px solid var(--rule);border-radius:0;padding:10px 13px;text-decoration:none;cursor:pointer}nav a[aria-current],button.primary{background:var(--cyan);color:var(--bg);border-color:var(--cyan)}button:hover,nav a:hover{border-color:var(--cyan)}button:disabled{opacity:.45;cursor:default}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid var(--cyan);outline-offset:3px}.intro{display:grid;grid-template-columns:1.6fr 1fr;gap:45px}.intro aside{border-left:2px solid var(--gold);padding-left:20px;align-self:center}.intro aside p{margin:10px 0}.intro aside strong{font-size:12px;font-weight:400}.intro p{max-width:860px;font-family:system-ui,sans-serif;font-size:15px}.run-controls{align-items:flex-end;flex-wrap:wrap;justify-content:flex-start}.scenario{flex:1;min-width:260px}label{display:flex;flex-direction:column;gap:5px;color:var(--muted);font-size:10px}input,select{background:var(--bg);color:var(--ink);font:13px SheetMono,monospace;border:1px solid #52606c;border-radius:0;padding:10px;width:100%;min-width:0}#seed{width:110px}.scenario-guide{margin:18px 0;color:var(--ink)}.input-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px}details{margin-top:18px}summary{cursor:pointer;color:var(--cyan);padding:8px 0;font-size:12px}summary span{font-size:10px;color:var(--muted);margin-left:8px}.input-group{border-top:1px solid var(--rule);padding-top:18px;margin-top:15px}.input-group h3{font-size:12px;margin-bottom:12px;color:var(--gold)}#message{padding:12px 24px;margin:0;color:var(--cyan);border-bottom:1px solid var(--rule);min-height:45px}#message.error{color:var(--pink);background:#241822}.metrics{display:grid;grid-template-columns:repeat(3,1fr);padding:0;background:#131a26}.metrics article{padding:22px;border-right:1px solid var(--rule)}.metrics span{font-size:9px;color:var(--muted);display:block;letter-spacing:.04em}.metrics strong{font-size:32px;font-weight:400;color:var(--ink);display:block;margin:8px 0}.metrics small{font-size:10px;color:var(--muted)}.interpretation{border-left:3px solid var(--cyan);background:#10202a}.interpretation h3{margin-bottom:8px}.plots{padding:0;display:grid;grid-template-columns:1fr 1fr}.panel{border-bottom:1px solid var(--rule);padding:24px;background:var(--panel);min-width:0}.plots .panel:first-child{border-right:1px solid var(--rule)}.panel-head{align-items:flex-start;margin-bottom:18px}.panel-head button{white-space:nowrap}.apparatus{border:1px solid var(--rule);background:var(--bg);margin:15px 0}.apparatus svg{display:block;width:100%;height:auto}.apparatus text{fill:var(--muted);font:10px SheetMono,monospace}.apparatus .structure{fill:none;stroke:#a39c8c;stroke-width:2}.apparatus .electrode{stroke:#b39ddb;stroke-width:5}.reference{fill:none;stroke:var(--cyan);stroke-width:2}.active{fill:var(--bg);stroke:var(--gold);stroke-width:2}.legend{display:flex;flex-wrap:wrap;gap:13px;font-size:9px;margin:10px 0}.cyan{color:var(--cyan)}.gold{color:var(--gold)}.muted{color:var(--muted)}.chart{width:100%;height:auto;display:block}.chart text{font:11px SheetMono,monospace;fill:var(--muted)}.chart .axis{stroke:#52606c;fill:none}.chart .grid{stroke:#26323e;fill:none}.chart .reference{stroke-width:1.5}.chart .active{fill:none;stroke-width:1.5}.caption{font-size:10px;margin-top:13px;line-height:1.8}.budget{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--rule);border:1px solid var(--rule)}.budget div{background:var(--bg);padding:14px;min-width:0}.budget small{display:block;color:var(--muted);font-size:9px}.budget strong{font-size:16px;font-weight:400;display:block;margin:8px 0;color:var(--gold)}.budget p{font-size:9px}.uncertainty>p{max-width:1000px;font-size:12px}#batch-result{margin-top:15px;padding:16px;background:var(--bg);border:1px solid var(--rule);font-size:12px;line-height:1.9}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:11px}td,th{text-align:left;border-bottom:1px solid var(--rule);padding:12px;white-space:nowrap}th{color:var(--muted);font-weight:400}#calibration-note{margin-top:15px;font-size:11px}footer strong{font-size:10px;font-weight:400;color:var(--gold)}footer p{font-size:10px;margin-top:7px}.actions{display:flex;gap:8px;flex-wrap:wrap}body.embedded main{border:0}.error~#results{display:none}
@media(max-width:1000px){.plots{grid-template-columns:1fr}.plots .panel:first-child{border-right:0}.budget{grid-template-columns:repeat(2,1fr)}.intro{gap:24px;grid-template-columns:1fr}.intro aside{max-width:750px}.metrics strong{font-size:26px}}
@media(max-width:600px){header,section,form,footer,.panel{padding:16px}header{align-items:flex-start}.sheet-id{display:none}h1{font-size:20px}h2{font-size:27px}nav{padding:12px 16px}nav a{font-size:9px;padding:8px}.input-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.metrics{padding:0;grid-template-columns:1fr}.metrics article{border-right:0;border-bottom:1px solid var(--rule);padding:16px}.metrics strong{font-size:28px}.panel-head{gap:12px;flex-wrap:wrap}.run-controls{gap:12px}.scenario{min-width:100%;max-width:100%}.budget strong{font-size:13px}footer{flex-direction:column;align-items:flex-start}.scenario-guide{font-size:11px}.intro p{font-size:14px}summary span{display:block;margin-left:0}#message{padding:12px 16px}.plots{padding:0}}
