/* Curated personal palettes. Semantic success, warning and error colors stay unchanged. */
:root[data-workspace-theme] {
  --theme-page: #f3f6fb;
  --theme-card: #fff;
  --theme-ink: #172b48;
  --theme-muted: #526681;
  --theme-border: #d7e2f2;
  --theme-accent: #315d9e;
  --theme-soft: #e5eefb;
  --theme-header: #88ade4;
  --theme-header-ink: #142c4e;
  --theme-focus: #173f7a;
}
:root[data-workspace-theme="sky-blue"] {
  --theme-page: #f0faff;
  --theme-ink: #102b50;
  --theme-muted: #486685;
  --theme-border: #cde5f5;
  --theme-accent: #075bc8;
  --theme-soft: #e0f3ff;
  --theme-header: linear-gradient(110deg, #0759cc, #0874a2);
  --theme-header-ink: #fff;
  --theme-focus: #053e87;
}
:root[data-workspace-theme="deep-blue"] {
  --theme-page: #f2f6fd;
  --theme-ink: #142446;
  --theme-muted: #526586;
  --theme-border: #d5e0f4;
  --theme-accent: #184ac2;
  --theme-soft: #e5edff;
  --theme-header: linear-gradient(110deg, #122b61, #2f62b6);
  --theme-header-ink: #fff;
  --theme-focus: #143b83;
}
:root[data-workspace-theme] body {
  --green: var(--theme-accent);
  --accent: var(--theme-accent);
  --accent-soft: var(--theme-soft);
  --ink: var(--theme-ink);
  --muted: var(--theme-muted);
  --border: var(--theme-border);
  background: var(--theme-page);
  color: var(--theme-ink);
}
:root[data-workspace-theme] body > header {
  background: var(--theme-header);
  color: var(--theme-header-ink);
  border-color: var(--theme-border);
  gap: 18px;
}
:root[data-workspace-theme] body > header a,
:root[data-workspace-theme] body > header .brand,
:root[data-workspace-theme] body > header .calendar-mark {
  color: var(--theme-header-ink);
}
:root[data-workspace-theme] body > header .brand-mark {
  background: var(--theme-accent);
  color: white;
}
:root[data-workspace-theme] body > header nav a[aria-current="page"],
:root[data-workspace-theme] body > header nav a.selected {
  background: var(--theme-soft);
  color: var(--theme-accent);
}
:root[data-workspace-theme] h1,
:root[data-workspace-theme] h2,
:root[data-workspace-theme] h3 {
  color: var(--theme-ink);
}
:root[data-workspace-theme] .panel,
:root[data-workspace-theme] .setup-panel,
:root[data-workspace-theme] .setup-card {
  border-color: var(--theme-border);
}
:root[data-workspace-theme] .feature,
:root[data-workspace-theme] .workspace-area {
  background: var(--theme-soft);
  border-color: var(--theme-border);
  color: var(--theme-ink);
}
:root[data-workspace-theme] .workspace-area .area-badge,
:root[data-workspace-theme] .workspace-area a {
  color: var(--theme-accent);
}
:root[data-workspace-theme] .workspace-area nav a[aria-current="page"] {
  background: var(--theme-card);
  color: var(--theme-accent);
}
:root[data-workspace-theme] input,
:root[data-workspace-theme] select,
:root[data-workspace-theme] textarea {
  color: var(--theme-ink);
  border-color: var(--theme-border);
}
:root[data-workspace-theme] :focus-visible {
  outline: 3px solid var(--theme-focus);
  outline-offset: 3px;
}
.theme-settings-link {
  font-size: 14px;
  font-weight: 650;
  text-decoration: none;
  white-space: nowrap;
}
@media (max-width: 650px) {
  :root[data-workspace-theme] body > header {
    height: auto;
    min-height: 72px;
    flex-wrap: wrap;
    padding: 16px 5vw;
    gap: 12px;
  }
  .theme-settings-link {
    margin-left: auto;
  }
}
