/* Hallmark · tokens · theme: custom (vibe: "friendly school library, navy + brand blue + gold")
 * paper oklch(97% 0.012 90) · accent oklch(66% 0.17 245) brand blue · action oklch(83% 0.15 85) gold
 * display + body: Plus Jakarta Sans · labels: JetBrains Mono
 * axes: light / rounded-sans / cool (blue) with warm action
 * light blue sky: hero + student login panel · deep blue: running text bar + footer
 */
:root {
  /* Paper + ink (neutrals tinted, never pure white or black) */
  --color-paper:   oklch(97% 0.012 90);
  --color-paper-2: oklch(94.5% 0.018 90);
  --color-paper-3: oklch(91.5% 0.022 90);
  --color-card:    oklch(99% 0.006 90);
  --color-ink:     oklch(25% 0.065 255);   /* school navy */
  --color-ink-2:   oklch(42% 0.04 255);
  --color-muted:   oklch(50% 0.03 255);
  --color-rule:    oklch(88% 0.02 90);
  --color-rule-2:  oklch(80% 0.025 90);

  /* Brand */
  --color-accent:      oklch(66% 0.17 245);  /* brand blue #0399ff: marks, progress, highlights on dark */
  --color-accent-deep: oklch(50% 0.15 250);  /* blue that carries light text / link text on paper */
  --color-accent-tint: oklch(93% 0.035 245);
  --color-action:      oklch(83% 0.15 85);   /* gold: the one primary push button */
  --color-action-deep: oklch(64% 0.14 70);
  --color-action-cast: oklch(70% 0.14 80 / 0.4);
  --color-action-tint: oklch(94% 0.05 90);
  --color-pop:         oklch(52% 0.19 25);   /* coral: "new today" only (4.5:1 on paper and under light text) */
  --color-on-dark:     oklch(97% 0.01 250);
  --color-on-dark-2:   oklch(80% 0.03 250);
  --color-night:       oklch(21% 0.055 255); /* teacher login panel */
  --color-sky:         oklch(93% 0.035 240); /* hero + student login panel */
  --color-sky-2:       oklch(89% 0.045 240); /* role switch on sky */
  --color-sky-rule:    oklch(84% 0.045 240);
  --color-deep:        oklch(38% 0.12 252);  /* deep blue: running text bar + footer */
  --color-on-deep-2:   oklch(86% 0.04 245);  /* secondary text on deep blue */
  --color-focus:       oklch(50% 0.15 250);
  --color-focus-dark:  oklch(85% 0.14 85);
  --color-scrim:       oklch(20% 0.05 255 / 0.45);
  --color-shadow:      oklch(25% 0.065 255 / 0.14);
  --color-error:       oklch(50% 0.18 25);   /* 4.5:1 on paper + card */
  --color-error-tint:  oklch(95% 0.03 25);
  --color-success:     oklch(48% 0.11 160);

  /* Owl mascot (read by mascot.js, so the 3D owl uses the same system) */
  --color-owl-body:  oklch(52% 0.14 250);   /* brand blue, deeper */
  --color-owl-wing:  oklch(34% 0.09 255);
  --color-owl-belly: oklch(95% 0.03 85);
  --color-owl-face:  oklch(90% 0.05 85);
  --color-branch:    oklch(46% 0.06 60);    /* the mini owl's perch */
  --color-leaf:      oklch(58% 0.12 145);
  --color-leaf-2:    oklch(70% 0.13 132);

  /* Chart series (teacher dashboard; validated for colour-blind separation + 3:1 on card) */
  --color-series-1:      oklch(50% 0.15 250);  /* opened */
  --color-series-1-tint: oklch(50% 0.15 250 / 0.07);
  --color-series-2:      oklch(64% 0.14 70);   /* watched to the end */

  /* Subjects: one colour each */
  --color-math:     oklch(52% 0.15 250);
  --color-math-ink: oklch(97% 0.01 250);
  --color-eng:      oklch(83% 0.15 85);
  --color-eng-ink:  oklch(25% 0.065 255);
  --color-sci:      oklch(74% 0.1 195);    /* light teal, dark text */
  --color-sci-ink:  oklch(25% 0.065 255);

  /* Type */
  --font-body: "Plus Jakarta Sans", system-ui, sans-serif;
  --font-mono: "JetBrains Mono", ui-monospace, monospace;
  --text-xs: 0.75rem;
  --text-sm: 0.875rem;
  --text-md: 1rem;
  --text-lg: 1.25rem;
  --text-2xl: clamp(1.5rem, 1.2rem + 1.2vw, 2rem);
  --text-display: clamp(2.25rem, 1.4rem + 3.6vw, 4rem);

  /* Space (4px scale) */
  --space-3xs: 4px;  --space-2xs: 8px;  --space-xs: 12px; --space-sm: 16px;
  --space-md: 24px;  --space-lg: 32px;  --space-xl: 48px; --space-2xl: 64px;
  --space-3xl: 96px;

  /* Shape + motion */
  --radius-card: 18px;
  --radius-thumb: 12px;
  --radius-input: 12px;
  --radius-pill: 999px;
  --ease-out: cubic-bezier(0.2, 0.7, 0.3, 1);
  --ease-in-out: cubic-bezier(0.65, 0, 0.35, 1);
  --dur-fast: 140ms;
  --dur-med: 220ms;

  --shell: 1200px;
  --gutter: 16px;
  --nav-h: 68px;
  --ticker-h: 40px;
}
