/* Self-hosted JetBrains Mono — the brand font for the whole app.
 *
 * Why this file exists (2026-06-29): every page's `--font` stack listed
 * `'JetBrains Mono'` first, but NOTHING actually loaded the bundled
 * `.woff2` faces — so the chain fell through to the OS monospace
 * (`ui-monospace` → SF Mono on iOS / Menlo on macOS). On the desktop dev
 * box that happened to have JetBrains Mono installed it looked right; on
 * the iOS app (no system JetBrains Mono) it rendered SF Mono. These
 * @font-face rules load the real faces so web + the Capacitor iOS app
 * match.
 *
 * Linked from every page's <head> via `/fonts/jetbrains.css`. Allowed
 * under every CSP variant in `public/_headers` without changes:
 * `font-src 'self'` covers the woff2 fetch and `style-src 'self'`
 * covers this stylesheet.
 *
 * Weights map to the faces we actually use (400/500/600/700/800).
 * JetBrains Mono tops out at ExtraBold (800); any `font-weight: 900`
 * in the app resolves to 800 (nearest). `font-display: swap` paints
 * immediately in the fallback then swaps in to avoid blocking render.
 */
@font-face {
	font-family: 'JetBrains Mono';
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	src: url('/fonts/JetBrainsMono-Regular.woff2') format('woff2');
}
@font-face {
	font-family: 'JetBrains Mono';
	font-style: normal;
	font-weight: 500;
	font-display: swap;
	src: url('/fonts/JetBrainsMono-Medium.woff2') format('woff2');
}
@font-face {
	font-family: 'JetBrains Mono';
	font-style: normal;
	font-weight: 600;
	font-display: swap;
	src: url('/fonts/JetBrainsMono-SemiBold.woff2') format('woff2');
}
@font-face {
	font-family: 'JetBrains Mono';
	font-style: normal;
	font-weight: 700;
	font-display: swap;
	src: url('/fonts/JetBrainsMono-Bold.woff2') format('woff2');
}
@font-face {
	font-family: 'JetBrains Mono';
	font-style: normal;
	font-weight: 800;
	font-display: swap;
	src: url('/fonts/JetBrainsMono-ExtraBold.woff2') format('woff2');
}

/* Satoshi — the TITLE face (2026-07, replaced Sequel Sans Black Display).
 * Used for every page/section/modal title across the app (see
 * `TITLE_FONT_STACK` in `src/core/constants.ts`). All titles render ALL CAPS
 * at the BOLDEST weight. This is the Satoshi VARIABLE font (weight axis
 * 300–900); declaring the full `300 900` range lets `font-weight: 900` pull
 * the Black (boldest) cut. Served straight from the .ttf under the same
 * `font-src 'self'` CSP allowance as the JetBrains faces above.
 * `font-display: swap` paints the fallback (JetBrains Mono) immediately,
 * then swaps in. */
@font-face {
	font-family: 'Satoshi';
	font-style: normal;
	font-weight: 300 900;
	font-display: swap;
	src: url('/fonts/Satoshi-Variable.ttf') format('truetype');
}
