/* Crush — burnt-teal retrofuturist tokens. One hue family (teal) + one signal (sodium amber). */
:root {
  color-scheme: dark;

  /* theme hue: every surface, teal and text token rotates around this (Crushie palette slider) */
  --hue: 186;

  /* surfaces */
  --ink: oklch(0.147 0.013 calc(var(--hue) + 20));
  --hull: oklch(0.205 0.022 calc(var(--hue) + 20));
  --plate: oklch(0.255 0.029 calc(var(--hue) + 17));
  --plate-hi: oklch(0.31 0.04 calc(var(--hue) + 9));
  --line: oklch(0.331 0.035 calc(var(--hue) + 15));
  --line-hi: oklch(0.42 0.05 calc(var(--hue) + 4));

  /* teal ramp (burnt, never mint) */
  --teal-deep: oklch(0.26 0.05 calc(var(--hue) + 9));
  --teal-burnt: oklch(0.43 0.07 calc(var(--hue) + 2));
  --teal: oklch(0.573 0.093 var(--hue));
  --teal-hi: oklch(0.6 0.09 calc(var(--hue) - 1));
  --teal-glow: oklch(0.704 0.095 calc(var(--hue) - 2));
  --teal-glow-a: color-mix(in oklch, var(--teal-glow) 35%, transparent);
  --on-teal: oklch(0.981 0.01 calc(var(--hue) - 5));

  /* signal — tonight / live / rescheduled only */
  --sodium: #d9963a;
  --sodium-a: rgb(217 150 58 / 0.16);

  /* text */
  --paper: oklch(0.951 0.01 calc(var(--hue) - 5));
  --fog: oklch(0.794 0.027 calc(var(--hue) + 2));
  --mist: oklch(0.62 0.03 calc(var(--hue) + 9));

  /* type */
  --f-display: "Archivo", "Helvetica Neue", sans-serif;
  --f-body: "Archivo", "Helvetica Neue", sans-serif;
  --f-read: "Open Sans", "Helvetica Neue", sans-serif;   /* chat message text: easier to read in long replies */
  --f-mono: "JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace;

  --t-hero: clamp(2.6rem, 1.4rem + 4.6vw, 5.6rem);
  --t-h1: clamp(2.2rem, 1.4rem + 3vw, 4.2rem);
  --t-h2: clamp(1.15rem, 1rem + 0.5vw, 1.5rem);
  --t-body: 1rem;
  --t-small: 0.875rem;
  --t-micro: 0.6875rem;

  /* space (4px base) */
  --s1: 4px; --s2: 8px; --s3: 12px; --s4: 16px; --s5: 24px; --s6: 40px; --s7: 64px; --s8: 96px;
  --gutter: clamp(16px, 4vw, 56px);

  /* shape */
  --r-card: 6px;
  --r-sheet: 14px;
  --r-pill: 999px;

  /* motion */
  --ease: cubic-bezier(.2, .7, .1, 1);
  --fast: 160ms;
  --med: 320ms;
  --slow: 700ms;

  --header-h: 64px;
  --sheet-w: 400px;
}

@media (prefers-reduced-motion: reduce) {
  :root { --fast: 0ms; --med: 0ms; --slow: 0ms; }
  *, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}
