/* tokens.css - GENERATED by build_tokens.py from tokens.json. DO NOT EDIT.
   Contrast-gated: every pair passes WCAG AA (body >=4.5:1, large/non-text >=3:1).
   Dark (vaporwave) is default; light (calm reading) via prefers-color-scheme + [data-mode]. */

:root {
    --body-bg: #121212;
    --body-fg: #E9ECF1;
    --surface: #1B1B21;
    --surface-fg: #E9ECF1;
    --muted-fg: #A7ADB8;
    --link: #8FD3FF;
    --border: #6A6A78;
    --focus: #7FE3FF;
    --temp-cage: #6FB0BD;
    --temp-theft: #F5C542;
    --temp-collapse: #FF3D9A;
    --temp-arsenal: #C2D2E2;
    --temp-sovereignty: #A7DCEA;
    --accent: var(--temp-cage);
}

@media (prefers-color-scheme: light) {
  :root:not([data-mode="dark"]) {
    --body-bg: #FBFBFD;
    --body-fg: #16171B;
    --surface: #F1F2F6;
    --surface-fg: #16171B;
    --muted-fg: #4A4E58;
    --link: #1659B5;
    --border: #70757F;
    --focus: #0B5FC2;
    --temp-cage: #2C6E7B;
    --temp-theft: #8A6A00;
    --temp-collapse: #B0186A;
    --temp-arsenal: #4A6076;
    --temp-sovereignty: #2A6E80;
  }
}

:root[data-mode="light"] {
    --body-bg: #FBFBFD;
    --body-fg: #16171B;
    --surface: #F1F2F6;
    --surface-fg: #16171B;
    --muted-fg: #4A4E58;
    --link: #1659B5;
    --border: #70757F;
    --focus: #0B5FC2;
    --temp-cage: #2C6E7B;
    --temp-theft: #8A6A00;
    --temp-collapse: #B0186A;
    --temp-arsenal: #4A6076;
    --temp-sovereignty: #2A6E80;
}

:root[data-mode="dark"] {
    --body-bg: #121212;
    --body-fg: #E9ECF1;
    --surface: #1B1B21;
    --surface-fg: #E9ECF1;
    --muted-fg: #A7ADB8;
    --link: #8FD3FF;
    --border: #6A6A78;
    --focus: #7FE3FF;
    --temp-cage: #6FB0BD;
    --temp-theft: #F5C542;
    --temp-collapse: #FF3D9A;
    --temp-arsenal: #C2D2E2;
    --temp-sovereignty: #A7DCEA;
}

/* Movement temperature: the reading body stays calm; only the brand skin
   (movement openers, sigil frames, large accents) takes the register. */
[data-movement="cage"]        { --accent: var(--temp-cage); }
[data-movement="theft"]       { --accent: var(--temp-theft); }
[data-movement="collapse"]    { --accent: var(--temp-collapse); }
[data-movement="arsenal"]     { --accent: var(--temp-arsenal); }
[data-movement="sovereignty"] { --accent: var(--temp-sovereignty); }

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