/* Theme system for Blog Forge SSG

CSS custom properties for 9 professional themes with systematic color management.
*/

/* Default Light Theme */
:root {
    --theme-primary: oklch(0.35 0.15 260);
    --theme-background: oklch(1 0 0);
    --theme-content-bg: oklch(1 0 0);
    --theme-text: oklch(0.2 0.01 250);
    --theme-heading: oklch(0.15 0.02 250);
    --theme-link: oklch(0.35 0.15 260);
    --theme-border: oklch(0.92 0.005 250);
    --theme-shadow: oklch(0 0 0 / 0.1);
    --theme-muted: oklch(0.6 0.01 250);
    --theme-code-bg: oklch(0.95 0.01 250);
    --theme-quote-bg: oklch(0.98 0.005 250);
    --theme-toc-bg: oklch(0.98 0.008 250);
    --theme-nav-bg: oklch(0.98 0.003 250);
    --theme-nav-border: oklch(0.92 0.005 250);
}

/* Dark Theme */
[data-theme="dark"] {
    --theme-primary: oklch(0.78 0.1 260);
    --theme-background: oklch(0.15 0.02 260);
    --theme-content-bg: oklch(0.2 0.02 260);
    --theme-text: oklch(0.93 0.01 260);
    --theme-heading: oklch(0.98 0.01 260);
    --theme-link: oklch(0.78 0.1 260);
    --theme-border: oklch(0.35 0.02 260);
    --theme-shadow: oklch(0 0 0 / 0.4);
    --theme-muted: oklch(0.6 0.01 260);
    --theme-code-bg: oklch(0.25 0.02 260);
    --theme-quote-bg: oklch(0.22 0.02 260);
    --theme-toc-bg: oklch(0.22 0.02 260);
    --theme-nav-bg: oklch(0.25 0.02 260);
    --theme-nav-border: oklch(0.35 0.02 260);
}

/* Gray Theme */
[data-theme="gray"] {
    --theme-primary: oklch(0.96 0.005 260);
    --theme-background: oklch(0.52 0.012 260);
    --theme-content-bg: oklch(0.48 0.015 260);
    --theme-text: oklch(0.96 0.005 260);
    --theme-heading: oklch(0.98 0.005 260);
    --theme-link: oklch(0.96 0.005 260);
    --theme-border: oklch(0.42 0.015 260);
    --theme-shadow: oklch(0 0 0 / 0.3);
    --theme-muted: oklch(0.7 0.01 260);
    --theme-code-bg: oklch(0.42 0.015 260);
    --theme-quote-bg: oklch(0.45 0.015 260);
    --theme-toc-bg: oklch(0.45 0.015 260);
    --theme-nav-bg: oklch(0.48 0.015 260);
    --theme-nav-border: oklch(0.42 0.015 260);
}

/* Banana Theme */
[data-theme="banana"] {
    --theme-primary: oklch(0.28 0.06 85);
    --theme-background: oklch(0.94 0.1 95);
    --theme-content-bg: oklch(0.9 0.08 95);
    --theme-text: oklch(0.28 0.06 85);
    --theme-heading: oklch(0.22 0.08 85);
    --theme-link: oklch(0.28 0.06 85);
    --theme-border: oklch(0.82 0.08 95);
    --theme-shadow: oklch(0.28 0.06 85 / 0.2);
    --theme-muted: oklch(0.5 0.05 85);
    --theme-code-bg: oklch(0.88 0.09 95);
    --theme-quote-bg: oklch(0.92 0.1 95);
    --theme-toc-bg: oklch(0.92 0.1 95);
    --theme-nav-bg: oklch(0.9 0.08 95);
    --theme-nav-border: oklch(0.82 0.08 95);
}

/* Strawberry Theme */
[data-theme="strawberry"] {
    --theme-primary: oklch(0.32 0.07 15);
    --theme-background: oklch(0.96 0.05 15);
    --theme-content-bg: oklch(0.94 0.05 15);
    --theme-text: oklch(0.32 0.07 15);
    --theme-heading: oklch(0.25 0.09 15);
    --theme-link: oklch(0.32 0.07 15);
    --theme-border: oklch(0.88 0.05 15);
    --theme-shadow: oklch(0.32 0.07 15 / 0.2);
    --theme-muted: oklch(0.55 0.04 15);
    --theme-code-bg: oklch(0.92 0.06 15);
    --theme-quote-bg: oklch(0.95 0.05 15);
    --theme-toc-bg: oklch(0.95 0.05 15);
    --theme-nav-bg: oklch(0.94 0.05 15);
    --theme-nav-border: oklch(0.88 0.05 15);
}

/* Peanut Theme */
[data-theme="peanut"] {
    --theme-primary: oklch(0.26 0.03 70);
    --theme-background: oklch(0.72 0.05 70);
    --theme-content-bg: oklch(0.68 0.05 70);
    --theme-text: oklch(0.26 0.03 70);
    --theme-heading: oklch(0.2 0.05 70);
    --theme-link: oklch(0.26 0.03 70);
    --theme-border: oklch(0.58 0.05 70);
    --theme-shadow: oklch(0.26 0.03 70 / 0.2);
    --theme-muted: oklch(0.45 0.04 70);
    --theme-code-bg: oklch(0.62 0.05 70);
    --theme-quote-bg: oklch(0.65 0.05 70);
    --theme-toc-bg: oklch(0.65 0.05 70);
    --theme-nav-bg: oklch(0.68 0.05 70);
    --theme-nav-border: oklch(0.58 0.05 70);
}

/* High Contrast Inverse Theme */
[data-theme="high-contrast-inverse"] {
    --theme-primary: oklch(0.1 0 0);
    --theme-background: oklch(1 0 0);
    --theme-content-bg: oklch(0.98 0 0);
    --theme-text: oklch(0.1 0 0);
    --theme-heading: oklch(0.05 0 0);
    --theme-link: oklch(0.1 0 0);
    --theme-border: oklch(0.2 0 0);
    --theme-shadow: oklch(0.1 0 0 / 0.2);
    --theme-muted: oklch(0.4 0 0);
    --theme-code-bg: oklch(0.92 0 0);
    --theme-quote-bg: oklch(0.95 0 0);
    --theme-toc-bg: oklch(0.95 0 0);
    --theme-nav-bg: oklch(0.98 0 0);
    --theme-nav-border: oklch(0.2 0 0);
}

/* High Contrast Black Theme */
[data-theme="high-contrast-black"] {
    --theme-primary: oklch(0.98 0 0);
    --theme-background: oklch(0.09 0 0);
    --theme-content-bg: oklch(0.12 0 0);
    --theme-text: oklch(0.98 0 0);
    --theme-heading: oklch(1 0 0);
    --theme-link: oklch(0.98 0 0);
    --theme-border: oklch(0.3 0 0);
    --theme-shadow: oklch(0 0 0 / 0.5);
    --theme-muted: oklch(0.6 0 0);
    --theme-code-bg: oklch(0.22 0 0);
    --theme-quote-bg: oklch(0.15 0 0);
    --theme-toc-bg: oklch(0.15 0 0);
    --theme-nav-bg: oklch(0.12 0 0);
    --theme-nav-border: oklch(0.3 0 0);
}
