:root {
  --fix-oi-green-25: 52, 70, 47;
  --fix-oi-green-50: 53, 88, 42;
  --fix-oi-green: 55, 126, 34;
  --fix-oi-green-mid: 90, 201, 55;
  --fix-oi-green-light: 178, 230, 162;
  --fix-oi-green-light-50: 216, 242, 208;
  --fix-oi-green-light-25: 236, 249, 232;

  --fix-filter-oi-green: brightness(0) saturate(100%) invert(40%) sepia(13%) saturate(2455%) hue-rotate(61deg) brightness(95%) contrast(86%);
  --fix-filter-oi-green-mid: brightness(0) saturate(100%) invert(71%) sepia(82%) saturate(456%) hue-rotate(51deg) brightness(86%) contrast(85%);
  --fix-filter-oi-green-light: brightness(0) saturate(100%) invert(91%) sepia(13%) saturate(913%) hue-rotate(51deg) brightness(95%) contrast(92%);
  
  --fix-oi-yellow-25: 46, 32, 6;
  --fix-oi-yellow-50: 92, 65, 8;
  --fix-oi-yellow: 183, 130, 1;
  --fix-oi-yellow-mid: 221, 177, 78;
  --fix-oi-yellow-light: 255, 217, 141;
  --fix-oi-yellow-light-50: 252, 236, 203;
  --fix-oi-yellow-light-25: 253, 245, 228;

  --fix-filter-oi-yellow: brightness(0) saturate(100%) invert(44%) sepia(93%) saturate(1805%) hue-rotate(24deg) brightness(96%) contrast(99%);
  --fix-filter-oi-yellow-light: brightness(0) saturate(100%) invert(81%) sepia(62%) saturate(331%) hue-rotate(335deg) brightness(102%) contrast(101%);

  --fix-lockout-0-dark: 128, 128, 32;
  --fix-lockout-0-light: 255, 255, 128;
  --fix-lockout-1-dark: 32, 32, 192;
  --fix-lockout-1-light: 192, 192, 255;
  --fix-lockout-2-dark: 192, 32, 32;
  --fix-lockout-2-light: 255, 192, 192;
  --fix-lockout-1-2-dark: 192, 32, 192;
  --fix-lockout-1-2-light: 255, 192, 255;
  --fix-lockout-3-dark: 32, 128, 128;
  --fix-lockout-3-light: 128, 255, 255;
  --fix-lockout-4-dark: 128, 32, 128;
  --fix-lockout-4-light: 255, 128, 255;

  --badge-a: 255, 216, 0;
  --badge-b: 198, 198, 198;
  --badge-c: 239, 166, 103;
  --badge-d: 175, 129, 255;
  --badge-e: 114, 141, 244;
}

/* General Light */
:root {
  --white: 255, 255, 255;
  --black: 0, 0, 0;
  --background-colour: 255, 255, 255;

  --filter-white: brightness(0) invert(1);
  --filter-black: brightness(0);
}

/* General Dark */
.darkmode:root {
  --white: 0, 0, 0;
  --black: 255, 255, 255;
  --background-colour: 50, 50, 50;

  --filter-white: brightness(0);
  --filter-black: brightness(0) invert(1);
}

/* General Superdark */
.superdarkmode:root {
  --white: 0, 0, 0;
  --black: 204, 204, 204;
  --background-colour: 0, 0, 0;

  --filter-white: brightness(0);
  --filter-black: brightness(0) invert(1);
}

/* Program Light */
:root {
  --oi-green: var(--fix-oi-green);
  --oi-green-mid: var(--fix-oi-green-mid);
  --oi-green-light: var(--fix-oi-green-light);
  --oi-green-light-50: var(--fix-oi-green-light-50);
  --oi-green-light-25: var(--fix-oi-green-light-25);

  --opposite-theme-dark: var(--fix-oi-yellow);
  --opposite-theme-mid: var(--fix-oi-yellow-mid);
  --opposite-theme-light: var(--fix-oi-yellow-light);
  --opposite-theme-light-50: var(--fix-oi-yellow-light-50);
  --opposite-theme-light-25: var(--fix-oi-yellow-light-25);
  
  --filter-oi-green: var(--fix-filter-oi-green);
  --filter-oi-green-mid: var(--fix-filter-oi-green-mid);
  --filter-oi-green-light: var(--fix-filter-oi-green-light);

  --lockout-0-dark: var(--fix-lockout-0-dark);
  --lockout-0-light: var(--fix-lockout-0-light);
  --lockout-1-dark: var(--fix-lockout-1-dark);
  --lockout-1-light: var(--fix-lockout-1-light);
  --lockout-2-dark: var(--fix-lockout-2-dark);
  --lockout-2-light: var(--fix-lockout-2-light);
  --lockout-1-2-dark: var(--fix-lockout-1-2-dark);
  --lockout-1-2-light: var(--fix-lockout-1-2-light);
  --lockout-3-dark: var(--fix-lockout-3-dark);
  --lockout-3-light: var(--fix-lockout-3-light);
  --lockout-4-dark: var(--fix-lockout-4-dark);
  --lockout-4-light: var(--fix-lockout-4-light);
}

