:root {
  color-scheme: light;
  --focus: #0063b4;
  --belief-bg: #0b0b0b;
  --belief-text: #f9f9f6;
}
:root[data-theme="dark"] {
  color-scheme: dark;
  --paper: #000000;
  --ink: #eef2f4;
  --blue: #142f45;
  --line: rgba(238,242,244,.25);
  --focus: #9ed4ff;
  --belief-bg: #000000;
  --belief-text: #eef2f4;
}
/* Keep a system-aware fallback when JavaScript is unavailable. */
@media (prefers-color-scheme: dark) {
  :root:not([data-theme]) {
    color-scheme: dark;
    --paper: #000000;
    --ink: #eef2f4;
    --blue: #142f45;
    --line: rgba(238,242,244,.25);
    --focus: #9ed4ff;
    --belief-bg: #000000;
    --belief-text: #eef2f4;
  }
}
.belief { background: var(--belief-bg); color: var(--belief-text); }
.belief-art picture, .artwork-link picture { display: block; height: 100%; }
.skip-link { background: var(--ink); color: var(--paper); }
a:focus-visible, summary:focus-visible, .theme-toggle:focus-visible {
  outline: 3px solid var(--focus);
  outline-offset: 5px;
}
.theme-toggle {
  flex: 0 0 44px;
  width: 44px;
  height: 44px;
  display: grid;
  place-items: center;
  padding: 0;
  color: var(--ink);
  background: transparent;
  border: 1px solid var(--line);
  border-radius: 50%;
  cursor: pointer;
}
.theme-toggle[hidden] { display: none; }
.theme-toggle:hover { border-color: var(--ink); }
.theme-toggle svg { width: 19px; height: 19px; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.theme-toggle .sun-icon { display: none; }
[data-theme="dark"] .theme-toggle .moon-icon { display: none; }
[data-theme="dark"] .theme-toggle .sun-icon { display: block; }
@media (max-width: 720px) {
  .site-footer .theme-toggle { margin-left: auto; }
}
