:root {
    /* Main Palette */
    --c-primary: #a8d0e6;
    --c-primary-rgb: 168, 208, 230;
    --c-primary-hover: #9bc1d1;
    --c-primary-active: #b7e4f7;

    --c-secondary: #bda2cd;
    --c-secondary-rgb: 189, 162, 205;
    --c-secondary-hover: #ab95ba;
    --c-secondary-active: #cbb1dd;

    /* Backgrounds */
    --c-bg: #090b0c;
    --c-bg-rgb: 9, 11, 12;
    --c-bg-secondary: #131719;
    --c-bg-secondary-rgb: 19, 23, 25;
    --c-bg-tertiary: #1c2326;
    --c-bg-tertiary-rgb: 28, 35, 38;

    --c-glass: rgba(255, 255, 255, 0.05);
    --c-glass-strong: rgba(255, 255, 255, 0.1);

    /* Text */
    --c-text: #ffffff;
    --c-text-rgb: 255, 255, 255;
    --c-text-secondary: #e1e1e1;
    --c-text-secondary-rgb: 225, 225, 225;
    --c-text-ghost: #bababa;
    --c-text-ghost-rgb: 186, 186, 186;

    /* Borders */
    --c-border: color-mix(in srgb, var(--c-text), transparent 92%);
    --c-border-rgb: 255, 255, 255;
    --c-border-secondary: color-mix(in srgb, var(--c-text), transparent 88%);
    --c-border-secondary-rgb: 255, 255, 255;
    --c-border-tertiary: color-mix(in srgb, var(--c-text), transparent 82%);
    --c-border-tertiary-rgb: 255, 255, 255;

    /* Feedback */
    --c-success: #10b981;
    --c-success-rgb: 16, 185, 129;
    --c-error: #ef4444;
    --c-error-rgb: 239, 68, 68;
    --c-warning: #f59e0b;
    --c-warning-rgb: 245, 158, 11;
}

/* Color Utilities */

/* Text Colors */
.text-primary {
    color: var(--c-primary);
}

.text-secondary {
    color: var(--c-secondary);
}

.text-main {
    color: var(--c-text);
}

.text-white {
    color: white;
}

.text-ghost {
    color: var(--c-text-ghost);
}

.text-success {
    color: var(--c-success);
}

.text-error {
    color: var(--c-error);
}

.text-warning {
    color: var(--c-warning);
}

.text-gradient {
    background: linear-gradient(135deg, var(--c-primary) 0%, var(--c-secondary) 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    color: transparent;
    display: inline-block;
}

/* Backgrounds */
.bg-main {
    background-color: var(--c-bg);
}

.bg-secondary {
    background-color: var(--c-bg-secondary);
}

.bg-tertiary {
    background-color: var(--c-bg-tertiary);
}

.bg-primary {
    background-color: var(--c-primary);
    color: var(--c-bg);
}

.bg-secondary-accent {
    background-color: var(--c-secondary);
    color: var(--c-bg);
}

/* Glassmorphism */
.bg-glass {
    background-color: color-mix(in srgb, var(--c-bg), transparent 50%);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border: 1px solid color-mix(in srgb, var(--c-text), transparent 92%);
}

.bg-glass-strong {
    background-color: color-mix(in srgb, var(--c-bg), transparent 40%);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    border: 1px solid color-mix(in srgb, var(--c-text), transparent 90%);
}

/* Borders */
.border-main {
    border: 1px solid var(--c-border);
}

.border-secondary {
    border: 1px solid var(--c-border-secondary);
}

.border-primary {
    border: 1px solid var(--c-primary);
}