/* Program Dark & Superdark */
.darkmode:root, .superdarkmode:root {
  --oi-green: var(--fix-oi-green-light);
  --oi-green-mid: var(--fix-oi-green-mid);
  --oi-green-light: var(--fix-oi-green);
  --oi-green-light-50: var(--fix-oi-green-50);
  --oi-green-light-25: var(--fix-oi-green-25);

  --opposite-theme-dark: var(--fix-oi-yellow-light);
  --opposite-theme-mid: var(--fix-oi-yellow-mid);
  --opposite-theme-light: var(--fix-oi-yellow);
  --opposite-theme-light-50: var(--fix-oi-yellow-50);
  --opposite-theme-light-25: var(--fix-oi-yellow-25);

  --filter-oi-green: var(--fix-filter-oi-green-light);
  --filter-oi-green-mid: var(--fix-filter-oi-green-mid);
  --filter-oi-green-light: var(--fix-filter-oi-green);

  --lockout-0-dark: var(--fix-lockout-0-light);
  --lockout-0-light: var(--fix-lockout-0-dark);
  --lockout-1-dark: var(--fix-lockout-1-light);
  --lockout-1-light: var(--fix-lockout-1-dark);
  --lockout-2-dark: var(--fix-lockout-2-light);
  --lockout-2-light: var(--fix-lockout-2-dark);
  --lockout-1-2-dark: var(--fix-lockout-1-2-light);
  --lockout-1-2-light: var(--fix-lockout-1-2-dark);
  --lockout-3-dark: var(--fix-lockout-3-light);
  --lockout-3-light: var(--fix-lockout-3-dark);
  --lockout-4-dark: var(--fix-lockout-4-light);
  --lockout-4-light: var(--fix-lockout-4-dark);
}

/* Written Light */
.written.lightmode:root {
  --oi-green: var(--fix-oi-yellow);
  --oi-green-mid: var(--fix-oi-yellow-mid);
  --oi-green-light: var(--fix-oi-yellow-light);
  --oi-green-light-50: var(--fix-oi-yellow-light-50);
  --oi-green-light-25: var(--fix-oi-yellow-light-25);

  --opposite-theme-dark: var(--fix-oi-green);
  --opposite-theme-mid: var(--fix-oi-green-mid);
  --opposite-theme-light: var(--fix-oi-green-light);
  --opposite-theme-light-50: var(--fix-oi-green-light-50);
  --opposite-theme-light-25: var(--fix-oi-green-light-25);

  --filter-oi-green: var(--fix-filter-oi-yellow);
  --filter-oi-green-light: var(--fix-filter-oi-yellow-light);
}

/* Written Dark & Superdark */
.written.darkmode:root, .written.superdarkmode:root {
  --oi-green: var(--fix-oi-yellow-light);
  --oi-green-mid: var(--fix-oi-yellow-mid);
  --oi-green-light: var(--fix-oi-yellow);
  --oi-green-light-50: var(--fix-oi-yellow-50);
  --oi-green-light-25: var(--fix-oi-yellow-25);

  --opposite-theme-dark: var(--fix-oi-green-light);
  --opposite-theme-mid: var(--fix-oi-green-mid);
  --opposite-theme-light: var(--fix-oi-green);
  --opposite-theme-light-50: var(--fix-oi-green-50);
  --opposite-theme-light-25: var(--fix-oi-green-25);

  --filter-oi-green: var(--fix-filter-oi-yellow-light);
  --filter-oi-green-light: var(--fix-filter-oi-yellow);
}