/* Jeanious design tokens: the one place for fonts, colours, type sizes, radii and
   shadows. Pages load this first and use the variables instead of raw values. */
@font-face{font-family:'DM Sans';font-style:normal;font-weight:300 800;font-display:swap;src:url(fonts/dm-sans-latin.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:'DM Sans';font-style:normal;font-weight:300 800;font-display:swap;src:url(fonts/dm-sans-latin-ext.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:'DM Sans';font-style:italic;font-weight:400 600;font-display:swap;src:url(fonts/dm-sans-italic-latin.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:'DM Sans';font-style:italic;font-weight:400 600;font-display:swap;src:url(fonts/dm-sans-italic-latin-ext.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:Outfit;font-style:normal;font-weight:400 700;font-display:swap;src:url(fonts/outfit-latin.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:Outfit;font-style:normal;font-weight:400 700;font-display:swap;src:url(fonts/outfit-latin-ext.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}

:root{
  --font-sans:'DM Sans',ui-sans-serif,system-ui,-apple-system,'Segoe UI',sans-serif;
  --font-display:Outfit,'DM Sans',ui-sans-serif,system-ui,sans-serif;
  --font-mono:ui-monospace,'SF Mono',Menlo,Consolas,monospace;

  /* Warm neutrals, matching the public site's cream page. */
  --bg:#f7f5f0;
  --surface:#fff;
  --surface-2:#fbfaf7;
  --surface-3:#f3f0ea;
  --line-soft:#efebe4;
  --line:#e6e1d8;
  --line-strong:#d3ccc0;
  --text:#242237;
  --text-2:#45404f;
  --text-muted:#625d6e;
  --text-subtle:#6f6a7a;
  --text-faint:#a29dab;
  --ink:#272439;

  --accent-50:#f6f4fd;
  --accent-100:#eeeafa;
  --accent-200:#ddd5f6;
  --accent-300:#bfb2ee;
  --accent-400:#8f7be0;
  --accent:#6b55cf;
  --accent-600:#5741ba;
  --accent-700:#45309c;
  /* Background of a hovered accent button; stays dark enough for white text in both themes. */
  --accent-hover:#5741ba;
  --peach:#e9a888;

  --ok:#3d7356;--ok-bg:#eaf5ee;--ok-line:#cce5d6;--ok-strong:#5f9e7c;
  --warn:#8a5f1f;--warn-bg:#fbf2e3;--warn-line:#f0dbb6;--warn-strong:#d9a253;
  --bad:#9b4339;--bad-bg:#fdefec;--bad-line:#f3d0ca;--bad-strong:#d4705f;
  --teal:#4e9690;--teal-bg:#e6f2f1;
  /* Fills for meters and chart marks: at least 3:1 against white. */
  --warn-mark:#b7791d;--bad-mark:#c8553f;

  /* Type scale. Nothing smaller than --fs-2xs. */
  --fs-2xs:11px;
  --fs-xs:12px;
  --fs-sm:13px;
  --fs-base:14px;
  --fs-md:16px;
  --fs-lg:18px;
  --fs-xl:22px;
  --fs-2xl:28px;
  --fs-3xl:36px;

  --r-xs:4px;
  --r-sm:8px;
  --r-md:12px;
  --r-lg:16px;
  --r-xl:22px;
  --r-pill:999px;

  --shadow-xs:0 1px 2px rgb(36 34 55 / 4%);
  --shadow-sm:0 1px 3px rgb(36 34 55 / 6%),0 1px 2px rgb(36 34 55 / 4%);
  --shadow-md:0 12px 30px rgb(45 37 65 / 8%);
  --shadow-lg:0 24px 70px rgb(40 33 67 / 18%);
  --focus-ring:0 0 0 3px color-mix(in srgb,var(--accent) 30%,transparent);

  font-family:var(--font-sans);
  color:var(--text);
  background:var(--bg);
  font-synthesis:none;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  text-rendering:optimizeLegibility;
}
::selection{background:var(--accent-200);color:var(--text)}
