/* tokens.css — giga.ai measured system, Gnar accent. Every value here is from reference/TOKENS.md /
   JS-RECON.md / measure/*.json. Do not invent values; change here only with a measurement. */
@font-face{font-family:"Geist";src:url(/fonts/geist-sans-400.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Geist";src:url(/fonts/geist-sans-500.woff2) format("woff2");font-weight:500;font-display:swap}
@font-face{font-family:"Geist";src:url(/fonts/geist-sans-600.woff2) format("woff2");font-weight:600;font-display:swap}
@font-face{font-family:"Geist Mono";src:url(/fonts/geist-mono-400.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Geist Pixel Line";src:url(/fonts/geist-pixel-line.woff2) format("woff2");font-weight:400;font-display:block}

:root{
  /* palette — giga dark system */
  --bg:#0f0d0d; --fg:#fff; --surface:#0f0f0f; --surface-raised:#1b1b1b; --surface-elevated:#232223;
  --muted:#121212; --muted-fg:#a8a8a8; --border:rgba(255,255,255,.08); --input:rgba(255,255,255,.05);
  --footer-surface:#000; --primary:#fff; --primary-fg:#000; --cell:#1b1c20;
  /* accent — GNAR orange replaces giga #ef5a00 */
  --accent:#fa5539; --accent-ink:#181b22; --pulse-accent:rgba(250,85,57,.5); --ring:var(--accent);
  --selection-bg:rgba(250,85,57,.28);
  /* diegetic chart colours (giga's, kept) */
  --teal:#0d9b8a; --teal-bright:#00c8a0; --amber:#d4920a; --amber-bright:#e8a317; --amber-deep:#ab6400;
  --red:#dd4425; --guide:#bababa; --violet:#6640ff;
  /* type */
  --font-sans:"Geist",ui-sans-serif,system-ui,sans-serif; --font-geist:var(--font-sans);
  --font-mono:"Geist Mono",ui-monospace,monospace; --font-pixel:"Geist Pixel Line",ui-monospace,monospace;
  --font-display:var(--font-pixel);
  --text-hero:clamp(3.5rem,5.5vw,5rem); --text-headline:clamp(2.75rem,3.8vw,3rem); --text-eyebrow:.6875rem;
  --tracking-display:-.03em; --tracking-headline:-.02em; --tracking-eyebrow:.00625rem;
  /* containers */
  --container-nav:2000px; --container-hero:1400px; --container-page:1240px; --container-section:1600px; --container-canvas:1352px;
  --pad-x:32px; --design-w:1728px; --grid:#17181a;
  /* radii */
  --radius-chip:6px; --radius-image:6px; --radius-menu:10px; --radius-full:9999px;
  /* chrome */
  --announcement-h:32px; --header-h:54px; --header-top-gap:1.25rem; --announcement-banner-shift:32px; --announcement-banner-height:32px;
  --chrome-offset:calc(var(--header-top-gap) + var(--announcement-banner-shift) + var(--header-h));
  /* motion */
  --ease:cubic-bezier(.16,1,.3,1); --ease-std:cubic-bezier(.4,0,.2,1); --ease-wipe:cubic-bezier(.22,1,.32,1);
  --ease-letter:cubic-bezier(.22,1,.36,1); --ease-overshoot:cubic-bezier(.22,1.4,.36,1); --ease-inout:cubic-bezier(.65,0,.35,1);
  /* z */
  --z-announce:55; --z-header:50; --z-menu:40; --z-scrim:30; --z-pill:15; --z-modal:200;
  /* grain */
  --grain-tile:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)'/%3E%3C/svg%3E");
}
/* giga: --pad-x 32 / 24 (compact) / 20 (<=480) — RUNTIME-RECON §BUILD ORDER 2 */
html[data-home-layout=compact]{--pad-x:24px}
@media (max-width:480px){html[data-home-layout=compact]{--pad-x:20px}}
