:root {
  color-scheme: light;
  --font: "DM Sans", system-ui, -apple-system, "Segoe UI", sans-serif;
  --deep: #111827;
  --forest: #182230;
  --lime: #a8bbff;
  --brand-mint: #eef0fa;
  --on-deep: #f5f7ff;
  --on-deep-muted: #b7c2d5;
  --sidebar: #ffffff;
  --sidebar-text: #576174;
  --sidebar-heading: #263247;
  --sidebar-hover: #eef1f6;
  --sidebar-active: #eef0fa;
  --sidebar-active-text: #4659c7;
  --sidebar-count: #e9edf3;
  --button: #4659c7;
  --button-hover: #394bb2;
  --deadline: #b83a42;
  --ink: #1f2937;
  --heading: #1f2937;
  --muted: #667085;
  --paper: #fff;
  --canvas: #f4f5f7;
  --wash: #f4f5f7;
  --line: #e5e7eb;
  --control-line: #c4cbd7;
  --accent: #4659c7;
  --light: #eef0fa;
  --teal: #4659c7;
  --tealwash: #eef0fa;
  --data-color: #627dff;
  --data-hover: #4659c7;
  --danger: #9d292d;
  --danger-wash: #fff1ef;
  --danger-line: #e6bbb5;
  --shadow: 0 2px 6px #18223004, 0 8px 24px #18223003;
}
:root[data-theme="dark"] {
  color-scheme: dark;
  --sidebar: #111827;
  --sidebar-text: #aebad0;
  --sidebar-heading: #edf2fc;
  --sidebar-hover: #1d293c;
  --sidebar-active: #26334f;
  --sidebar-active-text: #c7d3ff;
  --sidebar-count: #243047;
  --button: #526bdf;
  --button-hover: #435ed5;
  --deadline: #f18f96;
  --ink: #edf2fc;
  --heading: #eef3ff;
  --muted: #a8b5ca;
  --paper: #172235;
  --canvas: #0c1424;
  --wash: #202d43;
  --line: #2d394e;
  --control-line: #465771;
  --accent: #9aaeff;
  --light: #253558;
  --teal: #9aaeff;
  --tealwash: #253558;
  --data-color: #91a6ff;
  --data-hover: #b9c7ff;
  --danger: #ffaea7;
  --danger-wash: #40282a;
  --danger-line: #80504c;
  --shadow: 0 2px 8px #0002;
}
.theme-toggle {
  display: inline-grid;
  place-items: center;
  width: 38px;
  height: 38px;
  padding: 8px;
  flex: none;
  color: var(--accent);
  background: var(--paper);
  border: 1px solid var(--line);
  border-radius: 6px;
  cursor: pointer;
}
.theme-toggle:hover { background: var(--light); }
.theme-toggle:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; }
.theme-toggle svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.theme-toggle .theme-sun, [data-theme="dark"] .theme-toggle .theme-moon { display: none; }
[data-theme="dark"] .theme-toggle .theme-sun { display: block; }
@media print { .theme-toggle { display: none !important; } }
.theme-toggle .theme-label {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
}
