/* ============================================================
   AXELETE — DESIGN TOKENS  v1.1  (publication scope, shipped)  ·  locked 2026-08-04
   ONE FAMILY, TWO REGISTERS.  (GM decision D1 = C)

   INSTRUMENT  — the rooms. Media Room, Stats Room, Cockpit.
                 Values below are the EXISTING locked tokens,
                 transcribed from the room <style> block.
                 They are recorded here, NOT redefined.
   PUBLICATION — axelete.com. Every value DERIVED from the
                 instrument set. Nothing invented.

   THIS FILE IS THE ONLY PLACE A HEX VALUE EXISTS ON EITHER
   SURFACE. Two registers, one file — because two files that
   resemble each other is the drift defect, not a system.
   ============================================================ */

:root {
  /* ---------- THE FAMILY: shared by both registers ---------- */
  --font-display: "Archivo", "Helvetica Neue", Helvetica, Arial, sans-serif;
  --font-label:   "Barlow Condensed", "Arial Narrow", sans-serif;
  --font-data:    "JetBrains Mono", ui-monospace, Menlo, monospace;

  --w-regular: 400; --w-medium: 500; --w-semi: 600; --w-bold: 700; --w-black: 900;

  --track-label: 0.14em;
  --track-display: -0.01em;

  --s-1:.25rem; --s-2:.5rem; --s-3:.75rem; --s-4:1rem;
  --s-6:1.5rem; --s-8:2rem; --s-12:3rem; --s-16:4rem; --s-24:6rem;

  --radius: 3px;
  --ease: cubic-bezier(.2,.6,.2,1);
  --dur: 160ms;

  /* ---------- INSTRUMENT REGISTER ----------
     DELIBERATELY NOT SHIPPED. The rooms' <style> block is the source and
     the only place those values are read from. A second copy here would be
     a copy that can drift, and a drifted copy reads as authoritative.
     The full two-register reference file lives with the brand assets. ---- */
}

/* ============================================================
   PUBLICATION REGISTER — axelete.com
   Applied via <body data-surface="publication">
   ============================================================ */
[data-surface="publication"] {
  --paper:    #FCF9F4;   /* chalk, lightened (adjusted after Test 001)       */
  --surface:  #ECE5D8;   /* chalk, exact                                    */
  --ink:      #1A1410;   /* backstop, exact — room's ground is page's text  */
  --ink-2:    #4A3F35;
  --meta:     #6B5744;   /* ring, exact                                     */
  --hairline: #D8CFBE;
  --accent:   #2C5D7C;   /* steel, darkened to clear AA on paper — 6.63:1   */
  --accent-lt:#8FB0C9;   /* steel, exact — dark grounds only                */

  --font-body: "Newsreader", Georgia, "Times New Roman", serif;

  --t-xs:.694rem; --t-sm:.833rem; --t-base:1rem; --t-md:1.25rem;
  --t-lg:1.563rem; --t-xl:1.953rem; --t-2xl:2.441rem; --t-3xl:3.815rem;
  --lh-tight:1.1; --lh-head:1.2; --lh-body:1.65;

  --measure: 68ch;
  --page-max: 1180px;

  background: var(--paper);
  color: var(--ink);
  font: var(--w-regular) var(--t-base)/var(--lh-body) var(--font-body);
}

[data-surface="publication"] [data-tone="dark"] {
  --paper: #1A1410; --surface: #241C16; --ink: #ECE5D8;
  --ink-2: #A89B86; --meta: #6B5744; --hairline: #3A2C1E;
  --accent: var(--accent-lt);
  background: var(--paper); color: var(--ink);
}

/* ---------- CONTRAST, VERIFIED 2026-08-04 ----------
   ink/paper 17.06 · ink/surface 14.56 · accent/paper 6.63
   accent/surface 5.66 · meta/paper 6.39 · ink-2/paper 9.56
   steel/backstop 8.01 · ember/backstop 5.20   — all AA body
   Re-run the check before changing any value above.        */

/* ---------- FLOOR — both registers ---------- */
:where(a, button, [tabindex]):focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: 2px;
}
html { -webkit-text-size-adjust: 100%; }

/* Test 001 — greyscale defect fix. Colour is NEVER the only signal.
   Accent vs ink is only a 9-point luminance gap; in print or greyscale a
   coloured link reads as dark text. Underline carries it instead.        */
[data-surface="publication"] a { text-decoration: underline; text-underline-offset: .18em; }

/* Test 001 — graphic accents (rules, marks, dateline hairline) use the LIGHT
   accent: luminance 41.1 vs ink 0.8 = 40-point separation, survives greyscale. */
[data-surface="publication"] hr,
[data-surface="publication"] .rule,
[data-surface="publication"] .mark-accent { color: var(--accent-lt); border-color: var(--accent-lt); }
table, .score, .stat, time { font-variant-numeric: tabular-nums; font-family: var(--font-data); }

@media (prefers-reduced-motion: reduce) {
  * { animation-duration:.01ms !important; transition-duration:.01ms !important; }
}

/* ============================================================
   REGISTER LAW
   1. The instrument block is TRANSCRIBED from the rooms. If the
      rooms change, this file is patched to match — never the
      reverse. The rooms' style block remains the source.
   2. Ember is the instrument's accent and appears on the
      publication ONLY as a functional alert, never as brand.
   3. Every publication value is derived from an instrument
      value. A publication colour that isn't derived is a defect.
   4. Both registers load Archivo and Barlow Condensed. That
      shared pair is what makes this one family, not two brands.
   5. NO RED-ORANGE VALUE IS EVER THE PUBLICATION ACCENT.
      Measured 2026-08-04: ember sits dE 11.7 from WATL red and
      dE 4.1 from it under deuteranopia. Not a taste ruling.
   ============================================================ */
