/* Daily Build design tokens. See DESIGN.md. Nothing else hard-codes these values. */
@import url("https://fonts.googleapis.com/css2?family=Lilita+One&family=Nunito:wght@600;700;800;900&family=JetBrains+Mono:wght@400;600&display=swap");

:root {
  /* Palette: brand (same in both themes) */
  --violet-50: #F1EEFF;
  --violet-100: #E4DEFF;
  --violet-300: #A794FF;
  --violet-500: #6A4CFF;
  --violet-600: #4F35D6;
  --sun-50: #FFF6D9;
  --sun-400: #FFC21A;
  --sun-600: #C99300;
  --sun-ink: #2B2100;
  --mint-50: #DDF8EE;
  --mint-400: #2ED3A0;
  --mint-600: #139E76;
  --mint-ink: #08372A;
  --pink-50: #FFE3E9;
  --pink-400: #FF5C7A;
  --pink-600: #C93A57;
  --orange-400: #FF8A3D;
  --orange-600: #D06A22;
  --sky-400: #4CB8FF;
  --sky-600: #2B8FD6;

  /* Palette: light world */
  --paper: #FFFFFF;
  --mist: #F6F4FF;
  --lavender: #C9BEFF;
  --ink: #1B1840;
  --ink-2: #55527A;

  /* Palette: space world */
  --space-950: #0E0C29;
  --space-900: #141233;
  --space-800: #1B1840;
  --space-700: #262257;
  --space-650: #2F2A66;
  --space-600: #3A3570;
  --space-500: #4A4490;
  --space-text: #F4F2FF;
  --space-muted: #B9B4E0;
  --space-faint: #8C87BE;

  /* Type */
  --font-display: "Lilita One", "Nunito", system-ui, sans-serif;
  --font-body: "Nunito", system-ui, -apple-system, "Segoe UI", sans-serif;
  --font-mono: "JetBrains Mono", ui-monospace, Menlo, monospace;
  --fs-1: 14px;
  --fs-2: 16px;
  --fs-3: 18px;
  --fs-4: 21px;
  --fs-5: 26px;
  --fs-6: 32px;
  --fs-7: clamp(32px, 4.2vw, 40px);
  --fs-8: clamp(36px, 5.2vw, 52px);
  --fs-9: clamp(42px, 6.4vw, 68px);
  --fs-10: clamp(48px, 8vw, 88px);
  --lh-tight: 1.04;
  --lh-snug: 1.25;
  --lh-body: 1.5;
  --measure: 62ch;

  /* Space (4px base) */
  --sp-1: 4px;
  --sp-2: 8px;
  --sp-3: 12px;
  --sp-4: 16px;
  --sp-5: 24px;
  --sp-6: 32px;
  --sp-7: 48px;
  --sp-8: 64px;
  --sp-9: 96px;
  --sp-10: 128px;
  --sp-11: 160px;
  --gutter: clamp(16px, 4vw, 32px);
  --page-max: 1160px;

  /* Shape */
  --r-sm: 10px;
  --r-md: 16px;
  --r-lg: 24px;
  --r-xl: 32px;
  --r-pill: 999px;
  --lip: 5px;
  --lip-sm: 4px;
  --border: 2px;
  --shadow-float: 0 18px 40px rgba(27, 24, 64, 0.18);

  /* Motion */
  --ease-spring: cubic-bezier(0.3, 1.5, 0.5, 1);
  --ease-out: cubic-bezier(0.2, 0.9, 0.3, 1);
  --dur-fast: 120ms;
  --dur-med: 280ms;
  --dur-slow: 600ms;
}

/* Semantic tokens: light is the default */
:root,
[data-theme="light"] {
  --bg: var(--mist);
  --surface: var(--paper);
  --surface-2: #EFECFC;
  --text: var(--ink);
  --text-muted: var(--ink-2);
  --line: #E4E0F5;
  --line-strong: #CFC8F0;
  --focus: var(--violet-500);
  --link: var(--violet-600);
}

[data-theme="space"] {
  --bg: var(--space-800);
  --surface: var(--space-700);
  --surface-2: var(--space-650);
  --text: var(--space-text);
  --text-muted: var(--space-muted);
  --line: var(--space-600);
  --line-strong: var(--space-500);
  --focus: #FFFFFF;
  --link: var(--sun-400);
  --shadow-float: 0 18px 40px rgba(0, 0, 0, 0.45);
}

@media (prefers-reduced-motion: reduce) {
  :root {
    --dur-fast: 0ms;
    --dur-med: 0ms;
    --dur-slow: 0ms;
  }
}
