@font-face {
    font-family: 'ZedMono';
    src: url('../fonts/ZedMonoNerdFont-Regular.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'ZedMono';
    src: url('../fonts/ZedMonoNerdFont-Bold.ttf') format('truetype');
    font-weight: bold;
    font-style: normal;
}

:root {
    /* Default: Catppuccin Mocha */
    --bg: #1e1e2e;
    --text: #cdd6f4;
    --text-muted: #a6adc8;
    --primary: #cba6f7;
    --secondary: #fab387;
    --accent: #f9e2af;
    --link: #89b4fa;
    --link-hover: #74c7ec;
    --border: #313244;
    --bold: #74c7ec;
    --italic: #a6e3a1;

    /* Catppuccin Mocha Palette (internal reference) */
    --ctp-rosewater: #f5e0dc;
    --ctp-flamingo: #f2cdcd;
    --ctp-pink: #f5c2e7;
    --ctp-mauve: #cba6f7;
    --ctp-red: #f38ba8;
    --ctp-maroon: #eba0ac;
    --ctp-peach: #fab387;
    --ctp-yellow: #f9e2af;
    --ctp-green: #a6e3a1;
    --ctp-teal: #94e2d5;
    --ctp-sky: #89dceb;
    --ctp-sapphire: #74c7ec;
    --ctp-blue: #89b4fa;
    --ctp-lavender: #b4befe;
    --ctp-text: #cdd6f4;
    --ctp-subtext1: #bac2de;
    --ctp-subtext0: #a6adc8;
    --ctp-overlay2: #9399b2;
    --ctp-overlay1: #7f849c;
    --ctp-overlay0: #6c7086;
    --ctp-surface2: #585b70;
    --ctp-surface1: #45475a;
    --ctp-surface0: #313244;
    --ctp-base: #1e1e2e;
    --ctp-mantle: #181825;
    --ctp-crust: #11111b;
}

[data-theme="orange"] {
    --bg: #050505; /* Pitch Black */
    --text: #d1d1d1;
    --text-muted: #808080;
    --primary: #EC5B2B; /* Orange */
    --secondary: #EE7948;
    --accent: #FFF7F1;
    --link: #6ba1e6; /* Blue as seen in the image */
    --link-hover: #82aaff;
    --border: #262626;
    --bold: #EC5B2B; /* Orange */
    --italic: #e5c07b;
}

body {
    background-color: var(--bg) !important;
    color: var(--text) !important;
    font-family: 'ZedMono', monospace !important;
}

/* Force Title to be Mono and Primary */
h1.font-serif {
    font-family: 'ZedMono', monospace !important;
    font-weight: bold;
    color: var(--primary) !important;
}

/* Headings */
h1, h2, h3, h4 {
    color: var(--primary) !important;
}

/* Links */
a {
    color: var(--link) !important;
    transition: color 0.2s ease;
}

a:hover {
    color: var(--link-hover) !important;
    text-decoration: underline;
}

/* Navigation */
nav {
    border-bottom: 1px solid var(--border) !important;
}

nav a.relative::after {
    background-color: var(--primary) !important;
}

hr {
    border-color: var(--border) !important;
}

/* Text Highlights */
.font-semibold {
    color: var(--secondary) !important;
}

/* Code Blocks */
pre {
    background-color: var(--ctp-mantle) !important;
    border: 1px solid var(--border) !important;
    border-radius: 0.5rem;
    padding: 1rem;
    margin: 1.5rem 0;
    overflow-x: auto;
    white-space: pre;
}

[data-theme="orange"] pre {
    background-color: #121212 !important;
    border-color: #1a1a1a !important;
}

[data-theme="orange"] article {
    background-color: #0a0a0a !important;
}

code {
    font-family: 'ZedMono', monospace !important;
}

/* Syntax Highlighting (Prism.js) */
.token.comment,
.token.prolog,
.token.doctype,
.token.cdata {
    color: var(--text-muted);
}

.token.punctuation {
    color: var(--text);
}

.token.namespace {
    opacity: .7;
}

.token.property,
.token.tag,
.token.boolean,
.token.number,
.token.constant,
.token.symbol,
.token.deleted {
    color: var(--secondary);
}

.token.selector,
.token.attr-name,
.token.string,
.token.char,
.token.builtin,
.token.inserted {
    color: var(--italic);
}

.token.operator,
.token.entity,
.token.url,
.language-css .token.string,
.style .token.string {
    color: var(--accent);
}

.token.atrule,
.token.attr-value,
.token.keyword {
    color: var(--primary);
}

.token.function,
.token.class-name {
    color: var(--link);
}

.token.regex,
.token.important,
.token.variable {
    color: var(--accent);
}
