*{margin:0;padding:0;box-sizing:border-box}:root{--villain-purple: #7C3AED;--shadow-black: #1F1B24;--deep-purple: #4C1D95;--darker-purple: #2E1065;--dragon-gold: #FBBF24;--nemesis-red: #DC2626;--success-glow: #10B981;--moonlight-silver: #E5E7EB;--magical-mist: rgba(139, 92, 246, .3);--font-main: "Fredoka", sans-serif;--space-xs: 1vmin;--space-sm: 2vmin;--space-md: 3vmin;--space-lg: 5vmin;--space-xl: 8vmin;--radius-sm: 8px;--radius-md: 16px;--radius-lg: 24px;--radius-full: 9999px;--shadow-glow: 0 0 20px rgba(124, 58, 237, .5);--shadow-card: 0 8px 32px rgba(0, 0, 0, .3);--shadow-intense: 0 0 40px rgba(124, 58, 237, .8)}.skip-animations,.skip-animations *{animation-duration:.01s!important;animation-delay:0s!important;animation-iteration-count:1!important;animation-fill-mode:forwards!important;transition-duration:.01s!important;transition-delay:0s!important}html,body{width:100vw;height:100vh;height:100dvh;overflow:hidden;margin:0;padding:0}img{-webkit-user-drag:none;-webkit-touch-callout:none;user-select:none;-webkit-user-select:none;pointer-events:none}body{font-family:var(--font-main);background:linear-gradient(135deg,var(--shadow-black) 0%,var(--deep-purple) 50%,var(--darker-purple) 100%);color:var(--moonlight-silver);touch-action:manipulation;-webkit-user-select:none;user-select:none}body:before{content:"";position:fixed;inset:0;background:radial-gradient(circle at center,transparent 0%,rgba(0,0,0,.6) 100%);z-index:1;pointer-events:none}body:after{content:"";position:fixed;inset:0;background-image:radial-gradient(2px 2px at 20% 30%,white,transparent),radial-gradient(2px 2px at 60% 70%,white,transparent),radial-gradient(1px 1px at 50% 50%,white,transparent),radial-gradient(1px 1px at 80% 10%,white,transparent),radial-gradient(2px 2px at 90% 60%,white,transparent),radial-gradient(1px 1px at 33% 50%,white,transparent),radial-gradient(1px 1px at 66% 80%,white,transparent);background-size:200% 200%;background-position:0% 0%,40% 60%,130% 270%,70% 100%,50% 150%,180% 90%,90% 220%;animation:twinkle 20s ease-in-out infinite;pointer-events:none;opacity:.8;z-index:0}@keyframes twinkle{0%,to{opacity:.6}50%{opacity:1}}.btn-play-massive{background:linear-gradient(to bottom,#ffdf40,#ffb000,#e66a00);color:#551a00;font-family:var(--font-main);font-weight:900;text-transform:uppercase;border:none;border-radius:999px;box-shadow:0 10px #a84000,0 15px 25px #ff8c0080,inset 0 4px #fff9,inset 0 -4px #0000001a;position:relative;overflow:hidden;cursor:pointer;transition:transform .1s cubic-bezier(.4,0,.2,1),box-shadow .1s cubic-bezier(.4,0,.2,1);text-shadow:0 2px 0 rgba(255,255,255,.6);z-index:10}.btn-play-massive:after{content:"";position:absolute;top:0;left:-100%;width:50%;height:100%;background:linear-gradient(to right,transparent,rgba(255,255,255,.5),transparent);transform:skew(-20deg);animation:shimmer 3s infinite linear 2s}@keyframes shimmer{0%{left:-50%}30%{left:150%}to{left:150%}}.btn-play-massive:active{transform:translateY(10px);box-shadow:0 0 #a84000,0 5px 10px #ff8c004d,inset 0 4px #fff9,inset 0 -4px #0000001a}.logo-stack{display:flex;flex-direction:column;align-items:flex-start;transform:rotate(-2deg);filter:drop-shadow(0 10px 15px rgba(0,0,0,.6));z-index:20}.logo-stack span{font-weight:900;text-transform:uppercase;line-height:.85;color:#fff;-webkit-text-stroke:2px #3B0764}.logo-top{font-size:min(12vmin,3.5rem);background:linear-gradient(to bottom,#fff,#e2e8f0);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;text-shadow:0 5px 0 #1E1B4B}.logo-bottom{font-size:min(16vmin,5rem);background:linear-gradient(to bottom,#fbbf24,#ea580c);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;text-shadow:0 6px 0 #7C2D12;margin-top:-5px}.hero-pedestal-container{position:relative;display:flex;flex-direction:column;align-items:center;margin-bottom:2vmin}.hero-pedestal{position:absolute;bottom:-15%;width:140%;height:40%;background:radial-gradient(ellipse at center,rgba(168,85,247,.6) 0%,transparent 70%);border-radius:50%;filter:blur(5px);z-index:-1;box-shadow:0 0 30px #7c3aed66}#app{position:relative;z-index:1;width:100%;height:100%;display:flex;flex-direction:column;overflow:hidden;min-height:0;padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}#app.in-game{padding-top:85px;padding-bottom:var(--space-sm);padding-left:var(--space-sm);padding-right:var(--space-sm)}.screen{flex:1;width:100%;max-width:1200px;margin:0 auto;display:flex;flex-direction:column;justify-content:center;align-items:center;overflow:hidden;padding:var(--space-xs);min-height:0}.card{width:100%;max-width:900px;max-height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;background:linear-gradient(135deg,#4c1d9599,#2e106599);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:2px solid rgba(124,58,237,.3);border-radius:var(--radius-lg);padding:var(--space-lg);box-shadow:var(--shadow-card);overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch}.card::-webkit-scrollbar{display:none}.card{scrollbar-width:none}.card:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:linear-gradient(45deg,transparent,var(--magical-mist),transparent);animation:shimmer 3s infinite;pointer-events:none}@keyframes shimmer{0%{transform:translate(-100%) translateY(-100%) rotate(45deg)}to{transform:translate(100%) translateY(100%) rotate(45deg)}}h1{font-size:3rem;font-weight:700;color:var(--dragon-gold);text-shadow:0 0 20px rgba(251,191,36,.5);margin-bottom:var(--space-md);line-height:1.2}h2{font-size:1.8rem;font-weight:600;color:var(--villain-purple);margin-bottom:var(--space-sm)}h3{font-size:1.4rem;font-weight:600;margin-bottom:var(--space-sm)}p{font-size:1.1rem;line-height:1.5;margin-bottom:var(--space-sm)}.math-problem-text{font-size:5rem;color:var(--dragon-gold);text-shadow:0 0 30px rgba(251,191,36,.8);margin:var(--space-md) 0;line-height:1}.btn{font-family:var(--font-main);font-size:1.25rem;font-weight:600;padding:var(--space-md) var(--space-xl);border:none;border-radius:var(--radius-lg);cursor:pointer;transition:all .3s cubic-bezier(.34,1.56,.64,1);position:relative;overflow:hidden}.btn-primary{background:linear-gradient(135deg,var(--villain-purple),var(--deep-purple));color:#fff;box-shadow:var(--shadow-glow)}.btn-primary:hover{transform:scale(1.05) translateY(-2px);box-shadow:var(--shadow-intense)}.btn-primary:active{transform:scale(.98)}.btn-success{background:linear-gradient(135deg,var(--success-glow),#059669);color:#fff;box-shadow:0 0 20px #10b98180}.btn-danger{background:linear-gradient(135deg,var(--nemesis-red),#991b1b);color:#fff;box-shadow:0 0 20px #dc262680}.btn-gold{background:linear-gradient(135deg,var(--dragon-gold),#F59E0B);color:var(--shadow-black);box-shadow:0 0 20px #fbbf2480;font-weight:700}.btn-gold:hover{transform:scale(1.08) translateY(-3px);box-shadow:0 0 40px #fbbf24cc}.answers-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-md);width:100%;max-width:700px;margin:0 auto}.answer-btn{font-size:2rem;padding:var(--space-md);width:100%;background:#7c3aed33;border:3px solid var(--villain-purple);color:#fff;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.answer-btn:hover{background:#7c3aed66;border-color:var(--dragon-gold)}.answer-btn.correct{background:var(--success-glow);border-color:var(--success-glow);animation:pulse-success .5s ease}.answer-btn.incorrect{background:var(--nemesis-red);border-color:var(--nemesis-red);animation:shake .5s ease}.text-center{text-align:center}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.gap-sm{gap:var(--space-sm)}.gap-md{gap:var(--space-md)}.gap-lg{gap:var(--space-lg)}.mb-sm{margin-bottom:var(--space-sm)}.mb-md{margin-bottom:var(--space-md)}.mb-lg{margin-bottom:var(--space-lg)}.mt-md{margin-top:var(--space-md)}@keyframes bounce-continuous{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes wiggle{0%,to{transform:rotate(0)}25%{transform:rotate(-5deg)}75%{transform:rotate(5deg)}}@keyframes float{0%,to{transform:translateY(0) scale(1)}50%{transform:translateY(-15px) scale(1.05)}}@keyframes dragonFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}@keyframes cageRattle{0%{transform:rotate(0)}25%{transform:rotate(-.6deg)}50%{transform:rotate(.6deg)}75%{transform:rotate(-.4deg)}to{transform:rotate(0)}}.dragon-item-caged:hover{animation:cageRattle .36s ease-in-out}@keyframes newBadgePulse{0%,to{transform:rotate(-8deg) scale(1);filter:drop-shadow(0 0 6px rgba(251,191,36,.6))}50%{transform:rotate(-8deg) scale(1.08);filter:drop-shadow(0 0 14px rgba(251,191,36,.95))}}.new-badge{animation:newBadgePulse 1.4s ease-in-out infinite}@keyframes ribbonSway{0%,to{transform:rotate(-.4deg) translateY(0)}50%{transform:rotate(.4deg) translateY(-1px)}}.tab-ribbon-active{animation:ribbonSway 6s ease-in-out infinite}@keyframes peekFadeUp{0%{opacity:0;transform:translate(-50%,4px)}to{opacity:1;transform:translate(-50%)}}@keyframes sealShimmer{0%,to{box-shadow:0 0 6px #fbbf2480,inset 0 0 4px #ffdc7866}50%{box-shadow:0 0 14px #fbbf24f2,inset 0 0 6px #ffe696b3}}@keyframes foundingGleam{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}@media(orientation:landscape)and (max-height:600px){#codex-modal-overlay{padding:8px!important}#codex-modal-card{max-width:760px!important;max-height:96dvh!important;padding:12px 16px!important}#codex-modal-card>div:first-of-type{padding:0 32px!important}#codex-modal-card h1{font-size:1.1rem!important;letter-spacing:.3em!important;margin:4px 0 0!important}#codex-body{flex-direction:row!important;gap:14px!important;margin-top:8px!important}#codex-body .codex-stats{grid-template-columns:1fr!important;grid-auto-rows:min-content;width:110px!important;flex-shrink:0;margin:0!important;align-content:start;gap:6px!important}#codex-body .codex-stats>div{padding:6px 4px!important}#codex-body .codex-stats>div>div:first-child{font-size:1.15rem!important}#codex-body .codex-stats>div>div:last-child{font-size:.55rem!important;letter-spacing:1.5px!important}#codex-body #codex-list{flex:1 1 auto;min-width:0;padding-right:4px}#codex-body .codex-row-acc-label{display:none!important}#codex-body #codex-list>div{padding:8px 12px!important;margin-bottom:6px!important;gap:8px!important}#codex-body #codex-list>div>div:first-child>div:last-child{font-size:1rem!important}}@media(orientation:landscape)and (max-height:600px){#collection-modal-overlay{padding:4px!important}#collection-modal-overlay>.card{max-height:100dvh!important;height:100dvh;border-radius:12px}.rescue-hall-header{padding-bottom:2px!important}.rescue-hall-title-block{display:none!important}.rescue-hall-ribbons{margin:4px auto 2px!important;padding-top:2px!important;max-width:100%!important}.rescue-hall-ribbons>div[style*=brass],.rescue-hall-ribbons>div[style*=radial-gradient]{display:none}.rescue-hall-ribbons>div:last-child{gap:8px!important;padding-top:0!important}#collection-modal-overlay .collection-tab{padding:6px 14px 12px!important;font-size:.66rem!important;letter-spacing:.2em!important;min-width:130px!important}.rescue-hall-stamps{margin:2px 0 6px!important}.rescue-hall-stamps .rescue-hall-seal-row{gap:5px!important}.rescue-hall-stamps .rescue-hall-seal-row>div{width:16px!important;height:16px!important;font-size:.48rem!important;border-width:1px!important}.rescue-hall-stamps-count{margin-top:3px!important;font-size:.6rem!important;letter-spacing:.12em!important}#collection-content>div[style*=grid]{grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:8px!important}.collection-item{padding:6px 6px 8px!important}.collection-item h3{font-size:.82rem!important;margin:2px 0 1px!important;letter-spacing:.04em!important}.collection-item p{font-size:.6rem!important;line-height:1.2!important}.collection-item .collection-item-thumb{width:58px!important;height:58px!important;margin:2px auto 4px!important}.collection-item>div[style*="position:absolute"][style*="top:5px"]{display:none!important}}@keyframes introSlideIn{0%{opacity:0;transform:scale(.98)}to{opacity:1;transform:scale(1)}}@keyframes introSlideOut{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1.02)}}@keyframes introTitleIn{0%{opacity:0;transform:translate(-50%,-8px);letter-spacing:.6em}to{opacity:1;transform:translate(-50%);letter-spacing:.34em}}@keyframes introVisualIn{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}@keyframes introCaptionIn{0%{opacity:0;transform:translate(-50%,8px)}to{opacity:1;transform:translate(-50%)}}@keyframes introFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes bondPulse{0%,to{transform:scale(1);filter:drop-shadow(0 0 14px rgba(251,191,36,.95))}50%{transform:scale(1.18);filter:drop-shadow(0 0 22px rgba(251,191,36,1))}}@keyframes villainAura{0%,to{opacity:.85;transform:scale(1)}50%{opacity:1;transform:scale(1.1)}}@keyframes arrowPulse{0%,to{opacity:.45;transform:translate(0)}50%{opacity:1;transform:translate(4px)}}@keyframes beamPulse{0%,to{opacity:.7;transform:scaleX(.95)}50%{opacity:1;transform:scaleX(1.08)}}@keyframes powerPulse{0%,to{opacity:.85;transform:scale(1)}50%{opacity:1;transform:scale(1.12)}}@keyframes orbitFloat{0%,to{opacity:.7;filter:drop-shadow(0 0 8px rgba(251,191,36,.6))}50%{opacity:1;filter:drop-shadow(0 0 18px rgba(251,191,36,1))}}@media(orientation:landscape)and (max-height:600px){.intro-letterbox-top,.intro-letterbox-bottom{height:3vh!important}.intro-slide{height:94vh!important}.intro-page-indicator{top:1.5vh!important}.intro-visual-wrap{padding:5vh 0 10vh!important}.intro-caption-wrap{bottom:6vh!important;width:94%!important}.intro-caption-wrap p{font-size:clamp(.9rem,3.2vmin,1.15rem)!important;line-height:1.35!important}}@keyframes bounceIn{0%{transform:scale(.3);opacity:0}50%{transform:scale(1.1)}70%{transform:scale(.9)}to{transform:scale(1);opacity:1}}@keyframes slideInBounce{0%{transform:translateY(-100px);opacity:0}60%{transform:translateY(10px)}80%{transform:translateY(-5px)}to{transform:translateY(0);opacity:1}}@keyframes popIn{0%{transform:scale(0);opacity:0}50%{transform:scale(1.2)}to{transform:scale(1);opacity:1}}@keyframes pulseGlow{0%,to{transform:scale(1);box-shadow:0 0 20px #fbbf2480}50%{transform:scale(1.05);box-shadow:0 0 40px #fbbf24e6}}@keyframes pulse-success{0%,to{transform:scale(1)}50%{transform:scale(1.1);box-shadow:0 0 40px #10b981}}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-10px)}75%{transform:translate(10px)}}@keyframes confettiRain{0%{transform:translateY(-100vh) rotate(0);opacity:1}to{transform:translateY(100vh) rotate(720deg);opacity:.3}}@keyframes rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes scalePulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}@keyframes sparkleExplosion{0%{transform:translate(-50%,-50%) scale(0);opacity:0}20%{opacity:1}to{transform:translate(calc(-50% + var(--random-x, 0px)),calc(-50% + var(--random-y, -150px))) scale(1) rotate(360deg);opacity:0}}.animate-bounce{animation:bounce-continuous 2s ease-in-out infinite}.animate-float{animation:float 3s ease-in-out infinite}.animate-wiggle{animation:wiggle .5s ease}.animate-bounce-in{animation:bounceIn .6s ease}.animate-pulse-glow{animation:pulseGlow 2s ease-in-out infinite}@media(max-height:700px),(max-width:768px){#app.in-game{padding-top:55px;padding-bottom:20px}.card{padding:var(--space-sm);justify-content:center;gap:var(--space-sm)}h1{font-size:1.5rem;margin-bottom:.1rem}h2{font-size:1.1rem;margin-bottom:.1rem}p{font-size:.9rem;margin-bottom:.2rem}.math-problem-text{font-size:2.2rem;margin:.2rem 0}.answers-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px;width:100%}.answer-btn{font-size:1.2rem;padding:6px;min-height:auto}.btn{font-size:1rem;padding:14px 20px}img.animate-bounce-in{width:100px!important;height:100px!important;margin-bottom:.5rem!important}}@media(orientation:portrait)and (max-width:768px){:root{--space-xs: .5vmin;--space-sm: 1vmin;--space-md: 2vmin;--space-lg: 3vmin;--space-xl: 5vmin}#app.in-game{padding-top:55px;padding-bottom:1vmin;padding-left:1vmin;padding-right:1vmin}.screen{max-width:100%}.card{max-width:100%;padding:var(--space-sm);gap:var(--space-xs)}h1{font-size:1.4rem;margin-bottom:.5vmin}h2{font-size:1rem;margin-bottom:.5vmin}p{font-size:.85rem;margin-bottom:.3rem}.math-problem-text{font-size:2.5rem;margin:1vmin 0}.answers-grid{grid-template-columns:1fr 1fr;gap:8px;width:100%;max-width:100%;padding:0 2vmin}.answer-btn{font-size:1.3rem;padding:12px 8px;min-height:50px}.btn{font-size:.95rem;padding:10px 16px}}img{image-rendering:-webkit-optimize-contrast;image-rendering:crisp-edges;-webkit-backface-visibility:hidden;backface-visibility:hidden}img[src*="cat.png"],img[src*="icon.png"]{background:transparent!important}img[src*="cat.png"]{mix-blend-mode:normal}.start-screen-content{width:100%;max-width:1000px;display:flex;flex-direction:column;align-items:center;flex:1;justify-content:space-evenly;gap:2vmin}.start-screen-left,.start-screen-right{display:flex;flex-direction:column;align-items:center;width:100%;gap:2vmin;transition:all .3s ease}.start-screen-buttons{display:flex;flex-direction:column;align-items:center;width:100%;flex-shrink:0;gap:3vmin}@media(orientation:landscape)and (max-height:600px){#app.in-game{padding-top:45px}}@media(orientation:landscape){.start-screen-content{flex-direction:row;justify-content:center;align-items:center;gap:5vmin;padding:2vmin}.start-screen-left{width:45%;justify-content:center}.start-screen-right{width:65%;justify-content:center;align-items:flex-start;padding-left:2vmin}.start-screen-title{font-size:min(15vmin,4rem)!important;padding-top:60px;text-align:left!important;text-shadow:0 4px 20px rgba(168,85,247,.8),2px 2px 0px rgba(0,0,0,.5)!important;letter-spacing:1px!important;line-height:1.1;margin-bottom:2vmin!important}.start-screen-subtitle{font-size:min(6vmin,1.5rem)!important;text-align:left!important;color:#e5e7ebe6!important;line-height:1.4!important}.start-screen-buttons{align-items:flex-start}}.carousel-card{width:min(55vmin,520px)!important;height:auto!important;max-height:95%!important;padding:2.5vmin!important;max-width:520px!important}.carousel-card-avatar{width:min(28vmin,260px)!important;height:min(28vmin,260px)!important;max-width:260px!important;max-height:260px!important;margin-bottom:1.5vmin!important}.carousel-card-title{font-size:clamp(1.2rem,4.5vmin,2rem)!important}.carousel-card-subtitle{font-size:clamp(.9rem,2.5vmin,1.2rem)!important;margin-bottom:1vmin!important}.carousel-card-desc{font-size:clamp(.8rem,2.5vmin,1.05rem)!important;padding:1.2vmin!important}#nav-arrow-left,#nav-arrow-right{width:min(8dvh,70px)!important;height:min(8dvh,70px)!important;font-size:min(3dvh,2rem)!important}@media(orientation:portrait)and (max-width:768px){.carousel-card{width:70vw!important;height:auto!important;padding:2vmin!important;max-width:250px!important}.carousel-card-avatar{width:22vmin!important;height:22vmin!important;max-width:90px!important;max-height:90px!important;margin-bottom:1vmin!important}.carousel-card-title{font-size:1.5rem!important}.carousel-card-subtitle{font-size:1rem!important;margin-bottom:1vmin!important}.carousel-card-desc{font-size:.9rem!important;padding:1.5vmin!important}#nav-arrow-left,#nav-arrow-right{width:12vw!important;height:12vw!important;font-size:1.5rem!important}}@media(orientation:landscape)and (max-height:600px){.carousel-card{width:250px!important;height:auto!important;max-height:260px!important;padding:10px!important}.carousel-card-avatar{width:70px!important;height:70px!important;margin-bottom:5px!important}.carousel-card-title{font-size:1.2rem!important}.carousel-card-subtitle{font-size:.8rem!important;margin-bottom:5px!important}.carousel-card-desc{font-size:.7rem!important;padding:5px!important}#nav-arrow-left,#nav-arrow-right{width:40px!important;height:40px!important;font-size:1.2rem!important}}@keyframes buildingIdle{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}@keyframes buildingShake{0%,to{transform:translate(0) rotate(0)}25%{transform:translate(-20px) rotate(-5deg)}75%{transform:translate(20px) rotate(5deg)}}@keyframes dragonCoil{0%{transform:scale(1) translate(0);filter:drop-shadow(0 0 10px rgba(251,191,36,.5))}40%{transform:scale(1.15) translate(-5px);filter:drop-shadow(0 0 40px rgba(251,191,36,1)) brightness(1.8)}to{transform:scale(1.35) translate(-12px);filter:drop-shadow(0 0 80px rgba(255,255,255,1)) brightness(3)}}@keyframes screenFlash{0%,to{opacity:0}50%{opacity:.75}}@keyframes dragonChargeChannel{0%{top:0%;opacity:0;transform:translate(-50%,-50%) scale(.4)}25%{opacity:1;transform:translate(-50%,-50%) scale(1)}75%{opacity:1;transform:translate(-50%,-50%) scale(1.2)}to{top:100%;opacity:0;transform:translate(-50%,-50%) scale(.6)}}@keyframes fireBlastLandscape{0%{left:22%;top:52%;opacity:0;transform:translate(-50%,-50%) scale(.6)}8%{left:26.6%;top:51.6%;opacity:1;transform:translate(-50%,-50%) scale(1.3)}to{left:80%;top:48%;opacity:1;transform:translate(-50%,-50%) scale(2.8)}}@keyframes buildingCrumble{0%{transform:translateY(0) rotate(0);opacity:1;filter:drop-shadow(0 10px 20px rgba(220,38,38,.4))}50%{transform:translateY(20px) rotate(10deg)}to{transform:translateY(100px) rotate(25deg) scale(.7);opacity:0;filter:blur(10px)}}@keyframes explosionBurst{0%{opacity:0;transform:translate(-50%,-50%) scale(0)}30%{opacity:1;transform:translate(-50%,-50%) scale(1.5)}to{opacity:0;transform:translate(-50%,-50%) scale(2)}}@media(orientation:portrait)and (max-width:768px){.hq-title{font-size:5vmin!important;margin-bottom:1vmin!important}.hq-building{margin:1vmin 0!important}.hq-building img{width:30vmin!important}.team-container{gap:2vmin!important;margin-top:1vmin!important}.attack-cat{width:8vmin!important;height:8vmin!important}.attack-dragon{width:12vmin!important;height:12vmin!important}.dragon-fire{font-size:6vmin!important}.battle-message{font-size:2.5vmin!important;margin-top:1vmin!important}.explosion{font-size:18vmin!important}}@keyframes catChanneling{0%,to{transform:scale(1);filter:drop-shadow(0 0 10px rgba(124,58,237,.4))}50%{transform:scale(1.05);filter:drop-shadow(0 0 30px rgba(124,58,237,.8))}}@keyframes dragonReceivePower{0%,to{transform:scale(1)}50%{transform:scale(1.05);filter:drop-shadow(0 0 40px rgba(251,191,36,1))}}@keyframes energyFlow{0%{top:0;opacity:0;transform:translate(-50%) scale(.5)}50%{opacity:1;transform:translate(-50%) scale(1.2)}to{top:100%;opacity:0;transform:translate(-50%) scale(.5)}}@keyframes trainingChargeChannel{0%{top:25%;left:50%;opacity:0;transform:translate(-50%,-50%) scale(.4)}30%{opacity:1;transform:translate(-50%,-50%) scale(1.1)}70%{opacity:1;transform:translate(-50%,-50%) scale(1.3)}to{top:75%;left:50%;opacity:0;transform:translate(-50%,-50%) scale(.5)}}@keyframes energyFlowLandscape{0%{left:25%;opacity:0;transform:translateY(-50%) scale(.5)}50%{left:50%;opacity:1;transform:translateY(-50%) scale(1.2)}to{left:75%;opacity:0;transform:translateY(-50%) scale(.5)}}@keyframes dragonPowerUp{0%{transform:scale(1);filter:drop-shadow(0 0 20px rgba(251,191,36,.6))}50%{transform:scale(1.3);filter:drop-shadow(0 0 60px rgba(251,191,36,1))}to{transform:scale(1.2);filter:drop-shadow(0 0 40px rgba(251,191,36,.9))}}@media(max-width:768px){#training-cat{width:100px!important;height:100px!important}#training-dragon{width:120px!important;height:120px!important}.card{min-height:auto!important}}@media(orientation:portrait)and (max-width:768px){.training-title{font-size:4vmin!important;margin-bottom:1vmin!important}#training-cat{width:14vmin!important;height:14vmin!important}#training-dragon{width:18vmin!important;height:18vmin!important}#energy-particles div{font-size:1.5rem!important}.training-message{font-size:2.5vmin!important;margin-top:1vmin!important}.power-indicator{margin-top:1vmin!important;gap:1vmin!important}.power-indicator div{width:40px!important;height:15px!important}}#profile-icon-wrapper{position:fixed;top:15px;right:15px;z-index:1000}#exit-button-wrapper{position:fixed;top:15px;left:15px;z-index:1000}@media(orientation:portrait)and (max-width:768px){#profile-icon-wrapper{top:10px;right:10px}#exit-button-wrapper{top:10px;left:10px}#profile-icon-btn{width:45px!important;height:45px!important}}#profile-volume-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:14px;height:14px;border-radius:50%;background:var(--dragon-gold);cursor:pointer;box-shadow:0 0 8px #fbbf24cc}#profile-volume-slider::-moz-range-thumb{width:14px;height:14px;border-radius:50%;background:var(--dragon-gold);cursor:pointer;border:none;box-shadow:0 0 8px #fbbf24cc}#profile-mute-btn:hover{transform:scale(1.15)}@media(orientation:landscape)and (max-height:600px){#profile-dropdown{max-height:calc(100dvh - 80px);overflow-y:auto;min-width:200px!important}#profile-dropdown .dropdown-item{padding:9px var(--space-md)!important;font-size:.92rem}#profile-dropdown .dropdown-music-row{padding:7px var(--space-md)!important}#about-modal{padding:6px!important}#about-modal .about-modal-card{max-width:640px!important;width:96%!important;padding:16px 22px 14px!important;max-height:96dvh!important;display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;grid-template-areas:"title     follow" "version   follow" "credits   legal" "copyright legal"!important;column-gap:20px!important;row-gap:6px!important;align-items:start!important;text-align:left!important}#about-modal .about-modal-title{grid-area:title;font-size:1.5rem!important;margin:0 0 2px!important;text-align:left!important}#about-modal .about-modal-version-pill{grid-area:version;justify-self:start;margin-bottom:8px!important;font-size:.72rem!important;padding:2px 12px!important}#about-modal .about-modal-credits{grid-area:credits;padding:10px 14px!important;gap:6px!important;margin:0!important}#about-modal .about-modal-credits>div[style*="display:flex"]{font-size:.85rem!important}#about-modal .about-modal-credits>div[style*="display:flex"] span[style*="1.5rem"]{font-size:1.1rem!important}#about-modal .about-modal-followus{grid-area:follow;margin-top:0!important}#about-modal .about-modal-followus>div:first-child{margin-bottom:6px!important}#about-modal .about-modal-legal{grid-area:legal;margin-top:6px!important}#about-modal .about-modal-legal>div:first-child{margin-bottom:6px!important}#about-modal .about-modal-legal .about-legal-item{padding:5px 10px!important}#about-modal .about-modal-legal .about-legal-item span:last-child{font-size:.75rem!important}#about-modal .about-modal-copyright{grid-area:copyright;margin-top:8px!important;font-size:.62rem!important;text-align:left!important}#login-prompt-modal>.card{max-width:540px!important;padding:18px 22px 16px!important;max-height:96dvh!important;overflow-y:auto!important}#login-prompt-modal>.card>div[style*="font-size: 4rem"]{font-size:2rem!important;margin-bottom:6px!important}#login-prompt-modal>.card h2{font-size:1.4rem!important;margin:0 0 6px!important}#login-prompt-modal>.card p{font-size:.85rem!important;line-height:1.35!important;margin-bottom:12px!important}#login-prompt-modal>.card>div[style*="flex-direction: column"]{flex-direction:row!important;gap:10px!important}#login-prompt-modal #login-prompt-signin-btn,#login-prompt-modal #login-prompt-guest-btn{flex:1;padding:10px!important;font-size:.95rem!important}}@keyframes rotatePhone{0%{transform:rotate(0)}50%{transform:rotate(-90deg)}to{transform:rotate(0)}}@keyframes rotateAuraPulse{0%,to{opacity:.85;transform:translate(-50%,-55%) scale(1)}50%{opacity:1;transform:translate(-50%,-55%) scale(1.06)}}@keyframes rotateCatFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.dungeon-background{position:fixed;top:0;left:0;width:100%;height:100%;background-image:url(/dungeon-bg.png);background-size:cover;background-position:center;z-index:0}@keyframes dragonShake{0%,to{transform:translate(0)}25%{transform:translate(-5px)}75%{transform:translate(5px)}}@keyframes cageBreak{0%{transform:translate(var(--x-offset, 0)) translateY(0) rotate(0);opacity:1}to{transform:translate(var(--x-offset, 0)) translateY(100px) rotate(45deg);opacity:0}}@keyframes dragonFree{0%{transform:scale(1) translateY(0);filter:grayscale(50%) brightness(.7)}50%{transform:scale(1.3) translateY(-30px)}to{transform:scale(1.2) translateY(-20px);filter:grayscale(0%) drop-shadow(0 0 30px rgba(251,191,36,.8))}}@keyframes keyFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes keyUnlock{0%{transform:translateY(0) rotate(0);opacity:1}50%{transform:translateY(-100px) rotate(180deg);opacity:1}to{transform:translateY(-150px) rotate(360deg);opacity:0}}@keyframes lockPulse{0%,to{transform:translate(-50%) scale(1)}50%{transform:translate(-50%) scale(1.1)}}@keyframes lockBreak{0%{transform:translate(-50%) scale(1);opacity:1}50%{transform:translate(-50%) scale(1.5) rotate(20deg)}to{transform:translate(-50%) scale(0) rotate(40deg);opacity:0}}@keyframes keyBounce{0%,to{transform:translate(-50%) translateY(0) rotate(-5deg)}50%{transform:translate(-50%) translateY(-10px) rotate(5deg)}}.draggable-key{transition:filter .2s ease}.draggable-key:hover{filter:drop-shadow(0 0 35px rgba(251,191,36,1))!important}.draggable-key.dragging{cursor:grabbing!important;animation:none!important;filter:drop-shadow(0 0 40px rgba(251,191,36,1))!important;position:absolute!important;transform:none!important;top:var(--drag-y)!important;left:var(--drag-x)!important;bottom:auto!important;margin:0!important}.cage-lock.highlight{transform:translate(-50%) scale(1.3)!important;filter:drop-shadow(0 0 30px rgba(16,185,129,1))!important;animation:none!important}@media(orientation:portrait)and (max-width:768px){.rescue-title{font-size:4vmin!important;margin-bottom:1vmin!important}.caged-dragon-container{width:18vmin!important;height:18vmin!important}.cage-bars-container{width:22vmin!important}.cage-bar{width:8px!important}.cage-lock{font-size:4vmin!important;bottom:-1.5vmin!important}.rescue-cat-container{margin-top:1vmin!important}.rescue-cat-inner{width:18vmin!important;height:18vmin!important}.cat-key{font-size:4vmin!important}.rescue-message,.continue-prompt{font-size:2.5vmin!important;margin-top:1vmin!important}.draggable-key{font-size:6vmin!important;bottom:20%!important}}@media(orientation:landscape){#rescue-area{padding:2vmin 5vmin!important}.battle-arena:not(.hq-battle-arena){flex-direction:row!important;justify-content:space-around!important;padding-bottom:0!important}.energy-particle{left:25%!important;top:50%!important;transform:translateY(-50%)!important;animation-name:energyFlowLandscape!important}@keyframes trainingChargeChannel{0%{left:25%;top:50%;opacity:0;transform:translate(-50%,-50%) scale(.4)}30%{opacity:1;transform:translate(-50%,-50%) scale(1.1)}70%{opacity:1;transform:translate(-50%,-50%) scale(1.3)}to{left:75%;top:50%;opacity:0;transform:translate(-50%,-50%) scale(.5)}}.rescue-title{font-size:6vmin!important;margin-bottom:2vmin!important}.rescue-cat-inner,.training-cat{width:40vmin!important;height:40vmin!important}.hq-attack-cat{width:18vmin!important;height:18vmin!important}#cage-container{margin:0!important}.caged-dragon-container,.training-dragon{width:40vmin!important;height:40vmin!important}.hq-attack-dragon{width:24vmin!important;height:24vmin!important}.hq-building{width:48vmin!important;height:48vmin!important}.hq-explosion{left:80%!important;top:50%!important;transform:translate(-50%,-50%)!important}.cage-bars-container{width:45vmin!important}.cage-lock{font-size:8vmin!important;bottom:-3vmin!important}.draggable-key{position:absolute!important;top:50%!important;left:50%!important;transform:translate(-50%,-50%)!important;bottom:auto!important;font-size:8vmin!important;margin:0!important}.rescue-messages-container{bottom:3vmin!important}.rescue-message{font-size:4vmin!important}.continue-prompt{font-size:3.5vmin!important}}.battlefield-background{position:fixed;top:0;left:0;width:100%;height:100%;background-image:url(/battlefield-bg.png);background-size:cover;background-position:center;z-index:0}.battle-title{color:var(--nemesis-red);margin-bottom:var(--space-md);font-size:5vmin;animation:fadeIn .5s ease;flex-shrink:0}@media(max-width:768px){.battle-title{font-size:1.5rem;margin-bottom:var(--space-sm)!important}}@keyframes battleCatReady{0%,to{transform:translateY(-50%)}50%{transform:translateY(-60%)}}@keyframes bowDraw{0%{transform:scale(.8)}50%{transform:scale(1.1)}to{transform:scale(1)}}@keyframes wandWave{0%,to{transform:translateY(-50%) rotate(0)}50%{transform:translateY(-50%) rotate(25deg)}}@keyframes sparklesShoot{0%{left:28%;opacity:0;transform:translateY(-50%) scale(.5)}20%{opacity:1;transform:translateY(-50%) scale(1)}80%{left:70%;opacity:1;transform:translateY(-50%) scale(1.2)}to{left:72%;opacity:0;transform:translateY(-50%) scale(.8)}}@keyframes arrowShoot{0%{left:25%;opacity:1;transform:translateY(-50%) rotate(0)}80%{left:70%;opacity:1;transform:translateY(-50%) rotate(0)}to{left:72%;opacity:0;transform:translateY(-50%) rotate(0) scale(.5)}}@keyframes swordAttack{0%{left:15%;transform:translateY(-50%) rotate(0) scale(1);opacity:1}70%{left:70%;transform:translateY(-50%) rotate(360deg) scale(1.2);opacity:1}to{left:70%;transform:translateY(-50%) rotate(360deg) scale(0);opacity:0}}.battle-cat-char{position:absolute;left:2%;top:50%;transform:translateY(-50%);width:25vmin;height:25vmin;animation:battleCatReady .8s ease;z-index:10}.battle-monster-char{position:absolute;right:2%;top:50%;transform:translateY(-50%);width:20vmin;height:20vmin;animation:monsterWiggle .5s ease infinite;z-index:5}.battle-bow{position:absolute;left:60%;top:45%;font-size:5rem;animation:bowDraw .5s ease 1s;z-index:11}.battle-wand-char{position:absolute;left:10%;top:45%;transform:translateY(-50%);font-size:4rem;animation:wandWave .5s ease 1s;z-index:12}.battle-sparkles{position:absolute;left:15%;top:50%;transform:translateY(-50%);font-size:3rem;opacity:0;animation:sparklesShoot 1.5s ease 1s forwards}.battle-arrow-proj{position:absolute;left:20%;top:50%;transform:translateY(-50%) rotate(0);font-size:5rem;animation:arrowShoot 1.2s ease 1s forwards;filter:drop-shadow(0 2px 4px rgba(0,0,0,.3))}.battle-sword-proj{position:absolute;left:15%;top:50%;transform:translateY(-50%);font-size:5rem;animation:swordAttack 1.5s ease 1s forwards}.battle-impact{position:absolute;right:20%;top:50%;transform:translateY(-50%);font-size:7rem;opacity:0;animation-name:impactFlash;animation-duration:.5s;animation-timing-function:ease;animation-fill-mode:forwards}.battle-continue{position:relative;margin-top:auto;padding-bottom:2vmin;left:0;right:0;text-align:center;font-size:3vmin;opacity:0;color:var(--moonlight-silver);animation:fadeIn .8s ease 3s forwards,pulse 2s ease-in-out 4s infinite;z-index:10}@media(orientation:landscape){.battle-title{font-size:5vmin;margin-bottom:1vmin!important}.battle-cat-char{left:15%;width:35vmin;height:35vmin}.battle-monster-char{right:15%;width:30vmin;height:30vmin}.battle-bow{font-size:8vmin;left:70%;top:40%}.battle-wand-char{font-size:8vmin;left:18%}.battle-sparkles{font-size:6vmin;left:22%}.battle-arrow-proj{font-size:8vmin;left:25%}.battle-sword-proj{font-size:8vmin;left:20%}.battle-impact{font-size:clamp(3rem,10vmin,6rem);right:18%}.battle-continue{font-size:3vmin;padding-bottom:1vmin}@keyframes sparklesShoot{0%{left:30%;opacity:0;transform:translateY(-50%) scale(.5)}20%{opacity:1;transform:translateY(-50%) scale(1)}80%{left:65%;opacity:1;transform:translateY(-50%) scale(1.2)}to{left:70%;opacity:0;transform:translateY(-50%) scale(.8)}}@keyframes arrowShoot{0%{left:30%;opacity:1;transform:translateY(-50%) rotate(0)}80%{left:65%;opacity:1;transform:translateY(-50%) rotate(0)}to{left:70%;opacity:0;transform:translateY(-50%) rotate(0) scale(.5)}}@keyframes swordAttack{0%{left:25%;transform:translateY(-50%) rotate(0) scale(1);opacity:1}70%{left:65%;transform:translateY(-50%) rotate(360deg) scale(1.2);opacity:1}to{left:70%;transform:translateY(-50%) rotate(360deg) scale(0);opacity:0}}}@keyframes monsterWiggle{0%,to{transform:translateY(-50%) rotate(-5deg)}50%{transform:translateY(-50%) rotate(5deg)}}@keyframes impactFlash{0%{opacity:0;transform:translateY(-50%) scale(0)}20%{opacity:1;transform:translateY(-50%) scale(1.5)}to{opacity:0;transform:translateY(-50%) scale(2)}}@media(orientation:portrait)and (max-width:768px){#battle-cat{left:50%!important;top:auto!important;bottom:5%!important;transform:translate(-50%)!important;width:18vmin!important;height:18vmin!important}#battle-monster{inset:10% auto auto 50%!important;transform:translate(-50%)!important;width:18vmin!important;height:18vmin!important}#battle-wand{left:50%!important;top:auto!important;bottom:22%!important;transform:translate(-50%)!important;font-size:2.5rem!important;z-index:15!important}#impact-effect{right:auto!important;left:50%!important;top:20%!important;transform:translate(-50%,-50%)!important;font-size:4rem!important}#magic-sparkles{left:50%!important;top:auto!important;bottom:30%!important;transform:translate(-50%)!important}@keyframes sparklesShootVertical{0%{bottom:30%;opacity:0;transform:translate(-50%) scale(.5)}20%{opacity:1;transform:translate(-50%) scale(1)}80%{bottom:70%;opacity:1;transform:translate(-50%) scale(1.2)}to{bottom:75%;opacity:0;transform:translate(-50%) scale(.8)}}@keyframes arrowShootVertical{0%{bottom:25%;opacity:1;transform:translate(-50%) rotate(-90deg)}80%{bottom:70%;opacity:1;transform:translate(-50%) rotate(-90deg)}to{bottom:75%;opacity:0;transform:translate(-50%) rotate(-90deg) scale(.5)}}@keyframes swordAttackVertical{0%{bottom:25%;transform:translate(-50%) rotate(0) scale(1);opacity:1}70%{bottom:65%;transform:translate(-50%) rotate(360deg) scale(1.2);opacity:1}to{bottom:70%;transform:translate(-50%) rotate(360deg) scale(0);opacity:0}}#magic-sparkles{animation:sparklesShootVertical 1.5s ease 1s forwards!important}#battle-arrow{left:50%!important;top:auto!important;bottom:25%!important;transform:translate(-50%) rotate(-90deg)!important;animation:arrowShootVertical 1.2s ease 1s forwards!important}#battle-sword{left:50%!important;top:auto!important;bottom:25%!important;transform:translate(-50%)!important;animation:swordAttackVertical 1.5s ease 1s forwards!important}}@keyframes smokeFloat{0%{opacity:.5;transform:translateY(0)}to{opacity:0;transform:translateY(-50px)}}@keyframes fireFlicker{0%{opacity:.8;transform:scale(1)}50%{opacity:1;transform:scale(1.1)}to{opacity:.8;transform:scale(1)}}@keyframes jump{0%,to{transform:translateY(0)}50%{transform:translateY(-20px)}}@keyframes dropIn{0%{transform:translate(-50%,-200%)}60%{transform:translate(-50%,10%)}80%{transform:translate(-50%,-5%)}to{transform:translate(-50%)}}@keyframes floatAway{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(0)}}@keyframes riseUp{0%{top:100%}to{top:25%}}@keyframes suckIn{0%{transform:scale(1) rotate(0);opacity:1;left:var(--start-left);top:var(--start-top)}to{transform:scale(0) rotate(720deg);opacity:0;left:calc(50% - 27px);top:35%}}@keyframes suckInBoss{0%{transform:scale(1) rotate(0);opacity:1}to{transform:scale(0) rotate(720deg);opacity:0;left:44.9%;top:2%}}@keyframes suckInTrueBoss{0%{transform:scale(1) rotate(0);opacity:1;left:var(--start-left);top:var(--start-top)}to{transform:scale(0) rotate(720deg);opacity:0;left:calc(50% - 38px);top:calc(15% + 40px)}}.progress-bar-container{position:fixed;top:0;left:0;right:0;height:80px;background:linear-gradient(180deg,#1a0033f2,#1a0033d9);border-bottom:2px solid var(--villain-purple);z-index:100;padding:10px 20px;box-shadow:0 4px 20px #00000080}.progress-bar-background{position:absolute;top:0;left:0;right:0;height:100%;background-image:url(/progress-bar-bg.png);background-size:cover;background-position:center;opacity:.3;z-index:0}.progress-bar-track{position:relative;height:40px;background:#37306b99;border-radius:20px;overflow:visible;margin:5px 0;border:2px solid rgba(124,58,237,.5);z-index:1}.progress-bar-fill{position:absolute;left:0;top:0;height:100%;background:linear-gradient(90deg,#8b5cf6,#ec4899,#f59e0b);border-radius:20px;transition:width 1s ease-out;box-shadow:0 0 20px #fbbf2499}.progress-cat{position:absolute;top:-6px;transform:translate(-50%);transition:left 1s ease-out;z-index:10;filter:drop-shadow(0 4px 8px rgba(0,0,0,.5))}.cat-container{width:44px;height:44px;background:radial-gradient(circle,rgba(251,191,36,.3) 0%,transparent 70%);border-radius:50%;display:flex;align-items:center;justify-content:center;animation:catBounce 2s ease-in-out infinite}.stage-marker{position:absolute;top:50%;transform:translate(-50%,-50%);width:20px;height:20px;border-radius:50%;border:3px solid #6B7280;background:#37306bcc;transition:all .3s ease}.stage-marker.completed{border-color:#fcd34d;background:linear-gradient(135deg,#fbbf24,#f59e0b);box-shadow:0 0 10px #fbbf24cc}.stage-marker.current{border-color:#fbbf24;background:#fbbf24;box-shadow:0 0 15px #fbbf24;animation:pulse 2s ease-in-out infinite}.progress-label{position:relative;text-align:center;color:var(--dragon-gold);font-size:.9rem;font-weight:700;margin-top:2px;z-index:1;text-shadow:0 2px 4px rgba(0,0,0,.8)}@keyframes catBounce{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}@keyframes pulse{0%,to{transform:translate(-50%,-50%) scale(1)}50%{transform:translate(-50%,-50%) scale(1.2)}}@media(orientation:portrait)and (max-width:768px){.progress-bar-container{height:50px;padding:6px 12px}.progress-bar-track{height:24px;border-radius:12px;margin:3px 0}.progress-bar-fill{border-radius:12px}.progress-cat{top:-4px}.cat-container{width:30px;height:30px}.cat-container svg{width:22px!important;height:22px!important}.stage-marker{width:12px;height:12px;border-width:2px}.progress-label{font-size:.7rem;margin-top:1px}}@media(orientation:landscape)and (max-height:600px){.progress-bar-container{height:40px;padding:4px 12px}.progress-bar-track{height:16px;border-radius:8px;margin:2px 0}.progress-bar-fill{border-radius:8px}.progress-cat{top:-6px}.cat-container{width:24px;height:24px}.cat-container svg{width:18px!important;height:18px!important}.stage-marker{width:10px;height:10px;border-width:2px}.progress-label{font-size:.6rem;margin-top:1px;display:none}}.dragon-profile-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#000000d9;z-index:2000;display:flex;align-items:center;justify-content:center;animation:fadeIn .3s ease;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.dragon-profile-modal{background:linear-gradient(135deg,#1a0033,#2d1b4e);border:3px solid var(--villain-purple);border-radius:var(--radius-lg);padding:var(--space-xl);max-width:800px;width:90vw;max-height:85dvh;position:relative;box-shadow:0 0 50px #7c3aed80;animation:popIn .4s ease;overflow-y:auto}.dragon-profile-close{position:absolute;top:var(--space-md);right:var(--space-md);background:#dc262633;border:2px solid var(--nemesis-red);border-radius:50%;width:40px;height:40px;font-size:2rem;color:var(--nemesis-red);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s ease;line-height:1;padding:0;z-index:10}.dragon-profile-close:hover{background:#dc262666;transform:scale(1.1) rotate(90deg)}.dragon-stat-card{background:#4c1d954d;border:2px solid var(--villain-purple);border-radius:var(--radius-md);padding:var(--space-md);transition:all .3s ease}.dragon-stat-card:hover{border-color:var(--dragon-gold);box-shadow:0 0 20px #fbbf244d;transform:translateY(-2px)}@keyframes dragonFloat{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(-15px) rotate(3deg)}}@media(max-width:768px)and (orientation:portrait){.dragon-profile-modal>div{grid-template-columns:1fr!important;text-align:center}}@media(orientation:landscape){.dragon-svg-wrapper{width:150px!important;height:150px!important}.dragon-profile-modal{padding:var(--space-md)!important;grid-template-columns:180px 1fr!important}.dragon-profile-modal h1{font-size:1.8rem!important;margin-bottom:5px!important}.dragon-profile-modal p{font-size:.9rem!important;margin-bottom:10px!important}.dragon-stat-card{padding:var(--space-sm)!important}.dragon-stat-card h3{font-size:.9rem!important}.dragon-stat-card p{font-size:.8rem!important}}.dragon-container{position:relative;width:120px;height:120px;background:radial-gradient(circle,rgba(124,58,237,.2) 0%,transparent 70%);border-radius:50%;display:flex;align-items:center;justify-content:center}.brand-title{font-family:var(--font-main);font-weight:800;letter-spacing:2px;text-transform:none;margin:0}.legal-body h1{font-size:1.3rem;color:var(--dragon-gold);margin:0 0 10px}.legal-body h2{font-size:1.05rem;color:var(--dragon-gold);margin:18px 0 6px}.legal-body h3{font-size:.98rem;color:#fcd34d;margin:14px 0 4px}.legal-body p{margin:6px 0}.legal-body ul{margin:6px 0 6px 1.2em;padding:0}.legal-body li{margin:3px 0}.legal-body a{color:#fcd34d;text-decoration:underline}.legal-body code{background:#00000059;padding:1px 5px;border-radius:4px;font-size:.85em}.legal-body hr{border:none;border-top:1px solid rgba(255,255,255,.12);margin:14px 0}.modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#000000d9;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:10000;animation:fadeIn .3s ease}.close-btn:hover{background:#f003;color:#fff;transform:rotate(90deg)}.dragon-svg{width:100%;height:100%;filter:drop-shadow(0 0 15px rgba(124,58,237,.3));transition:all .5s ease}.dragon-active{filter:drop-shadow(0 0 25px rgba(251,191,36,.6));animation:dragonPulse 3s infinite ease-in-out}@keyframes dragonPulse{0%{transform:scale(1);filter:drop-shadow(0 0 25px rgba(251,191,36,.6))}50%{transform:scale(1.05);filter:drop-shadow(0 0 35px rgba(251,191,36,.8))}to{transform:scale(1);filter:drop-shadow(0 0 25px rgba(251,191,36,.6))}}@keyframes popIn{0%{transform:scale(.9);opacity:0}to{transform:scale(1);opacity:1}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes bounceAnimation{0%,to{transform:translateY(0)}50%{transform:translateY(-15px)}}@keyframes floatAnimation{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(-20px) rotate(5deg)}}@keyframes victoryPulse{0%,to{transform:scale(1);opacity:.6}50%{transform:scale(1.1);opacity:1}}@media(orientation:portrait)and (max-width:768px){.mission-complete-title{font-size:5vmin!important;margin-bottom:1vmin!important}.mission-info-container{padding:2vmin!important;margin-bottom:1vmin!important}.mission-info-container h2{font-size:3.5vmin!important;margin-bottom:.5vmin!important}.mission-info-container p{font-size:2.2vmin!important}.celebration-scene{gap:3vmin!important;margin:1vmin 0!important}.celebration-glow{width:30vmin!important;height:25vmin!important}.celebration-cat{width:12vmin!important;height:12vmin!important}.celebration-dragon{width:18vmin!important;height:18vmin!important}.mission-continue-btn{font-size:2.5vmin!important;padding:2vmin 4vmin!important;margin-top:1vmin!important}}@media(orientation:landscape){.mission-complete-title{font-size:7vmin!important;margin-bottom:1vmin!important}.mission-info-container{padding:1.5vmin 3vmin!important;margin-bottom:1vmin!important}.mission-info-container h2{font-size:5vmin!important}.mission-info-container p{font-size:3vmin!important}.celebration-scene{gap:8vmin!important;margin:2vmin 0!important}.celebration-glow{width:50vmin!important;height:40vmin!important}.celebration-cat{width:25vmin!important;height:25vmin!important}.celebration-dragon{width:35vmin!important;height:35vmin!important}.mission-continue-btn{font-size:3.5vmin!important;padding:2.5vmin 6vmin!important}}.mission-start-layout{text-align:center;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:space-evenly;width:100%;padding:2vmin;box-sizing:border-box}.mission-start-left{display:flex;flex-direction:column;align-items:center;gap:2vmin}.mission-start-right{display:flex;justify-content:center}.mission-start-title{color:var(--dragon-gold);font-size:6vmin;text-shadow:0 0 20px rgba(251,191,36,.6);animation:slideInDown .6s ease;margin-bottom:var(--space-sm)}.target-info-desktop{display:none}.target-info h2{color:var(--moonlight-silver);font-size:5vmin;margin-bottom:var(--space-xs)}.target-info p{color:var(--dragon-gold);font-size:4vmin;font-weight:700}.mission-start-btn{font-size:4vmin;padding:2.5vmin 5vmin;animation:fadeInUp .8s ease .6s backwards,pulseGlow 2s ease-in-out 1.5s infinite;margin-top:3vmin;margin-bottom:2vmin}.mission-target-container{position:relative;background:linear-gradient(135deg,#4c1d9566,#1e3a8a66);padding:var(--space-md);border-radius:var(--radius-lg);border:2px solid var(--moonlight-silver);box-shadow:0 0 40px #4c1d9580;animation:zoomIn .8s ease .2s backwards;display:flex;flex-direction:column;align-items:center;gap:var(--space-sm)}#cage-container{position:relative;display:inline-block;width:25vmin;height:25vmin;margin:0 auto}.target-dragon{width:100%;height:100%;filter:grayscale(50%) brightness(.7);animation:dragonShake 3s ease infinite}.cage-bars-container{position:absolute;top:0;left:50%;transform:translate(-50%);width:30vmin;height:100%;pointer-events:none;z-index:3}.cage-lock{position:absolute;bottom:-1vmin;left:50%;transform:translate(-50%);font-size:5vmin;filter:drop-shadow(0 0 10px rgba(251,191,36,.8));z-index:4}@keyframes floatAnimation{0%,to{transform:translateY(0)}50%{transform:translateY(-15px)}}@keyframes dragonShake{0%,to{transform:translate(0)}25%{transform:translate(-3px)}75%{transform:translate(3px)}}@keyframes slideInDown{0%{transform:translateY(-50px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes zoomIn{0%{transform:scale(.8);opacity:0}to{transform:scale(1);opacity:1}}@keyframes fadeInUp{0%{transform:translateY(30px);opacity:0}to{transform:translateY(0);opacity:1}}@media(orientation:portrait)and (max-width:768px){.mission-start-title{font-size:7vmin}#cage-container{width:40vmin;height:40vmin}.cage-bars-container{width:48vmin}.cage-lock{font-size:8vmin}.target-info h2{font-size:5vmin}.target-info p{font-size:4vmin}.mission-start-btn{width:80%;padding:4vmin;font-size:4.5vmin}}@media(orientation:landscape){.mission-start-layout{flex-direction:row;justify-content:space-around;align-items:center;padding:4vmin 6vmin}.mission-start-left{width:45%;align-items:flex-start;text-align:left;gap:2vmin}.mission-start-right{width:45%;display:flex;justify-content:center;align-items:center}.mission-start-title{font-size:clamp(1.8rem,8vmin,3.5rem);margin-bottom:0}.target-info-mobile{display:none}.target-info-desktop{display:block}.target-info h2{font-size:clamp(1.4rem,6vmin,2.5rem)}.target-info p{font-size:clamp(1rem,4vmin,1.6rem);margin-top:1vmin}.mission-start-btn{font-size:clamp(1rem,4vmin,1.6rem);padding:clamp(.6rem,2.5vmin,1.2rem) clamp(1.2rem,5vmin,2.4rem);margin-top:2vmin}.mission-target-container{width:100%;max-width:420px;height:auto;max-height:min(70dvh,480px);justify-content:center;box-sizing:border-box}.mission-target-container #cage-container{width:min(45dvh,280px)!important;height:min(45dvh,280px)!important}.mission-target-container .cage-bars-container{width:min(40dvh,240px)!important}.mission-target-container .cage-lock{font-size:clamp(2rem,8dvh,4rem)!important}}.phase-transition-bg{position:fixed;top:0;left:0;width:100%;height:100%;background-image:url(/phase-transition-bg.png);background-size:cover;background-position:center;z-index:0;animation:backgroundPulse 3s ease-in-out infinite}@keyframes toolFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-15px)}}.phase-cat-glow{width:35vmin;height:35vmin}.phase-cat{width:30vmin;height:30vmin}.phase-message{font-size:5vmin}.phase-subtitle{font-size:4vmin}.phase-continue{font-size:3vmin;margin-top:5vmin}@media(orientation:landscape){.phase-layout{flex-direction:row;gap:10vmin}.phase-text{align-items:flex-start;text-align:left}.phase-cat-glow{width:45vmin;height:45vmin}.phase-cat{width:40vmin;height:40vmin}.phase-message{font-size:7.5vmin;margin-bottom:2vmin;margin-top:0}.phase-subtitle{font-size:5vmin;margin-top:0}.phase-continue{font-size:3.5vmin;margin-top:3vmin}}@media(orientation:portrait){.phase-layout{flex-direction:column;gap:5vmin}.phase-text{align-items:center;text-align:center}.phase-message{margin-top:2vmin;margin-bottom:0}}@media(orientation:portrait)and (max-width:768px){.phase-tools-row{gap:2rem!important;margin-bottom:2vmin!important}.phase-tools-row>div{font-size:3.5rem!important}.phase-cat-glow{width:180px!important;height:180px!important}.phase-cat{width:150px!important;height:150px!important}.phase-emoji{font-size:3.5rem!important;margin-bottom:1vmin!important}.phase-message{font-size:2rem!important}.phase-subtitle{font-size:1.5rem!important;margin-top:.5vmin!important}.phase-continue{font-size:.85rem!important;margin-top:2vmin!important}}.victory-background{position:fixed;top:0;left:0;width:100%;height:100%;background-image:url(/victory-bg.png);background-size:cover;background-position:center;z-index:0;animation:victoryPulse 3s ease-in-out infinite}@keyframes victoryPulse{0%,to{opacity:.95;filter:brightness(1)}50%{opacity:1;filter:brightness(1.1)}}@keyframes pulsateGlow{0%,to{transform:scale(1);opacity:.6}50%{transform:scale(1.15);opacity:1}}.battlefield-background{position:fixed;top:0;left:0;width:100%;height:100%;background-image:url(/battlefield-bg.png);background-size:cover;background-position:center;z-index:0}@keyframes bossCatReady{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes bossEntrance{0%{transform:scale(.5);opacity:0}to{transform:scale(1);opacity:1}}@keyframes bossBreathing{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@keyframes keyDrop{0%{top:-10%;opacity:0;transform:translate(-50%,-50%) rotate(0)}50%{opacity:1}to{top:20%;opacity:1;transform:translate(-50%,-50%) rotate(360deg)}}@keyframes keySpin{0%,to{transform:translate(-50%,-50%) rotateY(0)}50%{transform:translate(-50%,-50%) rotateY(180deg)}}.boss-health-bar{width:100%;height:100%;background:linear-gradient(90deg,var(--nemesis-red),#FF6B6B);transition:width .8s ease}.boss-cat-char{position:absolute;left:10%;bottom:15%;width:20vmin;height:20vmin;animation:bossCatReady .8s ease;z-index:10}.boss-tools-row{position:absolute;left:10%;bottom:40%;display:flex;gap:1vmin;animation:fadeIn 1s ease;z-index:11}.boss-tool{font-size:5vmin;filter:drop-shadow(0 0 10px rgba(251,191,36,.8))}.boss-monster-char{position:absolute;right:5%;bottom:15%;width:45vmin;height:45vmin;animation:bossEntrance 1.5s ease,bossBreathing 3s ease 1.5s infinite;transform-origin:bottom center}.boss-key-drop{position:absolute;left:50%;top:20%;transform:translate(-50%,-50%);font-size:8vmin;opacity:0;filter:drop-shadow(0 0 30px rgba(251,191,36,1))}.boss-continue-prompt{position:absolute;bottom:2vmin;left:0;right:0;text-align:center;font-size:3vmin;opacity:0;color:var(--moonlight-silver);z-index:20}@media(orientation:landscape){.boss-cat-char{left:5%!important;bottom:10%!important;width:25vmin!important;height:25vmin!important;transform:scaleX(1)!important;z-index:20!important}.boss-monster-char{right:5%!important;left:auto!important;bottom:5%!important;width:45vmin!important;height:45vmin!important;z-index:5!important}.boss-tools-row{left:8%;bottom:45%;gap:2vmin}.boss-tool{font-size:6vmin}.boss-key-drop{font-size:clamp(4rem,15vmin,8rem)}.boss-continue-prompt{font-size:clamp(1rem,4vmin,1.75rem);bottom:4vmin}@keyframes magicFly{0%{left:25%;opacity:1;transform:translateY(-50%) scale(.5)}to{left:65%;opacity:0;transform:translateY(-50%) scale(1.5)}}@keyframes arrowFly{0%{left:25%;opacity:1}to{left:65%;opacity:0}}@keyframes swordSlash{0%{left:20%;transform:translateY(-50%) rotate(0);opacity:1}50%{left:45%;transform:translateY(-50%) rotate(360deg) scale(2)}to{left:65%;transform:translateY(-50%) rotate(720deg);opacity:0}}}@media(max-width:768px){#boss-cat{width:15vmin!important;height:15vmin!important;left:2vmin!important}#boss-monster{width:30vmin!important;height:30vmin!important;right:2vmin!important}#boss-tools{left:5vmin!important;bottom:35vmin!important;gap:1vmin!important}#boss-tools div{font-size:5vmin!important}}@keyframes magicFly{0%{left:15%;opacity:1}to{left:70%;opacity:0}}@keyframes arrowFly{0%{left:15%;opacity:1}to{left:75%;opacity:0}}@keyframes swordSlash{0%{left:15%;transform:translateY(-50%) rotate(0);opacity:1}50%{left:50%;transform:translateY(-50%) rotate(360deg) scale(1.5)}to{left:70%;transform:translateY(-50%) rotate(720deg);opacity:0}}@keyframes impactBurst{0%{transform:translateY(-50%) scale(0);opacity:1}50%{transform:translateY(-50%) scale(1.5)}to{transform:translateY(-50%) scale(.5);opacity:0}}@media(max-width:768px)and (orientation:landscape){#boss-cat{width:22vmin!important;height:22vmin!important;left:3vmin!important}#boss-monster{width:38vmin!important;height:38vmin!important;right:3vmin!important;left:auto!important}#boss-tools{left:5vmin!important;bottom:30vmin!important;gap:1vmin!important}#boss-tools div{font-size:5vmin!important}}@media(orientation:portrait)and (max-width:768px){.math-challenge-card{padding:var(--space-sm)!important}.math-context{padding:1vmin!important;margin-bottom:1vmin!important}.math-context-text{font-size:2.5vmin!important}.math-instruction{font-size:2.8vmin!important;margin-bottom:1vmin!important}.math-problem-display{font-size:8vmin!important;margin:1vmin 0!important}.math-answers-area{margin-bottom:1vmin!important}.math-answers-area .answers-grid{gap:10px!important;padding:0 1vmin!important}.math-answers-area .answer-btn{font-size:4vmin!important;padding:2.5vmin!important;min-height:12vmin!important}.typed-answer-input{font-size:5vmin!important;padding:2vmin!important;width:70%!important}#submit-answer-btn{font-size:3.5vmin!important;padding:1.5vmin 3vmin!important}}@media(orientation:landscape){.math-challenge-card{padding:10px!important;flex-direction:row!important;align-items:center;gap:20px}.math-context{display:none}.math-problem-area{flex:1.2!important;justify-content:center}.math-answers-area{flex:1;margin-bottom:0!important}.math-problem-display{font-size:clamp(2.5rem,12vmin,6rem)!important;margin:0!important;white-space:nowrap;line-height:1}.math-instruction{font-size:clamp(1rem,3.5vmin,1.5rem)!important;margin-bottom:10px!important}.answers-grid{gap:8px!important}.answer-btn{padding:10px!important;min-height:40px!important;font-size:1.5rem!important}.typed-answer-input{font-size:1.5rem!important;padding:10px!important}.typed-input-container{justify-content:center;gap:10px!important}.numpad-grid{grid-template-columns:repeat(4,1fr)!important;gap:6px!important;margin-top:0!important;max-width:100%!important}.numpad-btn{font-size:clamp(1rem,3vmin,1.5rem)!important;padding:8px!important}#submit-answer-btn{padding:1vmin 3vmin!important;font-size:1.5rem!important;margin-top:0!important}}.tool-unlock-background{position:fixed;top:0;left:0;width:100%;height:100%;background-image:url(/tool-unlock-bg.png);background-size:cover;background-position:center;z-index:0;animation:backgroundPulse 3s ease-in-out infinite}.tool-unlock-background:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:radial-gradient(circle at center,rgba(251,191,36,.1) 0%,transparent 60%);animation:pulseOverlay 2s ease-in-out infinite}@keyframes backgroundPulse{0%,to{opacity:.9;transform:scale(1)}50%{opacity:1;transform:scale(1.02)}}@keyframes pulseOverlay{0%,to{opacity:.3}50%{opacity:.6}}@keyframes pulsateGlow{0%,to{transform:scale(1);opacity:.6}50%{transform:scale(1.1);opacity:1}}@keyframes toolFlyIn{0%{transform:translate(50%,-300px) scale(.5) rotate(-45deg);opacity:0;filter:drop-shadow(0 0 0px rgba(251,191,36,0))}60%{transform:translate(50%,-60%) scale(1.3) rotate(15deg);opacity:1}75%{transform:translate(50%,-45%) scale(.9) rotate(-5deg)}to{transform:translate(50%,-50%) scale(1) rotate(0);opacity:1;filter:drop-shadow(0 0 30px rgba(251,191,36,.8))}}.sparkle-container{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:100}@keyframes pulse{0%,to{opacity:.7}50%{opacity:1}}.tool-unlock-cat-glow{width:35vmin;height:35vmin}.tool-unlock-cat{width:30vmin;height:30vmin}.tool-unlock-cat-tool{font-size:8vmin;right:15%}.tool-unlock-title{font-size:5vmin}.tool-unlock-subtitle{font-size:3vmin}.tool-unlock-continue{font-size:2.5vmin}@media(orientation:landscape){.tool-unlock-layout{flex-direction:row;gap:10vmin;padding:0 15vmin}.tool-unlock-text{align-items:flex-start;text-align:left}.tool-unlock-cat-glow{width:45vmin;height:45vmin}.tool-unlock-cat{width:40vmin;height:40vmin}.tool-unlock-cat-tool{font-size:11vmin;right:10%}.tool-unlock-title{font-size:7.5vmin;margin-bottom:2vmin}.tool-unlock-subtitle{font-size:4vmin}.tool-unlock-continue{font-size:3vmin}}@media(orientation:portrait){.tool-unlock-layout{flex-direction:column;gap:5vmin;justify-content:space-evenly}.tool-unlock-text{align-items:center;text-align:center}}@media(orientation:portrait)and (max-width:768px){.tool-unlock-cat-glow{width:25vmin!important;height:25vmin!important}.tool-unlock-cat{width:20vmin!important;height:20vmin!important}.tool-unlock-cat-tool{font-size:6vmin!important}.tool-unlock-title{font-size:4vmin!important;margin-top:2vmin!important}.tool-unlock-subtitle{font-size:2.5vmin!important;margin-top:1vmin!important}.tool-unlock-continue{font-size:2vmin!important;margin-top:2vmin!important}.sparkle-container div{font-size:1.5rem!important}}.cat-profile-layout{display:flex;flex-direction:column;align-items:center}.cat-avatar{display:inline-block;width:200px;height:200px;border-radius:50%;overflow:hidden;animation:float 3s ease-in-out infinite;background:radial-gradient(circle,#ffffff26,#0000 70%);margin-bottom:var(--space-md)}.cat-profile-right{text-align:center}@media(orientation:landscape)and (max-height:600px),(min-width:600px){.cat-profile-layout{flex-direction:row;align-items:center;gap:20px;text-align:left}.cat-avatar{width:150px;height:150px;margin-bottom:0}.cat-profile-right{text-align:left;flex:1;max-height:70dvh;overflow-y:auto;padding-right:5px}}.is-shaking{animation:shake .5s ease!important}.is-correct{border-color:var(--success-glow)!important;background:#10b9814d!important}.is-incorrect{border-color:var(--nemesis-red)!important;background:#dc26264d!important}.sync-toast{position:fixed;top:70px;right:15px;padding:10px 20px;border-radius:var(--radius-full);font-family:var(--font-main);font-size:2.5vmin;font-weight:600;letter-spacing:.5px;text-shadow:0 1px 2px rgba(0,0,0,.3);border:2px solid rgba(255,255,255,.15);z-index:9999;opacity:0;transform:translateY(-8px);transition:opacity .3s ease,transform .3s ease;pointer-events:none;box-shadow:var(--shadow-card)}.sync-toast.visible{opacity:1;transform:translateY(0)}.sync-toast--pending{background:linear-gradient(135deg,var(--villain-purple),var(--deep-purple));color:var(--moonlight-silver)}.sync-toast--saved{background:linear-gradient(135deg,var(--success-glow),#059669);color:#fff}.sync-toast--failed{background:linear-gradient(135deg,var(--nemesis-red),#B91C1C);color:#fff}@media(orientation:landscape)and (max-height:500px){.cat-selection-title{font-size:4vmin!important}.carousel-card{padding:8px!important;min-width:160px;max-width:200px}.carousel-card-avatar{width:70px!important;height:70px!important;margin-bottom:6px!important}.carousel-card-title{font-size:1rem!important;margin:0!important}.carousel-card-subtitle{font-size:.75rem!important;margin:2px 0 6px!important}.carousel-card-desc{min-height:24px!important;font-size:.65rem!important;padding:4px!important}.cat-action-buttons .btn{padding:8px!important;font-size:1rem!important}}
