[hidden]{display:none!important}
.page-heading{display:flex;flex-direction:column;gap:7px;padding:8px 0 5px}.page-heading p{font-size:15px;color:var(--mute)}
.evidence-video-slot:empty{display:none}.evidence-video-slot{margin-bottom:20px;max-width:820px}.evidence-video-slot .videowrap{max-height:480px}.evidence-video-slot video{max-height:480px;object-fit:contain}
.page-navigation{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 0 0;margin-top:auto;border-top:1px solid var(--line)}.page-navigation #page-position{color:var(--mute);margin-right:auto}.page-navigation .btn{min-height:44px}
.operation-status{display:flex;align-items:center;gap:14px;padding:16px 18px;border:1px solid var(--accent-line);border-radius:var(--R);background:var(--accent-bg);color:var(--text)}.operation-status strong{font-weight:500}.operation-status p{font-size:12px;color:var(--mute);margin-top:4px}.operation-spinner{width:20px;height:20px;flex:none;border:2px solid var(--line2);border-top-color:var(--accent);border-radius:50%;animation:operation-spin 1s linear infinite}@keyframes operation-spin{to{transform:rotate(360deg)}}
.rehearsal{margin-top:28px;border:1px solid var(--line2);border-radius:var(--R);overflow:hidden;background:var(--p2)}.rehearsal-heading{padding:20px;border-bottom:1px solid var(--line)}.rehearsal-heading h3{margin:0 0 7px;font-size:18px;font-weight:500}.rehearsal-heading p{color:var(--mute);font-size:12px;max-width:70ch}.rehearsal iframe{display:block;width:100%;height:1080px;border:0;background:#191f25}
@media(max-width:650px){.page-navigation{gap:8px;flex-wrap:wrap}.page-navigation .btn{font-size:12px;padding:9px 12px}.page-navigation #page-position{order:-1;width:100%;margin:0;text-align:center}.page-navigation #page-next{margin-left:auto}.rehearsal-heading{padding:16px}.operation-status{padding:13px}.page-heading p{font-size:13px}}
@media(prefers-reduced-motion:reduce){.operation-spinner{animation:none}}
:root{
  --bg:#0a0d11; --p1:#11161c; --p2:#171d25; --p3:#1e2630; --line:#252d37; --line2:#34404d;
  --text:#e8edf2; --mute:#93a1b0; --dim:#6b7886;
  --accent:#66d9f2; --accent-2:#a99bff; --accent-text:#c8c0ff; --accent-ink:#091521;
  --accent-bg:#14212d; --accent-line:#547b98;
  --accent-gradient:linear-gradient(112deg,#66d9f2 0%,#85b9f6 52%,#a99bff 100%);
  --amber:#ffb020; --amber-bg:#2a2008; --amber-line:#6b5113;
  --ok:#3fdc9a; --ok-ink:#03200f; --ok-bg:#0b2419; --ok-line:#1c6145;
  --bad:#ff5d6c; --bad-ink:#2a0710; --bad-bg:#2c0f15; --bad-line:#71263a;
  --r:4px; --R:8px;
  --mono:"IBM Plex Mono",ui-monospace,Menlo,monospace;
  --sans:"IBM Plex Sans",system-ui,sans-serif;
  --disp:"Barlow Condensed","Arial Narrow",sans-serif;
  --ease:cubic-bezier(.16,1,.3,1);
}
*{box-sizing:border-box}
html{color-scheme:dark;scrollbar-color:var(--line2) var(--bg)}
body{margin:0;background:var(--bg);color:var(--text);font:400 14px/1.5 var(--sans);overflow-x:hidden;-webkit-font-smoothing:antialiased}
::selection{background:var(--accent);color:var(--accent-ink)}
:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
::-webkit-scrollbar{width:10px;height:10px} ::-webkit-scrollbar-thumb{background:var(--line2);border-radius:10px;border:2px solid transparent;background-clip:padding-box} ::-webkit-scrollbar-track{background:transparent}
h1,h2,p{margin:0}
.mono{font-family:var(--mono);font-variant-numeric:tabular-nums}
.small{font-size:12px}
.ico{width:18px;height:18px;flex:none}
.skip{position:absolute;left:12px;top:-60px;z-index:100;background:var(--accent-gradient);color:var(--accent-ink);padding:8px 12px;border-radius:var(--r);font-weight:600}
.skip:focus{top:12px}

/* ---------- shell ---------- */
.app{display:grid;grid-template-columns:248px minmax(0,1fr);min-height:100vh}
.side{position:sticky;top:0;align-self:start;height:100vh;display:flex;flex-direction:column;gap:20px;padding:24px 20px;border-right:1px solid var(--line);background:var(--p1)}
.brand{display:flex;align-items:center;gap:10px}
.brand .mark{width:30px;height:30px;flex:none}
.brand h1{font:700 26px/1 var(--disp);letter-spacing:.04em;text-transform:uppercase}
.workspace-links{display:flex;gap:6px;flex-wrap:wrap}
.workspace-links a{display:inline-flex;align-items:center;min-height:40px;padding:0 12px;color:var(--mute);text-decoration:none;border:1px solid var(--line2);border-radius:var(--r);font-weight:500}
.workspace-links a:hover,.workspace-links a[aria-current="page"]{color:var(--text);background:var(--p2)}
.workspace-links a:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.runmeta{display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding-bottom:20px;border-bottom:1px solid var(--line)}
#run-id{color:var(--mute);font-size:12px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pill{font:500 11px/1 var(--mono);text-transform:uppercase;letter-spacing:.08em;padding:6px 9px;border-radius:999px;background:var(--p3);color:var(--mute);border:1px solid var(--line2);white-space:nowrap;display:inline-flex;align-items:center;gap:7px}
.pill::before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}
.pill.busy{color:var(--accent);border-color:var(--accent-line);background:var(--accent-bg)}
.pill.busy::before{animation:blink 1s steps(2) infinite}
.pill.ok{background:var(--ok-bg);color:var(--ok);border-color:var(--ok-line)}
.pill.warn{background:var(--amber-bg);color:var(--amber);border-color:var(--amber-line)}
.pill.bad{background:var(--bad-bg);color:var(--bad);border-color:var(--bad-line)}
@keyframes blink{50%{opacity:.25}}

.rail ol{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;position:relative}
.rail li{position:relative}
.rail li:not(:last-child)::after{content:"";position:absolute;left:15px;top:38px;bottom:-6px;width:2px;background:var(--line);border-radius:2px}
.rail li.done:not(:last-child)::after{background:var(--ok-line)}
.rail a{display:flex;gap:12px;align-items:center;padding:6px 8px 6px 2px;margin:2px 0;color:var(--mute);text-decoration:none;border-radius:var(--r);min-height:44px;font-weight:500}
.rail a:hover{color:var(--text);background:var(--p2)}
.rail .n{flex:none;font:500 12px/1 var(--mono);width:28px;height:28px;display:grid;place-items:center;border-radius:50%;border:1.5px solid var(--line2);background:var(--p1);color:var(--mute);position:relative;z-index:1}
.rail .n svg{width:14px;height:14px}
.rail .t{display:flex;flex-direction:column;line-height:1.2;min-width:0}
.rail .t small{font:500 10px/1.2 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--dim);margin-top:3px}
.rail li.done a{color:var(--text)} .rail li.done .n{background:var(--ok);border-color:var(--ok);color:var(--ok-ink)}
.rail li.active a{color:var(--text);background:var(--p2)}
.rail li.active .n{background:var(--accent-gradient);border-color:transparent;color:var(--accent-ink);box-shadow:0 0 0 4px rgba(102,217,242,.18)}
.rail li.active .t small{color:var(--accent)}
.rail li.warn .n{background:var(--amber-bg);border-color:var(--amber);color:var(--amber);box-shadow:none}
.rail li.warn .t small{color:var(--amber)}
.rail li.locked a{color:var(--dim)}

main:focus{outline:none}
main{min-width:0;max-width:1160px;width:100%;margin:0 auto;padding:24px 32px 96px;display:flex;flex-direction:column;gap:16px}

/* ---------- alert ---------- */
.error{display:flex;gap:12px;align-items:center;background:var(--bad-bg);border:1px solid var(--bad-line);border-radius:var(--R);padding:12px 12px 12px 16px;color:#ffd6dc;position:sticky;top:12px;z-index:15;box-shadow:0 -12px 0 var(--bg),0 8px 24px rgba(0,0,0,.45)}
.error .ico{color:var(--bad)}
.error.warn{background:var(--amber-bg);border-color:var(--amber-line);color:#ffe2a8}
.error.warn .ico{color:var(--amber)}
.error p{flex:1;min-width:0;overflow-wrap:anywhere}

/* ---------- stage ---------- */
.stage{background:var(--p1);border:1px solid var(--line);border-radius:var(--R);scroll-margin-top:16px;position:relative;transition:border-color .3s var(--ease)}
.sh{position:relative;display:flex;align-items:center;gap:12px;padding:14px 20px;border-bottom:1px solid var(--line)}
.sh h2{font:600 22px/1 var(--disp);letter-spacing:.04em;text-transform:uppercase;flex:1;min-width:0}
.num{font:500 12px/1 var(--mono);color:var(--mute);width:26px;height:26px;display:grid;place-items:center;border:1.5px solid var(--line2);border-radius:50%;flex:none}
.status{font:500 11px/1 var(--mono);text-transform:uppercase;letter-spacing:.08em;color:var(--mute);white-space:nowrap}
.status:empty{display:none}
.stage.active{border-color:var(--accent-line);box-shadow:0 12px 32px -12px rgba(0,0,0,.6)}
.stage.active::before{content:"";position:absolute;left:-1px;right:-1px;top:-1px;height:3px;background:var(--accent-gradient);border-radius:var(--R) var(--R) 0 0}
.stage.active .sh{background:linear-gradient(180deg,rgba(102,217,242,.09),rgba(169,155,255,.03) 75%,transparent)}
.stage.active .num{background:var(--accent-gradient);border-color:transparent;color:var(--accent-ink)}
.stage.active .status{color:var(--accent)}
.stage.done .num{background:var(--ok);border-color:var(--ok);color:var(--ok-ink)}
.stage.done .status{color:var(--ok)}
.stage.warn{border-color:var(--amber-line)}
.stage.warn::before{background:var(--amber)}
.stage.warn .sh{background:linear-gradient(var(--amber-bg),transparent)}
.stage.warn .num{background:var(--amber);border-color:var(--amber);color:#201500}
.stage.warn .status{color:var(--amber)}
.stage.locked{background:transparent;border-style:dashed}
.stage.locked .body{display:none}
.stage.locked .sh{border-bottom:0}
.stage.locked h2,.stage.locked .num{color:var(--dim)}
.progress{position:absolute;left:0;right:0;bottom:-1px;height:2px;overflow:hidden}
.progress i{display:block;height:100%;width:30%;background:var(--accent-gradient);animation:slide 1.2s var(--ease) infinite}
@keyframes slide{from{transform:translateX(-100%)}to{transform:translateX(340%)}}
.body{padding:20px;display:flex;flex-direction:column;gap:16px}

.split{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:20px;align-items:start}
.split.even{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.split.wide{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr)}
.body.split{flex-direction:initial;display:grid}
.col-main,.col-side{min-width:0;display:flex;flex-direction:column;gap:16px}
.stack{display:flex;flex-direction:column;gap:8px}
.field{display:flex;flex-direction:column;gap:8px;min-width:0}
.row{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.toolbar{gap:12px}
.spacer{flex:1}

/* ---------- controls ---------- */
.btn{font:500 14px/1 var(--sans);min-height:42px;padding:0 18px;border-radius:var(--r);border:1px solid var(--line2);background:var(--p3);color:var(--text);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:background .15s,border-color .15s,color .15s,transform .1s;white-space:nowrap}
.btn:hover:not(:disabled){border-color:#4b5867;background:#26303c}
.btn:active:not(:disabled){transform:translateY(1px)}
.btn.primary{background:var(--accent-gradient);color:var(--accent-ink);border-color:transparent;font-weight:600}
.btn.primary:hover:not(:disabled){filter:brightness(1.06)}
.btn.primary:disabled{background:var(--p2);color:var(--dim);border-color:var(--line)}
.btn.ghost{background:transparent}
.btn.small{min-height:34px;padding:0 14px;font-size:13px}
.btn:disabled{opacity:.55;cursor:not-allowed}
.btn.primary:disabled{opacity:1}
.btn.file{position:relative}
.btn.file input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%}
.btn.file:focus-within{outline:2px solid var(--accent);outline-offset:2px}
.btn.file.disabled{opacity:.5;pointer-events:none}
.msg{color:var(--mute);font-size:13px} .msg.bad{color:var(--bad)}
.msg:empty{display:none}
progress{width:100%;height:6px;accent-color:var(--accent)}
select{font:500 14px var(--sans);min-height:42px;background:var(--p3);color:var(--text);border:1px solid var(--line2);border-radius:var(--r);padding:0 12px;max-width:100%;min-width:0;flex:1}
select:disabled{opacity:.6}

/* ---------- video ---------- */
.videowrap{position:relative;background:#000;border-radius:var(--r);overflow:hidden;border:1px solid var(--line)}
.videowrap video{display:block;width:100%;height:auto;background:#000}
.videowrap canvas{position:absolute;left:0;top:0;pointer-events:none}
.placeholder{aspect-ratio:16/9;border:1px dashed var(--line2);border-radius:var(--r);display:flex;flex-direction:column;gap:10px;align-items:center;justify-content:center;color:var(--dim);font-size:13px}
.placeholder svg{width:40px;height:40px}
.chips{display:flex;flex-wrap:wrap;gap:6px}
.chip{font:500 12px/1 var(--mono);min-height:32px;padding:0 10px;border-radius:999px;border:1px solid var(--accent-line);background:var(--accent-bg);color:var(--accent-text);cursor:pointer;display:inline-flex;align-items:center;gap:6px}
.chip b{color:var(--accent);font-weight:500}
.chip:hover{background:#202940;color:#fff}

/* ---------- data ---------- */
.label{font:500 11px/1.2 var(--mono);text-transform:uppercase;letter-spacing:.08em;color:var(--mute)}
.facts{display:flex;flex-wrap:wrap;gap:6px 24px;align-items:center;min-width:0}
.fact{display:flex;flex-direction:column;gap:4px;min-width:0}
.fact b{font:500 14px/1.2 var(--mono);overflow-wrap:anywhere}
.kv{display:grid;grid-template-columns:max-content 1fr;gap:8px 20px;font-size:14px;margin:0}
.kv dt{color:var(--mute)} .kv dd{margin:0;min-width:0;overflow-wrap:anywhere}
.unk{color:var(--dim);font-style:italic}
.empty{color:var(--dim);font-size:13px}
pre.raw{margin:0;max-height:300px;overflow:auto;background:var(--bg);border:1px solid var(--line);border-radius:var(--r);padding:12px 14px;font:400 12px/1.55 var(--mono);white-space:pre-wrap;overflow-wrap:anywhere;color:#c3ccd6}
details summary{cursor:pointer;color:var(--mute);font-size:13px;min-height:32px;display:flex;align-items:center;gap:6px}
details summary:hover{color:var(--text)}
details pre.raw{margin-top:8px}
table.fires{width:100%;border-collapse:collapse;font-size:14px}
table.fires th{font:500 11px/1 var(--mono);text-transform:uppercase;letter-spacing:.08em;color:var(--mute);text-align:left;padding:0 10px 10px 0;border-bottom:1px solid var(--line2)}
table.fires td{padding:12px 10px 12px 0;border-bottom:1px solid var(--line);vertical-align:top;overflow-wrap:anywhere}
.tablewrap{overflow-x:auto}
.fid{white-space:nowrap;font:600 12px/1 var(--mono);color:var(--accent-ink);background:var(--accent-gradient);padding:4px 6px;border-radius:3px;display:inline-block}
.panel{background:var(--p2);border:1px solid var(--line);border-radius:var(--R);padding:16px;display:flex;flex-direction:column;gap:14px;min-width:0}

/* ---------- confirm ---------- */
.opt{display:flex;gap:12px;align-items:flex-start;padding:12px 14px;border:1px solid var(--line2);border-radius:var(--r);cursor:pointer;min-height:48px;background:var(--p2);transition:border-color .15s,background .15s}
.opt:hover{border-color:#4b5867}
.opt:has(input:checked){border-color:var(--accent);background:var(--accent-bg)}
.opt:has(input:disabled){cursor:default}
.opt input{margin-top:2px;accent-color:var(--accent);width:16px;height:16px;flex:none}
.opt .od{display:flex;flex-direction:column;gap:6px;min-width:0}
.zonerow{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.zonerow .label{flex:none}
.cmp{display:grid;grid-template-columns:1fr;gap:0;border:1px solid var(--line);border-radius:var(--R);overflow:hidden}
.read{padding:14px 16px;display:flex;flex-direction:column;gap:6px;min-width:0;background:var(--p2)}
.read b{font:500 16px/1.3 var(--mono);overflow-wrap:anywhere;font-variant-numeric:tabular-nums}
.read .small{color:var(--mute)}
.read.img .label{color:var(--accent-text)} .read.img b{color:var(--text)}
.read.tpl .label{color:#8fe9c2}
.cmp .arrow{display:flex;align-items:center;gap:10px;padding:6px 16px;background:var(--p1);border-top:1px solid var(--line);border-bottom:1px solid var(--line);color:var(--mute);font:500 11px/1 var(--mono);text-transform:uppercase;letter-spacing:.08em}
.cmp .arrow svg{width:14px;height:14px}
.warnbox{display:flex;gap:10px;align-items:flex-start;background:var(--amber-bg);border:1px solid var(--amber-line);color:#ffe2a8;border-radius:var(--R);padding:12px 14px}
.warnbox .ico{color:var(--amber);margin-top:1px}
.warnbox .wb-msg{flex:1;min-width:0}
.warnbox .btn{margin:-4px 0}
table.fires td > *{justify-self:start}
.warnbox b{color:var(--amber);font-weight:600;text-transform:capitalize}
.confirmed{display:flex;align-items:center;gap:10px;color:var(--ok);font:500 13px var(--mono)}
.confirmed svg{width:18px;height:18px}

/* ---------- instruction ---------- */
.order{display:flex;flex-direction:column;gap:14px}
.instr{font:600 36px/1.1 var(--disp);letter-spacing:.01em;max-width:28ch;text-wrap:balance}
.badge{font:500 12px/1 var(--mono);padding:6px 9px;border-radius:var(--r);border:1px solid var(--line2);background:var(--p3);color:var(--text);white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis}
.badge.w{color:#ffd27a;border-color:#6b5113;background:#241c08}
.badge.f{color:var(--accent-text);border-color:var(--accent-line);background:var(--accent-bg)}
.metaline{display:flex;flex-wrap:wrap;gap:8px 20px;align-items:center;font:400 13px var(--mono);color:var(--mute)}
.metaline b{color:var(--text);font-weight:500}

/* ---------- sim ---------- */
.simwrap{border:1px solid var(--line);border-radius:var(--R);overflow:hidden;background:var(--bg)}
.sim{position:relative;height:500px}
.sim canvas{display:block;width:100%;height:100%}
.simempty{position:absolute;inset:0;display:grid;place-items:center;color:var(--dim);font-size:13px}
.scrub{display:flex;gap:14px;align-items:center;padding:10px 12px;border-top:1px solid var(--line);background:var(--p1)}
.scrub input{flex:1;accent-color:var(--accent);min-width:0;height:24px}
#sim-time{color:var(--mute);white-space:nowrap}

/* ---------- metrics ---------- */
.verdict{display:flex;align-items:flex-start;gap:14px;padding:14px;border:1px solid var(--line2);border-radius:var(--R)}
.verdict .word{display:inline-flex;align-items:center;gap:7px;font:600 15px/1.4 var(--mono);letter-spacing:.05em;white-space:nowrap}
.verdict .rule{font-size:13px;line-height:1.5;color:var(--text);min-width:0}
.verdict.ok{background:var(--ok-bg);border-color:var(--ok-line);color:var(--ok)}
.verdict.bad{background:var(--bad-bg);border-color:var(--bad-line);color:var(--bad)}
@media(max-width:600px){.verdict{flex-direction:column;gap:8px}}
.mstrip{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border:1px solid var(--line);border-radius:var(--R);overflow:hidden}
.m{padding:14px 16px;display:flex;flex-direction:column;gap:10px;min-width:0;background:var(--p2)}
.m + .m{border-left:1px solid var(--line)}
.m b{font:500 26px/1 var(--mono);font-variant-numeric:tabular-nums}
.chartwrap{display:flex;flex-direction:column;gap:8px}
.chartwrap .legend{display:flex;align-items:center}
.chartwrap .legend .label{font:400 12px var(--mono);color:var(--mute)}
.spark{width:100%;height:160px;display:block;background:var(--bg);border:1px solid var(--line);border-radius:var(--R)}
.readouts{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:16px}
.tl{display:flex;flex-wrap:wrap;gap:8px}
.tl div{display:flex;gap:8px;align-items:baseline;padding:8px 10px;border:1px solid var(--line);border-radius:var(--r);background:var(--p2);font-size:13px}
.tl span{color:var(--mute);font:400 12px var(--mono)} .tl b{font:500 13px var(--mono);color:var(--text)}
#cosmos-out,#confirm-out,#instr-out,#metrics-out,#report-out{display:flex;flex-direction:column;gap:16px}
#cosmos-out:empty{display:none}

/* ---------- responsive ---------- */
@media (max-width:1100px){
  .split,.split.wide{grid-template-columns:minmax(0,1fr)}
  .split.video-split{grid-template-columns:minmax(0,1fr) 240px}
  .mstrip{grid-template-columns:repeat(3,minmax(0,1fr))}
  .m + .m{border-left:0} .m{border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
  .readouts{grid-template-columns:1fr}
}
@media (max-width:900px){
  .app{grid-template-columns:minmax(0,1fr)}
  .side{position:sticky;top:0;z-index:30;height:auto;flex-direction:row;flex-wrap:wrap;align-items:center;gap:8px 12px;padding:10px 16px;border-right:0;border-bottom:1px solid var(--line);background:var(--p1)}
  .brand h1{font-size:22px}
  .brand .mark{width:22px;height:22px}
  .runmeta{flex-direction:row;align-items:center;padding:0;border:0;margin-left:auto;min-width:0;flex:0 1 auto}
  #run-id{display:none}
  .rail{flex-basis:100%}
  .rail ol{flex-direction:row;justify-content:space-between}
  .rail li{flex:1}
  .rail li:not(:last-child)::after{left:calc(50% + 16px);right:calc(-50% + 16px);top:21px;bottom:auto;width:auto;height:2px}
  .rail a{justify-content:center;padding:4px 0;margin:0;min-height:42px;background:none!important}
  .rail .t{display:none}
  main{padding:16px 16px 72px}
  .split.video-split,.split.even{grid-template-columns:minmax(0,1fr)}
  .stage{scroll-margin-top:110px}
  .error{position:static;box-shadow:none}
  .sim{height:340px}
}
@media (max-width:560px){
  .sh{padding:12px 14px} .body{padding:14px}
  .sh h2{font-size:20px}
  .mstrip{grid-template-columns:repeat(2,minmax(0,1fr))}
  .kv{gap:8px 14px}
  table.fires thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
  table.fires,table.fires tbody,table.fires tr,table.fires td{display:block;width:100%}
  table.fires tr{padding:10px 0;border-bottom:1px solid var(--line)}
  table.fires td{display:grid;grid-template-columns:96px 1fr;gap:10px;padding:4px 0;border:0}
  table.fires td::before{content:attr(data-label);font:500 11px/1.6 var(--mono);text-transform:uppercase;letter-spacing:.08em;color:var(--mute)}
  .toolbar{display:grid;grid-template-columns:1fr 1fr;gap:8px}
  .toolbar .btn{width:100%}
  .spacer{display:none}
  .row.toolbar:has(#btn-analyse){display:flex}
  .row.toolbar:has(#btn-analyse) .btn{width:100%}
  .instr{font-size:30px}
  .sim{height:300px}
}
@media (prefers-reduced-motion:reduce){
  .progress i{animation:none;width:100%;opacity:.6}
  .pill.busy::before{animation:none}
  *{transition:none!important}
}

/* Multi-view incident controls */
.selection{justify-content:space-between;overflow-wrap:anywhere}
.selection span{flex:1;min-width:0}
.grow{flex:1;min-width:180px}
input[type=text]{font:500 14px var(--sans);min-height:42px;background:var(--p3);color:var(--text);border:1px solid var(--line2);border-radius:var(--r);padding:0 12px;width:100%}
#sim-speed{flex:none;min-height:34px;width:auto}
@media (max-width:560px){.scrub{flex-wrap:wrap}.scrub input{min-width:50%}.selection{align-items:flex-start}}

.proxy-note{color:var(--mute)}

/* View selector and inline provenance */
#view-select,#sim-speed{appearance:none;padding-right:38px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath d='m4 6 4 4 4-4' fill='none' stroke='%2393a1b0' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center}
.facts .badge{display:inline-flex;align-items:center}

/* IRS worksheet: flowing paper layout. Draft text stays inside answer areas. */
#irs-print-guard{display:none}
@media(max-width:560px){#s7 .toolbar{grid-template-columns:minmax(0,1fr)} #s7 .toolbar .btn{min-width:0;white-space:normal} #s7 .sh h2{overflow-wrap:anywhere}}

.incident-sheet{width:min(100%,210mm);box-sizing:border-box;margin:0 auto;padding:24px;background:#fff;border:1px solid #cbd5e1;border-radius:4px;box-shadow:0 12px 32px rgb(0 0 0/.24);color:#172033;font:400 14px/1.45 var(--sans);overflow-wrap:anywhere}
.incident-sheet p,.incident-sheet h3,.incident-sheet h4,.incident-sheet h5{margin:0}
.incident-head{display:flex;flex-direction:column;gap:8px;padding-bottom:16px;border-bottom:2px solid #263c5b}
.incident-head h3{color:#172b49;font:600 26px/1.15 Georgia,"Times New Roman",serif;letter-spacing:0;text-transform:none}
.irs-status{color:#46566b;font-weight:600}
.irs-section{margin-top:22px}
.irs-section h4{color:#172b49;font:600 17px/1.3 var(--sans);padding-bottom:7px;border-bottom:1px solid #cbd5e1;break-after:avoid;page-break-after:avoid}
.irs-question{display:grid;grid-template-columns:minmax(0,1fr) minmax(130px,38%);gap:12px;align-items:start;padding:9px 0;border-bottom:1px solid #e0e6ed;break-inside:avoid;page-break-inside:avoid}
.irs-question-id{color:#172b49;white-space:nowrap}
.irs-source-page{font-size:11px;color:#46566b;white-space:nowrap}
.irs-answer{display:flex;flex-direction:column;gap:5px;min-height:14mm}
.irs-answer-input{display:block;width:100%;box-sizing:border-box;min-height:40px;margin:0;padding:9px 12px;border:1px solid #c3ccd8;border-radius:10px;background:#fff;color:#172033;font:500 14px/1.5 var(--sans);resize:vertical;field-sizing:content;overflow-wrap:anywhere;box-shadow:inset 0 1px 2px rgb(23 32 51/.05);transition:border-color .15s ease,box-shadow .15s ease,background-color .15s ease}
.irs-answer-input::placeholder{color:#8a97a8}
.irs-answer-input:hover{border-color:#8a9bb2}
.irs-answer-input:focus-visible{outline:2px solid transparent;outline-offset:2px;border-color:#2563eb;background:#fff;box-shadow:0 0 0 3px rgb(37 99 235/.22),inset 0 1px 2px rgb(23 32 51/.05)}
.irs-answer-input:disabled{color:#46566b;background:#f4f6f9;border-color:#dce3ec;box-shadow:none;resize:none}
.irs-answer[data-status="Suggested"] .irs-answer-input{border-color:#7fb596;background:#f4faf6}
.irs-answer[data-status="Suggested"] .irs-answer-input:hover{border-color:#4f9a6e}
.irs-answer[data-status="Sample"] .irs-answer-input{border-style:dashed}
.irs-answer[data-status="Edited"] .irs-answer-input{border-color:#7f9fe0;background:#f5f8ff}
.irs-answer[data-status="Edited"] .irs-answer-input:hover{border-color:#4a74d3}
.irs-answer-print{display:none;font-weight:500;white-space:pre-wrap;overflow-wrap:anywhere}
.irs-evidence-line{margin-top:6px!important}
@media(max-width:600px){.incident-sheet{padding:14px}.irs-question{grid-template-columns:minmax(0,1fr);gap:6px}}
@media print{
  @page{size:A4;margin:12mm;background:#fff}
  body:not(.irs-print-verified) .app{display:none!important}
  body:not(.irs-print-verified) #irs-print-guard{display:block!important;color:#172033;font:12pt/1.5 sans-serif}
  body.irs-print-verified #irs-print-guard{display:none!important}
  html,body{color-scheme:light!important;background:#fff!important;color:#172033!important}
  #s7::before{display:none!important}
  .side,.page-heading,.page-navigation,.operation-status,#err,.stage:not(#s7),#s7>.sh,#s7 .toolbar,#report-note{display:none!important}
  .app,main,#s7,#s7 .body{display:block!important;min-height:0!important;height:auto!important;max-width:none!important;margin:0!important;padding:0!important;border:0!important;box-shadow:none!important;background:#fff!important}
  #report-out{display:block!important}
  .incident-sheet,.incident-sheet *{-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .incident-sheet{display:block!important;width:100%!important;height:auto!important;min-height:0!important;max-height:none!important;padding:0!important;border:0!important;border-radius:0!important;box-shadow:none!important;overflow:visible!important;font:400 10pt/1.35 var(--sans)!important}
  .irs-question{grid-template-columns:minmax(0,1fr) minmax(130px,38%);padding:2mm 0;gap:3mm}
  .irs-answer{min-height:9mm;gap:1mm}
  .irs-answer-input{display:none!important}
  .irs-answer-print{display:block!important;box-sizing:border-box;min-height:9mm;padding:1.5mm 2.5mm;border:.4pt solid #94a3b8;border-radius:1.5mm;background:#fff;font:500 10pt/1.35 var(--sans)}
  .irs-answer[data-status="Suggested"] .irs-answer-print{border-color:#6aa883;background:#f4faf6}
  .irs-answer[data-status="Sample"] .irs-answer-print{border-style:dashed}
  .irs-answer[data-status="Edited"] .irs-answer-print{border-color:#6b8fd6;background:#f5f8ff}
  .irs-section{margin-top:5mm}
}
