/* ============================================
   HAN INTERACTIVE — Design Tokens
   Premium Dark Atmospheric Aesthetic
   ============================================ */

:root {
  /* ---- Colors ---- */
  --bg-primary: #08080A;
  --bg-secondary: #0F0F12;
  --bg-tertiary: #15151A;
  --bg-card: #15151A;
  --bg-card-hover: #1E1E24;
  --bg-overlay: rgba(8, 8, 10, 0.96);

  --text-primary: #E5E5E5;
  --text-secondary: #8C9099;
  --text-muted: #5a5f6b;
  --text-dim: #3a3f4a;

  --accent: #D64527;
  --accent-hover: #E25E43;
  --accent-muted: rgba(214, 69, 39, 0.15);
  --accent-dim: rgba(214, 69, 39, 0.06);
  --accent-glow: rgba(214, 69, 39, 0.12);

  --accent-secondary: #8C9099;
  --accent-secondary-muted: rgba(140, 144, 153, 0.12);
  --accent-blue: #4F6D8C;

  --accent-critical: #9E2B2B;
  --accent-critical-hover: #C23A3A;
  --accent-critical-muted: rgba(158, 43, 43, 0.15);
  --accent-critical-dim: rgba(158, 43, 43, 0.06);
  --accent-critical-glow: rgba(158, 43, 43, 0.12);

  --border: #22222B;
  --border-light: #2E2E3A;
  --border-accent: rgba(214, 69, 39, 0.25);

  --status-dev: #D64527;
  --status-proto: #4F6D8C;
  --status-early: #2E2E3A;

  /* Gradients */
  --gradient-hero: linear-gradient(135deg, rgba(214, 69, 39, 0.04) 0%, transparent 50%, rgba(79, 109, 140, 0.03) 100%);
  --gradient-card: linear-gradient(145deg, rgba(214, 69, 39, 0.02) 0%, transparent 60%);
  --gradient-section: linear-gradient(180deg, transparent 0%, rgba(214, 69, 39, 0.01) 50%, transparent 100%);

  /* ---- Typography ---- */
  --font-heading: 'Space Grotesk', 'Inter', sans-serif;
  --font-body: 'Inter', 'Helvetica Neue', 'Arial', sans-serif;
  --font-mono: 'IBM Plex Mono', 'Courier New', monospace;

  /* Fluid type scale */
  --text-xs: clamp(0.65rem, 0.6rem + 0.25vw, 0.75rem);
  --text-sm: clamp(0.75rem, 0.7rem + 0.25vw, 0.85rem);
  --text-base: clamp(0.875rem, 0.8rem + 0.35vw, 1rem);
  --text-md: clamp(1rem, 0.9rem + 0.5vw, 1.15rem);
  --text-lg: clamp(1.15rem, 1rem + 0.75vw, 1.5rem);
  --text-xl: clamp(1.5rem, 1.2rem + 1.5vw, 2.25rem);
  --text-2xl: clamp(2rem, 1.5rem + 2.5vw, 3.5rem);
  --text-3xl: clamp(2.5rem, 1.8rem + 3.5vw, 5rem);
  --text-hero: clamp(3rem, 2rem + 5vw, 7rem);

  /* Letter spacing */
  --tracking-tight: -0.02em;
  --tracking-normal: 0;
  --tracking-wide: 0.05em;
  --tracking-wider: 0.1em;
  --tracking-widest: 0.2em;

  /* Line height */
  --leading-tight: 1.05;
  --leading-snug: 1.2;
  --leading-normal: 1.5;
  --leading-relaxed: 1.7;

  /* Font weight */
  --weight-light: 300;
  --weight-normal: 400;
  --weight-medium: 500;
  --weight-semibold: 600;
  --weight-bold: 700;

  /* ---- Spacing ---- */
  --space-xs: 0.25rem;
  --space-sm: 0.5rem;
  --space-md: 1rem;
  --space-lg: 1.5rem;
  --space-xl: 2rem;
  --space-2xl: 3rem;
  --space-3xl: 4.5rem;
  --space-4xl: 6rem;
  --space-5xl: 8rem;
  --space-section: clamp(4rem, 3rem + 5vw, 8rem);

  /* ---- Layout ---- */
  --max-width: 1200px;
  --max-width-narrow: 800px;
  --max-width-wide: 1400px;
  --nav-height: 64px;
  --border-radius-sm: 4px;
  --border-radius-md: 8px;
  --border-radius-lg: 12px;

  /* ---- Transitions ---- */
  --ease-out: cubic-bezier(0.16, 1, 0.3, 1);
  --ease-in-out: cubic-bezier(0.65, 0, 0.35, 1);
  --duration-fast: 150ms;
  --duration-normal: 300ms;
  --duration-slow: 500ms;
  --duration-reveal: 800ms;

  /* ---- Shadows ---- */
  --shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.3);
  --shadow-md: 0 4px 16px rgba(0, 0, 0, 0.35);
  --shadow-lg: 0 8px 40px rgba(0, 0, 0, 0.45);
  --shadow-card: 0 2px 12px rgba(0, 0, 0, 0.3);
  --shadow-card-hover: 0 8px 32px rgba(0, 0, 0, 0.4);
  --shadow-glow: 0 4px 20px rgba(0, 0, 0, 0.4);
  --shadow-glow-strong: 0 8px 32px rgba(0, 0, 0, 0.55);
}
