/* Throat Pipes webfonts — Google Fonts substitutions (see readme.md → Fonts).
   No brand font files were provided; these are the nearest-match stand-ins:
   - DM Serif Display  → heritage / Scotch-Roman display serif (wordmark, records)
   - Oswald            → condensed sport display (stats, leaderboards, UI headings)
   - Hanken Grotesk    → body & UI sans
   - Space Mono        → timers / durations */
@import url('https://fonts.googleapis.com/css2?family=DM+Serif+Display:ital@0;1&family=Oswald:wght@400;500;600;700&family=Hanken+Grotesk:ital,wght@0,400;0,500;0,600;0,700;0,800;1,400&family=Space+Mono:wght@400;700&display=swap');
:root{
  /* ============ BASE PALETTE — MacDougall tartan ============ */

  /* Pine green — the heritage primary (tartan ground) */
  --green-900:#0C3320;
  --green-800:#123f28;
  --green-700:#175034;
  --green-600:#1e6743;
  --green-500:#2a825a;
  --green-300:#7db79b;
  --green-100:#d5e8de;

  /* Royal navy — the tartan's cool overcheck */
  --navy-900:#0e2038;
  --navy-800:#132b4a;
  --navy-700:#1c3d63;
  --navy-600:#27527f;
  --navy-300:#8fa9c4;
  --navy-100:#dbe4ee;

  /* Tartan red — the overstripe / energy accent */
  --red-800:#7f1620;
  --red-700:#a51f2b;
  --red-600:#c02a37;
  --red-500:#d84450;
  --red-100:#f6dcdd;

  /* Brass / gold — pipe fittings, records & achievement */
  --brass-800:#8a6516;
  --brass-600:#b98a2c;
  --brass-500:#cf9f3d;
  --brass-400:#e0b85c;
  --brass-200:#f0dca6;

  /* Parchment / cream — warm neutral surfaces */
  --cream-50:#faf6ec;
  --cream-100:#f4ecda;
  --cream-200:#e8dcc2;
  --cream-300:#d8c8a6;

  /* Ink — warm near-black + warm greys */
  --ink-900:#161310;
  --ink-800:#241f19;
  --ink-700:#3b342b;
  --ink-500:#6b6154;
  --ink-400:#948a7b;
  --ink-300:#c2b9a9;
  --white:#ffffff;

  /* ============ SEMANTIC ALIASES ============ */
  --brand-primary:var(--green-700);
  --brand-primary-hover:var(--green-800);
  --brand-primary-active:var(--green-900);
  --brand-secondary:var(--navy-700);
  --brand-accent:var(--red-700);
  --brand-gold:var(--brass-500);

  /* Text */
  --text-strong:var(--ink-900);
  --text-body:var(--ink-800);
  --text-muted:var(--ink-500);
  --text-faint:var(--ink-400);
  --text-on-dark:var(--cream-50);
  --text-on-dark-muted:#c8d2c9;
  --text-inverse:var(--white);
  --text-link:var(--green-700);
  --text-link-hover:var(--green-900);

  /* Surfaces */
  --surface-page:var(--cream-100);
  --surface-card:var(--cream-50);
  --surface-raised:var(--white);
  --surface-sunken:var(--cream-200);
  --surface-dark:var(--green-900);
  --surface-dark-2:var(--navy-900);

  /* Lines & borders */
  --border-subtle:var(--cream-300);
  --border-default:var(--ink-300);
  --border-strong:var(--ink-700);
  --border-onDark:rgba(244,236,218,.16);

  /* Status */
  --success:var(--green-600);
  --warning:var(--brass-600);
  --danger:var(--red-600);
  --info:var(--navy-600);

  /* Focus ring */
  --focus-ring:var(--brass-400);
}
:root{
  /* ============ FONT FAMILIES ============ */
  /* Heritage / Scotch-Roman display serif — wordmark, record numbers, editorial */
  --font-serif:"DM Serif Display",Georgia,"Times New Roman",serif;
  /* Condensed sport display — headings, stats, leaderboards, badges */
  --font-display:"Oswald","Arial Narrow",sans-serif;
  /* Body & UI */
  --font-sans:"Hanken Grotesk",system-ui,-apple-system,"Segoe UI",sans-serif;
  /* Timers, durations, counts */
  --font-mono:"Space Mono","SFMono-Regular",ui-monospace,monospace;

  /* ============ TYPE SCALE (rem @16px base) ============ */
  --text-xs:0.75rem;    /* 12 */
  --text-sm:0.875rem;   /* 14 */
  --text-base:1rem;     /* 16 */
  --text-md:1.125rem;   /* 18 */
  --text-lg:1.375rem;   /* 22 */
  --text-xl:1.75rem;    /* 28 */
  --text-2xl:2.25rem;   /* 36 */
  --text-3xl:3rem;      /* 48 */
  --text-4xl:4rem;      /* 64 */
  --text-5xl:5.5rem;    /* 88 */

  /* ============ WEIGHTS ============ */
  --fw-regular:400;   /* @kind font */
  --fw-medium:500;    /* @kind font */
  --fw-semibold:600;  /* @kind font */
  --fw-bold:700;      /* @kind font */
  --fw-extrabold:800; /* @kind font */

  /* ============ LINE HEIGHTS ============ */
  --lh-tight:1.02;    /* @kind font */
  --lh-snug:1.15;     /* @kind font */
  --lh-normal:1.5;    /* @kind font */
  --lh-relaxed:1.65;  /* @kind font */

  /* ============ TRACKING ============ */
  --track-tight:-0.02em;  /* @kind font */
  --track-normal:0;       /* @kind font */
  --track-wide:0.04em;    /* @kind font */
  --track-caps:0.12em;    /* @kind font */
}
:root{
  /* ============ SPACING — 4px base ============ */
  --space-0:0;
  --space-1:0.25rem;  /* 4 */
  --space-2:0.5rem;   /* 8 */
  --space-3:0.75rem;  /* 12 */
  --space-4:1rem;     /* 16 */
  --space-5:1.5rem;   /* 24 */
  --space-6:2rem;     /* 32 */
  --space-7:3rem;     /* 48 */
  --space-8:4rem;     /* 64 */
  --space-9:6rem;     /* 96 */

  /* ============ CONTAINERS ============ */
  --container-feed:640px;    /* @kind spacing */
  --container-content:960px; /* @kind spacing */
  --container-wide:1200px;   /* @kind spacing */

  /* ============ Z-INDEX ============ */
  --z-base:0;        /* @kind other */
  --z-sticky:100;    /* @kind other */
  --z-overlay:800;   /* @kind other */
  --z-modal:900;     /* @kind other */
  --z-toast:1000;    /* @kind other */
}
:root{
  /* ============ RADII ============ */
  --radius-xs:4px;
  --radius-sm:8px;
  --radius-md:12px;
  --radius-lg:18px;
  --radius-xl:26px;
  --radius-pill:999px;

  /* ============ BORDERS ============ */
  --border-w:1.5px; /* @kind other */
  --border-w-thick:2.5px; /* @kind other */

  /* ============ SHADOWS — warm, low, grounded ============ */
  --shadow-sm:0 1px 2px rgba(22,19,16,.08);
  --shadow-md:0 4px 14px rgba(22,19,16,.10);
  --shadow-lg:0 12px 34px rgba(22,19,16,.16);
  --shadow-pop:0 18px 50px rgba(12,51,32,.28);
  /* Brass ring used on records / featured cards */
  --ring-gold:0 0 0 var(--border-w-thick) var(--brass-500);
  --ring-focus:0 0 0 3px rgba(224,184,92,.55);

  /* ============ MOTION ============ */
  --ease-out:cubic-bezier(.2,.7,.3,1);        /* @kind other */
  --ease-spring:cubic-bezier(.34,1.4,.5,1);   /* @kind other */
  --dur-fast:120ms;   /* @kind other */
  --dur-base:200ms;   /* @kind other */
  --dur-slow:340ms;   /* @kind other */

  /* ============ TARTAN TEXTURE ============ */
  /* A subtle MacDougall-style plaid, usable as background-image on dark heros.
     Uses semi-transparent overstripes so it reads as texture, not pattern. */
  --tartan-macdougall:
    repeating-linear-gradient(90deg,transparent 0 46px,rgba(207,159,61,.10) 46px 48px,transparent 48px 52px,rgba(216,68,80,.12) 52px 53px,transparent 53px 96px),
    repeating-linear-gradient(0deg,transparent 0 46px,rgba(207,159,61,.10) 46px 48px,transparent 48px 52px,rgba(216,68,80,.12) 52px 53px,transparent 53px 96px),
    repeating-linear-gradient(90deg,rgba(28,61,99,.30) 0 24px,rgba(18,63,40,.34) 24px 48px),
    repeating-linear-gradient(0deg,rgba(28,61,99,.22) 0 24px,rgba(18,63,40,.26) 24px 48px); /* @kind other */
}
