/* aiproject.engineer tokens: the one file every colour, face, size and curve comes from (A9).
   Greige ground from ref.digital's own (bg-greige-400), ours measured in OKLCH; three skins on one structure. */
@font-face { font-family: "Inter Tight"; src: url("/fonts/inter-tight.woff2") format("woff2"); font-weight: 400 700; font-display: swap; }
@font-face { font-family: "JetBrains Mono"; src: url("/fonts/jetbrains-mono.woff2") format("woff2"); font-weight: 400 500; font-display: swap; }
/* metric-matched fallbacks so the swap holds the layout */
@font-face { font-family: "Inter Tight Fallback"; src: local("Arial"); size-adjust: 95%; ascent-override: 98%; descent-override: 24%; }
@font-face { font-family: "JetBrains Mono Fallback"; src: local("Consolas"), local("Courier New"); size-adjust: 104%; }
:root {
  --ground: oklch(80.5% 0.021 70);
  --paper: oklch(97.5% 0.006 90);
  --ink: oklch(17% 0.01 60);
  --ink-2: oklch(31% 0.012 60);
  --band: oklch(16% 0.008 60);
  --band-ink: oklch(95% 0.008 80);
  --band-ink-2: oklch(80% 0.01 80);
  --accent: oklch(70% 0.19 45);
  --accent-ink: oklch(78% 0.16 55);
  --card: rgb(216 223 123);            /* sampled from the hummingbird film's own card, so the frame never shows an edge */
  --screen: oklch(93% 0.008 80);       /* the monitor's glass before the first stage paints */
  --veil: oklch(12% 0.01 260 / .72);   /* tags over the photograph */
  --sky: oklch(80% 0.12 232);          /* the operator's sky blue, 2026-10-27: We, Easy, Dream, Create */
  /* the services rays, top to bottom: a sunset over the sea (operator, 2026-10-27: pinks, reds and orange at the top,
     green for the purple, turquoise and ocean blue below; then the top sky blue like a sunny day and the bottom navy like the deep); deep enough to read on the greige ground */
  --ray-1: oklch(66% 0.15 238); --ray-2: oklch(56% 0.22 22); --ray-3: oklch(66% 0.19 52);
  --ray-4: oklch(60% 0.17 145); --ray-5: oklch(64% 0.14 190); --ray-6: oklch(32% 0.11 262);
  --glint: oklch(98% 0.06 95);
  --rule: color-mix(in oklch, var(--ink) 28%, transparent);
  --rule-faint: color-mix(in oklch, var(--ink) 14%, transparent);

  --sans: "Inter Tight", "Inter Tight Fallback", "Helvetica Neue", Arial, sans-serif;
  --mono: "JetBrains Mono", "JetBrains Mono Fallback", ui-monospace, monospace;
  --label: 400 .75rem/1.35 var(--mono);
  --step-0: 1rem;
  --step-1: clamp(1.25rem, 1.6vw, 1.625rem);
  --step-2: clamp(1.5rem, 2.2vw, 2.25rem);
  --step-3: clamp(2.125rem, 3.9vw, 4rem);
  --mark: 13.25vw;

  --gutter: .875rem;
  --space-1: .25rem; --space-2: .5rem; --space-3: 1rem; --space-4: 1.5rem; --space-5: 2.5rem; --space-6: 4rem; --space-7: 7rem;

  --ease: cubic-bezier(0.32, 0.94, 0.6, 1);      /* ref.digital's one curve (CH30, CH31) */
  --ease-out: cubic-bezier(0.23, 1, 0.32, 1);
  --dur-fast: 400ms;
  --dur-slow: 600ms;
  --dur-page: 320ms;
  --dur-long: 1600ms;                             /* the long settle: a card leaving, a small line arriving, the band's hold */                              /* the house view transition (operator rule 2026-10-23) */

  /* names the Loft recipes read */
  --chalk: var(--ink); --chalk-dim: var(--ink-2); --deep: var(--band); --night: var(--band); --mist: var(--band-ink);
  --ochre: var(--accent); --font-mono: var(--mono); --font-display: var(--sans); --radius: 2px;
  color-scheme: light;
}
[data-skin="night"] { --ground: oklch(15% 0.012 260); --paper: oklch(19% 0.012 260); --ink: oklch(95% 0.008 80); --ink-2: oklch(80% 0.01 80); --band: oklch(10% 0.01 260); --accent: oklch(78% 0.16 70); --accent-ink: oklch(80% 0.15 70); color-scheme: dark; }
[data-skin="paper"] { --ground: oklch(97.5% 0.006 90); --paper: oklch(99% 0.004 90); --ink: oklch(15% 0.01 260); --ink-2: oklch(38% 0.01 260); --band: oklch(14% 0.01 260); --accent: oklch(55% 0.2 255); }
