/* Grave feet anchored to the background's ground, not a separate row container. */
@media(min-width:801px){
 .scene-art .graves{position:absolute;inset:0;width:100%;height:100%;margin:0;z-index:4}
 .grave:nth-child(1){width:11.5%;left:6.25%;top:auto;bottom:31%;z-index:1}
 .grave:nth-child(2){width:10.8%;left:27.6%;top:auto;bottom:29.5%;z-index:1}
 .grave:nth-child(3){width:11.2%;left:48.4%;top:auto;bottom:32%;z-index:1}
 .grave:nth-child(4){width:11.6%;left:69.2%;top:auto;bottom:30%;z-index:1}
 .grave:nth-child(5){width:13%;left:16%;top:auto;bottom:16%;z-index:4}
 .grave:nth-child(6){width:13.5%;left:37%;top:auto;bottom:14.5%;z-index:5}
 .grave:nth-child(7){width:13.3%;left:58%;top:auto;bottom:17%;z-index:4}
 .grave:nth-child(8){width:12.8%;left:79%;top:auto;bottom:15%;z-index:5}
 .ca-bar{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);z-index:30;margin:0}
}
.grave:after{height:26%;bottom:-3%;left:-16%;width:132%;filter:brightness(.72) saturate(.85)}
.grave:before{bottom:0;height:12%;filter:blur(5px)}
.grave img{transform:translateY(3%)}.grave:hover img{transform:translateY(2%)}
.floor-smoke{inset:0;height:100svh;min-height:0;max-height:none;overflow:visible;opacity:.72;mask-image:linear-gradient(transparent 52%,#000 77%);-webkit-mask-image:linear-gradient(transparent 52%,#000 77%)}
.floor-smoke i,.floor-smoke i:nth-child(3n){bottom:-8%;height:48%;width:85vw;opacity:.42;filter:blur(3px) brightness(.82) saturate(1.15)}
.floor-smoke:after{inset:70% -20% -15%;filter:blur(18px)}
.moon-cloud{left:76.5%;top:2.8%;width:19%;height:28%;border-radius:50%;background:none;filter:none;opacity:.65;animation:moon-orbit 70s linear infinite}
.moon-cloud:before,.moon-cloud:after{content:"";position:absolute;inset:-7%;border-radius:50%;background:url(assets/purple-fog.webp) center/150% 110% no-repeat;mask-image:radial-gradient(ellipse,transparent 43%,#000 58%,transparent 74%);-webkit-mask-image:radial-gradient(ellipse,transparent 43%,#000 58%,transparent 74%);opacity:.5;filter:brightness(.8) blur(2px)}
.moon-cloud:after{transform:rotate(130deg);opacity:.32;animation:moon-orbit 95s linear reverse infinite}
@keyframes moon-orbit{to{transform:rotate(360deg)}}
.lamp-glow,.fire-glow,.mansion-glow{animation:flame-flicker 4.7s linear infinite alternate}
.lamp-right,.pumpkin-right{animation-duration:3.9s;animation-delay:-2.1s}.lamp-middle-left,.candles-right{animation-duration:5.3s;animation-delay:-1.7s}.mansion-glow{animation-duration:7.1s}
@keyframes flame-flicker{0%,100%{opacity:.88}8%{opacity:.68}11%{opacity:.94}21%{opacity:.82}24%{opacity:.62}28%{opacity:.92}43%{opacity:.79}46%{opacity:.95}61%{opacity:.72}65%{opacity:.88}78%{opacity:.94}82%{opacity:.76}86%{opacity:.9}}
@media(max-width:800px){.graves{background:radial-gradient(ellipse at 50% 65%,#170e21ba,transparent 68%)}}
@media(prefers-reduced-motion:reduce){.moon-cloud,.moon-cloud:after,.lamp-glow,.fire-glow,.mansion-glow{animation:none}}

/* Each flame is animated independently by the random flicker controller. */
.lamp-glow,.fire-glow,.mansion-glow{animation:none;opacity:.88;transition:opacity .12s ease-in-out}
.mansion-glow{opacity:.44;filter:blur(4px)}
.moon-glow{filter:blur(6px) brightness(1.18)}

/* Stable, immediate per-grave hover colour; ambient ghosts cannot blend into it. */
.grave,.grave:hover,.grave:active{filter:none;transition:none}
.grave img{transition:none;filter:drop-shadow(0 0 3px var(--glow))}
.grave:hover img,.grave:focus-visible img{filter:drop-shadow(0 0 13px var(--glow)) brightness(1.07)}
.ghosts,.ghosts *{pointer-events:none!important;user-select:none}
.ghost{mix-blend-mode:normal}
.grave-instruction{font-family:Creepster,Georgia,serif;font-size:clamp(32px,3.5vw,56px);line-height:1.05;letter-spacing:.045em;color:#ffa63b;margin:9px auto 0;text-shadow:0 3px 0 #632313,0 0 16px #ef751e55}
.grave-arrow{display:block;font-family:Georgia,serif;font-weight:bold;font-size:45px;line-height:1;margin:0 auto;color:#ffad45;text-shadow:0 0 12px #fd8b3d55}
@media(max-width:800px){.grave-instruction{font-size:36px}.grave-arrow{font-size:35px}}
@media(max-width:480px){.grave-instruction{font-size:32px}}
