/* ============================================================
   qrf-fonts.css — self-hosted retro display fonts.

   Cinzel (engraved Roman caps — headings/body) and Uncial Antiqua
   (medieval manuscript — panel titles / accents) are referenced
   across the codebase (gameArea.css, the shells, the scanner's own
   messages) via font-family, but were never actually loaded — so
   they degraded to the browser's generic serif/cursive. This file
   loads them, self-hosted (no CDN), mirroring the existing
   spore-font.css / resources/css/FONT/ pattern.

   Both families are SIL Open Font License (sourced from Google
   Fonts). Cinzel is a variable font, so the 400 and 700 faces share
   one woff2 per subset. font-display:swap keeps text visible while
   the fonts load; 'Open Sans' / serif remain the in-stack fallback
   at every usage site.

   Subsets: latin (U+0000-00FF + punctuation) and latin-ext
   (Eastern-European glyphs) so the browser only fetches what a page
   actually renders.
   ============================================================ */

/* ── Cinzel 400 ── */
@font-face {
    font-family: 'Cinzel';
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url('FONT/cinzel-latinext.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: 'Cinzel';
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url('FONT/cinzel-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;
}

/* ── Cinzel 700 (same variable woff2 as 400) ── */
@font-face {
    font-family: 'Cinzel';
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: url('FONT/cinzel-latinext.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: 'Cinzel';
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: url('FONT/cinzel-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;
}

/* ── Uncial Antiqua 400 ── */
@font-face {
    font-family: 'Uncial Antiqua';
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url('FONT/uncialantiqua-latinext.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: 'Uncial Antiqua';
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url('FONT/uncialantiqua-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;
}

/* ── Open Sans (body text) ──
   The console CSS uses font-family:'Open Sans' for body/lead/section copy,
   but no @font-face ever defined that literal family (spore-font.css names
   the same files 'open_sansregular' and isn't linked), so it silently fell
   back to generic sans-serif everywhere. These aliases point 'Open Sans' at
   the already self-hosted woff2 so the console typography renders sitewide. */
@font-face {
    font-family: 'Open Sans';
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url('FONT/opensans-regular-webfont.woff2') format('woff2');
}
@font-face {
    font-family: 'Open Sans';
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: url('FONT/opensans-bold-webfont.woff2') format('woff2');
}

/* ────────────────────────────────────────────────────────────────────
   Unified form-field font (2026-06-21). qrf-fonts.css is linked by every shell
   (admin, public, auth) AFTER bootstrap, so this is the one place that gives
   public + auth pages the contact-page font on their inputs/textareas. Every
   text input + textarea adopts 'Open Sans', sans-serif (matching the QR-generate
   + contact pages). Specificity (0,1,1) wins over Bootstrap's .form-control and
   casual fonts but loses to any deliberate higher-specificity field font (e.g.
   monospace code/hash inputs). type=submit excluded so buttons keep their look.
   Reversible: delete this block.
   ──────────────────────────────────────────────────────────────────── */
input:not([type="submit"]),
textarea,
.form-control {
    font-family: 'Open Sans', sans-serif;
}
