/* Ascenta Studio — fonts.css
   @font-face declarations for self-hosted fonts.
   Geist (UI/body) + Archivo (variable) self-hosted; Fraunces + Geist Mono via Google Fonts.
   See REPORT §3.2 字体系统.
*/

/* ── Geist (self-hosted) ────────────────────────────────────── */
@font-face {
    font-family: 'Geist';
    font-style: normal;
    font-weight: 100 900;
    font-display: swap;
    src: url('/assets/fonts/Geist-a147f99cd5.woff2') format('woff2');
}

/* ── Archivo (self-hosted, variable) ───────────────────────── */
@font-face {
    font-family: 'Archivo';
    font-style: normal;
    font-weight: 100 900;
    font-display: swap;
    src: url('/assets/fonts/archivo-var.woff2') format('woff2');
}

/* ── Geist Mono (Google Fonts fallback) ───────────────────── */
/* Loaded via <link> in head; fallback declared here */
.font-mono {
    font-family: 'Geist Mono', 'SF Mono', 'Menlo', monospace;
}

/* ── Fraunces (Google Fonts, variable opsz) ───────────────── */
/* Used for large display headings; loaded via <link> in head */
.font-display {
    font-family: 'Fraunces', Georgia, 'Times New Roman', serif;
    font-optical-sizing: auto;
}

/* ── Base font stack ───────────────────────────────────────── */
:root {
    --font-ui: 'Geist', system-ui, -apple-system, 'Segoe UI', sans-serif;
    --font-display: 'Fraunces', Georgia, serif;
    --font-mono: 'Geist Mono', 'SF Mono', Menlo, monospace;
    --font-body: 'Geist', system-ui, sans-serif;
}

body {
    font-family: var(--font-body);
}

h1, h2, h3, h4, h5, h6 {
    font-family: var(--font-display);
}

code, pre, .mono {
    font-family: var(--font-mono);
}
