
:root{
  --page:#edf2f4;
  --panel:#f8fafb;
  --paper:#ffffff;
  --ink:#192126;
  --muted:#687983;
  --hair:#d8e1e5;
  --hair2:#e9eef0;
  --sys:#4f7283;
  --sys-dark:#273b45;
  --sys-bg:#f0f6f8;
  --sys-line:#91aebc;
  --green:#607b6a;
  --amber:#8a7350;
  --red:#9a5a5a;
  --cyan:#00eaff;
  --magenta:#ff2bd6;
  --violet:#7666b0;
  --mono:"SFMono-Regular",Consolas,"Liberation Mono",Menlo,monospace;
  --sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Inter,Arial,sans-serif;
  --top:64px;
  --left:248px;
  --right:306px;
  --reader:880px;
}
*{box-sizing:border-box}
html{scroll-behavior:auto;background:var(--page)}
body{
  margin:0;background:
    linear-gradient(90deg,rgba(86,116,129,.03) 1px,transparent 1px) 0 0/34px 34px,
    linear-gradient(rgba(86,116,129,.025) 1px,transparent 1px) 0 0/34px 34px,
    var(--page);
  color:var(--ink);font-family:var(--sans);min-height:100vh;
}
button,input{font:inherit}
button{color:inherit}
a{color:inherit}
.hidden{display:none!important}
.mono{font-family:var(--mono)}
.app{
  min-height:100vh;
}
.topbar{
  position:sticky;top:0;z-index:80;height:var(--top);
  display:grid;grid-template-columns:var(--left) minmax(0,1fr) var(--right);gap:1px;
  align-items:stretch;background:#cfdade;border-bottom:1px solid #c7d2d7;
}
.top-cell{
  background:rgba(249,251,252,.975);display:flex;align-items:center;padding:0 18px;min-width:0;
}
.brand{gap:12px}
.brand-mark{
  width:34px;height:34px;border:1px solid #bbcad1;background:#edf4f6;
  display:grid;place-items:center;font:700 .62rem/1 var(--mono);letter-spacing:.1em;color:#587583;flex:0 0 auto;
}
.eyebrow{
  font:700 .58rem/1.25 var(--mono);letter-spacing:.13em;text-transform:uppercase;color:#71838c;
}
.brand-title{font-size:.83rem;font-weight:670;letter-spacing:.025em;margin-top:3px;white-space:nowrap}
.ticker-wrap{justify-content:space-between;gap:18px}
.ticker{
  min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
  font:600 .67rem/1.4 var(--mono);color:var(--sys);
}
.connection-pulse{width:7px;height:7px;border-radius:50%;background:#79978a;box-shadow:0 0 0 3px rgba(121,151,138,.12);flex:0 0 auto}
.session-head{justify-content:space-between;gap:12px;font:600 .61rem/1.35 var(--mono);color:#72818a}
.session-head strong{display:block;color:#2f4048;font-size:.68rem}
.session-head button{
  border:1px solid #d1dce0;background:#fff;padding:6px 8px;cursor:pointer;font:700 .54rem/1 var(--mono);letter-spacing:.09em;color:#6d8089;
}
.session-head button:hover{background:#eff5f7;color:#3e5b68}

.shell{
  width:min(100%,1730px);margin:0 auto;
  display:grid;grid-template-columns:var(--left) minmax(0,var(--reader)) var(--right);
  gap:18px;padding:18px;justify-content:center;align-items:start;
}
.left,.right{
  position:sticky;top:calc(var(--top) + 18px);
  height:calc(100vh - var(--top) - 36px);
  overflow:auto;background:rgba(247,249,250,.97);border:1px solid var(--hair);
}
.left{padding:0 0 18px}
.right{padding:14px}
.workspace{
  min-width:0;border:1px solid var(--hair);background:var(--paper);min-height:calc(100vh - var(--top) - 36px);
  box-shadow:0 16px 55px rgba(31,51,61,.055);position:relative;overflow:clip;
}
.workspace::before{
  content:"";position:absolute;inset:0 0 auto;height:520px;pointer-events:none;opacity:.28;
  background:
    linear-gradient(90deg,rgba(112,145,160,.11) 1px,transparent 1px) 0 0/110px 100%,
    linear-gradient(rgba(112,145,160,.08) 1px,transparent 1px) 0 0/100% 92px;
  mask-image:linear-gradient(#000,transparent);
}
.file-index-head{padding:17px 16px 13px;border-bottom:1px solid var(--hair)}
.file-index-head h2{font-size:.82rem;margin:5px 0 0;letter-spacing:.06em}
.file-search{padding:12px 12px 9px;border-bottom:1px solid var(--hair2)}
.file-search input{
  width:100%;border:1px solid #d9e2e6;background:#fff;padding:8px 9px;
  color:var(--ink);font-size:.73rem;outline:none;
}
.file-search input:focus{border-color:#9eb4be;box-shadow:0 0 0 2px rgba(88,117,131,.08)}
.tree-group{border-bottom:1px solid var(--hair2);padding:8px 0}
.tree-label{
  display:flex;align-items:center;justify-content:space-between;gap:8px;padding:7px 14px 6px;
  font:700 .55rem/1.2 var(--mono);letter-spacing:.12em;color:#84929a;text-transform:uppercase;
}
.tree-label .state{font-size:.5rem;letter-spacing:.08em}
.tree-label.locked{color:#a4aeb3}
.tree-doc{
  width:100%;border:0;background:transparent;text-align:left;display:grid;grid-template-columns:32px minmax(0,1fr) 16px;
  gap:6px;align-items:start;padding:8px 14px;cursor:pointer;color:#344149;
}
.tree-doc:hover{background:#eef4f6}
.tree-doc.active{background:#e8f1f4;color:#233841}
.tree-doc.completed .doc-code::after{content:" ✓";color:#6e8a78}
.tree-doc .doc-code{font:700 .52rem/1.45 var(--mono);color:#6e8793;letter-spacing:.06em}
.tree-doc .doc-name{font-size:.72rem;line-height:1.35}
.tree-doc .open-glyph{font:700 .57rem/1 var(--mono);color:#96a5ac;padding-top:3px}
.tree-lock{
  padding:9px 14px 11px;color:#9aa7ad;font:600 .61rem/1.4 var(--mono);
  display:flex;justify-content:space-between;gap:10px;
}
.context-gate{
  margin:12px;border:1px solid #cbd8dd;background:#fff;padding:11px;
}
.context-gate .gate-title{font:700 .6rem/1.3 var(--mono);letter-spacing:.09em;color:#587482;text-transform:uppercase}
.context-gate p{font-size:.69rem;line-height:1.45;color:#75858d;margin:7px 0 10px}
.context-gate button{
  width:100%;border:1px solid #aac0ca;background:#edf5f7;padding:8px;
  font:700 .58rem/1 var(--mono);letter-spacing:.08em;cursor:pointer;color:#3d6272;
}
.context-gate button:hover{background:#e2eff3}

.doc-status{
  position:sticky;top:var(--top);z-index:35;height:38px;background:rgba(248,250,251,.95);backdrop-filter:blur(10px);
  border-bottom:1px solid var(--hair);display:flex;align-items:center;gap:14px;padding:0 22px;
  font:650 .55rem/1 var(--mono);letter-spacing:.09em;color:#7b8b93;text-transform:uppercase;
}
.doc-status .verified{color:#5c7968}
.doc-status .warn{color:var(--red)}
.doc-status .spacer{flex:1}
.progress-track{width:104px;height:3px;background:#dfe7ea;overflow:hidden}
.progress-track i{display:block;height:100%;width:0;background:#799ba9;transition:width .12s linear}

.doc-head{
  position:relative;z-index:1;padding:42px 54px 28px;border-bottom:1px solid var(--hair);
  background:linear-gradient(180deg,rgba(249,251,252,.94),rgba(255,255,255,.96));
}
.doc-head-grid{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:start}
.doc-id{font:700 .61rem/1 var(--mono);letter-spacing:.13em;color:#62808e}
.doc-head h1{font-size:1.85rem;line-height:1.16;letter-spacing:-.025em;margin:.45rem 0 .7rem;max-width:780px}
.doc-role{font-size:.86rem;line-height:1.6;color:#687982;max-width:74ch;margin:0}
.doc-chip{
  border:1px solid #cbd9df;background:#f3f8fa;padding:7px 9px;
  font:700 .56rem/1 var(--mono);letter-spacing:.08em;color:#5c7682;white-space:nowrap;
}
.doc-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}
.small-btn{
  border:1px solid var(--hair);background:#fff;padding:8px 10px;cursor:pointer;
  font:700 .57rem/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:#6e7e86;
}
.small-btn:hover,.small-btn.active{background:#eef5f7;border-color:#b7cad2;color:#456878}

.reader{
  position:relative;z-index:1;padding:24px 54px 80px;background:rgba(255,255,255,.96);
}
.reader-inner{max-width:74ch;margin:0 auto}
.record{position:relative;margin:0 0 11px}
.record[data-source-line]::before{
  content:attr(data-source-line);position:absolute;right:calc(100% + 14px);top:.34rem;
  width:32px;text-align:right;white-space:nowrap;
  font:600 .48rem/1 var(--mono);color:#c2cbcf;opacity:0;transition:opacity .15s;
}
.record[data-source-line]:hover::before{opacity:1}
.prose{
  font-size:1rem;line-height:1.75;color:#1e272c;white-space:pre-wrap;overflow-wrap:anywhere;
}
.dialogue{
  margin:10px 0;padding:7px 0 7px 16px;border-left:2px solid #dce4e7;
}
.dialogue .speaker{font:700 .56rem/1.2 var(--mono);letter-spacing:.09em;color:#748690;text-transform:uppercase;margin-bottom:4px}
.dialogue .spoken{font-size:1rem;line-height:1.68;color:#232c31}
.quote{
  font-size:1rem;line-height:1.72;border-left:1px solid #d7e0e4;padding:3px 0 3px 17px;color:#30383c;
}
.meta{
  font:600 .75rem/1.65 var(--mono);color:#697b84;padding:5px 0;white-space:pre-wrap;overflow-wrap:anywhere;
}
.heading{
  margin:32px 0 12px;padding-top:18px;border-top:1px solid var(--hair);
  font-size:1.08rem;line-height:1.35;font-weight:680;color:#27343a;
}
.heading.major{font-size:1.25rem;color:#1f2d33}
.loss{
  font:600 .78rem/1.65 var(--mono);color:#7f5656;border-left:2px solid #d8b7b7;padding:8px 0 8px 13px;background:#fcf9f9;
}
.telemetry{
  margin:8px 0;padding:9px 12px;border:1px solid #dbe5e9;background:#f5f8f9;
  font:600 .78rem/1.6 var(--mono);color:#405a66;overflow-wrap:anywhere;
}
.system{
  margin:10px 0;padding:12px 15px 13px;border:1px solid #d6e3e8;border-left:3px solid var(--sys-line);
  background:var(--sys-bg);box-shadow:inset 0 1px rgba(255,255,255,.85);
}
.system + .system{margin-top:-11px;border-top-color:#e5edef}
.system + .system .system-label{display:none}
.system-label{font:700 .56rem/1.2 var(--mono);letter-spacing:.12em;color:#63808d;text-transform:uppercase;margin-bottom:5px}
.system-text{font-size:1rem;line-height:1.68;color:#1e2d34;overflow-wrap:anywhere}
.system-source-prefix{font:750 .62rem/1.2 var(--mono);letter-spacing:.045em;color:#567985;white-space:nowrap}
.system-source-body{font:inherit;color:inherit}
.system.telemetry-system .system-source-prefix{color:#496b77}
.system.telemetry-system .system-text{font:600 .82rem/1.62 var(--mono);color:#36515d}
.record.active-corruption{
  outline:1px solid rgba(95,134,151,.35);outline-offset:6px;background:rgba(240,247,249,.45);
}
.record.active-corruption.archive{filter:saturate(.72);opacity:.78}
.record.active-corruption.encoding .system-text,
.record.active-corruption.encoding .prose{color:#315a6c;text-shadow:-1px 0 rgba(0,234,255,.45),1px 0 rgba(255,43,214,.35)}
.record.active-corruption.semantic{box-shadow:inset 10px 0 0 rgba(115,141,126,.08),inset -10px 0 0 rgba(123,105,166,.08)}
.record.active-corruption.identity{box-shadow:-3px 0 0 rgba(90,137,157,.24),3px 0 0 rgba(160,107,126,.18)}
.inline-fx{
  margin:10px 0 4px;padding:10px 12px;border:1px solid #cfdae0;background:rgba(250,252,253,.96);
  font:600 .66rem/1.5 var(--mono);color:#60757f;
}
.connection-marker{
  border:0;border-bottom:1px dotted #799aaa;background:transparent;padding:0 1px;margin:0;
  color:inherit;cursor:pointer;font:inherit;
}
.connection-marker:hover,.connection-marker:focus{background:#edf5f7;outline:none;border-bottom-color:#476d7f}
.connection-marker::after{content:"·";font:700 .7em/1 var(--mono);vertical-align:super;color:#6d8996;margin-left:1px}
.file-end{
  margin-top:54px;border-top:1px solid var(--hair);padding-top:24px;
}
.file-end .end-label{font:700 .59rem/1.3 var(--mono);letter-spacing:.12em;color:#66808c;text-transform:uppercase}
.file-end h3{font-size:1.08rem;margin:.45rem 0 .45rem}
.file-end p{font-size:.8rem;line-height:1.6;color:#76868d;margin:0 0 12px}
.file-end button{
  border:1px solid #abc0c9;background:#eef5f7;padding:9px 12px;cursor:pointer;
  font:700 .59rem/1 var(--mono);letter-spacing:.09em;color:#405f6c;text-transform:uppercase;
}

.rail-block{padding:0 0 14px;margin:0 0 14px;border-bottom:1px solid var(--hair2)}
.rail-block:last-child{border-bottom:0}
.rail-head{font:700 .55rem/1.2 var(--mono);letter-spacing:.12em;color:#809099;text-transform:uppercase;margin-bottom:9px}
.kv{display:flex;justify-content:space-between;gap:12px;font-size:.68rem;line-height:1.45;color:#7d8b92;margin:5px 0}
.kv b{font:700 .61rem/1.45 var(--mono);color:#364a53;text-align:right}
.kv b.good{color:#5e7d68}
.kv b.bad{color:var(--red)}
.monitor-card{border:1px solid #dee6e9;background:#fff;padding:9px;margin-top:8px}
.monitor-title{display:flex;justify-content:space-between;gap:9px;align-items:start}
.monitor-title b{font:700 .61rem/1 var(--mono);letter-spacing:.09em;color:#4e6b77}
.monitor-title span{font-size:.59rem;color:#809099;text-align:right}
.spark{display:block;width:100%;height:44px;margin:6px 0 2px}
.spark .grid{fill:none;stroke:#edf1f3;stroke-width:1}
.spark .trace{fill:none;stroke-width:1.65}
.spark .psns{stroke:#769cab}.spark .tdi{stroke:#9188b1}
.monitor-foot{font:600 .48rem/1.35 var(--mono);letter-spacing:.07em;color:#9aa5aa;text-transform:uppercase}
.channel{display:grid;grid-template-columns:32px 1fr;gap:7px;align-items:center;margin:5px 0}
.channel span{font:700 .49rem/1 var(--mono);color:#6f818a}
.channel i{height:3px;background:#e7edef;display:block;position:relative;overflow:hidden}
.channel i::after{content:"";position:absolute;left:0;top:0;bottom:0;width:var(--v);background:#89a7b4}
.connection-panel{display:grid;gap:8px}
.connection-empty{font-size:.69rem;line-height:1.5;color:#87949a}
.connection-card{border:1px solid #dce5e8;background:#fff;padding:9px}
.connection-card .c-head{display:flex;justify-content:space-between;gap:8px}
.connection-card .c-id{font:700 .49rem/1 var(--mono);letter-spacing:.08em;color:#7b909a}
.connection-card .c-relation{font:700 .47rem/1 var(--mono);color:#8c999f}
.connection-card strong{display:block;font-size:.7rem;line-height:1.35;margin:5px 0 4px}
.connection-card p{font-size:.63rem;line-height:1.45;color:#79888f;margin:0}
.connection-actions{display:flex;flex-wrap:wrap;gap:5px;margin-top:8px}
.connection-actions button{
  border:1px solid #d8e1e5;background:#f8fafb;padding:5px 6px;cursor:pointer;
  font:700 .48rem/1 var(--mono);letter-spacing:.05em;color:#617781;
}
.connection-actions button:hover{background:#edf5f7}
.connection-actions button.locked{cursor:default;color:#9ba7ac;background:#fafafa}
.event-log{display:grid;gap:6px;max-height:150px;overflow:auto}
.event{border:1px solid #e0e7ea;background:#fff;padding:7px 8px;font:600 .54rem/1.45 var(--mono);color:#798991}
.event time{color:#9aa5aa}
.rail-control{
  width:100%;border:1px solid #d6e0e4;background:#fff;margin-top:6px;padding:8px 9px;text-align:left;
  cursor:pointer;font:700 .54rem/1 var(--mono);letter-spacing:.07em;text-transform:uppercase;color:#667b85;
}
.rail-control:hover,.rail-control.active{background:#edf5f7;border-color:#b8cbd3;color:#476979}

.connect-screen{
  position:fixed;inset:0;z-index:5000;display:grid;place-items:center;padding:20px;
  background:
    linear-gradient(90deg,rgba(74,102,116,.04) 1px,transparent 1px) 0 0/30px 30px,
    linear-gradient(rgba(74,102,116,.03) 1px,transparent 1px) 0 0/30px 30px,
    #eef3f5;
  transition:opacity .32s ease,visibility .32s ease;
}
.connect-screen.dismissed{opacity:0;visibility:hidden}
.connect-shell{width:min(900px,100%);border:1px solid #c8d5db;background:#fff;box-shadow:0 32px 110px rgba(24,40,48,.13)}
.connect-top{display:flex;justify-content:space-between;align-items:center;padding:25px 28px;border-bottom:1px solid #dce5e9;background:#f9fbfb}
.connect-kicker{font:700 .61rem/1 var(--mono);letter-spacing:.14em;color:#6c828d}
.connect-top h1{font-size:1.52rem;margin:8px 0 0;letter-spacing:-.02em}
.connect-mark{width:58px;height:58px;border:1px solid #bfd0d7;background:#eff5f7;display:grid;place-items:center;font:700 .7rem/1 var(--mono);letter-spacing:.1em;color:#557482}
.connect-grid{display:grid;grid-template-columns:1fr 1.12fr}
.connect-main{padding:25px 28px;border-right:1px solid #e0e7ea}
.connect-line{display:flex;justify-content:space-between;gap:20px;padding:8px 0;border-bottom:1px solid #edf1f3;font:650 .58rem/1.35 var(--mono);color:#7c8c94}
.connect-line b{color:#344951;font-weight:700;text-align:right}
#connectBtn{width:100%;margin-top:20px;border:1px solid #a8bdc6;background:#eaf3f6;padding:11px;cursor:pointer;font:700 .63rem/1 var(--mono);letter-spacing:.11em;color:#375d6d}
.connect-monitor{padding:22px 24px;background:#fbfcfd}
.connect-monitor svg{width:100%;height:180px}
.connect-monitor .grid{fill:none;stroke:#e1e8eb;stroke-width:1}
.connect-monitor .a{fill:none;stroke:#7198a9;stroke-width:1.8}
.connect-monitor .b{fill:none;stroke:#9daeb6;stroke-width:1.5}
.connect-legend{display:flex;justify-content:space-between;font:650 .49rem/1 var(--mono);letter-spacing:.08em;color:#8a9aa2}
.connect-foot{padding:10px 28px;border-top:1px solid #e3eaed;font:600 .5rem/1.4 var(--mono);color:#99a4a9;background:#fbfcfc}

.glitch-overlay{position:fixed;inset:0;z-index:4000;pointer-events:none;opacity:0;visibility:hidden}
body.full-glitch .glitch-overlay{opacity:1;visibility:visible}
.glitch-white{position:absolute;inset:0;background:rgba(255,255,255,.16);animation:flash .1s steps(2,end) infinite}
.neon{position:absolute;filter:blur(11px);mix-blend-mode:screen;opacity:.85}
.neon.a{left:-9vw;top:0;width:35vw;height:100vh;background:linear-gradient(90deg,var(--cyan),transparent 75%);animation:leakA .16s steps(2,end) infinite}
.neon.b{right:-9vw;top:0;width:34vw;height:100vh;background:linear-gradient(270deg,var(--magenta),transparent 75%);animation:leakB .19s steps(2,end) infinite}
.glitch-slice{position:absolute;left:0;right:0;height:3px;background:#fff;box-shadow:-9px 0 var(--cyan),10px 0 var(--magenta);opacity:.9}
.glitch-slice.s1{top:19%;animation:sliceA .14s steps(2,end) infinite}
.glitch-slice.s2{top:47%;animation:sliceB .11s steps(2,end) infinite}
.glitch-slice.s3{top:76%;animation:sliceA .17s steps(2,end) infinite}
.ascii{position:absolute;margin:0;font:700 10px/1 var(--mono);color:var(--cyan);text-shadow:2px 0 var(--magenta);white-space:pre;overflow:hidden}
.ascii.top{left:0;right:0;top:0;height:38px}.ascii.bottom{left:0;right:0;bottom:0;height:38px}
.ascii.left{left:0;top:0;bottom:0;width:44px;writing-mode:vertical-rl}.ascii.right{right:0;top:0;bottom:0;width:44px;writing-mode:vertical-rl}
.glitch-box{
  position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:min(620px,calc(100vw - 46px));
  border:1px solid rgba(0,234,255,.7);background:rgba(255,255,255,.92);padding:17px 19px;
  box-shadow:-9px 0 0 rgba(0,234,255,.14),9px 0 0 rgba(255,43,214,.14),0 24px 80px rgba(0,0,0,.16);
}
.glitch-box .gt{font:700 .58rem/1 var(--mono);letter-spacing:.16em;color:#8c5a5a;text-transform:uppercase}
.glitch-box .gb{font:600 .72rem/1.55 var(--mono);color:#4f6873;margin-top:8px}
.fx-chip{
  position:fixed;left:12px;bottom:12px;z-index:3900;opacity:0;pointer-events:none;
  background:#172026;color:#dbe9ed;border:1px solid #607a85;padding:7px 8px;font:700 .52rem/1 var(--mono);letter-spacing:.08em;
}
body.local-glitch .fx-chip,body.full-glitch .fx-chip{opacity:.92}
body.full-glitch .topbar,body.full-glitch .shell{animation:jolt .085s steps(2,end) infinite;filter:saturate(1.25) contrast(1.06)}

.modal{
  position:fixed;inset:0;z-index:3000;background:rgba(22,31,36,.56);display:grid;place-items:center;padding:28px;
}
.modal-card{width:min(1100px,96vw);max-height:92vh;background:#fff;border:1px solid #bdccd2;box-shadow:0 25px 100px rgba(0,0,0,.28);display:grid;grid-template-rows:auto 1fr}
.modal-head{display:flex;justify-content:space-between;align-items:center;padding:12px 14px;border-bottom:1px solid #dbe4e8}
.modal-head strong{font-size:.78rem}
.modal-head button{border:1px solid #d4dfe3;background:#fff;padding:6px 8px;cursor:pointer;font:700 .53rem/1 var(--mono)}
.modal-body{overflow:auto;padding:14px;background:#f5f7f8}
.modal-body img{display:block;max-width:100%;height:auto;margin:0 auto;background:#fff;border:1px solid #d8e1e5}

@keyframes flash{0%,100%{opacity:.08}50%{opacity:.4}}
@keyframes leakA{0%{transform:translateX(-5vw)}50%{transform:translateX(5vw) scaleX(1.25)}100%{transform:translateX(-2vw)}}
@keyframes leakB{0%{transform:translateX(3vw)}50%{transform:translateX(-6vw)}100%{transform:translateX(1vw)}}
@keyframes sliceA{0%{transform:translateX(-8vw)}50%{transform:translateX(9vw)}100%{transform:translateX(-2vw)}}
@keyframes sliceB{0%{transform:translateX(10vw)}50%{transform:translateX(-11vw)}100%{transform:translateX(4vw)}}
@keyframes jolt{0%{transform:translate(0)}25%{transform:translate(2px,-1px)}50%{transform:translate(-3px,1px)}75%{transform:translate(1px,2px)}100%{transform:translate(0)}}

body.reduced-motion.full-glitch .topbar,body.reduced-motion.full-glitch .shell{animation:none;filter:none}
body.reduced-motion .neon,body.reduced-motion .glitch-slice{display:none}
body.reduced-motion .glitch-white{animation:none;opacity:.1}
body.reduced-motion .ascii{text-shadow:none;opacity:.45}
body.reduced-motion *{scroll-behavior:auto!important}

@media(max-width:1260px){
  :root{--right:0px}
  .topbar{grid-template-columns:var(--left) 1fr}
  .topbar .session-head{display:none}
  .shell{grid-template-columns:var(--left) minmax(0,var(--reader))}
  .right{display:none}
}
@media(max-width:840px){
  :root{--top:58px}
  .topbar{grid-template-columns:1fr}
  .ticker-wrap{display:none}
  .brand{justify-content:space-between}
  .shell{display:block;padding:10px}
  .left{position:relative;top:auto;height:auto;margin-bottom:10px;max-height:none}
  .left.compact .tree-group,.left.compact .file-search,.left.compact .context-gate{display:none}
  .left.compact .file-index-head{border-bottom:0}
  .workspace{min-height:70vh}
  .doc-status{top:var(--top);padding:0 12px;gap:8px;overflow:auto}
  .doc-status .source-range,.doc-status .display-mode{display:none}
  .doc-head{padding:28px 20px 22px}
  .doc-head-grid{display:block}
  .doc-chip{display:inline-block;margin-top:14px}
  .doc-head h1{font-size:1.48rem}
  .reader{padding:18px 20px 56px}
  .record[data-source-line]::before{display:none}
  .connect-grid{grid-template-columns:1fr}
  .connect-main{border-right:0;border-bottom:1px solid #e0e7ea}
  .connect-monitor{display:none}
}
@media(prefers-reduced-motion:reduce){
  body:not(.force-motion) .neon,body:not(.force-motion) .glitch-slice{display:none}
  body:not(.force-motion).full-glitch .topbar,body:not(.force-motion).full-glitch .shell{animation:none;filter:none}
  *{scroll-behavior:auto!important}
}

/* ==========================================================
   v1.2 — archival typography, two-volume index, corpus search
   ========================================================== */
:root{
  --book:Garamond,"Adobe Garamond Pro","EB Garamond",Baskerville,"Times New Roman",serif;
  --system:"Courier New",Courier,"Nimbus Mono PS",monospace;
}

/* Stable typographic roles: UI sans / manuscript Garamond / SYSTEM Courier */
.prose,.dialogue .spoken,.quote,.file-end p{
  font-family:var(--book);
  font-size:1.115rem;
  line-height:1.72;
  letter-spacing:.002em;
  color:#20262a;
}
.dialogue .spoken{font-size:1.095rem;line-height:1.68}
.quote{font-size:1.095rem;line-height:1.7}
.heading{
  font-family:var(--book);
  font-size:1.18rem;
  line-height:1.32;
  font-weight:600;
  letter-spacing:.005em;
}
.heading.major{font-size:1.34rem;font-weight:600}
.doc-head h1{font-family:var(--book);font-weight:600;font-size:2.02rem;letter-spacing:-.015em}
.doc-role{font-family:var(--book);font-size:.98rem;line-height:1.55}

/* SYSTEM should read like a continuous institutional transmission, not stacked cards. */
.system{
  margin:13px -8px 14px;
  padding:11px 18px 12px 21px;
  border:0;
  border-left:2px solid #91aebc;
  background:linear-gradient(90deg,rgba(226,239,244,.72) 0%,rgba(240,246,248,.42) 68%,rgba(255,255,255,0) 100%);
  box-shadow:none;
}
.system + .system{
  margin-top:-14px;
  padding-top:5px;
  border-top:0;
  background:linear-gradient(90deg,rgba(226,239,244,.60) 0%,rgba(240,246,248,.30) 68%,rgba(255,255,255,0) 100%);
}
.system + .system .system-label{display:none}
.system-label{
  font-family:var(--system);
  font-size:.64rem;
  line-height:1.2;
  font-weight:700;
  letter-spacing:.11em;
  color:#607f8d;
  margin-bottom:7px;
}
.system-text{
  font-family:var(--system);
  font-size:1.075rem;
  line-height:1.62;
  font-weight:400;
  letter-spacing:-.01em;
  color:#1f3038;
}
.system.telemetry-system{
  background:linear-gradient(90deg,rgba(235,242,245,.72),rgba(248,250,251,.22) 75%,transparent);
  border-left-color:#7d99a6;
}
.system.telemetry-system .system-text{
  font-family:var(--system);
  font-size:.91rem;
  line-height:1.58;
  font-weight:400;
  color:#3c5662;
}
.telemetry,.meta,.loss{font-family:var(--system)}
.telemetry{font-size:.84rem;line-height:1.58;border:0;border-left:2px solid #c5d4da;background:#f7f9fa;padding:8px 12px}
.meta{font-size:.79rem}
.loss{font-size:.82rem}

/* Volume architecture */
.volume-switch{
  display:grid;grid-template-columns:1fr 1fr;gap:1px;
  margin:0;background:#d9e2e6;border-bottom:1px solid var(--hair);
}
.volume-tab{
  min-width:0;border:0;background:#f7f9fa;padding:10px 8px 9px;text-align:left;cursor:pointer;color:#6b7d86;
}
.volume-tab:hover{background:#eef4f6}
.volume-tab.active{background:#e8f1f4;color:#2e4d5b;box-shadow:inset 0 -2px #7f9eac}
.volume-tab span{display:block;font:700 .58rem/1 var(--mono);letter-spacing:.1em}
.volume-tab small{display:block;margin-top:5px;font:600 .47rem/1.25 var(--mono);letter-spacing:.025em;color:#8b989e;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.volume-tab.active small{color:#6f838d}

.search-row{display:grid;grid-template-columns:minmax(0,1fr) 38px;gap:5px}
.file-search input{font-size:.75rem;padding:9px 9px}
#searchScopeBtn{
  border:1px solid #d9e2e6;background:#f8fafb;cursor:pointer;
  font:700 .52rem/1 var(--mono);letter-spacing:.06em;color:#6b808a;
}
#searchScopeBtn:hover,#searchScopeBtn.all{background:#eaf2f5;border-color:#b9ccd4;color:#426574}
.search-help{margin-top:6px;font:600 .46rem/1.3 var(--mono);letter-spacing:.07em;color:#9aa5aa;text-transform:uppercase}

.search-results{border-bottom:1px solid var(--hair);background:#fbfcfc;max-height:52vh;overflow:auto;padding:7px 0}
.search-result{
  width:100%;border:0;border-bottom:1px solid #edf1f3;background:transparent;text-align:left;padding:9px 12px;cursor:pointer;color:#324049;
}
.search-result:last-child{border-bottom:0}
.search-result:hover{background:#edf4f6}
.search-result-top{display:grid;grid-template-columns:40px minmax(0,1fr) auto;gap:7px;align-items:baseline}
.search-result .result-id{font:700 .54rem/1 var(--mono);color:#587887;letter-spacing:.06em}
.search-result .result-title{font-size:.69rem;line-height:1.25;font-weight:650;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.search-result .result-count{font:700 .48rem/1 var(--mono);color:#8a9aa2}
.search-result .result-snippet{margin-top:5px;font-family:var(--book);font-size:.72rem;line-height:1.35;color:#738087;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.search-result .result-snippet mark{background:#e5eef1;color:#294754;padding:0 1px}
.search-empty{padding:16px 13px;font:600 .58rem/1.45 var(--mono);color:#929ea4}

.tree-volume-summary{
  padding:9px 14px;border-bottom:1px solid var(--hair2);background:#fbfcfc;
  font:650 .51rem/1.35 var(--mono);letter-spacing:.07em;color:#829199;text-transform:uppercase;
  display:flex;justify-content:space-between;gap:10px;
}
.tree-label{font-size:.57rem}
.tree-doc .doc-name{font-family:var(--book);font-size:.79rem;line-height:1.25}
.tree-doc .doc-code{font-size:.54rem}

.volume-badge{
  display:inline-flex;align-items:center;border:1px solid #cbd9df;background:#f7fafb;padding:8px 10px;
  font:700 .55rem/1 var(--mono);letter-spacing:.09em;color:#647c87;
}

/* Search hits inside a file */
.search-hitbar{
  position:sticky;top:calc(var(--top) + 38px);z-index:34;min-height:35px;
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding:6px 16px;border-bottom:1px solid #d7e2e6;background:rgba(241,247,249,.97);backdrop-filter:blur(10px);
  font:700 .55rem/1.25 var(--mono);letter-spacing:.06em;color:#5f7782;
}
.search-hit-actions{display:flex;gap:5px}
.search-hit-actions button{
  border:1px solid #cad9df;background:#fff;padding:5px 7px;cursor:pointer;
  font:700 .49rem/1 var(--mono);letter-spacing:.06em;color:#617882;
}
.search-hit-actions button:hover{background:#e8f1f4}
.search-mark{background:#e6eff2;color:#173743;border-bottom:1px solid #7698a7;padding:0 .04em;border-radius:1px}
.search-mark.current{background:#d2e4ea;box-shadow:0 0 0 2px rgba(99,143,161,.16)}

/* Slightly calmer reader canvas to support the archival typography. */
.reader{padding-top:30px}
.reader-inner{max-width:76ch}
.record{margin-bottom:13px}
.workspace::before{opacity:.20}

@media(max-width:840px){
  .left.compact .volume-switch,.left.compact .search-results,.left.compact .search-help{display:none}
  .doc-head h1{font-size:1.72rem}
  .prose,.dialogue .spoken,.quote{font-size:1.06rem}
  .system-text{font-size:1.02rem}
  .system{margin-left:-2px;margin-right:-2px;padding-left:15px}
  .search-hitbar{top:var(--top);padding:6px 10px}
  .volume-badge{display:none}
}
/* v1.2 final tuning */
:root{--book:Garamond,"Iowan Old Style","Adobe Garamond Pro","EB Garamond",Baskerville,Georgia,serif}
.system-text{font-size:1.1rem}
@media(max-width:840px){
  .left.compact .tree-volume-summary{display:none}
  .system-text{font-size:1.045rem}
}


/* ==========================================================
   v1.3 — reading-first manuscript typography
   Goal: one continuous document, not stacked UI fragments.
   ========================================================== */

/* One book face for essentially all manuscript content.
   UI chrome can remain sans/mono, but reading text does not jump typefaces. */
:root{
  --book:"Iowan Old Style","Palatino Linotype",Palatino,"Book Antiqua",Georgia,serif;
}

/* Establish a single comfortable reading rhythm. */
.reader{
  padding:30px 58px 92px;
  background:#fff;
}
.reader-inner{
  max-width:78ch;
  margin:0 auto;
}
.record{
  margin-bottom:12px;
}

.prose,
.dialogue .spoken,
.quote,
.system-text,
.system.telemetry-system .system-text,
.telemetry,
.meta,
.loss,
.file-end p{
  font-family:var(--book);
  font-weight:400;
  letter-spacing:0;
}

/* Main manuscript voice */
.prose,
.dialogue .spoken,
.quote,
.system-text{
  font-size:1.105rem;
  line-height:1.78;
  color:#20272b;
}

/* Human dialogue becomes part of the same page rather than a boxed transcript. */
.dialogue{
  margin:12px 0 14px;
  padding:0;
  border:0;
}
.dialogue .speaker{
  margin:0 0 3px;
  font-family:var(--sans);
  font-size:.64rem;
  line-height:1.25;
  font-weight:700;
  letter-spacing:.07em;
  color:#718089;
  text-transform:uppercase;
}
.dialogue .spoken{
  margin:0;
}

/* Quotes no longer create another visual column. */
.quote{
  margin:14px 0;
  padding:0 0 0 18px;
  border:0;
  color:#30383c;
  position:relative;
}
.quote::before{
  content:"";
  position:absolute;
  left:0;
  top:.28em;
  bottom:.28em;
  width:1px;
  background:#d8e0e4;
}

/* SYSTEM speech: same manuscript typeface, same size, no box, no wash, no left rail.
   Only the tiny speaker label distinguishes it. */
.system{
  margin:13px 0 15px;
  padding:0;
  border:0;
  background:transparent;
  box-shadow:none;
}
.system + .system{
  margin-top:-5px;
  padding-top:0;
  border:0;
  background:transparent;
}
.system-label{
  margin:0 0 3px;
  font-family:var(--sans);
  font-size:.64rem;
  line-height:1.25;
  font-weight:700;
  letter-spacing:.07em;
  text-transform:uppercase;
  color:#647d88;
}
.system + .system .system-label{
  display:none;
}
.system-text{
  color:#24343b;
  overflow-wrap:anywhere;
}

/* Telemetry stays slightly quieter, but no longer switches to Courier or a box. */
.system.telemetry-system{
  margin:11px 0 13px;
  padding:0;
  border:0;
  background:transparent;
}
.system.telemetry-system .system-text{
  font-size:1.02rem;
  line-height:1.72;
  color:#48606a;
}
.telemetry{
  margin:11px 0 13px;
  padding:0;
  border:0;
  background:transparent;
  font-size:1.00rem;
  line-height:1.7;
  color:#52656d;
}

/* Metadata is still secondary, but stays in the same book family. */
.meta{
  padding:4px 0;
  font-size:.96rem;
  line-height:1.62;
  color:#66747b;
}
.loss{
  margin:11px 0;
  padding:0;
  border:0;
  background:transparent;
  font-size:1.00rem;
  line-height:1.7;
  color:#765c5c;
}

/* Headings are book typography too; differences are hierarchy, not font changes. */
.heading{
  margin:34px 0 14px;
  padding-top:18px;
  border-top:1px solid #e2e7e9;
  font-family:var(--book);
  font-size:1.18rem;
  line-height:1.38;
  font-weight:600;
  color:#253036;
}
.heading.major{
  font-size:1.34rem;
  line-height:1.32;
  font-weight:600;
}
.doc-head h1{
  font-family:var(--book);
  font-size:2rem;
  line-height:1.17;
  font-weight:600;
}
.doc-role{
  font-family:var(--book);
  font-size:1rem;
  line-height:1.58;
}

/* Keep interaction markers quiet enough not to interrupt reading. */
.connection-marker{
  border:0;
  border-bottom:1px dotted #a1b1b8;
  background:transparent;
}
.connection-marker:hover,
.connection-marker:focus{
  background:#f4f7f8;
  border-bottom-color:#718e9a;
}
.connection-marker::after{
  color:#93a5ad;
}

/* Corruption can still break the page, but the normal state remains plain. */
.inline-fx{
  margin:12px 0;
  padding:8px 0 8px 12px;
  border:0;
  border-left:1px solid #bdcbd1;
  background:transparent;
  font-size:.76rem;
  line-height:1.55;
}

/* Mobile keeps exactly the same reading hierarchy. */
@media(max-width:840px){
  .reader{padding:24px 22px 72px}
  .prose,
  .dialogue .spoken,
  .quote,
  .system-text{
    font-size:1.06rem;
    line-height:1.76;
  }
  .system.telemetry-system .system-text,
  .telemetry,
  .loss{
    font-size:.99rem;
  }
  .system{margin-left:0;margin-right:0;padding:0}
}


/* ==========================================================
   v1.4 — final reading hierarchy cleanup
   ========================================================== */

/* Consistent long-form text scale */
.reader-inner{max-width:76ch}

.prose,
.dialogue .spoken,
.quote,
.system-text{
  font-size:1.075rem;
  line-height:1.76;
}

.system.telemetry-system .system-text,
.telemetry,
.loss{
  font-size:1.00rem;
  line-height:1.70;
}

.meta{
  font-size:.98rem;
  line-height:1.66;
}

/* Labels stay visible without becoming microtext */
.dialogue .speaker,
.system-label{
  font-size:.70rem;
  line-height:1.3;
  letter-spacing:.055em;
}

/* Remove arbitrary heading jumps.
   There are now only three predictable manuscript heading levels. */
.heading{
  font-family:var(--book);
  color:#253036;
  font-weight:600;
}

.heading.heading-major,
.heading.major{
  margin:38px 0 16px;
  padding-top:20px;
  border-top:1px solid #dfe5e8;
  font-size:1.30rem;
  line-height:1.34;
}

.heading.heading-section{
  margin:27px 0 10px;
  padding-top:0;
  border-top:0;
  font-size:1.13rem;
  line-height:1.40;
}

.heading.heading-minor{
  margin:19px 0 8px;
  padding-top:0;
  border-top:0;
  font-size:1.03rem;
  line-height:1.45;
  font-weight:600;
  color:#46545b;
}

/* Document chrome stays clearly separate from manuscript headings. */
.doc-head h1{
  font-size:1.82rem;
  line-height:1.20;
}
.doc-id{font-size:.64rem}
.doc-role{font-size:1rem}

/* End-of-file text no longer drops to noticeably smaller body text. */
.file-end h3{
  font-family:var(--book);
  font-size:1.10rem;
  line-height:1.4;
}
.file-end p{
  font-family:var(--book);
  font-size:.96rem;
  line-height:1.65;
}

/* Tiny source/UI text remains UI, but never competes with reading content. */
.search-hitbar,
.doc-status{
  font-size:.58rem;
}

/* Mobile retains the same hierarchy rather than collapsing into mixed scales. */
@media(max-width:840px){
  .prose,
  .dialogue .spoken,
  .quote,
  .system-text{
    font-size:1.055rem;
    line-height:1.75;
  }
  .dialogue .speaker,
  .system-label{
    font-size:.69rem;
  }
  .heading.heading-major,
  .heading.major{
    font-size:1.24rem;
    margin-top:32px;
  }
  .heading.heading-section{font-size:1.11rem}
  .heading.heading-minor{font-size:1.02rem}
}


/* ==========================================================
   v1.5 — free archive + source-form framing + live reconstruction
   ========================================================== */

.doc-form{
  margin:.42rem 0 .35rem;
  font:700 .64rem/1.25 var(--sans);
  letter-spacing:.10em;
  color:#66808b;
  text-transform:uppercase;
}
.tree-doc .doc-name{
  display:grid;
  gap:2px;
  min-width:0;
}
.tree-doc .doc-name strong{
  font:600 .72rem/1.24 var(--sans);
  color:inherit;
  overflow:hidden;
  text-overflow:ellipsis;
}
.tree-doc .doc-name small{
  font:600 .50rem/1.2 var(--sans);
  letter-spacing:.055em;
  color:#94a1a7;
  text-transform:uppercase;
  white-space:normal;
}
.context-gate.free{
  border-color:#dce5e8;
  background:#f8fafb;
}
.context-gate.free button{display:none}

.telemetry-mode{
  margin:7px 0 8px;
  font:700 .51rem/1.35 var(--mono);
  letter-spacing:.075em;
  color:#7f8f97;
}
.telemetry-warning{
  padding:7px 8px;
  border:1px solid #dde6e9;
  background:#f8fafb;
  font:700 .55rem/1.4 var(--mono);
  letter-spacing:.04em;
  color:#60747e;
  transition:background .25s ease,border-color .25s ease,color .25s ease;
}
.telemetry-warning.elevated{
  background:#faf8f2;
  border-color:#e6ddc8;
  color:#7a6a46;
}
.telemetry-warning.warning{
  background:#fbf4ec;
  border-color:#ead5bc;
  color:#815d36;
}
.telemetry-warning.critical{
  background:#fbefef;
  border-color:#e8c7c7;
  color:#824b4b;
}
.monitor-card.dynamic{padding:9px 9px 8px}
.monitor-card.dynamic .monitor-title span{
  font:700 .67rem/1 var(--mono);
  color:#526b76;
}
.dynamic-spark{height:48px}
.dynamic-spark .trace{
  fill:none;
  stroke-width:1.8;
  stroke-linejoin:round;
  stroke-linecap:round;
}
.dynamic-spark .mdi{stroke:#718f9b}
.dynamic-spark .cpp{stroke:#9a89a5;stroke-dasharray:3 2}
.telemetry-dot{stroke:#fff;stroke-width:1.2}
.tdi-dot{fill:#9188b1}
.psns-dot{fill:#769cab}
.semantic-key{
  display:flex;
  justify-content:flex-end;
  gap:10px;
  margin:-2px 0 3px;
  font:700 .49rem/1 var(--mono);
  color:#87979f;
}
.semantic-key span:first-child::before{content:"— ";color:#718f9b}
.semantic-key span:last-child::before{content:"┄ ";color:#9a89a5}
.channel-bank .channel i::after{transition:width .22s ease}
.channel-bank .monitor-title span{
  font:700 .55rem/1 var(--mono);
  letter-spacing:.06em;
  color:#788a93;
}
.tree-label .state{color:#788f99}
.tree-label.locked,.tree-lock{display:none!important}
.volume-tab{cursor:pointer}

@media(max-width:840px){
  .doc-form{font-size:.61rem}
  .tree-doc .doc-name small{font-size:.48rem}
}


/* ==========================================================
   v1.6 — archive semantic-density / optional rest cue
   ========================================================== */

.density-dot{
  fill:#6f94a3;
  stroke:#fff;
  stroke-width:1.2;
}
.density-components{
  display:grid;
  gap:5px;
  margin:7px 0 5px;
  padding-top:7px;
  border-top:1px solid #edf1f3;
}
.density-components.hidden{display:none}
.density-component{
  display:grid;
  grid-template-columns:54px 1fr;
  align-items:center;
  gap:7px;
}
.density-component span{
  font:700 .48rem/1 var(--mono);
  letter-spacing:.055em;
  color:#82929a;
}
.density-component i{
  display:block;
  height:3px;
  position:relative;
  overflow:hidden;
  background:#edf1f3;
}
.density-component i::after{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:var(--v);
  background:#8ca6b1;
  transition:width .22s ease;
}

/* Reading-density cues stay deliberately quieter than anomaly warnings. */
.telemetry-warning.density-reading{
  border-color:#e1e8eb;
  background:#fafcfc;
  color:#697b83;
}
.telemetry-warning.density-reading.elevated{
  border-color:#dce6e9;
  background:#f7fafb;
  color:#647d87;
}
.telemetry-warning.density-reading.high{
  border-color:#d9e3e6;
  background:#f5f8f9;
  color:#556d77;
}
.telemetry-warning.density-reading.very-high{
  border-color:#d5dfe3;
  background:#f3f7f8;
  color:#495f69;
}


/* ==========================================================
   v1.7 — blackout-local glitching + connection atlas
   ========================================================== */
.blackout-seq{
  display:inline-block;
  position:relative;
  padding:.08em .18em .1em;
  border-radius:2px;
  background:rgba(31,44,52,.07);
  color:#192227;
  letter-spacing:.02em;
  transition:transform .15s ease, filter .15s ease, background .2s ease, text-shadow .15s ease;
}
.blackout-seq::before,
.blackout-seq::after{
  content:"";
  position:absolute;
  inset:-1px;
  pointer-events:none;
  opacity:0;
  transition:opacity .15s ease;
}
.blackout-seq.blackout-active{background:rgba(34,48,57,.11)}
.blackout-seq.fx-jitter{animation:blackoutJitter .55s steps(3,end) 1;text-shadow:-1px 0 rgba(0,234,255,.55),1px 0 rgba(255,43,214,.35)}
.blackout-seq.fx-shear{transform:skewX(-6deg) translateX(-1px);filter:contrast(1.08) saturate(1.08)}
.blackout-seq.fx-shear::before{opacity:.75;border-top:1px solid rgba(0,234,255,.55);border-bottom:1px solid rgba(255,43,214,.32)}
.blackout-seq.fx-bleed::before,
.blackout-seq.fx-bleed::after{content:attr(data-glitch);font:700 .55rem/1 var(--mono);white-space:nowrap;inset:auto 0 auto 0;opacity:.7}
.blackout-seq.fx-bleed::before{top:-1.05em;color:rgba(0,234,255,.8)}
.blackout-seq.fx-bleed::after{bottom:-1.05em;color:rgba(255,43,214,.7)}
.blackout-seq.fx-ascii::after{content:attr(data-glitch);inset:auto -.2em -1.05em auto;color:#4a6672;font:700 .55rem/1 var(--mono);opacity:.78;white-space:nowrap}
.record.blackout-disturbance .prose,
.record.blackout-disturbance .system-text,
.record.blackout-disturbance .spoken,
.record.blackout-disturbance .meta,
.record.blackout-disturbance .loss{text-shadow:-.5px 0 rgba(0,234,255,.18),.5px 0 rgba(255,43,214,.14)}
@keyframes blackoutJitter{0%{transform:translate(0,0)}25%{transform:translate(1px,-1px)}50%{transform:translate(-2px,1px)}75%{transform:translate(2px,0)}100%{transform:translate(0,0)}}

.atlas-mini-wrap{border:1px solid #dce5e8;background:#fbfcfd;padding:9px;margin-bottom:10px}
.atlas-mini-head{display:flex;align-items:center;justify-content:space-between;gap:10px;font:700 .5rem/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:#7a8c95;margin-bottom:8px}
.atlas-mini-btn{border:1px solid #d3dfe4;background:#fff;padding:5px 6px;cursor:pointer;font:700 .47rem/1 var(--mono);letter-spacing:.07em;color:#627882}
.atlas-mini-btn:hover{background:#edf5f7;color:#476979}
.mini-atlas,.atlas-canvas{display:block;width:100%;height:auto;background:#fff;border:1px solid #e5ecef}
.atlas-summary{margin-top:8px;font-size:.63rem;line-height:1.45;color:#7b8a92}
.atlas-card{width:min(1260px,98vw)}
.atlas-body{background:#f7fafb}
.atlas-help{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:10px;font-size:.68rem;line-height:1.5;color:#6e7f87}
.atlas-help b{color:#314750}
.atlas-legend{display:flex;align-items:center;gap:10px;white-space:nowrap;font:700 .52rem/1 var(--mono);letter-spacing:.06em;color:#819198}
.atlas-legend .lg{display:inline-block;width:10px;height:10px;border-radius:50%;vertical-align:middle;margin-right:3px;border:1px solid #adc0c9;background:#fff}
.atlas-legend .lg.current{background:#4f7283;border-color:#4f7283}
.atlas-legend .lg.neighbor{background:#eef5f7;border-color:#7f9cab}
.atlas-legend .lg.volume2{background:#f7f2fb;border-color:#a89ac5}
.mini-atlas .edge,.atlas-canvas .edge{stroke:#d7e2e6;stroke-width:1;fill:none}
.mini-atlas .edge.highlight,.atlas-canvas .edge.highlight{stroke:#8aa6b3;stroke-width:1.8}
.mini-atlas .node,.atlas-canvas .node{cursor:pointer}
.mini-atlas .node circle,.atlas-canvas .node circle{fill:#fff;stroke:#aebfc7;stroke-width:1.2}
.mini-atlas .node text,.atlas-canvas .node text{font:700 9.5px/1 var(--mono);fill:#607680;pointer-events:none}
.mini-atlas .node .label-title,.atlas-canvas .node .label-title{font:600 9.6px/1 var(--sans);fill:#4c5f68}
.mini-atlas .node.current circle,.atlas-canvas .node.current circle{fill:#4f7283;stroke:#4f7283}
.mini-atlas .node.current text,.atlas-canvas .node.current text{fill:#fff}
.mini-atlas .node.neighbor circle,.atlas-canvas .node.neighbor circle{fill:#eef5f7;stroke:#7f9cab}
.mini-atlas .node.volume2 circle,.atlas-canvas .node.volume2 circle{fill:#f7f2fb;stroke:#a89ac5}
.atlas-canvas .group-band{fill:#fbfcfd;stroke:#e4ebee;stroke-width:1}
.atlas-canvas .group-title{font:700 12px/1 var(--mono);letter-spacing:.08em;fill:#7e9198}
.atlas-canvas .column-title{font:700 11px/1 var(--mono);letter-spacing:.08em;fill:#8a9aa2}
.atlas-canvas .node .label-form{font:600 9px/1 var(--sans);fill:#95a2a8}
.atlas-canvas .node:hover circle,.mini-atlas .node:hover circle{stroke:#4e7382;stroke-width:1.6}
@media(max-width:840px){.atlas-help{display:block}.atlas-legend{margin-top:8px;white-space:normal}}


/* ==========================================================
   v1.7.3 — exact Dr. Black murk + focused connection explorer
   ========================================================== */

/* Only the exact P0 dialogue speaker label receives this class in JS.
   The aura is permanently faintly visible, so the effect is never dependent
   on an observer/timer firing. Animation adds low-amplitude murky corruption. */
.dr-black-speaker{
  position:relative;
  width:max-content;
  max-width:100%;
  overflow:visible;
  isolation:isolate;
  z-index:0;
  padding:.08rem .22rem .12rem;
  background:linear-gradient(90deg,rgba(0,0,0,.055),rgba(18,19,20,.025) 62%,rgba(0,0,0,0));
  box-shadow:0 0 8px rgba(0,0,0,.09),0 0 18px rgba(16,17,18,.055);
  margin-left:-.22rem;
}
.dr-black-speaker::before,
.dr-black-speaker::after{
  content:"";
  position:absolute;
  pointer-events:none;
  z-index:0;
}
.dr-black-speaker::before{
  inset:-7px -13px -8px -12px;
  border-radius:48% 52% 44% 56%;
  background:
    radial-gradient(ellipse at 28% 48%,rgba(0,0,0,.24) 0%,rgba(10,10,11,.16) 28%,rgba(30,31,32,.09) 49%,rgba(0,0,0,0) 73%),
    radial-gradient(ellipse at 69% 42%,rgba(4,5,6,.18) 0%,rgba(20,21,22,.10) 37%,rgba(0,0,0,0) 69%),
    radial-gradient(ellipse at 51% 72%,rgba(0,0,0,.13) 0%,rgba(18,18,19,.07) 38%,rgba(0,0,0,0) 70%);
  filter:blur(3.1px);
  opacity:.82;
  mix-blend-mode:multiply;
  animation:drBlackCloud 6.6s ease-in-out infinite;
}
.dr-black-speaker::after{
  left:12%;right:4%;bottom:-5px;height:6px;
  background:linear-gradient(90deg,rgba(0,0,0,0),rgba(3,4,5,.16) 18%,rgba(27,28,29,.11) 48%,rgba(1,2,2,.18) 76%,rgba(0,0,0,0));
  filter:blur(2.5px);
  opacity:.48;
  transform-origin:center;
  animation:drBlackLeak 8.2s steps(1,end) infinite;
}
.dr-black-speaker-label{position:relative;z-index:2;display:inline-block;overflow:visible}
.dr-black-prefix,.dr-black-suffix{position:relative;z-index:2}
.dr-black-mark{
  position:relative;
  z-index:3;
  display:inline-block;
  color:#020303;
  font-family:var(--mono);
  font-weight:900;
  letter-spacing:.025em;
  text-shadow:0 0 1px #000,0 0 5px rgba(0,0,0,.28),0 0 10px rgba(21,22,23,.15);
  filter:contrast(1.18);
  transform-origin:center;
  animation:drBlackMark 7.4s steps(1,end) infinite;
}
.dr-black-mark::before{
  content:"███";
  position:absolute;
  inset:0;
  color:rgba(22,23,24,.34);
  z-index:-1;
  filter:blur(.85px);
  transform:translate(1px,1px);
  opacity:.68;
  animation:drBlackGhost 9.1s steps(1,end) infinite;
}
.dr-black-record:hover .dr-black-speaker::before{opacity:.92;filter:blur(4px)}
.dr-black-record:hover .dr-black-mark{text-shadow:0 0 1px #000,0 0 8px rgba(0,0,0,.36),0 0 15px rgba(24,25,26,.20)}
@keyframes drBlackCloud{
  0%,100%{transform:translate(0,0) scale(.98,.94);opacity:.58;filter:blur(3px)}
  18%{transform:translate(-1px,1px) scale(1.03,.98);opacity:.76;filter:blur(3.5px)}
  36%{transform:translate(2px,-1px) scale(1.06,1.02);opacity:.64;filter:blur(4px)}
  58%{transform:translate(-2px,0) scale(1.01,.97);opacity:.79;filter:blur(3.3px)}
  76%{transform:translate(1px,1px) scale(1.04,1.01);opacity:.61;filter:blur(3.8px)}
}
@keyframes drBlackLeak{
  0%,66%,100%{transform:translate(0,0) scaleX(.92);opacity:.34}
  70%{transform:translate(-3px,1px) scaleX(1.08);opacity:.65}
  73%{transform:translate(5px,2px) scaleX(.86);opacity:.50}
  76%{transform:translate(1px,1px) scaleX(1.02);opacity:.62}
  80%{transform:translate(0,0) scaleX(.92);opacity:.34}
}
@keyframes drBlackMark{
  0%,55%,100%{transform:translate(0,0) skewX(0);letter-spacing:.025em;filter:contrast(1.18)}
  57%{transform:translate(.7px,-.3px) skewX(-3deg);letter-spacing:.045em;filter:contrast(1.28)}
  59%{transform:translate(-.8px,.2px) skewX(2deg);letter-spacing:.015em;filter:contrast(1.12)}
  61%{transform:translate(.35px,0) skewX(-1deg);letter-spacing:.035em;filter:contrast(1.24)}
  64%{transform:translate(0,0) skewX(0);letter-spacing:.025em;filter:contrast(1.18)}
}
@keyframes drBlackGhost{
  0%,71%,100%{opacity:.42;transform:translate(1px,1px)}
  73%{opacity:.70;transform:translate(-2px,0)}
  75%{opacity:.24;transform:translate(3px,-1px)}
  77%{opacity:.62;transform:translate(-1px,1px)}
  80%{opacity:.42;transform:translate(1px,1px)}
}
body.reduced-motion .dr-black-speaker::before,
body.reduced-motion .dr-black-speaker::after,
body.reduced-motion .dr-black-mark,
body.reduced-motion .dr-black-mark::before{
  animation:none!important;
}
/* Even in reduced motion, retain the static murky identity. */
body.reduced-motion .dr-black-speaker::before{opacity:.66}
body.reduced-motion .dr-black-speaker::after{opacity:.42}

/* Cleaner local web: IDs only, no label collision. */
.atlas-mini-wrap{background:#fbfcfd;border-color:#e0e8eb;padding:9px}
.mini-atlas{background:#fff;border-color:#e8eef0}
.mini-atlas .edge{stroke:#d7e1e5;stroke-width:1.05}
.mini-atlas .edge.highlight{stroke:#7595a3;stroke-width:1.8}
.mini-atlas .node circle{fill:#fff;stroke:#aebfc7;stroke-width:1.2}
.mini-atlas .node.neighbor circle{fill:#f5f8f9;stroke:#94aab4}
.mini-atlas .node.volume2 circle{fill:#f7f4fa;stroke:#b2a7c7}
.mini-atlas .node.current circle{fill:#4f7283;stroke:#4f7283}
.mini-atlas .node text{font:700 9px/1 var(--mono);fill:#60737c}
.mini-atlas .node.current text{fill:#fff}

/* Full atlas is now a focused star rather than a whole-corpus spaghetti graph. */
.atlas-card{width:min(1200px,98vw)}
.atlas-body{background:#f6f9fa;padding:12px}
.atlas-help{margin-bottom:9px}
.atlas-toolbar{
  display:flex;align-items:center;gap:6px;flex-wrap:wrap;
  padding:8px;border:1px solid #dde6e9;background:#fff;margin-bottom:8px;
}
.atlas-toolbar button,.atlas-toolbar select{
  border:1px solid #d1dde2;background:#fbfcfc;color:#5a707a;
  min-height:30px;padding:6px 8px;font:700 .52rem/1 var(--mono);letter-spacing:.05em;
}
.atlas-toolbar button{cursor:pointer}
.atlas-toolbar button:hover:not(:disabled){background:#edf4f6;color:#3e6271}
.atlas-toolbar button:disabled{opacity:.4;cursor:default}
.atlas-toolbar select{min-width:230px;max-width:360px}
.atlas-toolbar-spacer{flex:1}
#atlasPageLabel{font:700 .52rem/1 var(--mono);color:#7b8e97;min-width:38px;text-align:center}
.atlas-focus-meta{
  display:flex;justify-content:space-between;gap:18px;align-items:baseline;
  padding:7px 10px;border:1px solid #e1e8eb;border-bottom:0;background:#fbfcfc;
}
.atlas-focus-meta strong{font:700 .63rem/1.35 var(--mono);letter-spacing:.05em;color:#405c68}
.atlas-focus-meta span{font:600 .54rem/1.35 var(--mono);color:#83939a;text-align:right}
.atlas-canvas{
  width:100%;height:min(68vh,650px);background:#fff;border:1px solid #dfe7ea;
  touch-action:none;cursor:grab;user-select:none;
}
.atlas-canvas.dragging{cursor:grabbing}
.atlas-canvas .atlas-bg{fill:#fff}
.atlas-canvas .edge{stroke:#d7e1e5;stroke-width:1.2;fill:none}
.atlas-canvas .node{cursor:pointer}
.atlas-canvas .node circle{fill:#fff;stroke:#9fb3bc;stroke-width:1.35}
.atlas-canvas .node.neighbor circle{fill:#f6f9fa;stroke:#8ea7b2}
.atlas-canvas .node.volume2 circle{fill:#f7f4fa;stroke:#aa9ec2}
.atlas-canvas .node.current circle{fill:#4f7283;stroke:#4f7283;stroke-width:1.8}
.atlas-canvas .node:hover circle{stroke:#3f6879;stroke-width:2}
.atlas-canvas .node-id{font:700 10px/1 var(--mono);fill:#566f7a;pointer-events:none}
.atlas-canvas .node.current .node-id{fill:#fff}
.atlas-canvas .label-title{font:600 10px/1 var(--sans);fill:#4e616a;pointer-events:none}
.atlas-canvas .edge-relation{font:700 8px/1 var(--mono);letter-spacing:.04em;fill:#9aa7ad;pointer-events:none}
.atlas-canvas .focus-caption{font:600 11px/1 var(--sans);fill:#435861;pointer-events:none}
.atlas-canvas .atlas-empty-text{font:700 10px/1 var(--mono);letter-spacing:.08em;fill:#a0abad}
.atlas-pan-note{padding:7px 3px 0;text-align:center;font:700 .47rem/1.3 var(--mono);letter-spacing:.08em;color:#9aa6ab}
@media(max-width:840px){
  .atlas-toolbar select{min-width:160px;max-width:100%;flex:1}
  .atlas-focus-meta{display:block}
  .atlas-focus-meta span{display:block;text-align:left;margin-top:3px}
  .atlas-canvas{height:60vh}
}


/* ==========================================================
   v1.7.4 — ASR/cybernetic Dr. Black signal + ledger navigator
   ========================================================== */

/* Dr. Black: remove the v1.7.3 murky aura entirely. The only persistent
   anomaly is the redaction block itself: a low-amplitude digital/identity
   desync consistent with an instantiated ASR state, not a supernatural fog. */
.dr-black-speaker{
  position:relative;
  width:max-content;
  max-width:100%;
  overflow:visible;
  isolation:auto;
  z-index:auto;
  padding:0;
  margin-left:0;
  background:none;
  box-shadow:none;
}
.dr-black-speaker::before,
.dr-black-speaker::after{display:none!important;content:none!important;animation:none!important}
.dr-black-speaker-label{position:relative;display:inline-block;z-index:auto}
.dr-black-prefix,.dr-black-suffix{position:relative;z-index:auto;color:inherit}
.dr-black-mark{
  position:relative;
  display:inline-block;
  z-index:1;
  color:#080b0d;
  font-family:var(--mono);
  font-weight:900;
  letter-spacing:.018em;
  transform-origin:center;
  text-shadow:-.45px 0 rgba(72,126,145,.24), .45px 0 rgba(111,92,132,.18);
  filter:contrast(1.08);
  animation:asrIdentityDesync 9.6s steps(1,end) infinite!important;
}
.dr-black-mark::before{
  content:"███"!important;
  position:absolute;
  inset:0;
  z-index:2;
  color:rgba(88,136,151,.24);
  text-shadow:none;
  filter:none;
  opacity:.55;
  clip-path:inset(0 0 58% 0);
  transform:translateX(-.65px);
  animation:asrSliceDesync 7.8s steps(1,end) infinite!important;
  pointer-events:none;
}
.dr-black-mark::after{
  content:"";
  position:absolute;
  left:-2px;right:-2px;top:49%;
  height:1px;
  z-index:3;
  background:linear-gradient(90deg,transparent,rgba(95,147,164,.42) 22%,rgba(121,105,145,.26) 68%,transparent);
  opacity:.20;
  transform:translateY(-1px);
  animation:asrScanline 6.4s linear infinite!important;
  pointer-events:none;
}
.dr-black-record:hover .dr-black-mark{
  text-shadow:-.65px 0 rgba(72,126,145,.34), .65px 0 rgba(111,92,132,.25);
}
@keyframes asrIdentityDesync{
  0%,48%,52%,83%,87%,100%{transform:translate(0,0);letter-spacing:.018em;filter:contrast(1.08)}
  49%{transform:translate(.55px,-.15px);letter-spacing:.028em;filter:contrast(1.16)}
  50%{transform:translate(-.55px,.1px);letter-spacing:.012em;filter:contrast(1.03)}
  51%{transform:translate(.2px,0);letter-spacing:.021em;filter:contrast(1.12)}
  84%{transform:translate(-.35px,0);filter:contrast(1.12)}
  85%{transform:translate(.35px,0);filter:contrast(1.06)}
  86%{transform:translate(0,0);filter:contrast(1.08)}
}
@keyframes asrSliceDesync{
  0%,61%,66%,100%{clip-path:inset(0 0 58% 0);transform:translateX(-.65px);opacity:.45}
  62%{clip-path:inset(24% 0 47% 0);transform:translateX(1.1px);opacity:.72}
  63%{clip-path:inset(48% 0 29% 0);transform:translateX(-1.2px);opacity:.58}
  64%{clip-path:inset(13% 0 66% 0);transform:translateX(.7px);opacity:.68}
  65%{clip-path:inset(0 0 58% 0);transform:translateX(-.65px);opacity:.45}
}
@keyframes asrScanline{
  0%{top:10%;opacity:0}
  8%{opacity:.18}
  42%{opacity:.28}
  50%{top:86%;opacity:.12}
  52%,100%{top:86%;opacity:0}
}
body.reduced-motion .dr-black-mark,
body.reduced-motion .dr-black-mark::before,
body.reduced-motion .dr-black-mark::after{animation:none!important}
body.reduced-motion .dr-black-mark::before{clip-path:inset(0 0 58% 0);transform:translateX(-.5px);opacity:.40}
body.reduced-motion .dr-black-mark::after{top:50%;opacity:.14}

/* Right rail: ledger flow, no crossing lines. */
.mini-ledger-flow{
  border:1px solid #e3eaed;
  background:#fff;
  padding:8px;
  display:grid;
  gap:7px;
}
.mini-flow-group{display:grid;grid-template-columns:58px repeat(3,minmax(0,1fr));gap:4px;align-items:center}
.mini-flow-label{font:700 .44rem/1 var(--mono);letter-spacing:.07em;color:#8a999f}
.mini-flow-current{border:1px solid #b9cbd2;background:#eef5f7;padding:7px 8px;display:flex;align-items:baseline;gap:7px}
.mini-flow-current span{font:700 .57rem/1 var(--mono);color:#436674}
.mini-flow-current small{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:600 .58rem/1 var(--sans);color:#65777f}
.mini-flow-empty{font:700 .55rem/1 var(--mono);color:#a3adb1}
.ledger-link{
  border:1px solid #dbe4e7;
  background:#fff;
  color:#51666f;
  cursor:pointer;
  text-align:left;
  padding:9px 10px;
  display:grid;
  gap:3px;
  transition:border-color .12s ease,background .12s ease,transform .12s ease;
}
.ledger-link:hover{background:#f1f6f8;border-color:#afc3cb;transform:translateY(-1px)}
.ledger-link.compact{padding:5px 4px;text-align:center;display:block;min-width:0}
.ledger-link.priority{border-color:#bdced5;background:#f8fbfc}
.ledger-link.volume2{border-style:dashed}
.ledger-link-id{font:700 .52rem/1 var(--mono);letter-spacing:.04em;color:#58727e}
.ledger-link-title{font:650 .70rem/1.28 var(--sans);color:#33464e}
.ledger-link-reason{font:600 .51rem/1.3 var(--mono);color:#87979e}

/* Full navigator: three columns. Connections cannot cross because no global
   lines are drawn; refocusing moves the chosen document to the center. */
.ledger-atlas{
  height:min(66vh,650px);
  min-height:500px;
  border:1px solid #dce6e9;
  background:#fff;
  display:grid;
  grid-template-columns:minmax(240px,1fr) minmax(270px,.9fr) minmax(240px,1fr);
  gap:12px;
  padding:12px;
  overflow:hidden;
  cursor:default;
}
.ledger-column{min-width:0;display:grid;grid-template-rows:auto minmax(0,1fr);border:1px solid #e4eaed;background:#fafcfc}
.ledger-column-head{display:flex;justify-content:space-between;align-items:center;padding:9px 10px;border-bottom:1px solid #e4eaed;font:700 .54rem/1 var(--mono);letter-spacing:.09em;color:#6e818a}
.ledger-column-head b{font-size:.58rem;color:#496976}
.ledger-column-scroll{overflow:auto;padding:8px;display:grid;align-content:start;gap:6px}
.ledger-focus-card{align-self:center;border:1px solid #a9c0ca;background:linear-gradient(180deg,#f5f9fa,#fff);padding:24px 20px;text-align:center;box-shadow:0 12px 34px rgba(39,61,71,.07)}
.ledger-focus-kicker{font:700 .51rem/1 var(--mono);letter-spacing:.11em;color:#82949c}
.ledger-focus-id{font:750 1.02rem/1 var(--mono);letter-spacing:.09em;color:#496c7a;margin:15px 0 7px}
.ledger-focus-card h3{font-size:1.05rem;line-height:1.3;margin:0;color:#26363d}
.ledger-focus-card p{font-size:.72rem;line-height:1.5;color:#718188;margin:11px 0 0}
.ledger-focus-rule{border-top:1px solid #e2e9ec;margin-top:15px;padding-top:11px;font:600 .50rem/1.45 var(--mono);letter-spacing:.04em;color:#8a989e}
.ledger-empty{padding:18px 10px;text-align:center;font:700 .52rem/1.4 var(--mono);letter-spacing:.07em;color:#a0aaae}
.atlas-pan-note{letter-spacing:.06em}
.atlas-legend{font:700 .49rem/1.3 var(--mono);letter-spacing:.07em;color:#8c9aa0}

@media(max-width:840px){
  .mini-flow-group{grid-template-columns:52px repeat(3,minmax(0,1fr))}
  .ledger-atlas{height:auto;min-height:0;grid-template-columns:1fr;overflow:visible}
  .ledger-focus-card{order:-1}
  .ledger-column-scroll{max-height:250px}
}


/* ==========================================================
   v1.7.5 — Dr. Black / ASR identity-desync pass
   Applies to every exact `Dr. ███ (Redacted)` occurrence in P0.
   The static channel split remains visible even with reduced motion.
   ========================================================== */
.dr-black-id{
  position:relative;
  display:inline-block;
  isolation:isolate;
  font:inherit;
  color:inherit;
  letter-spacing:inherit;
  white-space:nowrap;
  text-transform:none;
}
.dr-black-id::after{
  content:"";
  position:absolute;
  left:.05em;
  right:.05em;
  bottom:-.08em;
  height:1px;
  pointer-events:none;
  opacity:.24;
  background:repeating-linear-gradient(90deg,rgba(69,123,143,.72) 0 4px,transparent 4px 7px,rgba(111,91,130,.55) 7px 10px,transparent 10px 14px);
}
.dr-black-id .dr-black-prefix,
.dr-black-id .dr-black-suffix{position:relative;z-index:2;color:inherit;font:inherit;letter-spacing:inherit}
.dr-black-core{
  position:relative;
  display:inline-block;
  z-index:2;
  min-width:1.55em;
  color:#080b0d;
  font-family:var(--mono);
  font-weight:900;
  letter-spacing:-.02em;
  line-height:.92;
  text-shadow:-1px 0 rgba(60,129,153,.58),1px 0 rgba(118,85,134,.46),0 0 1px rgba(0,0,0,.72);
  filter:contrast(1.14);
  animation:asrCoreDesyncV175 5.8s steps(1,end) infinite;
}
.dr-black-core::before,
.dr-black-core::after{
  content:"███";
  position:absolute;
  inset:0;
  pointer-events:none;
  font:inherit;
  letter-spacing:inherit;
}
.dr-black-core::before{
  z-index:-1;
  color:rgba(60,129,153,.48);
  clip-path:inset(0 0 53% 0);
  transform:translateX(-1.15px);
  animation:asrUpperSliceV175 4.9s steps(1,end) infinite;
}
.dr-black-core::after{
  z-index:-1;
  color:rgba(118,85,134,.38);
  clip-path:inset(54% 0 0 0);
  transform:translateX(1.15px);
  animation:asrLowerSliceV175 6.3s steps(1,end) infinite;
}
.dr-black-id:hover .dr-black-core{
  text-shadow:-1.4px 0 rgba(60,129,153,.72),1.4px 0 rgba(118,85,134,.58),0 0 2px rgba(0,0,0,.78);
}
@keyframes asrCoreDesyncV175{
  0%,35%,39%,69%,73%,91%,94%,100%{transform:translate(0,0);filter:contrast(1.14)}
  36%{transform:translate(.75px,-.12px);filter:contrast(1.22)}
  37%{transform:translate(-.65px,.10px);filter:contrast(1.07)}
  38%{transform:translate(.18px,0);filter:contrast(1.17)}
  70%{transform:translate(-.55px,0);filter:contrast(1.2)}
  71%{transform:translate(.55px,0);filter:contrast(1.09)}
  72%{transform:translate(0,0);filter:contrast(1.14)}
  92%{transform:translate(.45px,.08px) scaleX(1.015)}
  93%{transform:translate(0,0)}
}
@keyframes asrUpperSliceV175{
  0%,45%,49%,100%{clip-path:inset(0 0 53% 0);transform:translateX(-1.15px);opacity:.72}
  46%{clip-path:inset(18% 0 62% 0);transform:translateX(1.75px);opacity:.95}
  47%{clip-path:inset(34% 0 45% 0);transform:translateX(-1.8px);opacity:.8}
  48%{clip-path:inset(0 0 53% 0);transform:translateX(-1.15px);opacity:.72}
}
@keyframes asrLowerSliceV175{
  0%,62%,66%,100%{clip-path:inset(54% 0 0 0);transform:translateX(1.15px);opacity:.62}
  63%{clip-path:inset(67% 0 13% 0);transform:translateX(-1.55px);opacity:.9}
  64%{clip-path:inset(50% 0 30% 0);transform:translateX(1.8px);opacity:.76}
  65%{clip-path:inset(54% 0 0 0);transform:translateX(1.15px);opacity:.62}
}
/* Reduced mode still communicates the ASR identity mismatch, but does not move. */
body.reduced-motion .dr-black-core,
body.reduced-motion .dr-black-core::before,
body.reduced-motion .dr-black-core::after{animation:none!important}
body.reduced-motion .dr-black-core{transform:none!important;text-shadow:-1px 0 rgba(60,129,153,.58),1px 0 rgba(118,85,134,.46),0 0 1px rgba(0,0,0,.72)!important}
body.reduced-motion .dr-black-core::before{clip-path:inset(0 0 53% 0)!important;transform:translateX(-1.15px)!important;opacity:.72!important}
body.reduced-motion .dr-black-core::after{clip-path:inset(54% 0 0 0)!important;transform:translateX(1.15px)!important;opacity:.62!important}


/* ==========================================================
   v1.7.6 — Dr. Black stream-glitch pass
   Small corrupted text ribbons traverse the redacted identity at staggered
   intervals so only some names are actively glitching at once.
   ========================================================== */
.dr-black-id{overflow:visible}
.dr-black-stream{
  position:absolute;
  left:-.12em;
  top:var(--dr-stream-top,48%);
  z-index:6;
  transform:translate(-128%,-50%);
  pointer-events:none;
  white-space:nowrap;
  padding:.02em .18em;
  border-top:1px solid rgba(88,130,149,.20);
  border-bottom:1px solid rgba(17,24,28,.16);
  background:linear-gradient(90deg,rgba(255,255,255,0),rgba(231,242,246,.78) 18%,rgba(215,228,234,.88) 50%,rgba(255,255,255,0));
  color:rgba(66,113,130,.82);
  font:700 .42em/1 var(--mono);
  letter-spacing:.12em;
  text-transform:uppercase;
  text-shadow:0 0 2px rgba(255,255,255,.8),0 0 7px rgba(75,120,138,.24);
  opacity:0;
  filter:blur(.15px);
  mix-blend-mode:multiply;
  animation:drBlackStreamSweep var(--dr-stream-duration,8.6s) linear infinite;
  animation-delay:var(--dr-stream-delay,0s);
}
.dr-stream-v1 .dr-black-stream{
  color:rgba(101,94,132,.78);
  border-top-color:rgba(111,96,145,.16);
  text-shadow:0 0 2px rgba(255,255,255,.72),0 0 7px rgba(96,88,133,.22);
}
.dr-stream-v2 .dr-black-stream{
  color:rgba(74,124,121,.8);
  border-top-color:rgba(74,124,121,.17);
  text-shadow:0 0 2px rgba(255,255,255,.72),0 0 7px rgba(74,124,121,.22);
}
.dr-black-id:hover .dr-black-stream{opacity:.16}
@keyframes drBlackStreamSweep{
  0%,68%{opacity:0;transform:translate(-128%,-50%) skewX(0deg);filter:blur(.22px)}
  70%{opacity:.14;transform:translate(-88%,-50%) skewX(-4deg);filter:blur(.18px)}
  71%{opacity:.54;transform:translate(-38%,-50%) skewX(8deg);filter:blur(.08px)}
  72%{opacity:.84;transform:translate(-4%,-50%) skewX(-6deg);filter:blur(0)}
  72.45%{opacity:.52;transform:translate(10%,-50%) skewX(4deg)}
  72.9%{opacity:.78;transform:translate(17%,-50%) skewX(-5deg)}
  73.35%{opacity:.44;transform:translate(34%,-50%) skewX(3deg)}
  74%{opacity:.64;transform:translate(58%,-50%) skewX(-3deg)}
  75%{opacity:.28;transform:translate(86%,-50%) skewX(2deg);filter:blur(.12px)}
  76%,100%{opacity:0;transform:translate(126%,-50%) skewX(0deg);filter:blur(.18px)}
}
body.reduced-motion .dr-black-stream{
  animation:none!important;
  opacity:0!important;
}


/* ==========================================================
   v1.8.0 — visual systems / document-form polish
   ========================================================== */
:root{
  --page:#e9eff0;
  --panel:#f6f8f8;
  --paper:#fbfaf6;
  --ink:#1e2529;
  --muted:#6d7b81;
  --hair:#d8e0e1;
  --hair2:#e6ebeb;
  --sys:#557783;
  --sys-dark:#2c4149;
  --sys-bg:#eef4f5;
  --sys-line:#99afb7;
  --green:#647b6b;
  --amber:#8d7549;
  --red:#965e5e;
  --violet:#756d86;
}
body{
  background:
    linear-gradient(90deg,rgba(78,105,115,.022) 1px,transparent 1px) 0 0/42px 42px,
    linear-gradient(rgba(78,105,115,.019) 1px,transparent 1px) 0 0/42px 42px,
    var(--page);
}
.left,.right{background:rgba(246,248,248,.985)}
.workspace{background:var(--paper);box-shadow:0 18px 58px rgba(31,51,61,.045)}
.workspace::before{opacity:.15}
.doc-head{background:linear-gradient(180deg,rgba(248,249,246,.98),rgba(251,250,246,.98));padding-bottom:24px}
.reader{background:var(--paper);padding-top:34px}
.reader-inner{max-width:74ch}
.doc-role{color:#69777c}

/* The source form is explicit without turning the header into a dashboard. */
.record-provenance{
  margin-top:18px;padding-top:14px;border-top:1px solid #e1e5e3;
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px 22px;max-width:820px;
}
.record-provenance>div{min-width:0}
.record-provenance span{display:block;font:700 .49rem/1.25 var(--mono);letter-spacing:.10em;color:#8b979a;text-transform:uppercase;margin-bottom:3px}
.record-provenance b{display:block;font:650 .68rem/1.35 var(--sans);color:#4c5f67;overflow-wrap:anywhere}
.record-provenance .record-certainty b{color:#7e7787}

/* Document form families. The manuscript stays one readable book face; form is
   expressed mostly through spacing, metadata, and hierarchy rather than font churn. */
.reader-inner.format-report,.reader-inner.format-memo,.reader-inner.format-historical{max-width:76ch}
.reader-inner.format-legal,.reader-inner.format-legal-transcript{max-width:72ch}
.reader-inner.format-correspondence{max-width:70ch}
.reader-inner.format-system-log,.reader-inner.format-system-report,.reader-inner.format-archive,.reader-inner.format-composite{max-width:78ch}
.reader-inner.format-narrative{max-width:68ch}
.reader-inner.format-transcript-system,.reader-inner.format-transcript-class,.reader-inner.format-transcript-office,.reader-inner.format-transcript-conference,.reader-inner.format-transcript-personnel,.reader-inner.format-nchip,.reader-inner.format-aetherlink{max-width:74ch}

.reader-inner.format-report .meta,
.reader-inner.format-memo .meta,
.reader-inner.format-historical .meta,
.reader-inner.format-legal .meta,
.reader-inner.format-bulletin .meta{
  font-family:var(--sans);font-size:.76rem;line-height:1.48;color:#65757b;padding:2px 0;
}
.reader-inner.format-memo .heading,
.reader-inner.format-report .heading,
.reader-inner.format-bulletin .heading{
  border-top-color:#dde3e2;margin-top:30px;color:#2f3b40;
}
.reader-inner.format-legal .heading,
.reader-inner.format-legal-transcript .heading{
  font-family:var(--book);letter-spacing:.01em;color:#303338;border-top-color:#deded9;
}
.reader-inner.format-legal .quote,
.reader-inner.format-legal-transcript .quote{border-left-color:#cfcfc7;color:#353638}

/* Transcript families: no chat bubbles. A stable speaker rhythm and restrained
   capture rail is enough to tell the reader this is recorded dialogue. */
.reader-inner[class*="format-transcript"] .dialogue,
.reader-inner.format-nchip .dialogue,
.reader-inner.format-aetherlink .dialogue{
  margin:13px 0 15px;padding-left:14px;border-left:1px solid #e1e6e6;
}
.reader-inner[class*="format-transcript"] .dialogue .speaker,
.reader-inner.format-nchip .dialogue .speaker,
.reader-inner.format-aetherlink .dialogue .speaker{color:#667d86}
.reader-inner.format-transcript-system .system-label,
.reader-inner.format-aetherlink .system-label,
.reader-inner.format-system-log .system-label{color:#536f7a}
.reader-inner.format-nchip .dialogue{border-left-color:#dcd8e1}
.reader-inner.format-nchip .dialogue .speaker{color:#756f80}

/* Correspondence breathes a little more like letters while preserving the same type. */
.reader-inner.format-correspondence .prose{line-height:1.82;margin-bottom:16px}
.reader-inner.format-correspondence .meta{font-family:var(--sans);font-size:.76rem;color:#6d787c;padding:2px 0}

/* System internal material retains technical cadence but not terminal cosplay. */
.reader-inner.format-system-log .telemetry,
.reader-inner.format-system-report .telemetry,
.reader-inner.format-archive .telemetry{
  font-family:var(--mono);font-size:.76rem;line-height:1.58;color:#5b717a;
}
.reader-inner.format-system-log .meta,
.reader-inner.format-system-report .meta,
.reader-inner.format-archive .meta,
.reader-inner.format-composite .meta{
  font-family:var(--sans);font-size:.74rem;line-height:1.45;color:#66777e;padding:2px 0;
}
.reader-inner.format-archive .heading,
.reader-inner.format-composite .heading{
  font-family:var(--sans);font-size:.86rem;line-height:1.35;letter-spacing:.015em;color:#3f535c;border-top:1px solid #dfe6e6;padding-top:14px;margin-top:26px;
}
.reader-inner.format-composite .heading{background:linear-gradient(90deg,rgba(84,116,128,.045),transparent 72%);padding:10px 0 10px 10px}
.reader-inner.format-bulletin .heading{font-family:var(--sans);font-size:.88rem;letter-spacing:.02em}
.reader-inner.format-marginalia{max-width:70ch}
.reader-inner.format-marginalia .prose{color:#34383a}


/* Calm chrome. Critical states still have permission to become louder. */
.rail-block{border-color:#e0e6e6}
.monitor-card{border-color:#e3e8e8;background:rgba(251,252,251,.72)}
.telemetry-warning.stable{background:transparent;border-color:#e0e5e4;color:#687c72}
.tree-doc.active{background:#e8f0f1}
.connection-panel,.atlas-mini-wrap{border-color:#e1e6e6}

@media(max-width:840px){
  .record-provenance{grid-template-columns:1fr}
  .reader-inner[class*="format-transcript"] .dialogue,.reader-inner.format-nchip .dialogue,.reader-inner.format-aetherlink .dialogue{padding-left:10px}
}


/* ==========================================================
   v1.8.1 — transient SYSTEM voice channel
   ========================================================== */
.system-voice-control p{font-size:.67rem;line-height:1.45;color:#79878c;margin:7px 0 10px}
.voice-state{font:700 .52rem/1.2 var(--mono);letter-spacing:.08em;color:#617c86}
.system-voice-float{
  position:fixed;z-index:118;
  top:calc(var(--top) + 28px + var(--voice-drift,0px));
  right:max(22px,calc((100vw - 1730px)/2 + 32px));
  width:min(286px,calc(100vw - 44px));
  padding:10px 11px 11px;
  border:1px solid rgba(126,153,163,.52);
  background:rgba(244,249,250,.94);
  box-shadow:0 13px 34px rgba(35,56,65,.10);
  backdrop-filter:blur(9px);-webkit-backdrop-filter:blur(9px);
  color:#31464f;opacity:0;transform:translate3d(8px,-3px,0);pointer-events:none;
  transition:opacity .28s ease,transform .38s cubic-bezier(.2,.8,.2,1),filter .38s ease;
}
.system-voice-float.visible{opacity:1;transform:translate3d(0,0,0);pointer-events:auto;visibility:visible}
.system-voice-float.departing{opacity:0;transform:translate3d(8px,-5px,0);filter:blur(.8px);pointer-events:none}
.system-voice-float.hidden-voice{opacity:0;visibility:hidden;pointer-events:none}
.system-voice-float.instant{transition:none!important}
.system-voice-float-head{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:8px;margin-bottom:7px;font:700 .49rem/1 var(--mono);letter-spacing:.1em;color:#65808b}
.system-voice-float-head>span:nth-child(2){text-align:right;color:#8b9a9f;font-weight:600;letter-spacing:.04em}
.system-voice-float-head button{width:18px;height:18px;border:0;background:transparent;padding:0;cursor:pointer;color:#94a1a5;font:500 .86rem/1 var(--sans);opacity:.72}
.system-voice-float-head button:hover{color:#4f6973;opacity:1}
.system-voice-float-text{min-height:2.55em;font-family:var(--book);font-size:.84rem;line-height:1.52;color:#34484f;text-wrap:pretty}
.system-voice-cursor{position:absolute;left:11px;bottom:5px;width:23px;height:1px;background:linear-gradient(90deg,rgba(79,114,131,.56),transparent);opacity:.2}
.system-voice-float.streaming .system-voice-cursor{animation:systemVoiceCarrier .72s steps(2,end) infinite;opacity:.62}
@keyframes systemVoiceCarrier{0%,100%{transform:translateX(0);opacity:.22}50%{transform:translateX(18px);opacity:.72}}
@media(max-width:1260px){.system-voice-float{top:auto;right:18px;bottom:18px;width:min(360px,calc(100vw - 36px))}}
@media(max-width:840px){.system-voice-float{left:14px;right:14px;bottom:14px;width:auto;top:auto;padding:9px 10px 10px}.system-voice-float-text{font-size:.82rem;line-height:1.48}}
body.reduced-motion .system-voice-float{transition:opacity .12s linear!important;transform:none!important;filter:none!important}
body.reduced-motion .system-voice-cursor{animation:none!important;opacity:.22!important}


/* ==========================================================
   v1.8.3 — semantic-pressure hierarchy + continuity cleanup
   ========================================================== */
.telemetry-warning.density-reading.high{
  border-color:#d8c8a9;
  background:#faf7f0;
  color:#785f35;
}
.telemetry-warning.density-reading.very-high{
  border-color:#d8b5b5;
  background:#fbf3f3;
  color:#874848;
}
.monitor-card.dynamic[data-density-band="high"] .trace.mdi{stroke:#a78650}
.monitor-card.dynamic[data-density-band="high"] .density-dot{fill:#a78650}
.monitor-card.dynamic[data-density-band="high"] .monitor-title span{color:#806a45}
.monitor-card.dynamic[data-density-band="high"] .density-component i::after{background:#b39a6c}
.monitor-card.dynamic[data-density-band="very-high"] .trace.mdi{stroke:#a45c5c}
.monitor-card.dynamic[data-density-band="very-high"] .density-dot{fill:#a45c5c}
.monitor-card.dynamic[data-density-band="very-high"] .monitor-title span{color:#8d4f4f}
.monitor-card.dynamic[data-density-band="very-high"] .density-component i::after{background:#ad6a6a}
.doc-role.hidden{display:none!important}


/* ==========================================================
   v1.9.1 — institutional color system + peripheral operations
   ========================================================== */
:root{
  --record-paper:#F8F8F6;
  --system-surface:#EDF2F4;
  --system-layer:#E4EAED;
  --ink-primary:#1B2328;
  --ink-secondary:#5A6B73;
  --system-active:#005D5D;
  --system-data:#3D7E91;
  --system-link:#315A72;
  --state-uncertain:#6F6680;
  --state-warning:#8A5A00;
  --state-critical:#A2191F;
  --page:var(--system-surface);
  --panel:#F4F7F7;
  --paper:var(--record-paper);
  --ink:var(--ink-primary);
  --muted:var(--ink-secondary);
  --hair:#CBD6DB;
  --hair2:#E2E8EA;
  --sys:var(--system-active);
  --sys-dark:#173F42;
  --sys-bg:#EFF6F5;
  --sys-line:#7FA7A7;
  --green:#5D796E;
  --amber:var(--state-warning);
  --red:var(--state-critical);
  --violet:var(--state-uncertain);
  --prov:116px;
  --ops:224px;
  --left:244px;
  --right:300px;
  --reader:860px;
}
body{
  background:
    linear-gradient(90deg,rgba(49,90,114,.020) 1px,transparent 1px) 0 0/44px 44px,
    linear-gradient(rgba(49,90,114,.017) 1px,transparent 1px) 0 0/44px 44px,
    var(--system-surface);
}
.topbar{background:#C9D5D9;border-bottom-color:#C4D0D4}
.top-cell{background:rgba(247,250,250,.985)}
.brand-mark{border-color:#B9C9CE;background:#E8F0F1;color:var(--system-active)}
.ticker{color:var(--system-active)}
.connection-pulse{background:var(--system-active);box-shadow:0 0 0 3px rgba(0,93,93,.10)}
.workspace{background:var(--record-paper);border-color:#C9D4D7;box-shadow:0 18px 58px rgba(27,35,40,.045)}
.doc-head{background:linear-gradient(180deg,rgba(250,250,248,.99),rgba(248,248,246,.99))}
.reader{background:var(--record-paper)}
.prose,.dialogue .spoken,.system-text{color:var(--ink-primary)}
.meta,.doc-role,.monitor-foot,.kv span{color:var(--ink-secondary)}
.doc-id,.system-label,.voice-state{color:var(--system-active)}
.connection-marker{color:var(--system-link)}
.tree-doc.active{background:#E3ECEC;color:#20383A}
.small-btn:hover,.small-btn.active{background:#E8F1F1;border-color:#A9C0C1;color:#174F53}

/* Five-column wide-screen composition: archive identity | index | source | session | global operations. */
.shell{
  width:min(100%,1888px);margin:0 auto;
  grid-template-columns:var(--prov) var(--left) minmax(0,var(--reader)) var(--right) var(--ops);
  gap:12px;padding:14px;align-items:start;
}
.provenance-spine,.global-ops-spine{
  position:sticky;top:calc(var(--top) + 14px);height:calc(100vh - var(--top) - 28px);
  min-height:420px;border:1px solid var(--hair);background:rgba(244,247,247,.94);overflow:hidden;
}
.global-ops-compact-wrap{display:none}

/* Left provenance spine. */
.provenance-spine{padding:13px 10px;display:flex;flex-direction:column;gap:13px}
.spine-kicker{font:700 .47rem/1.25 var(--mono);letter-spacing:.12em;color:#809096}
.spine-code{font:750 1.05rem/1 var(--mono);letter-spacing:.08em;color:var(--system-active);padding-bottom:10px;border-bottom:1px solid #D8E0E2}
.spine-field{min-width:0}
.spine-field span,.spine-meter-head span{display:block;font:700 .43rem/1.15 var(--mono);letter-spacing:.10em;color:#87959A;margin-bottom:3px}
.spine-field b{display:block;font:650 .52rem/1.35 var(--sans);color:#4F6168;overflow-wrap:anywhere}
.spine-field .prov-state{font-family:var(--mono);font-size:.49rem;letter-spacing:.05em;color:var(--system-active)}
.spine-field .prov-state.uncertain{color:var(--state-uncertain)}
.spine-meter-block{margin-top:auto;display:grid;grid-template-columns:1fr 11px;gap:7px;align-items:end;min-height:120px}
.semantic-spine-meter{margin-top:0}
.spine-meter-head{align-self:start}
.spine-meter-head b{font:700 .50rem/1 var(--mono);color:#607078}
.spine-meter.vertical{height:104px;width:8px;background:#DDE5E7;position:relative;overflow:hidden;border:1px solid #D4DEE1}
.spine-meter.vertical i{position:absolute;left:0;right:0;bottom:0;height:var(--meter,0%);background:var(--system-data);transition:height .2s linear,background .2s ease}
.semantic-spine-meter[data-band="elevated"] .spine-meter i{background:#6F8790}
.semantic-spine-meter[data-band="high"] .spine-meter i{background:var(--state-warning)}
.semantic-spine-meter[data-band="very-high"] .spine-meter i{background:var(--state-critical)}

/* Right global operations spine. */
.global-ops-spine{padding:0;background:rgba(240,245,245,.975)}
.global-ops-surface{height:100%;padding:12px;display:flex;flex-direction:column;gap:10px;color:#33464B}
.global-ops-head{display:flex;justify-content:space-between;gap:10px;align-items:center;padding-bottom:10px;border-bottom:1px solid #D5DFE1}
.global-ops-head>div{display:grid;gap:2px}
.global-ops-head span{font:700 .44rem/1 var(--mono);letter-spacing:.12em;color:#7B8D92}
.global-ops-head b{font:750 .60rem/1.15 var(--mono);letter-spacing:.07em;color:var(--system-active)}
.global-live{width:6px;height:6px;border-radius:50%;background:var(--system-active);box-shadow:0 0 0 3px rgba(0,93,93,.09);animation:globalHeartbeat 2.3s ease-in-out infinite}
.global-ops-mode{font:700 .47rem/1.2 var(--mono);letter-spacing:.07em;color:#60777A}
.global-section-label{font:700 .43rem/1 var(--mono);letter-spacing:.11em;color:#89979B;margin-top:2px}
.global-stability{display:grid;gap:4px}
.global-stability>div,.global-history,.global-focus{display:flex;justify-content:space-between;gap:8px;align-items:baseline;padding:4px 0;border-bottom:1px solid rgba(203,214,219,.58)}
.global-stability span,.global-history span,.global-focus span{font:650 .43rem/1.2 var(--mono);letter-spacing:.04em;color:#7A8A90}
.global-stability b,.global-history b,.global-focus b{font:750 .47rem/1.2 var(--mono);letter-spacing:.025em;color:#315F60;text-align:right}
.global-core-load{display:grid;gap:7px}
.global-load-row>div{display:flex;justify-content:space-between;gap:8px;margin-bottom:3px}
.global-load-row span{font:650 .42rem/1.15 var(--mono);color:#6F8086}
.global-load-row b{font:700 .42rem/1.15 var(--mono);color:#3D6668}
.global-load-row>i{display:block;height:3px;background:#D8E3E4;overflow:hidden}
.global-load-row>i em{display:block;height:100%;width:var(--load,50%);background:linear-gradient(90deg,var(--system-data),var(--system-active));transition:width .8s ease}
.global-history{display:grid;gap:3px;border:1px solid #D7E1E2;padding:7px;background:#F7FAF9}
.global-history b{text-align:left;color:#455F65}
.ucz-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:4px}
.ucz-grid>div{border:1px solid #D8E2E3;background:#F7FAFA;padding:5px 4px;text-align:center;display:grid;gap:2px}
.ucz-grid span{font:750 .45rem/1 var(--mono);letter-spacing:.05em;color:#526D74}
.ucz-grid b{font:750 .40rem/1 var(--mono);letter-spacing:.05em;color:var(--system-active)}
.global-feed{display:flex;flex-direction:column;gap:4px;min-height:108px;overflow:hidden}
.global-feed-row{display:grid;grid-template-columns:45px 1fr;gap:5px;padding-top:4px;border-top:1px solid rgba(203,214,219,.48);animation:feedArrive .28s ease both}
.global-feed-row time{font:600 .39rem/1.35 var(--mono);color:#92A0A4}
.global-feed-row span{font:650 .43rem/1.35 var(--mono);letter-spacing:.015em;color:#536C72}
.global-focus{margin-top:auto;display:grid;gap:3px;border-top:1px solid #D5DFE1;border-bottom:0;padding-top:9px}
.global-focus b{text-align:left;color:var(--system-link)}
.global-ops-surface.compact{height:auto;padding:0;gap:8px}
.global-ops-surface.compact .global-ops-head{padding-bottom:7px}
.global-ops-surface.compact .global-stability{grid-template-columns:1fr 1fr;gap:3px 8px}
.global-ops-surface.compact .global-stability>div{display:grid;gap:2px}
.global-ops-surface.compact .global-stability b{text-align:left}
.global-ops-surface.compact .global-feed{min-height:82px}
.global-ops-surface.compact .global-history{grid-template-columns:1fr auto;align-items:center}
.global-ops-surface.compact .global-focus{margin-top:0}
@keyframes globalHeartbeat{0%,100%{opacity:.45;transform:scale(.92)}50%{opacity:1;transform:scale(1.05)}}
@keyframes feedArrive{from{opacity:0;transform:translateY(-3px)}to{opacity:1;transform:none}}

/* Semantic states now derive from the agreed institutional palette. */
.telemetry-warning.density-reading.high{border-color:#D7C39A;background:#FAF6EB;color:var(--state-warning)}
.telemetry-warning.density-reading.very-high{border-color:#D9A7A9;background:#FBF0F0;color:var(--state-critical)}
.monitor-card.dynamic[data-density-band="high"] .trace.mdi{stroke:var(--state-warning)}
.monitor-card.dynamic[data-density-band="high"] .density-dot{fill:var(--state-warning)}
.monitor-card.dynamic[data-density-band="high"] .monitor-title span{color:var(--state-warning)}
.monitor-card.dynamic[data-density-band="high"] .density-component i::after{background:#A47A2D}
.monitor-card.dynamic[data-density-band="very-high"] .trace.mdi{stroke:var(--state-critical)}
.monitor-card.dynamic[data-density-band="very-high"] .density-dot{fill:var(--state-critical)}
.monitor-card.dynamic[data-density-band="very-high"] .monitor-title span{color:var(--state-critical)}
.monitor-card.dynamic[data-density-band="very-high"] .density-component i::after{background:var(--state-critical)}
.telemetry-warning.critical,.doc-status .warn{color:var(--state-critical)}
.telemetry-warning.warning{color:var(--state-warning)}

/* Relation labels explain why records connect without adding another graph layer. */
.ledger-link-relation{font:750 .47rem/1.25 var(--mono);letter-spacing:.055em;color:var(--system-active)}
.ledger-link-reason{color:#7B8B90}

/* Slightly stronger form-specific cues, still inside one institutional family. */
.reader-inner.format-memo .meta:first-of-type,.reader-inner.format-report .meta:first-of-type{border-top:1px solid #DDE4E3;padding-top:8px}
.reader-inner.format-legal .heading.major,.reader-inner.format-legal-transcript .heading.major{border-top:2px solid #C9C9C0}
.reader-inner.format-nchip .meta{color:var(--state-uncertain)}
.reader-inner.format-aetherlink .system-label{color:var(--system-active)}
.reader-inner.format-composite .heading{border-left:2px solid #B8CACC}

@media(max-width:1810px){
  :root{--left:248px;--right:306px;--reader:880px}
  .shell{width:min(100%,1730px);grid-template-columns:var(--left) minmax(0,var(--reader)) var(--right);gap:18px;padding:18px}
  .provenance-spine,.global-ops-spine{display:none}
  .global-ops-compact-wrap{display:block}
}
@media(max-width:1260px){
  .global-ops-compact-wrap{display:none}
  .shell{grid-template-columns:var(--left) minmax(0,var(--reader))}
}
@media(max-width:840px){.shell{display:block;padding:10px}}
body.reduced-motion .global-live{animation:none!important}
body.reduced-motion .global-feed-row{animation:none!important}


/* ==========================================================
   v1.9.1 — cooler reading surface + side-interface legibility
   ========================================================== */
/* Keep a trace of paper warmth without the yellow cast of v1.9.0. */
:root{--record-paper:#F8F8F6}
.workspace,.reader{background:var(--record-paper)}
.doc-head{background:linear-gradient(180deg,rgba(250,250,248,.99),rgba(248,248,246,.99))}

/* Archive index: one small legibility step up; reading text is unchanged. */
.file-index-head h2{font-size:.87rem}
.file-search input{font-size:.78rem}
.tree-label{font-size:.61rem}
.tree-label .state{font-size:.55rem}
.tree-doc .doc-code{font-size:.57rem}
.tree-doc .doc-name{font-size:.83rem;line-height:1.30}
.tree-doc .doc-name small{font-size:.53rem}
.tree-doc .open-glyph{font-size:.62rem}
.search-help{font-size:.54rem}
.search-result .result-title{font-size:.74rem}
.search-result .result-snippet{font-size:.76rem}

/* Existing right rail: increase information text without making the rail denser. */
.rail-head{font-size:.60rem}
.kv{font-size:.73rem;line-height:1.48}
.kv b{font-size:.66rem}
.monitor-title b{font-size:.66rem}
.monitor-title span{font-size:.64rem}
.monitor-foot{font-size:.53rem}
.channel span{font-size:.54rem}
.connection-empty{font-size:.73rem}
.connection-card .c-id{font-size:.54rem}
.connection-card .c-relation{font-size:.52rem}
.connection-card strong{font-size:.75rem}
.connection-card p{font-size:.68rem}
.connection-actions button{font-size:.53rem}
.event{font-size:.59rem}
.rail-control{font-size:.59rem}
.atlas-summary{font-size:.68rem}

/* Wide-screen provenance spine. */
.spine-kicker{font-size:.52rem}
.spine-field span,.spine-meter-head span{font-size:.48rem}
.spine-field b{font-size:.58rem;line-height:1.38}
.spine-field .prov-state{font-size:.54rem}
.spine-meter-head b{font-size:.55rem}

/* Global operations: still peripheral, but no longer microtype. */
.global-ops-head span{font-size:.49rem}
.global-ops-head b{font-size:.66rem}
.global-ops-mode{font-size:.52rem}
.global-section-label{font-size:.48rem}
.global-stability span,.global-history span,.global-focus span{font-size:.48rem}
.global-stability b,.global-history b,.global-focus b{font-size:.52rem}
.global-load-row span,.global-load-row b{font-size:.47rem}
.ucz-grid span{font-size:.50rem}
.ucz-grid b{font-size:.45rem}
.global-feed-row time{font-size:.44rem}
.global-feed-row span{font-size:.49rem;line-height:1.38}
.ledger-link-relation{font-size:.52rem}

@media(max-width:1810px){
  .global-ops-surface.compact .global-stability span,
  .global-ops-surface.compact .global-stability b{font-size:.54rem}
  .global-ops-surface.compact .global-feed-row span{font-size:.51rem}
}

/* ==========================================================
   v1.10.8 — expandable SYSTEM instruments / operational fabric
   ========================================================== */
body.expanse-open{overflow:hidden}

/* Deliberate press affordance: quick click works, sustained press visibly charges. */
.system-pressable{position:relative;overflow:hidden;isolation:isolate;cursor:pointer;-webkit-tap-highlight-color:transparent}
.system-pressable .press-charge{position:absolute;left:0;right:0;bottom:0;height:2px;background:transparent;pointer-events:none;z-index:3}
.system-pressable .press-charge::after{content:"";display:block;width:0;height:100%;background:var(--system-active);opacity:.72}
.system-pressable.pressing{transform:translateY(1px);filter:saturate(.94)}
.system-pressable.pressing .press-charge::after{width:100%;transition:width .34s linear}
.system-pressable.press-armed{box-shadow:inset 0 0 0 1px rgba(0,93,93,.26)}
.system-pressable:focus-visible{outline:2px solid rgba(0,93,93,.34);outline-offset:2px}

/* Global-operations controls retain the quiet panel appearance while becoming activators. */
button.global-ops-head,button.global-status-row,button.global-load-row,button.global-history,button.ucz-cell{
  font:inherit;color:inherit;width:100%;border:0;background:transparent;text-align:inherit;padding:0;margin:0;
}
button.global-ops-head:hover,button.global-status-row:hover,button.global-load-row:hover,button.global-history:hover,button.ucz-cell:hover{background:rgba(0,93,93,.035)}
.global-status-row{display:flex;justify-content:space-between;gap:8px;align-items:baseline;padding:4px 2px!important;border-bottom:1px solid rgba(203,214,219,.58)!important}
.global-stability span,.global-stability b{pointer-events:none}
.global-load-row{padding:2px!important;border:1px solid transparent!important}
.global-load-row:hover{border-color:rgba(0,93,93,.09)!important}
.global-load-row .load-track{display:block;height:3px;background:#D8E3E4;overflow:hidden}
.global-load-row .load-track em{display:block;height:100%;width:var(--load,50%);background:linear-gradient(90deg,var(--system-data),var(--system-active));transition:width .8s ease}
.global-history{position:relative}
.ucz-grid>button{border:1px solid #D8E2E3;background:#F7FAFA;padding:5px 4px;text-align:center;display:grid;gap:2px}
.ucz-grid>button:hover{border-color:#BFCFD2;background:#F2F7F6}
.instrument-expand-hint{position:absolute;right:8px;bottom:6px;font:750 .42rem/1 var(--mono);letter-spacing:.08em;color:#9AA9AD;opacity:.0;transition:opacity .16s}
.monitor-card.system-pressable:hover .instrument-expand-hint{opacity:1}
.monitor-card.system-pressable{transition:border-color .16s,background .16s,transform .08s}
.monitor-card.system-pressable:hover{border-color:#C4D4D7;background:#FCFEFD}

/* Expanded SYSTEM workspace. */
.system-expanse-card{width:min(1540px,97vw);height:min(900px,94vh);max-height:94vh;background:#F3F6F6;border-color:#B8C9CD;grid-template-rows:auto auto minmax(0,1fr);overflow:hidden}
.system-expanse-head{background:#F8FAF9;padding:13px 16px}
.system-expanse-head>div{display:flex;align-items:baseline;gap:8px;min-width:0}
.system-expanse-head span{font:750 .56rem/1 var(--mono);letter-spacing:.10em;color:#74878B}
.system-expanse-head strong{font:760 .82rem/1.15 var(--mono);letter-spacing:.06em;color:var(--system-active);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.system-expanse-head small{font:700 .48rem/1 var(--mono);letter-spacing:.08em;color:#96A2A5}
.system-expanse-tabs{display:flex;gap:0;border-bottom:1px solid #D2DEE0;background:#EDF2F2;padding:0 12px}
.system-expanse-tabs button{border:0;border-right:1px solid #D6E0E2;background:transparent;padding:10px 14px;font:750 .54rem/1 var(--mono);letter-spacing:.08em;color:#718287;cursor:pointer}
.system-expanse-tabs button:first-child{border-left:1px solid #D6E0E2}
.system-expanse-tabs button:hover{background:#F5F8F7;color:#3E6768}
.system-expanse-tabs button.active{background:#FBFCFB;color:var(--system-active);box-shadow:inset 0 -2px 0 var(--system-active)}
.system-expanse-body{min-height:0;overflow:auto;background:#F3F6F6;padding:14px}
.system-panel{height:100%}

/* Global fabric map. */
.fabric-panel{display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:10px;min-height:680px}
.fabric-toolbar{display:flex;align-items:center;gap:10px;min-height:34px}
.fabric-toolbar>button{border:1px solid #CAD7D9;background:#FAFCFB;padding:7px 10px;font:750 .50rem/1 var(--mono);letter-spacing:.08em;color:#5E7478;cursor:pointer}
.fabric-toolbar>button:disabled{opacity:.35;cursor:default}
.fabric-filter-label{font:750 .47rem/1 var(--mono);letter-spacing:.10em;color:#8B989C;margin-left:4px}
.fabric-filters{display:flex;flex-wrap:wrap;gap:5px}
.fabric-filters button{border:1px solid #D2DDDF;background:#F8FAF9;padding:6px 8px;font:700 .47rem/1 var(--mono);letter-spacing:.04em;color:#708186;cursor:pointer}
.fabric-filters button:hover{background:#F0F6F5;color:#3C6566}
.fabric-filters button.active{border-color:#AFC6C7;background:#EAF3F1;color:var(--system-active)}
.fabric-layout{display:grid;grid-template-columns:minmax(0,1fr) 270px;gap:12px;min-height:0}
.system-map-shell{border:1px solid #C9D6D9;background:#F9FBFA;display:grid;grid-template-rows:auto minmax(0,1fr) auto;min-height:580px;overflow:hidden}
.map-statusline{display:flex;justify-content:space-between;gap:15px;padding:9px 11px;border-bottom:1px solid #D8E2E4;font:750 .50rem/1 var(--mono);letter-spacing:.06em;color:#60767B}
.map-statusline b{color:var(--system-active)}
.system-world-map{width:100%;height:100%;min-height:500px;background:#F7FAF9;touch-action:manipulation}
.world-geometry{opacity:.98}
.map-grid line{stroke:#DCE5E6;stroke-width:.45;opacity:.44}
.fabric-link{stroke:#91AEB6;stroke-width:.75;opacity:.34;stroke-dasharray:3 3;vector-effect:non-scaling-stroke}
.fabric-link.active{stroke:var(--system-data);stroke-width:1.15;opacity:.72}
.rcz-node{fill:#708D94;opacity:.27;stroke:none;cursor:pointer;vector-effect:non-scaling-stroke}
.system-world-map[data-focus="GLOBAL"] .rcz-node{pointer-events:none}
.rcz-node.elevated{fill:var(--state-warning);opacity:.82}
.rcz-node.review{fill:#6F6680;opacity:.78}
.rcz-node.critical{fill:var(--state-critical);opacity:.95}
.division-node{fill:var(--system-active);stroke:#F7FAF9;stroke-width:.65;opacity:.68;cursor:pointer;vector-effect:non-scaling-stroke}
.division-node:hover{opacity:1;stroke:#204D4E;stroke-width:1.1}
.division-system{fill:#315A72}.division-aetherlink{fill:#3D7E91}.division-scc{fill:#005D5D}.division-nst{fill:#647D82}.division-ossh{fill:#6F6680}.division-pcpn{fill:#668478}.division-osccf{fill:#596F86}.division-logistics{fill:#7B8790}.division-research{fill:#5D7191}.division-nh{fill:#526B6F}
.crisis-marker{cursor:pointer}.crisis-halo{fill:none;stroke-width:1.2;vector-effect:non-scaling-stroke}.crisis-core{stroke:#fff;stroke-width:.65;vector-effect:non-scaling-stroke}
.crisis-marker.elevated .crisis-halo{stroke:var(--state-warning);opacity:.72}.crisis-marker.elevated .crisis-core{fill:var(--state-warning)}
.crisis-marker.review .crisis-halo{stroke:var(--state-uncertain);opacity:.72}.crisis-marker.review .crisis-core{fill:var(--state-uncertain)}
.crisis-marker.critical .crisis-halo{stroke:var(--state-critical);opacity:.82;animation:crisisPulse 2.2s ease-in-out infinite}.crisis-marker.critical .crisis-core{fill:var(--state-critical)}
.ucz-map-label{cursor:pointer}.ucz-map-label circle{fill:#F8FBFA;stroke:#78969B;stroke-width:1.1;vector-effect:non-scaling-stroke}.ucz-map-label text{font:750 7px/1 var(--mono);letter-spacing:.06em;fill:#557075;paint-order:stroke;stroke:#F8FBFA;stroke-width:2px;stroke-linejoin:round}
.ucz-map-label:hover circle{fill:#DCEBE8;stroke:var(--system-active)}
.map-legend{display:flex;flex-wrap:wrap;gap:14px;padding:8px 10px;border-top:1px solid #D8E2E4;font:700 .45rem/1 var(--mono);letter-spacing:.05em;color:#75878B}
.map-legend span{display:flex;align-items:center;gap:5px}.map-legend i{width:7px;height:7px;border-radius:50%;background:#708D94;opacity:.45}.map-legend i.site{background:var(--system-active);opacity:.8}.map-legend i.elevated{background:var(--state-warning);opacity:.9}.map-legend i.critical{background:var(--state-critical);opacity:.95}
@keyframes crisisPulse{0%,100%{opacity:.35}50%{opacity:1}}

.fabric-inspector{border:1px solid #CCD8DA;background:#FAFCFB;padding:14px;overflow:auto;color:#53676C}
.fabric-inspector .expanded-kicker,.expanded-kicker{font:750 .49rem/1 var(--mono);letter-spacing:.11em;color:#88969A}
.fabric-inspector h3{font:760 .86rem/1.25 var(--mono);letter-spacing:.04em;color:#385B60;margin:8px 0}
.fabric-inspector p{font-size:.74rem;line-height:1.55;color:#708084;margin:0 0 12px}
.inspector-state{display:inline-block;border:1px solid #BFD0D0;background:#EEF5F3;padding:5px 7px;font:750 .48rem/1 var(--mono);letter-spacing:.06em;color:var(--system-active);margin:0 0 12px}
.inspector-state.elevated{border-color:#D5C39E;background:#FAF6EB;color:var(--state-warning)}.inspector-state.review{border-color:#C9C1D3;background:#F5F2F7;color:var(--state-uncertain)}.inspector-state.critical{border-color:#D9A7A9;background:#FBF0F0;color:var(--state-critical)}
.fabric-inspector dl{margin:0;display:grid;grid-template-columns:1fr 1.25fr;border-top:1px solid #DCE4E5}.fabric-inspector dt,.fabric-inspector dd{margin:0;padding:8px 0;border-bottom:1px solid #E4EAEA}.fabric-inspector dt{font:700 .47rem/1.25 var(--mono);letter-spacing:.05em;color:#869498}.fabric-inspector dd{font:750 .50rem/1.25 var(--mono);color:#526B70;text-align:right}
.inspector-tasks{display:grid;gap:5px;margin-top:14px;padding-top:12px;border-top:1px solid #DCE4E5}.inspector-tasks span{font:750 .46rem/1 var(--mono);letter-spacing:.10em;color:#8A989B}.inspector-tasks b{font:650 .50rem/1.3 var(--mono);color:#60777A}
.ucz-strip{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:6px}.ucz-strip button{border:1px solid #D0DBDD;background:#F9FBFA;padding:8px 7px;display:grid;gap:4px;text-align:left;cursor:pointer}.ucz-strip button:hover,.ucz-strip button.active{background:#EDF5F3;border-color:#B8CCCC}.ucz-strip span{font:750 .50rem/1 var(--mono);color:#41696B}.ucz-strip b{font:650 .43rem/1.25 var(--mono);color:#859296}

/* Processing expanded instrument. */
.processing-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(300px,.85fr);grid-template-rows:auto minmax(320px,1fr);gap:12px;height:100%;min-height:680px}
.expanded-card{border:1px solid #CAD7D9;background:#FAFCFB;padding:16px;min-width:0}
.expanded-card h3{font:760 1rem/1.2 var(--mono);letter-spacing:.05em;color:#355D60;margin:7px 0 16px}
.expanded-core-loads{display:grid;gap:14px}.expanded-load-row>div{display:flex;justify-content:space-between;gap:12px;margin-bottom:5px}.expanded-load-row span{font:700 .58rem/1.2 var(--mono);letter-spacing:.04em;color:#657A7F}.expanded-load-row b{font:750 .58rem/1.2 var(--mono);color:var(--system-active)}.expanded-load-row>i{display:block;height:5px;background:#DDE7E7;overflow:hidden}.expanded-load-row>i em{display:block;height:100%;width:var(--load,50%);background:linear-gradient(90deg,var(--system-data),var(--system-active));transition:width .8s ease}
.counter-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px}.counter-grid>div{border:1px solid #DCE5E6;background:#F7FAF9;padding:10px;display:grid;gap:5px}.counter-grid span{font:700 .46rem/1 var(--mono);letter-spacing:.07em;color:#87969A}.counter-grid b{font:760 .78rem/1 var(--mono);color:#3E6769}
.processing-reference strong,.processing-reference b{display:block;font-family:var(--mono)}.processing-reference strong{font-size:.66rem;color:#687E82;margin:8px 0 3px}.processing-reference b{font-size:.92rem;color:#425F65}.processing-reference p{font-size:.70rem;line-height:1.5;color:#829095;margin:10px 0 0}
.processing-trace{grid-column:1 / -1;min-height:330px}.expanded-process-trace{display:flex;flex-direction:column;gap:0;border-top:1px solid #D9E3E4;margin-top:10px}.expanded-process-trace>div{display:grid;grid-template-columns:78px 1fr;gap:14px;padding:8px 2px;border-bottom:1px solid #E2E9EA;font-family:var(--mono)}.expanded-process-trace time{font-size:.50rem;color:#8E9C9F}.expanded-process-trace span{font-size:.57rem;color:#526B70;letter-spacing:.025em}.expanded-process-trace .fresh{animation:feedArrive .24s ease both}

/* Continuity expanded instrument. */
.continuity-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(300px,.8fr);gap:12px;min-height:680px}.continuity-primary{min-height:420px}.continuity-state{display:flex;justify-content:space-between;gap:20px;align-items:baseline;margin:9px 0 18px}.continuity-state strong{font:760 1.3rem/1 var(--mono);color:var(--system-active)}.continuity-state span{font:700 .54rem/1.2 var(--mono);letter-spacing:.05em;color:#74878B}.continuity-trace{width:100%;height:300px;border:1px solid #E0E8E9;background:#F8FBFA}.expanded-chart-grid line{stroke:#DFE7E8;stroke-width:1}.continuity-line{fill:none;stroke:var(--system-active);stroke-width:2.2;vector-effect:non-scaling-stroke}
.continuity-channels{display:grid;gap:12px;margin-top:12px}.continuity-channels>div{display:grid;grid-template-columns:1fr auto;gap:5px 10px}.continuity-channels span{font:700 .51rem/1.2 var(--mono);color:#6B7F83}.continuity-channels b{font:750 .51rem/1.2 var(--mono);color:#41686A}.continuity-channels i,.continuity-regions-grid i,.semantic-expanded-components i{grid-column:1/-1;height:4px;background:#DFE8E8;overflow:hidden}.continuity-channels i em,.continuity-regions-grid i em,.semantic-expanded-components i em{display:block;height:100%;width:var(--v,50%);background:linear-gradient(90deg,var(--system-data),var(--system-active))}
.continuity-regions{grid-column:1/-1}.continuity-regions-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:7px;margin-top:12px}.continuity-regions-grid button{border:1px solid #D6E1E2;background:#F8FBFA;padding:10px;text-align:left;cursor:pointer;display:grid;grid-template-columns:1fr auto;gap:6px}.continuity-regions-grid button:hover{background:#EEF5F3}.continuity-regions-grid span{font:750 .52rem/1 var(--mono);color:#536F74}.continuity-regions-grid b{font:750 .46rem/1 var(--mono);color:var(--system-active)}

/* Full-record semantic load instrument. */
.semantic-expanded{min-height:680px}.semantic-expanded-head{display:flex;justify-content:space-between;gap:20px;align-items:end}.semantic-expanded-head h3{margin:6px 0 0;font-size:.95rem}.semantic-expanded-head>b{font:760 1.1rem/1 var(--mono);color:var(--system-active)}.semantic-expanded-trace{width:100%;height:420px;margin-top:16px;border:1px solid #DCE6E7;background:#F9FBFA}.semantic-line{fill:none;stroke:var(--system-active);stroke-width:2.1;vector-effect:non-scaling-stroke}.semantic-position{stroke:#6F6680;stroke-width:1.2;stroke-dasharray:4 4;vector-effect:non-scaling-stroke}.semantic-current{fill:#6F6680;stroke:#fff;stroke-width:1.5;vector-effect:non-scaling-stroke}.semantic-expanded-components{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:12px}.semantic-expanded-components>div{display:grid;grid-template-columns:1fr auto;gap:5px 8px;border:1px solid #DDE6E7;background:#F8FBFA;padding:9px}.semantic-expanded-components span{font:700 .48rem/1 var(--mono);letter-spacing:.04em;color:#778A8E}.semantic-expanded-components b{font:750 .52rem/1 var(--mono);color:#436B6D}.semantic-expanded-note{font:700 .47rem/1 var(--mono);letter-spacing:.08em;color:#91A0A3;margin-top:10px}

@media(max-width:1050px){
  .system-expanse-card{width:98vw;height:95vh}.fabric-layout{grid-template-columns:1fr}.fabric-inspector{max-height:240px}.ucz-strip{grid-template-columns:repeat(3,1fr)}.processing-grid,.continuity-grid{grid-template-columns:1fr;height:auto}.processing-trace,.continuity-regions{grid-column:auto}.continuity-regions-grid{grid-template-columns:repeat(3,1fr)}.semantic-expanded-components{grid-template-columns:1fr 1fr}.fabric-panel,.processing-grid,.continuity-grid,.semantic-expanded{min-height:0}.system-map-shell{min-height:480px}
}
@media(max-width:650px){
  .system-expanse-body{padding:8px}.system-expanse-head small{display:none}.system-expanse-tabs{overflow:auto;padding:0}.system-expanse-tabs button{white-space:nowrap}.fabric-toolbar{align-items:flex-start;flex-wrap:wrap}.fabric-filters{width:100%}.ucz-strip,.continuity-regions-grid,.counter-grid,.semantic-expanded-components{grid-template-columns:1fr 1fr}.system-world-map{min-height:360px}.system-map-shell{min-height:420px}.map-legend{gap:8px}.processing-grid{min-height:0}
}
body.reduced-motion .crisis-marker.critical .crisis-halo,body.reduced-motion .expanded-process-trace .fresh{animation:none!important}
.global-ops-surface.compact .global-status-row{display:grid;gap:2px;padding:4px 0!important}
.global-ops-surface.compact .global-status-row b{text-align:left}


.map-legend i.sector{border-radius:1px;background:#DCEAE7;border:1px solid #6F898D;opacity:1}
.system-world-map[data-focus="NA"] .ucz-map-label{display:none}


/* ==========================================================
   v1.10.8 — UCZ-NA sector topology
   ========================================================== */
.na-sector-cell{fill:#E7EFEE;fill-opacity:.58;stroke:#6F898D;stroke-width:.78;vector-effect:non-scaling-stroke;cursor:pointer;transition:fill .14s ease,stroke .14s ease,fill-opacity .14s ease}
.na-sector-cell:hover{fill:#D4E6E3;fill-opacity:.94;stroke:#005D5D;stroke-width:1.28}
.na-sector-cell.dense{fill:#DDEAE8;fill-opacity:.72}
.na-sector-cell.regional{fill:#E6EEEE;fill-opacity:.62}
.na-sector-cell.sparse{fill:#EDF2F2;fill-opacity:.53}
.na-sector-cell.remote{fill:#EFF3F3;fill-opacity:.48}
.na-sector-cell.polar{fill:#F1F4F4;fill-opacity:.46}
.na-sector-cell.known{stroke:#315A72;stroke-width:1.18;fill:#DAE8E6;fill-opacity:.78}
.na-sector-label{font:750 4.15px/1 var(--mono);letter-spacing:.025em;fill:#526B70;pointer-events:none;text-anchor:middle;paint-order:stroke;stroke:#F7FAF9;stroke-width:1.15px;stroke-linejoin:round}
.na-sector-label.known{fill:#315A72;font-size:5.1px}
.na-sector-overview{fill:#617F84;opacity:.42;stroke:#F7FAF9;stroke-width:.34;vector-effect:non-scaling-stroke}
.na-sector-overview.known{fill:#315A72;opacity:.88}


/* ==========================================================
   v1.10.9 — SYSTEM source speech normalization
   ========================================================== */
/* Source-normalized SYSTEM speech should read as part of the manuscript,
   not as a miniature metadata tag. The prefix is full text size and the
   entire utterance uses a restrained SYSTEM blue/teal hierarchy. */
.system .system-text{
  color:#315A72;
}
.system .system-source-prefix{
  font-family:var(--mono);
  font-size:1.075rem;
  line-height:1.76;
  font-weight:750;
  letter-spacing:.015em;
  color:#005D5D;
  white-space:nowrap;
  vertical-align:baseline;
}
.system .system-source-body{
  font:inherit;
  color:#315A72;
}
.system.telemetry-system .system-text{
  color:#486A76;
}
.system.telemetry-system .system-source-prefix{
  font-size:1.075rem;
  line-height:1.76;
  color:#3D7E91;
}
.system.telemetry-system .system-source-body{
  color:#486A76;
}


/* v1.10.11 — quieter SYSTEM source speaker marker */
.system .system-source-prefix{
  font-weight:500;
  letter-spacing:.012em;
}
.system.telemetry-system .system-source-prefix{
  font-weight:500;
}
