/* Self-hosted Google Fonts. SIL OFL licenses are bundled in assets/fonts/. */
/* Anton - latin-ext */
@font-face {
  font-family: 'Anton';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(./assets/fonts/anton-latin-ext-400.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-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* Anton - latin */
@font-face {
  font-family: 'Anton';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(./assets/fonts/anton-latin-400.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;
}

/* Oxanium - latin-ext */
@font-face {
  font-family: 'Oxanium';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(./assets/fonts/oxanium-latin-ext-400-700.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-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* Oxanium - latin */
@font-face {
  font-family: 'Oxanium';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(./assets/fonts/oxanium-latin-400-700.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;
}

/* Rajdhani - latin-ext */
@font-face {
  font-family: 'Rajdhani';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(./assets/fonts/rajdhani-latin-ext-500.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-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* Rajdhani - latin */
@font-face {
  font-family: 'Rajdhani';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(./assets/fonts/rajdhani-latin-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;
}

/* Rajdhani - latin-ext */
@font-face {
  font-family: 'Rajdhani';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(./assets/fonts/rajdhani-latin-ext-600.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-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* Rajdhani - latin */
@font-face {
  font-family: 'Rajdhani';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(./assets/fonts/rajdhani-latin-600.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;
}

/* Rajdhani - latin-ext */
@font-face {
  font-family: 'Rajdhani';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(./assets/fonts/rajdhani-latin-ext-700.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-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* Rajdhani - latin */
@font-face {
  font-family: 'Rajdhani';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(./assets/fonts/rajdhani-latin-700.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;
}

/* Anton supplies the poster voice; Rajdhani and Oxanium supply the HUD voice. */
:root {
  --display: "Anton", Impact, Haettenschweiler, "Arial Narrow", sans-serif;
  --body: "Rajdhani", "Segoe UI", ui-sans-serif, system-ui, sans-serif;
  --tech: "Oxanium", "Segoe UI", ui-sans-serif, system-ui, sans-serif;
  --display-weight: 400;
  --body-weight: 500;
}
body { font-family: var(--body); font-weight: var(--body-weight); }

h1, .brand-name, .footer-brand, .brief-card h2, .section-heading h2,
.feature-copy h3, .chapter-strip a, .section-shell h2, .pick-name,
.character-profile h3, .mod-details h3, .exchange-item h3, .rank-paths h3, .creature-copy h3 {
  font-weight: var(--display-weight);
  font-synthesis: none;
}

.eyebrow, .signal-list, .brief-label, .site-footer p,
.chapter-strip a > span:first-child, .pick-number, .pick-type,
.profile-type, .profile-eyebrow, .character-stats dt, .mod-pick span,
.rarity-tag, .loot-caption, .terminal-heading, .exchange-currency,
.podium-caption { font-family: var(--tech); }

.character-stats dd, .feature-index, .profile-number, .podium > span:last-child {
  font-family: var(--tech);
  font-weight: 700;
  font-variant-numeric: tabular-nums;
}
.character-stats dd { font-size: 30px; }
.profile-number { font-size: 19px; }
.text-link, .language-control select { font-weight: 600; }

/* The condensed body face needs a little more size for comfortable reading. */
.hero-description, .section-description, .final-section p { font-size: 16px; line-height: 1.75; }
.character-bio { font-size: 15px; line-height: 1.75; }
.brief-card p:last-of-type, .feature-copy > p:last-child,
.rank-paths p, .market-features p, .mod-details p { font-size: 14px; line-height: 1.75; }
.section-note { font-size: 13px; line-height: 1.75; }
.interaction-hint { font-size: 12px; }
.text-link, .operatives-section .text-link { font-size: 14px; }
.main-nav { font-size: 12px; }
.button { font-size: 14px; }
.section-heading h2, .feature-copy h3, .rank-paths h3 { overflow-wrap: anywhere; }

/* The display families cover Latin scripts. Use consistent native families
   across each other script, including Latin numbers and punctuation. */
:root:lang(ru) {
  --display: Impact, "Arial Narrow", "Segoe UI", sans-serif;
  --body: "Segoe UI", ui-sans-serif, system-ui, sans-serif;
  --tech: "Segoe UI", ui-sans-serif, system-ui, sans-serif;
  --display-weight: 700;
  --body-weight: 400;
}
:root:lang(zh-CN) { --script-font: "Microsoft YaHei", "PingFang SC", "Noto Sans CJK SC", sans-serif; }
:root:lang(zh-TW) { --script-font: "Microsoft JhengHei", "PingFang TC", "Noto Sans CJK TC", sans-serif; }
:root:lang(ja) { --script-font: "Yu Gothic", "Hiragino Kaku Gothic ProN", "Noto Sans CJK JP", sans-serif; }
:root:lang(ko) { --script-font: "Malgun Gothic", "Apple SD Gothic Neo", "Noto Sans CJK KR", sans-serif; }
:root:lang(th) { --script-font: "Leelawadee UI", "Thonburi", "Noto Sans Thai", sans-serif; }
:root:is(:lang(zh-CN), :lang(zh-TW), :lang(ja), :lang(ko), :lang(th)) {
  --display: var(--script-font);
  --body: var(--script-font);
  --tech: var(--script-font);
  --display-weight: 800;
  --body-weight: 400;
}
html:lang(th) :is(h1, h2, h3, .pick-name) { line-height: 1.3; }

@media (max-width: 800px) {
  .section-heading .eyebrow { margin-bottom: 6px; }
}
@media (max-width: 560px) {
  .hero-description, .section-description, .final-section p { font-size: 15px; }
  .character-bio { font-size: 14px; }
  .feature-copy > p:last-child { font-size: 14px; }
  .signal-list { font-size: 9px; }
  .eyebrow { font-size: 9px; letter-spacing: .08em; }
}
