@font-face { font-family:"Source Serif 4"; font-style:normal; font-weight:400 700; font-display:optional; src:url(/assets/SourceSerif4-latin.f2ea9c12d2.woff2) format("woff2"); }
@font-face { font-family:"Source Serif 4"; font-style:italic; font-weight:400 700; font-display:optional; src:url(/assets/SourceSerif4-latin-italic.96e6393209.woff2) format("woff2"); }

:root {
  --navy-950:#050F26; --navy:#082048; --navy-800:#0B2A5E; --blue:#207CF4; --blue-400:#5AA0FF; --blue-100:#E6F0FF;
  --bg:#FFFFFF; --surface:#F4F8FE; --surface-2:#E6F0FF; --text:#082048; --muted:#4A5B78; --line:#D7E0EF;
  --link:#0A56C2; --accent:#207CF4; --mark-main:#082048; --ok:#0B6B3A; --warn:#8A5A00; --bad:#A3262A;
  --shadow:0 1px 2px rgba(8,32,72,.06),0 8px 24px rgba(8,32,72,.08);
  --radius:8px; --wrap:1180px;
  --serif:"Source Serif 4","Iowan Old Style","Palatino Linotype",Georgia,"Times New Roman",serif;
  --sans:"Segoe UI",system-ui,-apple-system,Roboto,Helvetica,Arial,sans-serif;
  color-scheme: light;
}
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    --bg:#050F26; --surface:#081835; --surface-2:#0B2A5E; --text:#E6F0FF; --muted:#A9BAD8; --line:#1B3260;
    --link:#5AA0FF; --mark-main:#FFFFFF; --ok:#5FD39A; --warn:#F2C260; --bad:#FF8A8D;
    --shadow:0 1px 2px rgba(0,0,0,.4),0 8px 24px rgba(0,0,0,.35); color-scheme: dark;
  }
}
:root[data-theme="dark"] {
  --bg:#050F26; --surface:#081835; --surface-2:#0B2A5E; --text:#E6F0FF; --muted:#A9BAD8; --line:#1B3260;
  --link:#5AA0FF; --mark-main:#FFFFFF; --ok:#5FD39A; --warn:#F2C260; --bad:#FF8A8D;
  --shadow:0 1px 2px rgba(0,0,0,.4),0 8px 24px rgba(0,0,0,.35); color-scheme: dark;
}
*,*::before,*::after { box-sizing:border-box; }
html { -webkit-text-size-adjust:100%; scroll-behavior:smooth; }
body { margin:0; background:var(--bg); color:var(--text); font:16.5px/1.6 var(--sans); -webkit-font-smoothing:antialiased; }
img,svg { max-width:100%; }
a { color:var(--link); text-underline-offset:3px; text-decoration-thickness:1px; }
a:hover { text-decoration-thickness:2px; }
:focus-visible { outline:3px solid var(--accent); outline-offset:3px; border-radius:4px; }
.skip { position:absolute; left:-999px; top:8px; background:var(--navy); color:#fff; padding:10px 16px; border-radius:8px; z-index:100; }
.skip:focus { left:8px; }
.wrap { width:100%; max-width:var(--wrap); margin:0 auto; padding:0 16px; }
@media (min-width:720px) { .wrap { padding:0 32px; } }
h1,h2,h3 { line-height:1.18; letter-spacing:-.01em; margin:0 0 .5em; font-weight:700; }
h1 { font-size:clamp(30px,5.2vw,50px); } h2 { font-size:clamp(23px,3.2vw,30px); } h3 { font-size:19px; }
.serif,h1.serif,h2.serif,.prose.serif,.lede.serif { font-family:var(--serif); }
.serif h1,.serif h2 { font-family:var(--serif); }
p { margin:0 0 1em; } .muted { color:var(--muted); } .small { font-size:14.5px; }
code,.mono { font:13px/1.5 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace; word-break:break-all; }
.eyebrow,.kicker { font:600 12.5px/1.3 var(--sans); letter-spacing:.16em; text-transform:uppercase; color:var(--muted); margin:0 0 14px; }
.kicker { color:#1560C8; } :root[data-theme="dark"] .kicker { color:var(--blue-400); } @media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) .kicker { color:var(--blue-400); } }
.sec-h { font:700 13px/1.3 var(--sans); letter-spacing:.14em; text-transform:uppercase; color:var(--text); border-top:3px solid var(--navy); padding-top:10px; margin:0 0 12px; }
:root[data-theme="dark"] .sec-h { border-top-color:var(--blue-400); }
@media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) .sec-h { border-top-color:var(--blue-400); } }

