/* Neo design tokens — generated from BRAND.md v0.1 (2026-09-02).
   BRAND.md is authoritative; change it first, then mirror here. */

:root {
  /* ---- Surfaces & ink ---------------------------------------------- */
  --neo-void:        #070A08; /* page */
  --neo-slab:        #0D110F; /* cards */
  --neo-ridge:       #131A16; /* inset, locked fills */
  --neo-recess:      #0A0F0C; /* locked card bg, list rows */
  --neo-line:        #25302A; /* borders, controls */
  --neo-hairline:    #1B231D; /* section rules, card borders */
  --neo-paper:       #ECEFEC; /* primary text; light-mode bg */
  --neo-ink-2:       #C3CAC6; /* body copy on dark */
  --neo-ink-3:       #A7B0AC; /* lede */
  --neo-mute:        #8A938F; /* secondary text */
  --neo-label:       #7E8884; /* mono labels, meta */
  --neo-locked:      #5E6865; /* locked card text */
  --neo-dim:         #4A5450; /* tertiary mono detail */

  /* ---- Accent & state ---------------------------------------------- */
  --neo-phosphor:    #4CE68F; /* oklch(.84 .15 158) verified · passed · current */
  --neo-phosphor-hi: #7DF0B4; /* link hover, terminal highlight */
  --neo-phosphor-ink:#07120C; /* text on a phosphor fill */
  --neo-signal:      #F0B24B; /* oklch(.81 .15 78)  behind · pending · decide */
  --neo-fail:        #E5624F; /* oklch(.68 .16 32)  gate failed · dead link */
  --neo-slip:        #7FA8E8; /* oklch(.73 .11 258) slip day · shield · info */

  /* ---- Verification tags ------------------------------------------- */
  --neo-tag-v-fg: #4CE68F; --neo-tag-v-bd: #2A5A40; --neo-tag-v-bg: #08160F;
  --neo-tag-c-fg: #7FA8E8; --neo-tag-c-bd: #27384F; --neo-tag-c-bg: #0E141C;
  --neo-tag-d-fg: #F0B24B; --neo-tag-d-bd: #4A3A1B; --neo-tag-d-bg: #1A140A;
  --neo-tag-u-fg: #8A938F; --neo-tag-u-bd: #2F3B34; --neo-tag-u-bg: #131715; /* dashed border */

  /* ---- Component surfaces ------------------------------------------ */
  --neo-surface-decision:    #1A140A; --neo-border-decision: #4A3A1B; --neo-ink-decision: #A99372;
  --neo-surface-terminal:    #08110C; --neo-border-verified: #2A5A40;
  --neo-border-fail:         #4A2C26;
  --neo-scanline: repeating-linear-gradient(
      rgba(76,230,143,.04) 0px, rgba(76,230,143,.04) 1px,
      transparent 1px, transparent 4px);

  /* ---- Type --------------------------------------------------------- */
  --neo-font-ui:    Geist, -apple-system, BlinkMacSystemFont, Helvetica, sans-serif;
  --neo-font-mono:  "Geist Mono", ui-monospace, SFMono-Regular, Menlo, monospace;
  --neo-font-serif: "Instrument Serif", Georgia, serif;

  --neo-display-size: 48px; --neo-display-lh: 50px; --neo-display-track: -.01em;
  --neo-h1-size:      32px; --neo-h1-lh:      38px; --neo-h1-track:      -.03em; --neo-h1-weight: 600;
  --neo-h2-size:      22px; --neo-h2-lh:      28px; --neo-h2-track:      -.02em; --neo-h2-weight: 600;
  --neo-body-size:    17px; --neo-body-lh:    27px; --neo-body-weight: 400;
  --neo-data-size:    15px; --neo-data-lh:    22px; /* font-variant-numeric: tabular-nums */
  --neo-label-size:   11px; --neo-label-track: .1em; --neo-label-weight: 500; /* uppercase */
  --neo-measure: 66ch; /* 60–72 characters */

  /* Kid programs: one scale up, set at program level */
  --neo-body-size-kid: 19px;
  --neo-h1-size-kid:   36px;

  /* ---- Space -------------------------------------------------------- */
  --neo-space-1:  4px;  --neo-space-2:  8px;  --neo-space-3: 12px;
  --neo-space-4: 16px;  --neo-space-5: 24px;  --neo-space-6: 32px;
  --neo-space-7: 48px;  --neo-space-8: 64px;  --neo-space-9: 96px;

  --neo-radius-table:   0;
  --neo-radius-control: 6px;
  --neo-radius-card:    12px;
  --neo-radius-pill:    999px;
  --neo-radius-tile:    22%;  /* app icon */

  --neo-max-width: 1120px;
  --neo-gutter:    24px;
  --neo-hit-target: 44px;

  /* ---- Motion ------------------------------------------------------- */
  --neo-ease:            cubic-bezier(.2, .8, .2, 1);
  --neo-duration-unlock: 320ms;
}

/* Light surfaces (email, print). Dashboard stays dark. */
:root {
  --neo-light-bg:      #ECEFEC;
  --neo-light-ink:     #070A08;
  --neo-light-ink-2:   #3C4441;
  --neo-light-label:   #5E6865;
  --neo-light-phosphor:#2C6B4A;
}

/* Depth comes from surface value + 1px hairlines. Shadow is allowed only on
   the mobile sticky action bar. Max ONE accent-filled element per viewport. */
