/* Theme Variables */
:root {
  /* Dark (Classic) Theme */
  --color-secondary-fixed-dim: 202 186 255;
  --color-secondary-fixed: 216 202 255;
  --color-tertiary-fixed: 255 215 9;
  --color-secondary-container: 89 26 220;
  --color-on-background: 241 243 252;
  --color-tertiary: 255 231 146;
  --color-inverse-primary: 0 105 118;
  --color-on-primary: 0 87 98;
  --color-tertiary-container: 255 215 9;
  --color-primary-fixed-dim: 0 212 236;
  --color-primary-dim: 0 212 236;
  --color-surface-variant: 32 38 47;
  --color-surface-bright: 38 44 54;
  --color-on-secondary-container: 228 218 255;
  --color-outline: 114 117 125;
  --color-inverse-surface: 248 249 255;
  --color-tertiary-dim: 239 201 0;
  --color-surface-container-lowest: 0 0 0;
  --color-error: 255 113 108;
  --color-error-dim: 215 56 59;
  --color-on-secondary-fixed-variant: 89 27 220;
  --color-surface-container-low: 15 20 26;
  --color-on-tertiary-fixed: 69 57 0;
  --color-tertiary-fixed-dim: 239 201 0;
  --color-on-secondary: 37 0 107;
  --color-on-surface: 241 243 252;
  --color-surface: 10 14 20;
  --color-on-tertiary-container: 91 75 0;
  --color-outline-variant: 68 72 79;
  --color-inverse-on-surface: 81 85 93;
  --color-surface-container: 21 26 33;
  --color-on-tertiary-fixed-variant: 102 85 0;
  --color-error-container: 159 5 25;
  --color-surface-tint: 129 236 255;
  --color-secondary: 166 140 255;
  --color-primary-container: 0 227 253;
  --color-on-primary-fixed: 0 56 64;
  --color-on-secondary-fixed: 59 0 160;
  --color-primary: 129 236 255;
  --color-on-primary-container: 0 77 87;
  --color-secondary-dim: 126 81 255;
  --color-on-primary-fixed-variant: 0 87 98;
  --color-on-error-container: 255 168 163;
  --color-surface-container-highest: 32 38 47;
  --color-primary-fixed: 0 227 253;
  --color-on-surface-variant: 168 171 179;
  --color-on-tertiary: 101 84 0;
  --color-surface-container-high: 27 32 40;
  --color-on-error: 73 0 6;
  --color-surface-dim: 10 14 20;
  --color-background: 10 14 20;
}

[data-theme='warm'] {
  --color-secondary-fixed-dim: 217 211 198;
  --color-secondary-fixed: 223 219 207;
  --color-tertiary-fixed: 193 173 70;
  --color-secondary-container: 106 74 171;
  --color-on-background: 238 235 229;
  --color-tertiary: 227 215 173;
  --color-inverse-primary: 29 88 35;
  --color-on-primary: 67 62 55;
  --color-tertiary-container: 193 173 70;
  --color-primary-fixed-dim: 59 177 70;
  --color-primary-dim: 59 177 70;
  --color-surface-variant: 57 53 47;
  --color-surface-bright: 64 59 52;
  --color-on-secondary-container: 229 226 217;
  --color-outline: 116 118 122;
  --color-inverse-surface: 242 240 235;
  --color-tertiary-dim: 179 160 59;
  --color-surface-container-lowest: 14 13 11;
  --color-error: 218 147 144;
  --color-error-dim: 175 95 97;
  --color-on-secondary-fixed-variant: 106 75 171;
  --color-surface-container-low: 36 33 29;
  --color-on-tertiary-fixed: 51 48 42;
  --color-tertiary-fixed-dim: 179 160 59;
  --color-on-secondary: 45 26 80;
  --color-on-surface: 238 235 229;
  --color-surface: 30 28 24;
  --color-on-tertiary-container: 64 59 52;
  --color-outline-variant: 70 72 76;
  --color-inverse-on-surface: 84 85 90;
  --color-surface-container: 43 40 35;
  --color-on-tertiary-fixed-variant: 76 68 25;
  --color-error-container: 120 43 53;
  --color-surface-tint: 160 223 166;
  --color-secondary: 181 168 226;
  --color-primary-container: 63 189 75;
  --color-on-primary-fixed: 49 45 40;
  --color-on-secondary-fixed: 69 40 120;
  --color-primary: 160 223 166;
  --color-on-primary-container: 61 57 50;
  --color-secondary-dim: 147 124 211;
  --color-on-primary-fixed-variant: 67 62 55;
  --color-on-error-container: 207 201 184;
  --color-surface-container-highest: 57 53 47;
  --color-primary-fixed: 63 189 75;
  --color-on-surface-variant: 170 172 176;
  --color-on-tertiary: 69 64 56;
  --color-surface-container-high: 50 47 41;
  --color-on-error: 54 50 44;
  --color-surface-dim: 30 28 24;
  --color-background: 30 28 24;
}

