:root{
  --bg:#03070d;
  --bg2:#050b13;
  --bg-canvas:#03070d;
  --bg-shell:#050b13;
  --canvas:#03070d;
  --shell:#050b13;
  --panel:#081521;
  --panel2:#0b1a28;
  --panel3:#102235;
  --surface-1:#081521;
  --surface-2:#0b1a28;
  --surface-3:#102235;
  --surface-hover:#152d43;
  --line:#1c3042;
  --line2:#29445b;
  --border-subtle:#1c3042;
  --border-default:#29445b;
  --border-strong:#3a5874;
  --text:#f5f8fc;
  --text-primary:#f5f8fc;
  --text-secondary:#c9d3de;
  --text-tertiary:#93a4b6;
  --text-muted:#718398;
  --text-disabled:#526274;
  --muted:#c9d3de;
  --faint:#93a4b6;
  --orange:#ff5e00;
  --orange2:#ff7933;
  --dm-orange:#ff5e00;
  --dm-navy:#083662;
  --cyan:#46DCE6;
  --blue:#54a8ff;
  --violet:#9A6BF2;
  --green:#49D9A6;
  --amber:#F2A72C;
  --red:#ff5964;
  --accent-live:#46DCE6;
  --accent-model:#9A6BF2;
  --accent-success:#49D9A6;
  --accent-warning:#F2A72C;
  --accent-critical:#ff5964;
  --accent-info:#54a8ff;
  --sidebar-width:clamp(224px,12.5vw,248px);
  --sidebar-collapsed-width:76px;
  --header-height:64px;
  --shadow:0 26px 90px rgba(0,0,0,.5);
  --radius:12px;
  --ease:cubic-bezier(.2,.8,.2,1);
}
*{box-sizing:border-box}
html,body{height:100%;margin:0}
body{
  background:
    radial-gradient(1000px 640px at 56% -18%,rgba(55,135,255,.12),transparent 56%),
    radial-gradient(700px 500px at 100% 10%,rgba(255,106,36,.08),transparent 65%),
    linear-gradient(180deg,#02050a,#040a11 54%,#02060b);
  color:var(--text);
  font-family:Montserrat,Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  overflow:hidden;
  letter-spacing:-.01em;
}
button,input{font:inherit}
button{color:inherit}
button:focus-visible,input:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--orange2);outline-offset:2px}
svg{display:block}
.mono{font-family:"SFMono-Regular",Consolas,"Liberation Mono",monospace;letter-spacing:.03em}
.eyebrow{font-family:"SFMono-Regular",Consolas,monospace;font-size:12.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.kicker{font-family:"SFMono-Regular",Consolas,monospace;font-size:12.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--orange2)}
.metric-serif{font-family:Georgia,"Times New Roman",serif;font-weight:400;letter-spacing:-.04em}
.good{color:var(--green)}.warn{color:var(--amber)}.danger{color:var(--red)}.cyan{color:var(--cyan)}.violet{color:var(--violet)}.orange{color:var(--orange2)}

.app{height:100%;display:grid;grid-template-columns:var(--sidebar-width) 1fr;grid-template-rows:var(--header-height) 1fr;isolation:isolate}
.app::before{content:"";position:fixed;inset:var(--header-height) 0 0 var(--sidebar-width);background-image:linear-gradient(rgba(255,255,255,.014) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.014) 1px,transparent 1px);background-size:52px 52px;mask-image:linear-gradient(to bottom,rgba(0,0,0,.48),transparent 78%);pointer-events:none;z-index:-1}

/* top command bar */
.topbar{grid-column:1/-1;height:var(--header-height);display:grid;grid-template-columns:var(--sidebar-width) minmax(360px,1fr) auto;align-items:center;gap:18px;padding:0 24px;border-bottom:1px solid var(--line);background:rgba(2,6,11,.78);backdrop-filter:blur(20px);z-index:50}
.brand{display:flex;align-items:center;gap:11px;min-width:0}
/* THE MARK IS THE BRAND ASSET, NOT A DRAWING OF IT.
   Three hand-drawn approximations existed -- .logo here, #orbitView .logo
   below, and .mark in apex.html -- and all three differed from each other
   AND from brand/logos/Subplot_mark_color.svg. The real mark is two arc
   segments in %%23FF5E00 and %%23FF7933 (Signal Orange and Signal Coral);
   the drawings added an inner disc and a floating dot that do not exist in
   it, and rendered in whichever of the THREE competing --orange definitions
   (lines 28, 632, 853) happened to win in that scope.
   Inlined as a data URI -- 342 bytes -- so the page stays self-contained and
   no cache-busting is needed for a file that never changes independently. */
