/*
 * Heluca webfonts — V2 stack, self-hosted.
 *
 * Derived from @heluca/svelte 0.5.1 tokens/fonts.css, which is Google-hosted
 * and says "swap for local @font-face if self-hosting" — this is that swap.
 * The :root variable block below is verbatim from upstream; only the @import
 * is replaced by local faces (latin subsets, served from this package so no
 * page depends on an external font host). Re-sync the variables whenever the
 * upstream file changes.
 */

@font-face {
    font-family: "Marcellus";
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url("../../../fonts/marcellus-400.woff2") format("woff2");
}

@font-face {
    font-family: "Literata";
    font-style: normal;
    font-weight: 400 700;
    font-display: swap;
    src: url("../../../fonts/literata-variable.woff2") format("woff2");
}

@font-face {
    font-family: "Literata";
    font-style: italic;
    font-weight: 400 600;
    font-display: swap;
    src: url("../../../fonts/literata-italic-variable.woff2") format("woff2");
}

@font-face {
    font-family: "Public Sans";
    font-style: normal;
    font-weight: 400 800;
    font-display: swap;
    src: url("../../../fonts/public-sans-variable.woff2") format("woff2");
}

@font-face {
    font-family: "IBM Plex Sans";
    font-style: normal;
    font-weight: 400 700;
    font-display: swap;
    src: url("../../../fonts/ibm-plex-sans-variable.woff2") format("woff2");
}

@font-face {
    font-family: "JetBrains Mono";
    font-style: normal;
    font-weight: 400 800;
    font-display: swap;
    src: url("../../../fonts/jetbrains-mono-variable.woff2") format("woff2");
}

@font-face {
    font-family: "Atkinson Hyperlegible";
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url("../../../fonts/atkinson-hyperlegible-400.woff2") format("woff2");
}

@font-face {
    font-family: "Atkinson Hyperlegible";
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: url("../../../fonts/atkinson-hyperlegible-700.woff2") format("woff2");
}

@font-face {
    font-family: "Atkinson Hyperlegible";
    font-style: italic;
    font-weight: 400;
    font-display: swap;
    src: url("../../../fonts/atkinson-hyperlegible-italic-400.woff2") format("woff2");
}

@font-face {
    font-family: "Atkinson Hyperlegible";
    font-style: italic;
    font-weight: 700;
    font-display: swap;
    src: url("../../../fonts/atkinson-hyperlegible-italic-700.woff2") format("woff2");
}

:root {
  --font-display: "Marcellus", serif;                             /* titles, product names — 400 only, never below ~22px */
  --font-prose: "Literata", Georgia, serif;                       /* long-form reading, 18–19px min */
  --font-sans: "Public Sans", system-ui, sans-serif;              /* UI chrome: nav, buttons, labels, tables */
  --font-work: "IBM Plex Sans", system-ui, sans-serif;            /* user-authored content: inputs, notes, badges */
  --font-mono: "JetBrains Mono", ui-monospace, Menlo, monospace;  /* data, code, big numbers & metrics */
  --font-a11y: "Atkinson Hyperlegible", sans-serif;               /* opt-in per-user override for --font-sans + --font-work */
}
