/* =========================================================================
 * AffluentOS design tokens — GENERATED from tokens/tokens.json.
 * Do not edit this file by hand. Run `node tokens/build.mjs` after changing
 * the JSON source.
 * =========================================================================*/

/* Local webfonts — Inter + Outfit + JetBrains Mono — with Google Fonts fallback. */
@font-face { font-family: "JetBrains Mono"; font-style: normal; font-weight: 400; font-display: swap; src: url("../fonts/JetBrainsMono-Regular.woff2") format("woff2"); }
@font-face { font-family: "JetBrains Mono"; font-style: normal; font-weight: 500; font-display: swap; src: url("../fonts/JetBrainsMono-Medium.woff2") format("woff2"); }
@font-face { font-family: "JetBrains Mono"; font-style: normal; font-weight: 700; font-display: swap; src: url("../fonts/JetBrainsMono-Bold.woff2") format("woff2"); }
/* Site-consistent typography — Inter (body) + Outfit (display), variable, localized. */
@font-face { font-family: "Inter"; font-style: normal; font-weight: 100 900; font-display: swap; src: url("../fonts/Inter.woff2") format("woff2"); }
@font-face { font-family: "Outfit"; font-style: normal; font-weight: 100 900; font-display: swap; src: url("../fonts/Outfit.woff2") format("woff2"); }
@import url("https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Outfit:wght@400;500;600;700;800&family=JetBrains+Mono:wght@400;500;700&display=swap");

