*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--void:#06060c;--ink:#0e0e18;--parchment:#c8b89a;--gold:#d4a843;--gold-glow:#d4a84355;--arcane:#7b5ea7;--arcane-bright:#a78bfa;--arcane-glow:#7b5ea740;--ember:#e06040;--ember-glow:#e0604050;--text-dim:#6b6880;--text-mid:#9590a8;--text-bright:#e0dce8;--green:#4ade80;--green-glow:#4ade8040}html,body{min-height:100%;overflow-x:hidden}body{background:var(--void);height:auto;color:var(--text-bright);cursor:none;flex-direction:column;align-items:center;font-family:Crimson Text,Georgia,serif;display:flex;position:relative;overflow-y:auto}.custom-cursor{background:var(--gold);pointer-events:none;z-index:9999;width:10px;height:10px;box-shadow:0 0 14px var(--gold),0 0 28px var(--gold-glow),0 0 48px #d4a84326;mix-blend-mode:screen;border-radius:50%;transition:transform 50ms;position:fixed;transform:translate(-50%,-50%)}body:hover .custom-cursor{opacity:1}a,button,input,.portal-btn,.cast-btn,.share-btn,.float-obj.clickable,.egg-dismiss,.final-dismiss,.sound-toggle{cursor:pointer!important}.sound-toggle{z-index:100;cursor:pointer;pointer-events:all;background:#12101dee;border:1px solid #252340;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;font-size:1.1rem;transition:all .3s;display:flex;position:fixed;top:16px;right:16px}.sound-toggle:hover{border-color:var(--arcane-bright);transform:scale(1.1)}canvas{pointer-events:none;position:fixed;inset:0}#bgCanvas{z-index:0}#fxCanvas{z-index:5}#particleCanvas{z-index:2}#trailCanvas{z-index:3}.scene{z-index:10;flex-direction:column;align-items:center;width:100%;max-width:900px;min-height:100vh;padding:2rem 1.5rem 3rem;display:flex;position:relative}.fog-layer{z-index:4;pointer-events:none;background:linear-gradient(#0000,#7b5ea70f);height:200px;position:fixed;bottom:0;left:0;right:0;overflow:hidden}.fog-wave{background:radial-gradient(#7b5ea714 0%,#0000 70%);width:200%;height:80px;animation:12s ease-in-out infinite fogDrift;position:absolute;bottom:-20px}.fog-wave:nth-child(2){opacity:.6;animation-duration:16s;animation-delay:-4s;bottom:-30px}.fog-wave:nth-child(3){opacity:.4;animation-duration:20s;animation-delay:-8s;bottom:-10px}@keyframes fogDrift{0%,to{transform:translate(-25%)}50%{transform:translate(0%)}}.cracks-overlay{z-index:9;pointer-events:none;opacity:0;transition:opacity .5s;position:fixed;inset:0}.cracks-overlay.visible{opacity:1}.crack-line{stroke:#a78bfa;stroke-width:1px;fill:none;opacity:0;filter:drop-shadow(0 0 3px var(--arcane-bright))}.crack-line.visible{opacity:.4;transition:opacity .5s}.crack-line.intense{opacity:.7;stroke:var(--ember);filter:drop-shadow(0 0 6px var(--ember))}.floating-objects{pointer-events:none;z-index:1;position:fixed;inset:0;overflow:hidden}.float-obj{opacity:.25;filter:drop-shadow(0 0 8px var(--arcane-glow));pointer-events:auto;cursor:pointer;font-size:1.6rem;transition:opacity .5s,transform .3s,filter .3s;animation:6s ease-in-out infinite floatBob;position:absolute}.float-obj:nth-child(odd){animation-direction:reverse}.float-obj:hover{opacity:.8!important;filter:drop-shadow(0 0 15px var(--gold))!important;transform:scale(1.3)!important}.float-obj.clicked{animation:.5s ease-out objPop;opacity:.9!important}@keyframes floatBob{0%,to{transform:translateY(0)rotate(0)}50%{transform:translateY(-18px)rotate(4deg)}}@keyframes objPop{0%{transform:scale(1)}30%{transform:scale(1.5)}to{transform:scale(1)}}.obj-tooltip{color:var(--text-mid);white-space:nowrap;pointer-events:none;opacity:0;z-index:20;background:#161420ee;border:1px solid #252340;border-radius:10px;padding:8px 12px;font-family:JetBrains Mono,monospace;font-size:.7rem;transition:opacity .3s;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%)}.float-obj.show-tip .obj-tooltip{opacity:1}.chaos-1 .float-obj{opacity:.4;animation-duration:4s}.chaos-2 .float-obj{opacity:.55;filter:drop-shadow(0 0 12px var(--ember-glow));animation-duration:2.5s}.chaos-3 .float-obj{opacity:.7;filter:drop-shadow(0 0 18px var(--ember-glow));animation-duration:1.5s}.peace-mode .float-obj{opacity:.35;filter:drop-shadow(0 0 10px var(--gold-glow))!important;animation-duration:8s!important}.flyer{pointer-events:none;z-index:4;opacity:0;filter:drop-shadow(0 0 8px #a78bfa4d);font-size:1.4rem;position:fixed}.flyer.bat{animation:flyAcross var(--dur,6s)linear forwards}.flyer.bat span{animation:.3s ease-in-out infinite alternate flapWings;display:inline-block}.flyer.owl{animation:flyAcrossSwoop var(--dur,8s)ease-in-out forwards;font-size:1.8rem}.flyer.comet{animation:cometShoot var(--dur,1.5s)ease-out forwards;filter:drop-shadow(0 0 12px var(--gold));font-size:.8rem}.flyer.comet:after{content:"";background:linear-gradient(to left,var(--gold),transparent);border-radius:2px;width:60px;height:2px;position:absolute;top:50%;right:100%;transform:translateY(-50%)}.flyer.spell-frag{animation:floatAcross var(--dur,10s)ease-in-out forwards;color:var(--arcane-bright);text-shadow:0 0 15px var(--arcane-glow);font-family:Cinzel Decorative,serif;font-size:.9rem}.flyer.wisp{background:var(--arcane-bright);width:6px;height:6px;box-shadow:0 0 12px var(--arcane-bright),0 0 24px var(--arcane-glow);animation:wispFloat var(--dur,8s)ease-in-out forwards;border-radius:50%;font-size:0}@keyframes flyAcross{0%{opacity:0;transform:translate(calc(var(--sx)*1px),calc(var(--sy)*1px))}5%{opacity:.7}90%{opacity:.7}to{opacity:0;transform:translate(calc(var(--ex)*1px),calc(var(--ey)*1px))}}@keyframes flyAcrossSwoop{0%{opacity:0;transform:translate(calc(var(--sx)*1px),calc(var(--sy)*1px))}5%{opacity:.6}50%{transform:translate(calc((var(--sx) + var(--ex))*.5*1px),calc(var(--sy)*1px - 80px))}90%{opacity:.6}to{opacity:0;transform:translate(calc(var(--ex)*1px),calc(var(--ey)*1px))}}@keyframes cometShoot{0%{opacity:0;transform:translate(calc(var(--sx)*1px),calc(var(--sy)*1px))}10%{opacity:1}to{opacity:0;transform:translate(calc(var(--ex)*1px),calc(var(--ey)*1px))}}@keyframes floatAcross{0%{opacity:0;transform:translate(calc(var(--sx)*1px),calc(var(--sy)*1px))rotate(0deg)}8%{opacity:.5}50%{transform:translate(calc((var(--sx) + var(--ex))*.5*1px),calc(var(--sy)*1px - 40px))rotate(15deg)}90%{opacity:.5}to{opacity:0;transform:translate(calc(var(--ex)*1px),calc(var(--ey)*1px))rotate(-10deg)}}@keyframes wispFloat{0%{opacity:0;transform:translate(calc(var(--sx)*1px),calc(var(--sy)*1px))}10%{opacity:.8}25%{transform:translate(calc(var(--sx)*1px + 50px),calc(var(--sy)*1px - 30px))}50%{transform:translate(calc((var(--sx) + var(--ex))*.5*1px),calc(var(--sy)*1px + 20px));opacity:.6}75%{transform:translate(calc(var(--ex)*1px - 40px),calc(var(--ey)*1px - 25px));opacity:.8}90%{opacity:.5}to{opacity:0;transform:translate(calc(var(--ex)*1px),calc(var(--ey)*1px))}}@keyframes flapWings{0%{transform:scaleX(1)}to{transform:scaleX(-1)}}.magic-circle-wrap{z-index:5;justify-content:center;align-items:center;width:280px;height:280px;margin-bottom:-40px;display:flex;position:relative}.magic-circle{opacity:.15;width:100%;height:100%;filter:drop-shadow(0 0 15px var(--arcane-glow));transition:opacity 1s,filter 1s;animation:30s linear infinite circleRot}.magic-circle.active{opacity:.6;filter:drop-shadow(0 0 40px var(--arcane-bright))drop-shadow(0 0 80px var(--arcane-glow))}.magic-circle.overdrive{opacity:1;filter:drop-shadow(0 0 60px var(--ember))drop-shadow(0 0 120px var(--ember-glow));animation-duration:3s}.magic-circle.peace{opacity:.3;filter:drop-shadow(0 0 30px var(--gold-glow));animation-duration:40s}@keyframes circleRot{to{transform:rotate(360deg)}}.inner-circle{opacity:0;width:65%;height:65%;transition:opacity .8s;animation:20s linear infinite reverse circleRot;position:absolute}.inner-circle.active{opacity:.6}.wizard-svg{width:180px;height:260px;filter:drop-shadow(0 0 25px var(--arcane-glow));transition:filter .5s}.wizard-svg.on-fire{filter:drop-shadow(0 0 30px var(--ember-glow))drop-shadow(0 0 60px #e0604030)}.wizard-svg.peace-wiz{filter:drop-shadow(0 0 20px var(--gold-glow));animation:6s ease-in-out infinite wizFloatPeace}@keyframes wizFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes wizFloatPeace{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}#wizBodyGroup{transform-origin:75px 110px;animation:4s ease-in-out infinite wizBreathe}@keyframes wizBreathe{0%,to{transform:scaleY(1)translateY(0)}50%{transform:scaleY(1.012)translateY(-1px)}}#wizHeadGroup{transform-origin:75px 85px;animation:6s ease-in-out infinite headBob}@keyframes headBob{0%,to{transform:rotate(0)translateY(0)}30%{transform:rotate(.5deg)translateY(-.5px)}70%{transform:rotate(-.5deg)translateY(.3px)}}#wizBeardGroup{transform-origin:75px 96px;animation:5s ease-in-out infinite beardSway}@keyframes beardSway{0%,to{transform:rotate(0)skew(0)}25%{transform:rotate(.8deg)skew(.5deg)}75%{transform:rotate(-.8deg)skew(-.5deg)}}#wizRobeGroup{transform-origin:75px 108px;animation:7s ease-in-out infinite robeSway}@keyframes robeSway{0%,to{transform:skew(0)}30%{transform:skew(.6deg)}70%{transform:skew(-.6deg)}}#wizWandArm{transform-origin:98px 120px;animation:4s ease-in-out infinite wandIdle}@keyframes wandIdle{0%,to{transform:rotate(0)}25%{transform:rotate(3deg)}75%{transform:rotate(-2deg)}}#wizHatGroup{transform-origin:75px 65px;animation:8s ease-in-out infinite hatWobble}@keyframes hatWobble{0%,to{transform:rotate(0)}20%{transform:rotate(.8deg)}50%{transform:rotate(-.5deg)}80%{transform:rotate(.3deg)}}.wiz-eye{transition:transform 80ms}.wiz-eye.blink{transform:scaleY(.1)}#wizLegL{transform-origin:67px 200px;animation:4s ease-in-out infinite legDangleL}#wizLegR{transform-origin:83px 200px;animation:4.5s ease-in-out infinite legDangleR}@keyframes legDangleL{0%,to{transform:rotate(0)}50%{transform:rotate(4deg)}}@keyframes legDangleR{0%,to{transform:rotate(0)}50%{transform:rotate(-4deg)}}#wizCape{transform-origin:75px 110px;animation:6s ease-in-out infinite capeWave}@keyframes capeWave{0%,to{transform:skew(0)scaleY(1)}50%{transform:skew(2deg)scaleY(1.02)}}.wizard-svg.phase-charge #wizWandArm{animation:.8s ease-out forwards wandCharge!important}@keyframes wandCharge{0%{transform:rotate(0)}to{transform:rotate(-25deg)}}.wizard-svg.phase-charge #wizHeadGroup{animation:.6s ease-out forwards headLookUp!important}@keyframes headLookUp{to{transform:rotate(-3deg)translateY(-2px)}}.wizard-svg.phase-charge .wand-glow-ring{animation:.8s ease-out forwards glowGrow}@keyframes glowGrow{0%{r:4;opacity:.2;stroke-width:1px}to{r:16;opacity:.8;stroke-width:2px}}.wizard-svg.phase-charge .wand-glow-orb{animation:.8s ease-out forwards orbGrow}@keyframes orbGrow{0%{r:2;opacity:.3}to{r:8;opacity:.9}}.wizard-svg.phase-release{animation:5s ease-in-out infinite wizFloat,.5s ease-out castRecoil!important}@keyframes castRecoil{0%{filter:drop-shadow(0 0 25px var(--arcane-glow))}30%{filter:drop-shadow(0 0 60px var(--arcane-bright))drop-shadow(0 0 100px var(--arcane-glow))}to{filter:drop-shadow(0 0 25px var(--arcane-glow))}}.wizard-svg.phase-release #wizWandArm{animation:.4s ease-out forwards wandRelease!important}@keyframes wandRelease{0%{transform:rotate(-25deg)}40%{transform:rotate(35deg)}to{transform:rotate(5deg)}}.wizard-svg.phase-release #wizBodyGroup{animation:.4s ease-out bodyRecoil!important}@keyframes bodyRecoil{0%{transform:scaleY(1)translateY(0)rotate(0)}30%{transform:scaleY(.95)translateY(3px)rotate(2deg)}to{transform:scaleY(1)translateY(0)rotate(0)}}.wizard-svg.phase-release .wand-glow-ring{animation:.3s ease-out forwards glowBurst}.wizard-svg.phase-release .wand-glow-orb{animation:.3s ease-out forwards orbBurst}@keyframes glowBurst{0%{r:16;opacity:.8}to{r:30;opacity:0}}@keyframes orbBurst{0%{r:8;opacity:.9}to{r:20;opacity:0}}.wizard-svg.phase-bigrelease #wizWandArm{animation:.6s ease-out forwards wandBigRelease!important}@keyframes wandBigRelease{0%{transform:rotate(-25deg)}30%{transform:rotate(45deg)}60%{transform:rotate(-10deg)}to{transform:rotate(5deg)}}.wizard-svg.phase-bigrelease #wizBodyGroup{animation:.6s ease-out bodyBigRecoil!important}@keyframes bodyBigRecoil{0%{transform:scaleY(1)translateY(0)}20%{transform:scaleY(.9)translateY(5px)rotate(3deg)}50%{transform:scaleY(1.05)translateY(-3px)rotate(-2deg)}to{transform:scaleY(1)translateY(0)rotate(0)}}.wizard-svg.phase-bigrelease #wizBeardGroup{animation:.5s ease-out beardBlowback!important}@keyframes beardBlowback{0%{transform:rotate(0)skew(0)}40%{transform:rotate(8deg)skew(4deg)}to{transform:rotate(0)skew(0)}}.wizard-svg.phase-bigrelease #wizRobeGroup{animation:.6s ease-out robeBilllow!important}@keyframes robeBilllow{0%{transform:skew(0)}30%{transform:skew(3deg)}60%{transform:skew(-2deg)}to{transform:skew(0)}}.wizard-svg.emo-slump{animation:.6s ease-out forwards wizSlump!important}@keyframes wizSlump{to{transform:translateY(4px)rotate(2deg)scale(.97)}}.wizard-svg.emo-jump{animation:.5s ease-out wizJump!important}@keyframes wizJump{0%{transform:translateY(0)}40%{transform:translateY(-18px)scale(1.05)}to{transform:translateY(0)}}.wizard-svg.emo-vibrate{animation:.3s ease-in-out 4 wizVibrate!important}@keyframes wizVibrate{0%,to{transform:translate(0)}25%{transform:translate(-3px)rotate(-1deg)}75%{transform:translate(3px)rotate(1deg)}}.wizard-svg.emo-headshake{animation:.4s ease-in-out 2 wizHeadShake!important}@keyframes wizHeadShake{0%,to{transform:translate(0)}25%{transform:translate(-4px)}75%{transform:translate(4px)}}.wizard-svg.emo-facepalm #wizLeftArm{animation:1.2s ease-in-out armToFace!important}@keyframes armToFace{0%,to{transform:translateY(0)}30%,70%{transform:translate(12px,-30px)}}.wizard-svg.emo-puffchest{animation:.6s ease-in-out puffChest!important}@keyframes puffChest{0%,to{transform:scale(1)}50%{transform:scale(1.06)translateY(-3px)}}.wizard-svg.idle-beardstroke #wizLeftArm{animation:3s ease-in-out idleBeardStroke!important}@keyframes idleBeardStroke{0%,to{transform:translate(0)}15%{transform:translate(10px,-25px)}30%{transform:translate(12px,-20px)}50%{transform:translate(10px,-15px)}65%{transform:translate(12px,-20px)}80%{transform:translate(10px,-25px)}}.wizard-svg.idle-beardstroke #wizHeadGroup{animation:3s ease-in-out headStrokeThink!important}@keyframes headStrokeThink{0%,to{transform:rotate(0)}20%,80%{transform:rotate(3deg)translateY(-1px)}}.wizard-svg.idle-hatadjust #wizWandArm{animation:2s ease-in-out idleHatAdjust!important}@keyframes idleHatAdjust{0%,to{transform:rotate(0)}25%{transform:rotate(-40deg)translateY(-8px)}35%,55%{transform:rotate(-35deg)translateY(-6px)}75%{transform:rotate(-40deg)translateY(-8px)}}.wizard-svg.idle-hatadjust #wizHatGroup{animation:2s ease-in-out hatBounce!important}@keyframes hatBounce{0%,to{transform:rotate(0)}30%{transform:rotate(-3deg)translateY(2px)}50%{transform:rotate(2deg)translateY(-1px)}70%{transform:rotate(-1deg)}}.wizard-svg.idle-lookaround #wizHeadGroup{animation:4s ease-in-out headLookAround!important}@keyframes headLookAround{0%,to{transform:rotate(0)}20%{transform:rotate(-6deg)translate(-2px)}40%{transform:rotate(-4deg)}60%{transform:rotate(6deg)translate(2px)}80%{transform:rotate(4deg)}}.wizard-svg.idle-wandtap #wizWandArm{animation:1.5s ease-in-out idleWandTap!important}@keyframes idleWandTap{0%,to{transform:rotate(0)}15%{transform:rotate(8deg)}25%{transform:rotate(-2deg)}40%{transform:rotate(8deg)}50%{transform:rotate(-2deg)}65%{transform:rotate(8deg)}75%{transform:rotate(0)}}.wizard-svg.idle-shrug #wizBodyGroup{animation:1.5s ease-in-out idleShrug!important}@keyframes idleShrug{0%,to{transform:scaleY(1)translateY(0)}30%,60%{transform:scaleY(.96)translateY(-4px)}}.wizard-svg.idle-shrug #wizWandArm{animation:1.5s ease-in-out shrugArm!important}@keyframes shrugArm{0%,to{transform:rotate(0)}30%,60%{transform:rotate(-15deg)translateY(-3px)}}.wizard-svg.idle-shrug #wizLeftArm{animation:1.5s ease-in-out shrugArmL!important}@keyframes shrugArmL{0%,to{transform:translate(0)}30%,60%{transform:translate(-3px,-6px)}}.wizard-svg.idle-yawn #wizHeadGroup{animation:2.5s ease-in-out headYawn!important}@keyframes headYawn{0%,to{transform:rotate(0)}30%{transform:rotate(-4deg)translateY(-3px)}50%{transform:rotate(-2deg)translateY(-1px)}}.wizard-svg.idle-yawn #wizWandArm{animation:2.5s ease-in-out yawnArm!important}@keyframes yawnArm{0%,to{transform:rotate(0)}20%,60%{transform:rotate(-30deg)translateY(-5px)}}.wizard-svg.idle-leanforward{animation:2s ease-in-out wizLean!important}@keyframes wizLean{0%,to{transform:translateY(0)rotate(0)}30%,70%{transform:translateY(-5px)rotate(-3deg)translate(5px)}}.wizard-svg.idle-wink #wizEyeR{animation:.6s ease-in-out winkEye!important}@keyframes winkEye{0%,to{transform:scaleY(1)}20%,70%{transform:scaleY(.05)}}.wizard-svg.idle-reading #wizLeftArm{animation:4s ease-in-out readingArm!important}@keyframes readingArm{0%,to{transform:translate(0)}15%,85%{transform:translate(15px,-20px)}}.wizard-svg.idle-reading #wizHeadGroup{animation:4s ease-in-out readingHead!important}@keyframes readingHead{0%,to{transform:rotate(0)}20%,80%{transform:rotate(5deg)translateY(2px)}}.wizard-svg.idle-pocketwatch #wizLeftArm{animation:3s ease-in-out watchArm!important}@keyframes watchArm{0%,to{transform:translate(0)}20%,70%{transform:translate(20px,-15px)}}.wizard-svg.idle-pocketwatch #wizHeadGroup{animation:3s ease-in-out watchHead!important}@keyframes watchHead{0%,to{transform:rotate(0)}25%,65%{transform:rotate(8deg)translateY(3px)}}.wizard-svg.idle-wandexamine #wizWandArm{animation:3s ease-in-out examineWand!important}@keyframes examineWand{0%,to{transform:rotate(0)}20%{transform:rotate(-20deg)}40%{transform:rotate(-25deg)translate(-5px)}60%{transform:rotate(-15deg)}80%{transform:rotate(-20deg)}}.wizard-svg.idle-wandexamine #wizHeadGroup{animation:3s ease-in-out examineHead!important}@keyframes examineHead{0%,to{transform:rotate(0)}30%,70%{transform:rotate(-4deg)translate(3px)}}.wizard-svg.idle-pace{animation:3s ease-in-out wizPace!important}@keyframes wizPace{0%,to{transform:translate(0)translateY(0)}25%{transform:translate(-12px)translateY(-5px)}50%{transform:translate(0)translateY(-8px)}75%{transform:translate(12px)translateY(-5px)}}.wizard-svg.idle-pointdown #wizWandArm{animation:2.5s ease-in-out pointDown!important}@keyframes pointDown{0%,to{transform:rotate(0)}25%,75%{transform:rotate(40deg)translateY(5px)}}.wizard-svg.idle-pointdown #wizHeadGroup{animation:2.5s ease-in-out lookDown!important}@keyframes lookDown{0%,to{transform:rotate(0)}25%,75%{transform:rotate(5deg)translateY(2px)}}.wizard-svg.idle-nod #wizHeadGroup{animation:1.5s ease-in-out headNod!important}@keyframes headNod{0%,to{transform:rotate(0)}20%{transform:translateY(3px)}40%{transform:translateY(0)}60%{transform:translateY(3px)}80%{transform:translateY(0)}}.wizard-svg.prox-flinch{animation:.4s ease-out proxFlinch!important}@keyframes proxFlinch{0%{transform:translateY(0)}30%{transform:translateY(-8px)translate(5px)rotate(2deg)}to{transform:translateY(0)}}.wizard-svg.prox-curious{animation:.8s ease-in-out proxCurious!important}@keyframes proxCurious{0%,to{transform:rotate(0)}50%{transform:rotate(-3deg)translate(-5px)translateY(-3px)}}#wizSweat,#wizSteam,#wizSparkleEyes,#wizExclaim,#wizQuestion,#wizZzz{transition:opacity .3s}.wizard-svg.show-sweat #wizSweat{opacity:1;animation:1s ease-in infinite sweatDrip}@keyframes sweatDrip{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(8px)}}.wizard-svg.show-steam #wizSteam{opacity:1;animation:.8s ease-out infinite steamRise}@keyframes steamRise{0%{opacity:.6;transform:translateY(0)}to{opacity:0;transform:translateY(-10px)}}.wizard-svg.show-sparkle #wizSparkleEyes{opacity:1;animation:.4s ease-in-out infinite alternate sparkleEyes}@keyframes sparkleEyes{0%{transform:scale(.8)}to{transform:scale(1.2)}}.wizard-svg.show-exclaim #wizExclaim{opacity:1;animation:.5s ease-out excBounce}@keyframes excBounce{0%{transform:translateY(5px)scale(0)}50%{transform:translateY(-3px)scale(1.2)}to{transform:translateY(0)scale(1)}}.wizard-svg.show-question #wizQuestion{opacity:1;animation:.5s ease-out excBounce}.wizard-svg.show-zzz #wizZzz{opacity:1;animation:2s ease-in-out infinite zzzFloat}@keyframes zzzFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}.wizard-svg.recovering{animation:1s ease-in-out wizRecover!important}@keyframes wizRecover{0%{transform:translateY(4px)rotate(2deg)}40%{transform:translateY(-2px)rotate(-1deg)}70%{transform:translateY(1px)rotate(.5deg)}to{transform:translateY(0)rotate(0)}}.wizard-svg.recovering #wizRobeGroup{animation:1s ease-in-out robeSettle!important}@keyframes robeSettle{0%{transform:skew(2deg)}50%{transform:skew(-1deg)}to{transform:skew(0)}}.wizard-svg.health-dance{animation:1.5s ease-in-out healthDance!important}@keyframes healthDance{0%{transform:translateY(0)}15%{transform:translateY(-8px)rotate(-3deg)}30%{transform:translateY(0)rotate(2deg)}45%{transform:translateY(-6px)rotate(-2deg)}60%{transform:translateY(0)rotate(1deg)}75%{transform:translateY(-4px)}to{transform:translateY(0)}}.wizard-area{cursor:grab}.wizard-area:active{cursor:grabbing}.wizard-area.dragging{z-index:100;transition:none!important}.wizard-svg.dizzy{animation:2s ease-in-out wizDizzy!important}@keyframes wizDizzy{0%,to{transform:rotate(0)}10%{transform:rotate(-15deg)translate(-5px)}30%{transform:rotate(15deg)translate(5px)}50%{transform:rotate(-10deg)}70%{transform:rotate(10deg)}90%{transform:rotate(-5deg)}}.wizard-svg.motion-sick{filter:hue-rotate(80deg)drop-shadow(0 0 25px var(--green-glow))!important;animation:.5s ease-in-out infinite motionSick!important}@keyframes motionSick{0%,to{transform:translate(0)}25%{transform:translate(-2px)}75%{transform:translate(2px)}}.confetti-piece{pointer-events:none;z-index:1500;width:8px;height:14px;animation:linear forwards confettiFall;position:fixed;top:-20px}@keyframes confettiFall{0%{transform:translateY(0)rotate(0)}to{transform:translateY(110vh)rotate(720deg)}}.click-sparkle{pointer-events:none;z-index:9998;background:radial-gradient(circle,var(--gold)0%,transparent 70%);border-radius:50%;width:20px;height:20px;animation:.6s ease-out forwards clickSparkle;position:fixed}@keyframes clickSparkle{0%{opacity:1;transform:translate(-50%,-50%)scale(.3)}to{opacity:0;transform:translate(-50%,-50%)scale(2)}}.float-heart{pointer-events:none;z-index:9001;font-size:1.4rem;animation:2s ease-out forwards heartFloat;position:fixed}@keyframes heartFloat{0%{opacity:0;transform:translate(-50%)scale(.5)}20%{opacity:1;transform:translate(-50%,-10px)scale(1.2)}to{opacity:0;transform:translate(-50%,-60px)scale(.9)}}.smoke-puff{pointer-events:none;z-index:9000;background:radial-gradient(circle,#a78bfaaa 0%,#7b5ea755 40%,#0000 70%);border-radius:50%;width:80px;height:80px;animation:1s ease-out forwards smokeExpand;position:fixed;transform:translate(-50%,-50%)}@keyframes smokeExpand{0%{opacity:0;width:20px;height:20px}20%{opacity:1}to{opacity:0;width:180px;height:180px}}#wizHeadGroup,#wizCape,#wizBeardGroup,#wizWandArm{cursor:grab;pointer-events:bounding-box}#wizHeadGroup:active,#wizCape:active,#wizBeardGroup:active,#wizWandArm:active{cursor:grabbing}.wizard-svg.head-detached #wizHeadGroup{transition:none;animation:none!important}.wizard-svg.chasing-head #wizWandArm{animation:.5s ease-in-out infinite alternate chaseArmR!important}.wizard-svg.chasing-head #wizLeftArm{animation:.5s ease-in-out infinite alternate chaseArmL!important}@keyframes chaseArmR{0%{transform:rotate(-50deg)translateY(-15px)}to{transform:rotate(-60deg)translateY(-18px)}}@keyframes chaseArmL{0%{transform:translate(-5px,-15px)}to{transform:translate(-8px,-18px)}}.wizard-svg.chasing-head #wizBodyGroup{animation:.4s ease-in-out infinite alternate chaseBob!important}@keyframes chaseBob{0%{transform:translateY(0)}to{transform:translateY(-3px)}}.wizard-svg.cape-pulled{animation:.3s ease-in-out infinite alternate capeYank!important}@keyframes capeYank{0%{transform:translate(0)}to{transform:translate(-8px)rotate(-3deg)}}.wizard-svg.beard-pulled #wizHeadGroup{transform-origin:75px 80px;animation:.2s ease-in-out infinite alternate beardYank!important}@keyframes beardYank{0%{transform:translateY(0)}to{transform:translateY(8px)rotate(2deg)}}.wizard-svg.beard-pulled #wizBeardGroup{transform-origin:75px 110px;animation:.2s ease-in-out infinite alternate beardStretch!important}@keyframes beardStretch{0%{transform:scaleY(1)}to{transform:scaleY(1.4)translateY(5px)}}.wizard-svg.wand-snatched #wizWandArm{animation:.3s ease-in-out infinite alternate graspAir!important}@keyframes graspAir{0%{transform:rotate(-30deg)translateY(-10px)}to{transform:rotate(-40deg)translateY(-15px)translate(5px)}}.detached-part{pointer-events:none;z-index:9000;filter:drop-shadow(0 0 15px var(--arcane-bright));transform-origin:50%;transition:none;position:fixed}.detached-part svg{display:block}.wizard-area{z-index:15;flex-direction:column;align-items:center;margin-top:-60px;margin-bottom:1rem;transition:transform 1.5s cubic-bezier(.25,.46,.45,.94);display:flex;position:relative}.wizard-area.drift-left{transform:translate(-30px)}.wizard-area.drift-right{transform:translate(30px)}.wizard-area.drift-forward{transform:translateY(15px)scale(1.03)}.wizard-area.drift-back{transform:translateY(-20px)scale(.97)}.wizard-area.cast-forward{transition:transform .5s;transform:translateY(20px)translate(5px)scale(1.05)}.wizard-area.recoil-back{transition:transform .4s;transform:translateY(-25px)scale(.95)}.wizard-area.fly-up{transition:transform .8s;transform:translateY(-40px)scale(.9)}.wizard-area.slam-down{transition:transform .3s;transform:translateY(10px)scale(1.08)}.wizard-thought{color:var(--text-mid);white-space:nowrap;opacity:0;pointer-events:none;z-index:20;background:#161420ee;border:1px solid #2a2740;border-radius:12px;padding:6px 12px;font-family:JetBrains Mono,monospace;font-size:.72rem;transition:all .3s;position:absolute;top:-15px;right:-80px;transform:translateY(5px)scale(.9)}.wizard-thought.visible{opacity:1;transform:translateY(0)scale(1)}.wizard-thought:before{content:"💭";font-size:.6rem;position:absolute;bottom:-8px;left:15px}.wand-beam{pointer-events:none;z-index:14;opacity:0;width:100%;height:100%;transition:opacity .2s;position:absolute;top:0;left:0}.wand-beam.active{opacity:1}.beam-line{stroke:var(--arcane-bright);stroke-width:2px;fill:none;filter:drop-shadow(0 0 8px var(--arcane-bright))drop-shadow(0 0 16px var(--arcane-glow));stroke-dasharray:200;stroke-dashoffset:200px}.beam-line.fire{animation:.6s ease-out forwards beamShoot}@keyframes beamShoot{to{stroke-dashoffset:0}}.error-block{text-align:center;margin-bottom:.5rem;position:relative}.error-num{background:linear-gradient(135deg,var(--arcane-bright)0%,var(--gold)45%,var(--ember)85%);-webkit-text-fill-color:transparent;-webkit-user-select:none;user-select:none;-webkit-background-clip:text;background-clip:text;font-family:Cinzel Decorative,serif;font-size:clamp(5.5rem,17vw,11rem);font-weight:900;line-height:1;position:relative}.error-num:after{content:"404";background:linear-gradient(135deg,var(--arcane-bright),var(--gold),var(--ember));-webkit-text-fill-color:transparent;filter:blur(40px);opacity:.35;z-index:-1;-webkit-background-clip:text;background-clip:text;position:absolute;inset:0}.error-num.glitch{animation:.5s ease-in-out glitch404}@keyframes glitch404{0%{filter:brightness();transform:translate(0)}15%{filter:brightness(1.6)hue-rotate(30deg);transform:translate(-5px,3px)skew(-2deg)}30%{filter:brightness(.7)hue-rotate(-20deg);transform:translate(4px,-2px)skew(1deg)}50%{filter:brightness(1.4);transform:translate(-2px,4px)}70%{filter:brightness();transform:translate(3px,-1px)skew(-1deg)}to{filter:brightness();transform:translate(0)}}.ghost-200{color:var(--green);opacity:0;pointer-events:none;text-shadow:0 0 60px var(--green-glow);justify-content:center;align-items:center;font-family:Cinzel Decorative,serif;font-size:clamp(5.5rem,17vw,11rem);font-weight:900;display:flex;position:absolute;inset:0}.ghost-200.flicker{animation:.9s ease-in-out forwards g200}@keyframes g200{0%{opacity:0}20%{opacity:.7}35%{opacity:.2}55%{opacity:.85}70%{opacity:.1}85%{opacity:.5}to{opacity:0}}.peace-mode .error-num{background:linear-gradient(135deg,var(--gold)0%,var(--green)50%,var(--arcane-bright)100%);-webkit-background-clip:text;background-clip:text}.chain{justify-content:center;align-items:center;margin-bottom:1.5rem;display:flex;position:relative}.chain-link{border:2.5px solid var(--gold);opacity:.45;border-radius:11px;width:38px;height:22px;transition:all .5s}.chain-link:not(:first-child){margin-left:-7px}.chain-link.bl{border-color:var(--ember);opacity:.85;border-right-color:#0000;transition:all .5s;animation:3s ease-in-out infinite bL}.chain-link.br{border-color:var(--ember);opacity:.85;border-left-color:#0000;margin-left:10px;transition:all .5s;animation:3s ease-in-out infinite bR}.chain-gap{text-align:center;width:14px;font-size:.7rem;transition:all .5s;animation:1.5s ease-in-out infinite sparkle}@keyframes bL{50%{transform:translate(-5px)rotate(-5deg)}}@keyframes bR{50%{transform:translate(5px)rotate(5deg)}}@keyframes sparkle{50%{opacity:.3;transform:scale(.6)}}.chain.reconnecting .bl{border-color:var(--gold);border-right-color:#0000;animation:.8s ease-in-out reconnL}.chain.reconnecting .br{border-color:var(--gold);border-left-color:#0000;animation:.8s ease-in-out reconnR}.chain.reconnecting .chain-gap{animation:.8s ease-in-out gapClose}@keyframes reconnL{0%{transform:translate(0)}50%{transform:translate(6px)}to{transform:translate(0)}}@keyframes reconnR{0%{transform:translate(0)}50%{transform:translate(-6px)}to{transform:translate(0)}}@keyframes gapClose{0%{width:14px}50%{width:2px}to{width:14px}}.chain.snap-fail .bl{animation:.3s ease-in-out snapL}.chain.snap-fail .br{animation:.3s ease-in-out snapR}@keyframes snapL{0%{transform:translate(4px)}50%{transform:translate(-10px)rotate(-8deg)}to{transform:translate(0)}}@keyframes snapR{0%{transform:translate(-4px)}50%{transform:translate(10px)rotate(8deg)}to{transform:translate(0)}}.peace-mode .chain-link{opacity:.6;border-color:var(--gold)!important}.peace-mode .chain-link.bl,.peace-mode .chain-link.br{border-color:var(--gold)!important;animation:none!important}.peace-mode .chain-gap{opacity:.3;animation:none!important}.headline{text-align:center;color:var(--parchment);letter-spacing:.03em;margin-bottom:.4em;font-family:Cinzel Decorative,serif;font-size:clamp(1.15rem,3vw,1.6rem);font-weight:700;transition:color .8s}.subline{color:var(--text-mid);text-align:center;max-width:500px;margin-bottom:1.8rem;font-size:clamp(.95rem,2.2vw,1.1rem);font-style:italic;line-height:1.6;transition:color .8s}.subline strong{color:var(--gold);font-style:normal}.health-wrap{width:100%;max-width:460px;margin-bottom:1.8rem}.health-header{color:var(--text-dim);letter-spacing:.12em;justify-content:space-between;margin-bottom:.4rem;font-family:JetBrains Mono,monospace;font-size:.7rem;display:flex}.health-header .pct{color:var(--ember);transition:color .3s}.health-track{background:#151320;border:1px solid #222040;border-radius:4px;width:100%;height:7px;overflow:hidden}.health-fill{background:linear-gradient(90deg,var(--ember),var(--gold));border-radius:4px;width:0%;height:100%;transition:width 1.4s cubic-bezier(.25,.46,.45,.94),background .3s}.health-fill.high{background:linear-gradient(90deg,var(--gold),var(--green))}.health-fill.crash{background:linear-gradient(90deg,#ef4444,var(--ember));transition:width .12s}.health-status{color:var(--text-dim);min-height:1.1em;margin-top:.35rem;font-family:JetBrains Mono,monospace;font-size:.65rem}.health-status.hopeful{color:var(--gold)}.health-status.dead{color:var(--ember)}.spellbook{background:linear-gradient(170deg,#13111e,#0e0d16);border:1px solid #252340;border-radius:14px;width:100%;max-width:560px;margin-bottom:.8rem;padding:1.6rem;transition:all .5s;position:relative}.spellbook:before{content:"";background:linear-gradient(90deg,transparent,var(--arcane-bright),var(--gold),transparent);opacity:.35;border-radius:14px 14px 0 0;height:1px;position:absolute;top:0;left:0;right:0}.spellbook.on-fire{border-color:var(--ember)!important;box-shadow:0 0 50px var(--ember-glow),inset 0 0 40px #e0604006!important}.spellbook.peace-book{border-color:var(--gold)!important;box-shadow:0 0 30px var(--gold-glow)!important}.sb-title{color:var(--arcane-bright);text-transform:uppercase;letter-spacing:.16em;align-items:center;gap:.5em;margin-bottom:1rem;font-family:Cinzel Decorative,serif;font-size:.75rem;display:flex}.spell-row{flex-wrap:wrap;gap:.6rem;margin-bottom:.8rem;display:flex}.spell-display{min-width:170px;color:var(--arcane-bright);background:#0a0914;border:1px solid #252340;border-radius:10px;flex:1;align-items:center;min-height:42px;padding:.75rem 1rem;font-family:JetBrains Mono,monospace;font-size:.8rem;transition:all .3s;display:flex}.spell-display.casting{border-color:var(--arcane-bright);box-shadow:0 0 25px var(--arcane-glow)}.spell-display.failed{border-color:var(--ember);box-shadow:0 0 20px var(--ember-glow)}.spell-display.success{border-color:var(--green);box-shadow:0 0 25px var(--green-glow)}.cast-btn{background:linear-gradient(135deg,var(--arcane),#4a2d7a);color:var(--text-bright);border:1px solid var(--arcane-bright);cursor:pointer;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;border-radius:10px;padding:.75rem 1.4rem;font-family:Cinzel Decorative,serif;font-size:.72rem;font-weight:700;transition:all .3s}.cast-btn:hover:not(:disabled){box-shadow:0 6px 28px var(--arcane-glow);transform:translateY(-2px)}.cast-btn:disabled{opacity:.35;cursor:not-allowed;transform:none}.cast-btn.desperation{animation:1s infinite btnPulse;border-color:var(--ember)!important;background:linear-gradient(135deg,#7a2020,#a03020)!important}@keyframes btnPulse{50%{box-shadow:0 0 30px var(--ember-glow)}}.custom-spell-area{margin-top:.8rem;display:none}.custom-spell-area.visible{display:block}.custom-input-row{flex-wrap:wrap;gap:.6rem;display:flex}.custom-input{min-width:170px;color:var(--arcane-bright);background:#0a0914;border:1px solid #252340;border-radius:10px;outline:none;flex:1;padding:.75rem 1rem;font-family:JetBrains Mono,monospace;font-size:.8rem;transition:border-color .3s}.custom-input::placeholder{color:var(--text-dim);font-style:italic}.custom-input:focus{border-color:var(--arcane-bright)}.custom-label{color:var(--text-dim);margin-bottom:.4rem;font-family:JetBrains Mono,monospace;font-size:.65rem}.spell-log{scrollbar-width:thin;scrollbar-color:#252340 transparent;flex-direction:column;gap:.35rem;max-height:175px;display:flex;overflow-y:auto}.log-entry{background:#0a091480;border:1px solid #0000;border-radius:8px;align-items:flex-start;gap:.5rem;padding:.4rem .6rem;font-size:.75rem;line-height:1.4;animation:.4s ease-out logIn;display:flex}.log-entry.fail{color:#c8806a;border-color:#e0604012}.log-entry.epic{color:var(--gold);background:#d4a84308;border-color:#d4a84325}.log-entry.custom{color:var(--arcane-bright);border-color:#7b5ea720}.log-entry .icon{flex-shrink:0;margin-top:1px;font-size:.9rem}.log-entry .sname{color:var(--arcane-bright);font-family:JetBrains Mono,monospace;font-size:.7rem;font-weight:500}@keyframes logIn{0%{opacity:0;transform:translate(-10px)}to{opacity:1;transform:translate(0)}}.spell-counter{text-align:center;color:var(--text-dim);margin-bottom:1.6rem;font-family:JetBrains Mono,monospace;font-size:.72rem}.spell-counter span{color:var(--gold)}.spell-counter .zero{color:var(--ember)}.share-card{border:1px solid var(--gold);text-align:center;opacity:0;pointer-events:none;width:100%;max-width:480px;box-shadow:0 0 40px var(--gold-glow);background:linear-gradient(170deg,#1a1828,#12111c);border-radius:14px;margin-bottom:1.8rem;padding:1.5rem;transition:all .6s;transform:translateY(20px)}.share-card.visible{opacity:1;pointer-events:all;transform:translateY(0)}.share-title{color:var(--gold);margin-bottom:.7rem;font-family:Cinzel Decorative,serif;font-size:.95rem}.share-text{color:var(--text-mid);margin-bottom:1rem;font-size:.85rem;font-style:italic;line-height:1.5}.share-btns{flex-wrap:wrap;justify-content:center;gap:.5rem;display:flex}.share-btn{cursor:pointer;color:var(--text-mid);background:#0a0914;border:1px solid #252340;border-radius:8px;align-items:center;gap:.35rem;padding:.5rem 1rem;font-family:JetBrains Mono,monospace;font-size:.75rem;transition:all .3s;display:flex}.share-btn:hover{border-color:var(--arcane-bright);color:var(--text-bright);transform:translateY(-1px)}.share-btn.copied{border-color:var(--green);color:var(--green)}.portals{flex-wrap:wrap;justify-content:center;gap:.7rem;margin-bottom:1.8rem;display:flex}.portal-btn{color:var(--text-mid);cursor:pointer;background:#12101d80;border:1px solid #252340;border-radius:10px;align-items:center;gap:.4rem;padding:.6rem 1.1rem;font-family:Crimson Text,serif;font-size:.88rem;text-decoration:none;transition:all .3s;display:flex}.portal-btn:hover{border-color:var(--gold);color:var(--parchment);transform:translateY(-2px)}.footer-quip{text-align:center;color:var(--text-dim);max-width:440px;font-size:.75rem;line-height:1.6}.footer-quip a{color:var(--arcane-bright);text-decoration:none}.footer-quip a:hover{text-decoration:underline}.da-line{color:var(--gold);letter-spacing:.1em;opacity:.35;margin-top:.5rem;font-family:JetBrains Mono,monospace;font-size:.65rem}.toast-container{z-index:950;pointer-events:none;flex-direction:column;align-items:center;gap:8px;display:flex;position:fixed;top:20px;left:50%;transform:translate(-50%)}.achievement-toast{border:1px solid var(--gold);color:var(--gold);box-shadow:0 0 25px var(--gold-glow);white-space:nowrap;background:#1a1828ee;border-radius:12px;align-items:center;gap:8px;padding:10px 18px;font-family:JetBrains Mono,monospace;font-size:.75rem;animation:.5s ease-out forwards toastIn,.5s ease-in 3s forwards toastOut;display:flex}@keyframes toastIn{0%{opacity:0;transform:translateY(-20px)scale(.9)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes toastOut{0%{opacity:1}to{opacity:0;transform:translateY(-10px)}}.error-num{cursor:pointer;transition:transform .2s}.error-num:hover{filter:brightness(1.2)}.error-num:active{transform:scale(.95)}.chain{cursor:pointer}.chain:hover .chain-gap{transform:scale(1.3)}.health-track{cursor:pointer;transition:box-shadow .2s}.health-track:hover{box-shadow:0 0 10px var(--arcane-glow)}.wizard-svg.inactive-bored #wizWandArm{animation:2s ease-in-out infinite wandBored!important}@keyframes wandBored{0%,to{transform:rotate(0)}50%{transform:rotate(6deg)}}.wizard-svg.inactive-sit{animation:1s ease-out forwards wizSitDown!important}@keyframes wizSitDown{to{transform:translateY(20px)scale(.95)}}.wizard-svg.inactive-sit #wizRobeGroup{animation:1s ease-out forwards robeSit!important}@keyframes robeSit{to{transform:scaleY(.85)translateY(5px)}}.wizard-svg.inactive-sleep{animation:3s ease-in-out infinite wizSleep!important}@keyframes wizSleep{0%,to{transform:translateY(20px)scale(.95)}50%{transform:translateY(18px)scale(.95)}}.wizard-svg.inactive-leave{animation:4s linear forwards wizLeave!important}@keyframes wizLeave{0%{transform:translate(0)}to{transform:translate(200px)rotate(5deg)}}.chain.near-miss .bl{border-color:var(--gold)!important;border-right-color:#0000!important;animation:1.5s ease-in-out nearMissL!important}.chain.near-miss .br{border-color:var(--gold)!important;border-left-color:#0000!important;animation:1.5s ease-in-out nearMissR!important}.chain.near-miss .chain-gap{animation:1.5s ease-in-out gapAlmostClose!important}@keyframes nearMissL{0%{transform:translate(0)}40%{transform:translate(8px)}60%{transform:translate(7px)}to{transform:translate(-12px)rotate(-10deg)}}@keyframes nearMissR{0%{transform:translate(0)}40%{transform:translate(-8px)}60%{transform:translate(-7px)}to{transform:translate(12px)rotate(10deg)}}@keyframes gapAlmostClose{0%{width:14px}40%{width:2px}60%{width:1px}70%{width:1px}to{width:18px}}.triple-cast-flash{z-index:950;pointer-events:none;color:var(--gold);text-shadow:0 0 40px var(--gold),0 0 80px var(--gold-glow);opacity:0;justify-content:center;align-items:center;font-family:Cinzel Decorative,serif;font-size:clamp(2rem,6vw,4rem);animation:1.5s ease-out forwards tripleFlash;display:flex;position:fixed;inset:0}@keyframes tripleFlash{0%{opacity:0;transform:scale(.5)}15%{opacity:1;transform:scale(1.2)}30%{opacity:1;transform:scale(1)}70%{opacity:1}to{opacity:0;transform:scale(1.1)translateY(-20px)}}.secret-basement{text-align:center;opacity:0;width:100%;max-width:560px;margin-top:2rem;padding:3rem 2rem;transition:opacity 1s}.secret-basement.revealed{opacity:1}.basement-title{color:var(--gold);letter-spacing:.15em;opacity:.6;margin-bottom:1rem;font-family:Cinzel Decorative,serif;font-size:.85rem}.journal-entry{color:var(--text-mid);text-align:left;border:1px solid #252340;border-left:3px solid var(--gold);background:#12101dee;border-radius:12px;margin-bottom:.8rem;padding:1.2rem;font-size:.85rem;font-style:italic;line-height:1.7}.journal-entry .date{color:var(--text-dim);margin-bottom:.4rem;font-family:JetBrains Mono,monospace;font-size:.65rem;font-style:normal;display:block}.stats-mini{color:var(--text-dim);text-align:center;margin-top:.3rem;font-family:JetBrains Mono,monospace;font-size:.62rem}.stats-mini span{color:var(--arcane-bright)}.googlebot{z-index:6;pointer-events:none;align-items:center;gap:5px;display:flex;position:fixed;bottom:25px}.bot-label{color:var(--text-dim);opacity:0;white-space:nowrap;background:#12101dee;border:1px solid #252340;border-radius:6px;padding:3px 8px;font-family:JetBrains Mono,monospace;font-size:.58rem;transition:all .3s}.googlebot.talking .bot-label{opacity:1}.googlebot.panicked .bot-label{opacity:1;color:var(--ember);border-color:var(--ember)}.screen-flash{opacity:0;pointer-events:none;z-index:900;transition:opacity 70ms;position:fixed;inset:0}.screen-flash.f-purple{background:var(--arcane-bright);opacity:.12}.screen-flash.f-red{background:var(--ember);opacity:.12}.screen-flash.f-gold{background:var(--gold);opacity:.14}.screen-flash.f-green{background:var(--green);opacity:.12}.screen-flash.f-white{opacity:.18;background:#fff}.screen-shake .scene{animation:.5s ease-in-out shake}.screen-big-shake .scene{animation:.6s ease-in-out bigShake}@keyframes shake{0%,to{transform:translate(0)}10%,50%,90%{transform:translate(-4px)}30%,70%{transform:translate(4px)}}@keyframes bigShake{0%,to{transform:translate(0)}10%{transform:translate(-10px,4px)}30%{transform:translate(8px,-3px)}50%{transform:translate(-6px,5px)}70%{transform:translate(7px,-4px)}90%{transform:translate(-5px,2px)}}.screen-invert{filter:invert()hue-rotate(180deg);transition:filter .15s}.screen-flip .scene{transition:transform 1s cubic-bezier(.68,-.55,.27,1.55);transform:rotate(180deg)}.screen-hue{animation:.6s ease-in-out hueShift}@keyframes hueShift{0%{filter:hue-rotate()}25%{filter:hue-rotate(90deg)}50%{filter:hue-rotate(180deg)}75%{filter:hue-rotate(270deg)}to{filter:hue-rotate(360deg)}}.screen-vhs:after{content:"";z-index:999;pointer-events:none;mix-blend-mode:overlay;background:repeating-linear-gradient(0deg,#0000,#0000 2px,#00000015 2px 4px);animation:.3s linear infinite vhsScroll;position:fixed;inset:0}@keyframes vhsScroll{0%{transform:translateY(0)}to{transform:translateY(4px)}}.portal-fx{z-index:8;pointer-events:none;background:radial-gradient(ellipse,var(--arcane-bright)0%,var(--arcane)30%,transparent 70%);opacity:0;width:0;height:0;box-shadow:0 0 80px var(--arcane-bright),0 0 160px var(--arcane-glow);border-radius:50%;transition:all .6s cubic-bezier(.25,.46,.45,.94);position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}.portal-fx.open{opacity:.8;width:350px;height:350px}.portal-fx.close{opacity:0;width:0;height:0;transition-duration:.4s}.blackhole-fx{z-index:8;pointer-events:none;background:radial-gradient(ellipse,#000 0%,#000 30%,var(--arcane)60%,transparent 70%);opacity:0;width:0;height:0;box-shadow:inset 0 0 40px #000,0 0 60px var(--arcane-glow);border-radius:50%;transition:all .8s;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}.blackhole-fx.open{opacity:1;width:300px;height:300px}.link-rain{z-index:8;pointer-events:none;position:fixed;inset:0;overflow:hidden}.rain-link{color:var(--ember);opacity:.6;white-space:nowrap;font-family:JetBrains Mono,monospace;font-size:.65rem;animation:linear forwards rainFall;position:absolute;top:-40px}@keyframes rainFall{0%{transform:translateY(0)}to{transform:translateY(120vh)}}.overlay{z-index:1000;background:var(--void);opacity:0;pointer-events:none;flex-direction:column;justify-content:center;align-items:center;padding:2rem;transition:opacity .8s;display:flex;position:fixed;inset:0}.overlay.active{opacity:1;pointer-events:all}.final-text{color:var(--gold);text-align:center;max-width:580px;font-family:Cinzel Decorative,serif;font-size:clamp(1rem,3.5vw,1.7rem);line-height:1.8}.final-text .big{background:linear-gradient(135deg,var(--gold),var(--arcane-bright));-webkit-text-fill-color:transparent;-webkit-background-clip:text;margin-bottom:.8rem;font-size:clamp(1.5rem,5vw,2.6rem);display:block}.final-badge{border:2px solid var(--gold);color:var(--gold);letter-spacing:.15em;border-radius:50px;margin-top:1.3rem;padding:.6rem 1.8rem;font-family:Cinzel Decorative,serif;font-size:.8rem;animation:2s infinite badgePulse;display:none}@keyframes badgePulse{50%{box-shadow:0 0 40px var(--gold-glow),0 0 80px #d4a84318}}.final-dismiss{color:var(--text-dim);cursor:pointer;background:0 0;border:1px solid #252340;border-radius:8px;margin-top:1.5rem;padding:.5rem 1.3rem;font-family:Crimson Text,serif;font-size:.88rem;transition:all .3s;display:none}.final-dismiss:hover{border-color:var(--text-mid);color:var(--text-mid)}.egg-text{color:var(--gold);text-align:center;font-family:Cinzel Decorative,serif;font-size:clamp(.95rem,2.8vw,1.4rem);line-height:1.8}.egg-dismiss{border:1px solid var(--gold);color:var(--gold);cursor:pointer;background:0 0;border-radius:8px;margin-top:1.3rem;padding:.5rem 1.1rem;font-family:Crimson Text,serif;font-size:.9rem}.mobile-hint{text-align:center;color:var(--text-dim);margin-top:-.5rem;margin-bottom:1rem;font-family:JetBrains Mono,monospace;font-size:.65rem;display:none}@media (max-width:600px){body{cursor:auto}.custom-cursor{display:none}.spellbook{padding:1.2rem}.spell-row,.custom-input-row{flex-direction:column}.cast-btn{text-align:center;width:100%}.portals{flex-direction:column;align-items:stretch}.portal-btn{justify-content:center}.magic-circle-wrap{width:200px;height:200px}.wizard-svg{width:110px;height:130px}.wizard-thought{font-size:.65rem;right:-50px}.mobile-hint{display:block}}@media (pointer:coarse){body{cursor:auto}.custom-cursor{display:none}}
