:root {
  /* Default Dark */
  --bg-primary: #1e1e1e;
  --bg-secondary: #2c2c2c;
  --bg-tertiary: #3c3c3c;
  --text-primary: #ffffff;
  --text-secondary: #cccccc;
  --accent-color: #3498db;
  --accent-hover: #2980b9;
  --danger-color: #e74c3c;
  --danger-hover: #c0392b;
  --border-color: #4c4c4c;
  --grid-color: #252525;
  --tile-color: #1a1a1a;
  --pointlist-bg: #3c3c3c;
}

/* Default Light */
[data-theme="light"] {
  --bg-primary: #f5f5f5;
  --bg-secondary: #e5e5e5;
  --bg-tertiary: #d5d5d5;
  --text-primary: #333333;
  --text-secondary: #666666;
  --accent-color: #2196F3;
  --accent-hover: #1976D2;
  --danger-color: #f44336;
  --danger-hover: #d32f2f;
  --border-color: #cccccc;
  --grid-color: #e0e0e0;
  --tile-color: #f0f0f0;
  --pointlist-bg: #3c3c3c;
}

/* Midnight Dream */
[data-theme="midnight"] {
  --bg-primary: #1a1b26;
  --bg-secondary: #24283b;
  --bg-tertiary: #414868;
  --text-primary: #a9b1d6;
  --text-secondary: #787c99;
  --accent-color: #7aa2f7;
  --accent-hover: #3d59a1;
  --danger-color: #f7768e;
  --danger-hover: #ff4d4d;
  --border-color: #565f89;
  --grid-color: #292e42;
  --tile-color: #1f2335;
  --pointlist-bg: #3c3c3c;
}

/* Ocean Breeze */
[data-theme="ocean"] {
  --bg-primary: #0f1c2d;
  --bg-secondary: #1b2838;
  --bg-tertiary: #2a3f55;
  --text-primary: #88ccff;
  --text-secondary: #66a3cc;
  --accent-color: #00a8ff;
  --accent-hover: #0084cc;
  --danger-color: #ff6b81;
  --danger-hover: #ff4757;
  --border-color: #3f5876;
  --grid-color: #1e2f45;
  --tile-color: #152334;
  --pointlist-bg: #3c3c3c;
}

/* Forest Mist */
[data-theme="forest"] {
  --bg-primary: #1b2921;
  --bg-secondary: #2a3c32;
  --bg-tertiary: #3b4f44;
  --text-primary: #b8d9c5;
  --text-secondary: #8fb39a;
  --accent-color: #6fb388;
  --accent-hover: #57996d;
  --danger-color: #e67e80;
  --danger-hover: #d35f61;
  --border-color: #4d6357;
  --grid-color: #2d3f36;
  --tile-color: #1e2c25;
  --pointlist-bg: #3c3c3c;
}

/* Too Mucn Purple */
[data-theme="sunset"] {
  --bg-primary: #2d1b2a;
  --bg-secondary: #432740;
  --bg-tertiary: #5a3756;
  --text-primary: #ffc4d6;
  --text-secondary: #d6a4b5;
  --accent-color: #ff79c6;
  --accent-hover: #ff56b3;
  --danger-color: #ff5555;
  --danger-hover: #ff3333;
  --border-color: #6d4367;
  --grid-color: #3d2539;
  --tile-color: #2a1827;
  --pointlist-bg: #3c3c3c;
}

/* Retro Wave */
[data-theme="retro"] {
  --bg-primary: #16171d;
  --bg-secondary: #242632;
  --bg-tertiary: #2f3242;
  --text-primary: #ff7edb;
  --text-secondary: #c678dd;
  --accent-color: #00ffd9;
  --accent-hover: #00ccad;
  --danger-color: #fe5f86;
  --danger-hover: #f73b6e;
  --border-color: #3b3e4f;
  --grid-color: #1e202a;
  --tile-color: #191a20;
  --pointlist-bg: #3c3c3c;
}

/* Classic Grey */
[data-theme="nord"] {
  --bg-primary: #2e3440;
  --bg-secondary: #3b4252;
  --bg-tertiary: #434c5e;
  --text-primary: #eceff4;
  --text-secondary: #d8dee9;
  --accent-color: #88c0d0;
  --accent-hover: #5e81ac;
  --danger-color: #bf616a;
  --danger-hover: #a3424d;
  --border-color: #4c566a;
  --grid-color: #353c4a;
  --tile-color: #2b303b;
  --pointlist-bg: #3c3c3c;
}

/* Midnight Purple */
[data-theme="mocha"] {
  --bg-primary: #1e1e2e;
  --bg-secondary: #302d41;
  --bg-tertiary: #45475a;
  --text-primary: #cdd6f4;
  --text-secondary: #bac2de;
  --accent-color: #89b4fa;
  --accent-hover: #74c7ec;
  --danger-color: #f38ba8;
  --danger-hover: #eba0ac;
  --border-color: #585b70;
  --grid-color: #282839;
  --tile-color: #1a1a27;
  --pointlist-bg: #3c3c3c;
}

/* Cyber Punk */
[data-theme="cyber"] {
  --bg-primary: #000b1e;
  --bg-secondary: #0a192f;
  --bg-tertiary: #112240;
  --text-primary: #64ffda;
  --text-secondary: #8892b0;
  --accent-color: #ff0055;
  --accent-hover: #ff3377;
  --danger-color: #00ff9f;
  --danger-hover: #33ffb5;
  --border-color: #233554;
  --grid-color: #061325;
  --tile-color: #000814;
  --pointlist-bg: #3c3c3c;
}

/* Dev's Preference - Red/black */
[data-theme="devpref"] {
  --bg-primary: #0e0202;
  --bg-secondary: #1d1616;
  --bg-tertiary: rgb(24, 13, 13);
  --text-primary: #ffffff;
  --text-secondary: #cccccc;
  --accent-color: #ff1e1e;
  --accent-hover: #cc0000;
  --danger-color: #ff4444;
  --danger-hover: #cc0000;
  --border-color: #ff3d3d;
  --grid-color: #0a0505;
  --tile-color: #0c0606;
  --pointlist-bg: #160808;
}

[data-theme="devpref"] button {
  background: #ff1e1e;
  border: 2px solid #cc0000;
}

[data-theme="devpref"] button:hover {
  background: #cc0000;
}

[data-theme="devpref"] .grid-container {
  border: 2px solid #ff1e1e;
}

[data-theme="devpref"] .point-item {
  border: 1px solid #ff1e1e;
}

[data-theme="devpref"] .sidebar-buttons {
  border-bottom: 2px solid #ff1e1e;
}

[data-theme="devpref"] .action-buttons {
  border-top: 2px solid #ff1e1e;
}