/* ===================================================================
   S.M.M. Field Guide — consolidated stylesheet (Hugo)
   Merges the dossier + chapter + landing styles; dark default with a
   light theme and a forced light-monochrome print mode.
   =================================================================== */
:root{
  --ground:#0a0e14;--ground-2:#070a0f;--panel:#0e1620;--panel-2:#0b111a;
  --ink:#c9d6e2;--ink-dim:#8ba0b3;--muted:#6d8299;
  --line:rgba(63,224,255,.16);--line-soft:rgba(63,224,255,.09);
  --cyan:#3fe0ff;--cyan-deep:#1c9dc4;--amber:#ffb23e;--red:#ff4d4d;--green:#54e39b;--stamp:#ff5a4d;
  --mono:ui-monospace,"SF Mono","Cascadia Code","JetBrains Mono",Menlo,Consolas,monospace;
  --sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  --pad:clamp(16px,3.2vw,34px);
}
:root[data-theme="light"]{
  --ground:#eef2f6;--ground-2:#e2e8ee;--panel:#ffffff;--panel-2:#f3f7fb;
  --ink:#20303f;--ink-dim:#46586b;--muted:#5f7284;
  --line:rgba(15,86,112,.24);--line-soft:rgba(15,86,112,.12);
  --cyan:#0c6f8c;--cyan-deep:#0a566b;--amber:#9a5600;--red:#c0362b;--green:#1c7a4c;--stamp:#c0362b;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;font-family:var(--mono);color:var(--ink);
  background:radial-gradient(120% 90% at 50% -10%, #101a26 0%, var(--ground) 46%, var(--ground-2) 100%);
  min-height:100vh;line-height:1.5;letter-spacing:.01em;padding:clamp(10px,2.4vw,32px);-webkit-font-smoothing:antialiased}
:root[data-theme="light"] body{background:radial-gradient(120% 90% at 50% -10%, #ffffff 0%, var(--ground) 55%, var(--ground-2) 100%)}

/* ambient fx */
.fx{position:fixed;inset:0;pointer-events:none;z-index:0}
.fx.grid{background-image:linear-gradient(var(--line-soft) 1px,transparent 1px),linear-gradient(90deg,var(--line-soft) 1px,transparent 1px);background-size:34px 34px;mask-image:radial-gradient(130% 100% at 50% 0%, #000 40%, transparent 92%);opacity:.5}
.fx.scan{background:repeating-linear-gradient(0deg,rgba(0,0,0,.16) 0 1px,transparent 1px 3px);mix-blend-mode:multiply;opacity:.5}
.fx.vignette{box-shadow:inset 0 0 220px 40px rgba(0,0,0,.7)}
:root[data-theme="light"] .fx.scan,:root[data-theme="light"] .fx.vignette{display:none}
:root[data-theme="light"] .fx.grid{opacity:.22}

/* site nav */
.sitenav{max-width:1080px;margin:0 auto 10px;display:flex;flex-wrap:wrap;align-items:center;gap:7px 15px;font-family:var(--mono);font-size:11px;letter-spacing:.13em;text-transform:uppercase;padding:9px 14px;border:1px solid var(--line);border-radius:2px;background:rgba(63,224,255,.04)}
.sitenav a{color:var(--cyan);text-decoration:none;border-bottom:1px solid transparent;padding-bottom:1px;transition:.15s}
.sitenav a:hover{border-bottom-color:currentColor}
.sitenav .nav-home{font-weight:800;color:#eaf6ff;letter-spacing:.15em}
.sitenav .nav-crumb{color:var(--muted);letter-spacing:.1em}
.sitenav .nav-gap{flex:1 1 auto}
.sitenav .nav-step{color:var(--amber)}
:root[data-theme="light"] .sitenav .nav-home{color:#10222f}
.chip a,a.xref{color:var(--cyan);text-decoration:none;border-bottom:1px dotted var(--line)}
.chip a:hover,a.xref:hover{border-bottom-color:var(--cyan)}

/* toolbar */
.toolbar{max-width:1080px;margin:0 auto 12px;display:flex;justify-content:flex-end;gap:10px}
.btn{font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--cyan);background:rgba(63,224,255,.06);border:1px solid var(--line);padding:8px 14px;border-radius:2px;cursor:pointer;transition:.15s}
.btn:hover{background:rgba(63,224,255,.14);border-color:var(--cyan)}
.btn:focus-visible{outline:2px solid var(--cyan);outline-offset:2px}

/* sheet */
.dossier{position:relative;z-index:1;max-width:1080px;margin:0 auto;background:linear-gradient(180deg,var(--panel) 0%,var(--panel-2) 100%);border:1px solid var(--line);box-shadow:0 0 0 1px rgba(0,0,0,.6), 0 30px 90px -30px rgba(0,0,0,.9), inset 0 1px 0 rgba(255,255,255,.03);overflow:hidden}

.banner{display:flex;align-items:center;justify-content:center;gap:14px;padding:9px 14px;font-size:11px;font-weight:700;letter-spacing:.3em;text-transform:uppercase;color:#0a0e14;background:repeating-linear-gradient(45deg,#ffb23e 0 16px,#0a0e14 16px 20px,#ffb23e 20px 36px,#141821 36px 40px);position:relative}
.banner span{background:var(--amber);padding:4px 14px;border-radius:2px;box-shadow:0 0 0 2px #0a0e14;white-space:nowrap;text-align:center}

.masthead{display:grid;grid-template-columns:auto 1fr auto;gap:var(--pad);align-items:center;padding:calc(var(--pad)*.9) var(--pad);border-bottom:1px solid var(--line);background:linear-gradient(180deg,rgba(63,224,255,.05),transparent)}
.insignia{width:66px;height:66px;filter:drop-shadow(0 0 10px rgba(63,224,255,.45))}
:root[data-theme="light"] .insignia{filter:none}
.agency h1{margin:0;font-size:clamp(19px,3.3vw,29px);font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:#eaf6ff;text-wrap:balance;text-shadow:0 0 18px rgba(63,224,255,.35)}
.agency p{margin:5px 0 0;font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--cyan)}
.filemeta{text-align:right;font-size:11px;line-height:1.7;color:var(--ink-dim);letter-spacing:.06em;white-space:nowrap}
.filemeta b{color:var(--ink);font-weight:600}

.subject{position:relative;padding:calc(var(--pad)*.85) var(--pad);border-bottom:1px solid var(--line);background:radial-gradient(90% 200% at 0% 0%, rgba(63,224,255,.08), transparent 60%)}
.typetag{display:inline-flex;align-items:center;gap:8px;font-size:11px;letter-spacing:.28em;text-transform:uppercase;color:var(--cyan);border:1px solid var(--line);border-radius:2px;padding:5px 11px;background:rgba(63,224,255,.06)}
.typetag::before{content:"";width:7px;height:7px;background:var(--cyan);border-radius:50%;box-shadow:0 0 8px var(--cyan)}
.opname{margin:14px 0 2px;font-size:11px;letter-spacing:.34em;text-transform:uppercase;color:var(--amber)}
.subject h2{margin:14px 0 4px;font-size:clamp(28px,6vw,54px);font-weight:800;letter-spacing:.03em;line-height:.98;color:#f2f9ff;text-transform:uppercase;text-wrap:balance;text-shadow:0 0 30px rgba(63,224,255,.25)}
.subject.chapter h2{font-size:clamp(26px,5.4vw,48px);margin:4px 0 6px;line-height:1.0;letter-spacing:.02em}
.subject .desig{font-size:13px;letter-spacing:.15em;text-transform:uppercase;color:var(--ink-dim)}
.subject .desig b{color:var(--amber);font-weight:600}
:root[data-theme="light"] .subject h2{text-shadow:none;color:#10222f}
.stamp{position:absolute;top:50%;right:calc(var(--pad) - 6px);transform:translateY(-50%) rotate(-11deg);border:3px solid var(--stamp);color:var(--stamp);font-size:clamp(14px,2.4vw,21px);font-weight:800;letter-spacing:.14em;padding:6px 16px;border-radius:5px;text-transform:uppercase;opacity:.85;mix-blend-mode:screen;box-shadow:0 0 0 2px rgba(255,90,77,.15);text-shadow:0 0 12px rgba(255,90,77,.4);pointer-events:none;white-space:nowrap}
:root[data-theme="light"] .stamp{text-shadow:none}
@media(max-width:640px){.stamp{position:static;transform:rotate(-6deg);display:inline-block;margin-top:14px}}

/* dossier body grid */
.body{display:grid;grid-template-columns:300px 1fr;gap:0}
@media(max-width:820px){.body{grid-template-columns:1fr}}
.rail{border-right:1px solid var(--line);background:var(--panel-2);display:flex;flex-direction:column}
@media(max-width:820px){.rail{border-right:0;border-bottom:1px solid var(--line)}}
.content{display:flex;flex-direction:column}
.panel{padding:calc(var(--pad)*.85) var(--pad);border-bottom:1px solid var(--line-soft)}
.panel:last-child{border-bottom:0}
.eyebrow{display:flex;align-items:baseline;gap:9px;font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:var(--cyan);margin:0 0 14px;font-weight:600}
.eyebrow::before{content:"▸";color:var(--cyan);font-size:10px;align-self:center}
.eyebrow .op{color:var(--amber);font-weight:800;letter-spacing:.1em}
.eyebrow .idx{margin-left:auto;color:var(--muted);letter-spacing:.1em;font-weight:400;align-self:center}

.portrait{position:relative;aspect-ratio:4/5;border:1px solid var(--line);background:repeating-linear-gradient(0deg,rgba(63,224,255,.04) 0 2px,transparent 2px 4px),linear-gradient(160deg,#0d1a24,#070c12);display:grid;place-items:center;overflow:hidden;border-radius:3px}
.portrait svg{width:58%;opacity:.7}
.portrait .plabel{position:absolute;bottom:0;left:0;right:0;font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--amber);text-align:center;padding:6px;background:rgba(7,10,15,.82);border-top:1px solid var(--line)}
.portrait .corner{position:absolute;width:14px;height:14px;border:2px solid var(--cyan);opacity:.7}
.portrait .corner.tl{top:6px;left:6px;border-right:0;border-bottom:0}
.portrait .corner.tr{top:6px;right:6px;border-left:0;border-bottom:0}
.portrait .corner.bl{bottom:6px;left:6px;border-right:0;border-top:0}
.portrait .corner.br{bottom:6px;right:6px;border-left:0;border-top:0}

.vitals{display:flex;flex-direction:column;gap:0;margin:0}
.vitals .row{display:grid;grid-template-columns:1fr 1.25fr;gap:10px;padding:9px 0;border-bottom:1px dashed var(--line-soft);font-size:12.5px}
.vitals .row:last-child{border-bottom:0}
.vitals dt{color:var(--muted);text-transform:uppercase;letter-spacing:.1em;font-size:10.5px;margin:0;padding-top:1px}
.vitals dd{margin:0;color:var(--ink);word-break:break-word}

.threat .segs{display:flex;gap:5px;margin-bottom:9px}
.threat .seg{flex:1;height:12px;border:1px solid var(--line);border-radius:1px;background:rgba(255,255,255,.02)}
.threat[data-level="1"] .seg:nth-child(-n+1),.threat[data-level="2"] .seg:nth-child(-n+2),.threat[data-level="3"] .seg:nth-child(-n+3),.threat[data-level="4"] .seg:nth-child(-n+4),.threat[data-level="5"] .seg:nth-child(-n+5){background:var(--tc);border-color:var(--tc);box-shadow:0 0 10px var(--tc)}
.threat[data-level="1"]{--tc:var(--green)}.threat[data-level="2"]{--tc:#a7d84f}.threat[data-level="3"]{--tc:var(--amber)}.threat[data-level="4"]{--tc:#ff7a3d}.threat[data-level="5"]{--tc:var(--red)}
.threat .tlabel{font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-bottom:6px}
.threat .verdict{font-size:16px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--tc);text-shadow:0 0 14px var(--tc)}
:root[data-theme="light"] .threat .verdict{text-shadow:none}
:root[data-theme="light"] .threat .seg{box-shadow:none}
.threat .sub,.threat .note{font-size:11px;color:var(--muted);letter-spacing:.08em;margin-top:2px}

.pills{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none}
.pill{font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;padding:5px 10px;border:1px solid var(--line);border-radius:2px;color:var(--ink-dim);background:rgba(63,224,255,.04)}
.pill.on{color:var(--green);border-color:rgba(84,227,155,.4);background:rgba(84,227,155,.08)}
.pill.warn{color:var(--amber);border-color:rgba(255,178,62,.4);background:rgba(255,178,62,.08)}
.pill.crit{color:var(--red);border-color:rgba(255,77,77,.4);background:rgba(255,77,77,.08)}

.prose{font-family:var(--sans);font-size:15px;line-height:1.72;color:var(--ink);max-width:70ch}
.prose p{margin:0 0 13px}.prose p:last-child{margin-bottom:0}
.prose strong{color:#eaf6ff}.prose em{color:var(--amber);font-style:normal}
:root[data-theme="light"] .prose strong{color:#10222f}
.subhead{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--amber);margin:16px 0 8px}

.signs{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:11px;max-width:70ch}
.signs li{position:relative;padding-left:30px;font-family:var(--sans);font-size:14.5px;color:var(--ink)}
.signs li::before{content:"!";position:absolute;left:0;top:0;width:19px;height:19px;border-radius:3px;display:grid;place-items:center;font-family:var(--mono);font-size:12px;font-weight:800;color:var(--amber);border:1px solid rgba(255,178,62,.5);background:rgba(255,178,62,.1)}
.signs li b{color:#eaf6ff}
:root[data-theme="light"] .signs li b{color:#10222f}

.chips{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:12px;margin:0;padding:0;list-style:none}
.chip{border:1px solid var(--line);border-radius:3px;padding:12px 14px;background:linear-gradient(180deg,rgba(63,224,255,.05),transparent)}
.chip .name{font-size:13px;font-weight:700;letter-spacing:.06em;color:#eaf6ff}
:root[data-theme="light"] .chip .name{color:#10222f}
.chip .rel{font-size:11px;color:var(--muted);letter-spacing:.08em;text-transform:uppercase;margin-top:3px}

.timeline{margin:0;padding:0 0 0 4px;list-style:none}
.timeline li{position:relative;padding:0 0 18px 26px;border-left:1px solid var(--line)}
.timeline li:last-child{padding-bottom:0}
.timeline li::before{content:"";position:absolute;left:-5px;top:3px;width:9px;height:9px;border-radius:50%;background:var(--cyan);box-shadow:0 0 10px var(--cyan)}
.timeline .when{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--amber)}
.timeline .what{font-family:var(--sans);font-size:14px;color:var(--ink);margin-top:3px}

.directive{border:1px solid rgba(84,227,155,.35);border-left:3px solid var(--green);background:rgba(84,227,155,.06);padding:14px 16px;border-radius:2px;font-family:var(--sans);font-size:14.5px;color:#dff5e9;max-width:74ch}
.directive b{color:var(--green);text-transform:uppercase;letter-spacing:.08em;font-family:var(--mono);font-size:12px}
.directive ul{margin:8px 0 0;padding-left:18px}.directive li{margin:5px 0}
.directive li strong{color:#eaf6ff}
:root[data-theme="light"] .directive{color:#123a28}
:root[data-theme="light"] .directive li strong{color:#10222f}

.redact{background:#05080c;color:transparent;border-radius:1px;padding:0 3px;box-shadow:inset 0 0 0 1px rgba(63,224,255,.25);cursor:pointer;user-select:none;transition:color .15s,background .15s;position:relative}
.redact::after{content:"REVEAL";position:absolute;inset:0;display:grid;place-items:center;font-size:8px;letter-spacing:.1em;color:rgba(63,224,255,.4)}
.redact.declassified{background:rgba(255,77,77,.14);color:var(--red);box-shadow:inset 0 0 0 1px rgba(255,77,77,.4)}
.redact.declassified::after{content:none}

.authorize{display:grid;grid-template-columns:1fr auto;gap:var(--pad);align-items:end;padding:var(--pad);border-top:1px solid var(--line);background:linear-gradient(0deg,rgba(63,224,255,.04),transparent)}
@media(max-width:640px){.authorize{grid-template-columns:1fr}}
.authorize .dist{font-size:11px;color:var(--ink-dim);line-height:1.8;letter-spacing:.05em}
.authorize .dist b{color:var(--cyan);letter-spacing:.14em;text-transform:uppercase;font-size:10.5px;display:block;margin-bottom:5px}
.sig{text-align:right}
.sig .name{font-size:14px;color:#eaf6ff;letter-spacing:.06em}
:root[data-theme="light"] .sig .name{color:#10222f}
.sig .role{font-size:10.5px;color:var(--muted);letter-spacing:.14em;text-transform:uppercase;margin-top:2px}
.barcode{height:34px;margin-top:12px;background:repeating-linear-gradient(90deg,var(--ink) 0 2px,transparent 2px 4px,var(--ink) 4px 5px,transparent 5px 9px,var(--ink) 9px 12px,transparent 12px 14px);opacity:.55}

/* ===== chapter (operations briefing) extras ===== */
.brief{display:grid;grid-template-columns:1.5fr 1fr;gap:0;border-bottom:1px solid var(--line)}
@media(max-width:820px){.brief{grid-template-columns:1fr}}
.brief .col{padding:calc(var(--pad)*.9) var(--pad)}
.brief .col.left{border-right:1px solid var(--line-soft)}
@media(max-width:820px){.brief .col.left{border-right:0;border-bottom:1px solid var(--line-soft)}}
.brief h3{display:flex;align-items:center;gap:9px;font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--cyan);margin:0 0 12px;font-weight:600}
.brief h3::before{content:"▸";color:var(--cyan);font-size:10px}
.brief .lede{font-family:var(--sans);font-size:14.5px;line-height:1.65;color:var(--ink);margin:0 0 12px}
.brief .lede:last-child{margin-bottom:0}
.brief .lede b,.brief .lede strong{color:#eaf6ff}
:root[data-theme="light"] .brief .lede strong,:root[data-theme="light"] .brief .lede b{color:#10222f}
.brief .sub{font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--amber);margin:0 0 6px}
.callout{margin:0;padding:16px var(--pad);border-bottom:1px solid var(--line);border-left:3px solid var(--amber);background:linear-gradient(90deg,rgba(255,178,62,.09),transparent 70%);font-family:var(--sans);font-size:15px;line-height:1.6;color:#f4e7cc}
.callout b{font-family:var(--mono);color:var(--amber);text-transform:uppercase;letter-spacing:.16em;font-size:10.5px;display:block;margin-bottom:6px}
.callout strong{color:#fff}
:root[data-theme="light"] .callout{color:#4a3a1a}
:root[data-theme="light"] .callout strong{color:#10222f}
.tablewrap{overflow-x:auto;border:1px solid var(--line);border-radius:3px;margin:8px 0 0}
table.op{width:100%;border-collapse:collapse;font-family:var(--sans);font-size:12.5px;min-width:520px}
table.op caption{caption-side:top;text-align:left;font-family:var(--mono);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--amber);padding:9px 10px;background:rgba(255,178,62,.05);border-bottom:1px solid var(--line-soft)}
table.op th{background:rgba(63,224,255,.07);color:var(--cyan);text-transform:uppercase;letter-spacing:.06em;font-size:10px;font-family:var(--mono);text-align:left;padding:8px 10px;border:1px solid var(--line);vertical-align:bottom}
table.op td{padding:8px 10px;border:1px solid var(--line-soft);color:var(--ink-dim);vertical-align:top;line-height:1.5}
table.op tbody tr:nth-child(even){background:rgba(63,224,255,.025)}
table.op strong{color:#eaf6ff}
:root[data-theme="light"] table.op strong{color:#10222f}
/* chapter body markdown tables (from goldmark) get the same look */
.prose table{width:100%;border-collapse:collapse;font-size:12.5px;min-width:520px;margin:8px 0 0}
.prose table th{background:rgba(63,224,255,.07);color:var(--cyan);text-transform:uppercase;letter-spacing:.06em;font-size:10px;font-family:var(--mono);text-align:left;padding:8px 10px;border:1px solid var(--line)}
.prose table td{padding:8px 10px;border:1px solid var(--line-soft);color:var(--ink-dim);vertical-align:top}
.prose h2,.prose h3{font-family:var(--mono);letter-spacing:.06em;color:#eaf6ff}
:root[data-theme="light"] .prose h2,:root[data-theme="light"] .prose h3{color:#10222f}
.prose .tablewrap{overflow-x:auto}
.intel{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:10px;max-width:72ch}
.intel li{position:relative;padding-left:26px;font-family:var(--sans);font-size:14.5px;color:var(--ink)}
.intel li::before{content:"▹";position:absolute;left:3px;top:-1px;color:var(--cyan);font-size:14px}
.intel li b{color:#eaf6ff}
:root[data-theme="light"] .intel li b{color:#10222f}
.checklist{display:grid;grid-template-columns:1fr 1fr;gap:14px 26px}
@media(max-width:700px){.checklist{grid-template-columns:1fr}}
.checklist .grp h4{font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--amber);margin:0 0 8px;border-bottom:1px solid var(--line-soft);padding-bottom:5px}
.checklist ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.checklist li{position:relative;padding-left:26px;font-family:var(--sans);font-size:13.5px;color:var(--ink);line-height:1.5}
.checklist li::before{content:"";position:absolute;left:0;top:2px;width:13px;height:13px;border:1px solid var(--cyan);border-radius:2px;background:rgba(63,224,255,.05)}
.checklist li b{color:#eaf6ff}
.cl-note{font-family:var(--sans);font-size:12.5px;color:var(--muted);margin:14px 0 0;font-style:italic}
.exercise{border:1px solid rgba(255,178,62,.35);border-left:3px solid var(--amber);background:rgba(255,178,62,.05);padding:14px 16px;border-radius:2px;font-family:var(--sans);font-size:13.5px;color:#f0e6d2;max-width:74ch}
.exercise .row{margin:0 0 10px}.exercise .row:last-child{margin-bottom:0}
.exercise .k{font-family:var(--mono);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--amber);display:block;margin-bottom:3px}
.exercise strong{color:#fff}.exercise .warn{color:#ffcf9a}
:root[data-theme="light"] .exercise{color:#4a3a1a}
:root[data-theme="light"] .exercise .warn{color:#8a4700}
.refs{margin:0;padding:0;list-style:none;font-family:var(--sans);font-size:12px;color:var(--ink-dim);columns:2;column-gap:26px}
@media(max-width:640px){.refs{columns:1}}
.refs li{margin:0 0 9px;break-inside:avoid;line-height:1.45}
.refs li b{color:var(--ink)}

/* ===== landing ===== */
.wrap{position:relative;z-index:1;max-width:1120px;margin:0 auto}
.hero{position:relative;border:1px solid var(--line);border-radius:3px;overflow:hidden;background:linear-gradient(180deg,var(--panel),var(--panel-2));box-shadow:0 30px 90px -30px rgba(0,0,0,.9);padding:clamp(26px,5vw,60px) var(--pad)}
.hero .hbanner{display:inline-flex;gap:10px;font-size:11px;font-weight:700;letter-spacing:.3em;text-transform:uppercase;color:#0a0e14;background:var(--amber);padding:5px 14px;border-radius:2px;margin-bottom:22px}
.hero .insignia{width:74px;height:74px;margin-bottom:14px}
.hero h1{margin:0;font-size:clamp(30px,7vw,68px);font-weight:800;letter-spacing:.06em;line-height:.98;text-transform:uppercase;color:#f2f9ff;text-wrap:balance;text-shadow:0 0 34px rgba(63,224,255,.3)}
:root[data-theme="light"] .hero h1{color:#0d1f2c;text-shadow:none}
.hero .full{margin:6px 0 0;font-size:clamp(13px,2vw,17px);letter-spacing:.2em;text-transform:uppercase;color:var(--cyan)}
.hero .lead{font-family:var(--sans);font-size:clamp(15px,1.7vw,18px);line-height:1.65;color:var(--ink);max-width:70ch;margin:20px 0 0}
.hero .lead strong{color:#eaf6ff}
:root[data-theme="light"] .hero .lead strong{color:#10222f}
.hero .cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}
.cta a{font-family:var(--mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase;text-decoration:none;padding:11px 18px;border-radius:2px;border:1px solid var(--line);transition:.15s}
.cta a.primary{background:var(--cyan);color:#04141b;border-color:var(--cyan);font-weight:700}
.cta a.primary:hover{filter:brightness(1.1)}
.cta a.ghost{color:var(--cyan);background:rgba(63,224,255,.06)}
.cta a.ghost:hover{border-color:var(--cyan);background:rgba(63,224,255,.14)}
.diag{margin-top:26px;border-left:3px solid var(--amber);background:linear-gradient(90deg,rgba(255,178,62,.1),transparent 72%);padding:16px 18px;border-radius:2px;font-family:var(--sans);font-size:15px;line-height:1.6;color:#f4e7cc}
:root[data-theme="light"] .diag{color:#4a3a1a}
.diag b{font-family:var(--mono);color:var(--amber);text-transform:uppercase;letter-spacing:.16em;font-size:10.5px;display:block;margin-bottom:6px}
.diag strong{color:#fff}
:root[data-theme="light"] .diag strong{color:#10222f}
section.band{margin-top:clamp(30px,5vw,56px);scroll-margin-top:16px}
.sec-head{display:flex;align-items:baseline;gap:12px;margin:0 0 18px;flex-wrap:wrap}
.sec-head .eyebrow2{font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:var(--cyan);font-weight:600}
.sec-head h2{margin:0;font-family:var(--mono);font-size:clamp(19px,3vw,27px);font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:#eaf6ff}
:root[data-theme="light"] .sec-head h2{color:#10222f}
.sec-head .count{margin-left:auto;font-size:11px;color:var(--muted);letter-spacing:.12em}
.sec-intro{font-family:var(--sans);font-size:14.5px;line-height:1.7;color:var(--ink-dim);max-width:78ch;margin:0 0 20px}
.mnem{display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media(max-width:720px){.mnem{grid-template-columns:1fr}}
.mcard{border:1px solid var(--line);border-radius:3px;padding:18px 20px;background:linear-gradient(180deg,rgba(63,224,255,.05),transparent)}
.mcard h3{margin:0 0 4px;font-family:var(--mono);font-size:15px;letter-spacing:.16em;color:var(--cyan)}
.mcard .tag{font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.mcard ul{list-style:none;margin:14px 0 0;padding:0;display:flex;flex-direction:column;gap:8px;font-family:var(--sans);font-size:13.5px}
.mcard li{color:var(--ink)}
.mcard li b{color:var(--amber);font-family:var(--mono);font-size:12px;margin-right:7px}
.dgroup{font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--amber);margin:24px 0 12px;padding-bottom:6px;border-bottom:1px solid var(--line-soft)}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(255px,1fr));gap:14px}
.card{position:relative;display:flex;flex-direction:column;border:1px solid var(--line);border-radius:3px;padding:16px 17px;text-decoration:none;color:inherit;background:linear-gradient(180deg,rgba(63,224,255,.045),transparent);transition:.16s}
.card:hover{border-color:var(--cyan);transform:translateY(-2px);box-shadow:0 14px 34px -20px rgba(0,0,0,.9)}
.card-top{display:flex;align-items:center;gap:10px;margin-bottom:10px}
.card .fm{font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--cyan);border:1px solid var(--line);border-radius:2px;padding:3px 8px}
.card .pips{margin-left:auto;font-size:11px;letter-spacing:2px;color:var(--amber)}
.card .thr{margin-left:auto;font-family:var(--mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--amber);border:1px solid rgba(255,178,62,.4);border-radius:2px;padding:3px 8px}
.card h3{margin:0;font-family:var(--sans);font-size:17px;font-weight:700;color:#eaf6ff;letter-spacing:.01em}
:root[data-theme="light"] .card h3{color:#10222f}
.card .sub{margin:3px 0 0;font-family:var(--sans);font-size:12.5px;color:var(--ink-dim);line-height:1.45}
.card .op{margin-top:12px;font-family:var(--mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.card .go{margin-top:12px;font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--cyan)}
.card.dossier2{background:linear-gradient(180deg,rgba(255,178,62,.06),transparent)}
.note{border:1px dashed var(--line);border-radius:3px;padding:16px 18px;font-family:var(--sans);font-size:13.5px;line-height:1.65;color:var(--ink-dim)}
.note b{color:var(--cyan);font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;display:block;margin-bottom:6px}
.about{font-family:var(--sans);font-size:14.5px;line-height:1.72;color:var(--ink);max-width:80ch}
.about p{margin:0 0 13px}.about strong{color:#eaf6ff}
:root[data-theme="light"] .about strong{color:#10222f}
footer.site{margin-top:clamp(34px,5vw,60px);border-top:1px solid var(--line);padding:22px 4px 8px;display:flex;flex-wrap:wrap;gap:12px;align-items:center;font-size:11px;letter-spacing:.08em;color:var(--muted)}
footer.site .barcode{height:26px;flex:1 1 160px;min-width:120px;opacity:.4}

/* boot animation */
@keyframes bootFade{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.booting .dossier > *{animation:bootFade .6s ease both}
.booting .masthead{animation-delay:.05s}.booting .subject{animation-delay:.16s}.booting .body{animation-delay:.28s}.booting .brief{animation-delay:.24s}.booting .authorize{animation-delay:.4s}
@media(prefers-reduced-motion:reduce){.booting .dossier > *{animation:none}}

/* ===== print — light monochrome ===== */
@page{size:A4;margin:13mm}
@media print{
  :root,:root[data-theme="light"],:root[data-theme="dark"]{--ground:#fff;--ground-2:#fff;--panel:#fff;--panel-2:#fff;--ink:#000;--ink-dim:#1a1a1a;--muted:#3a3a3a;--line:#8a8a8a;--line-soft:#c4c4c4;--cyan:#000;--cyan-deep:#000;--amber:#000;--red:#000;--green:#000;--stamp:#000;--pad:15px}
  html,body{background:#fff !important}
  body{padding:0;color:#000;font-family:var(--sans);-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .fx,.toolbar,.sitenav,.sweep,.cta{display:none !important}
  *{text-shadow:none !important;box-shadow:none !important}
  svg{filter:grayscale(1) !important}
  .dossier,.hero,.card,.mcard,.note,.diag{border:1px solid #000 !important;max-width:none;background:#fff !important}
  .masthead,.subject,.brief,.brief .col.left,.callout,.rail,.content,.panel,.authorize{background:#fff !important}
  .banner{background:#fff !important;color:#000 !important;border-top:1px solid #000;border-bottom:1px solid #000}
  .banner span{background:#fff !important;color:#000 !important}
  .agency h1,.agency p,.subject h2,.opname,.subject .desig,.subject .desig b,.eyebrow,.eyebrow .op,.eyebrow .idx,.brief h3,.brief .sub,.brief .lede,.brief .lede b,.brief .lede strong,.callout,.callout b,.callout strong,.prose,.prose strong,.prose h2,.prose h3,.subhead,table.op th,table.op td,table.op caption,table.op strong,.prose table th,.prose table td,.signs li,.signs li b,.intel li,.intel li b,.directive,.directive b,.directive li strong,.checklist .grp h4,.checklist li,.checklist li b,.cl-note,.exercise,.exercise .k,.exercise strong,.exercise .warn,.chip .name,.chip .rel,.refs li,.refs li b,.vitals dt,.vitals dd,.threat .tlabel,.threat .verdict,.threat .note,.threat .sub,.pill,.timeline .when,.timeline .what,.plabel,.authorize .dist,.authorize .dist b,.sig .name,.sig .role,.hero h1,.hero .lead,.hero .lead strong,.hero .full,.sec-head h2,.sec-intro,.card h3,.card .sub,.card .op,.card .go,.card .fm,.card .pips,.card .thr,.dgroup,.mcard h3,.mcard li,.about,.about strong{color:#000 !important}
  .callout,.directive,.exercise{border-left:3px solid #000 !important;background:#fff !important}
  table.op th,table.op caption,.prose table th{background:#ececec !important}
  table.op th,table.op td,.prose table th,.prose table td{border-color:#8a8a8a !important}
  .tablewrap{border-color:#000 !important}
  .threat .seg{background:#fff !important;border:1px solid #000 !important}
  .threat[data-level="1"] .seg:nth-child(-n+1),.threat[data-level="2"] .seg:nth-child(-n+2),.threat[data-level="3"] .seg:nth-child(-n+3),.threat[data-level="4"] .seg:nth-child(-n+4),.threat[data-level="5"] .seg:nth-child(-n+5){background:#000 !important;border-color:#000 !important}
  .pill,.chip,.portrait,.portrait .plabel{background:#fff !important;border-color:#000 !important}
  .signs li::before{color:#000 !important;border-color:#000 !important;background:#fff !important}
  .checklist li::before{border-color:#000 !important;background:#fff !important}
  .intel li::before,.timeline li::before{color:#000 !important;background:#000 !important}
  .stamp{color:#000 !important;border-color:#000 !important}
  .redact{color:transparent !important;background:#000 !important}
  .redact::after{color:#fff !important}
  .hero .hbanner{background:#fff !important;border:1px solid #000}
  .barcode{background:repeating-linear-gradient(90deg,#000 0 2px,transparent 2px 4px,#000 4px 5px,transparent 5px 9px,#000 9px 12px,transparent 12px 14px) !important;opacity:1 !important}
  .panel,.subject,.masthead,.brief,.callout,.card{break-inside:avoid}
  .tablewrap,table.op{break-inside:auto}
}
