@font-face {
    font-family: 'Inter';
    src: url('../fonts/inter-400.woff2') format('woff2');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'Inter';
    src: url('../fonts/inter-700.woff2') format('woff2');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'Inter';
    src: url('../fonts/inter-800.woff2') format('woff2');
    font-weight: 800;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'JetBrains Mono';
    src: url('../fonts/jetbrains-mono-400.woff2') format('woff2');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'JetBrains Mono';
    src: url('../fonts/jetbrains-mono-500.woff2') format('woff2');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}

:root {
    --sky-50: #F0F9FF;
    --sky-100: #E0F2FE;
    --sky-200: #BAE6FD;
    --sky-300: #7DD3FC;
    --sky-400: #38BDF8;
    --sky-500: #0EA5E9;
    --sky-700: #0369A1;
    --sky-900: #0C4A6E;

    --bg: var(--sky-50);
    --surface: #FFFFFF;
    --band: var(--sky-200);
    --text: #0B1B2B;
    --muted: #475569;
    --rule: #0B1B2B;
    --accent: var(--sky-700);
    --accent-contrast: #FFFFFF;
    --error: #b91c1c;
    --success: #15803d;

    --font-sans: 'Inter', Helvetica Neue, Arial, sans-serif;
    --font-mono: 'JetBrains Mono', ui-monospace, Menlo, Consolas, monospace;

    --radius: 4px;
    --gutter: 24px;
    --max-width: 1320px;

    --space-1: 4px;
    --space-2: 8px;
    --space-3: 16px;
    --space-4: 24px;
    --space-5: 40px;
    --space-6: 64px;
    --space-7: 96px;

    --control-padding-y: 8px;
    --control-padding-x: 16px;
    --control-padding-y-sm: 4px;
    --control-padding-x-sm: 10px;
}

:root[data-theme="dark"] {
    --bg: #07131F;
    --surface: #0C1E30;
    --band: #0C4A6E;
    --text: #E6F4FF;
    --muted: #94A3B8;
    --rule: #7DD3FC;
    --accent: var(--sky-300);
    --accent-contrast: #07131F;
    --error: #F87171;
    --success: #4ADE80;
}

@media (prefers-color-scheme: dark) {
    :root:not([data-theme="light"]) {
        --bg: #07131F;
        --surface: #0C1E30;
        --band: #0C4A6E;
        --text: #E6F4FF;
        --muted: #94A3B8;
        --rule: #7DD3FC;
        --accent: var(--sky-300);
        --accent-contrast: #07131F;
        --error: #F87171;
        --success: #4ADE80;
    }
}
