/* ============================================================
   BELFRY BASKETBALL — Design tokens
   The single source of truth for colour, type, space and motion.
   Change a value here and it changes everywhere on the site.
   ============================================================ */

:root {
  color-scheme: dark;

  /* ---- Brand -------------------------------------------------
     Belfry red is the identity. It never becomes decoration:
     it marks the team, the home game, the live thing.          */
  --red:            oklch(0.545 0.208 27);
  --red-bright:     oklch(0.640 0.202 28);
  --red-deep:       oklch(0.430 0.168 27);
  --red-ink:        oklch(0.300 0.112 27);
  /* --red-bright on --red-ink measures 3.87:1. Any label on a red ground
     uses this instead. */
  --on-red:         oklch(0.885 0.050 27);
  --red-wash:       oklch(0.545 0.208 27 / 0.14);
  --red-line:       oklch(0.545 0.208 27 / 0.38);

  /* The honours tier. Trophy case only: championships, records,
     the 1,000 Point Club. Never a general-purpose accent.      */
  --gold:           oklch(0.800 0.126 84);
  --gold-deep:      oklch(0.630 0.108 80);
  --gold-line:      oklch(0.800 0.126 84 / 0.34);
  --silver:         oklch(0.850 0.012 250);
  --bronze:         oklch(0.690 0.115 55);

  /* ---- Dark surfaces (the default world) --------------------- */
  --black:          oklch(0.112 0.008 25);
  --surface-1:      oklch(0.165 0.010 25);
  --surface-2:      oklch(0.214 0.011 25);
  --surface-3:      oklch(0.272 0.012 25);
  --hairline:       oklch(1 0 0 / 0.11);
  --hairline-soft:  oklch(1 0 0 / 0.06);

  /* ---- Light surfaces (the daylight bands) -------------------
     A cool near-white carrying a whisper of the brand hue —
     deliberately not a warm cream.                             */
  --paper:          oklch(0.970 0.003 25);
  --paper-2:        oklch(0.936 0.004 25);
  --paper-3:        oklch(0.892 0.005 25);
  --paper-line:     oklch(0.845 0.007 25);

  /* ---- Ink --------------------------------------------------- */
  --on-dark:        oklch(0.980 0.002 25);
  --on-dark-mid:    oklch(0.800 0.006 25);
  --on-dark-dim:    oklch(0.668 0.008 25);
  --on-light:       oklch(0.180 0.010 25);
  --on-light-mid:   oklch(0.412 0.010 25);
  --on-light-dim:   oklch(0.520 0.010 25);

  /* ---- Status ------------------------------------------------ */
  --win:            oklch(0.700 0.150 152);
  --loss:           oklch(0.640 0.180 25);
  --neutral:        oklch(0.720 0.030 250);

  /* ---- Type --------------------------------------------------
     Bicyclette Bold = the program's voice. Headlines, nav,
              buttons, numbers, labels, chips. One weight (700).
     Archivo = the reading voice. Only where real paragraphs are
              set, because a bold-only face cannot carry prose.
     Cinzel appears only inside the trophy case.                */
  --font-display: "Bicyclette", system-ui, sans-serif;
  --font-body:    "Bicyclette", system-ui, -apple-system, "Segoe UI", sans-serif;
  --font-plate:   "Cinzel", "Times New Roman", serif;

  /* Fluid scale, 1.25+ between steps */
  --t-xs:   0.75rem;
  --t-sm:   0.8125rem;
  --t-base: 1rem;
  --t-md:   clamp(1.0625rem, 0.99rem + 0.32vw, 1.1875rem);
  --t-lg:   clamp(1.25rem,  1.16rem + 0.45vw, 1.5rem);
  --t-xl:   clamp(1.6rem,   1.42rem + 0.90vw, 2.15rem);
  --t-2xl:  clamp(1.8rem,   1.55rem + 1.25vw, 2.5rem);
  --t-3xl:  clamp(2.3rem,   1.85rem + 2.20vw, 3.5rem);
  --t-hero: clamp(2.6rem,   1.55rem + 4.60vw, 4.6rem);

  /* ---- Space ------------------------------------------------- */
  --sp-1: 0.25rem;  --sp-2: 0.5rem;   --sp-3: 0.75rem;
  --sp-4: 1rem;     --sp-5: 1.5rem;   --sp-6: 2rem;
  --sp-7: 2.5rem;   --sp-8: 3rem;     --sp-9: 4rem;
  --sp-10: 5rem;
  --band:   clamp(3.5rem, 2.4rem + 4.6vw, 6.5rem);   /* section rhythm */
  --band-t: clamp(2.5rem, 1.8rem + 3.0vw, 4.5rem);   /* tighter rhythm */
  --gutter: clamp(1.15rem, 0.6rem + 2.2vw, 2.75rem);
  --measure: 68ch;
  --maxw: 1400px;
  --maxw-narrow: 1120px;

  /* ---- Edges -------------------------------------------------
     Athletics equipment has hard corners. Keep radii honest.   */
  --r-xs: 2px;
  --r-sm: 3px;
  --r-md: 5px;
  --r-lg: 8px;
  --r-pill: 999px;
  --cut: 14px;                 /* the chamfer used on plates */

  /* ---- Depth ------------------------------------------------- */
  --shadow-plate: 0 1px 0 oklch(1 0 0 / 0.05) inset, 0 6px 18px oklch(0 0 0 / 0.45);
  --shadow-lift:  0 10px 30px oklch(0 0 0 / 0.5);

  /* ---- Layers ------------------------------------------------ */
  --z-base: 0;
  --z-raised: 10;
  --z-sticky: 100;
  --z-drawer-scrim: 900;
  --z-drawer: 1000;
  --z-toast: 1200;

  /* ---- Motion ------------------------------------------------ */
  --ease-out:  cubic-bezier(0.16, 1, 0.30, 1);
  --ease-io:   cubic-bezier(0.65, 0, 0.35, 1);
  --dur-1: 140ms;
  --dur-2: 240ms;
  --dur-3: 420ms;
  --dur-4: 700ms;
}

@media (prefers-reduced-motion: reduce) {
  :root { --dur-1: 1ms; --dur-2: 1ms; --dur-3: 1ms; --dur-4: 1ms; }
}
