:root {
    /* Brand Colors (Gradient Source) */
    --clr-blurple-start: #343885; /* Deep Blurple */
    --clr-magenta-mid: #9E3D75;   /* Deep Magenta */
    --clr-coral-end: #D94255;     /* Coral Red */

    /* Action Colors */
    --clr-primary: var(--clr-blurple-start);
    --clr-accent: var(--clr-coral-end);
    --gradient-primary: linear-gradient(90deg, var(--clr-magenta-mid) 0%, var(--clr-blurple-start) 100%);
    
    /* Backgrounds */
    --clr-bg-body: #F9F9F7;       /* Off-White */
    --clr-surface: #FFFFFF;
    
    /* Text */
    --clr-text-main: #343885;     /* Deep Blurple for headings */
    --clr-text-body: #212529;     /* Bootstrap dark grey for readability */
    
    /* Sensory Safe Defaults */
    --focus-outline: 3px solid var(--clr-coral-end);
    --transition-speed: 0.3s;
}

/* HIGH CONTRAST MODE */
[data-theme="high-contrast"] {
    --clr-bg-body: #FFFFFF;
    --clr-surface: #000000;
    --clr-text-main: #000000;
    --clr-text-body: #000000;
    --clr-primary: #000080;
    --clr-accent: #D70000;
    --focus-outline: 4px solid yellow;
}

/* MUTED MODE (Low Stimulation) */
[data-theme="muted"] {
    --clr-blurple-start: #5a5d8a;
    --clr-magenta-mid: #8a6c7d;
    --clr-coral-end: #ad7880;
    
    --clr-primary: #5a5d8a; 
    --clr-accent: #ad7880;
    
    --clr-bg-body: #f4f4f4;
    --clr-text-main: #4a4a4a;
    --clr-text-body: #4a4a4a;
    
    --transition-speed: 0s; /* No animations */
}

/* DYSLEXIA FRIENDLY MODE */
[data-font="dyslexic"] {
    font-family: 'OpenDyslexic', sans-serif !important;
    line-height: 1.8 !important;
    word-spacing: 0.2em !important;
}

/* General Resets & Utilities */
body {
    background-color: var(--clr-bg-body);
    color: var(--clr-text-body);
    transition: background-color var(--transition-speed), color var(--transition-speed);
}

h1, h2, h3, h4, h5, h6 {
    color: var(--clr-text-main);
}
