:root, .light-theme {
    --primary:var(--accent-color-light);
    --on-primary:#ffffff;
    --primary-rgb: var(--accent-color-light-rgb);
    --primary-container:#ebddff;
    --on-primary-container:#250059;
    --secondary:#635b70;
    --on-secondary:#ffffff;
    --secondary-container:#e9def8;
    --on-secondary-container:#1f182b;
    --tertiary:#7e525d;
    --on-tertiary:#ffffff;
    --tertiary-container:#ffd9e1;
    --on-tertiary-container:#31101b;
    --success:#02e578;
    --error:#ba1a1a;
    --on-error:#ffffff;
    --error-rgb: 186, 26, 26;
    --error-container:#ffdad6;
    --error-container-rgb: 255, 218, 214;
    --on-error-container:#410002;
    --error-text:crimson;
    --error-text-rgb: 220, 20, 60;
    --background: var(--page-bg-color-light);
    --on-background: var(--page-bg-color-dark);
    --background-rgb: var(--page-bg-color-dark-rgb);
    --surface:#eeeee8;
    --on-surface: var(--page-bg-color-dark);
    --on-surface-rgb: 238, 238, 232;
    --surface-variant:#e7e0eb;
    --on-surface-variant:#49454e;
    --on-surface-variant-rgb: 73, 69, 78;
    --outline:#7a757f;
    --outline-variant:#cbc4cf;
    --shadow:#000000;
    --scrim:#000000;
    --inverse-surface:#323033;
    --inverse-on-surface:#f5eff4;
    --inverse-primary: var(--secondary-color-light);
    --inverse-primary-rgb: var(--secondary-color-light-rgb);
    --surface-dim:#ded8dd;
    --surface-bright:#eeeee8;
    --surface-container-lowest:#ffffff;
    --surface-container-lowest-rgb: 255, 255, 255;
    --surface-container-low: var(--container-bg-color-light);
    --surface-container-low-rgb: var(--container-bg-color-light-rgb);
    --surface-container:#f0f0eb;
    --surface-container-rgb: 240, 240, 235;
    --surface-container-high:#e9e9e4;
    --surface-container-high-rgb: 233, 233, 228;
    --surface-container-highest:#e2e2dd;
    --surface-container-highest-rgb: 226, 226, 221;

    /* Component-specific colors */
    --message-assistant-bg: var(--tertiary-color-light-rgb);
    --message-assistant-text: var(--page-bg-color-dark);
    --message-user-bg: var(--accent-color-light-rgb);
    --message-user-text: var(--page-bg-color-dark);
    --message-system-bg: #f2ecf1;
    --message-system-text: var(--page-bg-color-dark);
    --file-info-bg: #ece6eb;
    --file-info-text: var(--page-bg-color-dark);
    --input-section-bg: var(--container-bg-color-light);
    --input-section-bg-rgb: var(--container-bg-color-light-rgb);
    --input-section-border: #e7e0eb;
    --input-bg: #ffffff;
    --input-border: #cbc4cf;
    --input-text: var(--page-bg-color-dark);
    --card-bg: var(--card-bg-color-light);
    --card-bg-rgb: var(--card-bg-color-light-rgb);
}

.dark-theme {
    --primary: var(--accent-color-dark);
    --on-primary:#ffffff;
    --primary-rgb: var(--accent-color-dark-rgb);
    --primary-container:#5727a6;
    --on-primary-container:#ebddff;
    --secondary:#cdc2db;
    --on-secondary:#342d40;
    --secondary-container:#4b4358;
    --on-secondary-container:#e9def8;
    --tertiary:#f0b7c5;
    --on-tertiary:#4a2530;
    --tertiary-container:#643b46;
    --on-tertiary-container:#ffd9e1;
    --success:#02e578;
    --error:#ffd6d1;
    --on-error:#690005;
    --error-rgb: 255, 180, 171;
    --error-container:#93000a;
    --error-container-rgb: 147, 0, 10;
    --on-error-container:#ffb4ab;
    --error-text:crimson;
    --error-text-rgb: 220, 20, 60;
    --background: var(--page-bg-color-dark);
    --on-background:#e6e1e6;
    --background-rgb: var(--page-bg-color-dark-rgb);
    --surface:#1b1b1b;
    --on-surface:#e6e1e6;
    --on-surface-rgb: 27, 27, 27;
    --surface-variant:#49454e;
    --on-surface-variant:#cbc4cf;
    --on-surface-variant-rgb: 73, 69, 78;
    --outline:#948f99;
    --outline-variant:#49454e;
    --shadow:#000000;
    --scrim:#000000;
    --inverse-surface:#e6e1e6;
    --inverse-on-surface:#323033;
    --inverse-primary: var(--secondary-color-dark);
    --inverse-primary-rgb: var(--secondary-color-dark-rgb);
    --surface-dim:#141316;
    --surface-bright:#3b383c;
    --surface-container-lowest:#0f0e11;
    --surface-container-lowest-rgb: 15, 14, 17;
    --surface-container-low: var(--container-bg-color-dark);
    --surface-container-low-rgb: var(--container-bg-color-dark-rgb);
    --surface-container:#211f22;
    --surface-container-rgb: 33, 31, 34;
    --surface-container-high:#2b292d;
    --surface-container-high-rgb: 43, 41, 45;
    --surface-container-highest:#363438;
    --surface-container-highest-rgb: 54, 52, 56;

    /* Component-specific colors */
    --message-assistant-bg: var(--tertiary-color-dark-rgb);
    --message-assistant-text: #e6e1e6;
    --message-user-bg: var(--accent-color-dark-rgb);
    --message-user-text: #e6e1e6;
    --message-system-bg: #28242b;
    --message-system-text: #e6e1e6;
    --file-info-bg: #2b292d;
    --file-info-text: #e6e1e6;
    --input-section-bg: var(--container-bg-color-dark);
    --input-section-bg-rgb: var(--container-bg-color-dark-rgb);
    --input-section-border: #49454e;
    --input-bg: #2b292d;
    --input-border: #49454e;
    --input-text: #e6e1e6;
    --card-bg: var(--card-bg-color-dark);
    --card-bg-rgb: var(--card-bg-color-dark-rgb);
}