/* More motion and richer color without moving the reading surface. */
body[data-season=spring]{--season-paper:#f3c8b6;--season-light:#d8362f}body[data-season=summer]{--season-paper:#b9e6e7;--season-light:#ffd46d}body[data-season=autumn]{--season-paper:#ecc89f;--season-light:#d88937}body[data-season=winter]{--season-paper:#bfd7eb;--season-light:#7fadd2}
.season-art>div{filter:saturate(1.23)}.summer-rainbow{opacity:1;filter:saturate(1.25) drop-shadow(0 10px 18px #e7a77422);animation:rainbow-breathe 7s ease-in-out infinite alternate;translate:var(--breeze-x,0px) var(--breeze-y,0px)}
.tet-lantern{animation:lantern-lively 3.8s ease-in-out infinite alternate}.lantern-right{animation-duration:4.6s;animation-delay:-2s}.lantern-paper{animation:lantern-glow 3.5s ease-in-out infinite alternate}.lantern-tassel{transform-origin:top;animation:tassel-sway 2.2s ease-in-out infinite alternate}.tet-envelopes{animation:envelope-dance 4.3s ease-in-out infinite alternate}.tet-blossoms{animation:branch-lively 5s ease-in-out infinite alternate;translate:var(--breeze-x,0px) 0}
.coast-scene{height:280px}.ocean-live{position:absolute;inset:0;width:100%;height:100%}.ocean-water{opacity:.15}.shore-wave{animation-duration:4.5s}.wave-two{animation-duration:5.8s}.beach-sand{background:linear-gradient(#e8c58b,#f5ddb1);box-shadow:0 -5px 16px #fff6db55}.summer-palm{animation:palm-breeze 4s ease-in-out infinite alternate}.summer-sun{animation:sun-warmth 8s ease-in-out infinite alternate}
.lion-dance{animation:lion-dance-live 3.8s ease-in-out infinite;filter:drop-shadow(0 9px 7px #703e392e);translate:var(--breeze-x,0px) 0}.lion-eyes,.snowman-eye{transform-box:fill-box;transform-origin:center;animation:character-blink 5.1s infinite}.lion-jaw{transform-box:fill-box;transform-origin:top center;animation:lion-mouth 3.8s ease-in-out infinite}.lion-beard{animation:beard-bounce 3.8s ease-in-out infinite}.star-lantern{animation:star-sway 3.4s ease-in-out infinite alternate;filter:drop-shadow(0 0 10px #f2c45170)}.festival-moon{box-shadow:0 0 55px 15px #f4da9355}
.snowman{animation:snowman-greet 5s ease-in-out infinite}.snowman-arm{transform-origin:164px 174px;animation:snowman-wave 5s ease-in-out infinite}.christmas-tree{transform-origin:bottom;animation:tree-breeze 6s ease-in-out infinite alternate}.winter-lights i{animation-duration:2.8s}.winter-aurora{position:absolute;left:0;right:0;top:70px;height:270px;opacity:.35;background:linear-gradient(120deg,transparent 10%,#78cdb955 25%,#94b1e166 45%,#c0a5d844 65%,transparent 80%);filter:blur(26px);transform-origin:top;animation:aurora-drift 13s ease-in-out infinite alternate}
@keyframes lantern-lively{from{rotate:-8deg;translate:0 -3px}to{rotate:9deg;translate:0 4px}}@keyframes lantern-glow{to{box-shadow:inset 0 0 24px #ffd575aa,0 0 24px #e36d4333;filter:brightness(1.15)}}@keyframes tassel-sway{to{rotate:-13deg}}@keyframes envelope-dance{from{rotate:-5deg;translate:0 -5px}to{rotate:8deg;translate:0 9px}}@keyframes branch-lively{to{rotate:5deg;translate:8px -4px}}
@keyframes rainbow-breathe{from{transform:rotate(6deg) scale(.99)}to{transform:rotate(9deg) scale(1.035)}}@keyframes palm-breeze{to{rotate:-12deg;translate:5px -3px}}@keyframes sun-warmth{to{box-shadow:0 0 0 30px #f8d77712,0 0 95px 50px #f1c96655}}
@keyframes lion-dance-live{0%,100%{transform:translateY(0) rotate(0) scale(1)}15%{transform:translateY(5px) rotate(-7deg) scale(1.02,.95)}30%{transform:translateY(-22px) rotate(7deg) scale(.97,1.04)}45%{transform:translateY(1px) rotate(-4deg) scale(1.02,.97)}65%{transform:translateY(-12px) rotate(5deg)}80%{transform:translateY(0) rotate(0)}}@keyframes character-blink{0%,40%,45%,100%{transform:scaleY(1)}42%,43%{transform:scaleY(.1)}}@keyframes lion-mouth{0%,55%,100%{transform:scaleY(1)}25%,35%{transform:scaleY(1.16)}}@keyframes beard-bounce{30%{translate:0 6px}}@keyframes star-sway{from{rotate:-9deg}to{rotate:10deg}}
@keyframes snowman-wave{0%,45%,100%{rotate:0}10%,30%{rotate:18deg}20%,40%{rotate:-8deg}}@keyframes snowman-greet{0%,50%,100%{rotate:0}15%,35%{rotate:-3deg}25%{rotate:3deg}}@keyframes tree-breeze{to{rotate:2deg}}@keyframes aurora-drift{from{transform:skewX(-12deg) translateX(-6%)}to{transform:skewX(15deg) translateX(8%)}}
.season-art[data-motion=false] *,.season-art-paused *,.motion-paused .coast-scene *{animation-play-state:paused!important}body:has(dialog[open]) .season-art{opacity:.1!important}
@media(max-width:700px){.coast-scene{height:190px}.winter-aurora{height:180px;filter:blur(15px)}.summer-rainbow{animation-duration:10s}}
@media(prefers-reduced-motion:reduce){.season-art *,.coast-scene *{animation:none!important}}
