/* A few slow, weightless flakes; the photographs remain the focus. */
.winter-snow{
  position:fixed;inset:0;z-index:35;overflow:hidden;
  pointer-events:none;user-select:none;contain:strict;
}
.winter-snowflake{
  position:absolute;top:-30px;left:var(--left);
  width:var(--size);height:var(--size);border-radius:50%;
  background:#fffdfa;box-shadow:0 1px 2px #46605240;
  opacity:0;animation:winter-fall var(--duration) var(--delay) linear infinite;
}
.winter-snowflake.is-crystal{
  background:url('assets/snowflake.svg') center/contain no-repeat;
  border-radius:0;box-shadow:none;filter:drop-shadow(0 1px 1.5px #354b3d55);
}
.winter-snow.is-paused .winter-snowflake{animation-play-state:paused}
.winter-toggle{
  position:fixed;left:max(14px,env(safe-area-inset-left));
  bottom:max(14px,env(safe-area-inset-bottom));z-index:36;
  display:inline-flex;align-items:center;gap:8px;min-height:44px;
  padding:8px 13px;border:1px solid #aab7a188;border-radius:24px;
  background:#f7f1e8eb;color:#42543f;font:10px/1.2 var(--sans);
  letter-spacing:.025em;box-shadow:0 2px 12px #293f3210;
}
.winter-toggle:hover{background:#fffaf2;color:#293f32}
.winter-toggle svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.2;stroke-linecap:round}
body.modal-open .winter-snow,body.modal-open .winter-toggle{visibility:hidden}
@keyframes winter-fall{
  0%{transform:translate3d(0,0,0) rotate(0deg);opacity:0}
  10%{opacity:var(--opacity)}
  50%{transform:translate3d(var(--sway),calc(50vh + 30px),0) rotate(65deg)}
  85%{opacity:var(--opacity)}
  100%{transform:translate3d(var(--drift),calc(100vh + 60px),0) rotate(130deg);opacity:0}
}
@media(max-width:700px){
  .winter-snowflake:nth-child(n+15){display:none}
  .winter-toggle{font-size:9px;padding:8px 11px;gap:6px}
}
@media(prefers-reduced-motion:reduce){
  .winter-snow,.winter-toggle{display:none!important}
  .winter-snowflake{animation:none!important}
}
@media print{.winter-snow,.winter-toggle{display:none!important}}
