/* Prime Security booth loop — design tokens (spec §1–2, §5–6). Source: primesec.ai + decks. */
:root {
  /* color */
  --bg: #1A1A1A;
  --surface: #242424;
  --hair: #343434;
  --hair-2: #4D4D4D;
  --ghost: #5E5E5D;
  --label: #7B7B7B;
  --label-2: #939393;
  --body: #B8B8B5;
  --text: #F5F5F0;
  --white: #FFFFFF;
  --yellow: #F9FE2E;
  --threat: #FF3C3C;
  --on-yellow: #1A1A1A;

  /* type families: licensed TT Interphases first, OFL fallbacks second (see fonts.css) */
  --sans: "TT Interphases Pro", "Inter Tight", system-ui, sans-serif;
  --mono: "TT Interphases Pro Mono", "Geist Mono", ui-monospace, monospace;

  /* type scale (1920x1080 stage px) */
  --fs-title: 130px;
  --fs-eyebrow: 22px;
  --fs-tablet: 44px;
  --fs-node: 30px;
  --fs-node-sub: 22px;
  --fs-chip: 26px;
  --fs-pill: 28px;
  --fs-note: 26px;
  --fs-tab: 20px;
  --fs-footer: 16px;
  --fs-tagline: 84px;
  --fs-card: 26px;
  --fs-phase: 22px;
  --fs-cta: 28px;
  --track-mono: .02em;
  --track-wide: .18em;

  /* radii (site scale) */
  --r-chip: 8px;
  --r-node: 16px;
  --r-card: 24px;
  --r-pill: 100px;

  /* glow: one static soft glow per beat, on the active actor only */
  --glow: 0 0 24px rgba(249, 254, 46, .30);

  /* easings (mirrors js/engine.js; CSS never animates — JS drives every frame from t) */
  --ease-ex: cubic-bezier(.16, 1, .3, 1);
  --ease-io: cubic-bezier(.65, 0, .35, 1);
  --ease-rev: cubic-bezier(.625, .05, 0, 1);
  --ease-wipe: cubic-bezier(.76, 0, .24, 1);
  --ease-out: cubic-bezier(.165, .84, .44, 1);
}
