/* =====================================================================
   QueryKey Local Font Scaffold
   ---------------------------------------------------------------------
   REQUIREMENT: No external / system fallback fonts. All glyphs must be
   served from locally hosted WOFF2 binaries.

   LICENSE STRATEGY:
   - High-quality MIT-only UI sans choices are extremely limited.
   - Recommended practical compromise: Use a SIL Open Font License (OFL)
     family (e.g. Public Sans, Inter, Manrope) locally. OFL permits local
     hosting & bundling. If you demand pure MIT/Apache only, consider
     commissioning a custom build or adapting an Apache 2.0 font (e.g.
     Open Sans (Apache 2.0) or Clear Sans (Apache 2.0)).

   CURRENT SELECTION (adjust if you swap families):
     UI Sans: Public Sans (OFL) 400 / 600 / 700 (stored as QueryKeySans-*).
     Mono:   Victor Mono (MIT) 400 / 600 / 700 (stored as QueryKeyMono-*).

   Drop the following files into /assets/fonts/ (already referenced):
     QueryKeySans-Regular.woff2
     QueryKeySans-SemiBold.woff2
     QueryKeySans-Bold.woff2
     QueryKeyMono-Regular.woff2
     QueryKeyMono-SemiBold.woff2
     QueryKeyMono-Bold.woff2

   OPTIONAL: Provide variable font versions (vf) & subset for performance:
     pyftsubset PublicSans[wght].ttf --output-file=QueryKeySans-Subset.woff2 \
       --flavor=woff2 --layout-features='*' --unicodes='U+000-5FF, U+2013-2014, U+2018-201D'

   PERFORMANCE NOTES:
     - font-display: swap is used to prevent FOIT; since system fallback
       is disallowed per requirement, initial paint may show default UA
       font for a flash. If absolutely no fallback allowed visually,
       change to font-display: block (risk: invisible text interval).
 ===================================================================== */

/* === UI SANS (Public Sans re-labeled locally as QueryKeySans) === */
@font-face {
  /* stylelint-disable-next-line font-family-no-missing-generic-family-keyword */
  font-family:QueryKeySans;
  src:url('/assets/fonts/PublicSans-Regular.woff2') format('woff2');
  font-weight:400;
  font-style:normal;
  font-display:swap;
}

@font-face {
  /* stylelint-disable-next-line font-family-no-missing-generic-family-keyword */
  font-family:QueryKeySans;
  src:url('/assets/fonts/PublicSans-SemiBold.woff2') format('woff2');
  font-weight:600;
  font-style:normal;
  font-display:swap;
}

@font-face {
  /* stylelint-disable-next-line font-family-no-missing-generic-family-keyword */
  font-family:QueryKeySans;
  src:url('/assets/fonts/PublicSans-Bold.woff2') format('woff2');
  font-weight:700;
  font-style:normal;
  font-display:swap;
}

/* === MONO (Victor Mono) === */
@font-face {
  /* stylelint-disable-next-line font-family-no-missing-generic-family-keyword */
  font-family:QueryKeyMono;
  src:url('/assets/fonts/VictorMono-Regular.woff2') format('woff2');
  font-weight:400;
  font-style:normal;
  font-display:swap;
}

@font-face {
  /* stylelint-disable-next-line font-family-no-missing-generic-family-keyword */
  font-family:QueryKeyMono;
  src:url('/assets/fonts/VictorMono-SemiBold.woff2') format('woff2');
  font-weight:600;
  font-style:normal;
  font-display:swap;
}

@font-face {
  /* stylelint-disable-next-line font-family-no-missing-generic-family-keyword */
  font-family:QueryKeyMono;
  src:url('/assets/fonts/VictorMono-Bold.woff2') format('woff2');
  font-weight:700;
  font-style:normal;
  font-display:swap;
}

/* Utility classes (optional) */
.font-ui {
  /* stylelint-disable-next-line font-family-no-missing-generic-family-keyword */
  font-family:QueryKeySans;
}

.font-mono {
  /* stylelint-disable-next-line font-family-no-missing-generic-family-keyword */
  font-family:QueryKeyMono;
}

/* Placeholder hook for feature detection / progressive enhancement */
@supports (font-variation-settings: normal) {
  /* Add variable-axis specific overrides here if adopting variable font */
}