/* topline */
.topline { background:var(--navy-950); color:#B8C7E3; font-size:12.5px; }
.topline-in { display:flex; justify-content:space-between; align-items:center; gap:8px 16px; flex-wrap:nowrap; height:34px; padding-top:0; padding-bottom:0; overflow:hidden; }
.clock { flex:1 1 0; min-width:0; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; font-variant-numeric:tabular-nums; }
.topline a { color:#fff; text-decoration:none; } .topline a:hover { text-decoration:underline; }
.topline-r { display:flex; align-items:center; gap:14px; flex:none; white-space:nowrap; }
.theme-toggle { font:inherit; color:#fff; background:transparent; border:1px solid rgba(255,255,255,.3); border-radius:99px; padding:2px 12px; cursor:pointer; }
.theme-toggle:hover { background:rgba(255,255,255,.1); }
@media (max-width:560px) { .topline-r a { display:none; } }

/* masthead */
.masthead { background:var(--navy); color:#fff; position:relative; overflow:hidden; isolation:isolate; }
.masthead::before { content:""; position:absolute; inset:0; z-index:-1; background:radial-gradient(50% 120% at 90% -10%,rgba(32,124,244,.38),transparent 70%),radial-gradient(40% 90% at 0% 120%,rgba(90,160,255,.16),transparent 70%); }
.mast-in { display:flex; align-items:center; justify-content:space-between; gap:12px 32px; flex-wrap:wrap; padding-top:22px; padding-bottom:20px; }
.brand { display:inline-flex; align-items:center; gap:12px; text-decoration:none; color:var(--text); }
.masthead .brand { color:#fff; gap:16px; }
.brand svg { width:34px; height:auto; display:block; }
.mast-mark { width:62px; flex:none; } .mast-mark svg { width:62px; overflow:visible; }
.wordmark { font-weight:700; letter-spacing:.32em; font-size:15px; text-transform:uppercase; }
.masthead .wordmark { font-size:clamp(26px,5vw,40px); letter-spacing:.3em; }
.mast-tag { margin:0; font:italic 400 clamp(15px,2vw,18px)/1.35 var(--serif); color:#DCE7FA; text-align:right; }
.mast-sub { display:block; font:400 12.5px/1.4 var(--sans); font-style:normal; letter-spacing:.02em; color:#9FB4D8; margin-top:4px; }
@media (max-width:760px) { .mast-tag { text-align:left; } }
.mark-light { fill:#FFFFFF; } .mark-accent { fill:var(--blue); } .brand .mark-main { fill:var(--mark-main); }
.shard-a { animation:shardA 1.1s cubic-bezier(.2,.8,.2,1) both; }
.shard-b { animation:shardB 1.1s .18s cubic-bezier(.2,.8,.2,1) both; }
@keyframes shardA { from { transform:translate(-60px,-50px); opacity:0; } to { transform:none; opacity:1; } }
@keyframes shardB { from { transform:translate(60px,-50px); opacity:0; } to { transform:none; opacity:1; } }
.sweep { fill:url(#sweepGrad); animation:sweep 7s 1.6s ease-in-out infinite; transform:translateX(-760px); }
@keyframes sweep { 0% { transform:translateX(-760px); } 45%,100% { transform:translateX(760px); } }
.mark-float { animation:float 9s 1.4s ease-in-out infinite; transform-origin:center; }
@keyframes float { 0%,100% { transform:translateY(0); } 50% { transform:translateY(-3px); } }

/* section bar */
.sectionbar { background:var(--navy-800); border-top:1px solid rgba(255,255,255,.12); position:sticky; top:0; z-index:50; }
.sectionbar .wrap { display:flex; gap:0 4px; overflow-x:auto; scrollbar-width:none; }
.sectionbar .wrap::-webkit-scrollbar { display:none; }
.sectionbar a { color:#fff; text-decoration:none; font-size:14px; font-weight:600; padding:12px 14px; white-space:nowrap; position:relative; letter-spacing:.01em; }
.sectionbar a::after { content:""; position:absolute; left:14px; right:14px; bottom:0; height:3px; background:var(--blue-400); transform:scaleX(0); transform-origin:left; transition:transform .25s ease; }
.sectionbar a:hover::after,.sectionbar a[aria-current="page"]::after { transform:scaleX(1); }
.sectionbar a:hover { background:rgba(255,255,255,.07); }
.crumbs { font-size:13px; color:var(--muted); padding:12px 0 0; } .crumbs a { color:var(--muted); } .crumbs span[aria-current] { color:var(--text); }

/* front page */
.front { display:grid; gap:32px; padding:32px 0 8px; }
@media (min-width:900px) { .front { grid-template-columns:minmax(0,1.9fr) minmax(0,1fr); gap:44px; padding-top:40px; } .rail { border-left:1px solid var(--line); padding-left:32px; } }
.lead-h { font-size:clamp(32px,5.4vw,54px); line-height:1.08; letter-spacing:-.02em; margin:0 0 16px; }
.lead-h a { color:var(--text); text-decoration:none; } .lead-h a:hover { text-decoration:underline; text-decoration-thickness:2px; }
.standfirst { font-size:clamp(19px,2.4vw,23px); line-height:1.45; color:var(--text); margin:0 0 14px; max-width:62ch; }
.byline { margin-bottom:18px; }
.btn { display:inline-flex; align-items:center; gap:8px; padding:11px 18px; border-radius:6px; font-weight:600; text-decoration:none; border:1px solid transparent; transition:transform .18s ease,box-shadow .18s ease,background .18s; font-size:15px; }
.btn:hover { transform:translateY(-2px); } .btn:active { transform:translateY(0); }
.btn-primary { background:#1766D6; color:#fff !important; box-shadow:0 6px 18px rgba(32,124,244,.3); } .btn-primary:hover { background:#3A8DFF; }
.btn-quiet { border-color:var(--line); color:var(--text) !important; } .btn-quiet:hover { background:var(--surface); }
.btn .arr { transition:transform .18s; } .btn:hover .arr { transform:translateX(4px); }
.stream { list-style:none; margin:0 0 12px; padding:0; }
.stream li { padding:10px 0; border-bottom:1px solid var(--line); line-height:1.4; }
.stream li:last-child { border-bottom:0; } .stream .t { font-weight:600; text-decoration:none; } .stream .t:hover { text-decoration:underline; }
.tag { display:inline-block; font:700 11px/1 var(--sans); letter-spacing:.08em; text-transform:uppercase; color:#fff; background:var(--navy); padding:3px 6px 2px; border-radius:3px; vertical-align:2px; white-space:nowrap; }
:root[data-theme="dark"] .tag { background:var(--navy-800); }
@media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) .tag { background:var(--navy-800); } }
.cols3 { display:grid; gap:28px; } @media (min-width:860px) { .cols3 { grid-template-columns:repeat(3,1fr); gap:36px; } }
.list.compact li { padding:8px 0; font-size:15px; }

/* monitor strip */
.monitor { margin-top:20px; position:relative; z-index:2; }
.panel { background:var(--surface); border:1px solid var(--line); border-left:4px solid var(--blue); border-radius:var(--radius); padding:18px 20px; }
.panel[role="status"] { display:grid; gap:16px; }
@media (min-width:760px) { .panel[role="status"] { grid-template-columns:1.5fr repeat(3,1fr); align-items:center; padding:18px 26px; } }
.state { display:flex; gap:14px; align-items:center; } .state strong { display:block; font-size:16.5px; } .state > div { min-width:0; }
.pulse { position:relative; width:14px; height:14px; border-radius:50%; background:var(--ok); flex:none; }
.pulse::after { content:""; position:absolute; inset:0; border-radius:50%; background:inherit; animation:ping 2s ease-out infinite; }
.pulse.warn { background:var(--warn); } .pulse.bad { background:var(--bad); } .pulse.idle { background:var(--muted); } .pulse.idle::after { animation:none; }
@keyframes ping { 0% { transform:scale(1); opacity:.7; } 80%,100% { transform:scale(3); opacity:0; } }
.metric .n { font:700 30px/1.1 var(--serif); letter-spacing:-.02em; font-variant-numeric:tabular-nums; } .metric .l { font-size:13px; color:var(--muted); }

/* sections */
section.s { padding:48px 0 0; }
.page-head { padding:36px 0 8px; } .page-head .lede { color:var(--muted); font-size:clamp(18px,2.2vw,21px); line-height:1.45; max-width:62ch; }
.rule { height:2px; background:linear-gradient(90deg,var(--blue),transparent); width:100%; margin:0 0 22px; transform-origin:left; }
.js .rule { transform:scaleX(0); transition:transform 1s cubic-bezier(.2,.8,.2,1); } .js .rule.in { transform:scaleX(1); }
.js .reveal { transform:translateY(18px); transition:transform .7s cubic-bezier(.2,.8,.2,1); } .js .reveal.in { transform:none; }
.d1 { transition-delay:.06s !important; } .d2 { transition-delay:.12s !important; } .d3 { transition-delay:.18s !important; } .d4 { transition-delay:.24s !important; }
.grid { display:grid; gap:18px; }
@media (min-width:720px) { .g2 { grid-template-columns:repeat(2,1fr); } .g3 { grid-template-columns:repeat(3,1fr); } .g4 { grid-template-columns:repeat(4,1fr); } }
.card { background:var(--surface); border:1px solid var(--line); border-radius:var(--radius); padding:20px; transition:transform .2s ease,box-shadow .2s ease,border-color .2s; }
.card:hover { transform:translateY(-3px); box-shadow:var(--shadow); border-color:var(--blue-400); }
.card h3 { margin-bottom:.4em; font-family:var(--serif); } .card p:last-child { margin-bottom:0; }
.step-n { font:600 13px/1 ui-monospace,Menlo,Consolas,monospace; color:#1560C8; letter-spacing:.1em; margin-bottom:12px; display:block; }
.empty { border:1px dashed var(--line); border-radius:var(--radius); padding:20px; background:var(--surface); color:var(--muted); }
.empty strong { color:var(--text); }

/* tables */
.tablewrap { overflow-x:auto; border:1px solid var(--line); border-radius:var(--radius); }
table { border-collapse:collapse; width:100%; min-width:560px; font-size:15px; }
th,td { text-align:left; padding:11px 14px; border-bottom:1px solid var(--line); vertical-align:top; }
th { font-size:12px; letter-spacing:.08em; text-transform:uppercase; color:var(--muted); background:var(--surface); font-weight:600; }
tr:last-child td { border-bottom:0; } tbody tr:hover { background:var(--surface); }
.badge { display:inline-flex; align-items:center; font-size:12px; font-weight:600; padding:1px 9px; border-radius:99px; border:1px solid currentColor; white-space:nowrap; }
.badge.ok { color:var(--ok); } .badge.degraded { color:var(--warn); } .badge.down { color:var(--bad); } .badge.never { color:var(--muted); }
dl.meta { display:grid; grid-template-columns:max-content 1fr; gap:8px 20px; margin:0 0 24px; font-family:var(--sans); }
dl.meta dt { color:var(--muted); font-size:14px; } dl.meta dd { margin:0; min-width:0; overflow-wrap:anywhere; }
@media (max-width:520px) { dl.meta { grid-template-columns:1fr; gap:2px; } dl.meta dd { margin-bottom:10px; } }
.prose { max-width:70ch; font-size:18px; line-height:1.65; } .prose h2 { margin-top:1.7em; font-size:25px; } .prose ul,.prose ol { padding-left:1.2em; } .prose li { margin-bottom:.45em; }
.prose .tablewrap,.prose dl.meta { font-size:15px; font-family:var(--sans); } .prose .mono { font-size:13px; }
.notice { border-left:4px solid var(--accent); background:var(--surface); padding:14px 18px; border-radius:0 var(--radius) var(--radius) 0; margin:0 0 24px; }
.list { list-style:none; padding:0; margin:0; } .list li { padding:13px 0; border-bottom:1px solid var(--line); } .list li:last-child { border-bottom:0; }
.list .t { font-weight:600; }

/* story */
.story-head { padding:34px 0 10px; max-width:860px; } .story-head h1 { line-height:1.1; letter-spacing:-.02em; }
.story-grid { display:grid; gap:28px; padding-bottom:12px; }
@media (min-width:960px) { .story-grid { grid-template-columns:minmax(0,1fr) 380px; gap:48px; } .provenance { position:sticky; top:64px; align-self:start; } }
.story-body.prose { max-width:none; }
.provenance { border:1px solid var(--line); border-top:4px solid var(--navy); background:var(--surface); border-radius:var(--radius); padding:18px 20px; font-family:var(--sans); font-size:14.5px; line-height:1.5; }
:root[data-theme="dark"] .provenance { border-top-color:var(--blue-400); }
@media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) .provenance { border-top-color:var(--blue-400); } }
.provenance h2 { font:700 13px/1.3 var(--sans); letter-spacing:.14em; text-transform:uppercase; margin:0 0 6px; }
.provenance dl { margin:12px 0; } .provenance dt { font-size:12px; letter-spacing:.06em; text-transform:uppercase; color:var(--muted); margin-top:10px; }
.provenance dd { margin:2px 0 0; overflow-wrap:anywhere; } .provenance ul { margin:0; padding-left:1.1em; } .provenance code { font-size:12px; }
.advice { border-top:1px solid var(--line); padding-top:10px; margin:0; font-weight:600; }

/* footer */
.site-footer { background:var(--navy-950); color:#B8C7E3; margin-top:64px; padding:44px 0 36px; font-size:14.5px; }
.site-footer a { color:#fff; }
.foot { display:grid; gap:28px; } @media (min-width:860px) { .foot { grid-template-columns:1.5fr 1fr 1fr 1fr; } }
.site-footer h2 { font-size:12.5px; letter-spacing:.14em; text-transform:uppercase; color:#8FA6CC; margin-bottom:12px; font-family:var(--sans); }
.site-footer ul { list-style:none; margin:0; padding:0; } .site-footer li { margin-bottom:6px; }
.site-footer .brand { color:#fff; margin-bottom:12px; } .site-footer .brand .mark-main { fill:#fff; }
.legal { border-top:1px solid rgba(255,255,255,.12); margin-top:28px; padding-top:18px; font-size:13px; color:#8FA6CC; }

@media (prefers-reduced-motion: reduce) {
  *,*::before,*::after { animation:none !important; transition:none !important; scroll-behavior:auto !important; }
  .sweep { display:none; }
}

/* print */
@media print {
  :root { --bg:#fff; --text:#000; --muted:#333; --line:#999; --link:#000; }
  body { font:11pt/1.5 var(--serif); color:#000; }
  .topline,.sectionbar,.site-footer .foot,.skip,.btn,.crumbs,.theme-toggle,.monitor,.mast-mark { display:none !important; }
  .masthead { background:#fff; color:#000; } .masthead::before { display:none; } .masthead .brand,.mast-tag,.mast-sub { color:#000; }
  .wrap { max-width:none; padding:0; }
  .site-footer { background:#fff; color:#000; margin-top:20px; padding:10px 0 0; border-top:1px solid #000; } .legal { color:#000; border:0; }
  .provenance,.panel,.card,.empty { border:1px solid #666; background:#fff; box-shadow:none; position:static; }
  a { text-decoration:underline; } .story-body a[href^="http"]::after,.provenance a[href^="http"]::after { content:" (" attr(href) ")"; font-size:9pt; word-break:break-all; }
  .js .reveal,.js .rule { opacity:1 !important; transform:none !important; }
  .tablewrap { overflow:visible; } table { min-width:0; font-size:9.5pt; }
  .story-grid,.front { display:block; } h1,h2,h3 { break-after:avoid; } .provenance { break-inside:avoid; }
}

.grid + p { margin-top:18px; }
.sr-only { position:absolute; width:1px; height:1px; margin:-1px; padding:0; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; border:0; }

/* layout-stability: counters keep a fixed digit width; nothing above the fold changes size after first paint */
.count { font-variant-numeric:tabular-nums; }

.sharebar { padding:8px 0 28px; font-size:15px; font-weight:600; }
@media print { .sharebar { display:none; } }
:root[data-theme="dark"] .step-n { color:var(--blue-400); } @media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) .step-n { color:var(--blue-400); } }
.inbrief { border-left:4px solid #1560C8; background:var(--surface); padding:14px 20px; margin:0 0 24px; border-radius:0 6px 6px 0; }
.inbrief h2 { margin-top:0; font-size:18px; }
.inbrief ul { margin:0; padding-left:20px; }
.facts td.num { white-space:nowrap; font-variant-numeric:tabular-nums; font-weight:600; }
.facts details summary { cursor:pointer; color:#1560C8; font-size:14px; }
.facts blockquote { margin:8px 0 4px; padding-left:12px; border-left:3px solid var(--line); font-style:italic; }
.analysis { border:1px solid var(--line); border-top:4px solid var(--accent); padding:6px 22px 14px; margin:28px 0; border-radius:4px; }
.analysis .alabel { font:600 13px/1.4 var(--sans); color:var(--muted); }
.analysis .lens { font-weight:400; margin-left:8px; }
.docstory { margin:0 0 32px; padding-bottom:12px; border-bottom:1px solid var(--line); }
:root[data-theme="dark"] .facts details summary { color:var(--blue-400); } @media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) .facts details summary { color:var(--blue-400); } }
@media print { .facts details { display:block; } .facts details > * { display:block; } }

.live-toast { position:fixed; left:16px; bottom:16px; z-index:50; max-width:min(560px, calc(100vw - 32px)); background:var(--navy); color:#fff; padding:12px 16px; border-radius:8px; box-shadow:var(--shadow); font:600 15px/1.4 var(--sans); display:flex; flex-wrap:wrap; gap:10px; align-items:center; }
.live-toast[hidden] { display:none; }
.live-anim { animation:live-in .35s ease-out; } @keyframes live-in { from { transform:translateY(12px); } to { transform:none; } }
.live-toast button { font:600 14px/1 var(--sans); padding:8px 12px; border-radius:6px; border:1px solid #fff; cursor:pointer; background:#fff; color:#082048; }
.live-toast .live-x { background:transparent; color:#fff; }
@media print { .live-toast { display:none; } }
