/* ==========================================================================
   boot.css  ·  faces, tokens, the countdown layer and the register.
   Render-blocking on purpose: the 88 countdown paints before the bundle.
   Values carried from NeuralKatana nk.css (Kusanagi Ink tokens). Fonts are
   subsets of the Shared/fonts masters (see scripts/subset-fonts.sh).
   ========================================================================== */
@font-face{font-family:'Mars';src:url('/fonts/Mars.woff2') format('woff2');font-weight:400;font-display:block}
@font-face{font-family:'JetBrains Mono';src:url('/fonts/JetBrainsMono-Regular.woff2') format('woff2');font-weight:400;font-display:block}
@font-face{font-family:'JetBrains Mono';src:url('/fonts/JetBrainsMono-Bold.woff2') format('woff2');font-weight:700;font-display:block}
/* The only Japanese on the page is FORGED BY 草薙 (Jon, 2026-09-14). CJK never
   falls through a Latin-only stack, so this face is subset to those two glyphs. */
@font-face{font-family:'Noto Serif JP';src:url('/fonts/NotoSerifJP-ig.woff2') format('woff2');font-weight:400;font-display:swap}

:root{
  --void:#0A0A0A;
  --headline:#f6f4f2;
  --muted:#93908e;
  --ink:#b4b1af;
  --ink-dim:#6e6b69;      /* LINEWORK/GLOSS ONLY. 2.93:1 on void. */
  --accent-red:#ff4b4b;   /* the thing that is alive: spent on HIGH only */

  /* THE ARCHIVE RAMP. The brain's inscription runs steel to bone, the colours
     of a declassified file rather than a furnace. Cold stop 5.4:1 on void. */
  --ig-steel:#6e8a94;
  --ig-sage:#aab3a6;
  --ig-manila:#cbbf9f;
  --ig-bone:#ece6d6;

  --t-08:clamp(8px,0.600vw,11px);
  --t-09:clamp(9px,0.660vw,12px);
  --t-10:clamp(10px,0.833vw,15px);
  --t-12:clamp(12px,1.000vw,18px);
  --t-18:clamp(18px,1.500vw,27px);
  --t-24:clamp(24px,2.000vw,36px);

  --mark-cap:84px;
  --tag-cap:18px;
  --count-cap:clamp(62px,10.3vw,calc(var(--mark-cap) * 1.72));
  --tag-track:.28em;
  --tag-word:.60em;
  --tag-gap:32px;
  --enter-gap:40px;
  --edge:84px;

  --ig-seg-ghost:.07;

  --sheet-minor:rgba(246,244,242,.0105);
  --sheet-major:rgba(246,244,242,.017);
  --sheet:
    repeating-linear-gradient(to right,  var(--sheet-major) 0 1px, transparent 1px 120px),
    repeating-linear-gradient(to bottom, var(--sheet-major) 0 1px, transparent 1px 120px),
    repeating-linear-gradient(to right,  var(--sheet-minor) 0 1px, transparent 1px 20px),
    repeating-linear-gradient(to bottom, var(--sheet-minor) 0 1px, transparent 1px 20px);
}
@media (max-width:1439px){ :root{--edge:48px} }
@media (max-width:1023px){ :root{--edge:32px} }
@media (max-width:767px) { :root{--edge:20px;--tag-gap:24px;--enter-gap:30px;--tag-track:.22em;--tag-word:.48em} }
@media (max-width:479px) { :root{--edge:16px} }

html,body{margin:0;background:var(--void);color:var(--headline)}
html.ig-booting,html.ig-booting body{overflow:hidden}

.ig-boot{
  position:fixed;inset:0;z-index:960;
  background-color:var(--void);
  background-image:var(--sheet);
}
.ig-boot-count{
  position:absolute;inset:0;
  display:grid;place-items:center;
  font-size:var(--count-cap);
  color:var(--ink);
  opacity:0;
  user-select:none;pointer-events:none;
}

/* THE REGISTER. Fixed bottom-left during the 88 countdown only: it lives inside
   the boot layer, which is removed from the DOM at handoff. After that the page
   has exactly one copyright, in the footer (Jon, 2026-09-14). The .fineprint
   type treatment is shared with that footer copy. */
.fineprint{
  position:fixed;
  left:var(--edge);
  bottom:var(--edge);
  font-family:'JetBrains Mono',ui-monospace,monospace;
  font-size:var(--t-08);
  line-height:1.75;
  letter-spacing:.16em;
  color:var(--ink-dim);
  opacity:0;
  pointer-events:none;
  user-select:none;
  z-index:40;
}
.fineprint .jp{font-family:'Noto Serif JP','Yu Mincho',serif;letter-spacing:.10em}
@media (max-width:767px){ .fineprint{right:var(--edge);text-align:center} }

/* SEVEN-SEGMENT NUMERALS (seg.js). currentColor everywhere. */
.ig-seg-svg{display:inline-block;height:1.42em;width:auto;vertical-align:-.22em;overflow:visible}
.ig-seg{fill:currentColor;opacity:var(--ig-seg-ghost)}
.ig-seg.on{opacity:1}
.ig-seg-run{display:inline;white-space:nowrap}
.ig-seg-rule{fill:none;stroke:currentColor;stroke-width:2.6;stroke-linecap:butt}
.ig-seg-sr{position:absolute;width:1px;height:1px;margin:-1px;padding:0;border:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
