/* Self-hosted fonts — no external requests.
   Fonts and the family/size scale are shared with schmeeviVerse. */

@font-face {
  font-family: "Roboto";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/static/fonts/roboto-latin-400.woff2") format("woff2");
}
@font-face {
  font-family: "Roboto";
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/static/fonts/roboto-latin-500.woff2") format("woff2");
}
@font-face {
  font-family: "Roboto";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/static/fonts/roboto-latin-700.woff2") format("woff2");
}

@font-face {
  font-family: "Lato";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/static/fonts/lato-latin-400.woff2") format("woff2");
}
@font-face {
  font-family: "Lato";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/static/fonts/lato-latin-700.woff2") format("woff2");
}

@font-face {
  font-family: "Raleway";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/static/fonts/raleway-latin-400.woff2") format("woff2");
}
@font-face {
  font-family: "Raleway";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/static/fonts/raleway-latin-700.woff2") format("woff2");
}

@font-face {
  font-family: "Ranade";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/static/fonts/ranade-latin-400.woff2") format("woff2");
}
@font-face {
  font-family: "Ranade";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/static/fonts/ranade-latin-700.woff2") format("woff2");
}

@font-face {
  font-family: "Open Sans";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/static/fonts/open-sans-latin-400.woff2") format("woff2");
}
@font-face {
  font-family: "Open Sans";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/static/fonts/open-sans-latin-700.woff2") format("woff2");
}

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

@font-face {
  font-family: "Lora";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/static/fonts/lora-latin-400.woff2") format("woff2");
}
@font-face {
  font-family: "Lora";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/static/fonts/lora-latin-700.woff2") format("woff2");
}

@font-face {
  font-family: "Merriweather";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/static/fonts/merriweather-latin-400.woff2") format("woff2");
}
@font-face {
  font-family: "Merriweather";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/static/fonts/merriweather-latin-700.woff2") format("woff2");
}

@font-face {
  font-family: "Source Sans 3";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/static/fonts/source-sans-3-latin-400.woff2") format("woff2");
}
@font-face {
  font-family: "Source Sans 3";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/static/fonts/source-sans-3-latin-700.woff2") format("woff2");
}

@font-face {
  font-family: "Inter";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/static/fonts/inter-latin-400.woff2") format("woff2");
}
@font-face {
  font-family: "Inter";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/static/fonts/inter-latin-700.woff2") format("woff2");
}

@font-face {
  font-family: "Work Sans";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/static/fonts/work-sans-latin-400.woff2") format("woff2");
}
@font-face {
  font-family: "Work Sans";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/static/fonts/work-sans-latin-700.woff2") format("woff2");
}

@font-face {
  font-family: "Plus Jakarta Sans";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/static/fonts/plus-jakarta-sans-latin-400.woff2") format("woff2");
}
@font-face {
  font-family: "Plus Jakarta Sans";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/static/fonts/plus-jakarta-sans-latin-700.woff2") format("woff2");
}

@font-face {
  font-family: "Bricolage Grotesque";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/static/fonts/bricolage-grotesque-latin-400.woff2") format("woff2");
}
@font-face {
  font-family: "Bricolage Grotesque";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/static/fonts/bricolage-grotesque-latin-700.woff2") format("woff2");
}

@font-face {
  font-family: "Fraunces";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/static/fonts/fraunces-latin-400.woff2") format("woff2");
}
@font-face {
  font-family: "Fraunces";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/static/fonts/fraunces-latin-700.woff2") format("woff2");
}

@font-face {
  font-family: "Playfair Display";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/static/fonts/playfair-display-latin-400.woff2") format("woff2");
}
@font-face {
  font-family: "Playfair Display";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/static/fonts/playfair-display-latin-700.woff2") format("woff2");
}

@font-face {
  font-family: "Space Grotesk";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/static/fonts/space-grotesk-latin-400.woff2") format("woff2");
}
@font-face {
  font-family: "Space Grotesk";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/static/fonts/space-grotesk-latin-700.woff2") format("woff2");
}

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

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

@font-face {
  font-family: "Press Start 2P";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/static/fonts/press-start-2p-latin-400.woff2") format("woff2");
}

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

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

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

@font-face {
  font-family: "EB Garamond";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/static/fonts/eb-garamond-latin-400.woff2") format("woff2");
}
@font-face {
  font-family: "EB Garamond";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/static/fonts/eb-garamond-latin-700.woff2") format("woff2");
}

@font-face {
  font-family: "Nunito";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/static/fonts/nunito-latin-400.woff2") format("woff2");
}
@font-face {
  font-family: "Nunito";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/static/fonts/nunito-latin-700.woff2") format("woff2");
}

@font-face {
  font-family: "IM Fell English";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/static/fonts/im-fell-english-latin-400.woff2") format("woff2");
}
@font-face {
  font-family: "IM Fell English";
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url("/static/fonts/im-fell-english-latin-400-italic.woff2") format("woff2");
}

@font-face {
  font-family: "UnifrakturCook";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/static/fonts/unifrakturcook-latin-700.woff2") format("woff2");
}

