/* ==========================================================================
   ic7 game — Design Tokens
   Single source of truth for colour, type, spacing, radius, shadow, z-index.
   ========================================================================== */

:root {
  /* ---------- Colour: surfaces ---------- */
  --color-black: #0a0a0a;
  --color-surface: #121212;
  --color-surface-2: #171717;
  --color-surface-3: #1e1e1e;
  --color-elevated: #232323;

  /* Glass */
  --glass-bg: rgba(255, 255, 255, 0.04);
  --glass-bg-strong: rgba(255, 255, 255, 0.07);
  --glass-border: rgba(255, 255, 255, 0.09);
  --glass-border-strong: rgba(255, 255, 255, 0.16);

  /* ---------- Colour: brand ---------- */
  --color-red: #e10600;
  --color-red-deep: #b00000;
  --color-red-bright: #ff2b1f;
  --color-red-soft: rgba(225, 6, 0, 0.14);
  --color-red-line: rgba(225, 6, 0, 0.38);

  /* ---------- Colour: text ---------- */
  --color-white: #ffffff;
  --color-text: #f5f5f5;
  --color-text-muted: #b5b5b5;
  --color-text-dim: #8a8a8a;

  /* ---------- Colour: utility ---------- */
  --color-gold: #f5c451;
  --color-green: #23c552;
  --color-line: rgba(255, 255, 255, 0.08);

  /* ---------- Gradients ---------- */
  --grad-red: linear-gradient(135deg, var(--color-red-bright) 0%, var(--color-red) 45%, var(--color-red-deep) 100%);
  --grad-surface: linear-gradient(160deg, rgba(255, 255, 255, 0.06) 0%, rgba(255, 255, 255, 0.015) 100%);
  --grad-fade: linear-gradient(180deg, rgba(10, 10, 10, 0) 0%, var(--color-black) 92%);
  --grad-text: linear-gradient(100deg, #ffffff 0%, #ffffff 40%, #ff6a60 75%, var(--color-red) 100%);

  /* ---------- Typography ---------- */
  --font-display: "Orbitron", "Rajdhani", "Segoe UI", sans-serif;
  --font-body: "Inter", "Poppins", "Segoe UI", system-ui, sans-serif;

  --fs-xs: 0.75rem;    /* 12 */
  --fs-sm: 0.875rem;   /* 14 */
  --fs-base: 1rem;     /* 16 */
  --fs-md: 1.0625rem;  /* 17 */
  --fs-lg: 1.25rem;    /* 20 */
  --fs-xl: 1.5rem;     /* 24 */
  --fs-2xl: 1.875rem;  /* 30 */
  --fs-3xl: 2.25rem;   /* 36 */
  --fs-4xl: 2.75rem;   /* 44 */
  --fs-5xl: 3.5rem;    /* 56 */
  --fs-6xl: 4.25rem;   /* 68 */

  --lh-tight: 1.12;
  --lh-snug: 1.3;
  --lh-body: 1.75;

  --tracking-wide: 0.04em;
  --tracking-wider: 0.12em;

  /* ---------- Spacing (4px base scale) ---------- */
  --sp-1: 0.25rem;
  --sp-2: 0.5rem;
  --sp-3: 0.75rem;
  --sp-4: 1rem;
  --sp-5: 1.25rem;
  --sp-6: 1.5rem;
  --sp-8: 2rem;
  --sp-10: 2.5rem;
  --sp-12: 3rem;
  --sp-16: 4rem;
  --sp-20: 5rem;
  --sp-24: 6rem;
  --sp-32: 8rem;

  --section-y: var(--sp-16);
  --container: 1240px;
  --container-narrow: 820px;

  /* ---------- Radius ---------- */
  --radius-sm: 6px;
  --radius-md: 10px;
  --radius-lg: 16px;
  --radius-xl: 24px;
  --radius-pill: 999px;

  /* ---------- Shadow ---------- */
  --shadow-sm: 0 2px 8px rgba(0, 0, 0, 0.4);
  --shadow-md: 0 12px 32px rgba(0, 0, 0, 0.5);
  --shadow-lg: 0 28px 70px rgba(0, 0, 0, 0.62);
  --shadow-glow: 0 0 0 1px var(--color-red-line), 0 8px 30px rgba(225, 6, 0, 0.35);
  --shadow-glow-lg: 0 0 0 1px var(--color-red-line), 0 18px 60px rgba(225, 6, 0, 0.45);
  --shadow-inset: inset 0 1px 0 rgba(255, 255, 255, 0.07);

  /* ---------- Motion ---------- */
  --ease: cubic-bezier(0.22, 1, 0.36, 1);
  --ease-out: cubic-bezier(0.16, 1, 0.3, 1);
  --dur-fast: 160ms;
  --dur: 280ms;
  --dur-slow: 620ms;

  /* ---------- Z-index scale ---------- */
  --z-below: -1;
  --z-base: 1;
  --z-raised: 10;
  --z-sticky: 100;
  --z-header: 500;
  --z-drawer: 800;
  --z-modal: 900;
  --z-toast: 1000;
}

@media (min-width: 768px) {
  :root {
    --section-y: var(--sp-20);
  }
}

@media (min-width: 1200px) {
  :root {
    --section-y: var(--sp-24);
  }
}
