/* Darwine Halloween — scoped, decorative, click-through */
#darwine-halloween{position:fixed;inset:0;z-index:2147483647!important;pointer-events:none!important;overflow:hidden;contain:layout style;opacity:1}
#darwine-halloween *{box-sizing:border-box;pointer-events:none!important}
#darwine-halloween svg{display:block;max-width:none;height:auto;overflow:visible}
#darwine-halloween .dhw-web{position:absolute;top:calc(var(--dhw-top) + var(--dhw-admin,0px));width:calc(210px * var(--dhw-scale));color:var(--dhw-web);opacity:calc(.68 * var(--dhw-opacity,.75))}
#darwine-halloween .dhw-left{left:var(--dhw-edge)}
#darwine-halloween .dhw-right{right:var(--dhw-edge)}
#darwine-halloween .dhw-web.dhw-right{transform:scaleX(-1)}
#darwine-halloween .dhw-spider{position:absolute;top:calc(var(--dhw-top) + var(--dhw-admin,0px));width:calc(48px * var(--dhw-scale));color:var(--dhw-spider);transform-origin:50% 0}
#darwine-halloween .dhw-spider.dhw-left{left:calc(var(--dhw-edge) + 70px * var(--dhw-scale))}
#darwine-halloween .dhw-spider.dhw-right{right:calc(var(--dhw-edge) + 70px * var(--dhw-scale))}
#darwine-halloween .dhw-thread{height:calc(100px * var(--dhw-scale));width:1px;background:var(--dhw-web);margin:auto;opacity:.7}
#darwine-halloween.dhw-animated .dhw-thread{height:calc(100px * var(--dhw-scale) + min(var(--dhw-spider-scroll,0px),max(0px,55vh - var(--dhw-top) - var(--dhw-admin,0px) - 153px * var(--dhw-scale))));transition:height .25s ease-out}
#darwine-halloween .dhw-spider svg{width:100%;filter:drop-shadow(0 3px 3px #0004)}
#darwine-halloween .dhw-pumpkins{position:absolute;bottom:var(--dhw-bottom);display:flex;align-items:flex-end;isolation:isolate}
#darwine-halloween .dhw-pumpkins:before{content:"";position:absolute;inset:35% -15% -12%;background:radial-gradient(ellipse,var(--dhw-glow),transparent 68%);opacity:.24;z-index:-1}
#darwine-halloween .dhw-pumpkin{width:calc(102px * var(--dhw-scale));filter:drop-shadow(0 5px 4px #0003);transform-origin:50% 100%}
#darwine-halloween .dhw-pumpkin-small{width:calc(64px * var(--dhw-scale));margin-left:calc(-16px * var(--dhw-scale));transform:rotate(9deg)}
#darwine-halloween .dhw-face{fill:var(--dhw-glow)}
#darwine-halloween.dhw-animated .dhw-spider{animation:dhw-sway var(--dhw-speed) ease-in-out infinite alternate}
#darwine-halloween .dhw-pumpkin-animated .dhw-face{animation:dhw-light calc(var(--dhw-speed) * .8) ease-in-out infinite alternate}
#darwine-halloween .dhw-pumpkin-animated .dhw-pumpkin-small{animation:dhw-rock calc(var(--dhw-speed) * 1.5) ease-in-out infinite alternate}
@keyframes dhw-sway{from{transform:rotate(-3deg) translateY(-3px)}to{transform:rotate(3deg) translateY(5px)}}
@keyframes dhw-light{from{opacity:.7}to{opacity:1}}
@keyframes dhw-rock{from{transform:rotate(5deg)}to{transform:rotate(10deg)}}
#darwine-halloween .dhw-ghost{position:absolute;top:var(--dhw-ghost-height);width:calc(var(--dhw-ghost-size) * var(--dhw-scale));opacity:var(--dhw-ghost-opacity);filter:drop-shadow(0 3px 6px #33204020);--dhw-drift-direction:1;--dhw-travel:min(30vw,360px)}
#darwine-halloween .dhw-ghost.dhw-right{margin-top:40px;--dhw-drift-direction:-1;--dhw-travel:min(24vw,290px)}
#darwine-halloween .dhw-ghost svg,#darwine-halloween .dhw-candles svg{width:100%}
#darwine-halloween .dhw-ghost-art{width:100%;aspect-ratio:1;background:url("ghost-pngtree.png") center / contain no-repeat;transform:scaleX(var(--dhw-ghost-facing,1))}
#darwine-halloween .dhw-candles{position:absolute;bottom:var(--dhw-bottom);width:calc(var(--dhw-candle-size) * var(--dhw-scale));opacity:var(--dhw-candle-opacity);filter:drop-shadow(0 4px 5px #0003)}
#darwine-halloween.dhw-shared-left .dhw-candles.dhw-left{left:calc(var(--dhw-edge) + 145px * var(--dhw-scale))}
#darwine-halloween.dhw-shared-right .dhw-candles.dhw-right{right:calc(var(--dhw-edge) + 145px * var(--dhw-scale))}
#darwine-halloween .dhw-flame{transform-box:fill-box;transform-origin:50% 100%;filter:drop-shadow(0 0 5px var(--dhw-glow))}
#darwine-halloween .dhw-fog{position:absolute;left:-15%;right:-15%;bottom:0;height:calc(var(--dhw-fog-size) * var(--dhw-scale));opacity:var(--dhw-fog-opacity);overflow:hidden;mask-image:linear-gradient(transparent,#000 75%);-webkit-mask-image:linear-gradient(transparent,#000 75%)}
#darwine-halloween .dhw-fog i{display:block;position:absolute;inset:0;background:radial-gradient(ellipse at 20% 90%,var(--dhw-fog),transparent 58%),radial-gradient(ellipse at 80% 110%,var(--dhw-fog),transparent 65%)}
#darwine-halloween .dhw-fog i+i{inset:20% -20% -20%;transform:translateX(6%);opacity:.6}
@media(prefers-reduced-motion:no-preference){
#darwine-halloween.dhw-animated .dhw-ghost{left:16px;right:auto;top:calc(16px + var(--dhw-admin,0px));margin-top:0;--dhw-roam-width:max(0px,100vw - 32px - var(--dhw-ghost-size) * var(--dhw-scale));--dhw-roam-height:max(0px,100vh - 32px - var(--dhw-admin,0px) - var(--dhw-ghost-size) * var(--dhw-scale));animation:dhw-wander max(12s,var(--dhw-ghost-speed)) ease-in-out infinite;opacity:0}
}
#darwine-halloween.dhw-animated .dhw-ghost.dhw-right{animation-delay:calc(var(--dhw-ghost-speed) * -.5)}
#darwine-halloween.dhw-animated .dhw-fog i{animation:dhw-drift var(--dhw-fog-speed) ease-in-out infinite alternate}
#darwine-halloween.dhw-animated .dhw-fog i+i{animation-direction:alternate-reverse;animation-delay:-8s}
#darwine-halloween.dhw-animated .dhw-flame{animation:dhw-flame var(--dhw-candle-speed) ease-in-out infinite alternate}
#darwine-halloween.dhw-animated .dhw-flame-second{animation-delay:-1s;animation-direction:alternate-reverse}
@keyframes dhw-wander{
 0%,12%{opacity:0;transform:translate(calc(var(--dhw-roam-width) * var(--dhw-x0)),calc(var(--dhw-roam-height) * var(--dhw-y0)))}
 28%,48%{opacity:var(--dhw-ghost-opacity)}
 72%,100%{opacity:0;transform:translate(calc(var(--dhw-roam-width) * var(--dhw-x1)),calc(var(--dhw-roam-height) * var(--dhw-y1)))}
}
@keyframes dhw-drift{from{transform:translateX(-5%)}to{transform:translateX(5%)}}
@keyframes dhw-flame{0%{transform:rotate(-3deg) scale(.96,1);opacity:.8}50%{transform:rotate(2deg) scale(1,1.06);opacity:1}100%{transform:rotate(4deg) scale(.95,.96);opacity:.9}}
@media(prefers-reduced-motion:reduce){#darwine-halloween *,#darwine-halloween *:before{animation:none!important;transition:none!important}}
@media(prefers-reduced-motion:reduce){#darwine-halloween.dhw-animated .dhw-thread{height:calc(100px * var(--dhw-scale))}}
@media(max-width:767px){#darwine-halloween:not(.dhw-mobile){display:none}#darwine-halloween{--dhw-scale:var(--dhw-mobile-scale)!important}#darwine-halloween .dhw-web{opacity:.4!important}}
#darwine-halloween.dhw-preview-desktop{display:block!important;--dhw-scale:var(--dhw-desktop-scale)!important}
#darwine-halloween-hide{display:none!important}
@media print{#darwine-halloween,#darwine-halloween-hide{display:none!important}}

/* Pumpkin controls are independent of the other decorations. */
#darwine-halloween .dhw-spider{opacity:var(--dhw-opacity,.75)}
#darwine-halloween .dhw-pumpkins{--dhw-scale:var(--dhw-pumpkin-scale);--dhw-speed:var(--dhw-pumpkin-speed);--dhw-glow:var(--dhw-pumpkin-glow);bottom:var(--dhw-pumpkin-bottom);opacity:var(--dhw-pumpkin-opacity)}
#darwine-halloween .dhw-pumpkins.dhw-left{left:var(--dhw-pumpkin-edge)}
#darwine-halloween .dhw-pumpkins.dhw-right{right:var(--dhw-pumpkin-edge)}
@media(max-width:767px){#darwine-halloween .dhw-web{opacity:calc(.4 * var(--dhw-opacity,.75))!important}#darwine-halloween:not(.dhw-preview-desktop) .dhw-pumpkins{--dhw-scale:calc(var(--dhw-pumpkin-scale) * .6)}}
