/* ========== THEME DEFINITIONS ========== */

/* --- LAVENDER (Default) --- */
:root,
[data-color="lavender"],
:root:not([data-color]) {
    /* Light */
    --md-sys-color-primary: #6A46C4;
    --md-sys-color-on-primary: #FFFFFF;
    --md-sys-color-primary-container: #E9DDFF;
    --md-sys-color-on-primary-container: #22005D;
    --md-sys-color-secondary: #625B71;
    --md-sys-color-on-secondary: #FFFFFF;
    --md-sys-color-secondary-container: #E8DEF8;
    --md-sys-color-on-secondary-container: #1E192B;
    --md-sys-color-tertiary: #7D5260;
    --md-sys-color-on-tertiary: #FFFFFF;
    --md-sys-color-tertiary-container: #FFD8E4;
    --md-sys-color-on-tertiary-container: #31111D;
    --md-sys-color-error: #BA1A1A;
    --md-sys-color-on-error: #FFFFFF;
    --md-sys-color-error-container: #FFDAD6;
    --md-sys-color-on-error-container: #410002;
    --md-sys-color-confirm: #006E1C;
    --md-sys-color-on-confirm: #FFFFFF;
    --md-sys-color-confirm-container: #9EF49A;
    --md-sys-color-on-confirm-container: #002205;
    --md-sys-color-background: #FFFBFF;
    --md-sys-color-on-background: #1C1B1F;
    --md-sys-color-surface: #FFFBFF;
    --md-sys-color-on-surface: #1C1B1F;
    --md-sys-color-surface-variant: #E7E0EC;
    --md-sys-color-on-surface-variant: #49454F;
    --md-sys-color-outline: #79747E;
    --md-sys-color-outline-variant: #CAC4D0;
    --md-sys-color-surface-container-lowest: #FFFFFF;
    --md-sys-color-surface-container-low: #F7F2FA;
    --md-sys-color-surface-container: #F3EDF7;
    --md-sys-color-surface-container-high: #EEE8F1;
    --md-sys-color-surface-container-highest: #E8E2EB;
}

[data-color="lavender"][data-mode="dark"],
:root:not([data-color])[data-mode="dark"] {
    /* Dark */
    --md-sys-color-primary: #CFBCFF;
    --md-sys-color-on-primary: #3A0693;
    --md-sys-color-primary-container: #5128AA;
    --md-sys-color-on-primary-container: #E9DDFF;
    --md-sys-color-secondary: #CCC2DC;
    --md-sys-color-on-secondary: #332D41;
    --md-sys-color-secondary-container: #4A4458;
    --md-sys-color-on-secondary-container: #E8DEF8;
    --md-sys-color-tertiary: #EFB8C8;
    --md-sys-color-on-tertiary: #492532;
    --md-sys-color-tertiary-container: #633B48;
    --md-sys-color-on-tertiary-container: #FFD8E4;
    --md-sys-color-error: #FFB4AB;
    --md-sys-color-on-error: #690005;
    --md-sys-color-error-container: #93000A;
    --md-sys-color-on-error-container: #FFDAD6;
    --md-sys-color-confirm: #83D781;
    --md-sys-color-on-confirm: #00390A;
    --md-sys-color-confirm-container: #005313;
    --md-sys-color-on-confirm-container: #9EF49A;
    --md-sys-color-background: #141218;
    --md-sys-color-on-background: #E6E1E5;
    --md-sys-color-surface: #141218;
    --md-sys-color-on-surface: #E6E1E5;
    --md-sys-color-surface-variant: #49454F;
    --md-sys-color-on-surface-variant: #CAC4D0;
    --md-sys-color-outline: #938F99;
    --md-sys-color-outline-variant: #49454F;
    --md-sys-color-surface-container-lowest: #0F0D13;
    --md-sys-color-surface-container-low: #1C1B1F;
    --md-sys-color-surface-container: #201F23;
    --md-sys-color-surface-container-high: #2B292E;
    --md-sys-color-surface-container-highest: #363439;
}

