/*
 * Metric-adjusted local fallback faces (reduce CLS while webfonts swap in).
 * Referenced as the 2nd entry of each theme.json font-family stack.
 *
 * Values measured with fontTools (hhea metrics, avg advance of [A-Za-z0-9 ]):
 *   Noto Sans JP      upm 1000, ascent 1.160, descent 0.288, gap 0  — CJK glyphs are 1em in every
 *                     JP system font, so size-adjust stays 100%; only the line box is normalised.
 *   Noto Serif JP     upm 1000, ascent 1.151, descent 0.286, gap 0.
 *   Roboto Condensed  avg width 0.4924em vs Arial 0.5743em → size-adjust 85.74%;
 *                     ascent 0.9277 / 0.8574 = 108.20%, descent 0.2441 / 0.8574 = 28.47%.
 * Hand-maintained (not generated) — re-measure if a font version changes metrics.
 */

/*
 * Noto Sans JP → a locally installed Noto Sans JP / Noto Sans CJK JP (same design; Android, most
 * Linux desktops), Hiragino (macOS/iOS), Yu Gothic / Meiryo (Windows), IPAGothic (Linux) and
 * Droid Sans Fallback (older Android). The overrides give every one of them Noto Sans JP's line box,
 * so text does not move when the webfont swaps in (L-9).
 */
@font-face {
	font-family: "Noto Sans JP Fallback";
	font-weight: 100 449;
	src: local("Noto Sans JP Regular"), local("NotoSansJP-Regular"), local("Noto Sans CJK JP Regular"), local("NotoSansCJKjp-Regular"), local("Hiragino Sans W3"), local("HiraginoSans-W3"), local("Hiragino Kaku Gothic ProN W3"), local("HiraKakuProN-W3"), local("Yu Gothic Regular"), local("YuGothic-Regular"), local("Meiryo"), local("IPAGothic"), local("Droid Sans Fallback"), local("DroidSansFallback");
	size-adjust: 100%;
	ascent-override: 116%;
	descent-override: 28.8%;
	line-gap-override: 0%;
}

@font-face {
	font-family: "Noto Sans JP Fallback";
	font-weight: 450 599;
	src: local("Noto Sans JP Medium"), local("NotoSansJP-Medium"), local("Noto Sans CJK JP Medium"), local("NotoSansCJKjp-Medium"), local("Hiragino Sans W5"), local("HiraginoSans-W5"), local("Hiragino Kaku Gothic ProN W3"), local("HiraKakuProN-W3"), local("Yu Gothic Medium"), local("YuGothic-Medium"), local("Meiryo"), local("IPAGothic"), local("Droid Sans Fallback"), local("DroidSansFallback");
	size-adjust: 100%;
	ascent-override: 116%;
	descent-override: 28.8%;
	line-gap-override: 0%;
}

@font-face {
	font-family: "Noto Sans JP Fallback";
	font-weight: 600 900;
	src: local("Noto Sans JP Bold"), local("NotoSansJP-Bold"), local("Noto Sans CJK JP Bold"), local("NotoSansCJKjp-Bold"), local("Hiragino Sans W6"), local("HiraginoSans-W6"), local("Hiragino Kaku Gothic ProN W6"), local("HiraKakuProN-W6"), local("Yu Gothic Bold"), local("YuGothic-Bold"), local("Meiryo Bold"), local("Meiryo-Bold"), local("IPAGothic"), local("Droid Sans Fallback"), local("DroidSansFallback");
	size-adjust: 100%;
	ascent-override: 116%;
	descent-override: 28.8%;
	line-gap-override: 0%;
}

/* Noto Serif JP → Hiragino Mincho, Yu Mincho. */
@font-face {
	font-family: "Noto Serif JP Fallback";
	font-weight: 100 900;
	src: local("Hiragino Mincho ProN W3"), local("HiraMinProN-W3"), local("Yu Mincho Regular"), local("YuMincho-Regular");
	size-adjust: 100%;
	ascent-override: 115.1%;
	descent-override: 28.6%;
	line-gap-override: 0%;
}

/* Roboto Condensed → Arial scaled to the same average advance width. */
@font-face {
	font-family: "Roboto Condensed Fallback";
	font-weight: 100 599;
	src: local("Arial"), local("ArialMT"), local("Liberation Sans"), local("LiberationSans");
	size-adjust: 85.74%;
	ascent-override: 108.2%;
	descent-override: 28.47%;
	line-gap-override: 0%;
}

@font-face {
	font-family: "Roboto Condensed Fallback";
	font-weight: 600 900;
	src: local("Arial Bold"), local("Arial-BoldMT"), local("Liberation Sans Bold"), local("LiberationSans-Bold");
	size-adjust: 85.74%;
	ascent-override: 108.2%;
	descent-override: 28.47%;
	line-gap-override: 0%;
}
