/* ===== Study Compass typography system (30 Sep 2026) =====
   One family everywhere: Inter (variable, self-hosted in /fonts, SIL Open Font License).
   Loaded FIRST on every page (home, setup, app, admin). Every other stylesheet takes
   its families, sizes, weights, line heights and tracking from these tokens.
   See TYPOGRAPHY.md for the scale and the rules. */

/* Inter, latin + latin-ext, variable weight 100-900. swap + a metric-matched fallback = no layout jump. */
@font-face{font-family:"Inter";font-style:normal;font-weight:100 900;font-display:swap;
  src:url(../fonts/inter-latin-wght-normal.woff2) format("woff2-variations"),url(../fonts/inter-latin-wght-normal.woff2) format("woff2");
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Inter";font-style:normal;font-weight:100 900;font-display:swap;
  src:url(../fonts/inter-latin-ext-wght-normal.woff2) format("woff2-variations"),url(../fonts/inter-latin-ext-wght-normal.woff2) format("woff2");
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Inter";font-style:italic;font-weight:100 900;font-display:swap;
  src:url(../fonts/inter-latin-wght-italic.woff2) format("woff2-variations"),url(../fonts/inter-latin-wght-italic.woff2) format("woff2");
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
/* Fraunces italic (6 Oct 2026): the accent face for one emphasised phrase per heading (class "acc").
   A static cut of the variable font (weight 500, SOFT 100, opsz 72, latin only, 23 KB, SIL Open Font License). */
@font-face{font-family:"Fraunces";font-style:italic;font-weight:500;font-display:swap;
  src:url(../fonts/fraunces-latin-italic-soft-500.woff2) format("woff2");
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
/* Arial/Helvetica/Arimo resized to Inter's metrics, shown until Inter arrives */
@font-face{font-family:"Inter Fallback";src:local("Arial"),local("ArialMT"),local("Helvetica"),local("Arimo"),local("Liberation Sans");
  size-adjust:107.12%;ascent-override:90.44%;descent-override:22.52%;line-gap-override:0%}

:root{
  /* families */
  --font-sans:"Inter","Inter Fallback",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --font-accent:"Fraunces",Georgia,"Times New Roman",serif; /* emphasis only, never body text, buttons or quiz questions */
  --font-mono:ui-monospace,"SF Mono",Menlo,Consolas,monospace;
  /* legacy names used across the stylesheets: all point at the one family */
  --display:var(--font-sans); --head:var(--font-sans); --body:var(--font-sans);

  /* size scale */
  --fs-display:clamp(36px,3.9vw + 8px,58px); /* marketing hero only */
  --fs-h1:clamp(30px,2.6vw + 12px,44px);
  --fs-h2:clamp(24px,1.6vw + 12px,34px);
  --fs-h3:clamp(20px,.5vw + 16px,24px);
  --fs-h4:18px;
  --fs-xl:20px; --fs-2xl:22px; --fs-3xl:26px;
  --fs-lg:19px;      /* body large, intros */
  --fs-md:17px;      /* marketing body, student UI text */
  --fs-read:18px;    /* student reading: lessons, questions, passages */
  --fs-h2-ui:clamp(22px,1vw + 14px,28px); /* section titles inside the app and dashboards */
  --fs-hero:clamp(34px,3.4vw + 10px,54px);  /* marketing hero headline */
  --fs-body:16px;    /* standard body */
  --fs-sm:15px;      /* secondary text */
  --fs-label:14px;   /* UI labels, buttons (small), chips */
  --fs-meta:13px;    /* supporting / meta */
  --fs-xs:12px;      /* smallest: captions, legends */

  /* weights: used deliberately, not everything bold */
  --fw-regular:400; --fw-medium:500; --fw-semibold:600; --fw-bold:700;
  --fw-display:720; --fw-h1:700; --fw-h2:670; --fw-h3:620;
  --fw-label:560; --fw-button:600; --fw-strong:600;

  /* line heights */
  --lh-display:1.06; --lh-h1:1.1; --lh-h2:1.15; --lh-h3:1.25; --lh-tight:1.3; --lh-ui:1.4; --lh-body:1.55; --lh-read:1.6;

  /* tracking: negative on large type only */
  --ls-display:-.03em; --ls-h1:-.025em; --ls-h2:-.02em; --ls-h3:-.012em; --ls-h4:-.006em; --ls-body:0; --ls-caps:.06em;

  /* Inter options: tail on l and serif on I so l, I and 1 never look alike (maths, usernames) */
  --ff-text:"cv05" 1,"cv08" 1;
}

html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{font-family:var(--font-sans);font-feature-settings:var(--ff-text);font-optical-sizing:auto;
  -webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}
button,input,select,textarea{font-family:inherit;font-feature-settings:inherit}
b,strong{font-weight:var(--fw-strong)}
h1,h2,h3,h4,h5,h6{font-family:var(--font-sans);text-wrap:balance}
h4,h5,h6{font-weight:var(--fw-semibold)}
code,kbd,samp,pre{font-family:var(--font-mono)}

/* numbers that line up: scores, percentages, time, stats, prices */
.num,.tnum,time,.score,.pct,.amount,.timer,.clock,.kpi,.count,[data-num]{font-variant-numeric:tabular-nums}
/* note: Inter's tnum also widens the hyphen, so never set it on running text or whole pages */
.onum{font-variant-numeric:proportional-nums}

/* shared type utilities */
.t-eyebrow{font-size:var(--fs-meta);font-weight:var(--fw-semibold);letter-spacing:var(--ls-caps);text-transform:uppercase}
.t-meta{font-size:var(--fs-meta);font-weight:var(--fw-medium);color:var(--ink-2,var(--muted))}
.t-label{font-size:var(--fs-label);font-weight:var(--fw-label);letter-spacing:0}

/* accent: one italic serif phrase per heading for emphasis (Deb, 6 Oct 2026). Same size as the heading. */
.acc{font-family:var(--font-accent);font-style:italic;font-weight:500;letter-spacing:-.01em;font-feature-settings:normal}