[data-theme='light'] {
  --color-secondary-fixed-dim: 37 36 40;
  --color-secondary-fixed: 37 36 40;
  --color-tertiary-fixed: 204 170 0;
  --color-secondary-container: 68 5 198;
  --color-on-background: 36 37 40;
  --color-tertiary: 204 159 0;
  --color-inverse-primary: 0 181 204;
  --color-on-primary: 241 242 242;
  --color-tertiary-container: 204 170 0;
  --color-primary-fixed-dim: 0 183 204;
  --color-primary-dim: 0 183 204;
  --color-surface-variant: 241 242 242;
  --color-surface-bright: 241 242 242;
  --color-on-secondary-container: 37 36 40;
  --color-outline: 130 132 141;
  --color-inverse-surface: 36 36 40;
  --color-tertiary-dim: 204 171 0;
  --color-surface-container-lowest: 242 241 241;
  --color-error: 204 6 0;
  --color-error-dim: 183 20 23;
  --color-on-secondary-fixed-variant: 67 6 197;
  --color-surface-container-low: 241 242 242;
  --color-on-tertiary-fixed: 242 242 241;
  --color-tertiary-fixed-dim: 204 171 0;
  --color-on-secondary: 70 0 204;
  --color-on-surface: 36 37 40;
  --color-surface: 241 242 242;
  --color-on-tertiary-container: 242 242 241;
  --color-outline-variant: 176 180 187;
  --color-inverse-on-surface: 162 165 174;
  --color-surface-container: 241 242 242;
  --color-on-tertiary-fixed-variant: 204 170 0;
  --color-error-container: 204 0 26;
  --color-surface-tint: 0 173 204;
  --color-secondary: 46 0 204;
  --color-primary-container: 0 183 204;
  --color-on-primary-fixed: 241 242 242;
  --color-on-secondary-fixed: 75 0 204;
  --color-primary: 0 173 204;
  --color-on-primary-container: 241 242 242;
  --color-secondary-dim: 52 0 204;
  --color-on-primary-fixed-variant: 241 242 242;
  --color-on-error-container: 40 36 36;
  --color-surface-container-highest: 241 242 242;
  --color-primary-fixed: 0 183 204;
  --color-on-surface-variant: 76 78 86;
  --color-on-tertiary: 242 242 241;
  --color-surface-container-high: 241 242 242;
  --color-on-error: 242 241 242;
  --color-surface-dim: 241 242 242;
  --color-background: 241 242 242;
}

[data-theme='high-contrast'] {
  --color-secondary-fixed-dim: 255 255 255;
  --color-secondary-fixed: 255 255 255;
  --color-tertiary-fixed: 255 213 0;
  --color-secondary-container: 82 0 255;
  --color-on-background: 255 255 255;
  --color-tertiary: 255 255 255;
  --color-inverse-primary: 0 0 0;
  --color-on-primary: 0 0 0;
  --color-tertiary-container: 255 213 0;
  --color-primary-fixed-dim: 0 229 255;
  --color-primary-dim: 0 229 255;
  --color-surface-variant: 0 0 0;
  --color-surface-bright: 0 0 0;
  --color-on-secondary-container: 255 255 255;
  --color-outline: 0 0 0;
  --color-inverse-surface: 255 255 255;
  --color-tertiary-dim: 255 214 0;
  --color-surface-container-lowest: 0 0 0;
  --color-error: 255 255 255;
  --color-error-dim: 255 0 4;
  --color-on-secondary-fixed-variant: 81 0 255;
  --color-surface-container-low: 0 0 0;
  --color-on-tertiary-fixed: 0 0 0;
  --color-tertiary-fixed-dim: 255 214 0;
  --color-on-secondary: 0 0 0;
  --color-on-surface: 255 255 255;
  --color-surface: 0 0 0;
  --color-on-tertiary-container: 0 0 0;
  --color-outline-variant: 0 0 0;
  --color-inverse-on-surface: 0 0 0;
  --color-surface-container: 0 0 0;
  --color-on-tertiary-fixed-variant: 0 0 0;
  --color-error-container: 255 0 33;
  --color-surface-tint: 255 255 255;
  --color-secondary: 255 255 255;
  --color-primary-container: 0 228 255;
  --color-on-primary-fixed: 0 0 0;
  --color-on-secondary-fixed: 94 0 255;
  --color-primary: 255 255 255;
  --color-on-primary-container: 0 0 0;
  --color-secondary-dim: 65 0 255;
  --color-on-primary-fixed-variant: 0 0 0;
  --color-on-error-container: 255 255 255;
  --color-surface-container-highest: 0 0 0;
  --color-primary-fixed: 0 228 255;
  --color-on-surface-variant: 255 255 255;
  --color-on-tertiary: 0 0 0;
  --color-surface-container-high: 0 0 0;
  --color-on-error: 0 0 0;
  --color-surface-dim: 0 0 0;
  --color-background: 0 0 0;
}


/* Large Text Mode */
html.large-text {
  font-size: 115% !important;
}
html.large-text button {
  padding: 0.75rem 1.5rem !important;
}
html.large-text .text-sm {
  font-size: 1rem !important;
}
html.large-text .text-xs {
  font-size: 0.875rem !important;
}

/* Reduce motion */
html.reduce-motion * {
  animation-duration: 0.01ms !important;
  animation-iteration-count: 1 !important;
  transition-duration: 0.01ms !important;
  scroll-behavior: auto !important;
}
html.reduce-motion .animate-\[scan_8s_linear_infinite\] {
  display: none !important;
}

/* Warm theme specific overrides */
[data-theme='warm'] body {
  background-image: none !important;
}
[data-theme='warm'] .aurora-bg::before,
[data-theme='warm'] .aurora-bg::after {
  opacity: 0.2 !important;
}

/* Light theme specific overrides */
[data-theme='light'] body {
  background-color: rgb(var(--color-background)) !important;
  background-image: none !important;
}
[data-theme='light'] .aurora-bg::before,
[data-theme='light'] .aurora-bg::after {
  display: none !important;
}
[data-theme='light'] .grid-overlay {
  opacity: 0.1 !important;
  filter: invert(1);
}

/* High Contrast theme specific overrides */
[data-theme='high-contrast'] body {
  background-color: #000 !important;
  background-image: none !important;
}
[data-theme='high-contrast'] * {
  text-shadow: none !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
}
[data-theme='high-contrast'] .aurora-bg::before,
[data-theme='high-contrast'] .aurora-bg::after,
[data-theme='high-contrast'] .grid-overlay {
  display: none !important;
}
