/* ═══════════════════════════════════════════════════════════════════════
   HostPitCrew — shared design tokens
   ═══════════════════════════════════════════════════════════════════════

   Single source of truth for the brand tokens (CLAUDE.md: dark/gold,
   Bebas Neue / Playfair Display / DM Sans / DM Mono). Every page links
   this BEFORE its own <style> block, so page-specific rules still win —
   this file provides variables and the base reset, never components.

   Before this existed each page carried its own :root block and they had
   drifted: eight distinct token blocks across fourteen pages, with
   --muted rendering as #9a958c on the claim page and #888 everywhere
   else, and the admin/login pages missing the Arial Narrow / Georgia /
   Courier New fallbacks that keep the type sane when a webfont fails.

   Component primitives (.btn, .topbar, .wrap, .card …) are deliberately
   NOT here yet. They have genuinely diverged — .btn alone has nine
   distinct definitions — so collapsing them is a separate, visual change
   that needs to be made page by page.
   ═══════════════════════════════════════════════════════════════════════ */

:root {
  /* Ground + surfaces */
  --bg: #0a0a0a;
  --bg2: #111;
  --bg3: #1a1a1a;

  /* Type */
  --text: #F0EDE6;
  --muted: #888;
  --muted2: #555;

  /* Lines */
  --border: rgba(201,168,76,0.2);
  --border2: rgba(255,255,255,0.06);

  /* Accent + semantic */
  --gold: #C9A84C;
  --gold-light: #E8C96A;
  --green: #4CAF7A;
  --red: #E05555;

  /* Typefaces — always keep the fallback stack; Google Fonts can fail. */
  --font-display: 'Bebas Neue','Arial Narrow',sans-serif;
  --font-serif: 'Playfair Display',Georgia,serif;
  --font-body: 'DM Sans',system-ui,-apple-system,Arial,sans-serif;
  --font-mono: 'DM Mono','Courier New',monospace;

  /* Short aliases used by claim.html. Kept so the two spellings can
     never drift apart again. */
  --fd: var(--font-display);
  --fb: var(--font-body);
  --fm: var(--font-mono);
}

/* Base reset — identical on every page that had it. */
* { box-sizing: border-box; }
html, body { margin: 0; padding: 0; }

/* A host whose car just broke down does not need our transitions.
   Previously only eight of fourteen pages honoured this. */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    transition-duration: 0.01ms !important;
  }
}
