#sante-halloween{position:fixed;inset:0;z-index:2147480000;pointer-events:none;color:#ead7ad;font-family:Arial,sans-serif;isolation:isolate}
#sante-halloween[hidden]{display:none!important}
#sante-halloween *{box-sizing:border-box}
#sante-halloween .sh-world{position:absolute;inset:0;overflow:hidden;pointer-events:none}
#sante-halloween .sh-stage{position:absolute;inset:0;display:block!important;max-width:none!important;pointer-events:none;z-index:2}
#sante-halloween .sh-ghost{position:absolute;left:0;top:0;width:170px;height:255px;filter:drop-shadow(0 0 18px #ffe0a127);will-change:transform;z-index:3}
#sante-halloween .sh-ghost img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;border:0;border-radius:0;max-width:none;z-index:2}
#sante-halloween .sh-torch{position:absolute;width:76px;height:28px;transform-origin:12px 14px;z-index:1;filter:drop-shadow(0 2px 3px #0008)}
#sante-halloween .sh-controls{position:absolute;right:14px;bottom:calc(96px + env(safe-area-inset-bottom,0px));display:flex;gap:6px;z-index:5;pointer-events:auto}
#sante-halloween .sh-controls button{appearance:none;width:auto;margin:0;min-height:42px;padding:10px 13px;border:1px solid #cfb47e66;border-radius:30px;background:#17121df2;color:#ead7ad;font:11px Arial,sans-serif;letter-spacing:.3px;cursor:pointer;box-shadow:0 4px 20px #0003}
#sante-halloween .sh-controls button:focus-visible{outline:2px solid #e2c48c;outline-offset:3px}
#sante-halloween .sh-fog{position:absolute;bottom:0;left:-20%;width:140%;height:28%;background:radial-gradient(ellipse at 25% 90%,#a995bf22,transparent 65%),radial-gradient(ellipse at 80% 90%,#e5bb6e1a,transparent 60%);animation:sh-fog 20s ease-in-out infinite alternate}
#sante-halloween .sh-bats{position:absolute;inset:0;overflow:hidden;z-index:1}
#sante-halloween .sh-bat{position:absolute;left:-15%;top:var(--top);width:44px;height:20px;animation:sh-flight var(--duration) linear var(--delay) infinite;filter:drop-shadow(0 1px 2px #edc79155)}
#sante-halloween .sh-bat:before{content:"";position:absolute;left:18px;top:4px;width:8px;height:16px;border-radius:55%;background:#15101b}
#sante-halloween .sh-bat span{position:absolute;width:21px;height:19px;background:#21172c;clip-path:polygon(100% 67%,81% 100%,63% 62%,39% 76%,24% 37%,0 21%,38% 0,82% 19%);transform-origin:right center;animation:sh-flap .32s ease-in-out infinite alternate}
#sante-halloween .sh-bat span+span{left:23px;transform-origin:left center;clip-path:polygon(0 67%,19% 100%,37% 62%,61% 76%,76% 37%,100% 21%,62% 0,18% 19%);animation-name:sh-flap-right}
#sante-halloween .sh-bat:nth-child(even){animation-direction:reverse;scale:.7}
#sante-halloween .sh-sparkles{position:absolute;inset:0;overflow:hidden}
#sante-halloween .sh-sparkle{position:absolute;left:var(--left);bottom:-8px;width:3px;height:3px;border-radius:50%;background:#f1dba8;box-shadow:0 0 8px #ddbc7d;opacity:0;animation:sh-sparkle var(--duration) ease-in-out var(--delay) infinite}
#sante-halloween .sh-pumpkins{position:absolute;bottom:104px;left:14px;width:110px;height:62px;filter:drop-shadow(0 0 18px #e7a53924)}
#sante-halloween .sh-pumpkin{position:absolute;bottom:0;width:65px;height:48px;border-radius:44%;background:repeating-linear-gradient(90deg,#6e351c,#c98235 20%,#9e532b 35%,#d89b47 50%);box-shadow:inset 0 -8px 10px #301d1b99}
#sante-halloween .sh-pumpkin:before{content:"";position:absolute;left:30px;top:-10px;width:7px;height:13px;border-radius:4px;background:#8c7850;rotate:16deg}
#sante-halloween .sh-pumpkin:after{content:"";position:absolute;inset:14px 11px 9px;background:#ffebac;clip-path:polygon(0 25%,25% 0,35% 30%,0 25%,65% 30%,80% 0,100% 25%,65% 30%,50% 38%,60% 56%,40% 56%,50% 38%,4% 70%,28% 80%,42% 68%,53% 85%,65% 68%,78% 80%,96% 68%,80% 100%,22% 100%,4% 70%);filter:drop-shadow(0 0 3px #ffc56a);animation:sh-glow 3s ease-in-out infinite alternate}
#sante-halloween .sh-pumpkin.small{left:56px;transform:scale(.67) rotate(10deg);transform-origin:left bottom}
#sante-halloween .sh-web{position:absolute;top:92px;left:0;width:100px;height:100px;color:#c7b087;opacity:.3}
#sante-halloween .sh-web.right{left:auto;right:0;transform:scaleX(-1)}
#sante-halloween.is-off .sh-world{visibility:hidden}
#sante-halloween.is-off .sh-world *{animation-play-state:paused!important}
@keyframes sh-flight{0%{transform:translateX(-5vw) translateY(0);opacity:0}7%{opacity:.8}45%{transform:translateX(60vw) translateY(-24px);opacity:.8}75%,100%{transform:translateX(135vw) translateY(30px);opacity:0}}
@keyframes sh-flap{from{transform:rotate(-18deg) scaleY(.4)}to{transform:rotate(15deg) scaleY(1)}}
@keyframes sh-flap-right{from{transform:rotate(18deg) scaleY(.4)}to{transform:rotate(-15deg) scaleY(1)}}
@keyframes sh-fog{to{transform:translate(12%,-10px)}}
@keyframes sh-sparkle{0%{transform:translateY(0);opacity:0}15%{opacity:.6}100%{transform:translate(28px,-70vh);opacity:0}}
@keyframes sh-glow{from{opacity:.65}to{opacity:1}}
@media(max-width:600px){#sante-halloween .sh-ghost{width:120px;height:180px}#sante-halloween .sh-bat:nth-child(n+11),#sante-halloween .sh-sparkle:nth-child(n+13){display:none}#sante-halloween .sh-controls{right:10px;bottom:calc(94px + env(safe-area-inset-bottom,0px))}#sante-halloween .sh-controls button{min-height:44px;padding:9px 11px}#sante-halloween .sh-pumpkins{scale:.8;transform-origin:left bottom}#sante-halloween .sh-web{width:75px;height:75px}}
@media(prefers-reduced-motion:reduce){#sante-halloween .sh-world *{animation:none!important}#sante-halloween .sh-bats,#sante-halloween .sh-sparkles{display:none}}
@media print{#sante-halloween{display:none!important}}
