/* Design system v2 tokens. Additive: light pages keep their original legacy look; dark and high-contrast alias the legacy variables. System fonts only. */
:root,html[data-theme="light"]{color-scheme:light;--eg-bg:#faf9ff;--eg-surface:#ffffff;--eg-soft:#f0edf9;--eg-ink:#211b38;--eg-secondary:#4e4565;--eg-muted:#61586f;--eg-line:#82758f;--eg-success:#166534;--eg-error:#a31924;--eg-accent:#5130aa;--eg-accent-contrast:#ffffff;--eg-focus:#5130aa}
html[data-theme="dark"]{color-scheme:dark;--eg-bg:#131020;--eg-surface:#211b32;--eg-soft:#2d2540;--eg-ink:#f8f5ff;--eg-secondary:#dfd6ed;--eg-muted:#c5b8d7;--eg-line:#9887ad;--eg-success:#91e5ab;--eg-error:#ffb4b9;--eg-accent:#c4b5fd;--eg-accent-contrast:#171020;--eg-focus:#e7c9ff}
html[data-theme="contrast"]{color-scheme:dark;--eg-bg:#000000;--eg-surface:#000000;--eg-soft:#101010;--eg-ink:#ffffff;--eg-secondary:#ffffff;--eg-muted:#ffffff;--eg-line:#ffffff;--eg-success:#b6ffc6;--eg-error:#ffc3c6;--eg-accent:#fff06b;--eg-accent-contrast:#000000;--eg-focus:#ffffff}
html[data-theme="dark"],html[data-theme="contrast"]{--bg:var(--eg-bg);--card:var(--eg-surface);--bg-soft:var(--eg-soft);--ink:var(--eg-ink);--ink-2:var(--eg-secondary);--muted:var(--eg-muted);--line:var(--eg-line);--brand:var(--eg-accent);--brand-dark:var(--eg-accent);--grad:linear-gradient(135deg,var(--eg-accent),var(--eg-accent));background:var(--eg-bg);color:var(--eg-ink)}
:root{--eg-font-ui:system-ui,-apple-system,"Segoe UI",sans-serif;--eg-font-script:var(--eg-font-ui);--eg-script-leading:1.75;--eg-text-xs:.8rem;--eg-text-sm:.9rem;--eg-text-base:1rem;--eg-text-lg:1.25rem;--eg-text-xl:1.6rem;--eg-text-hero:clamp(1.75rem,4vw,2.6rem);--eg-space-1:.25rem;--eg-space-2:.5rem;--eg-space-3:.75rem;--eg-space-4:1rem;--eg-space-6:1.5rem;--eg-space-8:2rem;--eg-radius-sm:.5rem;--eg-radius:1rem;--eg-radius-lg:1.5rem;--eg-shadow:0 8px 30px #17102014;--eg-duration-fast:140ms;--eg-duration:240ms;--eg-easing:cubic-bezier(.2,.7,.3,1);--eg-z-header:100;--eg-z-dialog:400;--eg-z-toast:500;--eg-z-confetti:600}
@media(prefers-reduced-motion:reduce){:root{--eg-duration-fast:0ms;--eg-duration:0ms}html{scroll-behavior:auto!important}*,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}
