[data-theme=halloween] body{background:radial-gradient(ellipse 60% 45% at 85% 0,hsl(30 90% 55%/.16) 0,transparent 70%),radial-gradient(ellipse 80% 60% at 10% 100%,hsl(280 70% 30%/.35) 0,transparent 70%),linear-gradient(180deg,hsl(265 45% 9%),hsl(270 40% 6%) 60%,hsl(260 50% 4%));background-attachment:fixed}[data-theme=halloween] h1,[data-theme=halloween] h2{font-family:var(--font-creepster),system-ui,sans-serif;letter-spacing:.03em;font-weight:400}[data-theme=halloween] h1{color:hsl(28 100% 58%);text-shadow:0 0 18px hsl(28 100% 50%/.45),0 2px 0 hsl(0 70% 25%)}[data-theme=halloween] .rounded-2xl,[data-theme=halloween] .rounded-xl{box-shadow:0 6px 28px -8px hsl(280 80% 30%/.55)}.hw-ambience{position:fixed;inset:0;pointer-events:none;z-index:-1;overflow:hidden}.hw-moon{top:clamp(90px,14vh,140px);right:5vw;width:clamp(56px,9vw,130px);aspect-ratio:1;border-radius:50%;background:radial-gradient(circle at 38% 35%,hsl(45 100% 92%) 0,hsl(38 95% 75%) 45%,hsl(30 85% 55%) 100%);box-shadow:0 0 60px 20px hsl(35 100% 60%/.25),0 0 140px 60px hsl(30 100% 50%/.12);opacity:.4}.hw-moon,.hw-web{position:absolute}.hw-web{top:0;left:0;width:clamp(110px,16vw,220px);opacity:.18;color:hsl(30 30% 85%)}.hw-fog{position:absolute;left:-20%;width:140%;height:34vh;bottom:-8vh;background:radial-gradient(ellipse 30% 55% at 20% 60%,hsl(270 30% 80%/.16),transparent 70%),radial-gradient(ellipse 25% 50% at 55% 70%,hsl(270 30% 85%/.14),transparent 70%),radial-gradient(ellipse 30% 60% at 85% 55%,hsl(270 30% 80%/.15),transparent 70%);filter:blur(8px);animation:hw-fog-drift 38s ease-in-out infinite alternate}.hw-fog.hw-fog-2{bottom:-12vh;opacity:.8;animation-duration:52s;animation-direction:alternate-reverse}@keyframes hw-fog-drift{0%{transform:translateX(-6%)}to{transform:translateX(6%)}}.hw-bats{position:fixed;inset:0;pointer-events:none;z-index:45;overflow:hidden}.hw-bat{position:absolute;left:-10vw;color:hsl(270 40% 4%);filter:drop-shadow(0 0 2px hsl(30 100% 60%/.35));animation:hw-bat-fly linear forwards}.hw-bat svg{width:100%;height:auto;animation:hw-flap .22s ease-in-out infinite alternate;transform-origin:50% 40%}@keyframes hw-flap{0%{transform:scaleY(1)}to{transform:scaleY(.35)}}@keyframes hw-bat-fly{0%{transform:translate(0)}50%{transform:translate(60vw,var(--hw-dip,-6vh))}to{transform:translate(125vw,var(--hw-rise,-18vh))}}.theme-halloween{--background:268 40% 8%;--foreground:32 90% 92%;--card:268 35% 12%;--card-foreground:32 90% 92%;--primary:26 100% 52%;--primary-foreground:0 0% 100%;--secondary:268 28% 17%;--secondary-foreground:32 80% 88%;--muted:268 22% 19%;--muted-foreground:28 35% 62%;--accent:280 75% 45%;--accent-foreground:0 0% 100%;--destructive:0 90% 55%;--border:268 28% 24%;--ring:26 100% 52%;background:radial-gradient(ellipse 70% 45% at 50% 0,hsl(275 60% 22%/.6) 0,transparent 70%),radial-gradient(ellipse 50% 35% at 50% 100%,hsl(26 100% 40%/.14) 0,transparent 70%),hsl(268 40% 6%);background-attachment:fixed;isolation:isolate}.theme-halloween [data-role=round-answer]{color:hsl(28 100% 62%);text-shadow:0 0 12px hsl(26 100% 45%/.5)}.hw-room-bg{position:fixed;inset:0;overflow:hidden;pointer-events:none;z-index:-1}.hw-room-prop{position:absolute;opacity:.09;line-height:1;-webkit-user-select:none;user-select:none}.hw-room-float{position:fixed;inset:0;overflow:hidden;pointer-events:none;z-index:0}.hw-ghost{position:absolute;bottom:-60px;opacity:0;animation-name:hw-ghost-rise;animation-timing-function:ease-in-out;animation-iteration-count:infinite}@keyframes hw-ghost-rise{0%{transform:translate(0);opacity:0}15%{opacity:.4}50%{transform:translate(4vw,-55vh)}85%{opacity:.35}to{transform:translate(-3vw,-110vh);opacity:0}}.hw-burst{position:fixed;inset:0;overflow:hidden;pointer-events:none;z-index:60}.hw-burst span{position:absolute;top:42%;left:50%;font-size:1.6rem;line-height:1;animation:rock-piece-fall 1.6s cubic-bezier(.15,.8,.35,1) forwards;filter:drop-shadow(0 0 8px hsl(26 100% 50%/.7))}.hw-reveal{position:fixed;inset:0;z-index:100;overflow:hidden;color:hsl(32 90% 92%)}.hw-reveal-backdrop{position:absolute;inset:0;background:#000;opacity:0;transition:opacity .6s ease}.hw-reveal-flicker .hw-reveal-backdrop{animation:hw-flicker 1.3s step-end forwards}@keyframes hw-flicker{0%{opacity:0}8%{opacity:.85}14%{opacity:.1}22%{opacity:.95}30%{opacity:.25}38%{opacity:1}46%{opacity:.4}55%{opacity:1}70%{opacity:.7}80%,to{opacity:1}}.hw-reveal-dark .hw-reveal-backdrop{opacity:1}.hw-reveal-sky{position:absolute;inset:0;opacity:0;transition:opacity 2.5s ease;background:radial-gradient(ellipse 55% 40% at 50% 18%,hsl(30 100% 55%/.22) 0,transparent 70%),linear-gradient(180deg,hsl(265 55% 10%),hsl(270 50% 5%) 70%,#000)}.hw-reveal-sky.on{opacity:1}.hw-reveal-moon{position:absolute;left:50%;top:9%;width:min(34vw,260px);aspect-ratio:1;border-radius:50%;background:radial-gradient(circle at 30% 62%,hsl(28 70% 48%/.45) 0 7%,transparent 8%),radial-gradient(circle at 64% 30%,hsl(28 70% 48%/.35) 0 9%,transparent 10%),radial-gradient(circle at 70% 68%,hsl(28 70% 48%/.3) 0 5%,transparent 6%),radial-gradient(circle at 44% 40%,hsl(28 70% 50%/.25) 0 4%,transparent 5%),radial-gradient(circle at 40% 36%,hsl(45 100% 93%) 0,hsl(36 95% 72%) 45%,hsl(26 90% 50%) 100%);box-shadow:0 0 90px 30px hsl(32 100% 55%/.35),0 0 220px 90px hsl(26 100% 45%/.18);transform:translate(-50%,40vh) scale(.6);opacity:0;transition:transform 4s cubic-bezier(.2,.7,.2,1),opacity 3s ease}.hw-reveal-moon.on{transform:translate(-50%) scale(1);opacity:.95}.hw-reveal-fog{position:absolute;left:-30%;width:160%;height:55vh;bottom:-55vh;background:radial-gradient(ellipse 25% 50% at 20% 60%,hsl(270 25% 85%/.35),transparent 70%),radial-gradient(ellipse 22% 45% at 50% 70%,hsl(270 25% 90%/.3),transparent 70%),radial-gradient(ellipse 25% 55% at 80% 55%,hsl(270 25% 85%/.35),transparent 70%);filter:blur(10px);transition:bottom 5s cubic-bezier(.2,.7,.2,1);animation:hw-fog-drift 14s ease-in-out infinite alternate}.hw-reveal-fog.on{bottom:-14vh}.hw-reveal-flash{position:absolute;inset:0;background:#fff;opacity:0;pointer-events:none}.hw-reveal-flash.on{animation:hw-lightning .9s ease-out forwards}@keyframes hw-lightning{0%{opacity:0}8%{opacity:.95}16%{opacity:.1}24%{opacity:.8}to{opacity:0}}.hw-reveal-text{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.1rem;padding:0 6vw;text-align:center}.hw-reveal-whispers{top:48%;gap:.6rem}.hw-reveal-main,.hw-reveal-whispers{bottom:auto;inset-inline:0;justify-content:flex-start}.hw-reveal-main{top:43%}.hw-reveal-out .hw-reveal-text{opacity:0;transition:opacity .6s ease}.hw-reveal-graveyard{position:absolute;left:0;bottom:0;width:100%;height:34vh;transform:translateY(100%);transition:transform 4.5s cubic-bezier(.2,.7,.2,1)}.hw-reveal-graveyard.on{transform:none}.hw-window{animation:hw-window 3.2s step-end infinite}@keyframes hw-window{0%,62%,70%,to{opacity:1}64%,68%{opacity:.25}}.hw-reveal-line{opacity:0;transform:translateY(14px);transition:opacity 1.2s ease,transform 1.2s ease}.hw-reveal-line.on{opacity:1;transform:none}.hw-reveal-line.gone{opacity:0;transform:translateY(-10px)}.hw-reveal-whisper{font-size:clamp(1.4rem,4.5vw,2.6rem);font-style:italic;color:hsl(270 20% 82%);letter-spacing:.04em}.hw-reveal-title{font-family:var(--font-creepster),system-ui,sans-serif;font-size:clamp(2.6rem,11vw,7rem);line-height:1;color:hsl(26 100% 55%);text-shadow:0 0 24px hsl(26 100% 50%/.7),0 0 60px hsl(0 90% 40%/.5),0 4px 0 hsl(0 80% 22%)}.hw-reveal-title.on{animation:hw-title-pulse 2.4s ease-in-out infinite alternate}@keyframes hw-title-pulse{0%{filter:brightness(1)}to{filter:brightness(1.25) drop-shadow(0 0 12px hsl(26 100% 50%/.6))}}.hw-reveal-sub{font-size:clamp(1rem,3.2vw,1.5rem);color:hsl(32 70% 85%);max-width:40rem}.hw-reveal-swarm{position:absolute;inset:0;pointer-events:none}.hw-swarm-bat{position:absolute;left:50%;top:45%;width:46px;color:#000;filter:drop-shadow(0 0 3px hsl(30 100% 60%/.6));animation:hw-swarm 2.6s cubic-bezier(.3,.1,.4,1) forwards}.hw-swarm-bat svg{width:100%;height:auto;animation:hw-flap .16s ease-in-out infinite alternate}@keyframes hw-swarm{0%{transform:translate(-50%,-50%) scale(.2);opacity:0}10%{opacity:1}to{transform:translate(calc(-50% + var(--sx)),calc(-50% + var(--sy))) scale(var(--ss,3));opacity:.9}}.hw-reveal-out{animation:hw-reveal-out 2.2s ease forwards}@keyframes hw-reveal-out{to{opacity:0;visibility:hidden}}.hw-reveal-skip{position:absolute;right:1rem;bottom:1rem;z-index:2;border-radius:9999px;padding:.35rem .9rem;font-size:.75rem;color:hsl(32 60% 85%);background:hsl(270 30% 15%/.7);border:1px solid hsl(270 30% 35%/.6)}.hw-toast{position:fixed;left:50%;top:18%;z-index:101;transform:translate(-50%);text-align:center;padding:1rem 1.5rem;border-radius:1rem;background:hsl(268 40% 8%/.9);border:1px solid hsl(26 100% 50%/.5);color:hsl(32 90% 92%);box-shadow:0 0 40px hsl(26 100% 50%/.35);animation:hw-toast 7s ease forwards;max-width:min(92vw,30rem)}@keyframes hw-toast{0%{opacity:0;transform:translate(-50%,12px) scale(.95)}10%,85%{opacity:1;transform:translate(-50%) scale(1)}to{opacity:0;visibility:hidden}}@media (prefers-reduced-motion:reduce){.hw-bat,.hw-bat svg,.hw-fog,.hw-ghost,.hw-reveal-fog,.hw-reveal-title.on,.hw-swarm-bat,.hw-swarm-bat svg{animation:none!important}.hw-bats,.hw-reveal-flash,.hw-reveal-swarm{display:none}}[data-theme=halloween] .event-card{background-image:linear-gradient(135deg,hsl(26 100% 45%/.28) 0,hsl(var(--card)) 45%,hsl(280 70% 35%/.35) 100%);border-color:hsl(26 100% 50%/.45)}