.solfm-seasonal {
  position: fixed;
  inset: 0;
  width: 100%;
  height: 100%;
  z-index: 90;
  pointer-events: none !important;
  user-select: none;
  contain: strict;
}
.solfm-seasonal[hidden] { display: none; }
.solfm-seasonal-toggle {
  display: block;
  position: relative;
  margin: 16px auto;
  padding: 9px 14px;
  border: 1px solid #a7a0ba66;
  border-radius: 20px;
  background: #18132ddd;
  color: #f7f0ff;
  font: 12px/1.4 Arial, sans-serif;
  cursor: pointer;
}
.solfm-seasonal-toggle:focus-visible { outline: 2px solid #ffd878; outline-offset: 4px; }
html[data-solfm-time] .page-background {
  background-image: var(--solfm-seasonal-background);
}
html[data-solfm-time] .legal-page {
  background-image: linear-gradient(#080a2a55, #080a2a55), var(--solfm-seasonal-background);
  background-position: center;
  background-size: cover;
  background-attachment: fixed;
}
/* Maintain contrast for the site's white text across the lighter palettes. */
html[data-solfm-time="day"] .page-overlay,
html[data-solfm-time="dawn"] .page-overlay { background: #080a2a55; }
@media (prefers-reduced-motion: reduce), print {
  .solfm-seasonal { display: none !important; }
}
@media print { .solfm-seasonal-toggle { display: none; } }
