@font-face{font-family:"Newsreader";font-style:normal;font-weight:100 900;font-display:swap;src:url("/assets/newsreader-latin-wght-normal-62981321d9a3.woff2") format("woff2-variations");}
@font-face{font-family:"Public Sans";font-style:normal;font-weight:100 900;font-display:swap;src:url("/assets/public-sans-latin-wght-normal-5ed4d31c988e.woff2") format("woff2-variations");}
@font-face{font-family:"JetBrains Mono";font-style:normal;font-weight:100 900;font-display:swap;src:url("/assets/jetbrains-mono-latin-wght-normal-18be452724bf.woff2") format("woff2-variations");}
/* Canonical Graphite tokens for marketing, gate, beta and local workspace.
   Token declarations stay unlayered so legacy unlayered consumers can alias
   them without cascade-layer precedence surprises. Component layers are local. */
:root {
  --keepPrimary: #e0646f;
  --markFace: #8a2630;
  --markRim: #c8323f;
  --ok: #8fcda7;
  --okSoft: #20372b;
  --attention: #edc47e;
  --attentionSoft: #3b3020;
  --seal: #b6a0e3;
  --sealSoft: #30263f;
  --denied: #f08a92;
  --deniedSoft: #40252d;
  --bg: #211d25;
  --surface: #29242d;
  --raise: #322c37;
  --line: #4a4352;
  --line-strong: #8a8292;
  --ink: #efe9ee;
  --muted: #b3adb9;
  --accent: #f08a92;
  --button: var(--keepPrimary);
  --on-button: #1a171e;
  --sky: #9db6e6;
  --mark: var(--markFace);
  --pixel-night: #16131a;
  --ground: #0d0b11;
  --ground-2: #1a1422;
  --glow-blue: rgba(28,44,118,.22);
  --glow-wine: rgba(128,36,74,.18);
  --glow-violet: rgba(75,39,112,.12);
  --display: 'Newsreader', Georgia, serif;
  --text: 'Public Sans', Arial, sans-serif;
  --mono: 'JetBrains Mono', monospace;
  --displayLg: clamp(2rem, 4vw, 3rem);
  --displayMd: 1.75rem;
  --displaySm: 1.25rem;
  --ui: 1rem;
  --body: 1rem;
  --caption: .875rem;
  --type-display: var(--display);
  --type-body: var(--text);
  --type-ui: var(--text);
  --type-code: var(--mono);
  --radius-control: 6px;
  --radius-panel: 8px;
  --radius-chip: 4px;
  --radius-status: 999px;

  --markOff: #3b3f47;
  --sunk: #1a171e;
  --pixelNight: var(--pixel-night);
  --onButton: var(--on-button);
  --focus: var(--sky);
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 24px;
  --space-6: 32px;
  --space-7: 48px;
  --space-8: 64px;
  --shadow-lift-sm: 0 4px 12px rgba(0,0,0,.28);
  --shadow-lift-md: 0 12px 28px rgba(0,0,0,.36);
  --shadow-lift-lg: 0 24px 48px rgba(0,0,0,.45);
  --shadow-toast: 0 8px 32px rgba(0,0,0,.4);
  --shadow-focus: 0 0 0 3px color-mix(in srgb,var(--sky) 70%,transparent);
  --liftSm: var(--shadow-lift-sm);
  --liftMd: var(--shadow-lift-md);
  --liftLg: var(--shadow-lift-lg);
  --duration-fast: 120ms;
  --duration-med: 220ms;
  --duration-slow: 360ms;
  --durationFast: var(--duration-fast);
  --durationMed: var(--duration-med);
  --durationSlow: var(--duration-slow);
  --ease-out: cubic-bezier(.2,.8,.2,1);
  --easeOut: var(--ease-out);
  --ease-settle: cubic-bezier(.22,1,.36,1);
  --ease-exit: cubic-bezier(.4,0,1,1);
  --duration-enter: 280ms;
  --duration-exit: 140ms;
  --edge-light: rgba(255,255,255,.09);
  --shadow-surface: inset 0 1px 0 var(--edge-light), 0 16px 44px rgba(0,0,0,.2);
  /* Derived companions; the authored hex roles above remain canonical. */
  --keepPrimary-oklch: oklch(65.82281% 0.154947 16.9530);
  --bg-oklch: oklch(23.87655% 0.016139 307.7119);
  --surface-oklch: oklch(26.96200% 0.017882 310.0525);
  --raise-oklch: oklch(30.40653% 0.021143 309.6038);
  --ink-oklch: oklch(94.01172% 0.009234 330.9538);
  --muted-oklch: oklch(75.62739% 0.018170 308.1940);
  --ok-oklch: oklch(79.56689% 0.083506 157.0004);
  --attention-oklch: oklch(84.08854% 0.099687 80.1343);
  --seal-oklch: oklch(74.89965% 0.097395 299.1126);
  --denied-oklch: oklch(74.44561% 0.124320 15.5183);
  --sky-oklch: oklch(77.45250% 0.074366 263.2532);
  color-scheme: dark;
}