/* --- PYTHON (Bright Yellow) --- */
[data-color="python"] {
    /* Light */
    --md-sys-color-primary: #FFD600;
    --md-sys-color-on-primary: #000000;
    --md-sys-color-primary-container: #FFF9C4;
    --md-sys-color-on-primary-container: #212121;
    --md-sys-color-secondary: #FFECB3;
    --md-sys-color-on-secondary: #000000;
    --md-sys-color-secondary-container: #FFF8E1;
    --md-sys-color-on-secondary-container: #212121;
    --md-sys-color-tertiary: #FFE082;
    --md-sys-color-on-tertiary: #000000;
    --md-sys-color-tertiary-container: #FFECB3;
    --md-sys-color-on-tertiary-container: #212121;
    --md-sys-color-error: #BA1A1A;
    --md-sys-color-on-error: #FFFFFF;
    --md-sys-color-error-container: #FFDAD6;
    --md-sys-color-on-error-container: #410002;
    --md-sys-color-confirm: #006E1C;
    --md-sys-color-on-confirm: #FFFFFF;
    --md-sys-color-confirm-container: #9EF49A;
    --md-sys-color-on-confirm-container: #002205;
    --md-sys-color-background: #FFFDE7;
    --md-sys-color-on-background: #1D1D1D;
    --md-sys-color-surface: #FFFDE7;
    --md-sys-color-on-surface: #1D1D1D;
    --md-sys-color-surface-variant: #F0F0F0;
    --md-sys-color-on-surface-variant: #4B4B4B;
    --md-sys-color-outline: #8C8C8C;
    --md-sys-color-outline-variant: #C4C4C4;
    --md-sys-color-surface-container-lowest: #FFFFFF;
    --md-sys-color-surface-container-low: #FFF9C4;
    --md-sys-color-surface-container: #FFF59D;
    --md-sys-color-surface-container-high: #FFF176;
    --md-sys-color-surface-container-highest: #FFEE58;
}

[data-color="python"][data-mode="dark"] {
    /* Dark */
    --md-sys-color-primary: #FFD600;
    --md-sys-color-on-primary: #000000;
    --md-sys-color-primary-container: #FBC02D;
    --md-sys-color-on-primary-container: #000000;
    --md-sys-color-secondary: #FFCA28;
    --md-sys-color-on-secondary: #000000;
    --md-sys-color-secondary-container: #FFB300;
    --md-sys-color-on-secondary-container: #000000;
    --md-sys-color-tertiary: #FFB74D;
    --md-sys-color-on-tertiary: #000000;
    --md-sys-color-tertiary-container: #FFA726;
    --md-sys-color-on-tertiary-container: #000000;
    --md-sys-color-error: #FFB4AB;
    --md-sys-color-on-error: #690005;
    --md-sys-color-error-container: #93000A;
    --md-sys-color-on-error-container: #FFDAD6;
    --md-sys-color-confirm: #83D781;
    --md-sys-color-on-confirm: #00390A;
    --md-sys-color-confirm-container: #005313;
    --md-sys-color-on-confirm-container: #9EF49A;
    --md-sys-color-background: #121212;
    /* Darker background for contrast */
    --md-sys-color-on-background: #FFF9C4;
    --md-sys-color-surface: #121212;
    --md-sys-color-on-surface: #FFF9C4;
    --md-sys-color-surface-variant: #4B4B4B;
    --md-sys-color-on-surface-variant: #C4C4C4;
    --md-sys-color-outline: #8C8C8C;
    --md-sys-color-outline-variant: #4B4B4B;
    --md-sys-color-surface-container-lowest: #0F0F0F;
    --md-sys-color-surface-container-low: #1E1E1E;
    /* Lighter container */
    --md-sys-color-surface-container: #252525;
    /* Lighter container */
    --md-sys-color-surface-container-high: #2D2D2D;
    /* Lighter container */
    --md-sys-color-surface-container-highest: #353535;
}