:root {
  --color-chartreuse: #C7F751;
  --color-chartreuse-hover: #D4F97A;
  --color-ink: #0A0A0D;
  --color-white: #FFFFFF;
  --color-success: #10B981;
  --color-warning: #EF4444;
  --agent-hestia: #F97316;
  --agent-hestia-light: #FB923C;
  --agent-hestia-dark: #EA580C;
  --agent-hestia-glow: rgba(249,115,22,0.25);
  --agent-chiron: #14B8A6;
  --agent-chiron-light: #2DD4BF;
  --agent-chiron-dark: #0D9488;
  --agent-chiron-glow: rgba(20,184,166,0.25);
  --agent-prometheus: #EF4444;
  --agent-prometheus-light: #F87171;
  --agent-prometheus-dark: #DC2626;
  --agent-prometheus-glow: rgba(239,68,68,0.25);
  --agent-vulcan: #D97706;
  --agent-vulcan-light: #F59E0B;
  --agent-vulcan-dark: #B45309;
  --agent-vulcan-glow: rgba(217,119,6,0.25);
  --agent-calliope: #8B5CF6;
  --agent-calliope-light: #A78BFA;
  --agent-calliope-dark: #7C3AED;
  --agent-calliope-glow: rgba(139,92,246,0.25);
  --agent-nike: #FACC15;
  --agent-nike-light: #FDE047;
  --agent-nike-dark: #EAB308;
  --agent-nike-glow: rgba(250,204,21,0.25);
  --agent-athena: #A855F7;
  --agent-athena-light: #C084FC;
  --agent-athena-dark: #9333EA;
  --agent-athena-glow: rgba(168,85,247,0.25);
  --agent-apollo: #F59E0B;
  --agent-apollo-light: #FBBF24;
  --agent-apollo-dark: #D97706;
  --agent-apollo-glow: rgba(245,158,11,0.25);
  --agent-iris: #EC4899;
  --agent-iris-light: #F472B6;
  --agent-iris-dark: #DB2777;
  --agent-iris-glow: rgba(236,72,153,0.25);
  --agent-eos: #F43F5E;
  --agent-eos-light: #FB7185;
  --agent-eos-dark: #E11D48;
  --agent-eos-glow: rgba(244,63,94,0.25);
  --agent-echo: #0EA5E9;
  --agent-echo-light: #38BDF8;
  --agent-echo-dark: #0284C7;
  --agent-echo-glow: rgba(14,165,233,0.25);
  --agent-demeter: #84CC16;
  --agent-demeter-light: #A3E635;
  --agent-demeter-dark: #65A30D;
  --agent-demeter-glow: rgba(132,204,22,0.25);
  --agent-kairos: #06B6D4;
  --agent-kairos-light: #22D3EE;
  --agent-kairos-dark: #0891B2;
  --agent-kairos-glow: rgba(6,182,212,0.25);
  --agent-mercury: #3B82F6;
  --agent-mercury-light: #60A5FA;
  --agent-mercury-dark: #2563EB;
  --agent-mercury-glow: rgba(59,130,246,0.25);
  --agent-hera: #D946EF;
  --agent-hera-light: #E879F9;
  --agent-hera-dark: #C026D3;
  --agent-hera-glow: rgba(217,70,239,0.25);
  --agent-clio: #6366F1;
  --agent-clio-light: #818CF8;
  --agent-clio-dark: #4F46E5;
  --agent-clio-glow: rgba(99,102,241,0.25);
  --agent-mentor: #64748B;
  --agent-mentor-light: #94A3B8;
  --agent-mentor-dark: #475569;
  --agent-mentor-glow: rgba(100,116,139,0.30);
  --agent-atlas: #10B981;
  --agent-atlas-light: #34D399;
  --agent-atlas-dark: #059669;
  --agent-atlas-glow: rgba(16,185,129,0.25);
  --agent-plutus: #CA8A04;
  --agent-plutus-light: #EAB308;
  --agent-plutus-dark: #A16207;
  --agent-plutus-glow: rgba(202,138,4,0.25);
  --agent-argos: #0F766E;
  --agent-argos-light: #0D9488;
  --agent-argos-dark: #115E59;
  --agent-argos-glow: rgba(15,118,110,0.30);
  --font-sans: 'Inter', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --font-display: 'Outfit', 'Inter', system-ui, sans-serif;
  --font-mono: 'JetBrains Mono', ui-monospace, SFMono-Regular, Menlo, monospace;
  --fs-xs: 11px;
  --fs-sm: 12px;
  --fs-base: 14px;
  --fs-md: 15px;
  --fs-lg: 18px;
  --fs-xl: 24px;
  --fs-2xl: 32px;
  --fs-3xl: 44px;
  --fs-4xl: 56px;
  --fs-5xl: 72px;
  --fs-6xl: 96px;
  --fs-7xl: 128px;
  --fw-light: 300;
  --fw-regular: 400;
  --fw-medium: 500;
  --fw-semibold: 600;
  --fw-bold: 700;
  --lh-tight: 1.2;
  --lh-snug: 1.35;
  --lh-normal: 1.5;
  --lh-relaxed: 1.65;
  --lh-none: 1;
  --ls-tight: -0.01em;
  --ls-normal: 0;
  --ls-wide: 0.04em;
  --ls-wider: 0.12em;
  --space-0: 0px;
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 20px;
  --space-6: 24px;
  --space-8: 32px;
  --space-10: 40px;
  --space-12: 48px;
  --space-16: 64px;
  --radius-none: 0;
  --radius-xs: 3px;
  --radius-sm: 4px;
  --radius-md: 6px;
  --radius-lg: 8px;
  --radius-xl: 12px;
  --radius-pill: 999px;
  --motion-fast: 120ms;
  --motion-base: 180ms;
  --motion-slow: 260ms;
  --motion-ease: cubic-bezier(0.2, 0.8, 0.2, 1);
  --control-xs: 20px;
  --control-sm: 24px;
  --control-md: 28px;
  --control-lg: 36px;
  --control-xl: 44px;
  --control-field: 38px;
}

