/* Local font definitions for maximum privacy */

/* Font preloading hints for better performance */
/* Add these link tags to your HTML head for even better loading:
   <link rel="preload" href="fonts/FiraCode-Regular.woff2" as="font" type="font/woff2" crossorigin>
   <link rel="preload" href="fonts/FiraCode-Medium.woff2" as="font" type="font/woff2" crossorigin>
   <link rel="preload" href="fonts/FiraCode-SemiBold.woff2" as="font" type="font/woff2" crossorigin>
*/

/* Locally hosted Fira Code font files with system fallbacks */
@font-face {
    font-family: "Fira Code Local";
    font-weight: 300;
    font-style: normal;
    font-display: swap;
    src:
        url("../fonts/FiraCode-Light.woff2") format("woff2"),
        local("Fira Code Light"),
        local("FiraCode-Light"),
        local("Fira Code"),
        local("FiraCode"),
        local("Menlo"),
        local("Monaco"),
        local("Consolas"),
        local("Liberation Mono"),
        local("DejaVu Sans Mono"),
        local("Courier New"),
        monospace;
}

@font-face {
    font-family: "Fira Code Local";
    font-weight: 400;
    font-style: normal;
    font-display: swap;
    src:
        url("../fonts/FiraCode-Regular.woff2") format("woff2"),
        local("Fira Code Regular"),
        local("FiraCode-Regular"),
        local("Fira Code"),
        local("FiraCode"),
        local("Menlo"),
        local("Monaco"),
        local("Consolas"),
        local("Liberation Mono"),
        local("DejaVu Sans Mono"),
        local("Courier New"),
        monospace;
}

@font-face {
    font-family: "Fira Code Local";
    font-weight: 500;
    font-style: normal;
    font-display: swap;
    src:
        url("../fonts/FiraCode-Medium.woff2") format("woff2"),
        local("Fira Code Medium"),
        local("FiraCode-Medium"),
        local("Fira Code"),
        local("FiraCode"),
        local("Menlo"),
        local("Monaco"),
        local("Consolas"),
        local("Liberation Mono"),
        local("DejaVu Sans Mono"),
        local("Courier New"),
        monospace;
}

@font-face {
    font-family: "Fira Code Local";
    font-weight: 600;
    font-style: normal;
    font-display: swap;
    src:
        url("../fonts/FiraCode-SemiBold.woff2") format("woff2"),
        local("Fira Code SemiBold"),
        local("FiraCode-SemiBold"),
        local("Fira Code Bold"),
        local("FiraCode-Bold"),
        local("Fira Code"),
        local("FiraCode"),
        local("Menlo"),
        local("Monaco"),
        local("Consolas"),
        local("Liberation Mono"),
        local("DejaVu Sans Mono"),
        local("Courier New"),
        monospace;
}

@font-face {
    font-family: "Fira Code Local";
    font-weight: 700;
    font-style: normal;
    font-display: swap;
    src:
        url("../fonts/FiraCode-Bold.woff2") format("woff2"),
        local("Fira Code Bold"),
        local("FiraCode-Bold"),
        local("Fira Code"),
        local("FiraCode"),
        local("Menlo"),
        local("Monaco"),
        local("Consolas"),
        local("Liberation Mono"),
        local("DejaVu Sans Mono"),
        local("Courier New"),
        monospace;
}

/* Fallback font stack for maximum compatibility */
:root {
    --font-mono:
        "Fira Code Local", "Fira Code", "FiraCode", "SF Mono", "Monaco",
        "Inconsolata", "Roboto Mono", "Source Code Pro", "Menlo", "Consolas",
        "DejaVu Sans Mono", "Liberation Mono", "Courier New", monospace;
}

/* Font feature settings for enhanced programming ligatures */
.font-ligatures {
    font-feature-settings:
        "liga" 1,
        "calt" 1;
    font-variant-ligatures: contextual;
}

/* Apply ligatures to code elements by default */
body {
    font-feature-settings:
        "liga" 1,
        "calt" 1;
    font-variant-ligatures: contextual;
}