/* --- SAGE (Bluish-Sage) --- */
[data-color="sage"] {
    /* Light - Shifted towards Blue/Teal */
    --md-sys-color-primary: #4A7A75;
    /* Bluish Sage */
    --md-sys-color-on-primary: #FFFFFF;
    --md-sys-color-primary-container: #C8E6C9;
    --md-sys-color-on-primary-container: #00201A;
    --md-sys-color-secondary: #5C8C87;
    --md-sys-color-on-secondary: #FFFFFF;
    --md-sys-color-secondary-container: #DAEBE8;
    --md-sys-color-on-secondary-container: #00201D;
    --md-sys-color-tertiary: #527C78;
    --md-sys-color-on-tertiary: #FFFFFF;
    --md-sys-color-tertiary-container: #D6E8E5;
    --md-sys-color-on-tertiary-container: #00201E;
    --md-sys-color-error: #BA1A1A;
    --md-sys-color-on-error: #FFFFFF;
    --md-sys-color-error-container: #FFDAD6;
    --md-sys-color-on-error-container: #410002;
    --md-sys-color-confirm: #006E1C;
    --md-sys-color-on-confirm: #FFFFFF;
    --md-sys-color-confirm-container: #9EF49A;
    --md-sys-color-on-confirm-container: #002205;
    --md-sys-color-background: #F4F9F8;
    --md-sys-color-on-background: #191C1C;
    --md-sys-color-surface: #F4F9F8;
    --md-sys-color-on-surface: #191C1C;
    --md-sys-color-surface-variant: #DAE5E3;
    --md-sys-color-on-surface-variant: #3F4947;
    --md-sys-color-outline: #6F7977;
    --md-sys-color-outline-variant: #BFC9C7;
    --md-sys-color-surface-container-lowest: #FFFFFF;
    --md-sys-color-surface-container-low: #EFF5F4;
    --md-sys-color-surface-container: #E9EFEE;
    --md-sys-color-surface-container-high: #E3E9E8;
    --md-sys-color-surface-container-highest: #DEE4E3;
}

[data-color="sage"][data-mode="dark"] {
    /* Dark */
    --md-sys-color-primary: #81C784;
    --md-sys-color-on-primary: #003300;
    --md-sys-color-primary-container: #2E7D32;
    --md-sys-color-on-primary-container: #A5D6A7;
    --md-sys-color-secondary: #A5D6A7;
    --md-sys-color-on-secondary: #003300;
    --md-sys-color-secondary-container: #388E3C;
    --md-sys-color-on-secondary-container: #C8E6C9;
    --md-sys-color-tertiary: #C8E6C9;
    --md-sys-color-on-tertiary: #003300;
    --md-sys-color-tertiary-container: #43A047;
    --md-sys-color-on-tertiary-container: #E8F5E9;
    --md-sys-color-error: #FFB4AB;
    --md-sys-color-on-error: #690005;
    --md-sys-color-error-container: #93000A;
    --md-sys-color-on-error-container: #FFDAD6;
    --md-sys-color-confirm: #83D781;
    --md-sys-color-on-confirm: #00390A;
    --md-sys-color-confirm-container: #005313;
    --md-sys-color-on-confirm-container: #9EF49A;
    --md-sys-color-background: #121212;
    /* Darker background */
    --md-sys-color-on-background: #E8F5E9;
    --md-sys-color-surface: #121212;
    --md-sys-color-on-surface: #E8F5E9;
    --md-sys-color-surface-variant: #33691E;
    --md-sys-color-on-surface-variant: #AED581;
    --md-sys-color-outline: #81C784;
    --md-sys-color-outline-variant: #33691E;
    --md-sys-color-surface-container-lowest: #0F0F0F;
    --md-sys-color-surface-container-low: #1E1E1E;
    /* Lighter container */
    --md-sys-color-surface-container: #252525;
    /* Lighter container */
    --md-sys-color-surface-container-high: #2D2D2D;
    /* Lighter container */
    --md-sys-color-surface-container-highest: #353535;
}

