/* ============================================================
   DramaStream — Design Tokens
   Hallmark · custom theme: "Midnight Cinema"
   paper-band: dark (L 12%) · display: bricolage-grotesque-800 · accent: coral-pink warm 15°
   genre: playful · mobile-first SPA
   ============================================================ */

:root {
  /* ── Paper surfaces (dark cinema) ─────────────────────────── */
  --color-paper:     oklch(10% 0.012 285);   /* deepest base */
  --color-paper-2:   oklch(14% 0.013 285);   /* card surface */
  --color-paper-3:   oklch(18% 0.014 285);   /* elevated card */
  --color-paper-4:   oklch(22% 0.012 285);   /* modal / sheet */
  --color-rule:      oklch(28% 0.010 285);   /* dividers */
  --color-muted:     oklch(48% 0.008 285);   /* placeholder text */
  --color-neutral:   oklch(62% 0.006 285);   /* secondary text */
  --color-ink:       oklch(94% 0.006 285);   /* primary text */

  /* ── Accent — coral-pink ───────────────────────────────────── */
  --color-accent:    oklch(68% 0.220 15);    /* coral-pink primary */
  --color-accent-2:  oklch(75% 0.180 20);    /* lighter coral hover */
  --color-accent-dim:oklch(68% 0.100 15);    /* muted accent for tags */
  --color-focus:     oklch(72% 0.210 15);    /* focus ring */

  /* ── Genre badge colors ────────────────────────────────────── */
  --color-tag-romance:  oklch(65% 0.18 350);
  --color-tag-action:   oklch(65% 0.20 30);
  --color-tag-comedy:   oklch(68% 0.18 85);
  --color-tag-thriller: oklch(58% 0.16 260);
  --color-tag-fantasy:  oklch(60% 0.18 300);

  /* ── Semantic ──────────────────────────────────────────────── */
  --color-success:   oklch(65% 0.17 145);
  --color-error:     oklch(60% 0.22 25);
  --color-overlay:   oklch(6%  0.008 285 / 0.88);

  /* ── Typography ────────────────────────────────────────────── */
  --font-display:  "Bricolage Grotesque", ui-sans-serif, system-ui, sans-serif;
  --font-body:     "Geist", ui-sans-serif, system-ui, sans-serif;
  --font-outlier:  "Space Mono", ui-monospace, monospace;

  /* ── Type scale (major-third 1.25) ─────────────────────────── */
  --text-xs:      0.64rem;    /* 10.24px */
  --text-sm:      0.8rem;     /* 12.8px  */
  --text-base:    1rem;       /* 16px    */
  --text-md:      1.25rem;    /* 20px    */
  --text-lg:      1.5625rem;  /* 25px    */
  --text-xl:      1.9531rem;  /* 31.25px */
  --text-2xl:     2.4414rem;
  --text-3xl:     3.0518rem;
  --text-display-s: clamp(2.2rem, 6vw + 1rem, 3.5rem);
  --text-display:   clamp(2.75rem, 7vw + 1rem, 5rem);

  /* ── Spacing (4px scale) ───────────────────────────────────── */
  --space-1:   0.25rem;   /*  4px */
  --space-2:   0.5rem;    /*  8px */
  --space-3:   0.75rem;   /* 12px */
  --space-4:   1rem;      /* 16px */
  --space-5:   1.25rem;   /* 20px */
  --space-6:   1.5rem;    /* 24px */
  --space-8:   2rem;      /* 32px */
  --space-10:  2.5rem;    /* 40px */
  --space-12:  3rem;      /* 48px */
  --space-16:  4rem;      /* 64px */
  --space-20:  5rem;      /* 80px */
  --space-24:  6rem;      /* 96px */

  /* ── Radii ─────────────────────────────────────────────────── */
  --radius-sm:  0.375rem;  /*  6px */
  --radius-md:  0.75rem;   /* 12px */
  --radius-lg:  1.25rem;   /* 20px */
  --radius-xl:  1.75rem;   /* 28px */
  --radius-pill: 100vmax;

  /* ── Motion ────────────────────────────────────────────────── */
  --dur-instant: 0ms;
  --dur-short:   100ms;
  --dur-base:    200ms;
  --dur-long:    350ms;
  --ease-out:    cubic-bezier(0.16, 1, 0.3, 1);
  --ease-in:     cubic-bezier(0.4, 0, 1, 1);
  --ease-in-out: cubic-bezier(0.4, 0, 0.2, 1);

  /* ── Z-index scale ─────────────────────────────────────────── */
  --z-below:   -1;
  --z-base:     0;
  --z-raised:   10;
  --z-nav:      100;
  --z-overlay:  200;
  --z-modal:    300;
  --z-toast:    400;

  /* ── Bottom nav height ─────────────────────────────────────── */
  --nav-bottom-h: 4rem;
}
