/* ==========================================================================
   GENERATED FILE — DO NOT EDIT.

   Source:    src/styles/design-system.css  (the single source of truth)
   Generator: scripts/extract-tokens.mjs    (npm run tokens / prebuild)

   Exists so the static landing (public/landing.html), which is served
   straight from /public and never touches the Next.js CSS pipeline, can
   `<link rel="stylesheet" href="/tokens.css">` and consume the SAME
   --ds-* palette as the app — light + dark included. Edit the source file
   and re-run the generator; hand-edits here are overwritten on every build.
   ========================================================================== */

:root {
    --ds-bg: #F7F8F3;
    --ds-surface: #FFFFFF;
    --ds-surface-2: #EEF1E6;
    --ds-panel: #FFFFFF;
    --ds-line: rgba(11, 15, 0, 0.10);
    --ds-line-strong: rgba(11, 15, 0, 0.18);
    --ds-text: #0B0F00;
    --ds-text-dim: #414A33;
    --ds-text-mut: #68705C;
    --ds-text-faint: #9AA18F;
    --ds-accent: #4E6B00;
    --ds-accent-strong: #3C5200;
    --ds-accent-fill: #C8FF00;
    --ds-accent-ink: #0B0F00;
    --ds-accent-soft: color-mix(in srgb, var(--ds-accent-fill) 26%, transparent);
    --ds-on-accent: var(--ds-accent-ink);
    --ds-coach-kaira: #D6297A;
    --ds-coach-jace: #0E7CB8;
    --ds-coach-kaira-soft: color-mix(in srgb, var(--ds-coach-kaira) 14%, transparent);
    --ds-coach-jace-soft: color-mix(in srgb, var(--ds-coach-jace) 14%, transparent);
    --ds-amavie-parent: #7A3BE9;
    --ds-amavie-parent-strong: #5F27C6;
    --ds-amavie-parent-ink: #FFFFFF;
    --ds-good: #157F3E;
    --ds-warning: #8A5A00;
    --ds-danger: #C42525;
    --ds-success: var(--ds-good);
    --ds-poster-bg: #07070F;
    --ds-poster-panel: #12122A;
    --ds-poster-text: #F2F4EA;
    --ds-poster-dim: #A8AEC4;
    --ds-poster-line: rgba(200, 255, 0, 0.18);
    --ds-poster-accent: var(--ds-accent-fill);
    --ds-scrim: rgba(7, 7, 15, 0.45);
    --ds-shadow: 0 16px 40px -20px rgba(11, 15, 0, 0.22);
    --ds-glow: 0 8px 24px -14px rgba(200, 255, 0, 0.55);
    --ds-font-sans: 'Rubik', system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
    --ds-font-mono: ui-monospace, 'SF Mono', 'JetBrains Mono', Menlo, Consolas, monospace;
    --ds-radius-sm: 10px;
    --ds-radius: 14px;
    --ds-radius-lg: 20px;
    --ds-radius-pill: 999px;
    --ds-maxw: 1180px;
    --ds-ease: cubic-bezier(0.22, 1, 0.36, 1);
    --ds-dur: 0.6s;
}

@media (prefers-color-scheme: dark) {
    :root:not([data-theme='light']) {
        --ds-bg: #07070F;
        --ds-surface: #101024;
        --ds-surface-2: #171733;
        --ds-panel: #12122A;
        --ds-line: rgba(200, 255, 0, 0.12);
        --ds-line-strong: rgba(200, 255, 0, 0.26);
        --ds-text: #F2F4EA;
        --ds-text-dim: #B6BCA6;
        --ds-text-mut: #878D79;
        --ds-text-faint: #5C6252;
        --ds-accent: #C8FF00;
        --ds-accent-strong: #A6D400;
        --ds-accent-fill: #C8FF00;
        --ds-accent-ink: #0B0F00;
        --ds-accent-soft: color-mix(in srgb, var(--ds-accent-fill) 16%, transparent);
        --ds-coach-kaira: #FF8CC6;
        --ds-coach-jace: #7FD4F2;
        --ds-coach-kaira-soft: color-mix(in srgb, var(--ds-coach-kaira) 18%, transparent);
        --ds-coach-jace-soft: color-mix(in srgb, var(--ds-coach-jace) 18%, transparent);
        --ds-amavie-parent: #AA00FF;
        --ds-amavie-parent-strong: #7A3BE9;
        --ds-amavie-parent-ink: #FFFFFF;
        --ds-good: #55D98B;
        --ds-warning: #FFB020;
        --ds-danger: #FF5D5D;
        --ds-shadow: 0 20px 60px -24px rgba(0, 0, 0, 0.70);
        --ds-glow: 0 0 26px rgba(200, 255, 0, 0.28);
    }
}

