@mixin light_theme() {

    // Fix colors
    --c-green: #1dd081;
    --c-green-accent: #1eba76;
    --c-green-focus: rgba(22, 233, 82, 0.42);

    --c-red: #ef3840;
    --c-red-accent: #d43139;
    --c-red-focus: rgba(227, 43, 43, 0.42);

    --c-yellow: #dcb909;
    --c-yellow-accent: #b89d10;
    --c-yellow-focus: rgba(215, 215, 20, 0.42);

    --c-primary: #3d7cf9;
    --c-primary-accent: #2e6dea;
    --c-primary-focus: rgba(3, 74, 216, 0.42);

    // Text colors
    --c-text-primary: #3e454d;
    --c-text-primary-accent: #4b515d;
    --c-text-secondary: #fff; // Always white, used for fixed-colors
    --c-text-disabled: #747f8d;

    // Background colors
    --c-background-primary: #fff;
    --c-background-primary-accent: #ebecf0;
    --c-background-secondary: #ecedef;
    --c-background-secondary-accent: #e1e2e3;
    --c-background-tertiary: rgba(0, 0, 0, 0.25); // Used for box-shadows
}

@mixin dark_theme() {
    --c-text-primary: #fafafa;
    --c-text-primary-accent: #dcddde;
    --c-text-secondary: #f0f0f0;
    --c-text-disabled: #565a61;

    --c-background-primary: #2f3136;
    --c-background-primary-accent: #1d1e20;
    --c-background-secondary: #202225;
    --c-background-secondary-accent: #1d1f21;
    --c-background-tertiary: rgba(0, 0, 0, 0.65);

    --c-primary-focus: rgba(43, 104, 227, 0.42);
    --c-yellow-focus: rgba(233, 230, 22, 0.42);
}

@mixin light_theme_high_contrast() {
    --c-green: #0bd05a;
    --c-green-accent: #0fc157;
    --c-green-focus: rgba(0, 255, 68, 0.5);

    --c-red: #ff1b25;
    --c-red-accent: #d00e17;
    --c-red-focus: rgba(255, 0, 0, 0.5);

    --c-yellow: #dcd312;
    --c-yellow-accent: #bdb416;
    --c-yellow-focus: rgba(255, 255, 0, 0.5);

    --c-primary: #0655ec;
    --c-primary-accent: #0d52d2;
    --c-primary-focus: rgba(0, 85, 255, 0.5);

    --c-text-primary: #000;
    --c-text-primary-accent: #2d2d2d;
    --c-text-secondary: #fff;
    --c-text-disabled: #575e66;

    --c-background-primary: #fff;
    --c-background-primary-accent: #ebecf0;
    --c-background-secondary: #ecedef;
    --c-background-secondary-accent: #e1e2e3;
    --c-background-tertiary: rgba(0, 0, 0, 0.25);
}

@mixin dark_theme_high_contrast() {
    --c-text-primary: #fff;
    --c-text-primary-accent: #f2f2f2;
    --c-text-secondary: #fff;
    --c-text-disabled: #b6b9bf;

    --c-background-primary: #373a40;
    --c-background-primary-accent: #000;
    --c-background-secondary: #16171a;
    --c-background-secondary-accent: #000;
    --c-background-tertiary: #000;
}