.logo{width:30px;height:30px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240' viewBox='0 0 240 240'%3E %3Cpath d='M 181.91,158.68 A 73,73 0 0 0 95.03,51.40 L 105.29,79.59 A 43,43 0 0 1 156.47,142.79 Z' fill='%23FF5E00'/%3E %3Cpath d='M 51.40,95.03 A 73,73 0 0 0 109.84,192.29 L 114.02,162.58 A 43,43 0 0 1 79.59,105.29 Z' fill='%23FF7933'/%3E %3C/svg%3E") center/contain no-repeat;filter:drop-shadow(0 0 14px rgba(255,94,0,.25))}
.brand strong{font-size:26.5px;letter-spacing:-.04em;white-space:nowrap}.brand small{display:block;font-size:11px;letter-spacing:.18em;color:var(--muted);text-transform:uppercase;margin-top:1px}
.command-search{height:40px;border:1px solid var(--line);background:rgba(255,255,255,.022);border-radius:999px;display:flex;align-items:center;gap:10px;padding:0 14px;max-width:760px;justify-self:center;width:100%;transition:.2s var(--ease)}
.command-search:hover,.command-search:focus-within{border-color:rgba(73,216,239,.28);background:rgba(73,216,239,.025);box-shadow:0 0 26px rgba(73,216,239,.04)}
.command-search svg{width:17px;height:17px;stroke:var(--muted);fill:none;stroke-width:1.8}
.command-search input{flex:1;background:transparent;border:0;color:var(--text);outline:0;font-size:17px;min-width:0}.command-search input::placeholder{color:#667586}
.shortcut{font-family:Consolas,monospace;font-size:12.5px;color:var(--muted);border:1px solid var(--line);border-radius:6px;padding:4px 6px;white-space:nowrap}
.top-actions{display:flex;align-items:center;gap:9px}
.top-btn{height:38px;border:1px solid var(--line);border-radius:10px;background:rgba(255,255,255,.02);display:inline-flex;align-items:center;gap:8px;padding:0 12px;cursor:pointer;font-size:15.5px;color:var(--muted);transition:.2s var(--ease)}
.top-btn:hover{color:var(--text);border-color:var(--line2);background:rgba(255,255,255,.04);transform:translateY(-1px)}
.top-btn.copilot{border-color:rgba(168,119,255,.35);background:rgba(168,119,255,.07);color:#d7c7ff}
.live-state{display:flex;align-items:center;gap:8px;padding:0 5px;font-size:14px;color:var(--cyan);font-family:Consolas,monospace;letter-spacing:.1em}
.live-state .dot{width:7px;height:7px;border-radius:50%;background:var(--cyan);box-shadow:0 0 14px rgba(73,216,239,.8);animation:pulse 2s infinite}
.live-spark{width:54px;height:20px}
.top-icon{width:34px;height:34px;border:0;background:transparent;color:var(--muted);border-radius:9px;display:grid;place-items:center;cursor:pointer}.top-icon:hover{background:rgba(255,255,255,.04);color:var(--text)}
.avatar{width:32px;height:32px;border-radius:50%;border:1px solid var(--line2);display:grid;place-items:center;font-size:14px;color:#dce6f0;background:linear-gradient(145deg,#213246,#0b121d);position:relative}.avatar::after{content:"";position:absolute;right:-1px;bottom:1px;width:7px;height:7px;border-radius:50%;background:var(--green);border:2px solid #03080e}

/* sidebar */
.sidebar{grid-column:1;grid-row:2;border-right:1px solid var(--line);background:var(--bg-shell);backdrop-filter:blur(12px);display:flex;flex-direction:column;min-height:0;padding:16px 12px 12px;z-index:20}
.nav{display:flex;flex-direction:column;gap:5px}
.nav-item{width:100%;min-height:56px;border:1px solid transparent;background:transparent;border-radius:10px;display:grid;grid-template-columns:40px 1fr;align-items:center;text-align:left;padding:8px 14px;gap:12px;color:var(--muted);cursor:pointer;transition:.2s var(--ease);position:relative}
.nav-item:hover{color:var(--text);background:rgba(255,255,255,.025)}
.nav-item.active{color:#fff;border-color:rgba(255,94,0,.32);background:linear-gradient(90deg,rgba(255,94,0,.16),rgba(8,54,98,.14));box-shadow:inset 3px 0 0 var(--dm-orange),0 0 22px rgba(255,94,0,.05)}
.nav-item svg{width:22px;height:22px;stroke:currentColor;fill:none;stroke-width:1.7;justify-self:center}
.nav-copy strong{font-size:15.5px;font-weight:600;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nav-copy small{font-size:12.5px;color:var(--text-tertiary);display:block;margin-top:2px;letter-spacing:.01em}
.sidebar-divider{height:1px;background:var(--line);margin:10px 6px}
.collection-box{margin-top:auto;padding:13px 11px 11px;border-top:1px solid var(--line)}
.collection-box .eyebrow{margin-bottom:5px}.collection-cap{font-size:11px;line-height:1.35;color:#5f6f80;margin-bottom:9px}.collection-row{cursor:help}.collection-row{display:grid;grid-template-columns:8px 1fr auto;gap:8px;align-items:center;margin:8px 0;font-size:12.5px;color:var(--muted)}.collection-row i{width:6px;height:6px;border-radius:50%;background:var(--c,var(--cyan));box-shadow:0 0 9px color-mix(in srgb,var(--c,var(--cyan)) 70%,transparent)}.collection-row span:last-child{font-family:Consolas,monospace;color:#687889}
.profile{display:flex;align-items:center;gap:9px;padding:10px 8px 1px;border-top:1px solid var(--line)}.profile .avatar{flex:0 0 auto}.profile strong{font-size:14px}.profile small{font-size:11px;color:var(--muted)}

/* workspace */
.workspace{grid-column:2;grid-row:2;min-width:0;min-height:0;overflow:auto;padding:12px}
.workspace::-webkit-scrollbar{width:8px}.workspace::-webkit-scrollbar-thumb{background:rgba(255,255,255,.08);border-radius:99px}
.dashboard{display:grid;grid-template-columns:minmax(500px,1.4fr) minmax(420px,.98fr) minmax(285px,.62fr);grid-template-rows:minmax(450px,56vh) minmax(338px,1fr);gap:12px;min-width:1280px;min-height:820px}
.panel{background:linear-gradient(180deg,rgba(8,18,29,.94),rgba(4,10,17,.96));border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);position:relative;overflow:hidden}
.panel::before{content:"";position:absolute;inset:0;background:linear-gradient(120deg,rgba(255,255,255,.026),transparent 23%,transparent 70%,rgba(73,216,239,.015));pointer-events:none;z-index:1}
.panel-head{height:52px;border-bottom:1px solid var(--line);padding:0 13px;display:flex;align-items:center;justify-content:space-between;position:relative;z-index:4}.panel-head strong{font-size:14px;letter-spacing:.08em;text-transform:uppercase}.panel-head .sub{font-size:11px;color:var(--muted);margin-left:7px;font-weight:400;letter-spacing:.02em;text-transform:none}.panel-tool{font-family:Consolas,monospace;font-size:11px;color:var(--muted);display:flex;align-items:center;gap:7px}.panel-tool button{border:0;background:transparent;color:var(--muted);cursor:pointer;padding:4px 6px;border-radius:6px}.panel-tool button:hover{background:rgba(255,255,255,.04);color:var(--text)}

/* globe */
.globe-panel{grid-column:1;grid-row:1;min-height:0;background:radial-gradient(600px 460px at 58% 48%,rgba(255,110,45,.13),transparent 68%),linear-gradient(180deg,#100a07,#060402)}
/* orange atmospheric bloom over the globe image edge (globe.png ships with a cool rim) */
.globe-panel::after{content:none}
.globe-canvas-wrap{position:absolute;inset:0;overflow:hidden}
#globeCanvas{width:100%;height:100%;display:block;cursor:grab;touch-action:none}.dragging #globeCanvas{cursor:grabbing}
.globe-vignette{position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 58% 52%,transparent 0 38%,rgba(2,6,11,.12) 57%,rgba(2,6,11,.74) 100%);z-index:2}
.globe-hud{position:absolute;left:14px;top:14px;width:148px;padding:12px;border:1px solid rgba(183,216,241,.12);border-radius:11px;background:rgba(4,10,17,.72);backdrop-filter:blur(10px);z-index:5;box-shadow:0 20px 55px rgba(0,0,0,.3)}
.globe-hud .eyebrow{color:#9aabc0}.globe-score{font-family:Georgia,serif;font-size:43.5px;margin:6px 0 0}.globe-score small{font-family:Consolas,monospace;font-size:12.5px;color:var(--muted);letter-spacing:.06em}.globe-trend{height:35px;margin:2px 0 8px}.hud-divider{height:1px;background:var(--line);margin:8px 0}.hud-row{display:flex;align-items:center;justify-content:space-between;font-size:11px;color:var(--muted);padding:4px 0}.hud-row span:first-child{display:flex;align-items:center;gap:7px}.hud-row i{width:6px;height:6px;border-radius:50%;background:var(--c);box-shadow:0 0 9px var(--c)}.hud-row b{font-family:Consolas,monospace;font-size:11px;color:#c7d4df;font-weight:500}
.globe-caption{position:absolute;right:16px;top:16px;max-width:245px;text-align:right;z-index:5;pointer-events:none}.globe-caption h2{font-family:Georgia,serif;font-size:35px;font-weight:400;line-height:1.12;margin:6px 0 7px}.globe-caption p{font-size:12.5px;color:var(--muted);line-height:1.45;margin:0}
.globe-controls{position:absolute;left:14px;right:14px;bottom:12px;display:flex;justify-content:space-between;align-items:center;z-index:6;pointer-events:none}.control-group{pointer-events:auto;display:flex;align-items:center;gap:4px;padding:4px;border:1px solid var(--line);background:rgba(3,8,14,.75);backdrop-filter:blur(12px);border-radius:9px}.control-btn{height:27px;border:0;border-radius:7px;padding:0 9px;background:transparent;color:var(--muted);font-family:Consolas,monospace;font-size:11px;cursor:pointer}.control-btn:hover{color:var(--text);background:rgba(255,255,255,.04)}.control-btn.active{background:rgba(255,106,36,.12);color:var(--orange2)}
.toggle{pointer-events:auto;display:flex;align-items:center;gap:8px;font-family:Consolas,monospace;font-size:11px;color:var(--muted);background:rgba(3,8,14,.75);border:1px solid var(--line);border-radius:9px;padding:7px 9px}.switch{width:30px;height:16px;border-radius:999px;background:rgba(255,255,255,.08);position:relative;cursor:pointer}.switch::after{content:"";position:absolute;width:12px;height:12px;border-radius:50%;top:2px;left:2px;background:#758597;transition:.2s}.switch.on{background:rgba(73,216,239,.22);box-shadow:inset 0 0 0 1px rgba(73,216,239,.25)}.switch.on::after{left:16px;background:var(--cyan);box-shadow:0 0 10px rgba(73,216,239,.65)}
.globe-tooltip{position:absolute;z-index:20;pointer-events:none;opacity:0;transform:translate(-50%,calc(-100% - 14px));padding:8px 10px;border-radius:8px;border:1px solid var(--line2);background:rgba(4,10,17,.92);box-shadow:0 14px 40px rgba(0,0,0,.45);transition:opacity .12s;min-width:135px}.globe-tooltip.show{opacity:1}.globe-tooltip strong{display:block;font-size:14px}.globe-tooltip span{font-family:Consolas,monospace;font-size:11px;color:var(--muted)}


.globe-art{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:1;transform:scale(1.018);transition:transform .55s cubic-bezier(.2,.8,.2,1),filter .35s;filter:saturate(1.08) contrast(1.04) brightness(.98);user-select:none;pointer-events:none}
.globe-art-shade{position:absolute;inset:0;z-index:2;pointer-events:none;background:linear-gradient(90deg,rgba(2,7,12,.05),transparent 42%,rgba(2,7,12,.08)),radial-gradient(circle at 62% 49%,transparent 0 48%,rgba(1,5,9,.16) 70%,rgba(1,5,9,.52) 100%)}
.globe-panel:hover .globe-art{filter:saturate(1.14) contrast(1.05) brightness(1.02)}
.map-hotspot{position:absolute;z-index:8;width:28px;height:28px;border:0;border-radius:50%;background:transparent;transform:translate(-50%,-50%);cursor:pointer;padding:0}
.map-hotspot::before{content:"";position:absolute;inset:7px;border-radius:50%;background:var(--spot);box-shadow:0 0 15px var(--spot),0 0 32px color-mix(in srgb,var(--spot) 65%,transparent);border:2px solid rgba(255,255,255,.9)}
.map-hotspot::after{content:"";position:absolute;inset:2px;border-radius:50%;border:1px solid color-mix(in srgb,var(--spot) 80%,transparent);animation:mapPulse 2.2s ease-out infinite}
.map-hotspot:hover{transform:translate(-50%,-50%) scale(1.18)}
.map-hotspot.active::before{inset:5px;box-shadow:0 0 18px var(--spot),0 0 42px color-mix(in srgb,var(--spot) 88%,transparent)}
.map-hotspot.active::after{inset:-4px;border-width:1.5px;animation-duration:1.45s}
.globe-instruction{position:absolute;right:14px;bottom:13px;z-index:8;padding:7px 9px;border:1px solid rgba(183,216,241,.13);border-radius:8px;background:rgba(3,8,14,.68);backdrop-filter:blur(10px);font-family:Consolas,monospace;font-size:11px;letter-spacing:.08em;color:#94a8bb;text-transform:uppercase}
@keyframes mapPulse{0%{opacity:.9;transform:scale(.72)}80%,100%{opacity:0;transform:scale(1.48)}}

/* mission card */
.mission-panel{grid-column:2;grid-row:1;padding:14px;display:flex;flex-direction:column;gap:10px;min-height:0}
.mission-panel>*{position:relative;z-index:3}
.mission-top{display:flex;justify-content:space-between;align-items:flex-start}.mission-top .eyebrow{display:flex;align-items:center;gap:7px;color:var(--orange2)}.mission-top .eyebrow::before{content:"✦";font-size:15.5px}.mission-top h1{font-size:33.5px;margin:5px 0 2px;letter-spacing:-.045em}.mission-meta{font-size:11px;color:var(--muted);line-height:1.4}.live-chip{font-family:Consolas,monospace;font-size:11px;color:#ff8585;border:1px solid rgba(255,93,96,.26);background:rgba(255,93,96,.08);border-radius:5px;padding:4px 7px;letter-spacing:.08em}
.bluf-card{padding:13px;border:1px solid var(--line);border-radius:11px;background:linear-gradient(145deg,rgba(8,22,35,.82),rgba(4,11,18,.78));transition:opacity .18s,transform .18s,border-color .18s;cursor:pointer}
.bluf-card:hover{border-color:rgba(121,188,232,.55)}
.bluf-card .eyebrow::after{content:" · click for full assessment";color:#5f7a90;font-weight:400;letter-spacing:.02em;opacity:.7}.mission-panel.updating .bluf-card,.mission-panel.updating .metrics-row{opacity:.35;transform:translateY(3px)}
.bluf-card .eyebrow{color:#79bce8;margin-bottom:6px}.bluf-title{font-size:28px;line-height:1.18;margin:0 0 7px;letter-spacing:-.035em}.bluf-title em{font-style:normal;color:var(--red)}.bluf-body{font-size:12.5px;line-height:1.5;color:var(--muted);margin:0}
.metrics-row{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;transition:opacity .18s,transform .18s}.metric-card{border:1px solid var(--line);border-radius:10px;padding:10px;background:rgba(255,255,255,.018);min-width:0}.metric-card .eyebrow{font-size:11px}.metric-value{font-family:Georgia,serif;font-size:39px;line-height:1;margin:6px 0 3px}.metric-value small{font-family:Consolas,monospace;font-size:11px;color:var(--muted)}.metric-card .status{font-family:Consolas,monospace;font-size:11px;text-transform:uppercase;letter-spacing:.05em}.mini-chart{height:24px;margin-top:2px}.mini-chart svg{width:100%;height:100%}
.coverage-card{border:1px solid var(--line);border-radius:12px;padding:16px;background:var(--surface-1);display:grid;grid-template-columns:1fr 92px 1fr;align-items:center;gap:14px}.coverage-side .eyebrow{font-size:11px}.coverage-side strong{font-family:Georgia,serif;font-size:31px;display:block;margin:4px 0}.coverage-side small{font-size:11px;color:var(--muted)}.bar{height:4px;border-radius:99px;background:rgba(255,255,255,.06);overflow:hidden;margin-top:7px}.bar i{display:block;height:100%;width:var(--w);background:var(--c)}.coverage-ring{width:88px;height:88px;border-radius:50%;background:conic-gradient(var(--cyan) 0 44%,var(--violet) 44% 70%,rgba(255,255,255,.06) 70%);display:grid;place-items:center;position:relative}.coverage-ring::before{content:"";position:absolute;inset:9px;border-radius:50%;background:#07121d;border:1px solid var(--line)}.coverage-ring span{position:relative;text-align:center;font-family:Consolas,monospace;font-size:11px;color:var(--muted)}.coverage-ring b{display:block;font-family:Georgia,serif;font-size:25px;color:var(--text);font-weight:400}
.gaps-card{border-top:1px solid var(--line);padding-top:8px;min-height:0}.gaps-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:5px}.gaps-title strong{font-size:12.5px;text-transform:uppercase;letter-spacing:.08em}.gaps-title span{font-family:Consolas,monospace;font-size:11px;color:var(--muted)}.gap-row{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center;padding:6px 0;border-bottom:1px solid rgba(255,255,255,.045);font-size:11px;color:#b9c6d2}.gap-row:last-child{border-bottom:0}.gap-sev{font-family:Consolas,monospace;font-size:11px;padding:3px 5px;border-radius:4px;color:var(--amber);background:rgba(243,184,77,.08);border:1px solid rgba(243,184,77,.18)}

/* alerts */
.alert-panel{grid-column:3;grid-row:1;display:grid;grid-template-rows:43px minmax(0,1fr) 35px minmax(0,1fr);min-height:0}
.alert-list,.timeline-list{padding:4px 12px 6px;overflow:auto;position:relative;z-index:3}.alert-list::-webkit-scrollbar,.timeline-list::-webkit-scrollbar{width:5px}.alert-list::-webkit-scrollbar-thumb,.timeline-list::-webkit-scrollbar-thumb{background:rgba(255,255,255,.07)}
.alert-item{display:grid;grid-template-columns:34px 1fr auto;gap:8px;align-items:center;padding:9px 2px;border-bottom:1px solid rgba(255,255,255,.05);cursor:pointer;transition:.15s}.alert-item:hover{background:rgba(255,255,255,.02);padding-left:5px}.alert-icon{width:30px;height:30px;border-radius:50%;border:1px solid color-mix(in srgb,var(--sev) 46%,transparent);display:grid;place-items:center;color:var(--sev);background:color-mix(in srgb,var(--sev) 8%,transparent)}.alert-icon svg{width:15px;height:15px;stroke:currentColor;fill:none;stroke-width:1.6}.alert-copy strong{font-size:11px;display:block;margin-bottom:3px}.alert-copy p{font-size:11px;line-height:1.35;color:var(--muted);margin:0}.alert-meta{align-self:start;text-align:right}.alert-meta span{font-family:Consolas,monospace;font-size:11px;color:var(--sev);text-transform:uppercase}.alert-meta small{font-family:Consolas,monospace;font-size:11px;color:var(--muted);display:block;margin-top:2px}.timeline-head{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:0 12px;display:flex;align-items:center;justify-content:space-between;font-size:12.5px;text-transform:uppercase;letter-spacing:.08em;position:relative;z-index:3}.timeline-head span{font-family:Consolas,monospace;font-size:11px;color:var(--muted);text-transform:none}.timeline-item{display:grid;grid-template-columns:44px 9px 1fr auto;gap:7px;align-items:start;padding:6px 0;font-size:11px;position:relative}.timeline-item::before{content:"";position:absolute;left:48px;top:0;bottom:0;width:1px;background:rgba(255,255,255,.08)}.timeline-time{font-family:Consolas,monospace;color:var(--muted);text-align:right}.timeline-dot{width:7px;height:7px;border-radius:50%;background:var(--sev);box-shadow:0 0 8px color-mix(in srgb,var(--sev) 55%,transparent);margin-top:1px;z-index:1}.timeline-copy{line-height:1.32;color:#b8c5d2}.timeline-badge{font-family:Consolas,monospace;font-size:11px;color:var(--sev);background:color-mix(in srgb,var(--sev) 8%,transparent);border:1px solid color-mix(in srgb,var(--sev) 22%,transparent);border-radius:3px;padding:2px 4px;text-transform:uppercase}

/* evidence loom */
.evidence-panel{grid-column:1/-1;grid-row:2;display:grid;grid-template-rows:44px minmax(260px,1fr) 56px;min-height:0;background:radial-gradient(800px 350px at 54% 48%,rgba(73,216,239,.05),transparent 70%),linear-gradient(180deg,#07121d,#030910)}
.loom-head{height:44px;padding:0 14px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);position:relative;z-index:8}.loom-title{display:flex;align-items:baseline;gap:10px}.loom-title strong{font-size:15.5px;text-transform:uppercase;letter-spacing:.1em}.loom-title span{font-size:11px;color:var(--muted)}.loom-stages{display:flex;gap:18px;font-family:Consolas,monospace;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#6b7b8c}.loom-stages b{display:inline-grid;place-items:center;width:16px;height:16px;border-radius:50%;border:1px solid var(--line2);color:#aebdca;margin-right:4px;font-weight:500}.loom-status{font-family:Consolas,monospace;font-size:11px;color:var(--green);display:flex;align-items:center;gap:6px}.loom-status i{width:6px;height:6px;border-radius:50%;background:var(--green);box-shadow:0 0 9px rgba(84,214,161,.6)}
.loom-scroll{overflow:auto;position:relative;z-index:3}.loom-scroll::-webkit-scrollbar{height:7px}.loom-scroll::-webkit-scrollbar-thumb{background:rgba(255,255,255,.08);border-radius:99px}
.loom-canvas{position:relative;min-width:1390px;height:100%;min-height:260px;padding:16px 15px 12px;display:grid;grid-template-columns:154px 182px 168px 186px 144px 158px 150px;gap:18px;align-items:center}
#flowSvg{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible;z-index:0}.flow-path{fill:none;stroke:rgba(73,216,239,.28);stroke-width:1.05;stroke-dasharray:5 7;animation:flowDash 15s linear infinite;transition:opacity .18s,stroke-width .18s,filter .18s}.flow-path.violet{stroke:rgba(168,119,255,.33)}.flow-path.green{stroke:rgba(84,214,161,.32)}.flow-path.orange{stroke:rgba(255,154,82,.32)}.flow-path.red{stroke:rgba(255,93,96,.30)}.flow-path.dim{opacity:.12}.flow-path.hot{opacity:1;stroke-width:1.9;filter:drop-shadow(0 0 5px currentColor)}
.stage-col{position:relative;z-index:2;display:flex;flex-direction:column;gap:7px;min-width:0}.stage-label{font-family:Consolas,monospace;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:#6d7e90;text-align:center;margin-bottom:2px;white-space:nowrap}.loom-node{position:relative;border:1px solid var(--line);border-radius:8px;background:linear-gradient(180deg,rgba(11,28,42,.92),rgba(6,15,24,.94));padding:8px 9px;min-height:42px;cursor:pointer;transition:.18s var(--ease);box-shadow:0 10px 25px rgba(0,0,0,.12)}.loom-node:hover,.loom-node.focused{transform:translateY(-2px);border-color:color-mix(in srgb,var(--node,var(--cyan)) 48%,transparent);box-shadow:0 12px 30px rgba(0,0,0,.24),0 0 20px color-mix(in srgb,var(--node,var(--cyan)) 7%,transparent)}.loom-node.dim{opacity:.34;filter:saturate(.7)}.loom-node.dim .node-title{opacity:.66}.loom-node.related{opacity:.74}.node-line{position:absolute;left:-1px;top:8px;bottom:8px;width:2px;border-radius:3px;background:var(--node,var(--cyan));box-shadow:0 0 10px color-mix(in srgb,var(--node,var(--cyan)) 55%,transparent)}.node-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.node-title{font-size:11px;color:#d8e3ed;font-weight:560;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.node-count{font-family:Consolas,monospace;font-size:11px;color:#8ea0b2}.node-sub{font-size:11px;color:#728396;line-height:1.3;margin-top:3px}.node-meter{height:2px;background:rgba(255,255,255,.05);border-radius:9px;overflow:hidden;margin-top:5px}.node-meter i{display:block;height:100%;width:var(--w,60%);background:var(--node,var(--cyan));box-shadow:0 0 7px color-mix(in srgb,var(--node,var(--cyan)) 60%,transparent)}
.kiq-node{height:132px;border-radius:50%;display:flex;flex-direction:column;justify-content:center;text-align:center;padding:18px 13px;background:radial-gradient(circle at 50% 45%,rgba(21,75,111,.38),rgba(4,14,24,.92) 70%);border-color:rgba(97,168,255,.46);box-shadow:0 0 38px rgba(97,168,255,.13),inset 0 0 25px rgba(97,168,255,.08)}.kiq-node::before,.bluf-node::before{content:"";position:absolute;inset:-7px;border:1px solid rgba(97,168,255,.2);border-radius:50%;animation:ring 3s ease-out infinite}.kiq-node .node-title{font-family:Georgia,serif;font-size:26.5px;overflow:visible}.kiq-node .node-sub{font-size:11px;line-height:1.45;color:#9db0c2}.kiq-node button,.bluf-node button{margin:7px auto 0;border:1px solid rgba(97,168,255,.25);background:rgba(97,168,255,.08);color:#b8d8fb;border-radius:5px;padding:4px 7px;font-size:11px;cursor:pointer}
.corr-node{min-height:55px;display:grid;grid-template-columns:34px 1fr;align-items:center;gap:7px}.donut{width:31px;height:31px;border-radius:50%;background:conic-gradient(var(--node) var(--pct),rgba(255,255,255,.06) 0);display:grid;place-items:center;position:relative}.donut::before{content:"";position:absolute;inset:5px;border-radius:50%;background:#07121d}.donut b{position:relative;font-family:Consolas,monospace;font-size:11px}.metric-node{min-height:58px}.metric-node .metric-big{font-family:Georgia,serif;font-size:32px;line-height:1;margin-top:3px}.metric-node .metric-big small{font-family:Consolas,monospace;font-size:11px;color:var(--muted)}
.bluf-node{height:126px;border-radius:50%;display:flex;flex-direction:column;justify-content:center;text-align:center;padding:17px 12px;background:radial-gradient(circle at 50% 45%,rgba(112,31,29,.35),rgba(25,8,10,.94) 70%);border-color:rgba(255,93,96,.55);box-shadow:0 0 42px rgba(255,93,96,.12),inset 0 0 24px rgba(255,93,96,.08)}.bluf-node::before{border-color:rgba(255,93,96,.22);animation-delay:.7s}.bluf-node .node-title{font-family:Georgia,serif;font-size:22.5px;color:#ff9a8c;overflow:visible}.bluf-node .node-sub{font-size:11px;color:#d7c3c4;line-height:1.45}.bluf-node button{border-color:rgba(255,93,96,.28);background:rgba(255,93,96,.09);color:#ffc0b8}
.loom-footer{border-top:1px solid var(--line);display:grid;grid-template-columns:1.15fr .95fr .8fr .75fr;position:relative;z-index:6}.footer-cell{padding:8px 14px;border-right:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:10px;min-width:0}.footer-cell:last-child{border-right:0}.footer-cell .eyebrow{font-size:11px}.footer-cell strong{font-size:12.5px}.footer-cell small{font-size:11px;color:var(--muted)}.footer-action{height:30px;border:1px solid var(--line2);background:rgba(255,255,255,.025);border-radius:7px;padding:0 9px;font-size:11px;cursor:pointer;color:#c9d5e0}.footer-action:hover{border-color:rgba(255,106,36,.34);background:rgba(255,106,36,.06)}.confidence-wrap{flex:1}.confidence-bar{height:3px;background:rgba(255,255,255,.06);border-radius:99px;overflow:hidden;margin-top:6px}.confidence-bar i{display:block;width:78%;height:100%;background:linear-gradient(90deg,var(--cyan),var(--blue));box-shadow:0 0 10px rgba(73,216,239,.5)}

/* overlays */
.scrim{position:fixed;inset:0;background:rgba(1,4,8,.62);backdrop-filter:blur(8px);opacity:0;pointer-events:none;transition:.25s;z-index:90}.scrim.open{opacity:1;pointer-events:auto}
.copilot-drawer{position:fixed;top:76px;right:14px;bottom:14px;width:min(1180px,calc(100vw - 230px));border:1px solid var(--line2);border-radius:16px;background:linear-gradient(180deg,rgba(5,11,18,.985),rgba(2,7,12,.99));box-shadow:0 30px 120px rgba(0,0,0,.7),inset 0 0 90px rgba(168,119,255,.025);z-index:100;display:grid;grid-template-rows:50px 1fr;transform:translateX(calc(100% + 30px));opacity:0;transition:.38s var(--ease);overflow:hidden}.copilot-drawer.open{transform:none;opacity:1}.drawer-head{display:flex;align-items:center;justify-content:space-between;padding:0 15px;border-bottom:1px solid var(--line)}.drawer-head strong{font-size:15.5px}.drawer-head span{font-family:Consolas,monospace;font-size:11px;color:var(--violet);letter-spacing:.1em}.close-btn{width:30px;height:30px;border:1px solid var(--line);background:rgba(255,255,255,.02);border-radius:8px;cursor:pointer;color:var(--muted)}.close-btn:hover{color:var(--text);border-color:var(--line2)}
.copilot-body{display:grid;grid-template-columns:330px 1fr;min-height:0}.chat-pane{border-right:1px solid var(--line);display:grid;grid-template-rows:auto 1fr auto;min-height:0;background:rgba(3,8,14,.5)}.chat-intro{padding:14px 16px;border-bottom:1px solid var(--line)}.chat-intro p{font-size:12.5px;color:var(--muted);line-height:1.45;margin:6px 0 0}.messages{padding:14px 16px;overflow:auto}.msg{margin-bottom:14px}.msg-meta{display:flex;justify-content:space-between;font-family:Consolas,monospace;font-size:11px;color:var(--faint);letter-spacing:.1em;text-transform:uppercase;margin-bottom:5px}.msg.user .bubble{border:1px solid rgba(168,119,255,.19);background:rgba(168,119,255,.055);border-radius:9px;padding:9px 10px;font-size:14px;line-height:1.45}.msg.ai .bubble{font-size:12.5px;color:var(--muted);line-height:1.55}.msg.ai b{color:var(--text);font-weight:520}.chat-form{padding:12px;border-top:1px solid var(--line);display:flex;gap:7px}.chat-form input{min-width:0;flex:1;height:38px;border:1px solid var(--line);border-radius:9px;background:rgba(255,255,255,.025);color:var(--text);padding:0 10px;font-size:12.5px}.chat-form button{width:38px;border:0;border-radius:9px;background:linear-gradient(135deg,var(--violet),#d4b8ff);color:#090612;font-weight:800;cursor:pointer}
.answer-pane{padding:22px 26px;overflow:auto}.answer-pane .kicker{color:var(--violet)}.answer-pane h2{font-family:Georgia,serif;font-size:47.5px;font-weight:400;line-height:1.13;letter-spacing:-.035em;margin:8px 0 12px;max-width:850px}.answer-pane h2 em{font-style:italic;color:var(--orange2)}.answer-deck{font-size:15.5px;line-height:1.65;color:var(--muted);max-width:820px}.answer-deck b{color:var(--text);font-weight:520}.answer-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin:17px 0}.answer-stat{border:1px solid var(--line);border-radius:10px;padding:11px;background:rgba(255,255,255,.018)}.answer-stat .eyebrow{font-size:11px}.answer-stat strong{display:block;font-family:Georgia,serif;font-size:38px;font-weight:400;margin:6px 0 2px}.answer-stat small{font-size:11px;color:var(--muted)}.answer-widget{border:1px solid var(--line);border-radius:11px;margin-top:10px;overflow:hidden}.answer-widget-head{height:38px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 12px}.answer-widget-head strong{font-size:12.5px;text-transform:uppercase;letter-spacing:.07em}.answer-widget-head span{font-family:Consolas,monospace;font-size:11px;color:var(--faint)}.answer-row{display:grid;grid-template-columns:1.3fr .9fr .6fr .35fr;gap:10px;padding:9px 12px;border-bottom:1px solid rgba(255,255,255,.05);font-size:11px}.answer-row:last-child{border-bottom:0}.answer-row.head{font-family:Consolas,monospace;font-size:11px;color:var(--faint);text-transform:uppercase;letter-spacing:.08em}.answer-row .conf{font-family:Consolas,monospace;color:var(--orange2);text-align:right}.followups{display:flex;gap:7px;flex-wrap:wrap;margin-top:14px}.followups button{border:1px solid rgba(168,119,255,.22);background:rgba(168,119,255,.05);color:#d6c5ff;border-radius:999px;padding:7px 10px;font-size:11px;cursor:pointer}.followups button:hover{background:rgba(168,119,255,.11)}
.trace-modal{position:fixed;left:50%;top:50%;width:min(900px,calc(100vw - 80px));max-height:calc(100vh - 100px);transform:translate(-50%,-46%) scale(.97);border:1px solid var(--line2);border-radius:16px;background:linear-gradient(180deg,rgba(7,16,25,.99),rgba(3,8,14,.99));box-shadow:0 30px 120px rgba(0,0,0,.72);z-index:110;opacity:0;pointer-events:none;transition:.28s var(--ease);overflow:hidden}.trace-modal.open{opacity:1;pointer-events:auto;transform:translate(-50%,-50%) scale(1)}.trace-head{height:50px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 15px}.trace-head strong{font-size:15.5px}.trace-body{padding:18px;overflow:auto;max-height:calc(100vh - 150px)}.trace-hero{display:grid;grid-template-columns:1fr 220px;gap:15px}.trace-claim{border:1px solid rgba(255,106,36,.2);background:rgba(255,106,36,.04);border-radius:11px;padding:14px}.trace-claim h3{font-family:Georgia,serif;font-weight:400;font-size:31px;margin:6px 0 8px}.trace-claim p{font-size:12.5px;line-height:1.55;color:var(--muted);margin:0}.trace-score{border:1px solid var(--line);border-radius:11px;padding:14px;text-align:center}.trace-score strong{font-family:Georgia,serif;font-size:59px;font-weight:400}.trace-score small{display:block;font-family:Consolas,monospace;font-size:11px;color:var(--green);margin-top:4px}.trace-chain{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;margin-top:15px}.trace-step{border:1px solid var(--line);border-radius:9px;padding:10px;min-height:78px;position:relative;background:rgba(255,255,255,.015)}.trace-step:not(:last-child)::after{content:"→";position:absolute;right:-10px;top:28px;color:var(--orange2);z-index:2}.trace-step b{font-family:Consolas,monospace;font-size:11px;color:var(--orange2);letter-spacing:.08em;text-transform:uppercase}.trace-step strong{display:block;font-size:12.5px;margin:6px 0}.trace-step small{font-size:11px;color:var(--muted);line-height:1.35}
.toast{position:fixed;left:50%;bottom:18px;transform:translate(-50%,20px);opacity:0;z-index:140;border:1px solid var(--line2);background:rgba(6,14,22,.95);box-shadow:var(--shadow);border-radius:10px;padding:10px 13px;display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--muted);transition:.22s var(--ease);pointer-events:none}.toast.show{opacity:1;transform:translate(-50%,0)}.toast i{width:6px;height:6px;border-radius:50%;background:var(--green);box-shadow:0 0 10px rgba(84,214,161,.65)}.toast b{color:var(--text)}


/* v3.1 — OIE data-layer surfaces (surgical additions only) */
.mission-meta-line{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-bottom:2px}
.owner-badge{display:inline-flex;align-items:center;min-height:17px;padding:2px 7px;border-radius:999px;border:1px solid rgba(168,119,255,.3);background:rgba(168,119,255,.09);color:#d8c8ff;font-family:Consolas,monospace;font-size:11px;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;box-shadow:0 0 14px rgba(168,119,255,.05)}
.owner-badge.unassigned{border-color:rgba(139,155,171,.2);background:rgba(139,155,171,.06);color:#7f8d9c;box-shadow:none}
.verdict-wrap{position:relative;display:flex;align-items:center;width:max-content;max-width:100%;margin:2px 0 8px}
.verdict-pill{--verdict-color:var(--amber);display:inline-flex;align-items:center;gap:7px;min-height:24px;border:1px solid color-mix(in srgb,var(--verdict-color) 34%,transparent);background:color-mix(in srgb,var(--verdict-color) 9%,transparent);color:var(--verdict-color);border-radius:999px;padding:4px 10px 4px 8px;font-family:Consolas,monospace;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;box-shadow:0 0 18px color-mix(in srgb,var(--verdict-color) 7%,transparent);transition:.18s var(--ease)}
.verdict-pill:hover,.verdict-pill:focus-visible{background:color-mix(in srgb,var(--verdict-color) 14%,transparent);border-color:color-mix(in srgb,var(--verdict-color) 52%,transparent);transform:translateY(-1px)}
.verdict-pill i{width:6px;height:6px;border-radius:50%;background:var(--verdict-color);box-shadow:0 0 8px color-mix(in srgb,var(--verdict-color) 70%,transparent);flex:0 0 auto}
.verdict-pill b{font-size:11px;font-weight:600;color:color-mix(in srgb,var(--verdict-color) 72%,white);padding-left:3px;border-left:1px solid color-mix(in srgb,var(--verdict-color) 25%,transparent)}
.verdict-tooltip{position:absolute;left:0;bottom:calc(100% + 8px);z-index:30;width:285px;max-width:min(285px,70vw);padding:9px 10px;border:1px solid var(--line2);border-radius:8px;background:rgba(3,9,15,.98);box-shadow:0 16px 44px rgba(0,0,0,.52);color:#b8c5d2;font-size:11px;line-height:1.45;opacity:0;visibility:hidden;transform:translateY(4px);transition:.15s var(--ease);pointer-events:none}
.verdict-tooltip::after{content:"";position:absolute;left:18px;top:100%;border:6px solid transparent;border-top-color:rgba(183,216,241,.2)}
.verdict-wrap:hover .verdict-tooltip,.verdict-wrap:focus-within .verdict-tooltip{opacity:1;visibility:visible;transform:none}

.watch-floor-window{position:absolute;right:14px;top:14px;z-index:12;display:flex;align-items:center;gap:8px;padding:5px 6px 5px 10px;border:1px solid rgba(183,216,241,.13);border-radius:10px;background:rgba(3,8,14,.74);backdrop-filter:blur(12px);box-shadow:0 12px 34px rgba(0,0,0,.28)}
.window-label{font-family:Consolas,monospace;font-size:11px;letter-spacing:.11em;text-transform:uppercase;color:#8494a6;white-space:nowrap}
.time-scrubber{display:flex;align-items:center;gap:3px}
.time-chip{height:25px;min-width:31px;padding:0 8px;border:1px solid transparent;border-radius:7px;background:transparent;color:#78889a;font-family:Consolas,monospace;font-size:11px;font-weight:700;letter-spacing:.05em;cursor:pointer;transition:.16s var(--ease)}
.time-chip:hover{color:var(--text);background:rgba(255,255,255,.035)}
.time-chip.active{color:var(--orange2);background:rgba(255,106,36,.13);border-color:rgba(255,106,36,.31);box-shadow:0 0 16px rgba(255,106,36,.07)}

.globe-tooltip{min-width:205px;padding:10px 11px;pointer-events:none}
.globe-tooltip strong{font-size:14px;line-height:1.25;margin-bottom:3px}
.globe-tooltip .tooltip-risk{font-family:Consolas,monospace;font-size:11px;color:var(--muted)}
.globe-tooltip .tooltip-footer{border-top:1px solid var(--line);margin-top:8px;padding-top:7px;display:grid;gap:4px}
.globe-tooltip .tooltip-ack,.globe-tooltip .tooltip-handoff{font-family:Consolas,monospace;font-size:11px;letter-spacing:.025em}
.globe-tooltip .tooltip-ack.good{color:var(--green)}
.globe-tooltip .tooltip-ack.warn{color:var(--amber)}
.globe-tooltip .tooltip-handoff{color:#8797a8}
.globe-tooltip .tooltip-handoff[hidden]{display:none}

.thing-linkage-widget{background:linear-gradient(180deg,rgba(255,106,36,.018),rgba(255,255,255,.006))}
.thing-linkage-widget .answer-widget-head{height:auto;min-height:45px;padding:8px 12px;align-items:flex-start;gap:14px}
.thing-linkage-widget .answer-widget-head strong{line-height:1.35}
.endpoint-label{font-family:Consolas,monospace!important;font-size:11px!important;color:var(--orange2)!important;opacity:.74;text-align:right;overflow-wrap:anywhere;max-width:330px;line-height:1.35}
.thing-row{display:grid;grid-template-columns:minmax(190px,1.45fr) minmax(120px,.9fr) minmax(105px,.72fr) 55px 45px;gap:10px;align-items:center;padding:10px 12px;border-bottom:1px solid rgba(255,255,255,.05);font-size:11px;color:#b9c6d2;transition:.15s var(--ease)}
.thing-row:nth-child(odd):not(.head){background:rgba(255,255,255,.009)}
.thing-row:not(.head):hover{background:rgba(255,106,36,.035)}
.thing-row:last-child{border-bottom:0}
.thing-row.head{font-family:Consolas,monospace;font-size:11px;color:var(--faint);letter-spacing:.08em;text-transform:uppercase}
.thing-row .thing-text{color:var(--text);font-weight:520;line-height:1.35}
.thing-row .thing-doer{color:#c0ccd7}
.thing-type{width:max-content;max-width:100%;font-family:Consolas,monospace;font-size:11px;letter-spacing:.035em;color:#9daabc;background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.055);border-radius:4px;padding:3px 5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.thing-age{font-family:Consolas,monospace;color:#7f8d9c;white-space:nowrap}
.thing-conf{font-family:Consolas,monospace;color:var(--orange2);font-weight:700;text-align:right}
@media(max-width:1450px){.watch-floor-window{right:10px;top:10px}.window-label{display:none}.thing-row{grid-template-columns:minmax(175px,1.35fr) minmax(110px,.85fr) minmax(95px,.7fr) 48px 42px;gap:7px}}

@keyframes pulse{0%,100%{opacity:1}50%{opacity:.42}}
@keyframes flowDash{to{stroke-dashoffset:-220}}
@keyframes ring{0%{opacity:.8;transform:scale(.9)}75%,100%{opacity:0;transform:scale(1.18)}}
@media(max-width:1550px){
  .app{grid-template-columns:var(--sidebar-width) 1fr}.app::before{left:var(--sidebar-width)}.topbar{grid-template-columns:270px minmax(340px,1fr) auto}.sidebar{padding-left:7px;padding-right:7px}.dashboard{grid-template-columns:minmax(480px,1.32fr) minmax(390px,.95fr) minmax(270px,.62fr)}.globe-caption{display:none}.mission-panel{padding:12px}.mission-top h1{font-size:29.5px}.bluf-title{font-size:25px}.metrics-row{gap:6px}.metric-value{font-size:35px}.loom-stages{gap:10px}
}
@media(max-width:1180px){
  body{overflow:auto}.app{min-width:1180px;height:auto;min-height:100vh}.workspace{overflow:visible}.dashboard{min-height:900px}.top-actions .live-state,.top-icon{display:none}
}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}




/* ==== Watch Floor scene (Path A build-out, 2026-07-25) ==== */
.dashboard[hidden]{display:none!important}
.watch-floor-view[hidden]{display:none!important}
.watch-floor-view{display:flex;flex-direction:column;gap:16px;height:100%;overflow:auto;padding:4px 2px 18px}
.wf-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;width:min(100%,1680px);margin-inline:auto}
.wf-title{font-size:33.5px;letter-spacing:-.03em;margin:6px 0 4px;font-weight:600}
.wf-sub{font-size:17.5px;color:var(--muted)}
.wf-meta{font-size:14px;color:var(--faint);letter-spacing:.08em;text-transform:uppercase}
.wf-grid{display:grid;grid-template-columns:repeat(4,minmax(280px,1fr));gap:16px;width:min(100%,1680px);margin-inline:auto}
@media(min-width:2560px){.wf-grid{grid-template-columns:repeat(5,minmax(280px,1fr))}}
@media(max-width:1499px){.wf-grid{grid-template-columns:repeat(3,minmax(260px,1fr))}}
@media(max-width:1040px){.wf-grid{grid-template-columns:repeat(2,minmax(240px,1fr))}}
.wf-loading{grid-column:1/-1;padding:26px;text-align:center;color:var(--muted);font-size:18px;border:1px dashed var(--line);border-radius:var(--radius)}
.wf-card{display:flex;flex-direction:column;gap:10px;text-align:left;padding:16px 18px;min-height:160px;border:1px solid var(--line);border-radius:12px;background:linear-gradient(150deg,rgba(9,23,36,.85),rgba(4,11,18,.82));cursor:pointer;transition:.18s var(--ease)}
.wf-card:hover{border-color:var(--line2);transform:translateY(-2px);box-shadow:0 14px 34px rgba(0,0,0,.35)}
.wf-card-top{display:flex;justify-content:space-between;align-items:baseline;gap:10px}
.wf-name{font-size:20.5px;font-weight:600;letter-spacing:-.015em;line-height:1.25}
.wf-risk{font-size:17px;color:var(--muted);white-space:nowrap}
.wf-risk.hot{color:var(--red)}
.wf-risk.warm{color:var(--amber)}
.wf-card-mid{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.wf-verdict{--vc:#7f8d9c;display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;font-size:13.5px;font-weight:700;letter-spacing:.08em;color:var(--vc);border:1px solid color-mix(in srgb,var(--vc) 34%,transparent);background:color-mix(in srgb,var(--vc) 9%,transparent)}
.wf-verdict::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--vc);box-shadow:0 0 8px color-mix(in srgb,var(--vc) 70%,transparent)}
.wf-owner{font-size:13.5px;color:var(--amber);letter-spacing:.08em;padding:4px 9px;border-radius:999px;border:1px solid rgba(243,184,77,.32);background:rgba(243,184,77,.06)}
.wf-owner.unassigned{color:var(--faint);border-color:var(--line);background:transparent}
.wf-card-bot{display:flex;justify-content:space-between;font-size:14px;color:var(--faint);letter-spacing:.05em}

/* ==== Evidence Loom scene (Path A build-out, 2026-07-25) ==== */
.evidence-view[hidden]{display:none!important}
.evidence-view{display:flex;flex-direction:column;gap:14px;height:100%;overflow:auto;padding:4px 2px 18px}
.ev-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px}
.ev-title{font-size:33.5px;letter-spacing:-.03em;margin:6px 0 4px;font-weight:600}
.ev-sub{font-size:17.5px;color:var(--muted)}
.ev-window{font-size:14px;color:var(--faint);text-transform:uppercase;letter-spacing:.08em}
.ev-window select{margin-left:6px;background:var(--panel2);color:var(--text);border:1px solid var(--line);border-radius:6px;padding:4px 8px;font:inherit}
.ev-stats{display:flex;gap:10px;flex-wrap:wrap}
.ev-stat{padding:8px 14px;border:1px solid var(--line);border-radius:10px;background:rgba(6,15,24,.6)}
.ev-stat b{display:block;font-family:Georgia,serif;font-size:28px;letter-spacing:-.03em}
.ev-stat span{font-size:13.5px;color:var(--muted);letter-spacing:.1em;text-transform:uppercase;font-family:"SFMono-Regular",Consolas,monospace}
.ev-columns{display:grid;grid-template-columns:minmax(300px,.9fr) minmax(420px,1.4fr);gap:14px;min-height:0;flex:1}
.ev-narratives,.ev-claims{display:flex;flex-direction:column;min-height:0;padding:14px}
.ev-panel-row{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px}
.ev-nar-status{font-size:13.5px;color:var(--faint);letter-spacing:.08em;text-transform:uppercase}
.ev-nar-list{display:flex;flex-direction:column;gap:10px;overflow:auto;min-height:0}
.ev-nar-card{border:1px solid var(--line);border-radius:10px;padding:12px 14px;background:linear-gradient(150deg,rgba(9,23,36,.8),rgba(4,11,18,.75));cursor:default}
.ev-nar-top{display:flex;justify-content:space-between;gap:10px;align-items:baseline}
.ev-nar-label{font-size:19px;font-weight:600;line-height:1.3}
.ev-nar-risk{font-family:"SFMono-Regular",Consolas,monospace;font-size:15.5px;white-space:nowrap}
.ev-nar-sitrep{font-size:16px;color:var(--muted);line-height:1.5;margin-top:6px}
.ev-nar-meta{display:flex;gap:10px;margin-top:8px;font-family:"SFMono-Regular",Consolas,monospace;font-size:13.5px;color:var(--faint);letter-spacing:.06em;flex-wrap:wrap}
.ev-search{flex:1;max-width:340px;background:var(--bg2);border:1px solid var(--line);border-radius:999px;color:var(--text);font-size:17px;padding:7px 14px;outline:none}
.ev-search:focus{border-color:var(--line2)}
.ev-filters{display:flex;gap:6px;align-items:center;flex-wrap:wrap;margin-bottom:10px}
.ev-chip{font-size:13.5px;letter-spacing:.08em;text-transform:uppercase;padding:4px 10px;border:1px solid var(--line);border-radius:999px;color:var(--muted);cursor:pointer;transition:.15s var(--ease)}
.ev-chip:hover{border-color:var(--line2);color:var(--text)}
.ev-chip.active{color:var(--cyan);border-color:rgba(73,216,239,.4);background:rgba(73,216,239,.07)}
.ev-sep{width:1px;height:16px;background:var(--line);margin:0 4px}
.ev-claim-list{display:flex;flex-direction:column;gap:8px;overflow:auto;min-height:0;flex:1}
.ev-claim{display:grid;grid-template-columns:1fr auto;gap:4px 12px;padding:10px 12px;border:1px solid var(--line);border-radius:9px;background:rgba(6,15,24,.55);cursor:pointer;text-align:left;transition:.15s var(--ease)}
.ev-claim:hover{border-color:var(--line2);transform:translateY(-1px)}
.ev-claim-text{font-size:17.5px;line-height:1.45;grid-column:1}
.ev-claim-badges{display:flex;gap:6px;align-items:center;grid-column:2;grid-row:1/3;flex-direction:column;align-items:flex-end}
.ev-status{font-family:"SFMono-Regular",Consolas,monospace;font-size:12px;font-weight:700;letter-spacing:.1em;padding:2px 7px;border-radius:4px}
.ev-status.confirmed{color:var(--green);background:rgba(84,214,161,.1);border:1px solid rgba(84,214,161,.35)}
.ev-status.contested{color:var(--red);background:rgba(255,93,96,.1);border:1px solid rgba(255,93,96,.35)}
.ev-status.unverified{color:var(--faint);background:rgba(127,141,156,.08);border:1px solid var(--line)}
.ev-thing{font-family:"SFMono-Regular",Consolas,monospace;font-size:12px;color:var(--cyan);border:1px solid rgba(73,216,239,.3);border-radius:4px;padding:2px 7px}
.ev-claim-meta{grid-column:1;display:flex;gap:12px;font-family:"SFMono-Regular",Consolas,monospace;font-size:12.5px;color:var(--faint);letter-spacing:.04em;flex-wrap:wrap}
.ev-conf{display:inline-flex;align-items:center;gap:6px}
.ev-conf i{width:44px;height:4px;border-radius:2px;background:rgba(255,255,255,.08);position:relative;overflow:hidden;display:inline-block}
.ev-conf i::after{content:"";position:absolute;inset:0;width:var(--w,0%);background:var(--cyan);border-radius:2px}
.ev-more{margin-top:10px;padding:8px;border:1px dashed var(--line);border-radius:8px;color:var(--muted);font-size:15.5px;cursor:pointer;background:transparent}
.ev-more:hover{color:var(--text);border-color:var(--line2)}
.ev-empty{padding:20px;text-align:center;color:var(--faint);font-size:17px}
/* claim drawer */
.ev-drawer{position:fixed;top:64px;right:0;bottom:0;width:min(clamp(420px,28vw,500px),94vw);z-index:60;background:rgba(4,10,17,.98);border-left:1px solid var(--line2);box-shadow:-24px 0 70px rgba(0,0,0,.5);display:flex;flex-direction:column;transform:translateX(0);transition:transform .22s var(--ease)}
.ev-drawer[hidden]{display:none}
/* Claim Trace open: reserve space on wide screens so the claims column is not covered by the drawer */
@media(min-width:1400px){#evidenceView.drawer-open .ev-columns{margin-right:clamp(420px,28vw,500px);transition:margin-right .2s var(--ease)}}
.ev-drawer-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding:16px 18px;border-bottom:1px solid var(--line)}
.ev-drawer-title{font-size:19.5px;font-weight:600;line-height:1.4;margin-top:4px}
.ev-drawer-close{border:1px solid var(--line);background:transparent;color:var(--muted);border-radius:6px;width:28px;height:28px;cursor:pointer}
.ev-drawer-close:hover{color:var(--text);border-color:var(--line2)}
.ev-drawer-body{padding:16px 18px;overflow:auto;display:flex;flex-direction:column;gap:14px}
.ev-block{border:1px solid var(--line);border-radius:10px;padding:12px 14px;background:rgba(6,15,24,.55)}
.ev-block .eyebrow{margin-bottom:8px}
.ev-reason{font-size:16px;color:var(--muted);line-height:1.55;padding-left:14px;position:relative}
.ev-reason::before{content:"›";position:absolute;left:0;color:var(--cyan)}
.ev-math-row{display:flex;justify-content:space-between;font-family:"SFMono-Regular",Consolas,monospace;font-size:14px;color:var(--muted);padding:3px 0;border-bottom:1px dashed rgba(183,216,241,.06)}
.ev-math-row b{color:var(--text)}
.ev-obs{padding:8px 0;border-bottom:1px dashed rgba(183,216,241,.08);font-size:15.5px;color:var(--muted)}
.ev-obs b{color:var(--text);font-size:16px}
.ev-obs .mono{font-size:12.5px;color:var(--faint);letter-spacing:.05em}
@media (max-width:1200px){.ev-columns{grid-template-columns:1fr}}

/* ==== Loom full-width stretch (2026-07-25): fluid columns above 1390px, scroll below ==== */
.loom-canvas{width:100%;min-width:1390px;grid-template-columns:minmax(154px,1fr) minmax(182px,1.15fr) minmax(168px,1.05fr) minmax(186px,1.2fr) minmax(144px,.9fr) minmax(158px,1fr) minmax(150px,1fr);gap:clamp(18px,2vw,34px)}
.loom-scroll{overflow-x:auto}

/* ==== Reports scene (Path A build-out, 2026-07-25) ==== */
.reports-view[hidden]{display:none!important}
.reports-view{display:flex;flex-direction:column;gap:16px;height:100%;overflow:auto;padding:4px 2px 24px}
.rp-head{display:flex;justify-content:space-between;align-items:flex-end;width:min(100%,1480px);margin-inline:auto}
.rp-title{font-size:33.5px;letter-spacing:-.03em;margin:6px 0 4px;font-weight:600}
.rp-sub{font-size:17.5px;color:var(--muted)}
.rp-cards{display:grid;grid-template-columns:repeat(3,minmax(320px,1fr));gap:18px;width:min(100%,1480px);margin-inline:auto}
@media(max-width:900px){.rp-cards{grid-template-columns:1fr}}
.rp-card{display:flex;flex-direction:column;gap:12px;padding:20px;min-height:192px;border:1px solid var(--line);border-radius:12px;background:linear-gradient(150deg,rgba(9,23,36,.85),rgba(4,11,18,.82))}
.rp-card-name{font-size:21px;font-weight:600;letter-spacing:-.015em}
.rp-card p{margin:0;font-size:16px;color:var(--muted);line-height:1.55;flex:1}
.rp-gen{align-self:flex-start;padding:8px 16px;border:1px solid rgba(73,216,239,.4);border-radius:8px;background:rgba(73,216,239,.08);color:var(--cyan);font-size:15.5px;font-weight:600;letter-spacing:.06em;cursor:pointer;transition:.15s var(--ease)}
.rp-gen:hover{background:rgba(73,216,239,.14);transform:translateY(-1px)}
.rp-gen:disabled{opacity:.4;cursor:wait;transform:none}
.rp-question{background:var(--bg2);border:1px solid var(--line);border-radius:8px;color:var(--text);font-size:16px;padding:8px 12px;outline:none}
.rp-question:focus{border-color:var(--line2)}
.rp-status{font-size:14px;color:var(--amber);letter-spacing:.08em;min-height:16px;width:min(100%,1480px);margin-inline:auto}
.rp-doc{border:1px solid var(--line2);border-radius:14px;background:linear-gradient(180deg,#081420,#040b13);padding:26px 30px;display:flex;flex-direction:column;gap:18px;max-width:1100px}
.rp-doc[hidden]{display:none}
.rp-empty{width:min(100%,520px);margin:40px auto 0;text-align:center;display:flex;flex-direction:column;align-items:center;gap:12px;padding:36px 28px;border:1px solid var(--border-subtle);border-radius:14px;background:var(--surface-1)}
.rp-doc:not([hidden]) + .rp-empty{display:none}
.rp-empty-icon{width:56px;height:56px;border-radius:14px;display:grid;place-items:center;color:var(--accent-live);border:1px solid var(--border-default);background:rgba(66,220,232,.06)}
.rp-empty h3{margin:0;font-size:17px;font-weight:600;color:var(--text-primary)}
.rp-empty p{margin:0;font-size:13.5px;line-height:1.55;color:var(--text-tertiary)}
.rp-class{font-family:"SFMono-Regular",Consolas,monospace;font-size:14px;letter-spacing:.2em;text-transform:uppercase;color:var(--green);text-align:center;border:1px solid rgba(84,214,161,.3);border-radius:6px;padding:5px}
.rp-doc h2{font-size:28px;letter-spacing:-.02em;margin:0;font-weight:650}
.rp-dtg{font-family:"SFMono-Regular",Consolas,monospace;font-size:14.5px;color:var(--muted);letter-spacing:.1em}
.rp-doc h3{font-family:"SFMono-Regular",Consolas,monospace;font-size:15.5px;letter-spacing:.14em;text-transform:uppercase;color:#79bce8;margin:6px 0 0;border-bottom:1px solid var(--line);padding-bottom:6px}
.rp-doc p{margin:0;font-size:18px;line-height:1.65;color:var(--text)}
.rp-doc ul{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:6px}
.rp-doc li{font-size:17.5px;line-height:1.55;color:var(--muted)}
.rp-posture{display:inline-flex;padding:5px 14px;border-radius:999px;font-family:"SFMono-Regular",Consolas,monospace;font-size:15.5px;font-weight:700;letter-spacing:.12em}
.rp-posture.SEVERE{color:var(--red);border:1px solid rgba(255,93,96,.4);background:rgba(255,93,96,.08)}
.rp-posture.ELEVATED{color:var(--amber);border:1px solid rgba(243,184,77,.4);background:rgba(243,184,77,.08)}
.rp-posture.GUARDED,.rp-posture.LOW{color:var(--cyan);border:1px solid rgba(73,216,239,.35);background:rgba(73,216,239,.07)}
.rp-mon{border:1px solid var(--line);border-radius:10px;padding:12px 14px;background:rgba(6,15,24,.55)}
.rp-mon-head{display:flex;justify-content:space-between;gap:10px;align-items:baseline;margin-bottom:6px}
.rp-mon-head b{font-size:18px}
.rp-mon-head span{font-family:"SFMono-Regular",Consolas,monospace;font-size:14.5px;color:var(--muted)}
.rp-mon p{font-size:17px;color:var(--muted)}
.rp-watch{margin-top:6px;font-size:15.5px;color:var(--faint);font-style:italic}
.rp-causal{border-left:2px solid var(--violet);padding:8px 12px;background:rgba(168,119,255,.05);border-radius:0 8px 8px 0;font-size:17px;color:var(--muted)}
.rp-causal b{color:var(--text)}
.rp-kv{display:grid;grid-template-columns:200px 1fr;gap:6px 14px;font-size:17px}
.rp-kv dt{color:var(--faint);font-family:"SFMono-Regular",Consolas,monospace;font-size:14px;letter-spacing:.08em;text-transform:uppercase}
.rp-kv dd{margin:0;color:var(--muted)}

/* ==== Report tables (generic renderer, arrays of uniform objects) ==== */
.rp-table{width:100%;border-collapse:collapse;font-size:16px}
.rp-table th{font-family:"SFMono-Regular",Consolas,monospace;font-size:13.5px;letter-spacing:.1em;text-transform:uppercase;color:#79bce8;text-align:left;padding:6px 10px;border-bottom:1px solid var(--line2)}
.rp-table td{padding:8px 10px;border-bottom:1px dashed rgba(183,216,241,.08);color:var(--muted);vertical-align:top;line-height:1.5}
.rp-table td:first-child{color:var(--text)}

/* ==== Print stylesheet — ⌘P produces a clean document, no app chrome ==== */
@media print{
  .sidebar,.topbar,.rp-cards,.rp-head,.rp-status,.wf-grid,.watch-floor-view,.evidence-view,.dashboard,
  #copilotDrawer,#traceModal,#scrim,.toast,#evDrawer,.rp-gen{display:none!important}
  html,body{background:#fff!important;color:#111!important;overflow:visible!important;height:auto!important}
  .app{display:block!important;height:auto!important}
  .app::before{display:none!important}
  .workspace{overflow:visible!important;padding:0!important}
  .reports-view{display:block!important;overflow:visible!important;height:auto!important;padding:0!important}
  .rp-doc{border:none!important;background:#fff!important;box-shadow:none!important;max-width:none!important;padding:0!important;color:#111!important}
  .rp-doc h2{color:#000!important}
  .rp-doc h3{color:#1a4d6e!important;border-bottom-color:#ccc!important}
  .rp-doc p,.rp-doc li,.rp-mon p,.rp-kv dd,.rp-table td{color:#222!important}
  .rp-dtg,.rp-kv dt,.rp-watch,.rp-table th{color:#555!important}
  .rp-class{color:#0a6b46!important;border-color:#0a6b46!important}
  .rp-posture{border-width:1.5px!important}
  .rp-mon,.rp-causal{background:#f6f8fa!important;border-color:#ddd!important;break-inside:avoid}
  .rp-causal{border-left-color:#7a5cc7!important}
  .rp-mon-head span{color:#555!important}
  .rp-mon-head b,.rp-causal b{color:#000!important}
  .rp-table th{border-bottom-color:#999!important}
  .rp-table td{border-bottom-color:#ddd!important}
}

/* ==== Intel Cockpit scene (Path A build-out, 2026-07-25) ==== */
.cockpit-view[hidden]{display:none!important}
.cockpit-view{display:flex;flex-direction:column;gap:14px;height:100%;overflow:auto;padding:4px 2px 24px}
.ck-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px}
.ck-title{font-size:33.5px;letter-spacing:-.03em;margin:6px 0 4px;font-weight:600}
.ck-sub{font-size:17.5px;color:var(--muted)}
.ck-meta{font-size:14px;color:var(--faint);letter-spacing:.08em;text-transform:uppercase}
.ck-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:14px}
.ck-grid2{display:grid;grid-template-columns:minmax(320px,.9fr) minmax(420px,1.4fr);gap:14px;min-height:380px}
.ck-panel{padding:16px 18px;display:flex;flex-direction:column;gap:12px}
.ck-regime-row{display:flex;align-items:center;gap:12px}
.ck-regime{font-size:22.5px;font-weight:700;letter-spacing:.14em;padding:6px 16px;border-radius:8px;border:1px solid var(--line2)}
.ck-regime.CRISIS{color:var(--red);border-color:rgba(255,93,96,.45);background:rgba(255,93,96,.08)}
.ck-regime.ESCALATION{color:var(--orange2);border-color:rgba(255,154,82,.45);background:rgba(255,106,36,.08)}
.ck-regime.TENSION{color:var(--amber);border-color:rgba(243,184,77,.45);background:rgba(243,184,77,.08)}
.ck-regime.CALM{color:var(--green);border-color:rgba(84,214,161,.4);background:rgba(84,214,161,.07)}
.ck-regime.DE-ESCALATION{color:var(--cyan);border-color:rgba(73,216,239,.4);background:rgba(73,216,239,.07)}
.ck-regime-conf{font-size:14.5px;color:var(--muted)}
.ck-state-bars{display:flex;flex-direction:column;gap:7px}
.ck-bar-row{display:grid;grid-template-columns:150px 1fr 64px;gap:10px;align-items:center;font-family:"SFMono-Regular",Consolas,monospace;font-size:13.5px;color:var(--muted)}
.ck-bar-row .bar{height:6px;border-radius:3px;background:rgba(255,255,255,.06);overflow:hidden}
.ck-bar-row .bar i{display:block;height:100%;border-radius:3px;background:var(--c,var(--cyan));width:var(--w,0%)}
.ck-bar-row b{text-align:right;color:var(--text);font-weight:600}
.ck-hist{font-size:13.5px;color:var(--faint);letter-spacing:.06em}
.ck-big-row{display:flex;gap:26px;flex-wrap:wrap}
.ck-big{font-size:47.5px;letter-spacing:-.04em}
.ck-big-label{font-family:"SFMono-Regular",Consolas,monospace;font-size:12.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-top:2px;line-height:1.5}
.ck-gauge{position:relative;height:8px;border-radius:4px;background:linear-gradient(90deg,rgba(84,214,161,.35),rgba(243,184,77,.35) 55%,rgba(255,93,96,.4));overflow:visible}
.ck-gauge-fill{position:absolute;top:-3px;bottom:-3px;width:3px;background:var(--text);border-radius:2px;left:0;box-shadow:0 0 10px rgba(255,255,255,.6);transition:left .4s var(--ease)}
.ck-gauge-mark{position:absolute;top:-5px;bottom:-5px;width:1px;background:var(--red);opacity:.7}
.ck-gauge-caption{font-size:12.5px;color:var(--faint);letter-spacing:.05em}
.ck-ratios{display:flex;gap:16px;flex-wrap:wrap;font-size:14px;color:var(--muted)}
.ck-ratios b{color:var(--text)}
.ck-causal-list{display:flex;flex-direction:column;gap:10px;overflow:auto}
.ck-causal{border-left:2px solid var(--violet);padding:10px 12px;background:rgba(168,119,255,.05);border-radius:0 8px 8px 0}
.ck-causal-route{font-size:17px;font-weight:600;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.ck-causal-route .arrow{color:var(--violet)}
.ck-causal-meta{font-family:"SFMono-Regular",Consolas,monospace;font-size:13.5px;color:var(--muted);margin-top:4px;letter-spacing:.04em}
.ck-causal-band{display:inline-block;padding:1px 7px;border-radius:4px;font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.ck-causal-band.very_large{color:var(--red);border:1px solid rgba(255,93,96,.4)}
.ck-causal-band.large{color:var(--orange2);border:1px solid rgba(255,154,82,.4)}
.ck-causal-band.medium{color:var(--amber);border:1px solid rgba(243,184,77,.4)}
.ck-causal-band.small{color:var(--cyan);border:1px solid rgba(73,216,239,.35)}
.ck-net-panel{min-height:380px}
.ck-net-head{display:flex;justify-content:space-between;align-items:baseline}
.ck-net-stats{font-size:13.5px;color:var(--faint)}
.ck-net-canvas{width:100%;flex:1;min-height:300px;border-radius:10px;background:radial-gradient(600px 300px at 50% 40%,rgba(73,216,239,.04),transparent 70%)}
.ck-net-legend{display:flex;gap:14px;flex-wrap:wrap;font-size:12.5px;color:var(--muted)}
.ck-net-legend i{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:5px;vertical-align:middle}
@media (max-width:1200px){.ck-grid2{grid-template-columns:1fr}}
@media print{.cockpit-view{display:none!important}}

/* ==== Intel Cockpit v2 — merged designer concept (2026-07-25) ==== */
.ck-dim{color:var(--faint);font-weight:400;text-transform:none;letter-spacing:.02em}
.ck-dist{display:flex;height:18px;border-radius:5px;overflow:hidden;border:1px solid var(--line)}
.ck-dist i{display:flex;align-items:center;justify-content:center;font-family:"SFMono-Regular",Consolas,monospace;font-size:12px;font-weight:700;color:rgba(2,6,11,.85);min-width:0;transition:width .4s var(--ease)}
.ck-dist-legend{display:flex;gap:12px;flex-wrap:wrap;font-size:12px;color:var(--muted);letter-spacing:.06em}
.ck-dist-legend i{display:inline-block;width:7px;height:7px;border-radius:2px;margin-right:4px;vertical-align:middle}
.ck-hist{display:flex;gap:6px;flex-wrap:wrap}
.ck-hist-chip{font-family:"SFMono-Regular",Consolas,monospace;font-size:12px;font-weight:700;letter-spacing:.08em;padding:3px 9px;border-radius:999px;border:1px solid var(--line);color:var(--muted)}
.ck-hist-chip.CRISIS{color:var(--red);border-color:rgba(255,93,96,.4)}
.ck-hist-chip.ESCALATION{color:var(--orange2);border-color:rgba(255,154,82,.4)}
.ck-hist-chip.TENSION{color:var(--amber);border-color:rgba(243,184,77,.4)}
.ck-hist-chip.CALM{color:var(--green);border-color:rgba(84,214,161,.4)}
.ck-hist-chip.DE-ESCALATION{color:var(--cyan);border-color:rgba(73,216,239,.4)}
.ck-hist-chip.latest{background:rgba(255,93,96,.1);box-shadow:0 0 12px rgba(255,93,96,.15)}
.ck-rank-rows{display:flex;flex-direction:column;gap:8px}
.ck-rank-row{display:grid;grid-template-columns:22px 130px 1fr 42px;gap:10px;align-items:center;font-size:15.5px;color:var(--muted)}
.ck-rank{display:inline-grid;place-items:center;width:18px;height:18px;border-radius:5px;border:1px solid var(--line2);font-size:12.5px;color:#aebdca;font-weight:600}
.ck-rank-name{text-transform:capitalize}
.ck-rank-row .bar{height:6px;border-radius:3px;background:rgba(255,255,255,.06);overflow:hidden}
.ck-rank-row .bar i{display:block;height:100%;border-radius:3px;background:var(--violet);width:var(--w,0%)}
.ck-rank-row b{text-align:right;color:var(--text)}
.ck-risk-total{margin-top:auto;padding-top:10px;border-top:1px dashed var(--line);font-size:14px;color:var(--muted)}
.ck-risk-total b{color:var(--text);font-size:19.5px;margin-left:6px}
.ck-posture{display:flex;flex-direction:column;gap:13px}
.ck-posture-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:10px;align-items:center;font-size:13.5px;color:var(--muted);min-height:30px;white-space:nowrap}
.ck-posture-row b{color:var(--text);font-size:15px;white-space:nowrap}
.ck-posture-big{font-size:22.5px!important;font-family:Georgia,serif!important;letter-spacing:-.02em}
.ck-chip{display:inline-flex;padding:2px 10px;border-radius:5px;font-family:"SFMono-Regular",Consolas,monospace;font-size:12.5px;font-weight:700;letter-spacing:.1em}
.ck-chip.red{color:var(--red);border:1px solid rgba(255,93,96,.4);background:rgba(255,93,96,.08)}
.ck-chip.amber{color:var(--amber);border:1px solid rgba(243,184,77,.4);background:rgba(243,184,77,.08)}
.ck-chip.green{color:var(--green);border:1px solid rgba(84,214,161,.4);background:rgba(84,214,161,.07)}
.ck-chip.cyan{color:var(--cyan);border:1px solid rgba(73,216,239,.35);background:rgba(73,216,239,.07)}
.ck-chip.dim{color:var(--faint);border:1px solid var(--line)}
.ck-causal-head{display:flex;justify-content:space-between;align-items:baseline;gap:10px}
.ck-tabs{display:flex;gap:6px}
.ck-tab{font-size:12.5px;letter-spacing:.08em;text-transform:uppercase;padding:4px 12px;border:1px solid var(--line);border-radius:999px;color:var(--muted);cursor:pointer;transition:.15s var(--ease)}
.ck-tab:hover{color:var(--text);border-color:var(--line2)}
.ck-tab.active{color:var(--cyan);border-color:rgba(73,216,239,.4);background:rgba(73,216,239,.07)}
.ck-note{font-size:12.5px;color:var(--faint);padding:4px 0}
.ck-link-row{display:grid;grid-template-columns:22px 1fr auto;gap:10px;align-items:center;padding:9px 10px;border:1px solid var(--line);border-radius:9px;background:rgba(6,15,24,.55)}
.ck-link-main{min-width:0}
.ck-link-route{font-size:17px;font-weight:600;display:flex;gap:7px;align-items:center;flex-wrap:wrap}
.ck-link-route .arrow{color:var(--violet)}
.ck-link-meta{font-size:12.5px;color:var(--muted);margin-top:3px;letter-spacing:.03em}
.ck-strength{display:inline-flex;padding:3px 10px;border-radius:5px;font-family:"SFMono-Regular",Consolas,monospace;font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;white-space:nowrap}
.ck-strength.very_large{color:var(--red);border:1px solid rgba(255,93,96,.45);background:rgba(255,93,96,.08)}
.ck-strength.large{color:var(--orange2);border:1px solid rgba(255,154,82,.45);background:rgba(255,106,36,.07)}
.ck-strength.medium{color:var(--amber);border:1px solid rgba(243,184,77,.4);background:rgba(243,184,77,.07)}
.ck-strength.small{color:var(--cyan);border:1px solid rgba(73,216,239,.35);background:rgba(73,216,239,.06)}
.ck-net-body{display:grid;grid-template-columns:1fr 225px;gap:12px;flex:1;min-height:0}
.ck-entity{border:1px solid var(--line);border-radius:10px;padding:12px 14px;background:rgba(6,15,24,.6);overflow:auto;display:flex;flex-direction:column;gap:6px}
.ck-entity-name{font-size:22.5px;font-weight:650;letter-spacing:-.02em}
.ck-entity-type{font-size:12.5px;letter-spacing:.14em;text-transform:uppercase}
.ck-entity-kv{display:grid;grid-template-columns:1fr auto;gap:5px 10px;margin:8px 0 0;font-size:13.5px}
.ck-entity-kv dt{color:var(--faint);letter-spacing:.06em;text-transform:uppercase}
.ck-entity-kv dd{margin:0;color:var(--text);text-align:right}
.ck-entity-conns{display:flex;flex-direction:column;gap:6px}
.ck-entity-conn{display:grid;grid-template-columns:8px 1fr auto;gap:8px;align-items:center;font-size:15.5px;color:var(--muted)}
.ck-entity-conn i{width:8px;height:8px;border-radius:50%}
.ck-entity-conn b{color:var(--text);font-size:13.5px}
.ck-events{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px}
.ck-event{border:1px solid var(--line);border-radius:10px;padding:12px 14px;background:rgba(6,15,24,.55);display:flex;flex-direction:column;gap:6px}
.ck-event-top{display:flex;justify-content:space-between;align-items:center;font-size:12.5px;color:var(--faint)}
.ck-event b{font-size:17.5px;line-height:1.35}
.ck-event p{margin:0;font-size:14.5px;color:var(--muted);line-height:1.5}
@media (max-width:1100px){.ck-net-body{grid-template-columns:1fr}}

/* ==== Intel Cockpit v2.1 — availability-aware states + typography (2026-07-25) ==== */
/* Sentence-case sans titles inside cockpit; monospace reserved for values */
.ck-panel-title{font-family:Montserrat,Inter,ui-sans-serif,-apple-system,sans-serif;font-size:18px;font-weight:650;color:#cfdae4;letter-spacing:-.01em}
.ck-panel-title.sub{font-size:14.5px;font-weight:600;color:#8fa2b3;margin-top:4px}
.ck-panel-caption{font-size:12.5px;color:var(--faint);letter-spacing:.04em;margin-top:2px}
/* Coverage-truth banner under the title */
.ck-coverage{display:flex;align-items:flex-start;gap:10px;margin-top:8px;max-width:900px}
.ck-cov-chip{flex:0 0 auto;padding:3px 10px;border-radius:5px;font-size:12px;font-weight:700;letter-spacing:.12em}
.ck-cov-chip.green{color:var(--green);border:1px solid rgba(84,214,161,.4);background:rgba(84,214,161,.07)}
.ck-cov-chip.amber{color:var(--amber);border:1px solid rgba(243,184,77,.4);background:rgba(243,184,77,.08)}
.ck-cov-chip.red{color:var(--red);border:1px solid rgba(255,93,96,.4);background:rgba(255,93,96,.08)}
.ck-cov-text{font-size:17px;color:#aebdca;line-height:1.5}
/* Adaptive grid: degraded mode = posture + readiness only */
.ck-grid.degraded{grid-template-columns:minmax(300px,3fr) minmax(300px,2.4fr)}
.ck-grid.degraded #ckPanelRisk:not([hidden]){grid-column:1/-1}
.ck-readiness{display:flex;flex-direction:column;gap:9px}
.ck-ready-row{display:grid;grid-template-columns:130px auto 1fr;gap:10px;align-items:baseline;font-size:17px;color:#aebdca;padding-bottom:8px;border-bottom:1px dashed rgba(183,216,241,.07)}
.ck-ready-row b{font-size:15.5px;color:var(--text)}
.ck-ready-row .ck-dim{font-size:12.5px;text-align:right}
.ck-posture-src{margin-top:auto;padding-top:10px;border-top:1px dashed var(--line);font-size:12.5px;color:var(--faint);letter-spacing:.04em}
/* Portfolio-context explicit mode */
.ck-portfolio-btn{align-self:center;margin-top:4px;padding:8px 16px;border:1px solid var(--line2);border-radius:8px;background:rgba(255,255,255,.03);color:#aebdca;font-size:15.5px;cursor:pointer;transition:.15s var(--ease)}
.ck-portfolio-btn:hover{color:var(--text);border-color:rgba(183,216,241,.35)}
.ck-portfolio-banner{font-size:12.5px;letter-spacing:.1em;color:var(--amber);border:1px solid rgba(243,184,77,.35);background:rgba(243,184,77,.06);border-radius:6px;padding:6px 10px}
.ck-portfolio-banner a{color:var(--cyan);text-decoration:none;letter-spacing:.04em;text-transform:none}
/* What-changed status states + slim collapse */
#ckEventsPanel.slim{padding:12px 18px}
#ckEventsPanel.slim .ck-events{display:block}
.ck-ev-state{font-size:15.5px;color:#8fa2b3;letter-spacing:.03em;padding:4px 0}
.ck-ev-dot{color:var(--faint);margin-right:6px}
.ck-ev-dot.filled{color:var(--green)}
.ck-entity-note{margin:6px 0 0;font-size:14.5px;color:#8fa2b3;line-height:1.5;font-family:Inter,sans-serif}

/* ==== Intel Cockpit v3 — hero + constellation composition (2026-07-25) ==== */
.ck-hero{padding:20px 26px 18px;background:linear-gradient(160deg,rgba(12,28,44,.92),rgba(4,11,18,.88));border:1px solid var(--line2);position:relative;overflow:hidden}
.ck-hero::before{content:"";position:absolute;inset:0 0 auto 0;height:1px;background:linear-gradient(90deg,transparent,rgba(183,216,241,.28),transparent)}
.ck-hero-top{display:flex;justify-content:space-between;align-items:baseline;gap:16px}
.ck-hero .ck-title{font-size:38px;margin:8px 0 6px}
.ck-bluf{margin:0 0 12px;font-size:20.5px;line-height:1.55;color:#d7e2ec;max-width:1000px;font-family:Inter,sans-serif}
.ck-hero-chips{display:flex;gap:10px;flex-wrap:wrap}
.ck-hchip{display:inline-flex;flex-direction:column;gap:1px;padding:6px 14px;border-radius:8px;border:1px solid var(--line);background:rgba(255,255,255,.02)}
.ck-hchip small{font-family:"SFMono-Regular",Consolas,monospace;font-size:11px;letter-spacing:.14em;color:var(--faint)}
.ck-hchip b{font-size:17.5px;font-weight:650;color:var(--text)}
.ck-hchip.red b{color:var(--red)}.ck-hchip.red{border-color:rgba(255,93,96,.35)}
.ck-hchip.amber b{color:var(--amber)}.ck-hchip.amber{border-color:rgba(243,184,77,.35)}
.ck-hchip.green b{color:var(--green)}.ck-hchip.green{border-color:rgba(84,214,161,.35)}
.ck-hchip.cyan b{color:var(--cyan)}.ck-hchip.cyan{border-color:rgba(73,216,239,.32)}
.ck-hchip.violet b{color:var(--violet)}.ck-hchip.violet{border-color:rgba(168,119,255,.32)}
.ck-hchip.dim b{color:var(--faint)}
.ck-hero .ck-coverage{margin-top:12px}
/* constellation owns the middle: graph left ~62%, links right */
.ck-grid2{grid-template-columns:minmax(650px,1.7fr) minmax(320px,.9fr)}
.ck-net-panel{min-height:440px}
.ck-net-canvas-wrap{position:relative;flex:1;min-height:0;display:flex}
.ck-net-canvas{min-height:390px}
.ck-net-tooltip{position:absolute;z-index:5;pointer-events:none;background:rgba(3,9,15,.96);border:1px solid var(--line2);border-radius:7px;padding:7px 10px;font-size:12.5px;color:#b8c5d2;line-height:1.5;box-shadow:0 10px 30px rgba(0,0,0,.5);max-width:220px}
.ck-net-tooltip b{color:var(--text);font-size:14.5px}
/* panel depth variation — hero > constellation > cards */
.ck-net-panel{background:linear-gradient(165deg,rgba(9,22,36,.9),rgba(3,9,16,.92));border-color:rgba(183,216,241,.16)}
.ck-panel{background:linear-gradient(165deg,rgba(8,19,31,.78),rgba(4,11,18,.72))}
@media (max-width:1400px){.ck-grid2{grid-template-columns:1fr}}

/* ==== Evidence Spotlight (claim drawer redesign, 2026-07-25) ==== */
.ev-spot-chips{display:grid;grid-template-columns:repeat(auto-fit,minmax(118px,1fr));gap:8px}
.ev-spot-chip{--c:var(--cyan);display:inline-flex;flex-direction:column;gap:1px;padding:6px 12px;border-radius:8px;border:1px solid color-mix(in srgb,var(--c) 30%,transparent);background:color-mix(in srgb,var(--c) 6%,transparent)}
.ev-spot-chip small{font-family:"SFMono-Regular",Consolas,monospace;font-size:11px;letter-spacing:.14em;color:var(--faint)}
.ev-spot-chip b{font-size:17px;color:var(--c);font-weight:700}
.ev-waterfall{display:flex;flex-direction:column;gap:6px;margin-top:4px}
.ev-wf-row{display:grid;grid-template-columns:150px 1fr 52px;gap:10px;align-items:center;font-size:15.5px;color:var(--muted)}
.ev-wf-row i{height:6px;border-radius:3px;background:rgba(255,255,255,.05);overflow:hidden;position:relative;display:block}
.ev-wf-row i em{position:absolute;inset:0 auto 0 0;border-radius:3px;display:block}
.ev-wf-row b{text-align:right;color:var(--text)}
.ev-wf-row.sum{border-top:1px dashed var(--line);padding-top:6px}
.ev-wf-row.final{border-top:1px solid var(--line2);padding-top:6px}
.ev-wf-row.final span{color:var(--text);font-weight:600}
.ev-wf-row.final b{font-size:18px;color:var(--cyan)}
.ev-toggle{margin-top:10px;padding:5px 12px;border:1px dashed var(--line);border-radius:6px;background:transparent;color:var(--faint);font-size:12.5px;letter-spacing:.08em;cursor:pointer}
.ev-toggle:hover{color:var(--text);border-color:var(--line2)}
.ev-raw{margin-top:8px;max-height:300px;overflow:auto;border-top:1px dashed var(--line);padding-top:8px}
.ev-spot-sum{font-size:14px;color:#8fa2b3;letter-spacing:.05em;margin-bottom:6px}

/* ==== Intel Cockpit v4 — transplanted designer reference (scoped) ==== */
#cockpitView{
    --bg:#03070c;
    --bg-2:#050b12;
    --surface:#07111b;
    --surface-2:#091723;
    --surface-3:#0c1b29;
    --line:rgba(154,184,211,.16);
    --line-strong:rgba(154,184,211,.28);
    --text:#f3f6fa;
    --muted:#8b9bac;
    --dim:#586a7d;
    --orange:#FF7933;
    --orange-2:#F2A72C;
    --cyan:#46DCE6;
    --blue:#5ca8ff;
    --violet:#9A6BF2;
    --green:#49D9A6;
    --amber:#F2A72C;
    --red:#FF5964;
    --slate:#91a5b9;
    --shadow:0 20px 60px rgba(0,0,0,.34);
    --radius:13px;
    --mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono",monospace;
    --sans:Inter,"SF Pro Display","Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  }
#cockpitView *{box-sizing:border-box}
#cockpitView button, #cockpitView input{font:inherit}
#cockpitView button{color:inherit}
#cockpitView /* top bar */
  .topbar{display:grid;grid-template-columns:270px minmax(380px,760px) 1fr;align-items:center;padding:0 18px;border-bottom:1px solid var(--line);background:rgba(2,7,12,.92);backdrop-filter:blur(18px);position:relative;z-index:30}
@keyframes pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.55;transform:scale(.72)}}
#cockpitView /* shell */
  .shell{display:grid;grid-template-columns:206px 1fr;min-height:0}
#cockpitView .section-kicker{font:14px var(--mono);letter-spacing:.16em;color:#77899b;text-transform:uppercase;margin-bottom:11px}
#cockpitView /* workspace */
  .workspace{min-width:0;min-height:0;overflow:auto;padding:15px 17px 14px;scrollbar-width:thin;scrollbar-color:#1e3245 transparent}
#cockpitView .page-head{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:10px}
#cockpitView .eyebrow{font:14px var(--mono);letter-spacing:.19em;color:var(--orange-2);text-transform:uppercase;margin-bottom:7px;display:flex;align-items:center;gap:7px}
#cockpitView .eyebrow::before{content:"✦";font-size:12.5px;color:var(--orange)}
#cockpitView h1{font-size:33.5px;line-height:1;margin:0;letter-spacing:-.035em}
#cockpitView .subtitle{font-size:15.5px;color:#8798aa;margin-top:7px}
#cockpitView .head-right{text-align:right;display:flex;flex-direction:column;align-items:flex-end;gap:9px}
#cockpitView .freshness{font:14px var(--mono);letter-spacing:.12em;color:#6d7f91;text-transform:uppercase}
#cockpitView .window-tabs{display:flex;gap:4px;padding:3px;background:rgba(8,17,26,.76);border:1px solid var(--line);border-radius:8px}
#cockpitView .window-btn{border:0;background:transparent;color:#718396;font:14px var(--mono);padding:6px 10px;border-radius:5px;cursor:pointer}
#cockpitView .window-btn.active{background:rgba(255,109,45,.16);color:#ffad75;box-shadow:inset 0 0 0 1px rgba(255,109,45,.34)}
#cockpitView .insight-strip{min-height:44px;border:1px solid rgba(255,109,45,.19);border-left:3px solid var(--orange);border-radius:9px;background:linear-gradient(90deg,rgba(255,109,45,.075),rgba(8,17,26,.72) 40%,rgba(8,17,26,.52));display:flex;align-items:center;justify-content:space-between;gap:18px;padding:8px 13px;margin-bottom:11px;box-shadow:0 10px 28px rgba(0,0,0,.13)}
#cockpitView .insight-main{font-size:17px;color:#dfe6ed;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#cockpitView .insight-main b{color:#ff9b55}
#cockpitView .coverage-meta{display:flex;align-items:center;gap:11px;flex:0 0 auto}
#cockpitView .meta-pill{display:flex;align-items:center;gap:6px;border:1px solid var(--line);background:rgba(255,255,255,.025);padding:5px 8px;border-radius:6px;font:12.5px var(--mono);letter-spacing:.05em;color:#8798aa;white-space:nowrap}
#cockpitView .meta-pill strong{color:#d9e1e9;font-weight:600}
#cockpitView .panel{position:relative;background:linear-gradient(180deg,rgba(9,23,35,.94),rgba(5,13,21,.97));border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}
#cockpitView .panel::before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(135deg,rgba(255,255,255,.018),transparent 35%)}
/* height:auto RELEASES the global .panel-head{height:52px} (line 117).
   That rule is right for a one-line head and wrong here: the cockpit
   heads carry a two-line .panel-note, which overflowed the fixed box by
   30px and painted over the first row of the panel below. Measured
   2026-09-28 on the live Component signals panel: head bottom 429px,
   note bottom 459px. min-height keeps the one-line look. */
#cockpitView .panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding:13px 15px 0;position:relative;z-index:1;height:auto;min-height:52px}
#cockpitView .panel-title{font-size:17px;font-weight:720;letter-spacing:-.01em}
#cockpitView .panel-note{font:12.5px var(--mono);letter-spacing:.05em;color:#6f8194;margin-top:4px}
#cockpitView .info{width:15px;height:15px;border:1px solid var(--line-strong);border-radius:50%;display:inline-grid;place-items:center;font:12.5px var(--mono);color:#73869a;margin-left:4px;vertical-align:1px}
#cockpitView /* regime */
  .regime-body{padding:11px 15px 14px;position:relative;z-index:1}
#cockpitView .regime-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}
#cockpitView .regime-badge{display:inline-flex;align-items:center;gap:8px;border:1px solid rgba(255,95,105,.52);background:rgba(255,95,105,.1);color:#FF5964;border-radius:7px;padding:7px 13px;font:17px var(--mono);letter-spacing:.14em;font-weight:700}
#cockpitView .confidence{font:14px var(--mono);color:#8fa1b3}
#cockpitView .confidence b{color:#e7edf3;font-size:17px}
#cockpitView .mini-label{font-size:14px;color:#96a6b7;margin-bottom:7px;font-weight:650}
#cockpitView .distribution{height:17px;border-radius:5px;overflow:hidden;display:flex;border:1px solid rgba(255,255,255,.07);box-shadow:inset 0 0 14px rgba(0,0,0,.24)}
#cockpitView .seg{height:100%;display:grid;place-items:center;font:11px var(--mono);font-weight:700;color:#081019;min-width:2px}
#cockpitView .regime-legend{display:flex;flex-wrap:wrap;gap:7px 12px;margin-top:8px;font:11px var(--mono);letter-spacing:.05em;color:#8c9bac}
#cockpitView .legend-dot{width:6px;height:6px;border-radius:2px;display:inline-block;margin-right:4px}
#cockpitView .sequence{display:flex;gap:5px;margin-top:12px}
#cockpitView .state-chip{border:1px solid rgba(255,95,105,.34);color:#FF5964;background:rgba(255,95,105,.035);padding:5px 7px;border-radius:11px;font:11px var(--mono);letter-spacing:.06em}
#cockpitView /* dynamics */
  .dynamics-body{padding:11px 15px 14px;position:relative;z-index:1}
#cockpitView .big-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:12px}
#cockpitView .big-value{font-family:Georgia,"Times New Roman",serif;font-size:29px;line-height:1;color:#f5f7fa;letter-spacing:-.04em}
#cockpitView .big-label{font:11px var(--mono);letter-spacing:.08em;color:#8fa1b3;text-transform:uppercase;margin-top:6px;line-height:1.25}
#cockpitView .big-label b{color:#d6dee7;font-weight:500}
#cockpitView .threshold-title{display:flex;justify-content:space-between;font-size:12.5px;color:#8d9fb1;margin-bottom:8px}
#cockpitView .threshold{height:8px;border-radius:6px;background:linear-gradient(90deg,#1e7d71 0%,#56bb88 35%,#F2A72C 61%,#e07147 78%,#b94d54 100%);position:relative;box-shadow:inset 0 0 9px rgba(0,0,0,.35)}
#cockpitView .threshold .marker{position:absolute;top:-5px;width:3px;height:18px;border-radius:2px;background:#f6f2e8;left:49%;box-shadow:0 0 8px rgba(255,255,255,.32)}
#cockpitView .threshold .op{position:absolute;left:60%;top:-2px;width:1px;height:12px;background:rgba(255,109,45,.9)}
#cockpitView .scale{display:flex;justify-content:space-between;font:11px var(--mono);color:#66798c;margin-top:7px}
#cockpitView .scale .critical{color:#d38857}
#cockpitView /* risk */
  .risk-body{padding:9px 15px 13px;position:relative;z-index:1}
#cockpitView .risk-row{display:grid;grid-template-columns:18px minmax(0,1fr) 56px 52px;align-items:center;gap:7px;margin:6px 0}
#cockpitView .rank{width:18px;height:18px;border-radius:5px;border:1px solid var(--line-strong);display:grid;place-items:center;font:12.5px var(--mono);color:#93a5b7}
#cockpitView .factor{font-size:14px;color:#aab8c6;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#cockpitView .bar{height:6px;background:#101e2b;border-radius:5px;overflow:hidden}
#cockpitView .bar>i{display:block;height:100%;background:linear-gradient(90deg,#8654d7,#bb74ff);border-radius:5px;box-shadow:0 0 9px rgba(173,116,255,.28)}
#cockpitView .contrib{font:12.5px var(--mono);text-align:right;color:#d7dee6}
#cockpitView .risk-total{border-top:1px dashed var(--line);margin-top:10px;padding-top:9px;display:flex;justify-content:space-between;align-items:baseline;color:#8798aa;font-size:14px}
#cockpitView .risk-total b{font-family:Georgia,serif;font-size:28px;color:#fff;font-weight:400}
#cockpitView .risk-total span{font:12.5px var(--mono);color:#708397}
#cockpitView /* posture */
  .posture-body{padding:8px 15px 13px;position:relative;z-index:1}
#cockpitView .posture-row{min-height:34px;display:grid;grid-template-columns:auto 1fr;align-items:center;border-bottom:1px solid rgba(255,255,255,.042);gap:10px;padding:4px 0}
#cockpitView .posture-row:last-child{border:0}
#cockpitView .posture-icon{width:22px;height:22px;border-radius:7px;border:1px solid var(--line);display:grid;place-items:center;color:#90a3b6}
#cockpitView .posture-icon svg{width:13px;height:13px}
#cockpitView .posture-label{font-size:13.5px;color:var(--text-secondary);white-space:nowrap}
#cockpitView .posture-value{font:13.5px var(--mono);color:var(--text-primary);display:flex;align-items:center;justify-content:flex-end;gap:7px;min-width:0;justify-self:end;text-align:right}
#cockpitView .sev{padding:3px 6px;border-radius:5px;font:10.5px var(--mono);letter-spacing:.03em;border:1px solid;white-space:nowrap}
#cockpitView .sev.high{color:#FF5964;border-color:rgba(255,95,105,.4);background:rgba(255,95,105,.08)}
#cockpitView .sev.change{color:#ffc15e;border-color:rgba(244,184,68,.4);background:rgba(244,184,68,.08)}
#cockpitView .sev.good{color:#49D9A6;border-color:rgba(73,214,164,.35);background:rgba(73,214,164,.07)}
#cockpitView .sev.off{color:#ff795f;border-color:rgba(255,109,45,.38);background:rgba(255,109,45,.08)}
/* THE LENS BANNER — subtle, one line of explanation, two controls.
   NO GRID CHANGES BELOW THIS BLOCK. The Cockpit's three bands, their
   footprints, breakpoints and the graph's dimensions are untouched: the lens
   orders bands and the panels within them, and nothing else. */
.ck-lens{display:flex;justify-content:space-between;align-items:center;gap:14px;
  flex-wrap:wrap;border:1px solid var(--border-subtle);border-radius:var(--radius);
  padding:9px 13px;margin-bottom:14px;background:var(--surface)}
.ck-lens[hidden]{display:none}
.ck-lens-head{font-size:12.5px;font-weight:600;color:var(--text)}
.ck-lens-why{font-size:12px;color:var(--text-tertiary);margin-top:2px}
.ck-lens-acts{display:flex;align-items:center;gap:10px}
.ck-lens-acts[hidden]{display:none}
.ck-lens-extra{font-size:11px;letter-spacing:.05em;text-transform:uppercase;
  color:var(--text-tertiary)}
.ck-lens-btn{appearance:none;background:none;border:1px solid var(--border-default);
  border-radius:7px;color:var(--text-secondary);font:inherit;font-size:12px;
  padding:4px 11px;cursor:pointer;white-space:nowrap}
.ck-lens-btn:hover{border-color:var(--border-strong);color:var(--text)}
.ck-lens-btn.is-on{border-color:var(--orange);color:var(--text)}

.top-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:16px}
#cockpitView .top-grid>.panel{min-width:0;min-height:210px;display:flex;flex-direction:column}
#cockpitView .top-grid .regime-body,#cockpitView .top-grid .dynamics-body,#cockpitView .top-grid .risk-body,#cockpitView .top-grid .posture-body{flex:1;min-height:0}
@media(max-width:1599px){.top-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:959px){.top-grid{grid-template-columns:1fr}}
#cockpitView #cockpitView /* work grid */
  .work-grid{display:grid;grid-template-columns:minmax(0,1.75fr) minmax(340px,.75fr);gap:16px;margin-bottom:14px;align-items:stretch}
#cockpitView .work-grid>.panel{min-height:470px;height:auto}#cockpitView .work-grid>.graph-panel{order:0}#cockpitView .work-grid>.panel:not(.graph-panel){order:1}#cockpitView .work-grid.ck-links-few{grid-template-columns:minmax(0,2.55fr) minmax(300px,1fr)}#cockpitView .work-grid.ck-links-0{grid-template-columns:1fr}#cockpitView .work-grid.ck-links-0>.panel:not(.graph-panel){display:none}#cockpitView .graph-panel{display:flex;flex-direction:column}#cockpitView .predictive-links-empty{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:68px;max-height:80px;padding:14px 18px;border-top:1px solid var(--border-subtle);margin-top:auto}#cockpitView .predictive-links-empty[hidden]{display:none}#cockpitView .predictive-links-empty .ple-text{font-size:13px;color:var(--text-tertiary);line-height:1.45}#cockpitView .predictive-links-empty .ple-text b{color:var(--text-secondary);font-weight:600}
#cockpitView .tabs{display:flex;gap:6px;margin:10px 15px 8px;position:relative;z-index:1}
#cockpitView .tab{border:1px solid var(--line);background:rgba(255,255,255,.015);color:#7d8fa1;border-radius:16px;padding:5px 11px;font:11px var(--mono);letter-spacing:.06em;text-transform:uppercase;cursor:pointer}
#cockpitView .tab.active{border-color:rgba(255,109,45,.56);background:rgba(255,109,45,.09);color:#ff9c5d}
#cockpitView .links{padding:0 14px 12px;display:flex;flex-direction:column;gap:7px;position:relative;z-index:1}
#cockpitView .link-row{display:grid;grid-template-columns:25px minmax(0,1fr) 92px;gap:9px;align-items:center;border:1px solid rgba(142,172,201,.16);background:linear-gradient(90deg,rgba(255,255,255,.018),rgba(255,255,255,.008));border-radius:9px;padding:9px 10px;cursor:pointer;transition:.18s ease;min-height:48px}
#cockpitView .link-row:hover{border-color:rgba(173,116,255,.38);transform:translateX(2px);background:linear-gradient(90deg,rgba(173,116,255,.065),rgba(255,255,255,.01))}
#cockpitView .link-rank{width:22px;height:22px;border:1px solid rgba(173,116,255,.38);border-radius:6px;background:rgba(173,116,255,.1);display:grid;place-items:center;color:#c498ff;font:14px var(--mono);font-weight:700}
#cockpitView .link-title{font-size:14px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#cockpitView .link-title .arrow{color:var(--violet);padding:0 5px}
#cockpitView .link-stats{font:11px var(--mono);color:#73869a;margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#cockpitView .effect{text-align:right}
#cockpitView .effect-badge{display:inline-block;border:1px solid rgba(255,95,105,.42);background:rgba(255,95,105,.07);color:#FF5964;padding:5px 8px;border-radius:5px;font:11px var(--mono);letter-spacing:.05em}
#cockpitView .link-footer{display:flex;justify-content:space-between;align-items:center;color:#6c7f91;font:11px var(--mono);padding:1px 2px}
#cockpitView .ghost-btn{border:1px solid var(--line);background:rgba(255,255,255,.02);border-radius:6px;padding:6px 9px;color:#9babb9;font-size:12.5px;cursor:pointer}
#cockpitView /* graph */
  .graph-panel{overflow:hidden}
#cockpitView .graph-toolbar{display:flex;gap:5px;align-items:center}
#cockpitView .scope-btn{border:1px solid var(--line);background:rgba(255,255,255,.015);color:#718498;border-radius:6px;padding:5px 8px;font:11px var(--mono);cursor:pointer}
#cockpitView .scope-btn.active{border-color:rgba(54,214,231,.42);background:rgba(54,214,231,.07);color:#6ee7f0}
#cockpitView .graph-layout{min-height:430px;height:auto;flex:1;display:grid;grid-template-columns:minmax(0,1fr) 288px;gap:0;position:relative;z-index:1}
#cockpitView .graph-stage{position:relative;min-width:0;overflow:hidden;border-top:1px solid rgba(255,255,255,.025)}
#cockpitView .graph-stage::before{content:"";position:absolute;inset:0;background:
      radial-gradient(circle at 48% 49%,rgba(43,142,201,.09),transparent 34%),
      linear-gradient(rgba(76,112,142,.035) 1px,transparent 1px),
      linear-gradient(90deg,rgba(76,112,142,.035) 1px,transparent 1px);background-size:auto,36px 36px,36px 36px;mask-image:linear-gradient(to right,#000,rgba(0,0,0,.8),transparent 98%);pointer-events:none}
#cockpitView #entityGraph{width:100%;height:100%;display:block;position:relative;z-index:2}
#cockpitView .graph-inspector{border-left:1px solid var(--line);margin:9px 10px 10px 0;border-radius:10px;background:linear-gradient(180deg,rgba(13,28,42,.88),rgba(7,15,24,.94));padding:13px;overflow:hidden;position:relative}
#cockpitView .inspector-kicker{font:11px var(--mono);letter-spacing:.14em;color:#718498;text-transform:uppercase}
#cockpitView .entity-name{font-size:26.5px;font-weight:760;margin-top:5px;letter-spacing:-.02em}
#cockpitView .entity-type{font:12.5px var(--mono);letter-spacing:.14em;color:var(--blue);text-transform:uppercase;margin-top:4px}
#cockpitView .entity-narrative{font-size:14px;line-height:1.45;color:#8ea0b2;margin-top:10px;padding-bottom:10px;border-bottom:1px solid var(--line)}
#cockpitView .entity-stats{display:grid;grid-template-columns:1fr auto;gap:7px;margin-top:10px;font:12.5px var(--mono)}
#cockpitView .entity-stats span:nth-child(odd){color:#718497}
#cockpitView .entity-stats span:nth-child(even){color:#dfe6ed;text-align:right}
#cockpitView .connected-title{font:11px var(--mono);letter-spacing:.11em;color:#718497;text-transform:uppercase;margin:12px 0 6px}
#cockpitView .connected-list{display:flex;flex-direction:column;gap:5px}
#cockpitView .connected-item{display:grid;grid-template-columns:7px 1fr auto;align-items:center;gap:6px;font-size:12.5px;color:#9baaba}
#cockpitView .connected-item i{width:5px;height:5px;border-radius:50%}
#cockpitView .connected-item b{font:11px var(--mono);color:#dfe5eb}
#cockpitView .explore-btn{width:100%;margin-top:11px;border:1px solid rgba(255,109,45,.35);background:rgba(255,109,45,.07);color:#ff9b61;border-radius:7px;padding:8px;font-size:12.5px;cursor:pointer}
#cockpitView .graph-legend{position:absolute;left:14px;bottom:8px;display:flex;gap:10px;z-index:3;font:11px var(--mono);color:#7f91a3;background:rgba(4,10,17,.76);border:1px solid rgba(255,255,255,.04);padding:5px 7px;border-radius:6px;backdrop-filter:blur(8px)}
#cockpitView .graph-legend span{display:flex;align-items:center;gap:4px}
#cockpitView .graph-legend i{width:6px;height:6px;border-radius:50%}
#cockpitView .graph-node{cursor:pointer;transition:opacity .18s}
#cockpitView .graph-node text{pointer-events:none}
#cockpitView .graph-node .halo{opacity:.16}
#cockpitView .graph-node:hover .halo, #cockpitView .graph-node.selected .halo{opacity:.42}
#cockpitView .graph-node.selected .node-ring{stroke:var(--orange);stroke-width:2.8;filter:drop-shadow(0 0 10px rgba(255,109,45,.65))}
#cockpitView .graph-edge{fill:none;stroke-linecap:round;transition:opacity .18s,stroke-width .18s;animation:flow 12s linear infinite}
@keyframes flow{to{stroke-dashoffset:-70}}
#cockpitView .graph-edge.dimmed, #cockpitView .graph-node.dimmed{opacity:.08!important}
#cockpitView .graph-edge.highlight{opacity:.9!important;stroke-width:2.4!important;filter:drop-shadow(0 0 4px currentColor)}
#cockpitView .community-hull{fill-opacity:.035;stroke-opacity:.28;stroke-dasharray:4 7}
#cockpitView .community-label{font:600 13px var(--mono);letter-spacing:.14em;text-transform:uppercase;opacity:1;paint-order:stroke;stroke:rgba(3,7,13,.7);stroke-width:3px}
#cockpitView /* changes */
  .change-panel{height:122px}
#cockpitView .change-head{display:flex;align-items:center;justify-content:space-between;padding:11px 14px 5px;position:relative;z-index:1}
#cockpitView .change-title{font-size:15.5px;font-weight:720}
#cockpitView .change-title span{font-weight:400;color:#718396;margin-left:6px}
#cockpitView .change-cards{display:grid;grid-template-columns:repeat(5,1fr);gap:7px;padding:3px 10px 10px;position:relative;z-index:1}
#cockpitView .change-card{border-left:2px solid var(--accent,var(--orange));background:linear-gradient(90deg,color-mix(in srgb,var(--accent) 8%,transparent),rgba(255,255,255,.008));border-radius:4px 8px 8px 4px;padding:8px 9px;min-width:0;cursor:pointer;transition:.18s}
#cockpitView .change-card:hover{transform:translateY(-2px);background:linear-gradient(90deg,color-mix(in srgb,var(--accent) 13%,transparent),rgba(255,255,255,.01))}
#cockpitView .change-meta{display:flex;align-items:center;gap:6px;font:11px var(--mono);letter-spacing:.05em;color:#8495a6;text-transform:uppercase}
#cockpitView .change-meta b{color:var(--accent)}
#cockpitView .change-headline{font-size:14px;font-weight:650;margin-top:5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#cockpitView .change-sub{font-size:11px;color:#75879a;margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#cockpitView /* drawer */
  .drawer-backdrop{position:fixed;inset:60px 0 0;background:rgba(0,0,0,.42);backdrop-filter:blur(2px);opacity:0;pointer-events:none;transition:.25s;z-index:50}
#cockpitView .drawer-backdrop.open{opacity:1;pointer-events:auto}
#cockpitView .drawer{position:fixed;right:0;top:60px;bottom:0;width:min(470px,42vw);background:linear-gradient(180deg,#07111a,#040a10);border-left:1px solid rgba(154,184,211,.22);box-shadow:-24px 0 70px rgba(0,0,0,.55);transform:translateX(102%);transition:transform .32s cubic-bezier(.2,.75,.25,1);z-index:60;display:flex;flex-direction:column}
#cockpitView .drawer.open{transform:translateX(0)}
#cockpitView .drawer-head{padding:17px 18px 14px;border-bottom:1px solid var(--line);display:flex;gap:12px;align-items:flex-start}
#cockpitView .drawer-title{font:12.5px var(--mono);letter-spacing:.15em;color:#8fa1b3;text-transform:uppercase}
#cockpitView .drawer-claim{font-size:21px;font-weight:720;line-height:1.35;margin-top:7px}
#cockpitView .close{margin-left:auto;width:31px;height:31px;border-radius:7px;border:1px solid var(--line);background:rgba(255,255,255,.02);font-size:28px;color:#91a3b5;cursor:pointer}
#cockpitView .drawer-body{padding:14px 18px 24px;overflow:auto}
#cockpitView .drawer-section{border:1px solid var(--line);border-radius:10px;background:rgba(255,255,255,.015);margin-bottom:12px;overflow:hidden}
#cockpitView .drawer-section h3{font:12.5px var(--mono);letter-spacing:.13em;text-transform:uppercase;color:#91a4b7;margin:0;padding:12px 13px;border-bottom:1px solid var(--line)}
#cockpitView .score-list{padding:8px 13px}
#cockpitView .score-row{display:grid;grid-template-columns:1fr auto;gap:12px;padding:5px 0;border-bottom:1px dotted rgba(154,184,211,.12);font:12.5px var(--mono);color:#7f92a5}
#cockpitView .score-row:last-child{border:0}
#cockpitView .score-row b{color:#e5ebf1}
#cockpitView .source-list{padding:2px 13px 9px}
#cockpitView .source-item{padding:9px 0;border-bottom:1px dashed rgba(154,184,211,.12)}
#cockpitView .source-item:last-child{border:0}
#cockpitView .source-item b{font-size:14px}
#cockpitView .source-item p{font:11px var(--mono);color:#718396;margin:4px 0 0;line-height:1.4}
#cockpitView .drawer-actions{display:flex;gap:7px}
#cockpitView .drawer-actions button{flex:1;border:1px solid var(--line);background:rgba(255,255,255,.02);border-radius:7px;padding:9px;color:#9cacbb;font-size:12.5px}
#cockpitView .drawer-actions .primary{border-color:rgba(255,109,45,.38);background:rgba(255,109,45,.08);color:#ff9d65}
#cockpitView .toast{position:fixed;left:50%;bottom:22px;transform:translate(-50%,20px);opacity:0;z-index:80;background:#0c1722;border:1px solid rgba(255,109,45,.35);color:#dce5ed;padding:10px 14px;border-radius:8px;box-shadow:0 18px 50px rgba(0,0,0,.5);font-size:15.5px;transition:.2s;pointer-events:none}
#cockpitView .toast.show{opacity:1;transform:translate(-50%,0)}
@media (max-width:1450px){#cockpitView .work-grid{grid-template-columns:minmax(0,1.6fr) minmax(300px,.8fr)}
#cockpitView .graph-layout{grid-template-columns:minmax(0,1fr) 240px}
#cockpitView .coverage-meta .meta-pill:nth-child(3){display:none}}
@media (max-height:850px){#cockpitView .page-head{margin-bottom:7px}
#cockpitView .insight-strip{margin-bottom:8px}
#cockpitView .work-grid>.panel{min-height:400px}
#cockpitView .graph-layout{min-height:360px}
#cockpitView .change-panel{height:112px}
#cockpitView .big-value{font-size:38px}
#cockpitView .posture-row{height:31px}
#cockpitView .link-row{min-height:43px;padding-top:7px;padding-bottom:7px}}
@media (prefers-reduced-motion:reduce){#cockpitView *{animation:none!important;transition:none!important}}
#cockpitView{display:flex;flex-direction:column;gap:14px;height:100%;overflow:auto;padding:4px 2px 24px}
#cockpitView[hidden]{display:none!important}

/* ==== Mission Orbit — designer North Star (scoped transplant, 2026-07-25) ==== */
#orbitView{
  --bg:#02060b;--bg2:#050b13;--panel:#07111b;--panel2:#0a1724;--panel3:#0d1d2c;
  --line:rgba(185,215,240,.105);--line2:rgba(185,215,240,.19);--text:#eef4fa;
  --muted:#8b9bab;--faint:#536273;--orange:#FF7933;--orange2:#ff9a52;
  --cyan:#46DCE6;--blue:#61a8ff;--violet:#9A6BF2;--green:#49D9A6;
  --amber:#F2A72C;--red:#FF5964;--shadow:0 26px 90px rgba(0,0,0,.46);
  --radius:14px;--ease:cubic-bezier(.2,.8,.2,1)
}
#orbitView *{box-sizing:border-box}
#orbitView button, #orbitView input{font:inherit}
#orbitView button{color:inherit}
#orbitView button:focus-visible, #orbitView [tabindex]:focus-visible{outline:2px solid var(--orange2);outline-offset:2px}
#orbitView .mono{font-family:"SFMono-Regular",Consolas,"Liberation Mono",monospace;letter-spacing:.035em}
#orbitView .serif{font-family:Georgia,"Times New Roman",serif}
#orbitView /* command bar */
.topbar{grid-column:1/-1;height:var(--header-height);display:grid;grid-template-columns:var(--sidebar-width) minmax(420px,1fr) auto;align-items:center;gap:18px;padding:0 24px;border-bottom:1px solid var(--line);background:rgba(2,6,11,.82);backdrop-filter:blur(20px);z-index:90}
/* Second copy of the same drawing. One asset, one rule. */
#orbitView .logo{width:30px;height:30px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240' viewBox='0 0 240 240'%3E %3Cpath d='M 181.91,158.68 A 73,73 0 0 0 95.03,51.40 L 105.29,79.59 A 43,43 0 0 1 156.47,142.79 Z' fill='%23FF5E00'/%3E %3Cpath d='M 51.40,95.03 A 73,73 0 0 0 109.84,192.29 L 114.02,162.58 A 43,43 0 0 1 79.59,105.29 Z' fill='%23FF7933'/%3E %3C/svg%3E") center/contain no-repeat;filter:drop-shadow(0 0 14px rgba(255,94,0,.24))}
#orbitView .shortcut{font:12.5px Consolas,monospace;color:var(--muted);border:1px solid var(--line);border-radius:6px;padding:4px 6px}
#orbitView /* sidebar */
.sidebar{grid-column:1;grid-row:2;border-right:1px solid var(--line);background:var(--bg-shell);backdrop-filter:blur(14px);display:flex;flex-direction:column;min-height:0;padding:16px 12px 12px;z-index:30}
#orbitView /* workspace */
.workspace{grid-column:2;grid-row:2;min-width:0;min-height:0;overflow:auto;padding:12px}
/* Map is a lens: one row, one scene. The second row held Orbit's own
   Evidence Loom, which is deleted — Evidence is its own lens. */
#orbitView .shell{min-width:1180px;display:grid;gap:12px;grid-template-rows:minmax(520px,1fr);min-height:calc(100vh - 88px)}
#orbitView .top-scene{display:grid;grid-template-columns:minmax(560px,1.05fr) minmax(570px,.97fr);gap:12px;min-height:0;transition:grid-template-columns .55s var(--ease)}
#orbitView .top-scene.region-closed{grid-template-columns:minmax(1050px,2.02fr) 0}
#orbitView .top-scene.region-closed .globe-panel{grid-column:1/3}
#orbitView .top-scene.region-closed .region-shell{display:none}
#orbitView .top-scene.region-expanded{grid-template-columns:355px minmax(790px,1.65fr)}
#orbitView .top-scene.region-expanded .globe-panel .globe-hud, #orbitView .top-scene.region-expanded .globe-panel .time-window{opacity:0;pointer-events:none}
#orbitView .panel{background:linear-gradient(180deg,rgba(8,18,29,.95),rgba(4,10,17,.97));border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);position:relative;overflow:hidden}
#orbitView .panel:before{content:"";position:absolute;inset:0;background:linear-gradient(120deg,rgba(255,255,255,.024),transparent 23%,transparent 70%,rgba(73,216,239,.014));pointer-events:none;z-index:1}
#orbitView /* globe */
.globe-panel{min-width:0;min-height:0;background:radial-gradient(700px 520px at 52% 53%,rgba(33,88,166,.13),transparent 68%),linear-gradient(180deg,#07131f,#030910);transition:.55s var(--ease)}
#orbitView #globeCanvas{position:absolute;inset:0;width:100%;height:100%;display:block;cursor:grab;touch-action:none;z-index:1}
#orbitView .globe-panel.dragging #globeCanvas{cursor:grabbing}
#orbitView .globe-stage-head{position:absolute;left:17px;top:14px;z-index:8}
#orbitView .globe-stage-head .kicker{font:12.5px Consolas,monospace;letter-spacing:.17em;text-transform:uppercase;color:var(--orange2)}
#orbitView .globe-stage-head h1{font-size:31px;margin:5px 0 4px;letter-spacing:-.045em}
#orbitView .globe-meta{display:flex;align-items:center;gap:6px;font:11px Consolas,monospace;color:var(--muted)}
#orbitView .chip{display:inline-flex;align-items:center;gap:5px;min-height:20px;padding:3px 7px;border:1px solid var(--line);border-radius:999px;background:rgba(255,255,255,.025);font:11px Consolas,monospace;letter-spacing:.07em;text-transform:uppercase;color:#9aa8b7}
#orbitView .chip.livechip{border-color:rgba(84,214,161,.22);color:var(--green);background:rgba(84,214,161,.06)}
#orbitView .globe-toolbar{position:absolute;right:14px;top:14px;z-index:9;display:flex;align-items:center;gap:5px;padding:5px;border:1px solid var(--line);border-radius:10px;background:rgba(3,8,14,.72);backdrop-filter:blur(12px)}
#orbitView .toolbar-btn{height:28px;border:0;border-radius:7px;background:transparent;color:#94a3b2;padding:0 9px;font-size:11px;cursor:pointer;display:flex;align-items:center;gap:6px}
#orbitView .toolbar-btn:hover, #orbitView .toolbar-btn.active{background:rgba(255,255,255,.05);color:var(--text)}
#orbitView .toolbar-btn.active{color:var(--orange2)}
#orbitView .time-window{position:absolute;right:15px;bottom:13px;z-index:9;display:flex;align-items:center;gap:5px;padding:5px 6px 5px 10px;border:1px solid var(--line);border-radius:10px;background:rgba(3,8,14,.7);backdrop-filter:blur(12px);transition:.25s}
#orbitView .time-window label{font:11px Consolas,monospace;letter-spacing:.11em;color:#8494a6;text-transform:uppercase}
#orbitView .time-chip{height:25px;min-width:31px;padding:0 8px;border:1px solid transparent;border-radius:7px;background:transparent;color:#78889a;font:700 7.5px Consolas,monospace;cursor:pointer}
#orbitView .time-chip:hover{color:var(--text);background:rgba(255,255,255,.035)}
#orbitView .time-chip.active{color:var(--orange2);background:rgba(255,106,36,.13);border-color:rgba(255,106,36,.31)}
#orbitView .globe-hud{position:absolute;left:16px;top:98px;z-index:8;width:146px;padding:10px 11px;border:1px solid var(--line);border-radius:10px;background:rgba(3,8,14,.6);backdrop-filter:blur(10px);transition:.25s}
#orbitView .hud-label{font:11px Consolas,monospace;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
#orbitView .hud-value{font:42px Georgia,serif;margin:6px 0 0}
#orbitView .hud-value small{font:14px Consolas,monospace;color:var(--muted)}
#orbitView .hud-state{font:11px Consolas,monospace;color:var(--orange2)}
#orbitView .hud-spark{height:34px;margin:5px 0}
#orbitView .legend-row{display:grid;grid-template-columns:8px 1fr auto;gap:6px;align-items:center;font-size:11px;color:var(--muted);margin-top:7px}
#orbitView .legend-row i{width:6px;height:6px;border-radius:50%;background:var(--c);box-shadow:0 0 8px color-mix(in srgb,var(--c) 75%,transparent)}
#orbitView .legend-row b{font:11px Consolas,monospace;color:#bac6d1}
#orbitView .orbit-control{position:absolute;left:17px;bottom:16px;z-index:9;width:78px;height:78px;border-radius:50%;border:1px solid var(--line);background:rgba(3,8,14,.68);backdrop-filter:blur(9px);display:grid;place-items:center}
#orbitView .orbit-control:before, #orbitView .orbit-control:after{content:"";position:absolute;inset:15px;border:1px solid rgba(255,255,255,.08);border-radius:50%}
#orbitView .orbit-control:after{inset:31px;background:rgba(255,255,255,.035);border-color:rgba(255,255,255,.14)}
#orbitView .orbit-control span{position:absolute;font-size:14px;color:#7d8e9e;z-index:2}
#orbitView .orbit-control .up{top:5px}
#orbitView .orbit-control .down{bottom:5px}
#orbitView .orbit-control .left{left:8px}
#orbitView .orbit-control .right{right:8px}
#orbitView .globe-caption{position:absolute;left:50%;bottom:15px;top:auto;right:auto;max-width:none;width:max-content;height:auto;text-align:center;transform:translateX(-50%);z-index:8;font:11px Consolas,monospace;color:#93a2b2;border:1px solid var(--line);background:rgba(3,8,14,.66);padding:7px 11px;border-radius:7px;backdrop-filter:blur(10px);white-space:nowrap}
#orbitView .globe-tooltip{position:absolute;z-index:40;min-width:220px;max-width:260px;padding:11px 12px;border:1px solid var(--line2);border-radius:10px;background:rgba(4,11,18,.97);box-shadow:0 18px 46px rgba(0,0,0,.6);opacity:0;transform:translate(-50%,calc(-100% - 16px)) scale(.96);pointer-events:none;transition:.16s var(--ease)}
#orbitView .globe-tooltip.show{opacity:1;transform:translate(-50%,calc(-100% - 16px)) scale(1)}
#orbitView .globe-tooltip strong{display:block;font-size:15.5px}
#orbitView .globe-tooltip p{margin:3px 0 0;font-size:11px;color:var(--muted)}
#orbitView .globe-tooltip .tip-state{margin-top:7px;padding-top:7px;border-top:1px solid var(--line);font:11px Consolas,monospace;color:var(--green)}
#orbitView /* region shell / chamfered panel */
.region-shell{position:relative;min-width:0;min-height:0;filter:drop-shadow(0 22px 56px rgba(0,0,0,.46));opacity:1;transform:translateX(0) scale(1);transition:.5s var(--ease)}
#orbitView .region-shell.loading .region-inner{opacity:.45;transform:scale(.992)}
#orbitView .region-frame{position:absolute;inset:0;padding:1px;background:linear-gradient(135deg,rgba(168,119,255,.84),rgba(73,216,239,.22) 34%,rgba(255,106,36,.19) 72%,rgba(168,119,255,.65));clip-path:polygon(6% 0,100% 0,100% 100%,0 100%,0 8%)}
#orbitView .region-inner{height:100%;display:flex;flex-direction:column;clip-path:inherit;background:linear-gradient(180deg,rgba(8,18,29,.985),rgba(4,10,17,.985));position:relative;overflow:hidden;transition:.3s var(--ease)}
#orbitView .region-inner:before{content:"";position:absolute;inset:0;background:radial-gradient(460px 230px at 22% 22%,rgba(75,105,210,.09),transparent 65%),linear-gradient(115deg,rgba(255,255,255,.025),transparent 24%);pointer-events:none}
#orbitView .region-stack{position:absolute;inset:8px -9px -9px 8px;border:1px solid rgba(168,119,255,.13);clip-path:polygon(6% 0,100% 0,100% 100%,0 100%,0 8%);z-index:-1}
#orbitView .region-stack.s2{inset:16px -17px -17px 16px;opacity:.55}
#orbitView .region-header{min-height:88px;flex:0 0 auto;padding:13px 16px 10px 42px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:flex-start;position:relative;z-index:2}
#orbitView .region-header .kicker{font:11px Consolas,monospace;letter-spacing:.17em;text-transform:uppercase;color:var(--violet)}
#orbitView .region-header h2{font-size:29px;margin:3px 0 2px;letter-spacing:.05em}
#orbitView .region-sub{font:11.5px/1.35 Consolas,monospace;color:var(--muted);max-width:520px;margin-top:2px}
#orbitView .region-priority{font:700 8px Consolas,monospace;letter-spacing:.12em;color:var(--red);text-transform:uppercase}
#orbitView .region-actions{display:flex;gap:6px}
#orbitView .icon-btn{width:31px;height:31px;border:1px solid var(--line);border-radius:9px;background:rgba(255,255,255,.02);color:var(--muted);cursor:pointer}
#orbitView .icon-btn:hover{color:var(--text);background:rgba(255,255,255,.05)}
#orbitView .region-content{flex:1 1 auto;min-height:0;display:grid;grid-template-rows:minmax(230px,1.08fr) minmax(170px,.82fr);position:relative;z-index:2}
#orbitView .region-upper{display:grid;grid-template-columns:minmax(280px,1.12fr) minmax(225px,.88fr);min-height:0;border-bottom:1px solid var(--line)}
#orbitView .regional-map{position:relative;min-width:0;overflow:hidden;border-right:1px solid var(--line);background:radial-gradient(circle at 53% 50%,rgba(168,119,255,.08),transparent 48%),linear-gradient(180deg,rgba(7,19,31,.64),rgba(3,10,17,.84))}
#orbitView .regional-map svg{width:100%;height:100%;display:block}
#orbitView .map-label{font:11px Consolas,monospace;fill:#c9d4de}
#orbitView .map-flow-count{font:10px Consolas,monospace;fill:#8fd8ef;fill-opacity:.9;paint-order:stroke;stroke:rgba(3,7,13,.85);stroke-width:2.5px}
#orbitView .map-sub{font:11px Consolas,monospace;fill:#708092}
#orbitView .map-node{cursor:pointer}
#orbitView .map-node circle.core{transition:.18s}
#orbitView .map-node:hover circle.core, #orbitView .map-node.active circle.core{r:9;filter:url(#nodeGlow)}
#orbitView .map-caption{position:absolute;left:10px;bottom:8px;font:11px Consolas,monospace;color:#657586;letter-spacing:.03em}
#orbitView .objectives{padding:12px;overflow:auto}
#orbitView .section-label{font:11px Consolas,monospace;letter-spacing:.13em;text-transform:uppercase;color:#7e8e9f;margin-bottom:8px}
#orbitView .objective{display:grid;grid-template-columns:31px 1fr auto;gap:8px;align-items:center;min-height:50px;padding:8px;border:1px solid var(--line);border-radius:9px;background:rgba(255,255,255,.018);margin-bottom:7px;cursor:pointer;transition:.18s var(--ease)}
#orbitView .objective:hover, #orbitView .objective.active{border-color:color-mix(in srgb,var(--c) 40%,transparent);background:color-mix(in srgb,var(--c) 6%,transparent);transform:translateX(2px)}
#orbitView .objective i{width:29px;height:29px;border-radius:50%;display:grid;place-items:center;border:1px solid color-mix(in srgb,var(--c) 48%,transparent);color:var(--c);background:color-mix(in srgb,var(--c) 8%,transparent);font-style:normal}
#orbitView .objective strong{display:block;font-size:12.5px;line-height:1.35}
#orbitView .objective small{display:block;font:11px Consolas,monospace;color:var(--muted);margin-top:3px}
#orbitView .objective b{font:11px Consolas,monospace;color:var(--c);text-transform:uppercase}
#orbitView .region-lower{display:grid;grid-template-columns:.88fr .85fr 1fr;min-height:0}
#orbitView .region-block{padding:11px 12px;min-width:0;border-right:1px solid var(--line);overflow:hidden}
#orbitView .region-block:last-child{border-right:0}
#orbitView .actor{display:grid;grid-template-columns:7px 1fr auto;gap:7px;align-items:start;margin:8px 0;cursor:pointer;padding:3px 2px;border-radius:5px}
#orbitView .actor:hover, #orbitView .actor.active{background:rgba(255,255,255,.035)}
#orbitView .actor i{width:6px;height:6px;border-radius:50%;background:var(--c);box-shadow:0 0 8px color-mix(in srgb,var(--c) 70%,transparent);margin-top:3px}
#orbitView .actor strong{font-size:11px;display:block}
#orbitView .actor small{font:11px Consolas,monospace;color:#6f7f90}
#orbitView .actor b{font:11px Consolas,monospace;color:var(--c);text-transform:uppercase}
#orbitView .thread{margin:7px 0;cursor:pointer}
#orbitView .thread-top{display:flex;justify-content:space-between;font-size:11px}
#orbitView .thread-top b{font:11px Consolas,monospace;color:var(--c)}
#orbitView .thread-track{height:4px;background:rgba(255,255,255,.06);border-radius:99px;margin-top:4px;overflow:hidden}
#orbitView .thread-track i{display:block;height:100%;width:var(--w);background:linear-gradient(90deg,color-mix(in srgb,var(--c) 50%,transparent),var(--c));box-shadow:0 0 9px color-mix(in srgb,var(--c) 50%,transparent)}
#orbitView .thread:hover .thread-track{outline:1px solid color-mix(in srgb,var(--c) 35%,transparent)}
#orbitView .honeycomb{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:2px}
#orbitView .evstat{display:flex;flex-direction:column;align-items:flex-start;gap:1px;padding:8px 10px;border:1px solid color-mix(in srgb,var(--c) 30%,transparent);border-left:2px solid var(--c);border-radius:8px;background:color-mix(in srgb,var(--c) 7%,#08131f);cursor:pointer;transition:.15s var(--ease);text-align:left}
#orbitView .evstat:hover,#orbitView .evstat.active{background:color-mix(in srgb,var(--c) 13%,#08131f);transform:translateY(-1px)}
#orbitView .evstat strong{font:400 22px Georgia,serif;color:var(--text);line-height:1.05}
#orbitView .evstat small{font:11px Consolas,monospace;color:var(--c);text-transform:uppercase;letter-spacing:.04em}
#orbitView .honeycomb-legacy{position:relative;height:106px;margin-top:0}
/* Alert view-all button + generic orbit popout */
.orbit-pop{position:fixed;inset:0;z-index:120;display:none}
.orbit-pop.open{display:block}
.orbit-pop-bd{position:absolute;inset:0;background:rgba(3,7,12,.68);backdrop-filter:blur(3px)}
.orbit-pop-card{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:min(560px,92vw);max-height:82vh;overflow:auto;background:linear-gradient(180deg,#0b1a29,#07121d);border:1px solid var(--line2);border-radius:14px;padding:20px 22px;box-shadow:0 30px 80px rgba(0,0,0,.55)}
.orbit-pop-x{position:absolute;top:12px;right:14px;width:28px;height:28px;border:1px solid var(--line);border-radius:8px;background:rgba(255,255,255,.03);color:var(--muted);cursor:pointer;font-size:16px}
.orbit-pop-x:hover{color:var(--text)}
.orbit-pop-h{display:flex;align-items:center;gap:10px;font-size:16px;font-weight:600;color:var(--text);margin-bottom:14px;padding-right:34px}
.orbit-pop-h .op-count{font-family:Consolas,monospace;font-size:12px;color:var(--muted);border:1px solid var(--line);border-radius:99px;padding:1px 8px}
.op-sev{font:700 10px Consolas,monospace;text-transform:uppercase;letter-spacing:.05em;color:var(--sev);border:1px solid color-mix(in srgb,var(--sev) 40%,transparent);background:color-mix(in srgb,var(--sev) 10%,transparent);border-radius:5px;padding:3px 7px}
.op-desc{font-size:14px;line-height:1.5;color:#cdd9e4;margin:0 0 10px}
.op-meta{font:11px Consolas,monospace;color:var(--muted);margin-bottom:14px}
.op-why{border-top:1px solid var(--line);padding-top:12px}
.op-why b{display:block;font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:#8fb8d8;margin-bottom:5px}
.op-why p{font-size:13px;line-height:1.5;color:var(--muted);margin:0}
.op-alert{display:block;width:100%;text-align:left;border:1px solid var(--line);border-left:2px solid var(--sev);border-radius:9px;background:rgba(255,255,255,.015);padding:10px 12px;margin-bottom:9px;cursor:pointer;transition:.15s}
.op-alert:hover{background:rgba(255,255,255,.04)}
.op-alert-h{display:flex;justify-content:space-between;gap:10px;align-items:center}
.op-alert-h b{font-size:13px;color:var(--text)}
.op-alert-h span{font:700 10px Consolas,monospace;text-transform:uppercase;color:var(--sev)}
.op-alert p{font-size:12px;color:var(--muted);margin:4px 0 3px;line-height:1.4}
.op-alert small{font:11px Consolas,monospace;color:var(--faint)}
.op-empty{color:var(--muted);font-size:13px;padding:10px}
.assess-drivers{border-top:1px solid var(--line);margin-top:14px;padding-top:12px}
.assess-drivers .ad-h{font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:#8fb8d8;margin-bottom:7px}
.assess-drivers ul{margin:0 0 9px;padding-left:18px}
.assess-drivers li{font-size:13px;line-height:1.55;color:#c4d1dd;margin-bottom:3px}
.assess-drivers li b{color:var(--text)}
.assess-drivers .ad-note{font-size:12px;line-height:1.45;color:var(--muted);font-style:italic}
#orbitView .hex{position:absolute;width:72px;height:63px;display:grid;place-items:center;text-align:center;clip-path:polygon(25% 0,75% 0,100% 50%,75% 100%,25% 100%,0 50%);background:linear-gradient(135deg,color-mix(in srgb,var(--c) 15%,#091522),#07111b);border:0;cursor:pointer;color:var(--text);filter:drop-shadow(0 0 8px color-mix(in srgb,var(--c) 15%,transparent));transition:.18s var(--ease)}
#orbitView .hex:after{content:"";position:absolute;inset:1px;clip-path:inherit;border:1px solid color-mix(in srgb,var(--c) 48%,transparent)}
#orbitView .hex:hover, #orbitView .hex.active{transform:scale(1.07);filter:drop-shadow(0 0 13px color-mix(in srgb,var(--c) 38%,transparent))}
#orbitView .hex strong{font:18px Georgia,serif}
#orbitView .hex small{font:11px Consolas,monospace;color:var(--c);text-transform:uppercase;display:block}
#orbitView .hex.h1{left:4px;top:20px}
#orbitView .hex.h2{left:58px;top:0}
#orbitView .hex.h3{left:112px;top:20px}
#orbitView .hex.h4{left:58px;top:60px}
#orbitView .region-footer{position:absolute;left:20px;right:18px;bottom:10px;display:none;justify-content:flex-end;gap:7px;z-index:5}
#orbitView .region-expanded .region-footer{display:flex}
#orbitView .enter-region{border:1px solid rgba(168,119,255,.3);background:rgba(168,119,255,.08);color:#dbcfff;border-radius:7px;height:29px;padding:0 10px;font-size:11px;cursor:pointer}
#orbitView .enter-region:hover{background:rgba(168,119,255,.14)}
#orbitView /* alert rail */
#orbitView .panel-head{height:52px;border-bottom:1px solid var(--line);padding:0 13px;display:flex;align-items:center;justify-content:space-between;position:relative;z-index:3}
#orbitView .panel-head strong{font-size:14px;letter-spacing:.08em;text-transform:uppercase}
#orbitView .panel-tool{font:11px Consolas,monospace;color:var(--muted)}
#orbitView .alert-list{overflow:hidden;position:relative;z-index:2}
#orbitView .alert-item{display:grid;grid-template-columns:34px 1fr auto;gap:8px;padding:11px 11px;border-bottom:1px solid rgba(255,255,255,.045);cursor:pointer;transition:.16s}
#orbitView .alert-item:hover{background:rgba(255,255,255,.025)}
#orbitView .alert-icon{width:31px;height:31px;border:1px solid color-mix(in srgb,var(--sev) 35%,transparent);background:color-mix(in srgb,var(--sev) 7%,transparent);border-radius:50%;display:grid;place-items:center;color:var(--sev)}
#orbitView .alert-copy strong{display:block;font-size:11px;line-height:1.3;text-transform:uppercase}
#orbitView .alert-copy p{font-size:11px;color:var(--muted);margin:3px 0 0;line-height:1.3}
#orbitView .alert-meta{text-align:right}
#orbitView .alert-meta span{font:700 6.5px Consolas,monospace;text-transform:uppercase;color:var(--sev)}
#orbitView .alert-meta small{display:block;font:11px Consolas,monospace;color:#758596;margin-top:3px}
#orbitView .timeline-head{border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;padding:0 11px;font-size:11px;text-transform:uppercase}
#orbitView .timeline-head span{font:11px Consolas,monospace;color:var(--muted);text-transform:none}
#orbitView .timeline-list{overflow:auto;padding:5px 8px 8px}
#orbitView .timeline-item{display:grid;grid-template-columns:35px 8px 1fr auto;gap:5px;min-height:54px;align-items:start;padding:6px 2px;position:relative}
#orbitView .timeline-item:after{content:"";position:absolute;left:41px;top:18px;bottom:-11px;width:1px;background:rgba(255,255,255,.07)}
#orbitView .timeline-item:last-child:after{display:none}
#orbitView .timeline-time{font:11px Consolas,monospace;color:#8392a3;text-align:right}
#orbitView .timeline-dot{width:6px;height:6px;border-radius:50%;background:var(--sev);box-shadow:0 0 9px color-mix(in srgb,var(--sev) 65%,transparent);margin-top:1px;z-index:2}
#orbitView .timeline-copy{font-size:11px;line-height:1.4;color:#c3ced8}
#orbitView .timeline-badge{font:11px Consolas,monospace;color:var(--sev);border:1px solid color-mix(in srgb,var(--sev) 32%,transparent);padding:2px 4px;border-radius:3px;text-transform:uppercase}
#orbitView /* evidence loom */
.evidence-panel{min-height:350px}
#orbitView .loom-head{height:44px;border-bottom:1px solid var(--line);display:grid;grid-template-columns:410px 1fr auto;gap:14px;align-items:center;padding:0 14px;position:relative;z-index:4}
#orbitView .loom-title{display:flex;align-items:baseline;gap:10px}
#orbitView .loom-title strong{font-size:19.5px;letter-spacing:.1em;text-transform:uppercase}
#orbitView .loom-title span{font-size:11px;color:var(--muted)}
#orbitView .loom-stages{display:flex;gap:15px;justify-content:center;font:11px Consolas,monospace;color:#7e8d9c;text-transform:uppercase;white-space:nowrap}
#orbitView .loom-stages span{display:flex;align-items:center;gap:4px}
#orbitView .loom-stages b{width:14px;height:14px;border:1px solid var(--line2);border-radius:50%;display:grid;place-items:center;font-weight:400}
#orbitView .loom-status{display:flex;align-items:center;gap:6px;font:11px Consolas,monospace;color:var(--green)}
#orbitView .loom-status i{width:6px;height:6px;border-radius:50%;background:var(--green);box-shadow:0 0 10px rgba(84,214,161,.65)}
#orbitView .loom-scroll{position:absolute;inset:44px 0 0;overflow:auto}
#orbitView .loom-canvas{position:relative;width:100%;min-width:1390px;height:100%;display:grid;grid-template-columns:minmax(150px,1fr) minmax(180px,1.2fr) minmax(180px,1.15fr) minmax(200px,1.3fr) minmax(150px,.95fr) minmax(160px,1.05fr) minmax(160px,1.05fr);gap:clamp(20px,2.2vw,40px);padding:15px 24px 15px}
#orbitView .loom-canvas>svg{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:1}
#orbitView .stage-col{position:relative;z-index:2;display:flex;flex-direction:column;justify-content:space-evenly;gap:14px;padding:8px 0}
#orbitView .stage-label{font:12.5px Consolas,monospace;letter-spacing:.13em;text-transform:uppercase;color:#8798aa;text-align:center;margin-bottom:5px}
#orbitView .loom-node{--node:var(--cyan);min-height:60px;padding:11px 13px;border:1px solid var(--line);border-left:2px solid var(--node);border-radius:8px;background:linear-gradient(145deg,color-mix(in srgb,var(--node) 5%,transparent),rgba(255,255,255,.012));padding:8px 9px;cursor:pointer;transition:.18s var(--ease);position:relative}
#orbitView .loom-node:hover, #orbitView .loom-node.path-active{border-color:color-mix(in srgb,var(--node) 40%,transparent);background:color-mix(in srgb,var(--node) 8%,#07111b);box-shadow:0 0 18px color-mix(in srgb,var(--node) 8%,transparent);transform:translateY(-1px)}
#orbitView .loom-node.path-dim{opacity:.34;filter:saturate(.6)}#orbitView .loom-node.path-dim .node-title,#orbitView .loom-node.path-dim strong{opacity:.7}
#orbitView .node-top{display:flex;justify-content:space-between;gap:7px}
#orbitView .node-title{font-size:13.5px;font-weight:600}
#orbitView .node-count{font:11px Consolas,monospace;color:var(--node)}
#orbitView .node-sub{font-size:12.5px;color:#93a2b2;line-height:1.4;margin-top:4px}
#orbitView .node-meter{height:2px;background:rgba(255,255,255,.06);margin-top:6px}
#orbitView .node-meter i{display:block;height:100%;width:var(--w);background:var(--node)}
#orbitView .kiq-node{height:auto;min-height:110px;border-radius:12px;display:flex;flex-direction:column;justify-content:center;gap:5px;text-align:center;padding:14px 14px;border:1px solid rgba(97,168,255,.35);border-left:2px solid rgba(97,168,255,.6);box-shadow:inset 0 0 28px rgba(97,168,255,.05),0 0 22px rgba(97,168,255,.04)}
#orbitView .kiq-node::before,#orbitView .bluf-terminal::before{display:none}
#orbitView .kiq-node .node-title,#orbitView .bluf-terminal .node-title{white-space:normal;overflow:visible}
#orbitView .kiq-node .node-sub,#orbitView .bluf-terminal .node-sub{white-space:normal;overflow:visible;display:block}
#orbitView .kiq-node .node-title{font:18px Georgia,serif}
#orbitView .kiq-node .node-sub{font-size:12.5px;line-height:1.5;color:#c8d3de}
#orbitView .kiq-node button, #orbitView .bluf-terminal button{height:23px;border:1px solid var(--line);border-radius:6px;background:rgba(255,255,255,.025);color:#9cabb9;font-size:11px;cursor:pointer}
#orbitView .corroboration{min-height:66px}
#orbitView .donut{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--node) calc(var(--p)*1%),rgba(255,255,255,.07) 0);position:relative;float:left;margin-right:8px}
#orbitView .donut:before{content:"";position:absolute;inset:6px;border-radius:50%;background:#08131e}
#orbitView .donut b{position:relative;z-index:1;font:12.5px Georgia,serif}
#orbitView .risk-node .node-title{font-size:13.5px}
#orbitView .risk-number{font:33.5px Georgia,serif;margin:4px 0;color:var(--node)}
#orbitView .bluf-terminal{height:auto;min-height:110px;border-radius:12px;border:1px solid rgba(255,93,96,.42);border-left:2px solid rgba(255,93,96,.7);display:flex;flex-direction:column;justify-content:center;gap:5px;text-align:center;padding:14px 14px;background:linear-gradient(180deg,rgba(255,93,96,.08),rgba(255,93,96,.02));box-shadow:0 0 22px rgba(255,93,96,.06)}
#orbitView .bluf-terminal .node-title{font:18px Georgia,serif;color:#ff9b9e}
#orbitView .bluf-terminal .node-sub{color:#e6d1d2;font-size:12.5px}
#orbitView .flow-edge{fill:none;stroke:rgba(73,216,239,.22);stroke-width:1.2;stroke-dasharray:4 7;animation:flow 8s linear infinite}
#orbitView .flow-edge.active{stroke:rgba(255,154,82,.72);stroke-width:2;filter:drop-shadow(0 0 4px rgba(255,106,36,.5));animation-duration:3.3s}
#orbitView .flow-edge.dim{opacity:.12}
#orbitView /* drawers / overlays */
.scrim{position:fixed;inset:64px 0 0 186px;background:rgba(1,4,8,.55);backdrop-filter:blur(3px);z-index:110;opacity:0;pointer-events:none;transition:.22s}
#orbitView .scrim.open{opacity:1;pointer-events:auto}
#orbitView .copilot{position:fixed;top:76px;right:14px;bottom:14px;width:430px;border:1px solid rgba(168,119,255,.3);border-radius:15px;background:linear-gradient(180deg,rgba(8,17,28,.99),rgba(3,8,14,.99));box-shadow:0 26px 100px rgba(0,0,0,.66);z-index:120;transform:translateX(calc(100% + 30px));transition:.32s var(--ease);padding:16px}
#orbitView .copilot.open{transform:none}
#orbitView .drawer-head{display:flex;justify-content:space-between;align-items:center;padding-bottom:12px;border-bottom:1px solid var(--line)}
#orbitView .drawer-head strong{font-size:17px}
#orbitView .copilot h3{font:36.5px Georgia,serif;font-weight:400;line-height:1.16;margin:18px 0 10px}
#orbitView .copilot h3 em{color:var(--orange2)}
#orbitView .copilot p{font-size:14px;color:#a6b3c0;line-height:1.6}
#orbitView .copilot-card{border:1px solid var(--line);border-radius:10px;background:rgba(255,255,255,.018);padding:11px;margin-top:10px}
#orbitView .copilot-card .eyebrow{color:var(--violet)}
#orbitView .copilot-row{display:flex;justify-content:space-between;gap:10px;margin-top:8px;font-size:11px}
#orbitView .copilot-row b{color:var(--orange2)}
#orbitView .close-btn{width:29px;height:29px;border:1px solid var(--line);border-radius:8px;background:transparent;cursor:pointer}
#orbitView .toast{position:fixed;left:50%;bottom:18px;transform:translate(-50%,20px);opacity:0;z-index:200;border:1px solid var(--line2);background:rgba(6,14,22,.96);box-shadow:var(--shadow);border-radius:10px;padding:10px 13px;display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--muted);transition:.22s var(--ease);pointer-events:none}
#orbitView .toast.show{opacity:1;transform:translate(-50%,0)}
#orbitView .toast i{width:6px;height:6px;border-radius:50%;background:var(--green);box-shadow:0 0 10px rgba(84,214,161,.65)}
#orbitView .prototype-badge{position:fixed;right:12px;bottom:9px;z-index:205;font:11px Consolas,monospace;color:#5c6b7a;letter-spacing:.07em;text-transform:uppercase;pointer-events:none}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.42}}
@keyframes flow{to{stroke-dashoffset:-110}}
@media(prefers-reduced-motion:reduce){#orbitView *{animation-duration:.001ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important}
#orbitView .flow-edge{animation:none!important}}
@media(max-width:1550px){#orbitView .scrim{left:174px}
#orbitView .shell{min-width:1145px}
#orbitView .top-scene{grid-template-columns:minmax(535px,1.02fr) minmax(555px,.98fr)}
#orbitView .region-header h2{font-size:26.5px}
#orbitView .globe-stage-head h1{font-size:26.5px}
#orbitView .loom-head{grid-template-columns:350px 1fr auto}
#orbitView .loom-stages{gap:10px}}
#orbitView[hidden]{display:none!important}
#orbitView{display:block;height:100%;overflow:auto}

/* ===== remediation: bounded containers + card/control tokens ===== */
.content-bounded{width:min(100%,1920px);margin-inline:auto;padding-inline:24px}
@media(min-width:2400px){
  html{font-size:17px}
  .content-bounded{width:min(100%,2160px);padding-inline:32px}
  .app{grid-template-columns:272px 1fr}.app::before{left:272px}
  .topbar{grid-template-columns:272px minmax(360px,1fr) auto}
}

/* ===== Design-agent §F/G/E targeted component sizing (post-legacy-cleanup, 2026-07-26) ===== */
/* Mission Theater — preserve architecture, correct sizes only */
.dashboard{grid-template-columns:minmax(620px,1.4fr) minmax(430px,.95fr) 320px}
.bluf-body{font-size:15px;line-height:1.55}
.alert-copy strong{font-size:15px;line-height:1.35}
.alert-copy p{font-size:13px;line-height:1.4;color:var(--text-tertiary)}
.alert-meta span{font-size:12px}
.alert-meta small{font-size:11.5px}
.timeline-copy{font-size:13px;line-height:1.4;color:var(--text-secondary)}
.timeline-time{font-size:11.5px}
.hud-row{font-size:12.5px}
.hud-row b{font-size:12.5px}
.globe-hud .eyebrow{font-size:12px}
.globe-hud{background:rgba(4,10,17,.82)}
.metric-card .status{font-size:12px}
/* Dashboard Evidence Loom — readable stage cards */
.node-title{font-size:14.5px}
.node-sub{font-size:12.5px;color:var(--text-tertiary)}
.node-count{font-size:14px}
.stage-label{font-size:12px}
/* Mission Orbit — preserve globe/region/loom, correct sizes only */
#orbitView .objective strong{font-size:14.5px}
#orbitView .objective small{font-size:12px}
#orbitView .actor strong{font-size:13px}
#orbitView .actor small{font-size:12px}
#orbitView .thread-top{font-size:13px}
#orbitView .thread-top b{font-size:12.5px}
#orbitView .map-label{font-size:12px}
#orbitView .hex strong{font-size:22px}
#orbitView .region-priority{font-size:11.5px}

/* ===== Collections (Sources & feeds) scene — 2026-07-26 ===== */
.collections-view[hidden]{display:none!important}
.collections-view{display:flex;flex-direction:column;gap:18px;height:100%;overflow:auto;padding:4px 2px 24px}
.col-head{display:flex;justify-content:space-between;align-items:flex-end;width:min(100%,1600px);margin-inline:auto;gap:16px}
.col-title{font-size:33.5px;letter-spacing:-.03em;margin:6px 0 4px;font-weight:600}
.col-sub{font-size:15px;color:var(--text-secondary)}
.col-updated{font-size:12.5px;color:var(--text-tertiary);letter-spacing:.06em}
.col-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;width:min(100%,1600px);margin-inline:auto}
.col-stat{border:1px solid var(--border-subtle);border-radius:12px;background:var(--surface-1);padding:16px 18px}
.col-stat-k{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--text-tertiary)}
.col-stat-v{font-family:Georgia,serif;font-size:30px;line-height:1.05;margin:6px 0 3px;color:var(--text-primary)}
.col-stat-s{font-size:12.5px;color:var(--text-tertiary)}
.col-families{width:min(100%,1600px);margin-inline:auto;border:1px solid var(--border-subtle);border-radius:12px;background:var(--surface-1);padding:16px 18px}
.col-fam-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:12px}
.col-fam-head strong{font-size:15px;font-weight:600;color:var(--text-primary)}
.col-fam-head span{font-size:11.5px;color:var(--text-tertiary);letter-spacing:.04em}
.col-fam-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}
.col-fam{border:1px solid var(--border-subtle);border-left:3px solid var(--fc,var(--cyan));border-radius:9px;background:rgba(255,255,255,.015);padding:11px 12px}
.col-fam strong{display:block;font-size:13px;font-weight:600;color:var(--text-primary)}
.col-fam span{display:block;font-size:11.5px;color:var(--text-tertiary);margin-top:3px;line-height:1.35}
.col-table{width:min(100%,1600px);margin-inline:auto;border:1px solid var(--border-subtle);border-radius:12px;background:var(--surface-1);overflow:hidden}
.col-row{width:100%;display:grid;grid-template-columns:minmax(180px,1.3fr) minmax(160px,1.6fr) 130px 150px 104px;align-items:center;gap:14px;padding:14px 18px;border-bottom:1px solid var(--border-subtle);text-align:left;background:transparent;color:var(--text-secondary);cursor:pointer;transition:.14s}
.col-row:last-child{border-bottom:0}
.col-row:not(.col-row-head):hover{background:var(--surface-hover)}
.col-row-head{cursor:default;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--text-tertiary);background:rgba(255,255,255,.012)}
.col-name{font-size:14.5px;font-weight:600;color:var(--text-primary);font-family:Montserrat,Inter,sans-serif;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.col-query{font-size:12.5px;color:var(--text-tertiary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.col-items{font-size:14px;color:var(--text-secondary);font-variant-numeric:tabular-nums;display:flex;align-items:center;gap:8px;justify-content:flex-end}
.col-items .col-vol{flex:1 1 auto;min-width:22px;max-width:78px;height:6px;border-radius:3px;background:rgba(255,255,255,.07);overflow:hidden}
.col-items .col-vol i{display:block;height:100%;border-radius:3px;background:linear-gradient(90deg,var(--dm-orange,#ff5e00),#F2A72C)}
.col-items b{font-weight:600;color:var(--text-secondary)}
.col-row-head [data-sort]{cursor:pointer;user-select:none;position:relative;transition:color .15s}
.col-row-head [data-sort]:hover{color:var(--text-secondary)}
.col-row-head [data-sort].sorted{color:var(--dm-orange,#ff5e00)}
.col-row-head [data-sort].sorted[data-dir="desc"]::after{content:" ▾"}
.col-row-head [data-sort].sorted[data-dir="asc"]::after{content:" ▴"}
.col-scan{font-size:12.5px;color:var(--text-tertiary)}
.col-feed{display:flex;align-items:center;gap:7px;font-size:12px;font-family:"SFMono-Regular",Consolas,monospace;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.04em}
.col-dot{width:8px;height:8px;border-radius:50%;background:var(--text-disabled);flex:0 0 auto}
.col-dot.live{background:var(--green);box-shadow:0 0 8px color-mix(in srgb,var(--green) 60%,transparent)}
.col-dot.recent{background:var(--amber)}
.col-loading{padding:28px;text-align:center;color:var(--text-tertiary);font-size:14px}
@media(max-width:1240px){.col-fam-grid{grid-template-columns:repeat(3,1fr)}.col-stats{grid-template-columns:repeat(2,1fr)}}

/* ===== Watch Floor — Command Queue rebuild (2026-07-26) ===== */
.watch-floor-view{gap:16px;padding:4px 2px 40px}
.wf-summary,.wf-priority-row,.wf-controls,.wf-grid,.wf-head{width:min(100%,1680px);margin-inline:auto}
/* summary strip */
.wf-summary{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
.wf-sum{text-align:left;border:1px solid var(--border-subtle);border-radius:12px;background:var(--surface-1);padding:14px 16px;cursor:pointer;transition:.15s}
.wf-sum:hover{background:var(--surface-2);border-color:var(--border-default)}
.wf-sum.active{border-color:var(--dm-orange);box-shadow:inset 0 0 0 1px rgba(255,94,0,.25)}
.wf-sum-v{font-family:Georgia,serif;font-size:30px;line-height:1;color:var(--text-primary)}
.wf-sum-l{font-size:11.5px;letter-spacing:.11em;text-transform:uppercase;color:var(--text-tertiary);margin-top:6px}
.wf-sum[data-tone=all] .wf-sum-v{color:#fff}
.wf-sum[data-tone=attention] .wf-sum-v{color:var(--dm-orange)}
.wf-sum[data-tone=alerts] .wf-sum-v{color:var(--red)}
.wf-sum[data-tone=events] .wf-sum-v{color:var(--cyan)}
.wf-sum[data-tone=unassigned] .wf-sum-v{color:var(--amber)}
/* attention + pulse row */
.wf-priority-row{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(320px,.7fr);gap:16px}
.wf-attn-panel,.wf-pulse-panel{border:1px solid var(--border-subtle);border-radius:12px;background:var(--surface-1);padding:14px 16px 16px;min-height:0}
.wf-panel-head{display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:12px}
.wf-panel-head strong{font-size:15px;font-weight:600;color:var(--text-primary)}
.wf-panel-head span{font-size:11px;color:var(--text-tertiary);letter-spacing:.05em}
.wf-attn-row{width:100%;display:grid;grid-template-columns:34px 1fr auto;gap:12px;align-items:center;text-align:left;background:var(--surface-2);border:1px solid var(--border-subtle);border-left:3px solid var(--border-default);border-radius:10px;padding:12px 14px;margin-bottom:9px;cursor:pointer;transition:.15s}
.wf-attn-row:last-child{margin-bottom:0}
.wf-attn-row:hover{background:var(--surface-hover);transform:translateY(-1px)}
.wf-attn-row.tier-attention{border-left-color:var(--dm-orange)}
.wf-attn-row.tier-insufficient{border-left-color:var(--amber)}
.wf-attn-row.lead{padding:15px 16px;background:linear-gradient(180deg,rgba(255,94,0,.06),var(--surface-2))}
.wf-attn-rank{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;font-family:Georgia,serif;font-size:16px;color:var(--text-secondary);border:1px solid var(--border-default);background:var(--surface-1)}
.wf-attn-row.lead .wf-attn-rank{color:var(--dm-orange);border-color:rgba(255,94,0,.4)}
.wf-attn-top{display:flex;align-items:baseline;gap:12px;justify-content:space-between}
.wf-attn-name{font-size:15.5px;font-weight:600;color:var(--text-primary)}
.wf-attn-row.lead .wf-attn-name{font-size:17px}
.wf-attn-risk{font-size:12px;color:var(--text-secondary);white-space:nowrap}
.wf-attn-meta{display:flex;flex-wrap:wrap;gap:6px 16px;margin-top:7px;font-size:11.5px;color:var(--text-tertiary)}
.wf-attn-meta b{color:var(--text-secondary);font-weight:600}
.wf-attn-go{font-size:12px;color:var(--dm-orange);white-space:nowrap;align-self:center}
/* global pulse */
.wf-pulse-item{border-left:2px solid var(--sev,var(--cyan));padding:7px 0 7px 11px;margin-bottom:10px}
.wf-pulse-item:last-child{margin-bottom:0}
.wf-pulse-top{display:flex;justify-content:space-between;gap:8px;font-size:10.5px;color:var(--text-tertiary);letter-spacing:.04em}
.wf-pulse-sev{color:var(--sev,var(--cyan));text-transform:uppercase;font-weight:600}
.wf-pulse-title{font-size:12.5px;color:var(--text-secondary);line-height:1.35;margin:3px 0 2px}
.wf-pulse-mon{font-size:11px;color:var(--text-tertiary)}
/* controls */
.wf-controls{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}
.wf-chips{display:flex;flex-wrap:wrap;gap:8px}
.wf-chip{font-size:12.5px;padding:7px 13px;border-radius:999px;border:1px solid var(--border-default);background:var(--surface-1);color:var(--text-tertiary);cursor:pointer;transition:.14s}
.wf-chip:hover{color:var(--text-secondary);border-color:var(--border-strong)}
.wf-chip.active{color:#fff;border-color:var(--dm-orange);background:rgba(255,94,0,.12)}
.wf-sort{font-size:12px;color:var(--text-tertiary);letter-spacing:.06em;text-transform:uppercase;display:flex;align-items:center;gap:8px}
.wf-sort select{background:var(--surface-1);border:1px solid var(--border-default);border-radius:8px;color:var(--text-secondary);font-size:12.5px;padding:7px 10px;font-family:inherit;text-transform:none;letter-spacing:0}
.wf-controls-right{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.wf-viewtoggle{display:inline-flex;border:1px solid var(--border-default);border-radius:9px;overflow:hidden;background:var(--surface-1)}
.wf-vtab{font-size:12.5px;padding:7px 14px;border:0;background:transparent;color:var(--text-tertiary);cursor:pointer;transition:.14s;font-family:inherit;white-space:nowrap}
.wf-vtab:hover{color:var(--text-secondary)}
.wf-vtab.active{color:#fff;background:rgba(255,94,0,.14);box-shadow:inset 0 0 0 1px var(--dm-orange)}
/* Risk × Change matrix */
/* author display:grid overrides the [hidden] UA rule — force-hide when toggled off */
.wf-grid[hidden]{display:none!important}
.wf-matrix[hidden]{display:none!important}
.wf-matrix{width:min(100%,1680px);margin-inline:auto}
.wf-mx-plot{position:relative;height:clamp(440px,52vh,620px);border:1px solid var(--border-subtle);border-radius:14px;background:radial-gradient(120% 120% at 100% 0%,rgba(255,94,0,.05),transparent 55%),var(--surface-1);margin:2px 0 30px 30px}
.wf-mx-vline{position:absolute;left:50%;top:0;bottom:0;width:1px;background:var(--border-subtle)}
.wf-mx-hline{position:absolute;top:50%;left:0;right:0;height:1px;background:var(--border-subtle)}
.wf-mx-q{position:absolute;padding:10px 12px;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--text-tertiary);display:flex;flex-direction:column;gap:2px;pointer-events:none;max-width:46%}
.wf-mx-q small{font-size:10px;letter-spacing:.04em;color:var(--text-muted);text-transform:none}
.wf-mx-q.tl{top:0;left:0}.wf-mx-q.tr{top:0;right:0;text-align:right;align-items:flex-end}
.wf-mx-q.bl{bottom:0;left:0}.wf-mx-q.br{bottom:0;right:0;text-align:right;align-items:flex-end}
.wf-mx-q.tr{color:var(--dm-orange)}
.wf-dot{position:absolute;transform:translate(-50%,50%);width:var(--dz,12px);height:var(--dz,12px);border:0;background:none;padding:0;cursor:pointer;z-index:2}
.wf-dot span{display:block;width:100%;height:100%;border-radius:50%;background:var(--rc,#61a8ff);box-shadow:0 0 0 1px rgba(3,7,13,.6),0 0 12px var(--rc,#61a8ff);transition:transform .12s}
.wf-dot:hover span,.wf-dot:focus span{transform:scale(1.35)}
.wf-dot.risk-crisis{--rc:#FF5964}.wf-dot.risk-elevated{--rc:#F2A72C}.wf-dot.risk-guarded{--rc:#46DCE6}.wf-dot.risk-low{--rc:#6f8296}
.wf-mx-xlab{position:absolute;right:8px;bottom:-24px;font-size:11px;color:var(--text-tertiary);letter-spacing:.1em}
.wf-mx-ylab{position:absolute;left:-24px;top:8px;font-size:11px;color:var(--text-tertiary);letter-spacing:.1em;writing-mode:vertical-rl;transform:rotate(180deg)}
/* redesigned monitor cards */
.wf-grid{grid-template-columns:repeat(4,minmax(280px,1fr));gap:16px}
@media(min-width:2400px){.wf-grid{grid-template-columns:repeat(5,minmax(280px,1fr))}}
@media(max-width:1450px){.wf-grid{grid-template-columns:repeat(3,minmax(260px,1fr))}.wf-priority-row{grid-template-columns:1fr}.wf-summary{grid-template-columns:repeat(3,1fr)}}
@media(max-width:1050px){.wf-grid{grid-template-columns:repeat(2,minmax(240px,1fr))}}
@media(max-width:720px){.wf-grid{grid-template-columns:1fr}}
.wf-card{display:flex;flex-direction:column;gap:9px;text-align:left;min-height:210px;padding:16px 18px;border:1px solid var(--border-subtle);border-top:2px solid var(--border-subtle);border-radius:12px;background:var(--surface-1);cursor:pointer;transition:.15s}
.wf-card:hover{transform:translateY(-2px);border-color:var(--border-default);box-shadow:0 14px 34px rgba(0,0,0,.35)}
.wf-card.tier-attention{border-top-color:var(--dm-orange);background:linear-gradient(180deg,rgba(255,94,0,.045),var(--surface-1))}
.wf-card.tier-insufficient{border-top-color:var(--amber)}
.wf-card.tier-quiet{background:var(--bg-shell)}
.wf-card-top{display:flex;justify-content:space-between;align-items:baseline;gap:10px}
.wf-name{font-size:15.5px;font-weight:600;color:var(--text-primary);line-height:1.2}
.wf-risk{font-family:Georgia,serif;font-size:26px;line-height:1;color:var(--text-secondary)}
.wf-risk.hot{color:var(--red)}
.wf-card-sub{display:flex;justify-content:space-between;gap:8px;font-size:11.5px}
.wf-owner{color:var(--text-tertiary)}
.wf-owner.unassigned{color:var(--amber)}
.wf-band{color:var(--text-tertiary);letter-spacing:.08em}
.wf-band.hot{color:var(--red)}
.wf-state{font-size:11.5px;letter-spacing:.05em;padding:5px 9px;border-radius:6px;background:rgba(255,255,255,.03);color:var(--text-secondary);align-self:flex-start}
.wf-state.tier-attention{color:var(--dm-orange);background:rgba(255,94,0,.1)}
.wf-state.tier-insufficient{color:var(--amber);background:rgba(255,181,71,.09)}
.wf-state.tier-quiet{color:var(--text-tertiary)}
.wf-card-fields{display:grid;grid-template-columns:auto 1fr;gap:5px 12px;font-size:12px;margin-top:2px}
.wf-card-fields>span:nth-child(odd){color:var(--text-tertiary);letter-spacing:.04em;text-transform:uppercase;font-size:10.5px;align-self:center}
.wf-card-fields .v{color:var(--text-secondary);text-align:right}
.wf-card-fields .v.muted{color:var(--text-tertiary)}
.wf-card-foot{margin-top:auto;display:flex;justify-content:space-between;align-items:center;gap:10px;padding-top:8px;border-top:1px solid var(--border-subtle)}
.wf-spark{opacity:.9}
.wf-scan{font-size:11px;color:var(--text-tertiary)}

/* Collections — live source health chips */
.col-fam-t{display:flex;justify-content:space-between;align-items:center;gap:8px}
.col-health{font-size:10px;letter-spacing:.05em;text-transform:uppercase;padding:2px 7px;border-radius:999px;border:1px solid var(--border-default);color:var(--text-tertiary);white-space:nowrap}
.col-health.live{color:var(--green);border-color:color-mix(in srgb,var(--green) 45%,transparent);background:rgba(72,214,160,.08)}
.col-health.degraded{color:var(--amber);border-color:color-mix(in srgb,var(--amber) 45%,transparent);background:rgba(255,181,71,.08)}
.col-health.down{color:var(--red);border-color:color-mix(in srgb,var(--red) 45%,transparent);background:rgba(255,89,100,.08)}
.col-health.unknown{color:var(--text-tertiary)}
.col-health.probing{color:var(--text-tertiary);border-color:var(--line2);animation:colProbe 1.4s ease-in-out infinite}
@keyframes colProbe{0%,100%{opacity:.5}50%{opacity:.95}}

/* Full assessment modal (BLUF "View full assessment" / "View brief") */
.assess-backdrop{position:fixed;inset:0;background:rgba(2,6,11,.66);backdrop-filter:blur(3px);z-index:120}
.assess-backdrop[hidden]{display:none}
.assess-modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:min(660px,93vw);max-height:86vh;z-index:121;display:flex;flex-direction:column;background:linear-gradient(180deg,#0a1826,#060f18);border:1px solid rgba(185,215,240,.2);border-radius:16px;box-shadow:0 40px 120px rgba(0,0,0,.6)}
.assess-modal[hidden]{display:none}
.assess-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding:20px 22px 14px;border-bottom:1px solid rgba(185,215,240,.1)}
.assess-head .eyebrow{color:#FF7933;letter-spacing:.14em}
.assess-head h2{font-size:23px;font-weight:700;letter-spacing:-.01em;margin-top:5px;color:#f5f8fc}
.assess-close{border:1px solid rgba(185,215,240,.19);background:transparent;color:#93a4b6;width:34px;height:34px;border-radius:8px;cursor:pointer;font-size:15px;flex:none}
.assess-close:hover{color:#f5f8fc;border-color:rgba(185,215,240,.35)}
.assess-body{padding:18px 22px 20px;overflow:auto;display:flex;flex-direction:column;gap:15px}
.assess-verdict{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.assess-pill{font:700 12px/1 "SFMono-Regular",Consolas,monospace;letter-spacing:.08em;text-transform:uppercase;padding:6px 11px;border-radius:999px;border:1px solid rgba(255,120,50,.45);color:#ff9a52;background:rgba(255,120,50,.09)}
.assess-conf{font-size:13px;color:#93a4b6}
.assess-bluf{font-size:17.5px;line-height:1.6;color:#eef4fa;font-weight:500}
.assess-reason{font-size:14.5px;line-height:1.55;color:#c2ced9;border-left:2px solid rgba(255,120,50,.4);padding-left:14px}
.assess-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.assess-metrics>div{border:1px solid rgba(185,215,240,.1);border-radius:10px;padding:11px;background:rgba(6,15,24,.5)}
.assess-metrics b{display:block;font-size:18px;font-weight:700;color:#f5f8fc;letter-spacing:-.02em;line-height:1.15}
.assess-metrics span{display:block;margin-top:3px;font:10px "SFMono-Regular",Consolas,monospace;letter-spacing:.05em;text-transform:uppercase;color:#8b9bab}
.assess-foot{font-size:11.5px;color:#718398;letter-spacing:.04em;border-top:1px solid rgba(185,215,240,.08);padding-top:12px}

/* ── Evidence Locker ─────────────────────────────────────────────────── */
.locker-view{display:flex;flex-direction:column;min-height:0;gap:16px;padding:2px}
.locker-view[hidden]{display:none!important}
.lk-head{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;flex-wrap:wrap;width:min(100%,1680px);margin-inline:auto}
.lk-title{font-size:30px;font-weight:700;letter-spacing:-.02em;margin:4px 0 6px;color:var(--text-primary)}
.lk-sub{font-size:14px;color:var(--text-tertiary);max-width:640px;line-height:1.5}
.lk-controls{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.lk-monsel{font-size:12px;color:var(--text-tertiary);letter-spacing:.06em;text-transform:uppercase;display:flex;align-items:center;gap:8px}
.lk-monsel select,.lk-search{background:var(--surface-1);border:1px solid var(--border-default);border-radius:8px;color:var(--text-secondary);font-size:13px;padding:8px 11px;font-family:inherit}
.lk-search{min-width:230px;text-transform:none;letter-spacing:0}
.lk-stats{display:flex;gap:10px;flex-wrap:wrap;width:min(100%,1680px);margin-inline:auto}
.lk-stat{border:1px solid var(--border-subtle);border-radius:10px;padding:9px 15px;background:var(--surface-1)}
.lk-stat b{font-size:20px;font-weight:700;color:var(--text-primary);letter-spacing:-.02em}
.lk-stat span{margin-left:8px;font:11px "SFMono-Regular",Consolas,monospace;letter-spacing:.05em;text-transform:uppercase;color:var(--text-tertiary)}
.lk-split{flex:1;min-height:0;display:grid;grid-template-columns:minmax(320px,380px) 1fr;gap:16px;width:min(100%,1680px);margin-inline:auto}
.lk-list-wrap,.lk-reader{border:1px solid var(--border-subtle);border-radius:14px;background:var(--surface-1);min-height:0;display:flex;flex-direction:column;overflow:hidden}
.lk-list-head{padding:12px 15px;border-bottom:1px solid var(--border-subtle);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--text-tertiary)}
.lk-list{overflow:auto;padding:8px;display:flex;flex-direction:column;gap:7px}
.lk-item{text-align:left;border:1px solid var(--border-subtle);border-radius:10px;background:var(--surface-2,rgba(255,255,255,.02));padding:11px 12px;cursor:pointer;transition:.14s;display:flex;flex-direction:column;gap:5px}
.lk-item:hover{border-color:var(--border-default);background:var(--surface-hover,rgba(255,255,255,.04))}
.lk-item.active{border-color:var(--dm-orange);background:rgba(255,94,0,.07)}
.lk-item-title{font-size:13.5px;font-weight:600;color:var(--text-primary);line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.lk-item-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font:10.5px "SFMono-Regular",Consolas,monospace;color:var(--text-tertiary);letter-spacing:.03em}
.lk-chip{padding:1px 6px;border-radius:999px;border:1px solid;font-size:9.5px;letter-spacing:.06em;text-transform:uppercase}
.lk-chip.ok{color:var(--green,#49D9A6);border-color:color-mix(in srgb,var(--green,#49D9A6) 45%,transparent)}
.lk-chip.failed{color:var(--text-muted,#718398);border-color:var(--line2,rgba(185,215,240,.19))}
.lk-chip.lang{color:var(--cyan,#46DCE6);border-color:color-mix(in srgb,var(--cyan,#46DCE6) 40%,transparent)}
.lk-reader{padding:0}
.lk-reader-empty{margin:auto;color:var(--text-tertiary);font-size:14px;padding:44px;max-width:460px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:6px}
.lk-empty-icon{width:60px;height:60px;border-radius:14px;display:grid;place-items:center;color:var(--dm-orange,#ff5e00);background:rgba(255,94,0,.08);border:1px solid rgba(255,94,0,.22);margin-bottom:10px}
.lk-reader-empty h3{font-size:17px;font-weight:600;color:var(--text-secondary);line-height:1.35}
.lk-reader-empty p{font-size:13.5px;line-height:1.55;color:var(--text-tertiary);margin-top:2px}
.lk-empty-list{list-style:none;margin:14px 0 0;padding:0;display:flex;flex-direction:column;gap:7px;text-align:left;width:100%;max-width:340px}
.lk-empty-list li{position:relative;padding-left:20px;font-size:13px;color:var(--text-secondary);line-height:1.4}
.lk-empty-list li::before{content:"";position:absolute;left:2px;top:7px;width:6px;height:6px;border-radius:50%;background:var(--dm-orange,#ff5e00)}
.lk-reader-head{padding:20px 24px 14px;border-bottom:1px solid var(--border-subtle)}
.lk-prov{font:11px "SFMono-Regular",Consolas,monospace;color:var(--text-tertiary);letter-spacing:.04em;margin-bottom:8px}
.lk-prov b{color:var(--text-secondary)}
.lk-reader-head h2{font-size:22px;font-weight:700;letter-spacing:-.01em;line-height:1.3;color:var(--text-primary)}
.lk-reader-toolbar{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-top:12px;flex-wrap:wrap}
.lk-toggle{display:inline-flex;border:1px solid var(--border-default);border-radius:8px;overflow:hidden}
.lk-toggle button{border:0;background:transparent;color:var(--text-tertiary);font-size:12.5px;padding:6px 14px;cursor:pointer;font-family:inherit}
.lk-toggle button:hover{color:var(--text-secondary)}
.lk-toggle button.active{color:#fff;background:rgba(255,94,0,.14);box-shadow:inset 0 0 0 1px var(--dm-orange)}
.lk-toggle button:disabled{opacity:.4;cursor:not-allowed}
.lk-src-link{font-size:12px;color:var(--dm-orange,#ff5e00);text-decoration:none;font-family:"SFMono-Regular",Consolas,monospace;letter-spacing:.03em}
.lk-src-link:hover{text-decoration:underline}
.lk-reader-body{overflow:auto;padding:20px 24px 26px;font-size:15.5px;line-height:1.7;color:var(--text-secondary);white-space:pre-wrap;font-family:Montserrat,Inter,system-ui,sans-serif}
.lk-reader-body.native{font-family:"Noto Sans","Segoe UI",system-ui,sans-serif}
@media(max-width:1100px){.lk-split{grid-template-columns:1fr;grid-auto-rows:minmax(260px,auto)}}
/* claim drawer → Evidence Locker jump link */
.ev-obs-link{border:0;background:transparent;color:var(--dm-orange,#ff5e00);font:inherit;font-weight:600;cursor:pointer;padding:0;letter-spacing:.01em}
.ev-obs-link:hover{text-decoration:underline}
.lk-reader-body .lk-nocap{color:var(--text-tertiary);font-size:14.5px;line-height:1.6}
.lk-reader-body .lk-snippet{margin-top:16px;padding:14px 16px;border-left:2px solid rgba(255,120,50,.4);background:rgba(6,15,24,.5);border-radius:8px;font-size:14.5px;line-height:1.55;color:var(--text-secondary)}
.lk-reader-body .lk-snippet .mono{display:block;font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--text-tertiary);margin-bottom:6px}

/* ── Design review refinements 2026-07-27 ────────────────────────────── */
/* #3 Watch Floor cards: more internal padding + allow 2-line titles */
.wf-grid .wf-card{padding:19px 20px;min-height:224px;gap:11px}
.wf-grid .wf-name{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.22}
/* #4 compressed BLUF on Watch Floor cards (the comparison layer) */
/* The remedy line. Deliberately NOT line-clamped like .wf-bluf: this is the
   field that says what to do about an unassessed verdict, and clamping it
   would re-hide the thing we surfaced. */
.wf-next{margin-top:7px;font-size:11px;line-height:1.45;color:var(--cyan,#46DCE6);border-left:2px solid var(--cyan,#46DCE6);padding-left:8px}
.wf-next b{font-weight:700;letter-spacing:.05em;text-transform:uppercase;font-size:9px;opacity:.85}
.wf-bluf{font-size:11.5px;line-height:1.42;color:var(--text-tertiary);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin-top:auto;padding-top:9px;border-top:1px solid var(--border-subtle)}
/* #3 Reports how-it-works workflow strip */
.rp-flow{display:flex;align-items:center;justify-content:center;gap:11px;flex-wrap:wrap;margin:26px auto 0;padding:16px 22px;max-width:1120px;border:1px solid var(--border-subtle);border-radius:12px;background:var(--surface-1)}
.rp-flow-step{display:flex;align-items:center;gap:9px;font-size:13px;color:var(--text-secondary);white-space:nowrap}
.rp-flow-n{width:22px;height:22px;flex:none;border-radius:50%;display:grid;place-items:center;font:700 11px/1 "SFMono-Regular",Consolas,monospace;color:var(--dm-orange,#ff5e00);border:1px solid rgba(255,94,0,.4);background:rgba(255,94,0,.08)}
.rp-flow-arrow{color:var(--text-muted,#718398);font-style:normal;font-size:14px}
@media(max-width:940px){.rp-flow{display:none}}
/* #4 Theater alert rail: recurrence badge for collapsed duplicate alerts */
.alert-recur{display:inline-block;margin-left:6px;padding:1px 6px;border-radius:999px;font:600 11px/1.5 "SFMono-Regular",Consolas,monospace;color:var(--text-secondary);background:rgba(255,255,255,.08);border:1px solid var(--line2);vertical-align:middle}
/* #2 Evidence Loom adaptive narrative detail panel (shown when ≤2 narratives) */
.ev-nar-detail{margin-top:12px;border:1px solid var(--line);border-radius:10px;padding:13px 14px;background:linear-gradient(160deg,rgba(9,23,36,.55),rgba(4,11,18,.5));display:flex;flex-direction:column;gap:10px}
.ev-nar-detail .eyebrow{margin-bottom:2px}
.ev-nar-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.ev-nar-stats>div{display:flex;flex-direction:column;gap:2px;padding:8px 6px;border:1px solid var(--line);border-radius:8px;background:rgba(6,15,24,.5)}
.ev-nar-stats b{font-size:17px;font-weight:600;letter-spacing:-.02em;color:var(--text-primary);line-height:1}
.ev-nar-stats span{font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-family:"SFMono-Regular",Consolas,monospace}
.ev-nar-drow{display:flex;justify-content:space-between;align-items:baseline;gap:12px;font-size:13px;padding:5px 0;border-top:1px solid var(--line)}
.ev-nar-drow>span{color:var(--text-tertiary);letter-spacing:.05em;text-transform:uppercase;font-size:11px;font-family:"SFMono-Regular",Consolas,monospace}
.ev-nar-drow>b{color:var(--text-secondary);font-weight:600;text-align:right}

/* ==== KIQ active-analysis overlay (command-bar → decomposition → report → actions) v14 ==== */
.kiq-backdrop{position:fixed;inset:0;background:rgba(2,6,11,.72);backdrop-filter:blur(4px);z-index:130}
.kiq-backdrop[hidden]{display:none!important}
.kiq-report{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:min(1000px,95vw);max-height:92vh;z-index:131;display:flex;flex-direction:column;background:linear-gradient(180deg,#0a1826,#050d15);border:1px solid rgba(255,122,48,.28);border-radius:16px;box-shadow:0 44px 130px rgba(0,0,0,.66),0 0 60px rgba(255,94,0,.06)}
.kiq-report[hidden]{display:none!important}
.kiq-head{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;padding:18px 22px 15px;border-bottom:1px solid rgba(185,215,240,.1)}
.kiq-head .eyebrow{color:#FF7933;letter-spacing:.14em}
.kiq-head h2{font-size:20px;font-weight:700;letter-spacing:-.01em;margin-top:5px;color:#f5f8fc;line-height:1.3;max-width:70ch}
.kiq-head-status{display:flex;align-items:center;gap:12px;flex:none}
.kiq-phase{font:600 12px/1 "SFMono-Regular",Consolas,monospace;letter-spacing:.05em;text-transform:uppercase;color:#F2A72C;border:1px solid rgba(255,181,71,.3);background:rgba(255,181,71,.08);padding:7px 11px;border-radius:999px;white-space:nowrap}
.kiq-phase.done{color:#49D9A6;border-color:rgba(72,214,160,.32);background:rgba(72,214,160,.08)}
.kiq-phase.err{color:#ff5964;border-color:rgba(255,89,100,.35);background:rgba(255,89,100,.08)}
.kiq-elapsed{font-size:12px;color:#8b9bab}
.kiq-body{padding:20px 22px 22px;overflow:auto;display:flex;flex-direction:column;gap:18px}
.kiq-loading{display:flex;align-items:center;gap:12px;color:#c2ced9;font-size:14.5px;padding:8px 0}
.kiq-spin{width:17px;height:17px;border-radius:50%;border:2px solid rgba(255,122,48,.25);border-top-color:#FF7933;animation:kiqspin .8s linear infinite;flex:none}
@keyframes kiqspin{to{transform:rotate(360deg)}}
.kiq-sec{border:1px solid rgba(185,215,240,.1);border-radius:12px;padding:15px 16px;background:rgba(6,15,24,.5)}
.kiq-sec-title{font:700 11px/1 "SFMono-Regular",Consolas,monospace;letter-spacing:.13em;text-transform:uppercase;color:#8fa6bd;margin-bottom:11px;display:flex;align-items:center;gap:8px}
.kiq-sec-title::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--dm-orange);box-shadow:0 0 9px var(--dm-orange)}
.kiq-bluf{font-size:17px;line-height:1.6;color:#eef4fa;font-weight:500}
.kiq-bluf-sec{border:1px solid rgba(255,122,48,.24);background:linear-gradient(180deg,rgba(255,94,0,.06),rgba(6,15,24,.5))}
.kiq-changed{font-size:14.5px;line-height:1.55;color:#c9d6e2}
.kiq-chips{display:flex;flex-wrap:wrap;gap:7px}
.kiq-chip{font:12px/1.2 "SFMono-Regular",Consolas,monospace;color:#cbd8e5;border:1px solid rgba(185,215,240,.16);background:rgba(255,255,255,.02);border-radius:7px;padding:6px 9px}
.kiq-chip.thr{color:#ffb0a0;border-color:rgba(255,120,90,.28)}
.kiq-chip.geo{color:#8fd0ff;border-color:rgba(84,168,255,.28)}
.kiq-chip.exc{color:#93a4b6;border-color:rgba(147,164,182,.22);text-decoration:line-through;opacity:.75}
.kiq-decomp-grid{display:grid;grid-template-columns:auto 1fr;gap:9px 14px;align-items:start}
.kiq-decomp-grid dt{font:11px/1.5 "SFMono-Regular",Consolas,monospace;letter-spacing:.06em;text-transform:uppercase;color:#8b9bab;white-space:nowrap}
.kiq-decomp-grid dd{margin:0}
.kiq-rationale{font-size:13.5px;line-height:1.5;color:#aebccb;font-style:italic;margin-top:4px}
.kiq-claim{border:1px solid rgba(185,215,240,.1);border-radius:10px;padding:12px 13px;background:rgba(4,11,18,.5)}
.kiq-claim+.kiq-claim{margin-top:9px}
.kiq-claim-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}
.kiq-claim-txt{font-size:15px;line-height:1.5;color:#e8f0f7;font-weight:500}
.kiq-conf{font:700 10px/1 "SFMono-Regular",Consolas,monospace;letter-spacing:.06em;text-transform:uppercase;padding:5px 8px;border-radius:6px;flex:none;white-space:nowrap}
.kiq-conf.high{color:#49D9A6;background:rgba(72,214,160,.12);border:1px solid rgba(72,214,160,.3)}
.kiq-conf.medium{color:#F2A72C;background:rgba(255,181,71,.12);border:1px solid rgba(255,181,71,.3)}
.kiq-conf.low{color:#ff8a7a;background:rgba(255,120,90,.12);border:1px solid rgba(255,120,90,.3)}
.kiq-ev{margin-top:8px;font-size:13.5px;line-height:1.5;color:#b9c7d5;border-left:2px solid rgba(255,120,50,.4);padding-left:11px}
.kiq-ev+.kiq-ev{margin-top:5px}
.kiq-src{margin-top:8px;display:flex;flex-wrap:wrap;gap:6px}
.kiq-src span{font:11px/1.2 "SFMono-Regular",Consolas,monospace;color:#8fa6bd;border:1px solid rgba(185,215,240,.14);border-radius:6px;padding:4px 7px}
.kiq-cols{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media(max-width:720px){.kiq-cols{grid-template-columns:1fr}}
.kiq-list{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:6px}
.kiq-list li{font-size:14px;line-height:1.5;color:#c9d6e2}
.kiq-sublabel{font:11px/1 "SFMono-Regular",Consolas,monospace;letter-spacing:.06em;text-transform:uppercase;color:#8b9bab;margin:2px 0 7px}
.kiq-risk-badge{font:700 12px/1 "SFMono-Regular",Consolas,monospace;letter-spacing:.08em;text-transform:uppercase;padding:6px 11px;border-radius:999px;display:inline-block;margin-bottom:10px}
.kiq-risk-LOW{color:#49D9A6;background:rgba(72,214,160,.12);border:1px solid rgba(72,214,160,.32)}
.kiq-risk-MODERATE{color:#F2A72C;background:rgba(255,181,71,.12);border:1px solid rgba(255,181,71,.32)}
.kiq-risk-HIGH{color:#FF7933;background:rgba(255,122,48,.14);border:1px solid rgba(255,122,48,.36)}
.kiq-risk-CRITICAL{color:#ff5964;background:rgba(255,89,100,.14);border:1px solid rgba(255,89,100,.4)}
.kiq-risk-body{font-size:14px;line-height:1.6;color:#c9d6e2;white-space:pre-wrap}
.kiq-meta{font:11.5px/1.5 "SFMono-Regular",Consolas,monospace;color:#718398;letter-spacing:.03em}
.kiq-deepwrap{border-top:1px dashed rgba(255,122,48,.3);margin-top:4px;padding-top:16px}
.kiq-foot{display:flex;align-items:center;gap:12px;padding:14px 22px;border-top:1px solid rgba(185,215,240,.1);background:rgba(4,10,17,.6);flex-wrap:wrap}
.kiq-foot[hidden]{display:none!important}
.kiq-act{border-radius:10px;padding:11px 16px;font-size:14px;font-weight:600;cursor:pointer;transition:.18s var(--ease);display:inline-flex;align-items:center;gap:8px}
.kiq-deep{border:1px solid rgba(167,123,243,.4);background:rgba(167,123,243,.12);color:#c9b3ff}
.kiq-deep:hover{background:rgba(167,123,243,.2);transform:translateY(-1px)}
.kiq-add{border:1px solid rgba(255,122,48,.45);background:linear-gradient(180deg,rgba(255,94,0,.18),rgba(255,94,0,.08));color:#ffc3a0}
.kiq-add:hover{background:linear-gradient(180deg,rgba(255,94,0,.28),rgba(255,94,0,.14));transform:translateY(-1px)}
.kiq-act:disabled{opacity:.5;cursor:default;transform:none}
.kiq-foot-note{color:#8b9bab;margin-left:auto}
.kiq-err{color:#ff8a7a;font-size:14.5px;line-height:1.55;border:1px solid rgba(255,89,100,.3);background:rgba(255,89,100,.07);border-radius:10px;padding:14px 15px}

.kiq-export{border:1px solid rgba(185,215,240,.28);background:rgba(255,255,255,.03);color:#c2ced9}
.kiq-export:hover{background:rgba(255,255,255,.07);border-color:rgba(185,215,240,.45);transform:translateY(-1px)}

/* ==== Forged Insights (OAI dashboard) v18 ==== */
.forged-view{display:flex;flex-direction:column;gap:14px;height:100%;overflow:auto;padding:4px 4px 28px}
.forged-view[hidden]{display:none!important}
.fi-head{display:flex;justify-content:space-between;align-items:flex-end;gap:18px;flex-wrap:wrap;border-bottom:1px solid var(--line);padding-bottom:12px}
.fi-head .eyebrow{color:#FF7933;letter-spacing:.14em}
.fi-title{font-size:23px;font-weight:800;letter-spacing:-.01em;margin:5px 0 3px;color:#f2f6fb}
.fi-sub{font-size:13px;color:var(--muted)}
.fi-controls{display:flex;align-items:center;gap:14px}
.fi-scope{font:11px/1 "SFMono-Regular",Consolas,monospace;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);display:flex;align-items:center;gap:8px}
.fi-scope select{background:var(--panel2);color:#e7eef5;border:1px solid var(--line2);border-radius:8px;padding:8px 10px;font-size:13px;max-width:220px}
.fi-avail{font-size:11px;color:#8b9bab}
.fi-body{display:flex;flex-direction:column;gap:14px;width:min(100%,1900px);margin-inline:auto}
.fi-loading{display:flex;align-items:center;gap:10px;color:#c2ced9;padding:26px 4px;font-size:15px}
.fi-empty,.fi-empty-sm{color:#8b9bab;padding:14px;font-size:14px}
.fi-empty-sm{padding:8px 2px;font-size:13px}
.fi-sk-toggle{display:flex;gap:6px;margin:0 0 10px;flex-wrap:wrap}
.fi-mini-btn{background:#12243a;border:1px solid #24405f;color:#9fb4cc;font-size:12px;padding:4px 10px;border-radius:6px;cursor:pointer;transition:all .15s}
.fi-mini-btn:hover{background:#1a3352;color:#d7e6f7}
.fi-mini-btn.active{background:#1f4b78;border-color:#3aa0ff;color:#eaf3ff}
.fi-mini-btn:disabled{opacity:.6;cursor:default}
.fi-chain-type{display:inline-block;margin-left:8px;padding:1px 8px;border-radius:10px;background:#14283f;border:1px solid #2b4a6b;color:#7fd0ff;font-size:11px;font-weight:600;vertical-align:middle}
.fi-tiles{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.fi-tile{border:1px solid var(--line);border-radius:12px;background:linear-gradient(180deg,rgba(8,18,29,.9),rgba(4,10,17,.94));padding:15px 16px}
.fi-tile b{display:block;font:800 30px/1 Georgia,serif;color:#f2f6fb;letter-spacing:-.02em}
.fi-tile span{display:block;margin-top:5px;font:10px "SFMono-Regular",Consolas,monospace;letter-spacing:.1em;text-transform:uppercase;color:#8fa0b2}
.fi-grid2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media(max-width:900px){.fi-grid2{grid-template-columns:1fr}.fi-tiles{grid-template-columns:repeat(2,1fr)}}
.fi-card{border:1px solid var(--line);border-radius:12px;background:linear-gradient(180deg,rgba(8,18,29,.9),rgba(4,10,17,.94));padding:14px 15px;min-width:0}
.fi-card-t{font:700 11px/1 "SFMono-Regular",Consolas,monospace;letter-spacing:.12em;text-transform:uppercase;color:#8fa6bd;margin-bottom:12px;display:flex;align-items:center;gap:8px}
.fi-inferred{font:600 9px/1 "SFMono-Regular",monospace;letter-spacing:.08em;color:#F2A72C;border:1px solid rgba(255,181,71,.3);background:rgba(255,181,71,.08);padding:3px 6px;border-radius:5px;text-transform:uppercase}
.fi-donut-wrap{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.fi-donut-n{fill:#f2f6fb;font:800 22px Georgia,serif}.fi-donut-l{fill:#8fa0b2;font:9px "SFMono-Regular",monospace;letter-spacing:.1em;text-transform:uppercase}
.fi-legend{display:flex;flex-direction:column;gap:5px;min-width:0}
.fi-leg{font-size:12.5px;color:#c9d6e2;display:flex;align-items:center;gap:8px}.fi-leg i{width:10px;height:10px;border-radius:3px;flex:none}.fi-leg b{color:#f2f6fb;margin-left:auto;font:12px "SFMono-Regular",monospace}
.fi-bars{display:flex;flex-direction:column;gap:7px}
.fi-bar-row{display:grid;grid-template-columns:150px 1fr 40px;align-items:center;gap:10px}
.fi-bar-lbl{font-size:12.5px;color:#c9d6e2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fi-bar-track{height:14px;background:rgba(255,255,255,.04);border-radius:5px;overflow:hidden}
.fi-bar-fill{display:block;height:100%;border-radius:5px}
.fi-bar-val{font:12px "SFMono-Regular",monospace;color:#aebccb;text-align:right}
.fi-trend{display:flex;align-items:flex-end;gap:4px;height:150px;padding-top:6px}
.fi-trend-col{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%;gap:5px;min-width:0}
.fi-trend-bar{width:70%;max-width:22px;background:linear-gradient(180deg,#54a8ff,#2b6fd0);border-radius:3px 3px 0 0}
.fi-trend-x{font:8.5px "SFMono-Regular",monospace;color:#7a8aa0;white-space:nowrap;transform:rotate(-45deg);transform-origin:center}
.fi-sankey{width:100%;height:auto}.fi-sk-t{fill:#c9d6e2;font:10.5px "SFMono-Regular",monospace}
.fi-gantt{display:flex;flex-direction:column;gap:6px}
.fi-gantt-row{display:grid;grid-template-columns:170px 1fr;align-items:center;gap:10px}
.fi-gantt-lbl{font-size:12px;color:#c9d6e2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fi-gantt-track{position:relative;height:18px;background:rgba(255,255,255,.03);border-radius:5px;border:1px solid var(--line)}
.fi-gantt-dot{position:absolute;top:50%;transform:translate(-50%,-50%);width:11px;height:11px;border-radius:50%;box-shadow:0 0 0 2px rgba(4,10,17,.6)}
.fi-decomp{display:flex;flex-direction:column;gap:9px}
.fi-dc{display:grid;grid-template-columns:190px 1fr;gap:12px;align-items:start;padding:8px 0;border-top:1px solid rgba(255,255,255,.05)}
.fi-dc:first-child{border-top:0}
.fi-dc-doer{display:flex;flex-direction:column;gap:2px}.fi-dc-doer b{font-size:13.5px;color:#eef4fa}.fi-dc-doer span{font:11px "SFMono-Regular",monospace;color:#8fa0b2}
.fi-dc-branches{display:flex;flex-wrap:wrap;gap:6px}
.fi-dc-b{font:11.5px/1.2 "SFMono-Regular",monospace;color:#cbd8e5;border:1px solid var(--line2);border-radius:6px;padding:5px 8px;display:inline-flex;align-items:center;gap:6px}.fi-dc-b i{width:9px;height:9px;border-radius:2px}.fi-dc-b b{color:#f2f6fb}
.fi-ins{font-size:15px;line-height:1.6;color:#dbe6f0}

.fi-cap{margin-top:10px;font:11px "SFMono-Regular",Consolas,monospace;color:#8b9bab;letter-spacing:.02em}

/* ==== Forged Insights — OIE model maturity + provenance + coverage (v21) ==== */
.fi-tiles7{grid-template-columns:repeat(7,1fr)}
@media(max-width:1100px){.fi-tiles7{grid-template-columns:repeat(4,1fr)}}
@media(max-width:640px){.fi-tiles7{grid-template-columns:repeat(2,1fr)}}
.fi-prov{font:700 8.5px/1 "SFMono-Regular",Consolas,monospace;letter-spacing:.06em;padding:3px 6px;border-radius:5px;border:1px solid;white-space:nowrap;flex:none}
.fi-maturity .fi-card-t{margin-bottom:10px}
.fi-mat{display:flex;flex-direction:column;gap:8px}
.fi-mat-row{display:grid;grid-template-columns:96px 92px 1fr auto;align-items:center;gap:10px}
.fi-mat-axis{font:700 12px/1 "SFMono-Regular",Consolas,monospace;letter-spacing:.06em;color:#eef4fa}
.fi-mat-track{height:12px;background:rgba(255,255,255,.04);border-radius:5px;overflow:hidden}
.fi-mat-fill{display:block;height:100%;border-radius:5px}
.fi-mat-val{font:11.5px "SFMono-Regular",monospace;color:#c9d6e2;text-align:right;white-space:nowrap}
.fi-mat-note{grid-column:3/-1;font-size:11px;color:#8b9bab;margin-top:-2px}
@media(max-width:820px){.fi-mat-row{grid-template-columns:80px 84px 1fr}.fi-mat-val{grid-column:1/-1;text-align:left}.fi-mat-note{grid-column:1/-1}}
.fi-cov{display:flex;flex-direction:column;gap:9px}
.fi-cov-row{display:flex;justify-content:space-between;align-items:baseline;font-size:14px;color:#dbe6f0}.fi-cov-row b{font:700 16px Georgia,serif;color:#f2f6fb}
.fi-cov-muted{color:#8fa0b2;font-size:12.5px}.fi-cov-muted b{font-size:13px;color:#c9d6e2}
.fi-cov-bar{height:14px;background:rgba(255,93,96,.14);border-radius:6px;overflow:hidden}
.fi-cov-bar span{display:block;height:100%;background:linear-gradient(90deg,#49D9A6,#2f9e78);border-radius:6px}
.fi-cov-why{font-size:12.5px;color:#aebccb;line-height:1.5}.fi-cov-why b{color:#c9d6e2}
.fi-cov-acts{margin-top:2px}
.fi-ins4{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media(max-width:820px){.fi-ins4{grid-template-columns:1fr}}
.fi-ins-h{font:700 10px/1 "SFMono-Regular",Consolas,monospace;letter-spacing:.1em;text-transform:uppercase;color:#FF7933;margin-bottom:5px}
.fi-ins4>div{font-size:13.5px;line-height:1.55;color:#dbe6f0}

/* ==== Forged Insights — Operational Chain Explorer (v22) ==== */
.fi-chaincard{border-color:rgba(255,122,48,.28)}
.fi-chain-wrap{display:grid;grid-template-columns:300px 1fr;gap:16px;min-height:340px}
@media(max-width:820px){.fi-chain-wrap{grid-template-columns:1fr}}
.fi-chain-list{display:flex;flex-direction:column;gap:6px;max-height:520px;overflow:auto;padding-right:4px;border-right:1px solid var(--line)}
@media(max-width:820px){.fi-chain-list{border-right:0;border-bottom:1px solid var(--line);padding-bottom:10px;max-height:240px}}
.fi-chain-crumb{font:11px "SFMono-Regular",Consolas,monospace;color:#F2A72C;background:rgba(255,181,71,.08);border:1px solid rgba(255,181,71,.3);border-radius:7px;padding:7px 9px;margin-bottom:4px}
.fi-chain-crumb b{color:#ffd28a}.fi-chain-crumb button{margin-left:6px;background:transparent;border:0;color:#8fa0b2;cursor:pointer;font:inherit}
.fi-chain-item{text-align:left;border:1px solid var(--line);background:rgba(255,255,255,.02);border-radius:9px;padding:9px 10px;cursor:pointer;display:flex;flex-direction:column;gap:3px;transition:.15s var(--ease)}
.fi-chain-item:hover{border-color:var(--line2);background:rgba(255,255,255,.045)}
.fi-chain-item.active{border-color:rgba(255,122,48,.5);background:linear-gradient(90deg,rgba(255,94,0,.12),rgba(255,94,0,.03))}
.fi-chain-item-doer{font:700 12px/1.2 "SFMono-Regular",Consolas,monospace;color:#8fd0ff}
.fi-chain-item-sum{font-size:12.5px;color:#c9d6e2;line-height:1.4}
.fi-chain-item-obj{font:10.5px "SFMono-Regular",monospace;color:#F2A72C;border:1px solid rgba(255,181,71,.28);border-radius:5px;padding:2px 6px;align-self:flex-start}
.fi-chain-detail{display:flex;flex-direction:column;align-items:stretch;gap:0;padding:2px 2px 2px 4px}
.fi-chain-arrow{text-align:center;color:#5a6a7d;font-size:15px;line-height:1;margin:3px 0}
.fi-chain-node{border:1px solid var(--line);border-radius:10px;padding:11px 13px;background:rgba(6,15,24,.55)}
.fi-chain-node.fi-chain-missing{opacity:.6;border-style:dashed}
.fi-chain-node.fi-chain-click{cursor:pointer;transition:.15s var(--ease)}
.fi-chain-node.fi-chain-click:hover{border-color:rgba(84,168,255,.5);background:rgba(84,168,255,.06)}
.fi-chain-nk{font:700 10px/1 "SFMono-Regular",Consolas,monospace;letter-spacing:.1em;color:#8fa6bd;display:flex;align-items:center;gap:8px;margin-bottom:6px}
.fi-chain-pivhint{margin-left:auto;color:#54a8ff;font-weight:600;letter-spacing:.04em}
.fi-chain-nv{font-size:15px;line-height:1.45;color:#eef4fa;font-weight:500}
.fi-chain-node.fi-chain-missing .fi-chain-nv{color:#8b9bab;font-weight:400;font-style:italic}
.fi-chain-nn{margin-top:5px;font-size:11.5px;color:#8fa0b2;line-height:1.45}
.fi-chain-reason{color:#aebccb;border-left:2px solid rgba(167,123,243,.4);padding-left:9px;margin-top:6px}
.fi-chain-meta{margin-top:10px;font:11px "SFMono-Regular",Consolas,monospace;color:#718398;letter-spacing:.02em}

/* ==== Forged Insights — chain reliability header (v23) ==== */
.fi-chain-quality{border:1px solid var(--line2);border-radius:10px;padding:10px 12px;margin-bottom:12px;background:rgba(255,255,255,.02)}
.fi-cq-top{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:13px;color:#c9d6e2}
.fi-cq-top b{color:#f2f6fb}
.fi-cq-rating{font:700 11px/1 "SFMono-Regular",Consolas,monospace;letter-spacing:.06em;padding:5px 9px;border-radius:999px;border:1px solid;white-space:nowrap}
.fi-cq-rel{display:flex;flex-wrap:wrap;gap:6px;margin-top:9px}
.fi-cq-chip{font:11px "SFMono-Regular",Consolas,monospace;border:1px solid var(--line);border-radius:6px;padding:4px 7px;background:rgba(0,0,0,.2)}
.fi-cq-foot{margin-top:8px;font:11px "SFMono-Regular",Consolas,monospace;color:#8b9bab}

/* ==== Forged Insights — tabbed IA + hierarchy (v24) ==== */
.fi-metrics4{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
@media(max-width:820px){.fi-metrics4{grid-template-columns:repeat(2,1fr)}}
.fi-metric{border:1px solid var(--line);border-radius:12px;background:linear-gradient(180deg,rgba(8,18,29,.92),rgba(4,10,17,.96));padding:16px 18px}
.fi-metric b{display:block;font:800 30px/1 Georgia,serif;color:#f4f8fc;letter-spacing:-.02em}
.fi-metric span{display:block;margin-top:6px;font:10px "SFMono-Regular",Consolas,monospace;letter-spacing:.1em;text-transform:uppercase;color:#8fa0b2}
.fi-subcounts{font:12px "SFMono-Regular",Consolas,monospace;color:#8fa0b2;display:flex;gap:16px;flex-wrap:wrap}
.fi-subcounts span b{color:#c9d6e2}
.fi-tabbar{display:flex;gap:4px;border-bottom:1px solid var(--line);margin-top:2px}
.fi-tab{background:transparent;border:0;border-bottom:2px solid transparent;color:#8fa0b2;font:600 13.5px/1 inherit;padding:11px 15px;cursor:pointer;transition:.15s var(--ease)}
.fi-tab:hover{color:#dbe6f0}
.fi-tab.active{color:#fff;border-bottom-color:var(--dm-orange)}
.fi-tabpane{display:flex;flex-direction:column;gap:16px;padding-top:4px}
.fi-tabpane[hidden]{display:none!important}
.fi-grid-hero{display:grid;grid-template-columns:minmax(340px,1fr) minmax(320px,420px);gap:16px}
@media(max-width:960px){.fi-grid-hero{grid-template-columns:1fr}}
.fi-recapcard{min-height:220px}
.fi-recap-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.fi-recap-title b{font-size:16px;color:#eef4fa}.fi-recap-verb{color:#8fd0ff;font-size:14px}
.fi-recap-mission{font:11px "SFMono-Regular",Consolas,monospace;color:#8fa0b2;margin-top:3px}
.fi-recap-cq{font:12px "SFMono-Regular",Consolas,monospace;color:#aebccb;margin:10px 0}
.fi-recap-issues-h{font:700 10px/1 "SFMono-Regular",monospace;letter-spacing:.1em;text-transform:uppercase;color:#8fa6bd;margin:6px 0}
.fi-ins4cards{display:grid;grid-template-columns:1fr 1fr;gap:12px;align-content:start}
@media(max-width:520px){.fi-ins4cards{grid-template-columns:1fr}}
.fi-inscard{border:1px solid var(--line);border-radius:12px;background:rgba(6,15,24,.5);padding:13px 14px;display:flex;flex-direction:column;gap:6px}
.fi-ins-b{font-size:13px;line-height:1.5;color:#dbe6f0;flex:1}
.fi-ins-act{align-self:flex-start;background:transparent;border:0;color:#54a8ff;font:600 12px/1 inherit;cursor:pointer;padding:2px 0}
.fi-ins-act:hover{color:#8fd0ff}
.fi-chain-wrap3{display:grid;grid-template-columns:minmax(260px,0.85fr) minmax(520px,1.7fr) minmax(280px,0.9fr);gap:16px;min-height:360px}
@media(max-width:1000px){.fi-chain-wrap3{grid-template-columns:1fr}}
.fi-chain-method{display:inline-block;margin-left:8px;padding:0 7px;border-radius:9px;background:#0f2033;border:1px solid #23405c;color:#7f93a8;font-size:10px;font-weight:600;letter-spacing:.02em;vertical-align:middle}
.fi-chain-badval{border-color:#7a3b2a!important;background:#241611!important}
.fi-chain-invalid{margin-top:4px}
.fi-chain-invalid>b{color:#FF7933;font-size:12px;letter-spacing:.03em}
.fi-chain-invraw{color:#d7c3b6;font-size:13px;margin-top:3px}
.fi-chain-expect{color:#8b9bab;font-size:12px;margin-top:3px;font-style:italic}
.fi-val-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;margin-top:6px}
.fi-val-ax{background:#0e1c2c;border:1px solid #1d3244;border-radius:8px;padding:10px 12px}
.fi-val-ax>b{color:#9fc8ff;font-size:12px;letter-spacing:.04em}
.fi-val-n{color:#dbe7f2;font-size:13px;margin:4px 0}
.fi-val-flag{border:1px solid #24405c;border-radius:8px;padding:8px 12px;margin-top:8px;background:#0e1c2c}
.fi-val-flag.ok{border-color:#245a44}
.fi-val-flag.warn{border-color:#7a5a2a;background:#20190f}
.fi-val-flag-h{font-size:13px;color:#e6eef7;font-weight:600}
.fi-val-flag-h b{color:#ffcf85;margin-left:4px}
.fi-val-flag.ok .fi-val-flag-h b{color:#6fe0a8}
.fi-val-samp{display:block;width:100%;text-align:left;margin-top:6px;padding:5px 8px;border:1px solid #23405c;border-radius:6px;background:#0f2033;color:#a9c0d6;font-size:12px;cursor:pointer}
.fi-val-samp:hover{background:#16324e;color:#e2eefb}
.fi-geo-group{margin-top:10px}
.fi-geo-gt{font-size:11px;letter-spacing:.05em;color:#8fb8d8;font-weight:600;margin-bottom:4px}
.fi-chain-side{display:flex;flex-direction:column;gap:14px}
.fi-side-block{border:1px solid var(--line);border-radius:10px;padding:11px 12px;background:rgba(6,15,24,.5)}
.fi-side-t{font:700 10px/1 "SFMono-Regular",monospace;letter-spacing:.1em;text-transform:uppercase;color:#8fa6bd;margin-bottom:9px}
.fi-cq-grid{display:grid;grid-template-columns:1fr auto;gap:6px 10px;align-items:center;font-size:12.5px;color:#aebccb}
.fi-cq-grid b{color:#eef4fa;font:12.5px "SFMono-Regular",monospace;justify-self:end}
.fi-issues{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:8px;counter-reset:iss}
.fi-issues li{display:flex;flex-direction:column;gap:1px;padding-left:20px;position:relative}
.fi-issues li::before{counter-increment:iss;content:counter(iss);position:absolute;left:0;top:0;font:700 10px/16px "SFMono-Regular",monospace;color:#8fa0b2;width:16px;height:16px;text-align:center;border:1px solid var(--line2);border-radius:4px}
.fi-issue-t{font:700 11px/1.2 "SFMono-Regular",monospace;letter-spacing:.04em}
.fi-issue-d{font-size:12px;color:#aebccb;line-height:1.4}
.fi-matc{display:flex;flex-direction:column;gap:7px}
.fi-matc-row{display:grid;grid-template-columns:96px 1fr 44px;align-items:center;gap:10px}
.fi-matc-axis{font:700 11px/1 "SFMono-Regular",monospace;letter-spacing:.05em;color:#dbe6f0}
.fi-matc-track{height:10px;background:rgba(255,255,255,.04);border-radius:5px;overflow:hidden}
.fi-matc-fill{display:block;height:100%;border-radius:5px}
.fi-matc-val{font:11px "SFMono-Regular",monospace;color:#aebccb;text-align:right}
.fi-dc-more{font:11px "SFMono-Regular",monospace;color:#8fa0b2;align-self:center;padding:5px 4px}

/* ==== Forged Insights — v25 maturity strip + chain browse ==== */
.fi-mstrip{display:flex;flex-wrap:wrap;gap:7px}
.fi-mstrip-chip{font:11.5px "SFMono-Regular",Consolas,monospace;color:#c9d6e2;border:1px solid var(--line);border-radius:7px;padding:5px 9px;display:inline-flex;align-items:center;gap:7px;cursor:help}
.fi-mstrip-chip i{width:9px;height:9px;border-radius:2px;flex:none}
.fi-mstrip-chip b{color:#f2f6fb}
.fi-browse-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:10px}
.fi-browse-card{text-align:left;border:1px solid var(--line);background:rgba(255,255,255,.02);border-radius:10px;padding:11px 12px;cursor:pointer;display:flex;flex-direction:column;gap:4px;transition:.15s var(--ease)}
.fi-browse-card:hover{border-color:rgba(255,122,48,.5);background:rgba(255,94,0,.05);transform:translateY(-1px)}
.fi-browse-doer{font:700 12.5px/1.2 "SFMono-Regular",Consolas,monospace;color:#8fd0ff}
.fi-browse-sum{font-size:13px;color:#dbe6f0;line-height:1.4}
.fi-browse-meta{display:flex;flex-wrap:wrap;gap:6px;margin-top:2px}
.fi-browse-obj{font:10.5px "SFMono-Regular",monospace;color:#F2A72C;border:1px solid rgba(255,181,71,.28);border-radius:5px;padding:2px 6px}
.fi-browse-aud{font:10.5px "SFMono-Regular",monospace;color:#8fa0b2}

/* ---- Copilot answer rendering ------------------------------------------
   The Copilot now renders real model output (markdown-ish prose, bullets)
   rather than a single canned sentence, so the bubble needs list, code,
   pending and error states it never had. */
.msg.ai .bubble p{margin:0 0 8px}
.msg.ai .bubble p:last-child{margin-bottom:0}
.msg.ai .bubble .cp-list{margin:0 0 8px;padding-left:18px}
.msg.ai .bubble .cp-list:last-child{margin-bottom:0}
.msg.ai .bubble .cp-list li{margin:0 0 4px;line-height:1.5}
.msg.ai .bubble code{font-family:Consolas,monospace;font-size:11.5px;padding:1px 4px;border-radius:4px;background:rgba(255,255,255,.06);color:var(--text)}
.msg.ai .bubble .cp-thinking{color:var(--faint);font-style:italic}
/* Failure is styled as failure. The predecessor answered every question
   successfully-looking, including ones it could not answer. */
.msg.ai .bubble .cp-error{color:#ffb4b5;border-left:2px solid rgba(255,93,96,.55);padding-left:9px}
.chat-form input:disabled{opacity:.55;cursor:progress}

/* ---- ADR-003 shell: nav grouping + Mission Thread context bar -----------
   The rail now separates global destinations from administration. The thread
   bar states scope ONCE at the top of a thread, which is what replaces the
   per-panel window tabs the truth pass removed. */
.nav-group-label{font:10px var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--faint);padding:7px 10px 2px}
.nav-divider{height:1px;background:var(--line);margin:11px 10px 3px}

.thread-bar{border:1px solid var(--line);border-radius:12px;background:linear-gradient(180deg,rgba(255,255,255,.03),rgba(255,255,255,.01));margin-bottom:12px}
.thread-bar[hidden]{display:none!important}
.thread-bar-top{display:flex;align-items:center;gap:13px;padding:11px 14px 10px;flex-wrap:wrap}
.thread-back{flex:none;border:1px solid var(--line);background:transparent;color:var(--muted);border-radius:8px;padding:5px 10px;font:11px var(--mono);letter-spacing:.06em;text-transform:uppercase;cursor:pointer}
.thread-back:hover{color:var(--text);border-color:rgba(255,255,255,.22)}
.thread-id{display:flex;align-items:center;gap:11px;min-width:0;flex:1 1 auto}
.thread-id>strong{font-size:16px;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.thread-chips{display:flex;gap:6px;flex-wrap:wrap}
.thread-chip{border:1px solid var(--line);border-radius:999px;padding:3px 9px;font:10px var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);white-space:nowrap}
.thread-chip[hidden]{display:none!important}

/* CURRENT ANALYSIS CONTEXT bar — shell level, above every scene view.
   THE [hidden] RULE IS LOAD-BEARING, NOT BOILERPLATE. This class sets
   `display`, and an author display rule beats the UA stylesheet's
   [hidden]{display:none} -- so without the line below, ctxBar.hidden = true
   would set the attribute and change nothing on screen. That is the exact
   defect ADR-014 case 1 was written about, and test_onboarding_flow.py scans
   for its absence by class. .thread-chip above carries the same rule for the
   same reason. */
.ctx-bar{display:flex;align-items:center;gap:7px;padding:7px 14px;border-bottom:1px solid var(--line);font:10px var(--mono);letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;overflow:hidden}
.ctx-bar[hidden]{display:none!important}
.ctx-bar-label{color:var(--faint);flex:none}
.ctx-bar-sep{color:var(--faint);flex:none}
.ctx-bar-chip{color:var(--muted);min-width:0;overflow:hidden;text-overflow:ellipsis}
.thread-scope{flex:none;margin-left:auto;font:11px var(--mono);letter-spacing:.05em;color:var(--faint)}
.thread-lenses{display:flex;gap:6px;flex-wrap:wrap;padding:10px 14px 11px;border-top:1px solid var(--line)}
.thread-lenses .lens{border:1px solid var(--line);background:rgba(255,255,255,.015);color:#7d8fa1;border-radius:16px;padding:5px 12px;font:11px var(--mono);letter-spacing:.06em;text-transform:uppercase;cursor:pointer}
.thread-lenses .lens:hover{color:var(--text);border-color:rgba(255,255,255,.2)}
.thread-lenses .lens.active{color:var(--text);border-color:rgba(168,119,255,.5);background:rgba(168,119,255,.1)}

/* Overview no longer carries a static globe — Map is the geographic lens.
   .globe-panel held grid-column 1; the mission panel now takes columns 1-2 and
   the alert panel keeps column 3. The 1/3 override at line ~878 is
   #orbitView-scoped and does not apply here. */
.dashboard .mission-panel{grid-column:1/3}

/* OBJECTIVE_AT_RISK is the backend's real verdict name; AT_RISK never existed
   there. Mirrors the amber treatment the wrong name used to get. */

/* Assessment severity comes from the server descriptor, so styling no longer
   depends on this file knowing every verdict name. */
[data-severity="positive"]{--verdict-color:var(--cyan);--vc:var(--cyan)}
[data-severity="nominal"]{--verdict-color:var(--muted);--vc:var(--muted)}
[data-severity="neutral"]{--verdict-color:var(--faint);--vc:var(--faint)}
[data-severity="watch"]{--verdict-color:var(--amber);--vc:var(--amber)}
[data-severity="elevated"]{--verdict-color:var(--amber);--vc:var(--amber)}
[data-severity="critical"]{--verdict-color:#FF5964;--vc:#FF5964}
/* A contract error is not a verdict. It must look like a fault, not a finding. */
[data-severity="error"]{--verdict-color:#9A6BF2;--vc:#9A6BF2;text-decoration:underline dotted}
/* Nothing was graded — do not leave a stray confidence figure behind. */
[data-assessed="0"] #verdictConfidence,
[data-assessed="0"] b{display:none}

[data-severity="pending"]{--verdict-color:var(--faint);--vc:var(--faint);opacity:.65}
/* Cockpit chip: severity from the server descriptor, not a good/off guess. */
#cockpitView .sev[data-severity="positive"]{color:#49D9A6;border-color:rgba(73,214,164,.35);background:rgba(73,214,164,.07)}
#cockpitView .sev[data-severity="nominal"],
#cockpitView .sev[data-severity="neutral"]{color:#8c9bab;border-color:rgba(140,155,171,.32);background:rgba(140,155,171,.06)}
#cockpitView .sev[data-severity="watch"],
#cockpitView .sev[data-severity="elevated"]{color:#ffc15e;border-color:rgba(244,184,68,.4);background:rgba(244,184,68,.08)}
#cockpitView .sev[data-severity="critical"]{color:#FF5964;border-color:rgba(255,95,105,.4);background:rgba(255,95,105,.08)}
#cockpitView .sev[data-severity="error"]{color:#9A6BF2;border-color:rgba(176,108,255,.42);background:rgba(176,108,255,.09)}

/* ---- Auth gate ---------------------------------------------------------- */
.auth-gate{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;
  background:radial-gradient(1200px 600px at 50% -10%,rgba(73,216,239,.10),transparent 60%),var(--bg,#050b12)}
.auth-gate[hidden]{display:none!important}
.auth-card{width:min(380px,92vw);display:flex;flex-direction:column;gap:9px;padding:26px 26px 20px;
  border:1px solid var(--line2,#1d2b38);border-radius:14px;background:rgba(6,14,22,.96);
  box-shadow:0 30px 90px rgba(0,0,0,.6)}
.auth-brand{display:flex;align-items:center;gap:10px;margin-bottom:6px}
.auth-brand small{display:block;color:var(--faint,#6b7c8c);font-size:11px}
.auth-card h1{margin:8px 0 0;font-size:20px;letter-spacing:.01em}
.auth-sub{margin:0 0 10px;color:var(--muted,#8c9bab);font-size:12.5px}
.auth-card label{font-size:11px;letter-spacing:.09em;text-transform:uppercase;color:var(--faint,#6b7c8c)}
.auth-card input{padding:9px 11px;border:1px solid var(--line2,#1d2b38);border-radius:8px;
  background:rgba(3,9,15,.9);color:#dbe6f0;font-size:14px}
.auth-card input:focus{outline:none;border-color:var(--cyan,#46DCE6);box-shadow:0 0 0 3px rgba(73,216,239,.12)}
.auth-card button{margin-top:12px;padding:10px;border-radius:8px;border:1px solid var(--cyan,#46DCE6);
  background:color-mix(in srgb,var(--cyan,#46DCE6) 16%,transparent);color:#cfeef7;font-weight:700;
  letter-spacing:.06em;cursor:pointer}
.auth-card button[disabled]{opacity:.55;cursor:progress}
.auth-err{padding:8px 10px;border-radius:7px;font-size:12.5px;color:#ffb4b4;
  border:1px solid rgba(255,93,96,.4);background:rgba(255,93,96,.09)}
.auth-err[hidden]{display:none!important}
.auth-foot{margin:10px 0 0;color:var(--faint,#6b7c8c);font-size:11.5px;text-align:center}
.scope-chip{font-size:11px;letter-spacing:.07em;padding:4px 9px;border-radius:999px;
  border:1px solid var(--line2,#1d2b38);color:var(--muted,#8c9bab);white-space:nowrap}
.scope-chip[hidden]{display:none!important}
.scope-chip[data-personalized="1"]{color:var(--cyan,#46DCE6);border-color:rgba(73,216,239,.35)}
/* Watch Floor card verdict — severity from the server descriptor. */
.wf-card-fields .v[data-severity="critical"]{color:#FF5964}
.wf-card-fields .v[data-severity="elevated"],
.wf-card-fields .v[data-severity="watch"]{color:#ffc15e}
.wf-card-fields .v[data-severity="positive"]{color:#49D9A6}
.wf-card-fields .v[data-severity="neutral"],
.wf-card-fields .v[data-severity="nominal"]{color:#8c9bab}
.wf-card-fields .v[data-severity="error"]{color:#9A6BF2;text-decoration:underline dotted}
#assessVerdict[data-severity="critical"]{color:#FF5964}
#assessVerdict[data-severity="elevated"],#assessVerdict[data-severity="watch"]{color:#ffc15e}
#assessVerdict[data-severity="positive"]{color:#49D9A6}
#assessVerdict[data-severity="neutral"],#assessVerdict[data-severity="nominal"]{color:#8c9bab}
#assessVerdict[data-severity="error"]{color:#9A6BF2;text-decoration:underline dotted}

/* ── PROVISIONAL / WITHHELD / STALE (#50, #45) ──────────────────────────
   A provisional model output must not borrow the visual language of an
   assessed verdict, and a withheld composite must not look like a number
   that merely failed to load. */
.tag-provisional{font-size:10px;letter-spacing:.08em;text-transform:uppercase;
  color:var(--dim);border:1px solid var(--line);border-radius:3px;
  padding:1px 5px;margin-left:6px;vertical-align:middle;font-weight:600}
.insight-main.provisional{border-left:2px solid var(--line);padding-left:10px}
.panel-note.provenance{margin-top:8px;line-height:1.5}
.risk-row.provisional .bar i{opacity:.4}
.risk-row .factor-status{display:block;font-size:10px;color:var(--dim);
  letter-spacing:.02em;margin-top:2px}
/* SPECIFICITY. `#cockpitView .risk-total` (line 712) sets display:flex at
   1-1-0; this state variant is 0-2-0, so the ID rule won and the three
   children laid out in a ROW -- 66px, 89px and 208px wide -- each
   wrapping into a narrow column. The withheld notice rendered as
   interleaved garble on the most analytically important panel in the
   product. The scoped variant below outranks it at 1-2-0.
   Same root shape as the panel-head defect above: a cockpit ID rule
   silently outranking a state-specific class rule. */
#cockpitView .risk-total.withheld{display:block}
.risk-total.withheld{display:block;border-top:1px solid var(--line);
  margin-top:10px;padding-top:12px}
.risk-total.withheld span{font-weight:600;color:var(--text)}
.risk-total.withheld .panel-note{margin-top:6px;line-height:1.5}
/* Paused collection is a BANNER, not a footnote: it must be read before any
   analytical value on the page, or a stale historical score is taken as a
   current assessment. Deliberately not red — a parked thread is an operator
   decision, not a fault. */
#ckFreshness.stale{display:flex;flex-wrap:wrap;align-items:center;gap:10px;
  color:var(--text);background:var(--surface-2);border:1px solid var(--line2);
  border-left:3px solid var(--muted);border-radius:8px;padding:10px 12px;margin:2px 0 4px}
#ckFreshness.stale .stale-flag{font-weight:700;letter-spacing:.06em;
  text-transform:uppercase;font-size:12px}
#ckFreshness.stale .stale-detail{color:var(--muted);font-size:12.5px}
/* The composite slot states its composition rather than sitting empty — a hole
   reads as a failed render and invites someone to put the score back. */
.risk-total.withheld .withheld-counts{color:var(--muted);font-size:13px;margin-top:4px;
  font-family:"SFMono-Regular",Consolas,monospace;letter-spacing:.02em}
.confidence-note{color:var(--muted);font-size:12.5px;line-height:1.4;max-width:22ch}

/* ── Collection-state chip (#45) ───────────────────────────────────────────
   Replaces the unconditional "● LIVE" chip. The colour carries the state:
   collecting is calm green, paused is amber, archived/unavailable/unknown are
   muted. UNKNOWN must never inherit the collecting treatment — an absent
   collection_state is not evidence that a thread is being collected. */
.live-chip.chip-active{color:#49D9A6;border-color:rgba(72,214,160,.28);background:rgba(72,214,160,.08)}
.live-chip.chip-paused{color:#F2A72C;border-color:rgba(255,181,71,.30);background:rgba(255,181,71,.09)}
.live-chip.chip-archived,
.live-chip.chip-unavailable,
.live-chip.chip-unknown{color:var(--muted);border-color:var(--line2);background:rgba(255,255,255,.03)}

/* ── Loom corroboration nodes: structure without magnitude (#44) ───────────
   .corr-node is a 34px/1fr grid; the 34px column used to hold a donut whose
   conic-gradient encoded a fabricated percentage. The dot fills that column so
   the row does not collapse, and carries the category colour only — it encodes
   no quantity, and there is no --pct anywhere in it. */
.corr-node .state-dot{width:10px;height:10px;border-radius:50%;background:var(--node);justify-self:center;box-shadow:0 0 0 3px rgba(255,255,255,.04)}
.stage-note{font-family:Consolas,monospace;font-size:10.5px;color:var(--muted);margin-top:6px;letter-spacing:.02em}

/* ── Withheld composite on the watch floor (#50) ───────────────────────────
   The score and its band are gone from the card, so the slot must not read as
   a rendering failure. The collection block takes the vacated prominence: an
   analyst needs to know a thread is not being collected BEFORE they weigh
   anything computed from it. Muted throughout — a severity hue here would
   reinstate the verdict in colour after removing it in text. */
.wf-risk.withheld{color:var(--muted);letter-spacing:.06em}
.wf-band.withheld{color:var(--muted);border-color:var(--line2);background:rgba(255,255,255,.03)}
.wf-coll{display:flex;flex-direction:column;gap:2px;margin:6px 0 2px;padding:6px 8px;border-radius:6px;
  border:1px solid var(--line2);background:rgba(255,255,255,.025);border-left:3px solid var(--muted)}
.wf-coll b{font-size:10.5px;letter-spacing:.09em;color:var(--text)}
.wf-coll span{font-size:10.5px;line-height:1.35;color:var(--muted)}
.wf-coll.is-paused{border-left-color:#F2A72C}
.wf-coll.is-paused b{color:#F2A72C}
.withheld-hero{font-size:15px;font-weight:600;letter-spacing:.01em;color:var(--muted)}

/* Risk controls disabled while the composite is withheld (#50). A control that
   silently returns nothing is read as breakage, so it is visibly inert and
   states the reason rather than failing quietly. */
.wf-chip.is-disabled{opacity:.55;cursor:not-allowed;color:var(--muted);border-color:var(--line2);background:rgba(255,255,255,.02)}
.wf-chip.is-disabled:hover{background:rgba(255,255,255,.02)}
#wfSort option:disabled{color:var(--muted)}
#orbitMarkerBasis{color:var(--muted);font-size:10.5px;margin-top:2px}
.chip.livechip.chip-active{color:#49D9A6;border-color:rgba(72,214,160,.28);background:rgba(72,214,160,.08)}
.chip.livechip.chip-paused{color:#F2A72C;border-color:rgba(255,181,71,.30);background:rgba(255,181,71,.09)}
.chip.livechip.chip-archived,.chip.livechip.chip-unavailable,.chip.livechip.chip-unknown{color:var(--muted);border-color:var(--line2);background:rgba(255,255,255,.03)}
.hud-withheld{font-size:12px;font-weight:600;color:var(--muted);letter-spacing:.01em}
.hud-state.hud-withheld-sub{font-size:10.5px;color:var(--muted);letter-spacing:.02em}

/* ===== #57 New Mission Thread — Define · Align · Readiness · Review ======== */
.wf-head-right{display:flex;flex-direction:column;align-items:flex-end;gap:8px}
.nt-open-btn{background:#1b6fe0;color:#fff;border:0;border-radius:7px;padding:9px 15px;
  font-size:13px;font-weight:600;cursor:pointer;letter-spacing:.01em}
.nt-open-btn:hover{background:#2a7df0}
.nt-view{padding:28px 34px 56px;max-width:980px}
.nt-head{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:22px}
.nt-title{font-size:26px;margin:4px 0 6px;letter-spacing:-.01em}
.nt-sub{color:var(--muted,#8b97a8);font-size:13.5px;max-width:62ch;line-height:1.5}
.nt-cancel{background:transparent;border:1px solid #2c3644;color:#8b97a8;border-radius:6px;
  padding:7px 13px;font-size:12.5px;cursor:pointer}
.nt-cancel:hover{color:#c8d2e0;border-color:#41506a}

.nt-steps{display:flex;gap:6px;list-style:none;padding:0;margin:0 0 26px;flex-wrap:wrap}
.nt-step{display:flex;align-items:center;gap:8px;padding:8px 14px;border-radius:6px;
  font-size:12.5px;color:#6b7788;background:#141a23;border:1px solid #1e2734}
.nt-step-n{display:inline-flex;width:19px;height:19px;border-radius:50%;background:#232d3b;
  color:#8b97a8;align-items:center;justify-content:center;font-size:11px;font-weight:700}
.nt-step.active{color:#e6edf6;border-color:#1b6fe0;background:#101d31}
.nt-step.active .nt-step-n{background:#1b6fe0;color:#fff}
.nt-step.done{color:#9fb0c4}
.nt-step.done .nt-step-n{background:#2c5f3f;color:#b9e8c9}

.nt-label{font-size:13px;font-weight:600;color:#dbe4f0;margin:22px 0 5px}
.nt-panel>.nt-label:first-child{margin-top:0}
.nt-hint{font-size:12.5px;color:#7e8b9c;line-height:1.55;margin-bottom:10px;max-width:74ch}
.nt-input,.nt-textarea{width:100%;background:#0e131a;border:1px solid #232d3b;border-radius:7px;
  color:#e6edf6;padding:10px 12px;font-size:13.5px;font-family:inherit;line-height:1.5}
.nt-input:focus,.nt-textarea:focus{outline:0;border-color:#1b6fe0}
.nt-textarea{resize:vertical}

.nt-modes{display:grid;gap:8px}
.nt-mode{display:grid;grid-template-columns:130px 1fr;gap:12px;align-items:baseline;
  text-align:left;background:#0e131a;border:1px solid #232d3b;border-radius:8px;
  padding:12px 14px;cursor:pointer;color:#c8d2e0}
.nt-mode:hover{border-color:#41506a}
.nt-mode.sel{border-color:#1b6fe0;background:#101d31}
.nt-mode-n{font-weight:700;font-size:13px;text-transform:capitalize;color:#e6edf6}
.nt-mode-d{font-size:12.5px;color:#8b97a8;line-height:1.45}
.nt-mode-tag{grid-column:2;font-size:11px;color:#d8a657;margin-top:3px}
.nt-unavail{font-size:12.5px;color:#d8a657;background:#241d12;border:1px solid #4a3a1c;
  border-radius:7px;padding:11px 13px;line-height:1.5}

.nt-priorities{display:grid;grid-template-columns:repeat(auto-fill,minmax(258px,1fr));gap:8px}
.nt-pri{display:grid;grid-template-columns:70px 1fr;gap:9px;align-items:baseline;text-align:left;
  background:#0e131a;border:1px solid #232d3b;border-radius:7px;padding:10px 12px;
  cursor:pointer;color:#c8d2e0;font-size:12.5px}
.nt-pri:hover{border-color:#41506a}
.nt-pri.sel{border-color:#1b6fe0;background:#101d31}
.nt-pri-id{font-size:11.5px;color:#7e8b9c}
.nt-pri.sel .nt-pri-id{color:#6fa8f5}
.nt-maturity{display:block;margin-top:5px;color:#d8a657;font-size:11.5px}

/* #59 SUGGESTED ALIGNMENT.
   Deliberately QUIETER than the priority buttons it sits above. A suggestion
   styled as the primary action becomes the default path, and the whole reason
   this feature is safe is that the manual path stays the real one. */
.nt-suggest{display:flex;align-items:center;gap:11px;flex-wrap:wrap;margin:0 0 11px}
.nt-suggest-btn{background:#131a24;border:1px dashed #41506a;border-radius:7px;
  padding:8px 13px;color:#9fb0c6;font-size:12.5px;cursor:pointer}
.nt-suggest-btn:hover:not(:disabled){border-color:#6fa8f5;color:#c8d2e0}
.nt-suggest-btn:disabled{opacity:.55;cursor:default}
.nt-suggest-note{font-size:11.5px;color:#7e8b9c}

.nt-proposal{background:#0e131a;border:1px solid #232d3b;border-radius:9px;
  padding:14px 16px;margin:0 0 13px}
.nt-prop-head{font-size:12.5px;color:#9fb0c6;margin-bottom:9px;line-height:1.5}
.nt-prop-head strong{color:#d8a657}
.nt-prop-reason{font-size:12.5px;color:#8b97a8;line-height:1.5;margin-bottom:11px;
  padding-left:10px;border-left:2px solid #232d3b}
/* A PIR is a narrower question under a priority; the kinds are labelled so a
   suggestion list never reads as one flat set of interchangeable things. */
.nt-prop-k{font-size:11px;text-transform:uppercase;letter-spacing:.07em;
  color:#7e8b9c;margin:13px 0 2px}
.nt-prop-row{display:flex;align-items:baseline;gap:9px;flex-wrap:wrap;
  padding:9px 0;border-top:1px solid #1a2431}
.nt-prop-row.on{background:#101d31;margin:0 -16px;padding-left:16px;padding-right:16px}
.nt-prop-apply{background:#16202c;border:1px solid #2f3d4f;border-radius:6px;
  padding:4px 11px;color:#c8d2e0;font-size:11.5px;cursor:pointer;flex:none}
.nt-prop-apply:hover{border-color:#6fa8f5}
.nt-prop-row.on .nt-prop-apply{border-color:#1b6fe0;color:#6fa8f5}
.nt-prop-nm{font-size:12.5px;color:#c8d2e0}
.nt-prop-why{flex-basis:100%;font-size:11.5px;color:#7e8b9c;line-height:1.5;margin-top:4px}
.nt-prop-none{font-size:12.5px;color:#8b97a8;line-height:1.5}
.nt-prop-foot{font-size:11.5px;color:#7e8b9c;line-height:1.5;margin-top:11px;
  padding-top:10px;border-top:1px solid #1a2431}
.nt-conf{font-size:10.5px;text-transform:uppercase;letter-spacing:.06em;
  border-radius:4px;padding:2px 7px;flex:none}
.nt-conf-high{background:#12281b;color:#7ee2a8}
.nt-conf-medium{background:#241d12;color:#d8a657}
.nt-conf-low{background:#1a2431;color:#8b97a8}
/* What the registry threw away, on screen rather than in a log. */
.nt-prop-drop{margin-top:11px;font-size:12px}
.nt-prop-drop summary{color:#d8a657;cursor:pointer;font-size:11.5px}
.nt-prop-drop ul{margin:8px 0 0;padding-left:18px;color:#8b97a8;line-height:1.7}
.nt-prop-dr{color:#7e8b9c;font-size:11px}
/* A button reached via a suggestion is marked, so the screen never presents
   the model's choice and the analyst's own as the same act. */
.nt-pri-model{border-style:dashed}
.nt-pri-model .nt-pri-id::after{content:' ·ai';color:#d8a657;font-size:9.5px}

/* SELECTED vs RESOLVED. The single distinction this screen must not blur. */
.nt-res{display:grid;grid-template-columns:1fr 34px 1fr;gap:12px;align-items:start;
  background:#0e131a;border:1px solid #232d3b;border-radius:9px;padding:15px 17px;margin:14px 0 0}
.nt-res-arrow{align-self:center;text-align:center;color:#41506a;font-size:17px}
.nt-res-k{font-size:11px;text-transform:uppercase;letter-spacing:.07em;color:#7e8b9c;margin-bottom:6px}
.nt-res-v{font-size:14px;color:#e6edf6;line-height:1.5}
.nt-res-v code{background:#1a2431;border-radius:4px;padding:2px 7px;font-size:12.5px;color:#6fa8f5}
.nt-res-row{display:flex;gap:8px;align-items:baseline;font-size:12.5px;color:#8b97a8;margin-top:6px}
.nt-res-row b{color:#e6edf6;font-size:13.5px;min-width:22px}
.nt-res-row.is-explicit b{color:#7ee2a8}
.nt-res-row.is-mapped b{color:#6fa8f5}
.nt-res-row.is-global b{color:#b99bf0}
.nt-res-note{font-size:12px;color:#7e8b9c;line-height:1.5;margin:9px 2px 0;max-width:80ch}

.nt-axes{display:grid;gap:11px;margin-top:6px}
.nt-axis{background:#0e131a;border:1px solid #232d3b;border-left:3px solid #41506a;
  border-radius:8px;padding:14px 17px}
.nt-axis-h{display:flex;justify-content:space-between;align-items:baseline;gap:14px;margin-bottom:7px}
.nt-axis-n{font-size:14px;font-weight:600;color:#e6edf6}
.nt-axis-s{font-size:11.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#8b97a8}
.nt-axis-b{font-size:12.5px;color:#9fb0c4;line-height:1.55}
.nt-axis.nt-ready{border-left-color:#2c8a52}.nt-axis.nt-ready .nt-axis-s{color:#7ee2a8}
.nt-axis.nt-partial{border-left-color:#b8862e}.nt-axis.nt-partial .nt-axis-s{color:#e8c07d}
.nt-axis.nt-not_ready{border-left-color:#a33b3b}.nt-axis.nt-not_ready .nt-axis-s{color:#f29e9e}
.nt-axis.nt-unknown{border-left-color:#5a6474}.nt-axis.nt-unknown .nt-axis-s{color:#a8b4c4}
.nt-axis.nt-not_applicable{border-left-color:#3d4854}.nt-axis.nt-not_applicable .nt-axis-s{color:#8b97a8}
.nt-what{font-size:11px;text-transform:uppercase;letter-spacing:.07em;color:#7e8b9c;margin:13px 0 6px}
.nt-remedy{margin:0;padding-left:19px;font-size:12.5px;color:#9fb0c4;line-height:1.75}
.nt-remedy b{color:#e6edf6}
.nt-remedy-rest b{color:#e8c07d}
.nt-remedy-note{font-size:12px;color:#7e8b9c;line-height:1.5;margin-top:9px;max-width:80ch}
.nt-nonblock{font-size:12.5px;color:#9fb0c4;background:#101d31;border:1px solid #1e3350;
  border-radius:7px;padding:11px 14px;margin-top:14px;line-height:1.5}

.nt-review-h{font-size:13px;color:#dbe4f0;font-weight:600;margin-bottom:14px}
.nt-kv{display:grid;grid-template-columns:190px 1fr;gap:16px;padding:12px 0;
  border-top:1px solid #1a222d;align-items:baseline}
.nt-kv-k{font-size:12px;color:#7e8b9c;text-transform:uppercase;letter-spacing:.05em}
.nt-kv-v{font-size:13.5px;color:#e6edf6;line-height:1.55}
.nt-kv-v code{background:#1a2431;border-radius:4px;padding:2px 7px;font-size:12.5px;color:#6fa8f5}
.nt-kv-sub{font-size:12px;color:#7e8b9c;margin-top:5px;line-height:1.5}
.nt-pill{display:inline-block;font-size:11px;font-weight:700;letter-spacing:.07em;
  padding:3px 9px;border-radius:4px;background:#232d3b;color:#c8d2e0}
.nt-pill.nt-paused{background:#3a2f16;color:#e8c07d}
.nt-pill.nt-unknown{background:#252b34;color:#a8b4c4}
.nt-pill.nt-not_ready{background:#3a1f1f;color:#f29e9e}
.nt-pill.nt-not_applicable{background:#232a33;color:#8b97a8}
.nt-pill.nt-ready{background:#16301f;color:#7ee2a8}
.nt-pill.nt-partial{background:#33290f;color:#e8c07d}

.nt-foot{display:flex;justify-content:space-between;align-items:center;gap:20px;
  margin-top:26px;padding-top:18px;border-top:1px solid #1a222d}
.nt-foot-actions{display:flex;gap:9px;margin-left:auto}
.nt-next{background:#1b6fe0;color:#fff;border:0;border-radius:7px;padding:10px 20px;
  font-size:13px;font-weight:600;cursor:pointer}
.nt-next:hover{background:#2a7df0}
.nt-next:disabled{opacity:.55;cursor:default}
.nt-back{background:transparent;border:1px solid #2c3644;color:#8b97a8;border-radius:7px;
  padding:10px 17px;font-size:13px;cursor:pointer}
.nt-back:hover{color:#c8d2e0;border-color:#41506a}
.nt-err{font-size:12.5px;color:#f29e9e;background:#2a1717;border:1px solid #4a2020;
  border-radius:7px;padding:11px 14px;line-height:1.55;max-width:70ch}
.nt-err-list{margin:7px 0 0;padding-left:19px}
.nt-err-note{margin-top:7px;color:#c9a0a0;font-size:12px}
.nt-loading{color:#7e8b9c;font-size:12.5px;padding:16px 0}

.nt-done{text-align:center;padding:34px 20px}
.nt-done-h{font-size:19px;color:#7ee2a8;font-weight:600;margin-bottom:9px}
.nt-done-id{font-size:12.5px;color:#8b97a8;margin-bottom:17px}
.nt-done-b{font-size:12.5px;color:#9fb0c4;line-height:1.6;max-width:62ch;margin:0 auto 11px}
.nt-done-go{margin-top:17px;background:#1b6fe0;color:#fff;border:0;border-radius:7px;
  padding:10px 20px;font-size:13px;font-weight:600;cursor:pointer}
.nt-pri-bad{opacity:.5;cursor:not-allowed;border-style:dashed}
.nt-pri-bad .nt-pri-id{color:#d8a657}

/* ===== SETTINGS =========================================================
   Built on the existing .panel / .panel-head primitives and the :root tokens
   rather than a new palette, so the surface cannot drift from the rest of the
   app the first time a token changes. The only genuinely new thing here is a
   select, because the app had no form-control styling at all -- grep for
   `select` in this file before this block returns nothing. */
.settings-view{padding:18px 20px 28px;max-width:1080px}
.set-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:14px;margin-top:14px}
.set-card{display:flex;flex-direction:column}
.set-body{padding:14px 15px 16px;position:relative;z-index:4;display:flex;flex-direction:column;gap:12px}
.set-row{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding-bottom:9px;border-bottom:1px solid var(--line)}
.set-row:last-child{border-bottom:0;padding-bottom:0}
.set-label{font-size:11px;letter-spacing:.07em;text-transform:uppercase;color:var(--text-tertiary)}
.set-value{font-size:12.5px;color:var(--text-secondary);text-align:right}
.set-field{display:flex;flex-direction:column;gap:7px}
.set-select{appearance:none;background:var(--surface-2);color:var(--text);border:1px solid var(--border-default);
  border-radius:8px;padding:9px 32px 9px 11px;font-size:13px;cursor:pointer;width:100%;
  background-image:linear-gradient(45deg,transparent 50%,var(--text-tertiary) 50%),linear-gradient(135deg,var(--text-tertiary) 50%,transparent 50%);
  background-position:calc(100% - 17px) 54%,calc(100% - 12px) 54%;background-size:5px 5px,5px 5px;background-repeat:no-repeat}
.set-select:hover{border-color:var(--border-strong);background-color:var(--surface-hover)}
.set-select:disabled{opacity:.5;cursor:not-allowed}
.set-help{font-size:11px;color:var(--text-tertiary);line-height:1.45}
/* A save that failed must not look like a save that worked. coerce() REFUSES
   an unrenderable value rather than substituting one, so the client has a real
   error to show, and showing it is the whole point of refusing.

   NO HEX FALLBACKS, and no hex in this comment either. These were written as
   var(--red, <literal>) and var(--green, <literal>). test_brand_tokens refused
   the deploy over the red one: its literal sat 37.3 units from Critical Red, and
   a near-twin of a SEMANTIC colour is a false distinction a reader will try to
   interpret -- two reds read as two severities. Both tokens exist
   unconditionally at :root, so the fallbacks were dead code that could only
   ever do harm.

   The first rewrite of this comment NAMED the offending values, and the suite
   failed again -- it scans this file for hex and cannot tell a declaration from
   prose about a declaration. Documenting a colour decision therefore has to
   describe the values rather than quote them. */
.set-status-err{color:var(--red)}
.set-status-ok{color:var(--green)}

/* ── ADMIN (settings) ─────────────────────────────────────────────────────
   Replaces /admin + admin.html, which carried its own palette and therefore
   looked nothing like the product. EVERY colour here is a token: the brand
   suite counts hex literals on these surfaces, and a one-off hex is exactly
   how the old page drifted. Status colours reuse the semantic accents rather
   than inventing a second vocabulary for the same three states. */
.adm-card{margin-top:18px}
.adm-body{padding:14px 16px 16px}

.adm-tabs{display:flex;gap:8px;margin-bottom:12px;border-bottom:1px solid var(--line)}
.adm-tab{appearance:none;background:none;border:0;border-bottom:2px solid transparent;
  color:var(--faint);font:inherit;font-size:12px;letter-spacing:.08em;text-transform:uppercase;
  padding:8px 10px;cursor:pointer;transition:color .18s var(--ease),border-color .18s var(--ease)}
.adm-tab:hover{color:var(--muted)}
.adm-tab.is-on{color:var(--text);border-bottom-color:var(--orange)}
.adm-tab b{font-weight:600;color:var(--faint);margin-left:6px}
.adm-tab.is-on b{color:var(--orange)}

.adm-filters{display:flex;gap:6px;flex-wrap:wrap;margin:0 0 12px}
.adm-chip{appearance:none;background:var(--surface-2);border:1px solid var(--border-subtle);
  border-radius:999px;color:var(--faint);font:inherit;font-size:11px;letter-spacing:.06em;
  text-transform:uppercase;padding:4px 12px;cursor:pointer;transition:all .18s var(--ease)}
.adm-chip:hover{background:var(--surface-hover);color:var(--muted)}
.adm-chip.is-on{background:var(--dm-navy);border-color:var(--border-default);color:var(--text)}

.adm-list{display:flex;flex-direction:column;gap:1px;background:var(--line);
  border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}
.adm-row{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1.6fr) minmax(0,1fr) auto;
  gap:12px;align-items:center;background:var(--panel);padding:11px 14px}
.adm-row:hover{background:var(--surface-2)}
.adm-row.is-head{background:var(--surface-2);font-size:10px;letter-spacing:.1em;
  text-transform:uppercase;color:var(--text-muted)}
.adm-name{color:var(--text);font-weight:600;font-size:13px}
.adm-meta{color:var(--faint);font-size:11px;margin-top:2px}
.adm-mail{color:var(--muted);font-size:12px;word-break:break-all}
.adm-when{color:var(--text-muted);font-size:11px}
.adm-empty{background:var(--panel);padding:22px 14px;text-align:center;color:var(--faint);font-size:13px}

.adm-status{display:inline-block;font-size:10px;letter-spacing:.08em;text-transform:uppercase;
  padding:2px 8px;border-radius:999px;border:1px solid}
.adm-status[data-s="pending"]{color:var(--amber);border-color:var(--amber)}
.adm-status[data-s="approved"]{color:var(--green);border-color:var(--green)}
.adm-status[data-s="denied"]{color:var(--red);border-color:var(--red)}
.adm-status[data-s="never"]{color:var(--amber);border-color:var(--amber)}
.adm-status[data-s="active"]{color:var(--green);border-color:var(--green)}

/* A duplicate submission is flagged rather than silently listed twice: the
   access_requests table holds the same person twice with one row approved and
   one pending, which is most of why approvals outnumber user accounts. */
.adm-dupe{color:var(--amber);font-size:10px;letter-spacing:.06em;text-transform:uppercase;
  border:1px solid var(--amber);border-radius:999px;padding:1px 7px;margin-left:8px}

.adm-acts{display:flex;gap:6px;justify-content:flex-end;flex-wrap:wrap}
.adm-btn{appearance:none;background:var(--surface-2);border:1px solid var(--border-default);
  border-radius:6px;color:var(--muted);font:inherit;font-size:11px;letter-spacing:.06em;
  text-transform:uppercase;padding:5px 11px;cursor:pointer;transition:all .18s var(--ease)}
.adm-btn:hover:not(:disabled){background:var(--surface-hover);color:var(--text)}
.adm-btn:disabled{opacity:.45;cursor:default}
.adm-btn.is-go{border-color:var(--green);color:var(--green)}
.adm-btn.is-go:hover:not(:disabled){background:var(--green);color:var(--bg)}
.adm-btn.is-no{border-color:var(--border-default);color:var(--faint)}
.adm-btn.is-del{border-color:var(--red);color:var(--red)}
.adm-btn.is-del:hover:not(:disabled){background:var(--red);color:var(--bg)}

.adm-cred{border:1px solid var(--green);border-radius:var(--radius);
  background:var(--surface-2);padding:14px 16px;margin-bottom:14px}
.adm-cred-head{color:var(--green);font-size:11px;letter-spacing:.08em;
  text-transform:uppercase;margin-bottom:10px}
.adm-cred-row{display:flex;align-items:center;gap:10px;margin-bottom:6px;font-size:13px}
.adm-cred-row span{color:var(--faint);min-width:110px;font-size:11px;
  letter-spacing:.06em;text-transform:uppercase}
.adm-cred-row code{color:var(--text);background:var(--panel);border:1px solid var(--line);
  border-radius:6px;padding:4px 10px;user-select:all}
.adm-cred-warn{color:var(--amber);font-size:11px;margin-top:8px}

.adm-note{border:1px solid var(--border-subtle);border-radius:var(--radius);
  background:var(--surface-2);color:var(--muted);font-size:12px;padding:10px 14px;margin-bottom:12px}
.adm-note[data-kind="err"]{border-color:var(--red);color:var(--red)}

@media (max-width:900px){
  .adm-row{grid-template-columns:1fr;gap:6px}
  .adm-acts{justify-content:flex-start}
}

/* ══ FIRST-RUN MISSION PROFILE ═══════════════════════════════════════════
   ZERO HEX LITERALS. test_brand_tokens asserts the hex set in this file
   EXACTLY equals the palette JSON, so one new colour here fails the gate --
   which is the point: the retired admin page's private palette is precisely
   why it looked nothing like the product. */
.ob-backdrop{position:fixed;inset:0;z-index:140;background:var(--bg-canvas);opacity:.72;
  backdrop-filter:blur(2px)}
.ob-backdrop[hidden]{display:none}

.ob-wrap{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);
  width:min(620px,94vw);max-height:88vh;z-index:141;display:flex;flex-direction:column;
  background:var(--panel);border:1px solid var(--border-strong);
  border-radius:var(--radius);box-shadow:var(--shadow)}
.ob-wrap[hidden]{display:none}

.ob-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;
  padding:20px 22px 12px;border-bottom:1px solid var(--border-subtle)}
.ob-head .eyebrow{color:var(--orange);letter-spacing:.14em}
.ob-head h2{font-size:21px;font-weight:700;margin-top:6px;color:var(--text)}

/* SKIP IS ALWAYS VISIBLE, never behind a menu or a second click. A flow you
   can only leave by finishing it is a gate whatever the code says. */
.ob-skip{appearance:none;background:none;border:0;color:var(--text-tertiary);
  font:inherit;font-size:13px;cursor:pointer;padding:6px 2px;flex:none;
  text-decoration:underline;text-underline-offset:3px}
.ob-skip:hover{color:var(--text-secondary)}

.ob-steps{display:flex;gap:6px;padding:12px 22px 0}
/* AN AUTHOR `display` RULE BEATS THE UA STYLESHEET'S [hidden]{display:none}.
   Without this, el.hidden = true does NOTHING to an element whose class sets
   display -- it keeps rendering, and the only symptom is on screen. The step
   dots stayed visible on the summary screen for exactly this reason, past 39
   structural assertions that had no way to see it. Every ob- class that sets
   display and can be hidden carries the guard. */
.ob-steps[hidden]{display:none}
.ob-dot{width:22px;height:3px;border-radius:2px;background:var(--border-default)}
.ob-dot.is-on{background:var(--orange)}

.ob-body{padding:14px 22px 6px;overflow:auto}
.ob-lede{font-size:14.5px;line-height:1.5;color:var(--text-secondary);margin-bottom:14px}

.ob-opts{display:flex;flex-direction:column;gap:8px}
.ob-opts[hidden]{display:none}
.ob-opt{appearance:none;text-align:left;width:100%;cursor:pointer;font:inherit;
  background:var(--surface);border:1px solid var(--border-default);
  border-radius:10px;padding:11px 13px;color:var(--text);
  transition:border-color .16s var(--ease),background .16s var(--ease)}
.ob-opt:hover{background:var(--surface-hover);border-color:var(--border-strong)}
.ob-opt.is-on{border-color:var(--orange);background:var(--surface-hover)}
.ob-opt-label{display:block;font-size:14px;font-weight:600}
.ob-opt-hint{display:block;font-size:12.5px;line-height:1.45;color:var(--text-tertiary);
  margin-top:3px}

.ob-extra{margin-top:12px}
.ob-extra label{display:block;font-size:12px;letter-spacing:.07em;text-transform:uppercase;
  color:var(--text-tertiary);margin-bottom:6px}
.ob-extra input{width:100%;background:var(--surface);color:var(--text);font:inherit;
  border:1px solid var(--border-default);border-radius:8px;padding:9px 11px}
.ob-extra input:focus{outline:none;border-color:var(--orange)}

.ob-done{padding:18px 22px 4px}
.ob-done .eyebrow{color:var(--orange);letter-spacing:.14em}
.ob-chip{font-size:19px;font-weight:700;color:var(--text);margin:8px 0 12px}
.ob-note{font-size:13.5px;line-height:1.6;color:var(--text-secondary)}

.ob-foot[hidden]{display:none}
.ob-foot{display:flex;align-items:center;gap:12px;padding:14px 22px 18px;
  border-top:1px solid var(--border-subtle);margin-top:14px}
.ob-status{flex:1;font-size:12.5px;color:var(--text-tertiary)}
.ob-back{appearance:none;background:none;border:1px solid var(--border-default);
  border-radius:8px;color:var(--text-secondary);font:inherit;font-size:13px;
  padding:8px 14px;cursor:pointer}
.ob-back:hover{border-color:var(--border-strong);color:var(--text)}
.ob-next{appearance:none;border:1px solid var(--orange);border-radius:8px;
  background:var(--orange);color:var(--bg-canvas);font:inherit;font-size:13px;
  font-weight:700;padding:8px 18px;cursor:pointer}
.ob-next:disabled{opacity:.45;cursor:default}

/* ── MISSION PROFILE IN SETTINGS ───────────────────────────────────────────
   Tokens only, no hex literals: test_brand_tokens.py holds the CSS hex set to
   exact equality with the palette JSON, so a raw colour here fails the gate.

   Every rule that sets `display` carries its own [hidden] guard. An author
   display rule BEATS the UA stylesheet's [hidden]{display:none}, which is how
   the onboarding step dots stayed visible on the summary screen while
   el.hidden was true -- a silent no-op, caught only by looking at it. */
/* THE SUMMARY describes the defaults being edited below it, never the
   resolved lens -- a header that summarised something other than the controls
   under it would be the same category of lie this redesign removed. */
.mp-hero{border:1px solid var(--border-default);border-radius:var(--radius);
  background:var(--surface);padding:14px 16px;margin-bottom:16px}
.mp-hero[hidden]{display:none}
.mp-hero-label{font-size:11px;letter-spacing:.08em;text-transform:uppercase;
  color:var(--text-tertiary);margin-bottom:6px}
.mp-hero-chip{font-size:16px;font-weight:700;color:var(--text);line-height:1.3}
.mp-hero-sum{font-size:12.5px;color:var(--text-secondary);margin-top:5px;line-height:1.5}

.mp-split{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);
  gap:16px;align-items:start}
.mp-split[hidden]{display:none}
@media (max-width:760px){ .mp-split{grid-template-columns:minmax(0,1fr)} }
.mp-col{border:1px solid var(--border-subtle);border-radius:var(--radius);
  padding:13px 14px;min-width:0}
.mp-col-ro{background:var(--surface)}
.mp-col-head{font-size:11px;letter-spacing:.08em;text-transform:uppercase;
  color:var(--text-tertiary);margin-bottom:11px}

/* WORK MODE AS CARDS. The difference between these six changes how the whole
   product behaves, so the explanation belongs next to the choice. */
.mp-modes{display:flex;flex-direction:column;gap:7px;min-width:0}
.mp-modes[hidden]{display:none}
.mp-mode{appearance:none;text-align:left;width:100%;cursor:pointer;font:inherit;
  background:var(--surface);border:1px solid var(--border-default);
  border-radius:9px;padding:9px 11px;transition:border-color .15s var(--ease)}
.mp-mode:hover{border-color:var(--border-strong)}
.mp-mode.is-on{border-color:var(--orange);background:var(--surface-hover)}
.mp-mode-label{display:block;font-size:13px;font-weight:600;color:var(--text)}
.mp-mode-hint{display:block;font-size:12px;line-height:1.45;
  color:var(--text-tertiary);margin-top:3px}

/* OPERATING LEVEL AS A SEGMENTED SWITCH. */
.mp-seg{display:flex;flex-wrap:wrap;gap:5px;min-width:0}
.mp-seg[hidden]{display:none}
.mp-seg-btn{appearance:none;font:inherit;font-size:12px;cursor:pointer;
  background:var(--surface);color:var(--text-secondary);
  border:1px solid var(--border-default);border-radius:7px;padding:5px 10px}
.mp-seg-btn:hover{border-color:var(--border-strong);color:var(--text)}
.mp-seg-btn.is-on{border-color:var(--orange);color:var(--text);
  background:var(--surface-hover);font-weight:600}

/* THE BEHAVIOURAL PREVIEW. Text is the server's EMPHASIS tuples. */
.mp-beh-mode{font-size:12px;font-weight:700;letter-spacing:.05em;
  text-transform:uppercase;color:var(--orange);margin-bottom:9px}
.mp-beh-lead{font-size:12px;color:var(--text-tertiary);margin-bottom:5px}
.mp-beh-list{margin:0 0 12px;padding-left:17px}
.mp-beh-list li{font-size:12.5px;line-height:1.55;color:var(--text-secondary)}
.mp-beh-row{display:flex;justify-content:space-between;gap:10px;
  padding:5px 0;border-top:1px solid var(--border-subtle)}
.mp-beh-row[hidden]{display:none}
.mp-beh-key{font-size:11px;letter-spacing:.05em;text-transform:uppercase;
  color:var(--text-tertiary)}
.mp-beh-val{font-size:12px;color:var(--text);text-align:right}
.mp-beh-val.is-unset{color:var(--text-tertiary)}

/* CURRENT EFFECTIVE CONTEXT — read-only, and the only place provenance is
   shown, because it is the only place layers compete. */
.mp-eff{margin-top:16px;border:1px solid var(--border-subtle);
  border-radius:var(--radius);padding:13px 14px}
.mp-eff[hidden]{display:none}
.mp-eff-row{display:flex;justify-content:space-between;align-items:center;
  gap:10px;padding:6px 0}
.mp-eff-row[hidden]{display:none}
.mp-eff-val{font-size:13px;color:var(--text)}
.mp-eff-empty{font-size:12.5px;color:var(--text-tertiary)}
.mp-layers{margin:11px 0 0;padding-left:17px}
.mp-layers li{font-size:11.5px;line-height:1.6;color:var(--text-tertiary)}
.mp-layers b{color:var(--text-secondary);font-weight:600}
.mp-guard{margin-top:9px;font-size:11.5px;color:var(--text-tertiary)}

.mp-rerun{appearance:none;background:none;border:1px solid var(--border-default);
  border-radius:8px;color:var(--text-secondary);font:inherit;font-size:12.5px;
  padding:5px 12px;cursor:pointer;transition:border-color .15s var(--ease)}
.mp-rerun:hover{border-color:var(--border-strong);color:var(--text)}
.mp-hero .mp-rerun{margin-top:11px}

.mp-fields{display:flex;flex-direction:column;gap:10px}
.mp-fields[hidden]{display:none}
/* STACKED, label above control, full width.
   This was a label | control grid, and the controls lost. Work mode is six
   cards with two-line hints and operating level is five segmented buttons:
   squeezed into a half-width track the cards became a narrow ribbon, the
   segments wrapped three-to-a-line, and the label floated vertically centred
   against a 500px-tall stack with nothing beside it. Giving the control the
   full width costs one line per field and makes every control legible.
   Screenshot, not reasoning. */
.mp-row{display:flex;flex-direction:column;gap:6px;margin-bottom:13px}
.mp-row[hidden]{display:none}
.mp-name{font-size:12px;letter-spacing:.06em;text-transform:uppercase;
  color:var(--text-tertiary)}
.mp-select{width:100%;min-width:0;background:var(--surface);color:var(--text);
  font:inherit;font-size:13px;border:1px solid var(--border-default);
  border-radius:8px;padding:7px 9px;cursor:pointer}
.mp-select:focus{outline:none;border-color:var(--orange)}
.mp-select:disabled{opacity:.55;cursor:default}

/* The SOURCE badge. 'you' reads as a choice; 'default' reads as nothing
   having chosen, which is the distinction a values-only screen cannot draw. */
.mp-src{font-size:11px;letter-spacing:.05em;text-transform:uppercase;
  white-space:nowrap;border-radius:999px;padding:3px 9px;
  border:1px solid var(--border-subtle);color:var(--text-tertiary)}
.mp-src.is-user{color:var(--text);border-color:var(--border-strong)}
.mp-src.is-override{color:var(--orange);border-color:var(--orange)}
.mp-src.is-unapplied{opacity:.6}

.mp-extra{margin-top:12px}
.mp-extra[hidden]{display:none}
.mp-extra input{width:100%;background:var(--surface);color:var(--text);font:inherit;
  border:1px solid var(--border-default);border-radius:8px;padding:9px 11px}
.mp-extra input:focus{outline:none;border-color:var(--orange)}

.mp-status{margin-top:10px;font-size:12px;color:var(--text-tertiary);min-height:1em}
.mp-status.is-ok{color:var(--text-secondary)}
.mp-status.is-err{color:var(--orange)}
