#spell-intro{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;background:#0a0510;display:flex;align-items:center;justify-content:center;overflow:hidden}#spell-intro.spell-done{animation:introExit .9s cubic-bezier(.65,0,.35,1) forwards;pointer-events:none}@keyframes introExit{0%{opacity:1;clip-path:circle(150% at 50% 50%)}60%{opacity:1}to{opacity:0;clip-path:circle(0% at 50% 50%)}}#spell-intro.spell-hidden{display:none}.spell-vortex{position:relative;width:300px;height:300px;display:flex;align-items:center;justify-content:center}.spell-ring{position:absolute;border-radius:50%;border:2px solid transparent;opacity:0}.spell-ring-1{width:100%;height:100%;border-color:#7b6ef699;animation:ringExpand 2.5s ease-out .3s forwards}.spell-ring-2{width:80%;height:80%;border-color:#c23fae80;animation:ringExpand 2.5s ease-out .6s forwards}.spell-ring-3{width:60%;height:60%;border-color:#a78bfa66;animation:ringExpand 2.5s ease-out .9s forwards}@keyframes ringExpand{0%{transform:scale(.3) rotate(0);opacity:0}30%{opacity:1}50%{opacity:.8}to{transform:scale(2.5) rotate(180deg);opacity:0}}.spell-rune-circle{width:180px;height:180px;animation:runeAppear 1.8s ease-out .2s both,runeSpin 3s linear .2s infinite}.rune-svg{width:100%;height:100%;filter:drop-shadow(0 0 12px rgba(123,110,246,.8))}.rune-outer,.rune-inner,.rune-core{fill:none;stroke-width:1.5;stroke-dasharray:600;stroke-dashoffset:600}.rune-outer{stroke:#7b6ef6cc;animation:runeTrace 1.5s ease-out .3s forwards}.rune-inner{stroke:#c23faeb3;animation:runeTrace 1.5s ease-out .6s forwards}.rune-core{stroke:#a78bfae6;animation:runeTrace 1.2s ease-out .9s forwards}.rune-mark{stroke:#a78bfa99;stroke-width:2;stroke-dasharray:40;stroke-dashoffset:40;animation:runeTrace .6s ease-out 1.2s forwards}.rune-star{fill:none;stroke:#d4a84399;stroke-width:1;stroke-dasharray:500;stroke-dashoffset:500;animation:runeTrace 1s ease-out 1.4s forwards}@keyframes runeTrace{to{stroke-dashoffset:0}}@keyframes runeAppear{0%{opacity:0;transform:scale(.5)}40%{opacity:1}to{opacity:1;transform:scale(1)}}@keyframes runeSpin{to{transform:rotate(360deg)}}.spell-flash{position:absolute;width:10px;height:10px;border-radius:50%;background:#fff;opacity:0;animation:spellFlash .6s ease-out 2.4s forwards}@keyframes spellFlash{0%{transform:scale(1);opacity:0;box-shadow:0 0 #fff0}20%{opacity:1;box-shadow:0 0 60px 30px #a78bfacc}to{transform:scale(80);opacity:0;box-shadow:0 0 120px 60px #fff0}}.spell-cracks{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.crack{position:absolute;width:2px;background:linear-gradient(to bottom,transparent,rgba(167,139,250,.9),rgba(123,110,246,.6),transparent);opacity:0;filter:blur(.5px);box-shadow:0 0 8px #7b6ef680,0 0 20px #7b6ef64d}.crack-1{height:120px;top:50%;left:50%;transform-origin:top center;transform:translate(-50%,-50%) rotate(-30deg);animation:crackStrike .3s ease-out 2s forwards,crackFade .5s ease-out 2.3s forwards}.crack-2{height:90px;top:50%;left:50%;transform-origin:top center;transform:translate(-50%,-50%) rotate(45deg);animation:crackStrike .3s ease-out 2.1s forwards,crackFade .5s ease-out 2.4s forwards}.crack-3{height:140px;top:50%;left:50%;transform-origin:top center;transform:translate(-50%,-50%) rotate(150deg);animation:crackStrike .3s ease-out 2.15s forwards,crackFade .5s ease-out 2.5s forwards}.crack-4{height:100px;top:50%;left:50%;transform-origin:top center;transform:translate(-50%,-50%) rotate(-120deg);animation:crackStrike .3s ease-out 2.2s forwards,crackFade .5s ease-out 2.5s forwards}.crack-5{height:80px;top:50%;left:50%;transform-origin:top center;transform:translate(-50%,-50%) rotate(80deg);animation:crackStrike .3s ease-out 2.25s forwards,crackFade .5s ease-out 2.55s forwards}.crack-6{height:110px;top:50%;left:50%;transform-origin:top center;transform:translate(-50%,-50%) rotate(-70deg);animation:crackStrike .3s ease-out 2.3s forwards,crackFade .5s ease-out 2.6s forwards}@keyframes crackStrike{0%{opacity:0;height:0}50%{opacity:1}to{opacity:1}}@keyframes crackFade{to{opacity:0}}.spell-cards{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;perspective:1200px;z-index:2}.spell-card{position:absolute;top:50%;left:50%;width:200px;height:279px;transform-origin:center center;opacity:0;filter:drop-shadow(0 4px 12px rgba(0,0,0,.6))}.spell-card img{width:100%;height:100%;object-fit:cover;border-radius:8px;border:2px solid rgba(167,139,250,.3)}@keyframes cardThrow{0%{opacity:0;transform:translate(calc(-50% + var(--start-x, -120%)),calc(-50% + var(--start-y, -80%))) rotate(var(--start-rot, -30deg)) scale(.4) rotateY(40deg)}30%{opacity:1}80%{opacity:1;transform:translate(-50%,-50%) rotate(var(--end-rot, 5deg)) scale(1.05) rotateY(0)}to{opacity:1;transform:translate(-50%,-50%) rotate(var(--end-rot, 5deg)) scale(1) rotateY(0)}}@keyframes cardGlow{0%{filter:drop-shadow(0 4px 12px rgba(0,0,0,.6))}50%{filter:drop-shadow(0 0 20px rgba(123,110,246,.8)) drop-shadow(0 0 40px rgba(167,139,250,.4))}to{filter:drop-shadow(0 0 12px rgba(123,110,246,.5)) drop-shadow(0 4px 8px rgba(0,0,0,.4))}}.spell-card:nth-child(1){z-index:1}.spell-card:nth-child(2){z-index:2}.spell-card:nth-child(3){z-index:3}.spell-card:nth-child(4){z-index:4}.spell-card:nth-child(5){z-index:5}.spell-card{animation:cardThrow .7s cubic-bezier(.2,.8,.3,1) forwards,cardGlow .4s ease-out forwards}.spell-smoke-burst{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.smoke-puff{position:absolute;top:50%;left:50%;width:80px;height:80px;border-radius:50%;background:radial-gradient(circle,rgba(100,80,140,.4) 0%,rgba(60,40,90,.2) 40%,transparent 70%);opacity:0;filter:blur(12px);transform:translate(-50%,-50%) scale(.3)}.smoke-puff-1{animation:smokeBurst 1.5s ease-out 2.4s forwards;--dx: -120px;--dy: -80px}.smoke-puff-2{animation:smokeBurst 1.5s ease-out 2.45s forwards;--dx: 100px;--dy: -90px}.smoke-puff-3{animation:smokeBurst 1.5s ease-out 2.5s forwards;--dx: -80px;--dy: 110px}.smoke-puff-4{animation:smokeBurst 1.5s ease-out 2.5s forwards;--dx: 130px;--dy: 60px}.smoke-puff-5{animation:smokeBurst 1.8s ease-out 2.45s forwards;--dx: -150px;--dy: 20px}.smoke-puff-6{animation:smokeBurst 1.8s ease-out 2.5s forwards;--dx: 50px;--dy: -140px}.smoke-puff-7{animation:smokeBurst 1.6s ease-out 2.55s forwards;--dx: 160px;--dy: -30px}.smoke-puff-8{animation:smokeBurst 1.6s ease-out 2.55s forwards;--dx: -40px;--dy: 150px}@keyframes smokeBurst{0%{opacity:0;transform:translate(-50%,-50%) scale(.3)}20%{opacity:.6}to{opacity:0;transform:translate(calc(-50% + var(--dx)),calc(-50% + var(--dy))) scale(2.5)}}#ambient-fx{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:3;overflow:hidden}.ambient-smoke{position:absolute;border-radius:50%;filter:blur(18px);opacity:0}.ambient-smoke-1{background:radial-gradient(ellipse,rgba(80,55,130,.6) 0%,rgba(60,40,100,.3) 40%,transparent 70%);bottom:-10px;left:-30px;width:450px;height:150px;animation:smokeWisp1 14s ease-in-out infinite}.ambient-smoke-2{background:radial-gradient(ellipse,rgba(100,60,150,.5) 0%,rgba(70,40,110,.25) 40%,transparent 70%);bottom:0;right:-60px;width:400px;height:130px;animation:smokeWisp2 18s ease-in-out 3s infinite}.ambient-smoke-3{background:radial-gradient(ellipse,rgba(70,45,120,.4) 0%,rgba(50,30,90,.2) 40%,transparent 70%);top:-20px;left:25%;width:350px;height:110px;animation:smokeWisp3 20s ease-in-out 7s infinite}@keyframes smokeWisp1{0%,to{opacity:0;transform:translate(0) translateY(0) scaleX(1)}10%{opacity:.7}30%{opacity:.9}50%{opacity:.6;transform:translate(140px) translateY(-40px) scaleX(1.4)}70%{opacity:.8}90%{opacity:.5}}@keyframes smokeWisp2{0%,to{opacity:0;transform:translate(0) translateY(0) scaleX(1)}15%{opacity:.6}35%{opacity:.8}50%{opacity:.5;transform:translate(-120px) translateY(-25px) scaleX(1.3)}75%{opacity:.7}}@keyframes smokeWisp3{0%,to{opacity:0;transform:translate(0) translateY(0)}20%{opacity:.5}40%{opacity:.7}50%{opacity:.4;transform:translate(80px) translateY(20px)}70%{opacity:.6}}.ambient-energy{position:absolute;width:2px;opacity:0;filter:blur(.5px)}.ambient-energy-1{height:80px;width:3px;top:20%;left:10%;background:linear-gradient(to bottom,transparent,rgba(167,139,250,1),rgba(123,110,246,.8),transparent);box-shadow:0 0 12px #7b6ef6b3,0 0 30px #7b6ef666;animation:ambientCrackle 6s ease-in-out 2s infinite;transform:rotate(15deg)}.ambient-energy-2{height:60px;width:3px;top:55%;right:8%;background:linear-gradient(to bottom,transparent,rgba(194,63,174,.9),rgba(194,63,174,.7),transparent);box-shadow:0 0 12px #c23fae99,0 0 30px #c23fae4d;animation:ambientCrackle 9s ease-in-out 5s infinite;transform:rotate(-25deg)}.ambient-energy-3{height:50px;width:3px;top:38%;left:88%;background:linear-gradient(to bottom,transparent,rgba(167,139,250,.9),rgba(123,110,246,.7),transparent);box-shadow:0 0 12px #7b6ef699,0 0 30px #7b6ef64d;animation:ambientCrackle 12s ease-in-out 8s infinite;transform:rotate(40deg)}@keyframes ambientCrackle{0%,46%,56%,to{opacity:0}47%{opacity:0}48%{opacity:1}49%{opacity:.4}50%{opacity:1}51%{opacity:.7}52%{opacity:1}53%{opacity:.5}54%{opacity:.8}55%{opacity:0}}#candlelight{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:1;overflow:hidden}.candle-glow{position:absolute;border-radius:50%;mix-blend-mode:soft-light}.candle-glow-1{width:600px;height:500px;top:-5%;left:15%;background:radial-gradient(ellipse,rgba(255,180,60,.35) 0%,rgba(255,150,40,.2) 30%,rgba(200,100,20,.08) 55%,transparent 75%);animation:candleFlicker1 3s ease-in-out infinite}.candle-glow-2{width:450px;height:400px;top:30%;right:-5%;background:radial-gradient(ellipse,rgba(255,170,50,.28) 0%,rgba(240,130,30,.15) 35%,rgba(180,90,15,.06) 55%,transparent 75%);animation:candleFlicker2 4s ease-in-out .5s infinite}.candle-glow-3{width:500px;height:450px;bottom:5%;left:-10%;background:radial-gradient(ellipse,rgba(255,160,40,.22) 0%,rgba(220,120,25,.12) 30%,rgba(160,80,10,.05) 55%,transparent 75%);animation:candleFlicker3 5s ease-in-out 1.2s infinite}.candle-glow-4{width:350px;height:300px;top:55%;left:35%;background:radial-gradient(ellipse,rgba(255,190,80,.18) 0%,rgba(220,140,40,.08) 40%,transparent 70%);animation:candleFlicker1 3.5s ease-in-out 2s infinite}.candle-glow-5{width:250px;height:220px;top:8%;right:10%;background:radial-gradient(ellipse,rgba(255,200,100,.2) 0%,rgba(200,130,40,.08) 40%,transparent 70%);animation:candleFlicker2 2.8s ease-in-out .8s infinite}@keyframes candleFlicker1{0%{opacity:.9;transform:scale(1)}8%{opacity:1;transform:scale(1.02)}15%{opacity:.75;transform:scale(.97)}25%{opacity:.95;transform:scale(1.01)}38%{opacity:.7;transform:scale(.98)}50%{opacity:1;transform:scale(1.03)}62%{opacity:.8;transform:scale(.99)}70%{opacity:.95;transform:scale(1.01)}82%{opacity:.65;transform:scale(.96)}90%{opacity:.9;transform:scale(1.02)}to{opacity:.9;transform:scale(1)}}@keyframes candleFlicker2{0%{opacity:.85;transform:scale(1)}12%{opacity:.95;transform:scale(1.03)}22%{opacity:.6;transform:scale(.95)}35%{opacity:.9;transform:scale(1.01)}45%{opacity:.75;transform:scale(.98)}55%{opacity:1;transform:scale(1.02)}68%{opacity:.7;transform:scale(.97)}78%{opacity:.85;transform:scale(1)}88%{opacity:.55;transform:scale(.96)}95%{opacity:.9;transform:scale(1.01)}to{opacity:.85;transform:scale(1)}}@keyframes candleFlicker3{0%{opacity:.8;transform:scale(1) translate(0)}10%{opacity:.9;transform:scale(1.02) translate(3px)}20%{opacity:.6;transform:scale(.96) translate(-2px)}30%{opacity:.85;transform:scale(1.01) translate(1px)}42%{opacity:.5;transform:scale(.94) translate(-4px)}55%{opacity:.95;transform:scale(1.03) translate(2px)}65%{opacity:.7;transform:scale(.98) translate(-1px)}75%{opacity:.9;transform:scale(1.01) translate(3px)}85%{opacity:.55;transform:scale(.95) translate(-2px)}to{opacity:.8;transform:scale(1) translate(0)}}.candle-shadow{position:absolute;border-radius:50%;background:radial-gradient(ellipse,rgba(10,5,16,.35) 0%,rgba(10,5,16,.2) 30%,transparent 65%);mix-blend-mode:multiply}.candle-shadow-1{width:500px;height:400px;top:15%;right:30%;animation:shadowShift1 8s ease-in-out infinite}.candle-shadow-2{width:400px;height:350px;bottom:20%;left:40%;animation:shadowShift2 10s ease-in-out 3s infinite}.candle-shadow-3{width:600px;height:300px;bottom:-5%;right:-10%;animation:shadowShift1 12s ease-in-out 5s infinite}@keyframes shadowShift1{0%,to{opacity:.6;transform:scale(1)}30%{opacity:.8;transform:scale(1.05)}60%{opacity:.5;transform:scale(.95)}}@keyframes shadowShift2{0%,to{opacity:.5;transform:scale(1) translate(0)}40%{opacity:.7;transform:scale(1.04) translate(10px)}70%{opacity:.45;transform:scale(.97) translate(-8px)}}#candlelight:after{content:"";position:fixed;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse at 40% 30%,transparent 25%,rgba(10,5,16,.08) 45%,rgba(10,5,16,.2) 65%,rgba(10,5,16,.35) 85%,rgba(10,5,16,.5) 100%);pointer-events:none}@media (prefers-reduced-motion: reduce){#spell-intro{display:none!important}.ambient-smoke,.ambient-energy,.candle-glow,.candle-shadow{animation:none!important}.candle-glow{opacity:.8!important}.candle-shadow{opacity:.5!important}}
