:root {
    /* Color Palette - Refined Dark (Better contrast, less pure black) */
    --clr-bg: #0f172a;
    /* Slate 900 */
    --clr-surface: #1e293b;
    /* Slate 800 */
    --clr-overlay: #334155;
    /* Slate 700 */
    --clr-primary: #818cf8;
    /* Indigo lighter */
    --clr-primary-light: #a5b4fc;
    --clr-primary-dark: #6366f1;
    --clr-text-base: #f8fafc;
    --clr-text-muted: #94a3b8;
    --clr-text-dim: #64748b;
    --clr-white: #ffffff;
    --clr-accent: #34d399;
    /* Emerald */
    --clr-error: #f87171;

    /* Reduced Spacing */
    --space-xs: 0.25rem;
    --space-sm: 0.5rem;
    --space-md: 0.75rem;
    --space-lg: 1.25rem;
    --space-xl: 1.75rem;
    --space-xxl: 3rem;
    /* Reduced from 5rem */

    /* Typography */
    --font-primary: 'Outfit', sans-serif;
    --font-serif: 'Bodoni Moda', serif;
    --fs-sm: 0.875rem;
    --fs-base: 1rem;
    --fs-lg: 1.125rem;
    --fs-xl: 1.25rem;
    --fs-xxl: 1.5rem;
    --fs-hero: clamp(2rem, 5vw, 3.5rem);

    /* Transitions */
    --trans-fast: 0.2s cubic-bezier(0.4, 0, 0.2, 1);
    --trans-smooth: 0.3s cubic-bezier(0.4, 0, 0.2, 1);

    /* Borders & Shadow */
    --radius-sm: 4px;
    --radius-md: 8px;
    --radius-lg: 16px;
    --radius-full: 9999px;
    --shadow-soft: 0 4px 20px rgba(0, 0, 0, 0.3);
    --shadow-glow: 0 0 15px rgba(99, 102, 241, 0.2);

    /* Layout */
    --header-height: 70px;
    --container-max-width: 1200px;
}

.theme-dark {
    background-color: var(--clr-bg);
    color: var(--clr-text-base);
}

* {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

body {
    font-family: var(--font-primary);
    line-height: 1.5;
    -webkit-font-smoothing: antialiased;
    overflow-x: hidden;
    background-color: var(--clr-bg);
    color: var(--clr-text-base);
}

/* Custom Scrollbar Styling */
::-webkit-scrollbar {
    width: 10px;
}

::-webkit-scrollbar-track {
    background: var(--clr-bg);
}

::-webkit-scrollbar-thumb {
    background: var(--clr-overlay);
    border-radius: var(--radius-full);
    border: 2px solid var(--clr-bg);
}

::-webkit-scrollbar-thumb:hover {
    background: var(--clr-primary);
}

a {
    text-decoration: none;
    color: inherit;
    transition: var(--trans-fast);
}

button {
    font-family: inherit;
    cursor: pointer;
    border: none;
    background: none;
}

ul {
    list-style: none;
}

img {
    max-width: 100%;
    height: auto;
    display: block;
}
