/* Shared page canvas. Keep the homepage's two warm lights in one place. */
body.site-shell {
  --site-canvas: #faf6f1;
  --site-light: rgba(217, 119, 87, .25);
  --site-light-soft: rgba(240, 185, 126, .22);
  background: var(--site-canvas);
  isolation: isolate;
}
.dark body.site-shell {
  --site-canvas: #191c20;
  --site-light: rgba(217, 119, 87, .22);
  --site-light-soft: rgba(240, 185, 126, .12);
}
.site-background {
  position: fixed;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  overflow: hidden;
  contain: strict;
}
.site-background::before {
  content: '';
  position: absolute;
  inset: -15%;
  background:
    radial-gradient(ellipse 52% 58% at 18% 28%, var(--site-light), transparent 75%),
    radial-gradient(ellipse 48% 56% at 82% 72%, var(--site-light-soft), transparent 75%);
  opacity: .82;
  animation: site-light-breathe 16s ease-in-out infinite;
  will-change: transform, opacity;
}
@keyframes site-light-breathe {
  0%, 100% { opacity: .64; transform: scale(1); }
  50% { opacity: 1; transform: scale(1.06); }
}
@media (prefers-reduced-motion: reduce) {
  .site-background::before { animation: none; will-change: auto; }
}
@media print {
  .site-background { display: none; }
}
