:root{--bg:#0d0614;--pumpkin:#ff7518;--toxic:#7fff00;--ghost:#f3ecff;--plum:#2a1240}
html,body{background:var(--bg);color:var(--ghost);font-family:'Fraunces',serif;margin:0;min-height:100%}
body{background:radial-gradient(ellipse at 50% -10%,#3b1458 0%,transparent 60%),radial-gradient(ellipse at 90% 110%,#3a1a05 0%,transparent 50%),var(--bg)}
.creep{font-family:'Creepster',cursive;letter-spacing:.04em}
.glow{color:var(--pumpkin);text-shadow:0 0 12px #ff7518aa,0 0 40px #ff751855}
.fog{position:fixed;inset:0;pointer-events:none;z-index:0;opacity:.35;
background:radial-gradient(ellipse 40% 20% at 20% 80%,#ffffff22,transparent),radial-gradient(ellipse 50% 25% at 80% 70%,#ffffff18,transparent);
animation:fog 18s ease-in-out infinite alternate}
@keyframes fog{to{transform:translateX(-8%) scale(1.1)}}
#root{position:relative;z-index:1}
.panel{background:linear-gradient(160deg,#1d0b2cdd,#120818ee);border:1px solid #ffffff14;border-radius:22px;box-shadow:inset 0 0 40px #7a2fb422}
.drop{border:2px dashed #9b4dff;transition:all .25s}
.drop.over{border-color:var(--toxic);background:#7fff0010;box-shadow:0 0 30px #7fff0044;animation:pulse 1s infinite}
@keyframes pulse{50%{transform:scale(1.01)}}
.btn{transition:transform .15s,box-shadow .2s}
.btn:hover:not(:disabled){transform:rotate(-1.5deg) scale(1.04)}
.btn:focus-visible{outline:none;box-shadow:0 0 0 3px #ff7518}
.big{background:var(--pumpkin);color:#1a0800;box-shadow:0 0 30px #ff751866}
.big:disabled{background:#4a3a40;color:#999;box-shadow:none;cursor:not-allowed}
.chip{border:1px solid #ffffff30;border-radius:999px;padding:4px 12px;font-size:.85rem}
.chip.on{background:var(--toxic);color:#0d0614;border-color:var(--toxic)}
.bat{position:absolute;font-size:22px;animation:fly 14s linear infinite;opacity:.8}
@keyframes fly{0%{transform:translate(-10vw,20px)}50%{transform:translate(50vw,-10px)}100%{transform:translate(110vw,30px)}}
.cauldron{animation:bub 1s ease-in-out infinite}
@keyframes bub{50%{transform:translateY(-6px) scale(1.05)}}
.flip{transform:rotate(180deg);transition:transform .8s}
#app{transition:transform .8s}
input[type=range]{accent-color:var(--pumpkin)}
.card img{transition:opacity .4s}
.card:hover .spook{opacity:0}