/* --- BUBBLEGUM (Hot Pink) --- */
[data-color="bubblegum"] {
    /* Light */
    --md-sys-color-primary: #E91E63;
    --md-sys-color-on-primary: #FFFFFF;
    --md-sys-color-primary-container: #F8BBD0;
    --md-sys-color-on-primary-container: #880E4F;
    --md-sys-color-secondary: #EC407A;
    --md-sys-color-on-secondary: #FFFFFF;
    --md-sys-color-secondary-container: #F48FB1;
    --md-sys-color-on-secondary-container: #880E4F;
    --md-sys-color-tertiary: #F06292;
    --md-sys-color-on-tertiary: #FFFFFF;
    --md-sys-color-tertiary-container: #FCE4EC;
    --md-sys-color-on-tertiary-container: #880E4F;
    --md-sys-color-error: #BA1A1A;
    --md-sys-color-on-error: #FFFFFF;
    --md-sys-color-error-container: #FFDAD6;
    --md-sys-color-on-error-container: #410002;
    --md-sys-color-confirm: #006E1C;
    --md-sys-color-on-confirm: #FFFFFF;
    --md-sys-color-confirm-container: #9EF49A;
    --md-sys-color-on-confirm-container: #002205;
    --md-sys-color-background: #FFF0F5;
    --md-sys-color-on-background: #2B0014;
    --md-sys-color-surface: #FFF0F5;
    --md-sys-color-on-surface: #2B0014;
    --md-sys-color-surface-variant: #F8BBD0;
    --md-sys-color-on-surface-variant: #880E4F;
    --md-sys-color-outline: #F48FB1;
    --md-sys-color-outline-variant: #F06292;
    --md-sys-color-surface-container-lowest: #FFFFFF;
    --md-sys-color-surface-container-low: #FCE4EC;
    --md-sys-color-surface-container: #F8BBD0;
    --md-sys-color-surface-container-high: #F48FB1;
    --md-sys-color-surface-container-highest: #F06292;
}

[data-color="bubblegum"][data-mode="dark"] {
    /* Dark */
    --md-sys-color-primary: #F48FB1;
    --md-sys-color-on-primary: #880E4F;
    --md-sys-color-primary-container: #C2185B;
    --md-sys-color-on-primary-container: #F8BBD0;
    --md-sys-color-secondary: #F06292;
    --md-sys-color-on-secondary: #880E4F;
    --md-sys-color-secondary-container: #D81B60;
    --md-sys-color-on-secondary-container: #F48FB1;
    --md-sys-color-tertiary: #EC407A;
    --md-sys-color-on-tertiary: #880E4F;
    --md-sys-color-tertiary-container: #E91E63;
    --md-sys-color-on-tertiary-container: #FCE4EC;
    --md-sys-color-error: #FFB4AB;
    --md-sys-color-on-error: #690005;
    --md-sys-color-error-container: #93000A;
    --md-sys-color-on-error-container: #FFDAD6;
    --md-sys-color-confirm: #83D781;
    --md-sys-color-on-confirm: #00390A;
    --md-sys-color-confirm-container: #005313;
    --md-sys-color-on-confirm-container: #9EF49A;
    --md-sys-color-background: #121212;
    /* Darker background */
    --md-sys-color-on-background: #FCE4EC;
    --md-sys-color-surface: #121212;
    --md-sys-color-on-surface: #FCE4EC;
    --md-sys-color-surface-variant: #880E4F;
    --md-sys-color-on-surface-variant: #F48FB1;
    --md-sys-color-outline: #EC407A;
    --md-sys-color-outline-variant: #880E4F;
    --md-sys-color-surface-container-lowest: #0F0F0F;
    --md-sys-color-surface-container-low: #1E1E1E;
    /* Lighter container */
    --md-sys-color-surface-container: #252525;
    /* Lighter container */
    --md-sys-color-surface-container-high: #2D2D2D;
    /* Lighter container */
    --md-sys-color-surface-container-highest: #353535;
}