:root,
[data-aos-theme="dark"] {
  --surface-base: #030711;
  --surface-elevated: #050C1F;
  --surface-interactive: #131C2E;
  --surface-sunken: #02040C;
  --accent-fill: #C7F751;
  --accent-fill-hover: #D4F97A;
  --accent-muted: rgba(199,247,81,0.10);
  --ink-on-accent: #030711;
  --accent-text: #C7F751;
  --accent-border: rgba(199,247,81,0.40);
  --ink-primary: #FFFFFF;
  --ink-secondary: #E2E2E8;
  --ink-muted: #8F8F9D;
  --ink-inverse: #030711;
  --border: rgba(255,255,255,0.10);
  --border-strong: rgba(255,255,255,0.20);
  --hairline: rgba(255,255,255,0.06);
  --focus-ring: #C7F751;
  --focus-ring-shadow: 0 0 0 2px #0A0A0D, 0 0 0 4px #C7F751, 0 8px 24px rgba(199,247,81,0.30);
  --success: #10B981;
  --success-fill: rgba(16,185,129,0.12);
  --success-text: #34D399;
  --success-border: rgba(16,185,129,0.30);
  --warning: #EF4444;
  --warning-fill: rgba(239,68,68,0.12);
  --warning-text: #F87171;
  --warning-border: rgba(239,68,68,0.30);
  --shadow-sm: 0 1px 2px rgba(0,0,0,0.4);
  --shadow-md: 0 4px 12px rgba(0,0,0,0.5);
  --shadow-lg: 0 12px 40px rgba(0,0,0,0.6);
  --shadow-glow: 0 0 24px rgba(199,247,81,0.30);
  --overlay-scrim: rgba(0,0,0,0.6);
  --scrollbar-thumb: rgba(255,255,255,0.12);
  --elevate-1: rgba(255,255,255,0.04);
  --elevate-2: rgba(255,255,255,0.08);
  color-scheme: dark;
}

[data-aos-theme="light"] {
  --surface-base: #FAFAF9;
  --surface-elevated: #FFFFFF;
  --surface-interactive: #F4F4F2;
  --surface-sunken: #F0F0EE;
  --accent-fill: #C7F751;
  --accent-fill-hover: #D4F97A;
  --accent-muted: rgba(199,247,81,0.18);
  --ink-on-accent: #0A0A0D;
  --accent-text: #0A0A0D;
  --accent-border: rgba(10,10,13,0.18);
  --ink-primary: #0A0A0D;
  --ink-secondary: #52525B;
  --ink-muted: #71717A;
  --ink-inverse: #FFFFFF;
  --border: rgba(10,10,13,0.10);
  --border-strong: rgba(10,10,13,0.20);
  --hairline: rgba(10,10,13,0.06);
  --focus-ring: #C7F751;
  --focus-ring-shadow: 0 0 0 2px #FAFAF9, 0 0 0 4px #C7F751, 0 8px 24px rgba(199,247,81,0.25);
  --success: #10B981;
  --success-fill: rgba(16,185,129,0.10);
  --success-text: #047857;
  --success-border: rgba(16,185,129,0.28);
  --warning: #EF4444;
  --warning-fill: rgba(239,68,68,0.08);
  --warning-text: #B91C1C;
  --warning-border: rgba(239,68,68,0.28);
  --shadow-sm: 0 1px 2px rgba(0,0,0,0.04);
  --shadow-md: 0 6px 16px rgba(0,0,0,0.06);
  --shadow-lg: 0 12px 40px rgba(0,0,0,0.08);
  --shadow-glow: 0 0 0 1px rgba(199,247,81,0.5), 0 8px 24px rgba(199,247,81,0.25);
  --overlay-scrim: rgba(10,10,13,0.35);
  --scrollbar-thumb: rgba(10,10,13,0.18);
  --elevate-1: rgba(10,10,13,0.04);
  --elevate-2: rgba(10,10,13,0.08);
  color-scheme: light;
}

@keyframes aos-spin    { to { transform: rotate(360deg); } }
@keyframes aos-pulse   { 0%, 100% { opacity: 1; } 50% { opacity: 0.4; } }
@keyframes aos-fade-in { from { opacity: 0; transform: translateY(4px); } to { opacity: 1; transform: translateY(0); } }
