/* NYJA theme system — load AFTER the design-system tokens (styles.css).
   1. Theme: put data-theme="light" | "dark" | "system" on the page root. Re-points the DS tokens
      (--ink, --paper, --gray-*) so every design-system component flips with the page.
   2. Surfaces: page-level UI reads only the --s-* tokens. An inverse block (black panel, footer, hero)
      re-points them inline — see NYJA_INVERSE in CLAUDE.md — so children need no changes.
   3. Theme-specific assets: display:var(--on-light) / display:var(--on-dark) on two sibling <img>s.
   Neon (#D5FF00) is a constant in both themes; ink on neon is always black. */
:root,[data-theme]{
--text-primary:var(--ink);--text-secondary:var(--gray-600);--text-tertiary:var(--gray-400);--text-inverse:var(--paper);--text-on-neon:#000;
--surface-page:var(--paper);--surface-card:var(--paper);--surface-subtle:var(--gray-50);--surface-inverse:var(--ink);
--border:var(--ink);--border-subtle:var(--gray-200);--divider:var(--gray-100);--focus-ring:var(--ink);--focus-ring-inverse:var(--neon);
--s-bg:var(--paper);--s-fg:var(--ink);--s-muted:var(--gray-600);--s-subtle:var(--gray-500);--s-faint:var(--gray-400);
--s-field:var(--gray-100);--s-field-2:var(--gray-50);--s-divider:var(--gray-100);--s-line:var(--ink);--s-hover:var(--gray-50);
--s-edge:transparent;--s-media:#000;--s-media-faint:#9CA096;
--s-block:#000;--s-block-fg:#fff;--s-block-muted:#C4C8BB;--s-block-subtle:#9CA096;--s-block-faint:#73776D;--s-block-field:#232520;--s-block-line:#3A3D36;--s-block-hover:#232520;
--on-light:block;--on-dark:none}
:root,[data-theme="light"]{color-scheme:light;--ink:#000;--paper:#fff;
--gray-50:#F6F7F4;--gray-100:#ECEEE8;--gray-200:#DDE0D6;--gray-300:#C4C8BB;--gray-400:#9CA096;--gray-500:#73776D;--gray-600:#54584F;--gray-700:#3A3D36;--gray-800:#232520;--gray-900:#121310}
[data-theme="dark"]{color-scheme:dark;--ink:#fff;--paper:#000;
--gray-50:#121310;--gray-100:#232520;--gray-200:#3A3D36;--gray-300:#54584F;--gray-400:#73776D;--gray-500:#9CA096;--gray-600:#C4C8BB;--gray-700:#DDE0D6;--gray-800:#ECEEE8;--gray-900:#F6F7F4;
--s-faint:#9CA096;--s-field:#3A3D36;--s-field-2:#232520;--s-divider:#3A3D36;--s-hover:#232520;
--s-edge:#3A3D36;--s-media:#3A3D36;--s-media-faint:#C4C8BB;
--s-block:#121310;--s-block-faint:#9CA096;--s-block-field:#3A3D36;--s-block-line:#3A3D36;--s-block-hover:#232520;
--on-light:none;--on-dark:block}
@media (prefers-color-scheme:dark){[data-theme="system"]{color-scheme:dark;--ink:#fff;--paper:#000;
--gray-50:#121310;--gray-100:#232520;--gray-200:#3A3D36;--gray-300:#54584F;--gray-400:#73776D;--gray-500:#9CA096;--gray-600:#C4C8BB;--gray-700:#DDE0D6;--gray-800:#ECEEE8;--gray-900:#F6F7F4;
--s-faint:#9CA096;--s-field:#3A3D36;--s-field-2:#232520;--s-divider:#3A3D36;--s-hover:#232520;
--s-edge:#3A3D36;--s-media:#3A3D36;--s-media-faint:#C4C8BB;
--s-block:#121310;--s-block-faint:#9CA096;--s-block-field:#3A3D36;--s-block-line:#3A3D36;--s-block-hover:#232520;
--on-light:none;--on-dark:block}}
/* TEMPORARY — delete when licensed Criteria CF with Latin Extended arrives.
   The Criteria CF DEMO cut ships Fontspring watermark outlines for these code points
   (digits incl. 4, % & ( ) + - / etc.), so normal CSS fallback can never trigger. This
   routes only those code points to Gotham; the design system stays the font source of truth. */
@font-face{font-family:"Criteria CF";src:url("_ds/nyja-design-system-b69bcaba-a038-4dfd-9017-1ab508aba10e/assets/fonts/Gotham-Book.otf") format("opentype");font-weight:400;font-style:normal;unicode-range:U+0021-002B,U+002D,U+002F,U+0034,U+003B-0040,U+005B-0060,U+007B-007E}
/* Ink on neon is always black — the DS neon fills use --ink, which flips in dark mode. (:root prefix outranks the DS-injected rules.) */
:root .ny-badge--neon,:root .ny-iconbtn--primary,:root .ny-iconbtn--primary:hover,:root .ny-tag--active,:root .ny-card--neon,:root .ny-card--neon .ny-card__title{color:#000}
:root .ny-check input:checked+.ny-check__box::after{border-color:#000}
:root .ny-radio input:checked+.ny-radio__dot::after{background:#000}
