/* Oxford PDF website typography. Official Geist 1.9.0; see OFL-Geist.txt. */
@font-face {
  font-family: "Geist Sans";
  src: url("./GeistSans-Variable.woff2") format("woff2");
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
}
@font-face {
  font-family: "Geist Sans";
  src: url("./GeistSans-Italic-Variable.woff2") format("woff2");
  font-style: italic;
  font-weight: 100 900;
  font-display: swap;
}
@font-face {
  font-family: "Geist Serif";
  src: url("./GeistSerif-Regular.woff2") format("woff2");
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}
@font-face {
  font-family: "Geist Mono";
  src: url("./GeistMono-Variable.woff2") format("woff2");
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
}
:root {
  --font-sans: "Geist Sans", "Noto Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
  --font-serif: "Geist Serif", "Iowan Old Style", Baskerville, "Noto Serif", Georgia, serif;
  --font-mono: "Geist Mono", "Noto Sans Mono", "SFMono-Regular", Consolas, "Liberation Mono", monospace;
}
html body {
  font-family: var(--font-sans);
  /* Preserve semantic emphasis; display Serif below never synthesises a face. */
  font-synthesis: weight style;
}
html body :is(.home-site, .tool-site, .hub-site),
html body :is(.site-header, .site-footer) {
  font-family: var(--font-sans);
}
html[dir="rtl"] body :is(.home-site, .tool-site, .hub-site, .language-dialog) {
  font-family: var(--font-sans);
}
/* Serif is a genuine static Regular face, restricted to editorial page titles. */
html body .home-site .hero-copy h1,
html body .tool-site .tool-intro h1,
html body .hub-site .hub-intro h1,
html body .static-site .static-page-main h1,
html body > main > h1,
html body > main.shell > h1 {
  font-family: var(--font-serif);
  font-weight: 400;
  font-style: normal;
  font-synthesis: none;
  letter-spacing: -.025em;
}
html body :is(.hero-copy, .tool-intro, .hub-intro, .static-page-main) h1 :is(strong, b, em) {
  font: inherit;
}
/* Small/tool/card headings retain their established sizes and Sans hierarchy. */
html body :is(.tool-site, .hub-site) :is(h2, h3),
html body .home-site :is(.feature h3, .feature-card h3, .site-footer-nav h2),
html body :is(.auth-grid, .workspace-top, .section-top, .settings-grid, .file-card) :is(h2, h3) {
  font-family: var(--font-sans);
}
html body :is(code, pre, kbd, samp),
html body .home-site .workspace-interactive .wi-code,
html body .home-site .nts-num,
html body .home-site .nts-tag,
html body .home-site .dc-tag,
html body input.code,
html body [data-font-role="mono"] {
  font-family: var(--font-mono);
}
html body .home-site .workspace-interactive :is(.wi-label, .wi-text, .wi-tiny),
html body .home-site .dc-txt,
html body .home-site .passage-prompts button {
  font-family: var(--font-sans);
}
html body .home-site .passage-prompts button { font-style: normal; }
/* Math typesetting and document/canvas typography are deliberately not reset. */
html[lang|="ar"] {
  --font-sans: "Geist Sans", "Noto Sans Arabic", "Geeza Pro", Tahoma, sans-serif;
  --font-serif: "Geist Serif", "Noto Naskh Arabic", "Geeza Pro", Georgia, serif;
}
html[lang|="ja"] {
  --font-sans: "Geist Sans", "Hiragino Sans", "Yu Gothic", Meiryo, sans-serif;
  --font-serif: "Geist Serif", "Hiragino Mincho ProN", "Yu Mincho", "Noto Serif CJK JP", serif;
}
html[lang|="zh"] {
  --font-sans: "Geist Sans", "PingFang SC", "Microsoft YaHei", "Noto Sans CJK SC", sans-serif;
  --font-serif: "Geist Serif", "Songti SC", "SimSun", "Noto Serif CJK SC", serif;
}

/* Current workspace titles are compact UI headings: preserve 20px / 500. */
html body .workspace-app h1 { font-family: var(--font-sans); }
