/* =====================================================================
   Aurora · design tokens
   A living light field behind frosted glass. Night-first: the website is
   always dark. The [data-theme="light"] "Pearl" block exists for printed
   matter, PDFs and email, never for the website itself.
   Keep in sync with tokens.json (scripts/sync-tokens.mjs copies this file
   into template/css/tokens.css).
   ===================================================================== */
:root {
  color-scheme: dark;

  /* ---- surface ---- */
  --void: #000000;                    /* page: true black, so the light field glows */
  --ink: #ffffff;                     /* headings, primary text */
  --ink-2: rgb(255 255 255 / 0.72);   /* body copy */
  --muted: rgb(255 255 255 / 0.56);   /* secondary copy */
  --faint: rgb(255 255 255 / 0.42);   /* captions, meta */
  --ghost: rgb(255 255 255 / 0.26);   /* legal, disabled */

  /* ---- glass ---- */
  --glass: rgb(255 255 255 / 0.05);       /* standard card */
  --glass-2: rgb(255 255 255 / 0.08);     /* featured / hover card */
  --glass-dark: rgb(0 0 0 / 0.32);        /* quiet card: reads as a hole in the light */
  --glass-deep: rgb(0 0 0 / 0.55);        /* classified / redacted card */
  --line: rgb(255 255 255 / 0.10);        /* card border */
  --line-2: rgb(255 255 255 / 0.20);      /* control border */
  --line-3: rgb(255 255 255 / 0.40);      /* hover border */
  --blur: 12px;

  /* ---- spectrum: always cool -> saturated -> hot, left to right ---- */
  --ice: #a8c9f6;
  --violet: #b637db;
  --magenta: #e43dd1;
  --lilac: #e3a8ff;                   /* links and featured accents on black */
  --orchid: #d88cf0;                  /* list markers */
  --spectrum: linear-gradient(90deg, var(--ice), var(--violet) 52%, var(--magenta));
  --spectrum-soft: linear-gradient(90deg, color-mix(in srgb, var(--ice) 70%, transparent), color-mix(in srgb, var(--violet) 70%, transparent), color-mix(in srgb, var(--magenta) 70%, transparent));

  /* ---- actions ---- */
  --cta: #ffffff;                     /* primary button: a white pill */
  --cta-ink: #000000;
  --cta-hover: #e4e4e7;

  /* ---- status (outline pills on glass) ---- */
  --st-live: #6ee7b7;
  --st-open: #7dd3fc;
  --st-soon: #fcd34d;
  --st-dev: #c4b5fd;

  /* ---- type ---- */
  --font: "Geist", "SF Pro Text", "Segoe UI", system-ui, sans-serif;
  --mono: "Geist Mono", ui-monospace, "SF Mono", Menlo, Consolas, monospace;
  --fs-hero: clamp(3rem, 1.6rem + 6.2vw, 6rem);
  --fs-h2: clamp(1.5rem, 1.2rem + 1vw, 1.875rem);
  --fs-h3: 1.125rem;
  --fs-lead: clamp(1.0625rem, 1rem + 0.35vw, 1.25rem);
  --fs-body: 0.9375rem;
  --fs-small: 0.8125rem;
  --fs-label: 0.625rem;

  /* ---- space (4px base) ---- */
  --s-1: 4px; --s-2: 8px; --s-3: 12px; --s-4: 16px; --s-5: 24px; --s-6: 32px;
  --s-7: 48px; --s-8: 64px; --s-9: 96px; --s-10: 128px;
  --content: 1024px;                  /* reading column: everything sits in it */
  --gutter: clamp(24px, 4vw, 48px);

  /* ---- shape ---- */
  --r-sm: 10px; --r-md: 16px; --r-lg: 24px; --r-pill: 999px;

  /* ---- motion ---- */
  --ease: cubic-bezier(0.25, 0.46, 0.45, 0.94);   /* "smooth": fades and slides */
  --spring: cubic-bezier(0.34, 1.36, 0.64, 1);    /* stiff spring: pop-ins, buttons */
  --spring-soft: cubic-bezier(0.22, 1.18, 0.36, 1); /* gentle spring: stagger items */
  --d-fast: 0.2s; --d-base: 0.5s; --d-slow: 0.6s;
  --stagger: 80ms;
}

/* Pearl: light values for documents, invoices and email only. */
:root[data-theme="light"] {
  color-scheme: light;
  --void: #fbfaff;
  --ink: #0a0a12;
  --ink-2: rgb(10 10 18 / 0.74);
  --muted: rgb(10 10 18 / 0.58);
  --faint: rgb(10 10 18 / 0.45);
  --ghost: rgb(10 10 18 / 0.3);
  --glass: rgb(255 255 255 / 0.66);
  --glass-2: rgb(255 255 255 / 0.82);
  --glass-dark: rgb(10 10 18 / 0.04);
  --glass-deep: rgb(10 10 18 / 0.07);
  --line: rgb(10 10 18 / 0.10);
  --line-2: rgb(10 10 18 / 0.18);
  --line-3: rgb(10 10 18 / 0.34);
  --lilac: #8a1fb0;
  --orchid: #a43fc9;
  --cta: #0a0a12;
  --cta-ink: #ffffff;
  --cta-hover: #26263a;
}
