/* Лёгкое сезонное оформление экрана расписания. */
.seasonal-layer{position:fixed;inset:0;z-index:20;overflow:hidden;pointer-events:none}
.seasonal-particle{position:absolute;left:0;top:0;width:var(--size);height:var(--size);opacity:0;animation:seasonal-fall var(--duration) linear var(--delay) infinite}
.seasonal-layer.season-winter .seasonal-particle{width:var(--size);height:var(--size);border-radius:0;background:url("/assets/snowflake-realistic.png") center/contain no-repeat;box-shadow:none;filter:drop-shadow(0 0 5px rgba(225,245,255,.35))}
.seasonal-layer.season-spring .seasonal-particle{width:var(--size);height:var(--size);border-radius:0;background:url("/assets/spring-petal-realistic.png") center/contain no-repeat;filter:drop-shadow(0 0 3px rgba(255,215,226,.2))}
.seasonal-layer.season-spring .seasonal-particle.spring-blossom{background-image:url("/assets/spring-blossom-realistic.png")}
.seasonal-layer.season-autumn .seasonal-particle{width:var(--size);height:var(--size);border-radius:0;background:url("/assets/autumn-maple-leaf-realistic.png") center/contain no-repeat;box-shadow:none}
.seasonal-layer.season-summer .seasonal-particle{top:auto;bottom:0;border-radius:50%;background:rgba(250,220,103,.82);box-shadow:0 0 10px 3px rgba(231,183,61,.32);animation-name:seasonal-firefly;animation-timing-function:ease-in-out;animation-direction:alternate}

@keyframes seasonal-fall{0%{opacity:0;transform:translate3d(var(--x),-12vh,0) rotate(0deg)}10%{opacity:var(--opacity)}90%{opacity:var(--opacity)}100%{opacity:0;transform:translate3d(calc(var(--x) + var(--drift)),108vh,0) rotate(380deg)}}
@keyframes seasonal-firefly{0%{opacity:.08;transform:translate3d(var(--x),var(--y),0) scale(.65)}48%{opacity:var(--opacity);transform:translate3d(calc(var(--x) + var(--drift)),calc(var(--y) - 9vh),0) scale(1.1)}100%{opacity:.12;transform:translate3d(calc(var(--x) - var(--drift)),calc(var(--y) - 3vh),0) scale(.7)}}

@media (min-width:2200px){.seasonal-particle{filter:drop-shadow(0 0 5px rgba(245,239,220,.16))}}
@media (prefers-reduced-motion:reduce){.seasonal-layer{display:none}}
