/**
 * Theme Color Variables
 */
:root {
    /* Manila (light): light tan theme */
    --manila-bg: #d6c4b0;
    --manila-fg: #f2ebe0;
    --manila-text-soft: #6f6960;
    --manila-text-hard: #1e1e1e;
    --manila-text-contrast: rgb(90, 0, 0);

    /* Ganache (dark): deep chocolate brown theme */
    --ganache-bg: #352925;
    --ganache-fg: #5d4f4b;
    --ganache-text-soft: #ad9d98;
    --ganache-text-hard: #e8ddd4;
    --ganache-text-contrast: rgb(255, 227, 181);
}

/**
 * Maps theme variables to CSS custom properties
 */
/* Light Theme */
:root[data-theme="manila"] {
    --bg: var(--manila-bg);
    --fg: var(--manila-fg);
    --text-soft: var(--manila-text-soft);
    --text-hard: var(--manila-text-hard);
    --text-contrast: var(--manila-text-contrast);
}

/* Dark Theme */
:root[data-theme="ganache"] {
    --bg: var(--ganache-bg);
    --fg: var(--ganache-fg);
    --text-soft: var(--ganache-text-soft);
    --text-hard: var(--ganache-text-hard);
    --text-contrast: var(--ganache-text-contrast);
}

/**
 * Font Families
 */
@font-face {
    font-family: "Spectral SC";
    src: url("/fonts/SpectralSC-SemiBold.ttf") format("truetype");
    font-weight: 600;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "Spectral SC";
    src: url("/fonts/SpectralSC-Medium.ttf") format("truetype");
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "IBM Plex Serif";
    src: url("/fonts/IBMPlexSerif-Medium.ttf") format("truetype");
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "IBM Plex Sans";
    src: url("/fonts/IBMPlexSans-SemiBold.ttf") format("truetype");
    font-weight: 600;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "IBM Plex Mono";
    src: url("/fonts/IBMPlexMono-SemiBold.ttf") format("truetype");
    font-weight: 600;
    font-style: normal;
    font-display: swap;
}
