/* ============================================================
   Design Tokens — based on design-system.md
   ============================================================ */

@font-face {
  font-family: "Formular";
  src: url("../assets/fonts/formular-regular.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Formular";
  src: url("../assets/fonts/formular-medium.woff2") format("woff2");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Formular";
  src: url("../assets/fonts/formular-bold.woff2") format("woff2");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

:root {
  /* Brand — Hybrid Race default */
  --rbr-navy: #E10600;
  --rbr-navy-deep: #0A0E1F;
  --rbr-red: #0C8CE9;
  --rbr-yellow: #FFC906;
  --rbr-bull: #E10600;

  /* Neutrals */
  --bg-base: #0A0E1F;
  --bg-surface: #121A3D;
  --bg-elevated: #1A234D;
  --bg-overlay: rgba(0,0,0,0.72);
  --border-subtle: #1A2240;
  --border-strong: #2A335A;

  /* Text */
  --text-primary: #FFFFFF;
  --text-secondary: #C7C9D1;
  --text-muted: #8B8D97;
  --text-disabled: #55575F;

  /* Partners / functional */
  --oracle-red: #C74634;
  --tagheuer-green: #0E6B3E;
  --success: #23C16B;
  --warning: #F5A524;
  --error: #FF4D4D;

  /* Fonts */
  --font-display: "Formular", "Inter", "Helvetica Neue", Arial, sans-serif;
  --font-sans: "Formular", "Inter", "Helvetica Neue", Arial, sans-serif;
  --font-mono: "JetBrains Mono", "SF Mono", monospace;

  /* Type scale (desktop defaults) */
  --fs-display-xl: 6rem;       /* 96px */
  --fs-display-lg: 4.5rem;     /* 72px */
  --fs-display-md: 3.5rem;     /* 56px */
  --fs-h1: 3rem;               /* 48px */
  --fs-h2: 2.25rem;            /* 36px */
  --fs-h3: 1.75rem;            /* 28px */
  --fs-h4: 1.375rem;           /* 22px */
  --fs-h5: 1.125rem;           /* 18px */
  --fs-body-lg: 1.125rem;
  --fs-body: 1rem;
  --fs-body-sm: 0.875rem;
  --fs-caption: 0.75rem;
  --fs-overline: 0.6875rem;

  /* Weights */
  --fw-regular: 400;
  --fw-medium: 500;
  --fw-semibold: 600;
  --fw-bold: 700;
  --fw-black: 800;

  /* Spacing (4px scale) */
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 24px;
  --space-6: 32px;
  --space-7: 40px;
  --space-8: 48px;
  --space-9: 64px;
  --space-10: 80px;
  --space-11: 96px;
  --space-12: 128px;

  /* Radii */
  --radius-sm: 2px;
  --radius-md: 4px;
  --radius-lg: 8px;
  --radius-xl: 16px;
  --radius-pill: 9999px;

  /* Shadows */
  --shadow-sm: 0 1px 2px rgba(0,0,0,0.30);
  --shadow-md: 0 4px 12px rgba(0,0,0,0.40);
  --shadow-lg: 0 12px 32px rgba(0,0,0,0.50);
  --shadow-xl: 0 24px 64px rgba(0,0,0,0.60);
  --shadow-glow: 0 0 24px rgba(12, 140, 233, 0.45);

  /* Motion */
  --motion-fast: 150ms cubic-bezier(0.4, 0, 0.2, 1);
  --motion-base: 240ms cubic-bezier(0.4, 0, 0.2, 1);
  --motion-slow: 400ms cubic-bezier(0.16, 1, 0.3, 1);

  /* Layout */
  --container-max: 1440px;
  --nav-height: 72px;
  --container-pad-x: 48px;

  /* Z-index */
  --z-nav: 500;
  --z-overlay: 800;
  --z-modal: 1000;
}

/* Mobile overrides */
@media (max-width: 767px) {
  :root {
    --fs-display-xl: 4rem;
    --fs-display-lg: 3rem;
    --fs-display-md: 2.25rem;
    --fs-h1: 2rem;
    --fs-h2: 1.625rem;
    --fs-h3: 1.375rem;
    --fs-h4: 1.125rem;
    --fs-h5: 1rem;
    --fs-body-lg: 1.0625rem;
    --fs-body: 0.9375rem;
    --fs-body-sm: 0.8125rem;
    --fs-caption: 0.6875rem;
    --nav-height: 56px;
    --container-pad-x: 20px;
  }
}

@media (min-width: 768px) and (max-width: 1023px) {
  :root {
    --container-pad-x: 32px;
  }
}