:root[data-theme='dark'] {
    --ds-bg: #07070F;
    --ds-surface: #101024;
    --ds-surface-2: #171733;
    --ds-panel: #12122A;
    --ds-line: rgba(200, 255, 0, 0.12);
    --ds-line-strong: rgba(200, 255, 0, 0.26);
    --ds-text: #F2F4EA;
    --ds-text-dim: #B6BCA6;
    --ds-text-mut: #878D79;
    --ds-text-faint: #5C6252;
    --ds-accent: #C8FF00;
    --ds-accent-strong: #A6D400;
    --ds-accent-fill: #C8FF00;
    --ds-accent-ink: #0B0F00;
    --ds-accent-soft: color-mix(in srgb, var(--ds-accent-fill) 16%, transparent);
    --ds-coach-kaira: #FF8CC6;
    --ds-coach-jace: #7FD4F2;
    --ds-coach-kaira-soft: color-mix(in srgb, var(--ds-coach-kaira) 18%, transparent);
    --ds-coach-jace-soft: color-mix(in srgb, var(--ds-coach-jace) 18%, transparent);
    --ds-amavie-parent: #AA00FF;
    --ds-amavie-parent-strong: #7A3BE9;
    --ds-amavie-parent-ink: #FFFFFF;
    --ds-good: #55D98B;
    --ds-warning: #FFB020;
    --ds-danger: #FF5D5D;
    --ds-shadow: 0 20px 60px -24px rgba(0, 0, 0, 0.70);
    --ds-glow: 0 0 26px rgba(200, 255, 0, 0.28);
}

:root[data-theme='light'] {
    --ds-bg: #F7F8F3;
    --ds-surface: #FFFFFF;
    --ds-surface-2: #EEF1E6;
    --ds-panel: #FFFFFF;
    --ds-line: rgba(11, 15, 0, 0.10);
    --ds-line-strong: rgba(11, 15, 0, 0.18);
    --ds-text: #0B0F00;
    --ds-text-dim: #414A33;
    --ds-text-mut: #68705C;
    --ds-text-faint: #9AA18F;
    --ds-accent: #4E6B00;
    --ds-accent-strong: #3C5200;
    --ds-accent-fill: #C8FF00;
    --ds-accent-ink: #0B0F00;
    --ds-accent-soft: color-mix(in srgb, var(--ds-accent-fill) 26%, transparent);
    --ds-coach-kaira: #D6297A;
    --ds-coach-jace: #0E7CB8;
    --ds-coach-kaira-soft: color-mix(in srgb, var(--ds-coach-kaira) 14%, transparent);
    --ds-coach-jace-soft: color-mix(in srgb, var(--ds-coach-jace) 14%, transparent);
    --ds-amavie-parent: #7A3BE9;
    --ds-amavie-parent-strong: #5F27C6;
    --ds-amavie-parent-ink: #FFFFFF;
    --ds-good: #157F3E;
    --ds-warning: #8A5A00;
    --ds-danger: #C42525;
    --ds-shadow: 0 16px 40px -20px rgba(11, 15, 0, 0.22);
    --ds-glow: 0 8px 24px -14px rgba(200, 255, 0, 0.55);
}
