/* Decoration occupies only the outer gutter, independently of page layout. */
.seasonal-decoration{
  --season-sage:#718363;--season-gold:#9c874e;--season-rust:#996b4c;--season-vein:#f8f4ec;
  position:fixed;inset:0;z-index:39;overflow:hidden;pointer-events:none;user-select:none;
}
.seasonal-decoration *{pointer-events:none}
.seasonal-particle{
  position:absolute;top:var(--season-y);left:2px;width:24px;height:24px;
  color:var(--season-sage);opacity:.34;
  transform:rotate(var(--season-rotation));
  animation:herzplott-season-sway 12s ease-in-out var(--season-delay) infinite alternate;
}
.seasonal-particle[data-side=right]{left:auto;right:2px}
.seasonal-particle:nth-child(3n){color:var(--season-gold)}
.seasonal-decoration[data-season=autumn] .seasonal-particle:nth-child(3n+2){color:var(--season-rust)}
.seasonal-particle[data-kind=sun],.seasonal-particle[data-kind=star]{color:var(--season-gold)}
.seasonal-particle svg{display:block;width:100%;height:100%}
.seasonal-decoration[data-season=autumn] .seasonal-particle:not(.seasonal-web){
  top:-32px;overflow:hidden;opacity:.45;
  animation:herzplott-season-fall var(--season-duration) linear var(--season-delay) infinite;
}
.seasonal-decoration[data-season=autumn] .seasonal-particle:not(.seasonal-web) svg{
  transform:rotate(var(--season-rotation));
}
.seasonal-web{
  top:calc(var(--season-header-bottom,112px) + 4px);left:auto;right:2px;
  width:52px;height:42px;opacity:.43;transform:none;animation:none;
}
.seasonal-decoration[data-paused=true][data-season] .seasonal-particle{animation-play-state:paused}
[data-theme=dark] .seasonal-decoration{
  --season-sage:#b4c7a4;--season-gold:#c3ad72;--season-rust:#c49776;--season-vein:#201d20;
}
.seasonal-toggle{
  align-self:center;flex-shrink:0;min-height:44px;max-width:100%;padding:8px 12px;
  border:1px solid var(--line,#ccd4c5);border-radius:5px;background:transparent;
  color:var(--accent,#4b6145);font:inherit;font-size:11px;line-height:1.4;cursor:pointer;
}
.seasonal-toggle:hover{background:var(--wash,#e5ebdf)}
.seasonal-toggle:focus-visible{outline:2px solid var(--accent,#4b6145);outline-offset:3px}
@keyframes herzplott-season-sway{
  from{transform:translateY(-3px) rotate(var(--season-rotation))}
  to{transform:translateY(3px) rotate(calc(var(--season-rotation) + 8deg))}
}
@keyframes herzplott-season-fall{
  0%{transform:translateY(-32px);opacity:0}
  10%,90%{opacity:.45}
  100%{transform:translateY(calc(100vh + 64px));opacity:0}
}
@media(max-width:600px){
  .seasonal-particle{width:18px;height:18px;left:1px;opacity:.35}
  .seasonal-particle[data-side=right]{right:1px}
  .seasonal-web{top:calc(var(--season-header-bottom,89px) + 4px);width:24px;height:24px;opacity:.4}
  .seasonal-toggle{align-self:flex-start}
}
@media(prefers-reduced-motion:reduce){
  .seasonal-particle{animation:none}
  .seasonal-decoration[data-season=autumn] .seasonal-particle:not(.seasonal-web){
    top:var(--season-y);animation:none;transform:none;
  }
}
@media print{
  .seasonal-decoration,.seasonal-toggle{display:none}
}