/* --- OCEAN (Deep Navy) --- */
[data-color="ocean"] {
    /* Light */
    --md-sys-color-primary: #0D47A1;
    --md-sys-color-on-primary: #FFFFFF;
    --md-sys-color-primary-container: #BBDEFB;
    --md-sys-color-on-primary-container: #002171;
    --md-sys-color-secondary: #1565C0;
    --md-sys-color-on-secondary: #FFFFFF;
    --md-sys-color-secondary-container: #90CAF9;
    --md-sys-color-on-secondary-container: #002171;
    --md-sys-color-tertiary: #1976D2;
    --md-sys-color-on-tertiary: #FFFFFF;
    --md-sys-color-tertiary-container: #E3F2FD;
    --md-sys-color-on-tertiary-container: #0D47A1;
    --md-sys-color-error: #BA1A1A;
    --md-sys-color-on-error: #FFFFFF;
    --md-sys-color-error-container: #FFDAD6;
    --md-sys-color-on-error-container: #410002;
    --md-sys-color-confirm: #006E1C;
    --md-sys-color-on-confirm: #FFFFFF;
    --md-sys-color-confirm-container: #9EF49A;
    --md-sys-color-on-confirm-container: #002205;
    --md-sys-color-background: #F0F7FF;
    /* Slightly darker background to contrast with containers */
    --md-sys-color-on-background: #001029;
    --md-sys-color-surface: #F0F7FF;
    --md-sys-color-on-surface: #001029;
    --md-sys-color-surface-variant: #BBDEFB;
    --md-sys-color-on-surface-variant: #0D47A1;
    --md-sys-color-outline: #64B5F6;
    --md-sys-color-outline-variant: #90CAF9;
    --md-sys-color-surface-container-lowest: #FFFFFF;
    --md-sys-color-surface-container-low: #E8F3FF;
    /* Darker container */
    --md-sys-color-surface-container: #DEEDFF;
    /* Darker container */
    --md-sys-color-surface-container-high: #D4E7FF;
    /* Darker container */
    --md-sys-color-surface-container-highest: #CAE1FF;
}

[data-color="ocean"][data-mode="dark"] {
    /* Dark */
    --md-sys-color-primary: #90CAF9;
    --md-sys-color-on-primary: #0D47A1;
    --md-sys-color-primary-container: #1565C0;
    --md-sys-color-on-primary-container: #BBDEFB;
    --md-sys-color-secondary: #64B5F6;
    --md-sys-color-on-secondary: #0D47A1;
    --md-sys-color-secondary-container: #1976D2;
    --md-sys-color-on-secondary-container: #90CAF9;
    --md-sys-color-tertiary: #42A5F5;
    --md-sys-color-on-tertiary: #0D47A1;
    --md-sys-color-tertiary-container: #1E88E5;
    --md-sys-color-on-tertiary-container: #E3F2FD;
    --md-sys-color-error: #FFB4AB;
    --md-sys-color-on-error: #690005;
    --md-sys-color-error-container: #93000A;
    --md-sys-color-on-error-container: #FFDAD6;
    --md-sys-color-confirm: #83D781;
    --md-sys-color-on-confirm: #00390A;
    --md-sys-color-confirm-container: #005313;
    --md-sys-color-on-confirm-container: #9EF49A;
    --md-sys-color-background: #080A0E;
    /* Darker background */
    --md-sys-color-on-background: #E3F2FD;
    --md-sys-color-surface: #080A0E;
    --md-sys-color-on-surface: #E3F2FD;
    --md-sys-color-surface-variant: #0D47A1;
    --md-sys-color-on-surface-variant: #90CAF9;
    --md-sys-color-outline: #42A5F5;
    --md-sys-color-outline-variant: #0D47A1;
    --md-sys-color-surface-container-lowest: #0F0F0F;
    --md-sys-color-surface-container-low: #1A1C20;
    /* Lighter container */
    --md-sys-color-surface-container: #202226;
    /* Lighter container */
    --md-sys-color-surface-container-high: #282A2E;
    /* Lighter container */
    --md-sys-color-surface-container-highest: #303236;
}

