:root{color-scheme:dark;--ink:#111111;--paper:#f2f0ea;--quiet:#aaa79f;--signal:#90a1cf;--rule:rgba(242,240,234,.22);font-family:Arial,sans-serif;font-size:16px;line-height:1.4}*{box-sizing:border-box}body{margin:0;background:var(--ink);color:var(--paper)}a{color:var(--signal)}header{min-height:80px;margin:0 4%;border-bottom:1px solid var(--rule);display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{font-size:28px;font-weight:700;letter-spacing:-.055em;text-decoration:none;color:var(--paper);display:flex;align-items:center;gap:24px}.tag,.input-badge,.eyebrow,.small-label,.chip,.pill,.generic{font-family:'Courier New',monospace;font-size:12px;font-weight:400;letter-spacing:0}.tag,.input-badge,.small-label{color:var(--quiet)}.input-badge{display:flex;align-items:center;gap:8px}.input-badge i{width:6px;height:6px;background:var(--signal);border-radius:50%}main{max-width:none;margin:0;padding:48px 4%}.intro{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:32px;gap:32px}.eyebrow{color:var(--signal);margin:0 0 16px}h1{font-size:clamp(44px,5vw,72px);line-height:1.05;font-weight:700;letter-spacing:-.055em;margin:0}.subtitle{margin:16px 0 0;color:var(--quiet)}.intro-note{text-align:right;font:12px/1.6 'Courier New',monospace;color:var(--quiet)}.intro-note span{font:16px/1.4 Arial,sans-serif}.workspace{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:24px;align-items:start}.range{position:sticky;top:24px;height:min(75vh,820px);min-height:520px;overflow:hidden;border:1px solid var(--rule);background:var(--ink)}.range canvas{width:100%;height:100%;display:block;outline:none}.range-top{position:absolute;top:24px;left:24px;right:24px;display:flex;justify-content:space-between;gap:16px;pointer-events:none}.chip{background:rgba(17,17,17,.85);padding:8px 12px;border:1px solid var(--rule)}.clock{white-space:nowrap}.crosshair{position:absolute;left:50%;top:50%;width:16px;height:16px;transform:translate(-50%,-50%);border:1px solid var(--paper);border-radius:50%;pointer-events:none}.crosshair span{position:absolute;left:6px;top:6px;width:2px;height:2px;background:var(--paper)}.crosshair.on-target{border-color:var(--signal);box-shadow:0 0 12px rgba(144,161,207,.3)}.target-state{position:absolute;top:57%;left:0;right:0;text-align:center;font:12px 'Courier New',monospace;color:var(--quiet);pointer-events:none}.welcome{position:absolute;inset:0;background:rgba(17,17,17,.75);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:32px}.welcome h2{font-size:clamp(32px,4vw,48px);font-weight:500;letter-spacing:-.06em;line-height:1.1;margin:24px 0}.welcome p{color:var(--quiet);margin:0 0 32px}.welcome[hidden],[hidden]{display:none!important}button,input,select{font:inherit}button{background:rgba(242,240,234,.05);color:var(--paper);border:1px solid var(--rule);border-radius:0;padding:12px 16px;cursor:pointer;font-size:14px}button:hover{background:rgba(242,240,234,.1);border-color:var(--paper)}button:disabled{opacity:.4;cursor:default}button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid var(--signal);outline-offset:4px}.primary{background:var(--paper);color:var(--ink);border-color:var(--paper)}.primary:hover{background:var(--signal);border-color:var(--signal)}.primary span{margin-left:24px}.charge-hud{position:absolute;bottom:64px;left:50%;width:min(280px,70%);transform:translateX(-50%);pointer-events:none}.charge-label{display:flex;justify-content:space-between;font:12px 'Courier New',monospace;margin-bottom:8px}.charge-track{height:4px;background:rgba(242,240,234,.2)}#charge-fill{height:100%;width:0;background:var(--paper);transition:width .08s linear}#charge-fill.firing{background:var(--signal)}.charge-hud p{text-align:center;color:var(--quiet);font:10px/1.4 'Courier New',monospace;margin:12px 0 0}.frame-hud{position:absolute;left:16px;bottom:16px;display:flex;flex-direction:column;gap:4px;color:var(--quiet);font:10px 'Courier New',monospace}.frame-hud b{font-weight:400}.panel{padding:24px 0;border-top:1px solid var(--rule)}.panel:first-child{padding-top:0;border-top:0}.panel-heading{display:flex;justify-content:space-between;gap:16px;align-items:center}.pill{color:var(--signal)}.panel h2{font-size:28px;font-weight:500;letter-spacing:-.06em;line-height:1.15;margin:24px 0 12px}.muted{font-size:14px;line-height:1.4;color:var(--quiet);margin:0 0 24px}.metric{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--rule);padding:16px 0;gap:16px}.metric>span{font-size:14px;color:var(--quiet)}.metric strong{font:32px 'Courier New',monospace}.metric small{font-size:14px;margin-left:4px}.mini-metrics{display:flex;justify-content:space-between;gap:16px;border-top:1px solid var(--rule);padding-top:16px}.mini-metrics div{display:flex;flex-direction:column;gap:8px}.mini-metrics span{font-size:12px;color:var(--quiet)}.mini-metrics b{font:16px 'Courier New',monospace}.session-buttons{display:flex;gap:8px;margin-top:24px}.session-buttons button{flex:1}.footnote{font-size:12px;color:var(--quiet);line-height:1.4;margin:16px 0 0}.settings label{display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:14px;margin:24px 0 8px}.settings output{font:12px 'Courier New',monospace;color:var(--signal)}input[type=range]{width:100%;accent-color:var(--signal);height:4px}.settings select,.settings input[type=number]{background:var(--ink);color:var(--paper);border:1px solid var(--rule);border-radius:0;padding:12px;width:100%;font-size:14px}.settings label:has(input[type=checkbox]){justify-content:flex-start}.settings input[type=checkbox]{accent-color:var(--signal)}.routine-fields{display:grid;grid-template-columns:1fr 1fr;gap:16px}.generic{border-top:1px solid var(--rule);padding-top:24px;margin:24px 0 12px;color:var(--quiet)}.compact{font-size:12px;margin:0}#usb-status{font-size:14px;color:var(--signal);margin:16px 0}#usb-data{margin-top:16px;font-family:'Courier New',monospace}.acquisition-result{border-top:1px solid var(--rule);margin-top:24px;padding-top:16px;display:flex;flex-direction:column;gap:8px}.acquisition-result span,.acquisition-result small{font-size:12px;color:var(--quiet)}.acquisition-result b{font:20px 'Courier New',monospace}footer{display:flex;justify-content:space-between;gap:24px;padding:24px 0;border-top:1px solid var(--rule);margin-top:48px;color:var(--quiet);font:12px/2 'Courier New',monospace}footer>span{text-align:right}kbd{font:12px 'Courier New',monospace;color:var(--paper);margin-left:16px}kbd:first-child{margin-left:0}.sources{border-top:1px solid var(--rule);padding:24px 0;color:var(--quiet);font-size:12px;line-height:1.4}.sources summary{cursor:pointer}.sources p{max-width:850px}.error{position:absolute;inset:20%;z-index:5;background:var(--ink);border:1px solid var(--paper);padding:24px}@media(max-width:1000px){.workspace{grid-template-columns:minmax(0,1fr) 280px}.range-top{top:16px;left:16px;right:16px}.chip{font-size:10px;padding:8px}.range{min-height:480px}}@media(max-width:760px){header{min-height:72px}.tag,.intro-note{display:none}main{padding-top:48px}.intro{margin-bottom:32px}.workspace{grid-template-columns:1fr;gap:48px}.range{position:relative;top:0;height:65vh;min-height:420px}aside{display:grid;grid-template-columns:1fr;gap:48px}.panel{padding:0;border:0}.small-label{display:block;margin-bottom:16px}.brand{font-size:24px}.input-badge{font-size:10px}.range-top{gap:8px}.chip{font-size:10px}.target-state{font-size:10px}footer{flex-direction:column;gap:8px}footer>span{text-align:left}.charge-hud{bottom:72px}}@media(prefers-reduced-motion:reduce){#charge-fill{transition:none}}
.charge-reticle{position:absolute;left:50%;top:50%;width:96px;height:96px;transform:translate(-50%,-50%);pointer-events:none}.charge-reticle svg{display:block;width:100%;height:100%;overflow:visible}.charge-reticle circle{fill:none;stroke-width:2}.ring-track{stroke:rgba(242,240,234,.18)}.ring-fill{stroke:var(--paper);stroke-dasharray:100;stroke-dashoffset:100;stroke-linecap:round}.charge-reticle.discharging .ring-fill,.charge-reticle.full .ring-fill{stroke:var(--signal)}.charge-reticle.full .ring-fill{stroke-width:3}.charge-reticle>span{position:absolute;top:100%;left:50%;transform:translateX(-50%);white-space:nowrap;font:10px 'Courier New',monospace;color:var(--quiet);padding-top:4px}
.target-state{top:calc(50% + 88px)}
.target-health{position:absolute;transform:translate(-50%,-100%);pointer-events:none;color:var(--quiet);font:12px 'Courier New',monospace}.pop-result{border-top:1px solid var(--rule);margin-top:24px;padding-top:16px;display:grid;gap:12px}.pop-result>div{display:flex;justify-content:space-between;align-items:center;gap:12px}.pop-result span{color:var(--quiet);font-size:12px}.pop-result b{font:14px 'Courier New',monospace}
.session-buttons{flex-wrap:wrap}.session-buttons #replay{flex-basis:100%}

.history ol{padding:0;list-style:none;margin:16px 0}.history li{border-top:1px solid var(--rule);padding:12px 0;font-size:12px;color:var(--quiet)}.history li strong{display:block;font-size:14px;color:var(--paper);margin-bottom:4px}.history button{width:100%}

.target-controls{display:grid;grid-template-columns:1fr;gap:0}.session-panel>summary{cursor:pointer;list-style:none}.session-panel>summary::-webkit-details-marker{display:none}.session-panel>summary .small-label{margin:0}.session-panel .pill{margin-left:auto}.disclosure-icon{color:var(--signal);transition:transform .15s}.session-panel[open] .disclosure-icon{transform:rotate(180deg)}.session-scroll{max-height:360px;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;padding-right:8px}.layout-options input[type=number]{max-width:140px}

.welcome.results{z-index:3;overflow-y:auto;background:rgba(17,17,17,.96);justify-content:flex-start;padding:28px 24px}.welcome.results h2{font-size:30px;margin:12px 0}.welcome.results p{margin-bottom:12px}.completion-metrics{display:grid;grid-template-columns:1fr 1fr;gap:16px 24px;width:min(440px,100%);margin:8px 0 24px;text-align:left}.completion-metrics>div{border-top:1px solid var(--rule);padding-top:12px}.completion-metrics dt{font-size:12px;color:var(--quiet)}.completion-metrics dd{margin:6px 0 0;font:22px 'Courier New',monospace}.history .session-scroll{max-height:300px;padding-top:16px}.history>summary .disclosure-icon{margin-left:auto}

.range-column{min-width:0}.range-column .range{position:relative;top:0}.controller-panel{margin-top:24px;border-top:1px solid var(--rule);padding-top:24px!important}.controller-columns{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:32px}.controller-columns label:first-child{margin-top:20px}.controller-columns #controller-controls{margin-top:24px}.controller-panel .small-label{display:block}.controller-columns #usb-data{font-size:10px}@media(max-width:1000px){.controller-columns{grid-template-columns:1fr;gap:8px}}@media(max-width:760px){.controller-panel{margin-bottom:0}.workspace{gap:32px}}

.charge-reticle.charger circle:nth-child(2),.charge-reticle.charger #charge-outer{display:none}

.input-check{border-top:1px solid var(--rule);margin-top:24px;padding-top:16px;font-size:12px;color:var(--quiet)}.input-check summary{cursor:pointer;color:var(--paper)}.input-check p{max-width:750px}.input-check dl{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:20px 0 0}.input-check dd{font:14px 'Courier New',monospace;color:var(--signal);margin:8px 0}.input-check dt{color:var(--quiet)}@media(max-width:760px){.input-check dl{grid-template-columns:1fr;gap:8px}}
