/**
 * PulsarCards — Self-hosted font CSS.
 *
 * Font-face declarations with fallback stacks. Variable TTFs ship in-repo;
 * WOFF2 files are not present, so these point at Inter-Variable.ttf and
 * Fraunces-Variable.ttf (same files pulsar-fonts-local.css already uses).
 *
 * NOTE: Only @font-face rules belong here. The :root token block and body
 * typography rules live in pulsar-tokens.css / pulsar-primitives.css.
 */

/* Critical font preloads (add to <head>):
   <link rel="preload" href="/assets/fonts/Fraunces-Variable.ttf" as="font" type="font/ttf" crossorigin>
   <link rel="preload" href="/assets/fonts/Inter-Variable.ttf" as="font" type="font/ttf" crossorigin>
*/


/* themes/theme1 display face. Bodoni 72 is the token name; Playfair is the
   licensed Didot we ship so Linux and Windows actually paint the serif. */
@font-face {
    font-family: 'Bodoni 72';
    font-style: normal;
    font-weight: 400 500;
    font-display: swap;
    src: url('/assets/fonts/PlayfairDisplay-Regular.ttf') format('truetype');
}

@font-face {
    font-family: 'Bodoni 72';
    font-style: normal;
    font-weight: 600 900;
    font-display: swap;
    src: url('/assets/fonts/PlayfairDisplay-Bold.ttf') format('truetype');
}

@font-face {
    font-family: 'Fraunces';
    font-style: normal;
    font-weight: 100 900;
    font-display: swap;
    src: url('/assets/fonts/Fraunces-Variable.ttf') format('truetype');
    unicode-range: U+0000-00FF, /* Latin */
                   U+0100-017F, /* Latin Extended-A */
                   U+2010-2027, /* Punctuation */
                   U+2030-205E, /* Punctuation */
                   U+2070-209F, /* Superscripts/subscripts */
                   U+20A0-20CF; /* Currency */
}

@font-face {
    font-family: 'Fraunces';
    font-style: italic;
    font-weight: 100 900;
    font-display: swap;
    src: url('/assets/fonts/Fraunces-Variable.ttf') format('truetype');
    unicode-range: U+0000-00FF, U+0100-017F, U+2010-2027, U+2030-205E, U+2070-209F, U+20A0-20CF;
}

@font-face {
    font-family: 'Inter';
    font-style: normal;
    font-weight: 100 900;
    font-display: swap;
    src: url('/assets/fonts/Inter-Variable.ttf') format('truetype');
    unicode-range: U+0000-00FF, U+0100-017F, U+2010-2027, U+2030-205E, U+2070-209F, U+20A0-20CF;
}

@font-face {
    font-family: 'Inter';
    font-style: italic;
    font-weight: 100 900;
    font-display: swap;
    src: url('/assets/fonts/Inter-Variable.ttf') format('truetype');
    unicode-range: U+0000-00FF, U+0100-017F, U+2010-2027, U+2030-205E, U+2070-209F, U+20A0-20CF;
}

@font-face {
    font-family: 'Manrope';
    font-style: normal;
    font-weight: 400 600;
    font-display: swap;
    src: url('/assets/fonts/Manrope-Regular.ttf') format('truetype');
}

@font-face {
    font-family: 'Manrope';
    font-style: normal;
    font-weight: 700 800;
    font-display: swap;
    src: url('/assets/fonts/Manrope-Bold.ttf') format('truetype');
}

@media (prefers-reduced-motion: reduce) {
    * {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }
}

@media print {
    body { font-family: var(--font-body); }
    h1, h2, h3, .display { font-family: var(--font-display); }
}
