/* Decorations never intercept taps or alter document flow. */
#seasonal-layer{position:fixed;inset:0;z-index:1002;pointer-events:none!important;overflow:hidden;contain:strict}
#seasonal-layer *{pointer-events:none!important;box-sizing:border-box}
#seasonal-layer svg{display:block;width:100%;height:100%}
.seasonal-web{position:absolute;top:0;width:clamp(70px,21vw,112px);height:clamp(220px,38vh,340px);color:#c7c3bb;opacity:.82;filter:drop-shadow(0 0 1px #24282b)}
.seasonal-left{left:0}.seasonal-right{right:0;transform:scaleX(-1)}
.seasonal-corner{position:absolute;right:2px;bottom:max(3px,env(safe-area-inset-bottom));width:24px;height:24px;opacity:.6}
.seasonal-spider{position:absolute;right:2px;top:-42px;width:26px;height:34px;animation:seasonal-spider-visit 9s ease-in-out both;filter:drop-shadow(0 0 1px #fff8ee)}
.seasonal-spider i{position:absolute;bottom:28px;left:13px;height:170px;border-left:1px solid #9e9691;opacity:.7}
.seasonal-drip{position:absolute;top:0;right:3px;width:3px;height:0;border-radius:0 0 4px 4px;background:#922c34;animation:seasonal-drip 7s ease-in-out both}
.seasonal-walker{position:absolute;bottom:max(4px,env(safe-area-inset-bottom));left:-100px;display:flex;width:30px;height:30px;animation:seasonal-cross 9s linear both;opacity:.86}
.seasonal-walker:has(svg+svg){width:76px}.seasonal-walker>svg{flex:1;min-width:0}
.seasonal-hop>svg{animation:seasonal-hop .8s ease-in-out 11}
.seasonal-firework{position:absolute;width:35px;height:35px;right:3px;top:28%;color:#b96540;opacity:0;animation:seasonal-spark 2.4s ease-out 1 both}
.seasonal-firework-1{top:48%;color:#ac9a69;animation-delay:2.5s}.seasonal-firework-2{top:68%;color:#687e9d;animation-delay:5s}
.seasonal-float{position:absolute;right:2px;bottom:-35px;width:22px;height:22px;animation:seasonal-rise 7s ease-in-out both;animation-delay:calc(var(--i)*.7s);opacity:0}
.seasonal-toggle{min-height:44px;padding:10px 12px;border:1px solid currentColor;border-radius:10px;background:transparent;color:inherit;font:700 14px/1.3 system-ui;cursor:pointer;touch-action:manipulation}
@keyframes seasonal-spider-visit{0%,100%{transform:translateY(0)}25%,65%{transform:translateY(155px)}45%{transform:translate(0,145px)}}
@keyframes seasonal-drip{0%,100%{height:0;opacity:0}20%,65%{height:22px;opacity:.75}}
@keyframes seasonal-cross{to{transform:translateX(calc(100vw + 200px))}}
@keyframes seasonal-hop{50%{transform:translateY(-8px)}}
@keyframes seasonal-spark{0%{transform:scale(.2);opacity:0}35%{opacity:.75}100%{transform:scale(1);opacity:0}}
@keyframes seasonal-rise{0%{transform:translateY(0) rotate(-8deg);opacity:0}20%,65%{opacity:.7}100%{transform:translateY(-65vh) rotate(15deg);opacity:0}}
@media(prefers-reduced-motion:reduce){#seasonal-layer .seasonal-burst{display:none!important}#seasonal-layer *{animation:none!important}}
@media print{#seasonal-layer,.seasonal-toggle{display:none!important}}
.site-menu-utilities>.seasonal-toggle{grid-column:1/-1}


/* Larger holiday visitors remain transparent to touch and disappear after ten seconds. */
.seasonal-flyer{position:absolute;left:-120px;top:24%;width:90px;height:90px;animation:seasonal-flight 9s linear both;filter:drop-shadow(0 1px 1px #fff8ee80)}
.seasonal-sleigh{top:18%;width:105px}
.seasonal-parade{position:absolute;bottom:max(8px,env(safe-area-inset-bottom));left:-240px;width:68px;height:82px;animation:seasonal-parade 9s linear both;filter:drop-shadow(0 0 1px #5558)}
.seasonal-vampire{width:76px;height:90px}.seasonal-mummy{height:86px}
#seasonal-layer .seasonal-bandages{position:absolute;right:42px;bottom:0;width:180px;height:36px;overflow:visible;animation:seasonal-bandage-drag 1s ease-in-out 9 alternate}
.seasonal-bat{position:absolute;left:-80px;top:calc(20% + var(--i)*16%);width:46px;height:42px;animation:seasonal-flight 7s linear both;animation-delay:calc(var(--i)*.6s)}
.seasonal-bat>svg{animation:seasonal-wing .5s ease-in-out 16 alternate}
.seasonal-blood-screen{position:absolute;inset:0;background:linear-gradient(90deg,#8c182c33,transparent 6%,transparent 94%,#8c182c33);box-shadow:inset 0 0 24px #7c14283d;animation:seasonal-blood-visit 8s ease-in-out both}
#seasonal-layer .seasonal-blood-screen>svg{width:100%;height:clamp(80px,15vh,130px);opacity:.5}
.seasonal-snow{position:absolute;top:-35px;left:calc(5% + var(--i)*11%);width:22px;height:22px;filter:drop-shadow(0 0 1px #54788a);animation:seasonal-snowfall 7s linear both;animation-delay:calc(var(--i)*.2s)}
.seasonal-lights{position:absolute;inset:0 0 auto;display:flex;justify-content:space-around;height:10px;border-top:1px solid #54745a80}
.seasonal-lights i{width:6px;height:8px;border-radius:0 0 50% 50%;background:#be5355;box-shadow:0 1px 5px #be535570}.seasonal-lights i:nth-child(3n){background:#deb972;box-shadow:0 1px 5px #deb97270}.seasonal-lights i:nth-child(3n+1){background:#579373;box-shadow:0 1px 5px #57937370}
@keyframes seasonal-flight{0%{transform:translate(0,20px) rotate(-8deg)}50%{transform:translate(calc(50vw + 100px),-22px) rotate(3deg)}100%{transform:translate(calc(100vw + 240px),12px) rotate(-5deg)}}
@keyframes seasonal-parade{to{transform:translateX(calc(100vw + 500px))}}
@keyframes seasonal-bandage-drag{to{transform:translateY(-5px) skewX(7deg)}}
@keyframes seasonal-wing{to{transform:scaleY(.65)}}
@keyframes seasonal-blood-visit{0%,100%{opacity:0;transform:translateY(-20px)}20%,70%{opacity:1;transform:translateY(0)}}
@keyframes seasonal-snowfall{0%{opacity:0;transform:translate(0,0) rotate(0)}10%,75%{opacity:.9}100%{opacity:0;transform:translate(15px,90vh) rotate(120deg)}}


/* Detailed photographic silhouettes, sized to stay legible on phones. */
#seasonal-layer .seasonal-photo{overflow:hidden}
.seasonal-flyer{width:180px;height:150px;top:22%}
.seasonal-sleigh{width:190px;height:150px;top:18%}
.seasonal-vampire{width:125px;height:155px}
.seasonal-mummy{width:160px;height:170px}
.seasonal-mummy .seasonal-bandages{display:none}
.seasonal-snowman{width:100px;height:140px}
.seasonal-gifts{width:120px;height:135px}
.seasonal-reindeer{width:190px;height:150px}
.seasonal-bat{width:78px;height:66px}
.seasonal-spider{width:58px;height:68px;right:3px;top:-76px}
.seasonal-spider i{left:50%;bottom:58px;height:240px}
#seasonal-layer[data-season="christmas"] .seasonal-corner{width:36px;height:46px;opacity:.85}
#seasonal-layer .seasonal-blood-screen>svg{opacity:.66;filter:drop-shadow(0 2px 1px #27050c66)}
