/* Sinetti design tokens (phase E spec 12.8). Light only: no dark set, no theme switch, and
   prefers-color-scheme is never read. Nothing outside this file names a colour.
   tests/core/test_token_contrast.py measures every pair a person reads. */
:root {
  color-scheme: light;

  --font-sans: "Albert Sans", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
  --font-mono: "JetBrains Mono", ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;

  --text-xs: 0.8rem;
  --text-sm: 0.9rem;
  --text-md: 1.0625rem;
  --text-lg: 1.3rem;
  --text-xl: 1.75rem;
  --text-2xl: clamp(1.9rem, 3.5vw, 2.8rem);
  --text-3xl: clamp(2.4rem, 5vw, 3.4rem);
  --text-4xl: clamp(2.6rem, 6vw, 4.25rem);
  --track-4xl: -0.035em;
  --track-2xl: -0.022em;
  --track-lg: -0.012em;
  --track-label: 0.08em;
  --leading-tight: 1.1;
  --leading-title: 1.22;
  --leading-body: 1.6;

  --measure: 60ch;
  --measure-lead: 42ch;
  --measure-long: 65ch;
  --measure-head: 46rem;
  --wrap-max: 1180px;
  --nav-width: 15rem;
  --header-height: 4.25rem;

  --space-1: 0.25rem;
  --space-2: 0.5rem;
  --space-3: 0.75rem;
  --space-4: 1rem;
  --space-5: 1.5rem;
  --space-6: 2rem;
  --space-7: 2.75rem;
  --space-8: 4rem;
  --space-9: 7rem;

  --radius-inline: 4px;
  --radius-row: 10px;
  --radius-panel: 14px;
  --radius-card: 16px;
  --radius-pill: 999px;

  --paper: oklch(0.99 0.004 255);
  --paper-2: oklch(0.965 0.018 255);
  --card: oklch(1 0 0);
  --code: oklch(0.975 0.012 255);
  --ink: oklch(0.24 0.05 262);
  --ink-2: oklch(0.46 0.04 260);
  /* A rule between two things is decoration and stays faint. The edge of a control a person has
     to find is held to 3:1 by WCAG 1.4.11, which is why --edge is a separate token. */
  --line: oklch(0.9 0.015 255);
  --edge: oklch(0.62 0.03 258);

  /* Finnish flag blue: the brand and "you can act on this". Never a state. */
  --blue: #002f6c;
  --blue-hover: #0b4596;
  --blue-active: #00224f;
  --on-blue: oklch(1 0 0);
  --on-blue-2: oklch(0.86 0.035 255);
  --blue-2: oklch(0.37 0.11 260);
  --blue-line: oklch(0.45 0.1 260);
  /* The seal: the dot in the wordmark, the rule under a menu label, the focus ring. */
  --seal: oklch(0.56 0.17 256);

  --env-0: oklch(1 0 0);
  --env-1: oklch(0.93 0.03 255);
  --env-2: oklch(0.86 0.06 255);
  --env-3: oklch(0.7 0.11 257);
  --env-4: var(--blue);

  /* The states. Chroma rises with severity; the shape and the word carry the state, never the
     colour alone. */
  --pass: oklch(0.492 0.06 150);
  --pass-bg: oklch(0.94 0.025 150);
  --warn: oklch(0.502 0.1 60);
  --warn-bg: oklch(0.94 0.045 60);
  --fail: oklch(0.517 0.19 18);
  --fail-bg: oklch(0.94 0.035 18);
  --info: oklch(0.494 0.07 230);
  --info-bg: oklch(0.94 0.022 230);

  --shadow-card: 0 1px 2px oklch(0.3 0.12 260 / 0.07), 0 8px 24px oklch(0.3 0.12 260 / 0.08);
  --shadow-lift: 0 2px 4px oklch(0.3 0.12 260 / 0.09), 0 16px 36px oklch(0.3 0.12 260 / 0.14);

  --ease: cubic-bezier(0.2, 0.8, 0.2, 1);
}
