:root{--bg:#ECEFF3;--surf:#F7F9FB;--surf-2:#E2E7ED;--surf-3:#D8DEE6;--ink:#12171D;--ink-2:#4A545F;--faint:#79848F;--line:#D2D9E1;--line-2:#BAC3CD;--accent:#07717C;--accent-2:#0A8D9A;--accent-wash:#DCEFF1;--alarm:#BF3A20;--alarm-wash:#FAE3DD;--ok:#1B6E46;--shadow:0 8px 30px rgba(18,23,29,.14);--cv-bg:#ECEFF3;--cv-ink:18,23,29;--cv-accent:7,113,124;--cv-alarm:191,58,32;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#0D1116;--surf:#141A21;--surf-2:#1C242D;--surf-3:#242E39;--ink:#E4E9EF;--ink-2:#A4AFBB;--faint:#6B7784;--line:#232C36;--line-2:#333E4A;--accent:#3BC6D4;--accent-2:#5FD9E5;--accent-wash:#0E2A2E;--alarm:#FF7052;--alarm-wash:#31170F;--ok:#4FC98D;--shadow:0 10px 34px rgba(0,0,0,.55);--cv-bg:#0D1116;--cv-ink:228,233,239;--cv-accent:59,198,212;--cv-alarm:255,112,82;color-scheme:dark}}:root[data-theme=dark]{--bg:#0D1116;--surf:#141A21;--surf-2:#1C242D;--surf-3:#242E39;--ink:#E4E9EF;--ink-2:#A4AFBB;--faint:#6B7784;--line:#232C36;--line-2:#333E4A;--accent:#3BC6D4;--accent-2:#5FD9E5;--accent-wash:#0E2A2E;--alarm:#FF7052;--alarm-wash:#31170F;--ok:#4FC98D;--shadow:0 10px 34px rgba(0,0,0,.55);--cv-bg:#0D1116;--cv-ink:228,233,239;--cv-accent:59,198,212;--cv-alarm:255,112,82;color-scheme:dark}*{box-sizing:border-box}html,body{height:100%}body{margin:0;background:var(--bg);color:var(--ink);font-family:IBM Plex Sans,system-ui,-apple-system,sans-serif;font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased;overflow:hidden}:root[data-density=compact] body{font-size:13.5px}button{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:2px}.mono,code{font-family:IBM Plex Mono,ui-monospace,monospace}code{font-size:.92em}.lbl{font-family:IBM Plex Mono,monospace;font-size:9.5px;font-weight:500;letter-spacing:.18em;color:var(--faint);text-transform:uppercase}.bench{display:flex;flex-direction:column;height:100dvh}.strip{display:flex;align-items:center;gap:clamp(14px,2.2vw,26px);flex-wrap:wrap;padding:9px clamp(12px,2.2vw,24px);border-bottom:1px solid var(--line);background:var(--surf)}.wordmark{font-weight:600;letter-spacing:.2em;font-size:11.5px}.leds{display:flex;gap:16px;flex-wrap:wrap;font-family:IBM Plex Mono,monospace;font-size:9.5px;letter-spacing:.1em;color:var(--ink-2)}.led{display:inline-block;width:6px;height:6px;border-radius:50%;margin-right:6px;background:var(--ok);vertical-align:1px}.led.off{background:var(--line-2)}.led.live{background:var(--accent);animation:blink 1.2s steps(2) infinite}.led.alarm{background:var(--alarm)}@keyframes blink{50%{opacity:.25}}.tools{margin-left:auto;display:flex;gap:6px}.tbtn{background:none;border:1px solid var(--line-2);border-radius:4px;padding:5px 10px;cursor:pointer;display:flex;align-items:center;gap:6px;font-family:IBM Plex Mono,monospace;font-size:10px;letter-spacing:.1em;color:var(--ink-2);transition:border-color .15s,color .15s,background .15s}.tbtn:hover{border-color:var(--ink-2);color:var(--ink);background:var(--surf-2)}.tbtn svg{width:13px;height:13px;flex:none}.app{flex:1;min-height:0;display:grid;grid-template-columns:190px minmax(0,1fr) 300px}.rail{border-right:1px solid var(--line);padding:14px 0;display:flex;flex-direction:column;background:var(--surf);overflow-y:auto}.rail .lbl{padding:0 15px;margin:0 0 7px}.rail .lbl.mt{margin-top:18px}.conn{display:flex;gap:9px;align-items:flex-start;padding:5px 15px;font-size:12.5px;line-height:1.35}.conn .sq{width:6px;height:6px;border-radius:50%;margin-top:5px;flex:none;background:var(--ok)}.conn .sq.idle{background:var(--line-2)}.conn .sq.live{background:var(--accent);animation:blink 1.2s steps(2) infinite}.conn .sq.alarm{background:var(--alarm)}.conn b{display:block;font-weight:500;color:var(--ink)}.conn span span{display:block;color:var(--faint);font-family:IBM Plex Mono,monospace;font-size:10px}.railfoot{margin-top:auto;padding-top:10px;border-top:1px solid var(--line)}.stage{display:flex;flex-direction:column;min-width:0;min-height:0;border-right:1px solid var(--line);position:relative;background:var(--bg)}.stagebar{display:flex;align-items:center;gap:4px;padding:9px clamp(12px,2vw,20px) 0;border-bottom:1px solid var(--line);margin-bottom:0}.phase{display:flex;gap:24px}.phase button{background:none;border:0;padding:0 2px 8px;cursor:pointer;position:relative;font-family:IBM Plex Mono,monospace;font-size:10.5px;font-weight:500;letter-spacing:.2em;color:var(--faint)}.phase button[aria-selected=true]{color:var(--ink)}.phase button:disabled{cursor:default;opacity:.4}.phase button i{position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--accent);transform-origin:left;transform:scaleX(0);transition:transform .45s cubic-bezier(.4,0,.1,1)}.phase button[aria-selected=true] i{transform:scaleX(1)}.panes{flex:1;min-height:0;display:grid;grid-template-columns:minmax(280px,.9fr) minmax(0,1.1fr);gap:clamp(10px,1.6vw,22px);padding:12px clamp(12px,2vw,20px) 14px}.pane{display:flex;flex-direction:column;min-width:0;min-height:270px}.panehead{display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:6px 10px;border-bottom:1px solid var(--line);padding-bottom:6px;margin-bottom:4px}.panehead .cap{flex:1;min-width:0;font-size:12px;color:var(--faint);text-align:right;font-variant-numeric:tabular-nums}.panehead .cap.alarm{color:var(--alarm);font-weight:500}.viewseg{display:flex;border:1px solid var(--line-2);border-radius:3px;overflow:hidden;flex:none;align-self:center}.viewseg button{background:none;border:0;padding:3px 9px;cursor:pointer;font-family:IBM Plex Mono,monospace;font-size:9.5px;letter-spacing:.1em;color:var(--faint);display:flex;align-items:center;gap:5px}.viewseg button:hover{color:var(--ink)}.viewseg button[aria-pressed=true]{background:var(--accent);color:var(--bg)}.viewseg i{font-style:normal;font-variant-numeric:tabular-nums;opacity:.75;font-size:9px}.figwrap{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden}.figgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(172px,1fr));gap:1px;background:var(--line);border:1px solid var(--line)}.figempty{grid-column:1/-1;background:var(--surf);margin:0;padding:40px 20px;text-align:center;color:var(--faint);font-size:12.5px}.figcell{background:var(--surf);padding:10px 11px 8px;margin:0;cursor:pointer;opacity:0;transform:translateY(8px);position:relative;transition:opacity .4s ease,transform .4s cubic-bezier(.2,.8,.3,1),background .15s ease}.figcell.on{opacity:1;transform:none}.figcell:hover{background:var(--surf-2)}.figcell.flash{animation:figflash 1.1s ease}@keyframes figflash{0%,55%{background:var(--accent-wash)}to{background:var(--surf)}}.figcell .fh{display:flex;justify-content:space-between;align-items:baseline;gap:6px;font-family:IBM Plex Mono,monospace;font-size:9px;letter-spacing:.1em;color:var(--faint);margin-bottom:5px}.figcell .fh b{color:var(--ink);font-weight:500}.figcell.deviant .fh b{color:var(--alarm)}.figcell svg{width:100%;height:auto;display:block}.figcell .devnote{display:none;font-size:10.5px;color:var(--alarm);margin:5px 0 0;line-height:1.4}.figcell.deviant .devnote{display:block}.plot-axis{stroke:var(--line-2);stroke-width:.8}.plot-tick{font-family:IBM Plex Mono,monospace;font-size:8px;fill:var(--faint)}.plot-ref{fill:none;stroke:var(--faint);stroke-width:1;stroke-dasharray:3 3}.plot-trace{fill:none;stroke:var(--accent);stroke-width:1.7;stroke-linejoin:round;stroke-linecap:round}.plot-trace.alarm{stroke:var(--alarm)}.chipwrap{flex:1;min-height:0;display:grid;place-items:center}.chipwrap svg{width:100%;height:100%;max-height:100%;display:block;-webkit-user-select:none;user-select:none}.tracewrap{flex:1;min-height:0;position:relative}.tracewrap canvas{position:absolute;top:0;right:0;bottom:0;left:0;display:block;opacity:0;transition:opacity .9s cubic-bezier(.2,.7,.3,1) .05s}.tracewrap canvas.in{opacity:1}.stamp{position:absolute;left:clamp(14px,2.2vw,30px);bottom:18px;z-index:8;border:2.5px double var(--alarm);color:var(--alarm);border-radius:5px;padding:5px 12px 4px;transform:rotate(-4deg);background:var(--bg);font-family:IBM Plex Mono,monospace;font-size:9.5px;font-weight:600;letter-spacing:.18em;text-align:center;line-height:1.5;opacity:.9;pointer-events:none;animation:stampIn .5s cubic-bezier(.2,1.4,.4,1) both .35s}.stamp small{display:block;font-size:7.5px;letter-spacing:.14em;font-weight:400}@keyframes stampIn{0%{opacity:0;transform:rotate(-9deg) scale(1.75)}70%{opacity:.94;transform:rotate(-4deg) scale(.96)}to{opacity:.9;transform:rotate(-4deg) scale(1)}}.proc{background:var(--surf);border-left:1px solid var(--line);padding:16px 18px 14px;overflow-y:auto;position:relative}.proc h2{font-family:IBM Plex Mono,monospace;font-size:10px;font-weight:600;letter-spacing:.2em;margin:0 0 4px;color:var(--accent)}.proc .step{color:var(--ink-2);font-size:13px;margin:0 0 13px}.specimens{display:grid;gap:8px;margin-bottom:15px}.specimen{display:grid;grid-template-columns:34px 1fr auto;gap:11px;align-items:center;text-align:left;background:var(--bg);border:1px solid var(--line-2);border-radius:4px;padding:9px 11px;cursor:pointer;font:inherit;color:inherit;transition:border-color .15s ease,box-shadow .15s ease}.specimen:hover{border-color:var(--ink-2)}.specimen[aria-pressed=true]{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.specimen b{display:block;font-weight:500;font-size:13px}.specimen span{display:block;color:var(--faint);font-size:11.5px}.specimen .tick{width:17px;height:17px;border:1.5px solid var(--line-2);border-radius:50%;display:grid;place-items:center;color:transparent;font-size:9px;transition:all .15s ease}.specimen[aria-pressed=true] .tick{background:var(--accent);border-color:var(--accent);color:var(--bg)}.chipicon{width:34px;height:34px}.plansum{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 7px;background:var(--bg);border:1px solid var(--line-2);border-radius:4px;padding:9px 11px;margin:0 0 10px;line-height:1.75;font-family:IBM Plex Mono,monospace;font-size:11px;color:var(--ink-2);font-variant-numeric:tabular-nums}.plansum .sep{color:var(--line-2);-webkit-user-select:none;user-select:none}.ptok{background:none;border:0;border-radius:0;padding:0 1px;cursor:pointer;font:inherit;color:var(--ink);font-weight:500;border-bottom:1px dotted var(--faint)}.ptok:hover{color:var(--accent);border-bottom-color:var(--accent)}.ptok:disabled{cursor:default;color:var(--ink-2);border-bottom-color:transparent;opacity:.75}.ptok.lock{cursor:help;border-bottom-style:dashed}.plansum input{width:6ch;background:var(--surf);border:1px solid var(--accent);border-radius:2px;color:var(--ink);font:inherit;padding:0 3px;text-align:right}.ci-body{fill:var(--surf-3);stroke:var(--ink-2);stroke-width:1.2}.ci-dot{fill:var(--faint)}.ci-x{stroke:var(--alarm);stroke-width:1.6;fill:none}.press{position:relative;width:100%;height:50px;border-radius:4px;overflow:hidden;border:1.5px solid var(--ink);background:var(--ink);color:var(--bg);cursor:pointer;font-weight:600;font-size:12.5px;letter-spacing:.04em;touch-action:none;transition:opacity .2s ease}.press:disabled{opacity:.55;cursor:not-allowed}.press .fill{position:absolute;top:0;right:0;bottom:0;left:0;width:0%;background:var(--accent)}.press .lab{position:relative;display:flex;align-items:center;justify-content:center;gap:9px;height:100%}.press .lab small{font-family:IBM Plex Mono,monospace;font-size:8.5px;letter-spacing:.16em;opacity:.7;font-weight:400}.press.abort{background:var(--alarm);border-color:var(--alarm);color:#fff}.pressnote{font-family:IBM Plex Mono,monospace;font-size:8.5px;letter-spacing:.11em;color:var(--faint);text-align:center;margin:8px 0 0}.armstamp{position:absolute;top:10px;right:12px;border:2px double var(--accent);color:var(--accent);border-radius:4px;padding:3px 9px;transform:rotate(3deg);background:var(--surf);font-family:IBM Plex Mono,monospace;font-size:8.5px;font-weight:600;letter-spacing:.18em;display:none}.armstamp.on{display:block;animation:stampIn .4s cubic-bezier(.2,1.4,.4,1) both}.armstamp.alarm{border-color:var(--alarm);color:var(--alarm)}.readout{display:none;margin-top:20px}.readout.on{display:block}.ro-pin{display:flex;align-items:baseline;gap:12px}.ro-pin .big{font-size:44px;font-weight:600;letter-spacing:-.03em;line-height:1;font-variant-numeric:tabular-nums}.ro-pin .of{color:var(--faint);font-family:IBM Plex Mono,monospace;font-size:11px}.ro-vals{display:flex;gap:16px;flex-wrap:wrap;margin:10px 0 0;font-family:IBM Plex Mono,monospace;font-size:11.5px;color:var(--ink-2);font-variant-numeric:tabular-nums}.ro-vals b{color:var(--ink);font-weight:500}.summary{display:none;margin-top:22px;border-top:1px solid var(--line);padding-top:14px}.summary.on{display:block;animation:rise .4s ease both}@keyframes rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1}}.verdict{font-size:14.5px;font-weight:450;margin:2px 0 11px;line-height:1.45}.verdict .dev{color:var(--alarm);font-weight:600}.sumrow{display:flex;justify-content:space-between;gap:10px;padding:6px 0;border-bottom:1px solid var(--line);font-size:12.5px}.sumrow .k{color:var(--faint)}.sumrow .v{font-family:IBM Plex Mono,monospace;font-size:11.5px;font-variant-numeric:tabular-nums}.sumrow .v.alarm{color:var(--alarm);font-weight:600}.devrow{display:grid;grid-template-columns:3px auto 1fr auto;gap:9px;align-items:center;width:100%;text-align:left;background:none;border:0;cursor:pointer;border-bottom:1px solid var(--line);padding:8px 2px;font:inherit;color:inherit}.devrow:hover{background:var(--surf-2)}.devrow .sw{width:3px;height:22px;background:var(--alarm)}.devrow .n{font:500 12px IBM Plex Mono,monospace}.devrow .d{font-size:12.5px;color:var(--alarm)}.devrow .m{font:400 11px IBM Plex Mono,monospace;color:var(--alarm);font-variant-numeric:tabular-nums}.sum-note{font-size:11px;color:var(--faint);margin:11px 0;line-height:1.55}.btnrow{display:flex;gap:7px;flex-wrap:wrap}.ghost{flex:1;min-width:110px;background:none;border:1px solid var(--line-2);color:var(--ink);border-radius:4px;padding:9px;font-weight:500;font-size:12.5px;cursor:pointer;transition:background .15s ease,border-color .15s ease}.ghost:hover{background:var(--surf-2);border-color:var(--ink-2)}.ghost.primary{background:var(--ink);color:var(--bg);border-color:var(--ink)}.backchip{display:none;margin:0 0 11px;background:none;border:1px solid var(--line-2);border-radius:999px;padding:5px 12px;cursor:pointer;font-size:11px;color:var(--ink-2)}.backchip.on{display:inline-block}.backchip:hover{border-color:var(--ink-2);color:var(--ink)}.dock{border-top:1px solid var(--line);background:var(--surf);display:grid;grid-template-columns:minmax(0,240px) minmax(0,1fr);height:158px;transition:height .28s cubic-bezier(.4,0,.1,1)}.dock.tall{height:min(48vh,420px)}@media (max-width:820px){.dock{display:flex;flex-direction:column;height:auto}}.statuspane{padding:10px clamp(12px,2vw,20px);border-right:1px solid var(--line);display:flex;flex-direction:column;gap:7px;overflow:hidden}.statusline{font-family:IBM Plex Mono,monospace;font-size:11.5px;color:var(--ink-2);font-variant-numeric:tabular-nums;line-height:1.6}.statusline.alarm{color:var(--alarm)}.statgrid{display:grid;grid-template-columns:1fr auto;gap:2px 10px;margin-top:auto;font-family:IBM Plex Mono,monospace;font-size:10.5px;font-variant-numeric:tabular-nums;color:var(--faint)}.statgrid b{color:var(--ink-2);font-weight:500;text-align:right}.logpane{display:flex;flex-direction:column;min-width:0;min-height:0}.logbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:8px clamp(12px,2vw,20px) 7px;border-bottom:1px solid var(--line)}.logbar .count{font-family:IBM Plex Mono,monospace;font-size:9.5px;color:var(--faint);font-variant-numeric:tabular-nums}.filters{display:flex;gap:3px;margin-left:auto;flex-wrap:wrap}.filters button{background:none;border:1px solid transparent;border-radius:3px;padding:3px 8px;cursor:pointer;font-family:IBM Plex Mono,monospace;font-size:9.5px;letter-spacing:.09em;color:var(--faint)}.filters button:hover{color:var(--ink);background:var(--surf-2)}.filters button[aria-pressed=true]{color:var(--ink);border-color:var(--line-2);background:var(--surf-2)}.logacts{display:flex;gap:4px}.logacts button{background:none;border:1px solid var(--line-2);border-radius:3px;padding:3px 8px;cursor:pointer;font-family:IBM Plex Mono,monospace;font-size:9.5px;letter-spacing:.09em;color:var(--ink-2)}.logacts button:hover{border-color:var(--ink-2);color:var(--ink);background:var(--surf-2)}.loglines{flex:1;min-height:0;overflow-y:auto;overflow-x:auto;padding:8px clamp(12px,2vw,20px) 10px;font-family:IBM Plex Mono,monospace;font-size:10.5px;line-height:1.75;color:var(--ink-2);scroll-behavior:smooth}@media (max-width:820px){.loglines{max-height:210px}}.loglines .row{display:grid;grid-template-columns:52px 62px 1fr;gap:10px;white-space:nowrap;animation:rise .25s ease both}.loglines .t{color:var(--faint);font-variant-numeric:tabular-nums;text-align:right}.loglines .k{color:var(--faint);font-size:9.5px;letter-spacing:.08em;padding-top:1px}.loglines .row.alarm .m,.loglines .row.alarm .k{color:var(--alarm)}.loglines .row.safety .m,.loglines .row.safety .k{color:var(--accent)}.loglines .empty{color:var(--faint);font-style:normal}.c-body{fill:var(--surf-3);stroke:var(--ink-2);stroke-width:1.3}.c-inner{fill:none;stroke:var(--line-2);stroke-width:.7}.c-pin{fill:var(--line-2);stroke:var(--ink-2);stroke-width:.9;transition:fill .25s ease;cursor:pointer}.c-pin.active{fill:var(--accent);stroke:var(--accent)}.c-pin.done{fill:var(--ink-2);stroke:var(--ink-2)}.c-pin.deviant{fill:var(--alarm);stroke:var(--alarm)}.c-lbl{font-family:IBM Plex Mono,monospace;font-size:11px;fill:var(--faint)}.c-lbl.hot{fill:var(--accent);font-weight:600}.c-lbl.deviant{fill:var(--alarm);font-weight:600}.c-name{font-family:IBM Plex Mono,monospace;font-size:14px;fill:var(--ink-2);letter-spacing:.16em}.c-lot{font-family:IBM Plex Mono,monospace;font-size:9.5px;fill:var(--faint);letter-spacing:.12em}.c-key{fill:none;stroke:var(--faint);stroke-width:1.1}.pen{fill:none;stroke:var(--alarm);stroke-width:2.2;stroke-linecap:round}.pen-note{font-family:IBM Plex Mono,monospace;font-size:11.5px;font-weight:500;fill:var(--alarm);letter-spacing:.04em}.scrim{position:fixed;top:0;right:0;bottom:0;left:0;background:#080b0f6b;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);opacity:0;pointer-events:none;transition:opacity .25s ease;z-index:40}.scrim.on{opacity:1;pointer-events:auto}.drawer{position:fixed;top:0;right:0;bottom:0;width:min(390px,100%);background:var(--surf);border-left:1px solid var(--line);box-shadow:var(--shadow);z-index:41;display:flex;flex-direction:column;transform:translate(100%);transition:transform .3s cubic-bezier(.4,0,.1,1)}.drawer.on{transform:none}.drawerhead{display:flex;align-items:center;gap:10px;padding:14px 18px;border-bottom:1px solid var(--line)}.drawerhead h2{margin:0;font-size:14px;font-weight:600;letter-spacing:.01em}.xbtn{margin-left:auto;background:none;border:1px solid var(--line-2);border-radius:4px;width:28px;height:28px;cursor:pointer;color:var(--ink-2);font-size:15px;line-height:1}.xbtn:hover{border-color:var(--ink-2);color:var(--ink)}.drawerbody{flex:1;overflow-y:auto;padding:4px 18px 24px}.grp{border-bottom:1px solid var(--line);padding:14px 0 12px}.grp:last-child{border-bottom:0}.grp>.lbl{margin:0 0 10px}.set{display:grid;grid-template-columns:1fr auto;gap:6px 12px;align-items:center;padding:5px 0}.set label{font-size:12.5px;color:var(--ink)}.set .sub{grid-column:1/-1;font-size:10.5px;color:var(--faint);line-height:1.5;margin:-2px 0 2px}.set select,.set input[type=number],.set input[type=text]{background:var(--bg);border:1px solid var(--line-2);border-radius:3px;color:var(--ink);padding:5px 7px;font-family:IBM Plex Mono,monospace;font-size:11px;min-width:96px;text-align:right;font-variant-numeric:tabular-nums}.set select{text-align:left;min-width:132px}.set input:disabled,.set select:disabled{opacity:.55;cursor:not-allowed}.set input[type=checkbox]{width:16px;height:16px;accent-color:var(--accent);cursor:pointer}.set input[type=checkbox]:disabled{cursor:not-allowed;opacity:.55}.tag{display:inline-block;margin-left:7px;border-radius:2px;padding:1px 5px;font-family:IBM Plex Mono,monospace;font-size:8px;letter-spacing:.1em;vertical-align:1px;font-weight:500}.tag.lock{background:var(--accent-wash);color:var(--accent)}.tag.spon{background:var(--alarm-wash);color:var(--alarm)}.seg{display:flex;border:1px solid var(--line-2);border-radius:3px;overflow:hidden}.seg button{background:none;border:0;padding:5px 11px;cursor:pointer;font-family:IBM Plex Mono,monospace;font-size:10px;letter-spacing:.08em;color:var(--faint)}.seg button[aria-pressed=true]{background:var(--accent);color:var(--bg)}.expbtn{width:100%;background:none;border:1px solid var(--line-2);border-radius:4px;padding:9px;cursor:pointer;font-size:12.5px;color:var(--ink);margin-top:7px;text-align:left;display:flex;justify-content:space-between;align-items:center;gap:10px}.expbtn:hover{border-color:var(--ink-2);background:var(--surf-2)}.expbtn span{font-family:IBM Plex Mono,monospace;font-size:10px;color:var(--faint)}.note{font-size:11px;color:var(--faint);line-height:1.55;margin:10px 0 0}.modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:none;place-items:center;padding:22px}.modal.on{display:grid}.modalcard{background:var(--surf);border:1px solid var(--line-2);border-radius:6px;box-shadow:var(--shadow);width:min(760px,100%);max-height:86vh;display:flex;flex-direction:column}.modalcard pre{flex:1;min-height:0;overflow:auto;margin:0;padding:14px 16px;font-family:IBM Plex Mono,monospace;font-size:11px;line-height:1.7;color:var(--ink-2);white-space:pre;background:var(--bg);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.modalfoot{padding:11px 16px;display:flex;gap:8px;justify-content:flex-end;align-items:center;flex-wrap:wrap}.modalfoot .note{margin:0 auto 0 0;max-width:44ch}.toast{position:fixed;left:50%;bottom:26px;transform:translate(-50%,14px);background:var(--ink);color:var(--bg);border-radius:4px;padding:8px 15px;font-size:12px;z-index:60;opacity:0;pointer-events:none;transition:opacity .2s ease,transform .2s ease}.toast.on{opacity:1;transform:translate(-50%)}@media (max-width:1080px) and (min-width:821px){.app{grid-template-columns:minmax(0,1fr) 296px}.rail{display:none}}@media (max-width:820px){body{overflow:auto}.bench{height:auto}.app{display:flex;flex-direction:column}.rail{border-right:0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:0 10px;padding:12px 0}.rail .lbl{grid-column:1/-1;margin-top:0}.rail .lbl.mt{margin-top:10px}.railfoot{grid-column:1/-1;margin-top:8px}.stage{border-right:0}.panes{grid-template-columns:1fr}.proc{border-left:0;border-top:1px solid var(--line);overflow:visible}.dock{display:flex;flex-direction:column;height:auto}.statuspane{border-right:0;border-bottom:1px solid var(--line)}.panehead .cap{flex:1 0 100%;text-align:left;order:3}.viewseg{margin-left:auto}.loglines{max-height:220px}.loglines .row{grid-template-columns:46px 54px 1fr;gap:8px}.logbar{gap:6px}.filters{margin-left:0}}@media (prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;transition-duration:.01ms!important}.loglines{scroll-behavior:auto}}[hidden]{display:none!important}.modetag{font-family:IBM Plex Mono,monospace;font-size:9px;font-weight:600;letter-spacing:.14em;color:var(--alarm);border:1px solid var(--alarm);border-radius:3px;padding:2px 7px;white-space:nowrap}.leds .ledalarm{color:var(--alarm);font-weight:600}.tbtn.abortnow{display:none;background:var(--alarm);border-color:var(--alarm);color:#fff}.tbtn.abortnow:hover{background:var(--alarm);color:#fff;filter:brightness(1.08)}@media (max-width:820px){.tbtn.abortnow{display:flex}}.tag.prof{background:var(--surf-2);color:var(--ink-2)}.conn.danger b{color:var(--alarm)}.specimen:disabled{cursor:not-allowed;opacity:.6}a.ghost{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;text-align:center}.sum-note.warn{color:var(--alarm)}.filters button:disabled,.logacts button:disabled{opacity:.45;cursor:not-allowed}.faultbar{display:flex;flex-wrap:wrap;gap:4px 14px;align-items:baseline;padding:10px clamp(12px,2.2vw,24px);background:var(--alarm);color:#fff;font-family:IBM Plex Mono,monospace;font-size:11px;letter-spacing:.06em}.faultbar b{font-weight:600;letter-spacing:.1em}.bench.fault .pane.dimmable,.bench.fault .stamp,.bench.fault .specimens,.bench.fault .readout{opacity:.3}.press.confirm{background:var(--alarm);border-color:var(--alarm);color:#fff}.press.confirm .fill{background:var(--ink)}.gate{min-height:100dvh;display:grid;place-items:center;padding-block:40px;padding-inline:clamp(16px,4vw,40px);background:var(--bg)}.gatecard{max-width:560px;width:100%;background:var(--surf);border:1px solid var(--line);border-radius:6px;padding:22px 24px;box-shadow:var(--shadow)}.gatecard h1{font-size:19px;font-weight:600;margin:6px 0 12px;letter-spacing:-.01em}.gatecard p{color:var(--ink-2);font-size:13.5px}.gatecard pre{background:var(--bg);border:1px solid var(--line-2);border-radius:4px;padding:10px 12px;font-family:IBM Plex Mono,monospace;font-size:12px;overflow-x:auto}.gatecard .ghost{margin-top:6px;padding:10px 16px}.guide{position:fixed;top:0;right:0;bottom:0;width:min(560px,100vw);z-index:45;background:var(--surf);border-left:1px solid var(--line);box-shadow:var(--shadow);display:flex;flex-direction:column}.g-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:14px 18px 12px;border-bottom:1px solid var(--line)}.g-eyebrow{font-family:IBM Plex Mono,monospace;font-size:9.5px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--accent)}.g-title{font-weight:600;font-size:18px;letter-spacing:-.01em;margin-top:3px}.g-close{background:none;border:1px solid var(--line-2);border-radius:4px;color:var(--ink-2);width:28px;height:28px;cursor:pointer;font-size:15px;line-height:1}.g-close:hover{border-color:var(--ink-2);color:var(--ink)}.g-body{flex:1;overflow-y:auto;padding:14px 18px 60px}.g-body p,.g-body li{font-size:13px;line-height:1.6;color:var(--ink-2)}.g-body h3{font-size:14.5px;font-weight:600;margin:24px 0 8px;color:var(--ink)}.g-body h4{font-family:IBM Plex Mono,monospace;font-size:9.5px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--faint);margin:18px 0 6px}.g-body section{border-top:1px solid var(--line);margin-top:22px;padding-top:4px}.g-body blockquote{margin:12px 0;padding:9px 13px;border-left:2px solid var(--accent);background:var(--accent-wash);border-radius:0 4px 4px 0;font-size:12.5px;color:var(--ink-2)}.g-body blockquote cite{display:block;margin-top:6px;font-family:IBM Plex Mono,monospace;font-size:9.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--faint);font-style:normal}.g-body table{border-collapse:collapse;width:100%;font-size:12px;margin:10px 0}.g-body th{text-align:left;font-family:IBM Plex Mono,monospace;font-size:9px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--faint);padding:6px 8px;border-bottom:1px solid var(--line-2)}.g-body td{padding:7px 8px;border-bottom:1px solid var(--line);vertical-align:top;color:var(--ink-2)}.g-body ol,.g-body ul{padding-left:1.2em}.g-body q{font-style:italic}.g-body code{font-size:.9em}.g-muted{color:var(--faint);font-size:12px}.g-tour{background:var(--bg);border:1px solid var(--line-2);border-radius:4px;padding:13px 15px 12px}.g-tourbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.g-step{font-family:IBM Plex Mono,monospace;font-size:9.5px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--accent)}.g-dots{display:flex;gap:4px}.g-dots i{width:5px;height:5px;border-radius:50%;background:var(--line-2);display:block}.g-dots i.past{background:var(--ink-2)}.g-dots i.on{background:var(--accent);transform:scale(1.4)}.g-tour h3{margin:4px 0 6px!important}.g-tourrow{display:flex;gap:7px;margin-top:12px;flex-wrap:wrap}.g-btn{background:none;border:1px solid var(--line-2);border-radius:4px;padding:7px 13px;font:inherit;font-size:12.5px;font-weight:500;color:var(--ink);cursor:pointer}.g-btn:hover:not(:disabled){background:var(--surf-2);border-color:var(--ink-2)}.g-btn:disabled{opacity:.5;cursor:default}.g-btn.go{background:var(--ink);border-color:var(--ink);color:var(--bg)}.g-btn.go:hover:not(:disabled){background:var(--ink);filter:brightness(1.15)}
