/*
 * HTSA design tokens — the calm maroon/gold/cream system shared with the
 * Sports Day app and the approved Stage A demo. Single source of truth for
 * colour, type, radius, spacing and shadow.
 */
:root {
  /* Surfaces & background */
  --bg: #f8f2e8;
  --surface: rgba(255, 250, 244, 0.96);
  --surface-2: #f3e8d7;
  --surface-3: #ebdcc5;
  --page-bg:
    radial-gradient(circle at top left, rgba(199, 155, 58, 0.16), transparent 25%),
    radial-gradient(circle at top right, rgba(123, 30, 43, 0.10), transparent 24%),
    linear-gradient(180deg, #fbf8f1 0%, #f3e9db 100%);

  /* Brand */
  --maroon: #7b1e2b;
  --maroon-deep: #5d1420;
  --gold: #c79b3a;
  --gold-soft: #efdba9;
  --sage: #52695a;

  /* Status accents */
  --red: #b3303a;
  --green: #3f7d52;
  --blue: #2f6db0;

  /* Text */
  --text: #231b15;
  --muted: #776653;

  /* Lines */
  --line: rgba(120, 88, 52, 0.16);
  --line-strong: rgba(120, 88, 52, 0.26);

  /* Washes */
  --maroon-wash: rgba(123, 30, 43, 0.08);
  --gold-wash: rgba(199, 155, 58, 0.14);
  --nav-active: linear-gradient(135deg, rgba(123, 30, 43, 0.12), rgba(199, 155, 58, 0.14));

  /* Gradients */
  --grad-maroon: linear-gradient(135deg, var(--maroon), var(--maroon-deep));
  --grad-brand: linear-gradient(135deg, var(--maroon), var(--gold));

  /* Radius */
  --radius-xl: 30px;
  --radius-lg: 22px;
  --radius-md: 16px;
  --radius-sm: 12px;
  --radius-pill: 999px;

  /* Shadows */
  --shadow: 0 20px 60px rgba(67, 42, 17, 0.12);
  --shadow-sm: 0 10px 30px rgba(67, 42, 17, 0.08);

  /* Spacing */
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 20px;
  --space-6: 24px;
  --space-7: 28px;
  --space-8: 36px;

  /* Type */
  --font-sans: Inter, system-ui, -apple-system, "Segoe UI", sans-serif;
  --font-serif: "Playfair Display", Georgia, serif;
  --fs-display: clamp(1.9rem, 1.5rem + 1.6vw, 2.9rem);
  --fs-title: 28px;
  --fs-h4: 20px;
  --fs-body: 16px;
  --fs-sm: 14px;
  --fs-xs: 12px;

  /* Layout */
  --sidebar-w: 268px;
  --content-max: 1320px;
  --tap: 44px;
}
