/*
 * Nineteenth Club design tokens: the single source for the landing site and the members' app.
 * (Course Studio is a React/Tailwind build and carries the same palette as literal values.)
 *
 * Palette: deep forest green, bone white, charcoal text (never pure black), a sparing brass accent.
 * Type: Playfair Display for editorial headings, Inter for the interface.
 */
:root {
  /* colour */
  --color-paper: oklch(96.5% 0.012 88);       /* bone white */
  --color-paper-2: oklch(92.5% 0.018 88);
  --color-ink: oklch(27% 0.008 150);          /* charcoal */
  --color-ink-2: oklch(42% 0.01 150);         /* secondary text, 7:1 on paper */
  --color-rule: oklch(84% 0.015 90);
  --color-accent: oklch(32% 0.065 158);       /* deep forest green */
  --color-accent-ink: oklch(97% 0.01 88);
  --color-brass: oklch(68% 0.09 85);          /* ornament only: lines, rings, icons on dark */
  --color-brass-text: oklch(47% 0.09 85);     /* brass as text on paper: passes AA */
  --color-danger: oklch(45% 0.18 25);
  --color-focus: oklch(55% 0.17 250);
  --color-tint: oklch(90% 0.04 155);          /* soft green for selected and positive chips */
  --color-fairway: oklch(82% 0.09 135);
  --color-rough: oklch(90% 0.05 130);
  --color-green: oklch(72% 0.13 145);
  --color-sand: oklch(92% 0.06 88);
  --color-water: oklch(80% 0.07 230);
  --color-line: oklch(32% 0.065 158);
  --color-pin: #1f3a2b;                       /* map markers (forest) */
  --color-pin-alt: #8a6d1f;                   /* map markers (deep brass) */

  /* type */
  --font-display: "Playfair Display", Georgia, serif;
  --font-body: "Inter", system-ui, sans-serif;
  --text-xs: 0.75rem; --text-sm: 0.875rem; --text-base: 1rem; --text-md: 1.0625rem; --text-lg: 1.25rem;
  --text-xl: 1.5rem; --text-2xl: 2rem;
  --text-display-s: clamp(2rem, 4.2vw, 3rem);
  --text-display: clamp(2.4rem, 5.2vw, 4.25rem);

  /* space (4px grid) */
  --space-1: 4px; --space-2: 8px; --space-3: 12px; --space-4: 16px; --space-5: 24px; --space-6: 32px; --space-7: 48px; --space-8: 64px; --space-9: 96px;
  /* kept for older markup */
  --space-xs: 4px; --space-sm: 8px; --space-md: 16px; --space-lg: 32px; --space-xl: 64px; --space-2xl: 112px;

  /* shape */
  --radius-sm: 6px; --radius-md: 12px; --radius-lg: 16px; --radius-pill: 999px;
  --shadow-card: 0 1px 0 oklch(27% 0.008 150 / 0.05);
  --shadow-lift: 0 12px 32px -12px oklch(27% 0.008 150 / 0.35);

  /* controls: two button heights (a larger one for touch) and one input height */
  --control-h: 44px; --control-h-sm: 36px;

  /* motion */
  --ease-out: cubic-bezier(0.22, 1, 0.36, 1);
  --dur-fast: 150ms; --dur-base: 240ms;
}

/* Author display rules (form{display:grid}) must never override the hidden attribute. */
[hidden] { display: none !important; }
