/* HALFHOOK design tokens — "night ledger": graphite ink-blue surfaces, ice-white type, one electric-violet accent.
   Shared by every page (/, /docs, /proof, /pools, /404). Token NAMES are kept from v1 (paper / ink / accent) so
   pages.css keeps working: --paper* are the dark surfaces, --ink* the light type. Fonts self-hosted (OFL) in /fonts. */

@font-face {
  font-family: "Sora";
  font-style: normal;
  font-weight: 100 800;
  font-display: swap;
  src: url("../fonts/sora-latin-wght-normal.woff2") format("woff2-variations"),
       url("../fonts/sora-latin-wght-normal.woff2") format("woff2");
}
@font-face {
  font-family: "Red Hat Mono";
  font-style: normal;
  font-weight: 300 700;
  font-display: swap;
  src: url("../fonts/red-hat-mono-latin-wght-normal.woff2") format("woff2-variations"),
       url("../fonts/red-hat-mono-latin-wght-normal.woff2") format("woff2");
}

:root {
  color-scheme: dark;

  /* surfaces (dark) */
  --paper: #0A0D14;          /* page: graphite ink-blue */
  --paper-deep: #0F1420;     /* inset wells, code */
  --paper-hi: #141A29;       /* raised panels, inputs */
  --glass: rgba(17, 22, 35, 0.74);         /* panels floating over the 3D stage */

  /* type (light) */
  --ink: #E9EEF7;            /* ice white, ~16.9:1 on --paper */
  --ink-2: #A7B1C5;          /* secondary, ~8.9:1 */
  --ink-3: #7F8AA0;          /* captions, ~5.4:1 */
  --ink-ghost: rgba(200, 214, 245, 0.15);  /* soft rules, empty slots */
  --line: rgba(200, 214, 245, 0.24);       /* standard 1px rule */

  /* the one accent: electric violet (halving, next block, focus, warnings) */
  --accent: #A28BFF;         /* ~6.6:1 on --paper */
  --accent-hi: #CDBFFF;
  --accent-tint: rgba(162, 139, 255, 0.13);
  --focus: #A28BFF;

  /* families (name --serif kept for compatibility: it is the display + text face) */
  --serif: "Sora", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
  --mono: "Red Hat Mono", ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;

  --fs-xs: 0.75rem;
  --fs-sm: 0.8125rem;
  --fs-base: 1rem;
  --fs-md: 1.1875rem;
  --fs-lg: clamp(1.3rem, 1.12rem + 0.8vw, 1.65rem);
  --fs-xl: clamp(2rem, 1.3rem + 2.8vw, 3.4rem);
  --fs-giant: clamp(4.75rem, 2rem + 10vw, 9.5rem);

  --lh-tight: 1.04;
  --lh-snug: 1.25;
  --lh-body: 1.6;
  --track-caps: 0.14em;

  /* rules */
  --rule: 1px solid var(--line);
  --rule-soft: 1px solid var(--ink-ghost);
  --rule-double: 1px solid rgba(200, 214, 245, 0.36);

  /* space (4px base) */
  --s1: 4px; --s2: 8px; --s3: 12px; --s4: 16px; --s5: 24px; --s6: 32px; --s7: 48px; --s8: 64px; --s9: 96px;

  /* layout */
  --sheet-max: 1280px;
  --gutter: clamp(16px, 3vw, 40px);
  --col-gap: clamp(20px, 2.6vw, 36px);
  --radius: 8px;
  --radius-lg: 14px;

  /* motion */
  --ease: cubic-bezier(.2, .7, .2, 1);
  --t-fast: 140ms;
  --t-med: 320ms;
}

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