:root {
  color-scheme: light;
  --paper-black:#eeede6;
  --paper-charcoal:#deded2;
  --paper-charcoal-deep:#e4e3d9;
  --void:var(--paper-black);
  --void-soft:var(--paper-charcoal-deep);
  --ink:#282b27;
  --ink-soft:#53564e;
  --muted:#565b50;
  --line:rgba(45,51,39,.17);
  --line-strong:rgba(45,51,39,.3);
  --signal:#d4ff00;
  --pigment:#6f7836;
  --pigment-text:#586329;
  --copper:#906633;
  --blue:#5b7485;
  --danger:#a94737;
  --header-height:76px;
  --gutter:clamp(22px,4.5vw,80px);
  --edge-left:max(var(--gutter),env(safe-area-inset-left,0px));
  --edge-right:max(var(--gutter),env(safe-area-inset-right,0px));
  --scene-width:1520px;
  --sans:"IBM Plex Sans",ui-sans-serif,system-ui,sans-serif;
  --serif:"Fraunces",Georgia,serif;
  --mono:"IBM Plex Mono",ui-monospace,monospace;
}
* { box-sizing:border-box; }
html { background:var(--void);scroll-behavior:smooth;scroll-padding-top:calc(var(--sticky-offset,var(--header-height)) + 28px); }
body { margin:0;min-width:320px;background:var(--void);color:var(--ink);font:400 16px/1.5 var(--sans);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility; }
::selection { background:#d4df9b;color:#242820; }
a { color:inherit; }
button,summary,a,[tabindex] { -webkit-tap-highlight-color:transparent; }
button { color:inherit;font:inherit; }
button,summary { cursor:pointer; }
:focus-visible { outline:2px solid var(--pigment);outline-offset:5px; }
h1,h2,p,figure { margin-top:0; }
h1,h2 { font-weight:400; }
button:disabled { cursor:wait;opacity:.55; }
.sr-only { position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0; }
.skip-link { position:fixed;z-index:100;top:10px;left:10px;padding:12px 16px;transform:translateY(-170%);background:var(--ink);color:var(--void); }
.skip-link:focus { transform:translateY(0); }
.site-header { position:sticky;z-index:50;top:0;height:var(--header-height);display:grid;grid-template-columns:1fr auto 1fr auto;align-items:center;gap:clamp(20px,3vw,48px);padding:0 var(--edge-right) 0 var(--edge-left);border-bottom:1px solid var(--line);background:rgba(238,237,230,.95);backdrop-filter:blur(14px); }
.brand { display:inline-flex;width:max-content;align-items:center;min-height:44px;text-decoration:none;font:500 2rem/1 var(--serif);letter-spacing:-.085em; }
.brand-x { color:var(--pigment); }
.primary-nav { display:flex;gap:clamp(24px,2.8vw,44px); }
.primary-nav a { position:relative;padding:12px 0;text-decoration:none;font-size:.8rem;color:var(--ink-soft); }
.primary-nav a::after { content:"";position:absolute;inset:auto 0 5px;height:1px;background:var(--ink);transform:scaleX(0);transform-origin:left;transition:transform 180ms; }
.primary-nav a:hover::after,.primary-nav a[aria-current]::after { transform:scaleX(1); }
.local-clock { justify-self:end;display:grid;grid-template-columns:auto auto;gap:1px 7px;align-items:baseline;font-family:var(--mono);font-variant-numeric:tabular-nums;white-space:nowrap; }
.local-clock .instrument-label { grid-column:1/-1;font-size:.57rem;color:var(--muted); }
#local-time { font-size:.74rem; }
.clock-zone { color:var(--pigment-text);font-size:.6rem; }
.paper-only { border:1px solid var(--line-strong);border-radius:2px;padding:9px 13px;display:flex;align-items:center;min-height:40px;font-size:.73rem;text-decoration:none;background:rgba(255,255,255,.12); }
.paper-only:hover,.paper-only[aria-current] { background:#e0e4cd; }
.mobile-index { display:none; }
main { position:relative; }
.scene { position:relative;--scene-paper:var(--paper-black);background:var(--scene-paper);border-bottom:1px solid var(--line); }
.scene::after { content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(110deg,rgba(255,255,255,.11),transparent 55%); }
#paper-grain { position:fixed;inset:0;z-index:45;pointer-events:none;mix-blend-mode:multiply;opacity:.28;width:100%;height:100%; }
.instrument-label { color:var(--ink-soft);font:400 .73rem/1.5 var(--mono); }
.section-kicker { display:flex;justify-content:space-between;gap:24px;align-items:center;width:min(100%,var(--scene-width));margin:0 auto 62px;font:400 .7rem/1.45 var(--mono);color:var(--muted); }
.section-kicker span:first-child { color:var(--ink); }
.text-link { display:inline-flex;align-items:center;gap:32px;min-height:44px;padding:6px 0;border-bottom:1px solid var(--ink);text-decoration:none;font-size:.87rem;font-weight:500; }
.text-link span { font-size:1.2rem;transition:transform 180ms; }
.text-link:hover span { transform:translate(2px,-2px); }
.site-footer { display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:24px;padding:28px var(--edge-right) 28px var(--edge-left);background:#1e231f;color:#c6c9b9;font:400 .65rem/1.5 var(--mono); }
.site-footer p { margin:0; }
.site-footer p:last-child { justify-self:end; }
.footer-brand { color:#e4e4d9; }
.footer-brand .brand-x { color:#b9c675; }
.noscript-note { position:fixed;z-index:99;inset:auto 20px 20px;padding:16px;background:var(--void);border:1px solid var(--danger);font-size:.8rem; }
.error-page { display:grid;place-items:center;min-height:100svh;padding:40px;text-align:center; }
.error-shell { width:min(100%,46rem); }
.error-mark { width:64px;margin:auto auto 30px;display:block; }
.error-page h1 { font:400 clamp(2.2rem,7vw,4rem)/1.1 var(--serif); }
.error-page p { max-width:44ch;margin:0 auto 30px; }
.error-home-link { display:inline-block;padding:12px 20px;border:1px solid var(--line-strong); }
.view-controls { display:flex;flex-wrap:wrap;gap:4px 18px;align-items:center;justify-content:flex-end; }
html[data-view-paused="true"] #local-time,html[data-view-paused="true"] #local-zone { visibility:hidden; }
html[data-view-paused="true"] { scroll-behavior:auto; }
.hero-grid > *,.thesis-grid > *,.record-grid > *,.boundary-grid > * { min-width:0; }
.hero-narrative,.thesis-copy,.record-notes,.boundary-copy { overflow-wrap:anywhere; }
.mark-value { white-space:normal;overflow-wrap:anywhere; }
.mark-header > div,.mark-freshness time,.chart-readout strong { min-width:0;overflow-wrap:anywhere; }
.mark-footer,.chart-toolbar { flex-wrap:wrap; }
.mark-footer > p { flex:1 1 12rem; }
.view-controls { flex:0 1 auto; }
