/* tokens.css — the Keystone design system's primitives, shared with ted.
   Ported verbatim so the two applications look like one product; only the
   @font-face block below is Fenton-specific. Nothing here targets an element:
   base.css styles the defaults and app.css builds the components, and both
   derive every value from a token declared here. Introduce no palette or scale
   outside this file. */

/* Inter Tight, self-hosted. ted loads this from Google Fonts, which our
   Content-Security-Policy (default-src 'self') forbids — the same reason htmx
   and Alpine are vendored. This is the variable font: one file serves the whole
   400-800 range the tokens ask for. See assets/js/VENDORED.md for provenance. */
@font-face {
  font-family: "Inter Tight";
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  src: url("/assets/fonts/inter-tight-latin.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

:root {
  --kc-oxford: #0a1628;
  --kc-blue: #2e6fb6;
  --kc-brown: #b36633;
  --kc-timberwolf: #e3d7d0;
  --kc-grey: #eceeec;
  --kc-white: #ffffff;
  --kc-ash: #c8d2c8;
  --kc-army: #4c5a4b;
  --kc-lion: #c49c67;
  --kc-slate: #798597;
  --kc-chalk: #6f6f6f;
  --kc-space: #47484a;
  --kc-black: #000000;

  --bg: var(--kc-white);
  --bg-soft: #f7f8f8;
  --bg-panel: var(--kc-grey);
  --bg-inverse: var(--kc-oxford);

  --fg: var(--kc-oxford);
  --fg-muted: #4d586b;
  --fg-subtle: #6b7689;
  --fg-on-inverse: var(--kc-white);
  --fg-on-inverse-muted: rgba(255, 255, 255, 0.72);

  --border: #dee1e3;
  --border-strong: #c4c9cf;
  --border-on-inverse: rgba(255, 255, 255, 0.14);

  --accent: var(--kc-blue);
  --accent-hover: #265a96;
  --accent-soft: rgba(46, 111, 182, 0.08);
  --highlight: var(--kc-brown);
  --highlight-soft: rgba(179, 102, 51, 0.10);

  --link: var(--kc-blue);
  --link-hover: #1f4f86;

  --code-bg: #f3f5f6;
  --code-fg: var(--kc-oxford);

  --kbd-bg: #fafbfb;
  --kbd-border: var(--border-strong);

  --font-sans: "Inter Tight", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  --font-mono: ui-monospace, "SFMono-Regular", "JetBrains Mono", Menlo, Consolas, monospace;

  --fs-12: 0.75rem;
  --fs-13: 0.8125rem;
  --fs-14: 0.875rem;
  --fs-15: 0.9375rem;
  --fs-16: 1rem;
  --fs-18: 1.125rem;
  --fs-20: 1.25rem;
  --fs-24: 1.5rem;
  --fs-32: 2rem;
  --fs-40: 2.5rem;
  --fs-56: 3.5rem;

  --lh-tight: 1.1;
  --lh-snug: 1.25;
  --lh-base: 1.55;
  --lh-loose: 1.7;

  --tracking-tight: -0.015em;
  --tracking-tighter: -0.02em;
  --tracking-display: -0.025em;

  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 20px;
  --space-6: 24px;
  --space-8: 32px;
  --space-10: 40px;
  --space-12: 48px;
  --space-16: 64px;
  --space-20: 80px;

  --radius-1: 4px;
  --radius-2: 8px;
  --radius-3: 12px;
  --radius-4: 16px;
  --radius-pill: 999px;

  --header-h: 64px;
  --sidebar-w: 320px;
  --content-max: 1040px;
  --toc-w: 220px;

  --shadow-sm: 0 1px 2px rgba(10, 22, 40, 0.06);
  --shadow-md: 0 6px 24px rgba(10, 22, 40, 0.06), 0 1px 2px rgba(10, 22, 40, 0.04);

  --transition-fast: 120ms ease;
  --transition-base: 180ms ease;
}
