/* ==========================================================================
   IC7 GAME — DESIGN TOKENS
   Red & Black Premium Arcade
   Single source of truth. Never hard-code a colour/space/shadow elsewhere.
   ========================================================================== */

:root {
  /* ---------- Colour: base surfaces ---------- */
  --c-bg: #0a0a0c;
  --c-bg-alt: #0d0d10;
  --c-surface: #161418;
  --c-surface-2: #1c181c;
  --c-surface-3: #241f25;
  --c-line: rgba(255, 255, 255, 0.08);
  --c-line-strong: rgba(255, 255, 255, 0.14);

  /* ---------- Colour: brand accent ---------- */
  --c-red: #e10600;
  --c-red-hot: #ff1a1a;
  --c-red-deep: #7a0000;
  --c-red-ink: #3d0000;

  /* ---------- Colour: text ---------- */
  --c-text: #f5f5f5;
  --c-text-2: #a8a5aa;
  --c-text-muted: #5c585f;

  /* ---------- Colour: status ---------- */
  --c-win: #00d26a;
  --c-gold: #ffc542;

  /* ---------- Gradients ---------- */
  --g-red: linear-gradient(135deg, var(--c-red-hot) 0%, var(--c-red) 45%, var(--c-red-deep) 100%);
  --g-red-soft: linear-gradient(135deg, rgba(225, 6, 0, 0.18), rgba(122, 0, 0, 0.04));
  --g-surface: linear-gradient(160deg, var(--c-surface-2) 0%, var(--c-surface) 100%);
  --g-slash: linear-gradient(105deg, transparent 0%, transparent 38%, rgba(225, 6, 0, 0.12) 38%, rgba(225, 6, 0, 0) 72%);
  --g-fade-b: linear-gradient(180deg, transparent, var(--c-bg));
  --g-text-red: linear-gradient(120deg, #fff 0%, #ffd9d7 35%, var(--c-red-hot) 100%);

  /* ---------- Glow / shadow ---------- */
  --sh-1: 0 2px 8px rgba(0, 0, 0, 0.4);
  --sh-2: 0 8px 24px rgba(0, 0, 0, 0.5);
  --sh-3: 0 18px 50px rgba(0, 0, 0, 0.6);
  --glow-red-sm: 0 0 0 1px rgba(225, 6, 0, 0.35), 0 4px 18px rgba(225, 6, 0, 0.22);
  --glow-red: 0 0 0 1px rgba(225, 6, 0, 0.45), 0 10px 34px rgba(225, 6, 0, 0.3);
  --glow-red-lg: 0 0 0 1px rgba(255, 26, 26, 0.5), 0 18px 60px rgba(225, 6, 0, 0.45);
  --glow-inset: inset 0 1px 0 rgba(255, 255, 255, 0.06);

  /* ---------- Typography ---------- */
  --f-display: "Rajdhani", "Bebas Neue", "Arial Narrow", sans-serif;
  --f-body: "Inter", "DM Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;

  --fs-xs: 0.75rem;
  --fs-sm: 0.875rem;
  --fs-base: 1rem;
  --fs-md: 1.125rem;
  --fs-lg: 1.375rem;
  --fs-xl: clamp(1.5rem, 1.2rem + 1.4vw, 2rem);
  --fs-2xl: clamp(1.9rem, 1.4rem + 2.4vw, 2.75rem);
  --fs-3xl: clamp(2.3rem, 1.5rem + 3.6vw, 3.75rem);
  --fs-hero: clamp(2.6rem, 1.4rem + 5vw, 5rem);

  --lh-tight: 1.05;
  --lh-snug: 1.25;
  --lh-body: 1.65;

  --ls-wide: 0.06em;
  --ls-wider: 0.14em;

  /* ---------- Spacing (8pt-ish scale) ---------- */
  --s-1: 0.25rem;
  --s-2: 0.5rem;
  --s-3: 0.75rem;
  --s-4: 1rem;
  --s-5: 1.5rem;
  --s-6: 2rem;
  --s-7: 3rem;
  --s-8: 4rem;
  --s-9: 6rem;
  --s-10: 8rem;

  --section-y: clamp(3.5rem, 2rem + 6vw, 7rem);
  --gutter: clamp(1rem, 0.5rem + 2vw, 2rem);
  --maxw: 1240px;
  --maxw-narrow: 780px;

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

  /* ---------- Motion ---------- */
  --t-fast: 140ms cubic-bezier(0.4, 0, 0.2, 1);
  --t-base: 260ms cubic-bezier(0.4, 0, 0.2, 1);
  --t-slow: 520ms cubic-bezier(0.16, 1, 0.3, 1);
  --t-spring: 620ms cubic-bezier(0.34, 1.36, 0.64, 1);

  /* ---------- Layering ---------- */
  --z-base: 1;
  --z-raised: 10;
  --z-sticky: 100;
  --z-header: 200;
  --z-drawer: 300;
  --z-modal: 400;
  --z-toast: 500;

  /* ---------- Component sizing ---------- */
  --header-h: 68px;
  --logo-h: 40px;
  /* Hero art is a tall 839x1874 portrait render — cap it so it never dominates */
  --hero-art-w: clamp(210px, 26vw, 310px);
}

@media (min-width: 768px) {
  :root {
    --header-h: 76px;
    --logo-h: 46px;
  }
}
