/* =========================================================================
   LiveCrash v2 — Design Tokens
   See brief §2 (LIVEGAMES Shared Brand System). This file implements the
   two-block contract from §2.4: SHARED chassis (identical in LiveRoll &
   LiveCrash, per CEO override 2026-05-15) + PER-GAME accent fork (cyan).
   ========================================================================= */

/* === LIVEGAMES SHARED CHASSIS — identical in both apps, do not fork (override per brief §2.1) === */
:root {
  /* — Base surface palette (§2.2-E, LOCKED) — */
  --bg:           #0a0d10;   /* page base / app bg */
  --bg-edge:      #050709;   /* deepest edge / behind shell (desktop letterbox) */
  --surface:      #11161b;   /* card / panel surface */
  --surface-hi:   #1a2129;   /* elevated surface / hover */
  --surface-on:   rgba(255, 255, 255, 0.025);   /* internal cell tint */
  --border:       rgba(255, 255, 255, 0.08);
  --border-hi:    rgba(255, 255, 255, 0.14);

  /* — Ink — */
  --text:         #e8eef5;
  --text-strong:  #ffffff;
  --dim:          #6b7785;
  --dimmer:       #4a5560;

  /* — Geometry (§2.2-B, LOCKED, grounded in shipped play-multi.html + feed.css) — */
  --radius-card:  10px;       /* feed card */
  --radius-md:    8px;
  --radius-sm:    6px;        /* pills, chips, add-btn */
  --radius-sheet: 16px;       /* bottom sheet top corners */
  --tap:          44px;       /* min tap target / collapsed-strip min-height */

  --strip-h:      52px;       /* jump strip height */
  --pill-h:       36px;
  --add-btn:      28px;       /* + button square */
  --feed-gap:     10px;       /* inter-card vertical gap */
  --feed-pad:     8px;        /* feed side padding */
  --shell-mobile: 480px;
  --shell-desk:   460px;

  /* — Elevation — */
  --shadow-card:    0 8px 24px rgba(0,0,0,0.40);
  --shadow-modal:   0 24px 64px rgba(0,0,0,0.70);
  --shadow-hero:    0 0 24px rgba(61,240,211,0.30);   /* hero glow tinted by accent */

  /* — Motion (§2.2-C, LOCKED) — */
  --t-instant:  80ms;
  --t-fast:     150ms;
  --t-std:      200ms;        /* card / pill / caret transitions */
  --t-slow:     300ms;
  --t-reveal:   280ms;        /* expanded body fade-in */
  --ease-out:   cubic-bezier(0.2, 0.8, 0.2, 1);
  --ease-snap:  cubic-bezier(0.16, 1, 0.3, 1);

  /* — Type (§2.2-D, LOCKED) — */
  --font-display: "Barlow Condensed", "Helvetica Neue", sans-serif;
  --font-mono:    "JetBrains Mono", "SF Mono", ui-monospace, monospace;
  --font-body:    "Inter", "Helvetica Neue", system-ui, sans-serif;

  /* Tabular numeric default for all data */
  --num-feat:     tabular-nums;
}

/* === PER-GAME ACCENT — the only fork (§2.3). LiveCrash = electric cyan/mint === */
:root {
  --accent:           #3df0d3;   /* primary action / live / climbing / win */
  --accent-rgb:       61, 240, 211;
  --accent-hot:       #ff4d6d;   /* crash / loss */
  --accent-hot-rgb:   255, 77, 109;
  --accent-jackpot:   #ffd84a;   /* HR / 3B / 10x+ */
  --accent-jackpot-rgb: 255, 216, 74;
  --accent-info:      #5fa8ff;
  --accent-info-rgb:  95, 168, 255;

  /* Convenience tints derived from accent */
  --accent-tint-bg:   rgba(61, 240, 211, 0.10);
  --accent-tint-bd:   rgba(61, 240, 211, 0.45);
  --accent-glow:      rgba(61, 240, 211, 0.40);
  --accent-wash:      rgba(61, 240, 211, 0.05);
}

/* Global numeric default — every numeric reads tabular */
.num, .mono, [data-mono] {
  font-family: var(--font-mono);
  font-variant-numeric: var(--num-feat);
  letter-spacing: -0.01em;
}