@font-face {
  font-family: "Barlow";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/static/fonts/barlow-latin-400.woff2") format("woff2");
}
@font-face {
  font-family: "Barlow";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/static/fonts/barlow-latin-700.woff2") format("woff2");
}

@font-face {
  font-family: "Exo 2";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/static/fonts/exo-2-latin-400.woff2") format("woff2");
}
@font-face {
  font-family: "Exo 2";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/static/fonts/exo-2-latin-700.woff2") format("woff2");
}
@font-face {
  font-family: "Exo 2";
  font-style: italic;
  font-weight: 700;
  font-display: swap;
  src: url("/static/fonts/exo-2-latin-700-italic.woff2") format("woff2");
}

@font-face {
  font-family: "Quicksand";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/static/fonts/quicksand-latin-400.woff2") format("woff2");
}
@font-face {
  font-family: "Quicksand";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/static/fonts/quicksand-latin-700.woff2") format("woff2");
}

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

:root {
  --font-ui: "Lato", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --font-headline: var(--font-ui);
  --ui-font-size: 14px;
}

/* Font family */
[data-ui-font="lato"] { --font-ui: "Lato", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
[data-ui-font="ranade"] { --font-ui: "Ranade", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
[data-ui-font="raleway"] { --font-ui: "Raleway", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
[data-ui-font="open-sans"] { --font-ui: "Open Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
[data-ui-font="roboto"] { --font-ui: "Roboto", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
[data-ui-font="jetbrains-mono"] { --font-ui: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; }
[data-ui-font="lora"] { --font-ui: "Lora", Georgia, "Times New Roman", serif; }
[data-ui-font="merriweather"] { --font-ui: "Merriweather", Georgia, "Times New Roman", serif; }
[data-ui-font="source-sans-3"] { --font-ui: "Source Sans 3", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
[data-ui-font="inter"] { --font-ui: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
[data-ui-font="work-sans"] { --font-ui: "Work Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
[data-ui-font="plus-jakarta-sans"] { --font-ui: "Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
[data-ui-font="ibm-plex-mono"] { --font-ui: "IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; }
[data-ui-font="atkinson-hyperlegible"] { --font-ui: "Atkinson Hyperlegible", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
[data-ui-font="vt323"] { --font-ui: "VT323", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; }
[data-ui-font="im-fell-english"] { --font-ui: "IM Fell English", Georgia, "Times New Roman", serif; }
[data-ui-font="barlow"] { --font-ui: "Barlow", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
[data-ui-font="quicksand"] { --font-ui: "Quicksand", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }

/* Headline font — optional; "none" (the default) keeps headlines in the UI font */
[data-ui-headline="none"] { --font-headline: var(--font-ui); }
[data-ui-headline="bricolage-grotesque"] { --font-headline: "Bricolage Grotesque", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
[data-ui-headline="fraunces"] { --font-headline: "Fraunces", Georgia, "Times New Roman", serif; }
[data-ui-headline="playfair-display"] { --font-headline: "Playfair Display", Georgia, "Times New Roman", serif; }
[data-ui-headline="space-grotesk"] { --font-headline: "Space Grotesk", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
[data-ui-headline="bungee"] { --font-headline: "Bungee", "Arial Black", sans-serif; }
[data-ui-headline="dotgothic16"] { --font-headline: "DotGothic16", ui-monospace, Menlo, Consolas, monospace; }
[data-ui-headline="eb-garamond"] { --font-headline: "EB Garamond", Georgia, "Times New Roman", serif; }
[data-ui-headline="nunito"] { --font-headline: "Nunito", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
[data-ui-headline="press-start-2p"] { --font-headline: "Press Start 2P", ui-monospace, Menlo, Consolas, monospace; }
[data-ui-headline="unifrakturcook"] { --font-headline: "UnifrakturCook", "Old English Text MT", Georgia, serif; }
[data-ui-headline="exo-2"] { --font-headline: "Exo 2", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
[data-ui-headline="shrikhand"] { --font-headline: "Shrikhand", "Arial Black", sans-serif; }

/* Font size */
[data-ui-size="sm"] { --ui-font-size: 13px; }
[data-ui-size="md"] { --ui-font-size: 14px; }
[data-ui-size="lg"] { --ui-font-size: 16px; }
[data-ui-size="xl"] { --ui-font-size: 19px; }

/* VT323 runs small for its nominal size, so the CRT super theme shifts the
   whole scale up: its M is what everyone else's XL is. */
[data-super="crt"][data-ui-size="sm"] { --ui-font-size: 17px; }
[data-super="crt"][data-ui-size="md"] { --ui-font-size: 19px; }
[data-super="crt"][data-ui-size="lg"] { --ui-font-size: 22px; }
[data-super="crt"][data-ui-size="xl"] { --ui-font-size: 26px; }

/* IM Fell English has a small x-height, so the Olde super theme runs a size up. */
[data-super="olde"][data-ui-size="sm"] { --ui-font-size: 14.5px; }
[data-super="olde"][data-ui-size="md"] { --ui-font-size: 16px; }
[data-super="olde"][data-ui-size="lg"] { --ui-font-size: 18px; }
[data-super="olde"][data-ui-size="xl"] { --ui-font-size: 21px; }