/* --- BORING (Strict Black & White) --- */
[data-color="boring"] {
    /* Light */
    --md-sys-color-primary: #000000;
    --md-sys-color-on-primary: #FFFFFF;
    --md-sys-color-primary-container: #E0E0E0;
    --md-sys-color-on-primary-container: #000000;
    --md-sys-color-secondary: #404040;
    --md-sys-color-on-secondary: #FFFFFF;
    --md-sys-color-secondary-container: #F0F0F0;
    --md-sys-color-on-secondary-container: #000000;
    --md-sys-color-tertiary: #757575;
    --md-sys-color-on-tertiary: #FFFFFF;
    --md-sys-color-tertiary-container: #F5F5F5;
    --md-sys-color-on-tertiary-container: #000000;
    --md-sys-color-error: #BA1A1A;
    --md-sys-color-on-error: #FFFFFF;
    --md-sys-color-error-container: #FFDAD6;
    --md-sys-color-on-error-container: #410002;
    --md-sys-color-confirm: #006E1C;
    --md-sys-color-on-confirm: #FFFFFF;
    --md-sys-color-confirm-container: #9EF49A;
    --md-sys-color-on-confirm-container: #002205;
    --md-sys-color-background: #FFFFFF;
    --md-sys-color-on-background: #000000;
    --md-sys-color-surface: #FFFFFF;
    --md-sys-color-on-surface: #000000;
    --md-sys-color-surface-variant: #E0E0E0;
    --md-sys-color-on-surface-variant: #000000;
    --md-sys-color-outline: #000000;
    --md-sys-color-outline-variant: #BDBDBD;
    --md-sys-color-surface-container-lowest: #FFFFFF;
    --md-sys-color-surface-container-low: #F5F5F5;
    --md-sys-color-surface-container: #EEEEEE;
    --md-sys-color-surface-container-high: #E0E0E0;
    --md-sys-color-surface-container-highest: #BDBDBD;
}

[data-color="boring"][data-mode="dark"] {
    /* Dark */
    --md-sys-color-primary: #FFFFFF;
    --md-sys-color-on-primary: #000000;
    --md-sys-color-primary-container: #424242;
    --md-sys-color-on-primary-container: #FFFFFF;
    --md-sys-color-secondary: #E0E0E0;
    --md-sys-color-on-secondary: #000000;
    --md-sys-color-secondary-container: #616161;
    --md-sys-color-on-secondary-container: #FFFFFF;
    --md-sys-color-tertiary: #BDBDBD;
    --md-sys-color-on-tertiary: #000000;
    --md-sys-color-tertiary-container: #757575;
    --md-sys-color-on-tertiary-container: #FFFFFF;
    --md-sys-color-error: #FFB4AB;
    --md-sys-color-on-error: #690005;
    --md-sys-color-error-container: #93000A;
    --md-sys-color-on-error-container: #FFDAD6;
    --md-sys-color-confirm: #83D781;
    --md-sys-color-on-confirm: #00390A;
    --md-sys-color-confirm-container: #005313;
    --md-sys-color-on-confirm-container: #9EF49A;
    --md-sys-color-background: #000000;
    --md-sys-color-on-background: #FFFFFF;
    --md-sys-color-surface: #000000;
    --md-sys-color-on-surface: #FFFFFF;
    --md-sys-color-surface-variant: #424242;
    --md-sys-color-on-surface-variant: #FFFFFF;
    --md-sys-color-outline: #FFFFFF;
    --md-sys-color-outline-variant: #757575;
    --md-sys-color-surface-container-lowest: #000000;
    --md-sys-color-surface-container-low: #121212;
    --md-sys-color-surface-container: #212121;
    --md-sys-color-surface-container-high: #303030;
    --md-sys-color-surface-container-highest: #424242;
}