/* =====================================================================
   Primer · design tokens
   Courses and education. Light is "Day"; dark is "Night study".
   --nib is the one accent (buttons, links, the chosen intake, progress).
   --hi is highlighter yellow, for fills only (the stroke behind the lit words, places left, the fit check's score); text on it is ink. --hi-ink is the yellow as text.
   --alert is only for invalid fields, full intakes and a poor fit.
   ===================================================================== */
:root {
  color-scheme: light;
  --paper: #fafaf7;
  --card: #ffffff;
  --well: #f1f1ec;
  --line: #dfe0d9;
  --ink: #16181d;
  --ink-2: #3b3e46;
  --muted: #5c606b;
  --nib: #263fa3;
  --nib-2: #1c3185;
  --on-nib: #ffffff;
  --nib-soft: #e3e8fb;
  --hi: #ffe14d;
  --hi-soft: #fff6c7;
  --hi-ink: #7a5d00;
  --alert: #b02a1f;
  --focus: #263fa3;
  --shadow-card: 0 1px 2px rgba(22, 24, 29, 0.05), 0 18px 36px -26px rgba(22, 24, 29, 0.35);
  --shadow-lift: 0 30px 60px -30px rgba(22, 24, 29, 0.45);

  --display: "Literata", Georgia, "Times New Roman", serif;
  --body: "Inclusive Sans", system-ui, -apple-system, "Segoe UI", sans-serif;
  --mono: "Roboto Mono", ui-monospace, Menlo, monospace;

  --fs-h1: clamp(42px, 5.6vw, 84px);
  --fs-h2: clamp(30px, 3.5vw, 52px);
  --fs-h3: 21px;
  --fs-lead: clamp(17.5px, 1.35vw, 20.5px);
  --fs-body: 17px;
  --fs-small: 15px;
  --fs-label: 12px;

  --wrap: 1200px;
  --gutter: max(20px, 4vw);
  --s-1: 4px; --s-2: 8px; --s-3: 12px; --s-4: 16px; --s-5: 24px; --s-6: 40px; --s-7: 64px; --s-8: 104px;

  --r-s: 8px;
  --r-m: 12px;
  --r-l: 20px;
  --r-pill: 999px;

  --ease: cubic-bezier(0.2, 0.8, 0.2, 1);
  --snap: cubic-bezier(0.34, 1.56, 0.64, 1);
  --d-fast: 150ms;
  --d: 300ms;
  --d-slow: 900ms;
}

/* ---------- Night study ---------- */
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    color-scheme: dark;
    --paper: #101217;
    --card: #1a1d23;
    --well: #15171c;
    --line: #2d313a;
    --ink: #eceef3;
    --ink-2: #d0d3da;
    --muted: #9ea3ae;
    --nib: #9db0ff;
    --nib-2: #bfcbff;
    --on-nib: #0d1640;
    --nib-soft: #1b2140;
    --hi: #ffe46b;
    --hi-soft: #2b2611;
    --hi-ink: #ffe46b;
    --alert: #ff978c;
    --focus: #9db0ff;
    --shadow-card: 0 1px 0 rgba(255, 255, 255, 0.03) inset, 0 16px 34px -20px rgba(0, 0, 0, 0.85);
    --shadow-lift: 0 30px 60px -26px rgba(0, 0, 0, 0.9);
  }
}
:root[data-theme="dark"] {
  color-scheme: dark;
  --paper: #101217;
  --card: #1a1d23;
  --well: #15171c;
  --line: #2d313a;
  --ink: #eceef3;
  --ink-2: #d0d3da;
  --muted: #9ea3ae;
  --nib: #9db0ff;
  --nib-2: #bfcbff;
  --on-nib: #0d1640;
  --nib-soft: #1b2140;
  --hi: #ffe46b;
  --hi-soft: #2b2611;
  --hi-ink: #ffe46b;
  --alert: #ff978c;
  --focus: #9db0ff;
  --shadow-card: 0 1px 0 rgba(255, 255, 255, 0.03) inset, 0 16px 34px -20px rgba(0, 0, 0, 0.85);
  --shadow-lift: 0 30px 60px -26px rgba(0, 0, 0, 0.9);
}
