:root[data-theme="light"] {
  color-scheme: light;
  --page: #eeeae2;
  --surface: #fffdf8;
  --text: #302e2a;
  --muted: #68645d;
  --border: #ded8cd;
  --input: #f7f3eb;
  --panel: #f6f2e9;
  --card-panel: rgba(255, 253, 248, 0.94);
  --accent: #5f50cb;
  --accent-soft: #ebe7ff;
  --warning: #954708;
  --warning-bg: #fff3df;
  --shadow: 0 18px 45px rgba(48, 43, 35, 0.09);
}

:root[data-theme="dark"] {
  color-scheme: dark;
  --page: #151619;
  --surface: #202226;
  --text: #e8e6e1;
  --muted: #b5b1aa;
  --border: #3b3d43;
  --input: #292b30;
  --panel: #292b30;
  --card-panel: rgba(32, 34, 38, 0.95);
  --accent: #b3a8ff;
  --accent-soft: rgba(179, 168, 255, 0.18);
  --warning: #f2b764;
  --warning-bg: #382a1b;
  --shadow: 0 22px 55px rgba(0, 0, 0, 0.3);
}

:root[data-theme="dark"] .card:nth-child(4n + 1) { --card-bg: #4e477c; }
:root[data-theme="dark"] .card:nth-child(4n + 2) { --card-bg: #704353; }
:root[data-theme="dark"] .card:nth-child(4n + 3) { --card-bg: #35695f; }
:root[data-theme="dark"] .card:nth-child(4n) { --card-bg: #38637a; }

.theme-toggle {
  position: fixed;
  z-index: 1000;
  top: 16px;
  right: 16px;
  min-height: 44px;
  padding: 9px 14px;
  border: 1px solid var(--border);
  border-radius: 999px;
  color: var(--text);
  background: var(--surface);
  box-shadow: 0 5px 18px rgba(0, 0, 0, 0.14);
  font: 700 0.9rem/1.2 -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
  cursor: pointer;
}

.theme-toggle:hover { border-color: var(--accent); }
.theme-toggle:focus-visible { outline: 3px solid var(--accent); outline-offset: 3px; }

@media (max-width: 700px) {
  .theme-toggle { top: 10px; right: 10px; }
}

@media print {
  .theme-toggle { display: none; }
}
