:root {
    /* =========================================
       THEME: Soft Neutral Premium
       ========================================= */

    /* Core Palette */
    --bg-primary: #f6f2ec;
    --bg-secondary: #ffffff;
    --bg-tertiary: #efe9e1;
    --bg-highlight: #e6ded3;
    --bg-layer-1: #faf7f2;
    --bg-layer-2: #f2ede6;
    --surface: #ffffff;

    /* Glass Effects */
    --glass-bg: rgba(255, 255, 255, 0.72);
    --glass-bg-strong: rgba(255, 255, 255, 0.9);
    --glass-border: rgba(37, 30, 22, 0.12);
    --glass-border-light: rgba(37, 30, 22, 0.2);
    --glass-border-strong: rgba(37, 30, 22, 0.22);
    --glass-shine: rgba(255, 255, 255, 0.85);

    /* Text Colors */
    --text-heading: #1e1a14;
    --text-primary: #2b2721;
    --text-secondary: #6d645b;
    --text-tertiary: #9a8f83;
    --text-muted: #b7aba0;

    /* Accents */
    --accent-gold: #d1a25f;
    --accent-blue: #4c7aa8;
    --accent-green: #3d8f83;
    --accent-red: #cc6b6b;
    --accent-purple: #9c8aa6;

    /* Semantic */
    --success: #2f8f71;
    --danger: #c95c5c;
    --warning: #d59d4a;
    --info: #4c7aa8;

    /* Borders */
    --border: rgba(37, 30, 22, 0.1);

    /* Gradients */
    --gradient-primary: linear-gradient(135deg, rgba(255, 255, 255, 0.9) 0%, rgba(239, 233, 225, 0.9) 100%);
    --gradient-glow: radial-gradient(circle at top left, rgba(76, 122, 168, 0.08), transparent 55%),
        radial-gradient(circle at top right, rgba(209, 162, 95, 0.12), transparent 50%);

    /* Shadows */
    --shadow-sm: 0 1px 2px rgba(23, 18, 12, 0.08);
    --shadow-md: 0 8px 20px rgba(23, 18, 12, 0.12);
    --shadow-lg: 0 16px 40px rgba(23, 18, 12, 0.16);
    --shadow-xl: 0 30px 60px rgba(23, 18, 12, 0.18);
    --shadow-soft: 0 10px 30px rgba(23, 18, 12, 0.1);
    --shadow-1: 0 16px 36px rgba(23, 18, 12, 0.14);
    --shadow-glow: 0 0 20px rgba(209, 162, 95, 0.12);

    /* Typography */
    --font-heading: 'Space Grotesk', 'Segoe UI', sans-serif;
    --font-body: 'Manrope', 'Segoe UI', sans-serif;
    --font-mono: 'JetBrains Mono', ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace;

    /* Spacing & Layout */
    --header-height: 72px;
    --sidebar-width: 260px;
    --container-width: 1200px;
    --container-max: 1200px;
    --space-sm: 8px;
    --space-md: 14px;
    --space-lg: 22px;
    --space-xl: 32px;
    --space-2xl: 48px;
    --radius-sm: 6px;
    --radius-md: 12px;
    --radius-lg: 18px;
    --radius-xl: 24px;
    --radius-2xl: 28px;
    --radius-full: 9999px;

    /* Animations */
    --ease-out: cubic-bezier(0.215, 0.61, 0.355, 1);
    --ease-in-out: cubic-bezier(0.645, 0.045, 0.355, 1);
    --ease-luxury: cubic-bezier(0.25, 0.8, 0.25, 1);
    --duration-fast: 0.15s;
    --duration-normal: 0.3s;
    --duration-slow: 0.5s;
    --transition-fast: var(--duration-fast) var(--ease-out);
    --transition-base: var(--duration-normal) var(--ease-out);
}

*,
*::before,
*::after {
    box-sizing: border-box;
}

body {
    background-color: var(--bg-primary);
    color: var(--text-primary);
    font-family: var(--font-body);
    line-height: 1.65;
    background-image: var(--gradient-glow);
    background-attachment: fixed;
    margin: 0;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}

h1, h2, h3, h4, h5, h6 {
    font-family: var(--font-heading);
    color: var(--text-heading);
    margin-top: 0;
}

button,
input,
select,
textarea {
    font-family: inherit;
}

::selection {
    background: rgba(209, 162, 95, 0.25);
}

::-webkit-scrollbar {
    width: 8px;
    height: 8px;
}

::-webkit-scrollbar-track {
    background: transparent;
}

::-webkit-scrollbar-thumb {
    background: rgba(37, 30, 22, 0.18);
    border-radius: 4px;
}

::-webkit-scrollbar-thumb:hover {
    background: rgba(37, 30, 22, 0.32);
}

@keyframes shimmer {
    0% {
        background-position: -1000px 0;
    }

    100% {
        background-position: 1000px 0;
    }
}
