@keyframes skyBreathe{0%{filter:saturate(1) brightness(1)}to{filter:saturate(1.18) brightness(1.05)}}@keyframes auroraShift{0%{transform:translateX(0) translateY(0) scale(1) rotate(0deg);opacity:.15}50%{transform:translateX(8%) translateY(-3%) scale(1.1) rotate(2deg);opacity:.28}to{transform:translateX(-5%) translateY(2%) scale(.95) rotate(-1deg);opacity:.15}}@keyframes logoPulse{0%{text-shadow:0 0 35px #fc0,0 0 70px #f60,0 0 120px #fff,0 10px 40px rgba(0,0,0,.5);transform:translateX(-50%) scale(.98)}to{text-shadow:0 0 50px #fd3,0 0 100px #f80,0 0 180px #fff,0 15px 50px rgba(0,0,0,.3);transform:translateX(-50%) scale(1.02)}}@keyframes fogDrift{0%{transform:translateX(0)}to{transform:translateX(-50%)}}@keyframes blink{0%,95%,98%,to{transform:scaleY(1)}96.5%{transform:scaleY(.1)}}@keyframes wLegL{0%,to{transform:rotate(-24deg)}50%{transform:rotate(24deg)}}@keyframes wLegR{0%,to{transform:rotate(24deg)}50%{transform:rotate(-24deg)}}@keyframes wArmL{0%,to{transform:rotate(32deg)}50%{transform:rotate(-32deg)}}@keyframes wArmR{0%,to{transform:rotate(-32deg)}50%{transform:rotate(32deg)}}@keyframes wBody{0%,50%,to{transform:translateX(-50%) translateY(0) scaleY(1)}25%,75%{transform:translateX(-50%) translateY(calc(-3px*var(--char-scale))) scaleY(.98)}}@keyframes wHead{0%,50%,to{transform:translateX(-50%) translateY(0) rotate(0deg)}25%,75%{transform:translateX(-50%) translateY(calc(-2.5px*var(--char-scale))) rotate(1.5deg)}}@keyframes wScarfTail{0%,to{transform:rotate(10deg)}50%{transform:rotate(40deg)}}@keyframes wShadow{0%,50%,to{transform:translateX(-50%) scaleX(1);opacity:.8}25%,75%{transform:translateX(-50%) scaleX(.85);opacity:.4}}@keyframes iBody{0%,to{transform:translateX(-50%) translateY(0) scaleY(1)}50%{transform:translateX(-50%) translateY(calc(-1px*var(--char-scale))) scaleY(1.02)}}@keyframes iHead{0%,to{transform:translateX(-50%) translateY(0) rotate(0deg)}50%{transform:translateX(-50%) translateY(calc(-2px*var(--char-scale))) rotate(.5deg)}}@keyframes iArmL{0%,to{transform:rotate(3deg)}50%{transform:rotate(-3deg)}}@keyframes iArmR{0%,to{transform:rotate(-3deg)}50%{transform:rotate(3deg)}}@keyframes iScarfTail{0%,to{transform:rotate(5deg)}50%{transform:rotate(18deg)}}@keyframes charJumpAction{0%{bottom:13.5%;transform:translateX(-50%) scale(1)}40%{bottom:38%;transform:translateX(-50%) scale(1.15) rotate(6deg);filter:brightness(1.2)}to{bottom:12%;transform:translateX(-50%) scale(.6) translateY(40px);opacity:0;filter:brightness(0)}}@keyframes signBob{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes arrowPulse{0%,to{opacity:.4;transform:scale(.95)}50%{opacity:1;transform:scale(1.2)}}@keyframes btnPulseGlow{0%,to{box-shadow:0 0 40px rgba(255,213,0,.5),0 0 80px rgba(123,47,255,.55),inset 0 2px 5px rgba(255,255,255,.3)}50%{box-shadow:0 0 55px rgba(255,213,0,.7),0 0 110px rgba(123,47,255,.7),inset 0 2px 5px rgba(255,255,255,.4)}}@keyframes shootAcross{0%{opacity:0;transform:rotate(var(--shoot-angle)) translateX(0) scale(.6)}10%{opacity:1;transform:rotate(var(--shoot-angle)) translateX(6%) scale(1)}82%{opacity:.9}to{opacity:0;transform:rotate(var(--shoot-angle)) translateX(var(--shoot-dist)) scale(.85)}}@keyframes curtainTop{to{transform:translateY(-100%) scaleY(.6)}}@keyframes curtainBottom{to{transform:translateY(100%) scaleY(.6)}}@keyframes curtainOut{to{opacity:0;visibility:hidden}}@keyframes introLogoPop{0%{opacity:0;transform:scale(.7) translateY(20px);filter:blur(8px)}60%{opacity:1;transform:scale(1.08) translateY(0);filter:blur(0)}to{opacity:1;transform:scale(1)}}@keyframes introLogoFade{to{opacity:0}}@keyframes skipBtnIn{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}*{margin:0;padding:0;box-sizing:border-box}:root{--char-scale:1;--sign-scale:1;--ribbon-font:clamp(18px, 4vw, 40px);--progress-height:4px;--accent-gold:#ffd500;--accent-gold-soft:#ffe259;--accent-purple:#7b2fff;--accent-purple-light:#c084fc}#scene,body{overflow:hidden}body{font-family:"Segoe UI",Tahoma,Geneva,Verdana,sans-serif;background:#000;user-select:none;touch-action:pan-x}#scene{position:fixed;inset:0;background-color:#010105}#starCanvas,.sky{position:absolute;inset:0}.sky{background:radial-gradient(ellipse at 50% 120%,#241a3d 0,transparent 65%),radial-gradient(ellipse at 75% 8%,rgba(255,213,0,.07),transparent 55%),radial-gradient(ellipse at 20% 15%,rgba(192,132,252,.08),transparent 55%),linear-gradient(to bottom,#030108 0,#050310 15%,#0d0a22 35%,#1a1038 55%,#2a1650 75%,#331a5c 100%);z-index:0;animation:skyBreathe 26s ease-in-out infinite alternate}.sky-dawn{inset:0;background:linear-gradient(to bottom,rgba(60,110,200,.4)0,rgba(200,100,80,.5) 40%,rgba(255,170,80,.7) 65%,rgba(255,230,150,.9) 100%);z-index:1;opacity:0;mix-blend-mode:color-dodge;transition:opacity .3s ease}#starCanvas{z-index:2;mix-blend-mode:screen}#worldContainer,.aurora,.sky-dawn{position:absolute;pointer-events:none}.aurora{width:250%;height:55%;top:-10%;left:-75%;z-index:3;opacity:.18;background:radial-gradient(ellipse 65% 45%at 30% 70%,rgba(255,213,0,.28)0,transparent 70%),radial-gradient(ellipse 55% 35%at 70% 60%,rgba(123,47,255,.3)0,transparent 70%),radial-gradient(ellipse 45% 30%at 50% 80%,rgba(192,132,252,.22)0,transparent 70%);filter:blur(70px) saturate(1.6);animation:auroraShift 22s cubic-bezier(.4,0,.6,1) infinite alternate}.moon,.sun{position:absolute;border-radius:50%;z-index:4}.moon{top:8%;right:12%;width:90px;height:90px;background:radial-gradient(circle at 35% 35%,#fff 0,#fdf5d3 20%,#e8d58c 50%,#b89b42 85%,#8a7024 100%);box-shadow:0 0 50px rgba(255,225,90,.45),0 0 140px rgba(255,213,0,.22),0 0 250px rgba(192,132,252,.14),inset -16px -16px 30px rgba(0,0,0,.6),inset 4px 4px 10px rgba(255,255,255,.8);transition:top .3s ease,opacity .3s ease}.fog::after,.moon::after{content:"";position:absolute}.moon::after{inset:0;border-radius:50%;background:radial-gradient(circle at 30% 25%,rgba(0,0,0,.08)0,transparent 15%),radial-gradient(circle at 60% 70%,rgba(0,0,0,.12)0,transparent 20%),radial-gradient(circle at 75% 40%,rgba(0,0,0,.06)0,transparent 12%);box-shadow:inset 0 0 20px rgba(255,255,255,.2)}.sun{bottom:-30%;left:50%;transform:translateX(-50%);width:130px;height:130px;background:radial-gradient(circle,#fff 5%,#fff1c4 25%,#ffad42 60%,#e64500);box-shadow:0 0 80px rgba(255,220,120,.8),0 0 180px rgba(255,160,60,.5),0 0 350px rgba(255,90,20,.3),0-50px 500px rgba(255,50,0,.15);justify-content:center;color:transparent;font-size:0;font-weight:900;transition:bottom .2s linear,all 2.2s cubic-bezier(.2,.8,.3,1)}.sun.show-logo{bottom:50%;width:400px;height:120px;background:0 0;border-radius:0;box-shadow:none;color:#fff;font-size:80px;letter-spacing:.25em;text-shadow:0 0 40px #fc0,0 0 80px #f60,0 0 150px #fff;animation:logoPulse 4s cubic-bezier(.4,0,.6,1) infinite alternate}#worldContainer{inset:0;z-index:10;overflow:hidden}#ribbonScroll,#storyRibbon,.sun{display:flex;align-items:center}#ribbonScroll{position:absolute;top:36%;width:100%;transition:transform .1s linear;will-change:transform}#storyRibbon{white-space:nowrap}.story-word{font-size:var(--ribbon-font);font-weight:800;letter-spacing:.05em;padding:0 16px;opacity:0;transform:translateY(20px) scale(.95);transition:opacity .65s cubic-bezier(.2,.8,.2,1),transform .65s cubic-bezier(.2,.8,.2,1),filter .65s ease;text-shadow:0 0 25px currentColor,0 0 50px currentColor,0 4px 8px rgba(0,0,0,.9);will-change:opacity,transform,filter}.story-word.rtl-word{font-family:"Segoe UI",Tahoma,Arial,sans-serif;letter-spacing:0}.story-word.visible{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}.story-word.passed{opacity:.1;transform:translateY(-12px) scale(1.05);filter:blur(4px)}.story-word.color-0{color:#ffe259}.story-word.color-1{color:#e8ceff}.story-word.color-2{color:#ffd500}.story-word.color-3{color:#d8b4fe}.story-word.color-4{color:#fff2c2}.story-word.color-5{color:#c084fc}.story-sep{width:8px;height:8px;border-radius:50%;background:rgba(255,255,255,.4);margin:0 36px;opacity:.5;flex-shrink:0;box-shadow:0 0 15px rgba(255,255,255,.6),0 0 30px rgba(255,255,255,.3)}#mountainCanvas,.fog{bottom:0;left:0;width:100%;height:100%;z-index:12}.fog{height:50%;background:radial-gradient(ellipse at 50% 100%,rgba(180,210,255,.2),transparent 75%),linear-gradient(to top,rgba(160,190,255,.15),transparent);filter:blur(25px);z-index:15;opacity:.75}.fog::after{bottom:0;width:200%;height:100%;background:repeating-radial-gradient(ellipse at 50% 100%,rgba(255,255,255,.03)0,transparent 15%,rgba(255,255,255,.01) 30%);animation:fogDrift 40s linear infinite}#mountainCanvas,#treeCanvas,.fog,.vignette,.vignette::after{position:absolute;pointer-events:none}#treeCanvas{bottom:0;left:0;width:100%;height:100%;z-index:22}.vignette{position:fixed;inset:0;background:radial-gradient(ellipse at center,transparent 40%,rgba(2,3,8,.85) 100%);z-index:28;transition:opacity .4s ease;mix-blend-mode:multiply}.vignette::after{content:"";inset:0;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)' opacity='0.06'/%3E%3C/svg%3E")}#character,.c-shadow{position:absolute;left:50%;transform:translateX(-50%)}#character{z-index:30;bottom:13.5%;width:calc(58px*var(--char-scale));height:calc(105px*var(--char-scale));pointer-events:none;filter:drop-shadow(0 6px 10px rgba(0,0,0,.55))}.c-shadow{bottom:-6px;width:calc(46px*var(--char-scale));height:calc(14px*var(--char-scale));background:radial-gradient(ellipse,rgba(0,0,0,.8)0,rgba(0,0,0,.4) 40%,transparent 75%);border-radius:50%;filter:blur(2.5px);transition:opacity .3s,transform .3s}.c-leg,.c-legs{position:absolute;bottom:0}.c-legs{left:50%;transform:translateX(-50%);width:calc(32px*var(--char-scale));height:calc(34px*var(--char-scale))}.c-leg{width:calc(12px*var(--char-scale));height:calc(32px*var(--char-scale));border-radius:6px 6px 4px 4px;transform-origin:top center;outline:1.4px solid rgba(8,6,4,.75);outline-offset:-.5px}.c-leg-l{left:1px;background:linear-gradient(175deg,#2f5aa0 0,#2f5aa0 45%,#0d1c3c 46%,#0d1c3c 100%)}.c-leg-r{right:1px;background:linear-gradient(185deg,#2f5aa0 0,#2f5aa0 45%,#0d1c3c 46%,#0d1c3c 100%)}.c-foot{position:absolute;bottom:-4px;width:calc(15px*var(--char-scale));height:calc(8px*var(--char-scale));background:linear-gradient(to right,#161616,#3a3a3a 50%,#0a0a0a 51%);border-radius:6px 7px 4px 4px;box-shadow:0 3px 5px rgba(0,0,0,.8);outline:1.2px solid rgba(0,0,0,.7);outline-offset:-.5px}.c-leg-l .c-foot{left:-2px}.c-leg-r .c-foot{right:-2px}.c-torso{position:absolute;bottom:calc(30px*var(--char-scale));left:50%;transform:translateX(-50%);width:calc(28px*var(--char-scale));height:calc(38px*var(--char-scale));transform-origin:bottom center}.c-body{position:absolute;inset:0;background:linear-gradient(175deg,#7ec2ff 0,#7ec2ff 32%,#2f67c6 34%,#2f67c6 68%,#122960 70%,#122960 100%);border-radius:12px 12px 10px 10px;box-shadow:0 8px 18px rgba(10,20,40,.8);outline:1.6px solid rgba(6,10,25,.85);outline-offset:-1px;transition:background .4s ease}.c-body-shine{position:absolute;top:4px;left:4px;width:calc(9px*var(--char-scale));height:calc(16px*var(--char-scale));background:rgba(255,255,255,.55);border-radius:4px;transform:rotate(-15deg)}.c-arm,.c-collar{position:absolute;outline-offset:-.5px}.c-collar{top:-4px;left:50%;transform:translateX(-50%);width:calc(18px*var(--char-scale));height:calc(9px*var(--char-scale));background:linear-gradient(to bottom,#fff,#fff 55%,#a9a9a9 56%,#a9a9a9 100%);border-radius:9px 9px 5px 5px;box-shadow:0 3px 5px rgba(0,0,0,.5);outline:1.2px solid rgba(0,0,0,.6);z-index:2}.c-arm{width:calc(10px*var(--char-scale));height:calc(30px*var(--char-scale));border-radius:5px;transform-origin:top center;background:linear-gradient(to bottom,#ffe6c2 0,#ffe6c2 45%,#d9a565 47%,#d9a565 100%);box-shadow:0 2px 5px rgba(0,0,0,.4);outline:1.3px solid rgba(30,15,5,.65)}.c-arm-l,.c-arm-r{bottom:calc(33px*var(--char-scale))}.c-arm-l{left:0;z-index:-1}.c-arm-r{right:0;z-index:5}.c-hand{bottom:-6px;left:50%;transform:translateX(-50%);width:calc(11px*var(--char-scale));height:calc(11px*var(--char-scale));background:radial-gradient(circle at 35% 35%,#fff3dd 0,#fff3dd 42%,#d9a565 45%,#d9a565 100%);border-radius:50% 50% 45% 45%;box-shadow:0 2px 5px rgba(0,0,0,.6);outline:1.2px solid rgba(30,15,5,.6)}.c-hand,.c-scarf,.c-scarf-tail{position:absolute;outline-offset:-.5px}.c-scarf{bottom:calc(65px*var(--char-scale));left:50%;transform:translateX(-50%);width:calc(34px*var(--char-scale));height:calc(12px*var(--char-scale));background:linear-gradient(to right,#7a0808,#d42222 25%,#f44 50%,#d42222 75%,#7a0808);border-radius:6px;box-shadow:0 4px 8px rgba(0,0,0,.7);outline:1.4px solid rgba(30,0,0,.7);z-index:6}.c-scarf-tail{top:8px;left:6px;width:calc(12px*var(--char-scale));height:calc(30px*var(--char-scale));background:linear-gradient(to bottom,#e83b3b 0,#e83b3b 50%,#7a0808 52%,#7a0808 100%);border-radius:4px;z-index:5;transform-origin:top center;box-shadow:3px 3px 6px rgba(0,0,0,.6);outline:1.2px solid rgba(30,0,0,.65)}#progressWrap,.c-head{left:50%;transform:translateX(-50%)}.c-hair,.c-head{position:absolute;outline-offset:-1px}.c-head{bottom:calc(72px*var(--char-scale));width:calc(32px*var(--char-scale));height:calc(34px*var(--char-scale));background:radial-gradient(circle at 32% 30%,#fff6e4 0,#fff6e4 30%,#f0c98d 32%,#f0c98d 70%,#cf9a5c 72%,#cf9a5c 100%);border-radius:50% 50% 46% 46%;box-shadow:0 5px 12px rgba(0,0,0,.6);outline:1.5px solid rgba(30,15,5,.7);z-index:4;transform-origin:bottom center}.c-hair{top:-6px;left:0;right:0;height:calc(19px*var(--char-scale));background:linear-gradient(165deg,#55401f 0,#55401f 55%,#1c1108 57%,#1c1108 100%);border-radius:18px 18px 0 0;outline:1.3px solid rgba(10,5,0,.7)}.c-hair-highlight{position:absolute;top:3px;left:5px;width:calc(10px*var(--char-scale));height:calc(5px*var(--char-scale));background:rgba(255,255,255,.35);border-radius:5px;transform:rotate(-10deg)}.c-eye{position:absolute;top:calc(14px*var(--char-scale));width:calc(6px*var(--char-scale));height:calc(8px*var(--char-scale));background:#120a04;border-radius:50%;animation:blink 4s infinite}.c-eye-l{left:calc(6px*var(--char-scale))}.c-eye-r{right:calc(6px*var(--char-scale))}.c-eye-shine{position:absolute;top:1.5px;left:1.5px;width:2.5px;height:2.5px;background:#fff;border-radius:50%;box-shadow:0 0 2px #fff}.char-walk .c-leg-l{animation:wLegL .32s cubic-bezier(.4,0,.2,1) infinite}.char-walk .c-leg-r{animation:wLegR .32s cubic-bezier(.4,0,.2,1) infinite}.char-walk .c-arm-l{animation:wArmL .32s cubic-bezier(.4,0,.2,1) infinite}.char-walk .c-arm-r{animation:wArmR .32s cubic-bezier(.4,0,.2,1) infinite}.char-walk .c-torso{animation:wBody .32s cubic-bezier(.4,0,.2,1) infinite}.char-walk .c-head{animation:wHead .32s cubic-bezier(.4,0,.2,1) infinite}.char-walk .c-scarf-tail{animation:wScarfTail .32s cubic-bezier(.4,0,.2,1) infinite}.char-walk .c-shadow{animation:wShadow .32s cubic-bezier(.4,0,.2,1) infinite}.char-idle .c-torso{animation:iBody 3.5s cubic-bezier(.4,0,.6,1) infinite}.char-idle .c-head{animation:iHead 3.5s cubic-bezier(.4,0,.6,1) infinite}.char-idle .c-arm-l{animation:iArmL 3.8s ease-in-out infinite}.char-idle .c-arm-r{animation:iArmR 4.1s ease-in-out infinite}.char-idle .c-scarf-tail{animation:iScarfTail 4s ease-in-out infinite}.char-jump{animation:charJumpAction .75s cubic-bezier(.4,0,.2,1) forwards!important}.sign{position:absolute;z-index:35;display:flex;flex-direction:column;align-items:center;animation:signBob 4s cubic-bezier(.4,0,.6,1) infinite;transition:filter .4s,transform .4s,opacity .5s;cursor:pointer}.sign:hover{filter:brightness(1.25)}.sign-left{left:clamp(10px,5vw,18%);bottom:14%}.sign-right{right:clamp(10px,5vw,18%);bottom:14%}.sign-post{width:calc(12px*var(--sign-scale));height:calc(100px*var(--sign-scale));border-radius:6px;background:repeating-linear-gradient(90deg,#3a2616 0,#5b3a22 3px,#4a2f1b 6px,#2a1b0f 9px);box-shadow:inset 2px 0 4px rgba(255,255,255,.2),inset -4px 0 8px rgba(0,0,0,.7),0 8px 12px rgba(0,0,0,.8)}.sign-board{position:relative;width:calc(175px*var(--sign-scale));padding:calc(12px*var(--sign-scale)) calc(8px*var(--sign-scale));border-radius:12px;text-align:center;margin-bottom:-4px;background:repeating-linear-gradient(0deg,#5a3a22 0,#6e4a2c 4px,#4b2f1b 8px,#7b5230 12px);border:2px solid rgba(255,230,160,.3);box-shadow:inset 0 4px 8px rgba(255,255,255,.2),inset 0-6px 14px rgba(0,0,0,.7),0 12px 24px rgba(0,0,0,.8),0 0 30px rgba(120,200,255,.08)}.sign-board::after,.sign-board::before{content:"";position:absolute;inset:0;border-radius:10px;pointer-events:none}.sign-board::before{background:repeating-linear-gradient(45deg,rgba(255,255,255,.04)0,rgba(255,255,255,.04) 2px,transparent 2px,transparent 6px)}.sign-board::after{box-shadow:inset 0 0 16px rgba(0,0,0,.8),inset 0 0 3px rgba(255,255,255,.3)}.sign-title{font-size:calc(20px*var(--sign-scale));font-weight:800;text-shadow:0 0 18px currentColor,0 2px 4px rgba(0,0,0,.8)}.sign-sub{font-size:calc(11px*var(--sign-scale));opacity:.85;color:#fff5da;letter-spacing:.05em}.sign-arrow{font-size:calc(24px*var(--sign-scale));display:block;animation:arrowPulse 1.6s ease-in-out infinite;text-shadow:0 0 10px currentColor}.sign-left .sign-title{color:#ffd500}.sign-right .sign-title{color:#c084fc}.sign-hint{position:absolute;bottom:-24px;font-size:calc(12px*var(--sign-scale));color:rgba(255,255,255,.6);letter-spacing:.1em;text-shadow:0 2px 4px rgba(0,0,0,.8)}#progressWrap{position:fixed;top:18px;width:min(500px,80vw);height:var(--progress-height);background:rgba(255,255,255,.1);border-radius:3px;z-index:200;opacity:0;transition:opacity .8s;box-shadow:inset 0 1px 3px rgba(0,0,0,.5),0 0 15px rgba(255,255,255,.05)}#progressBar{position:absolute;top:0;left:0;height:100%;width:0%;background:linear-gradient(to right,#ffd500,#7b2fff,#c084fc);border-radius:3px;transition:width .1s linear;box-shadow:0 0 12px rgba(255,213,0,.7),0 0 24px rgba(123,47,255,.6)}#progressWrap.rtl-mode #progressBar{left:auto;right:0;background:linear-gradient(to left,#ffd500,#7b2fff,#c084fc)}#continueBtn{position:fixed;bottom:18%;left:50%;transform:translateX(-50%) translateY(40px);padding:16px 50px;font-size:clamp(18px,3vw,24px);font-weight:800;letter-spacing:.1em;color:#fff;background:linear-gradient(135deg,rgba(255,180,0,.9),rgba(123,47,255,.88));border:1px solid rgba(255,213,0,.5);border-radius:50px;cursor:pointer;z-index:300;opacity:0;pointer-events:none;backdrop-filter:blur(8px);box-shadow:0 0 40px rgba(255,213,0,.5),0 0 80px rgba(123,47,255,.55),inset 0 2px 5px rgba(255,255,255,.3);transition:opacity .8s ease,transform .8s cubic-bezier(.2,.8,.2,1),box-shadow .4s,background .4s;text-shadow:0 2px 4px rgba(0,0,0,.5)}#continueBtn.show{opacity:1;pointer-events:auto;transform:translateX(-50%) translateY(0);animation:btnPulseGlow 2.6s ease-in-out infinite}#continueBtn:hover{transform:translateX(-50%) translateY(-5px) scale(1.02);box-shadow:0 0 60px rgba(255,213,0,.75),0 0 130px rgba(123,47,255,.75),inset 0 2px 5px rgba(255,255,255,.5);background:linear-gradient(135deg,rgba(255,197,40,.98),rgba(140,65,245,.98))}#keyHint,#mobileControls{position:fixed;left:50%;transform:translateX(-50%)}#keyHint{bottom:40px;color:rgba(255,255,255,.7);font-size:clamp(12px,2vw,14px);letter-spacing:.1em;z-index:100;opacity:0;transition:opacity 1s;text-shadow:0 2px 6px rgba(0,0,0,.9);white-space:nowrap}#keyHint.show{opacity:1}#mobileControls{bottom:28px;display:none;gap:42px;z-index:400}.m-btn{width:64px;height:64px;border-radius:50%;background:radial-gradient(circle,rgba(80,130,210,.8),rgba(50,90,170,.6));border:2px solid rgba(255,255,255,.3);color:#fff;font-size:28px;display:flex;align-items:center;justify-content:center;box-shadow:0 0 25px rgba(80,130,210,.7);touch-action:manipulation;backdrop-filter:blur(4px)}.m-btn:active{transform:scale(.85);box-shadow:0 0 15px rgba(80,130,210,.9)}@media (hover:none) and (pointer:coarse),(max-width:768px){#mobileControls{display:flex}#keyHint{bottom:100px}.sign-left,.sign-right{bottom:18%}}@media (max-width:480px){:root{--char-scale:0.85;--sign-scale:0.9;--ribbon-font:clamp(16px, 5vw, 28px);--progress-height:3px}#continueBtn{bottom:22%;padding:12px 32px}.sign-left{left:4%}.sign-right{right:4%}}#overlay{position:fixed;inset:0;background:#000;z-index:1000;pointer-events:none;opacity:0;transition:opacity 1.8s ease-in-out}#overlay.fade-in{opacity:1;pointer-events:all}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.enter-text{text-align:center;line-height:1.5}#techManifestToggle,.panel-close{cursor:pointer;font-weight:700;font-family:monospace}#techManifestToggle{position:fixed;top:18px;right:clamp(10px,4vw,24px);z-index:500;padding:8px 16px;font-size:13px;color:rgba(255,255,255,.6);background:rgba(15,23,42,.6);border:1px solid rgba(255,255,255,.15);border-radius:6px;backdrop-filter:blur(4px);transition:all .3s ease}#techManifestToggle:hover{color:#00ffa0;border-color:#00ffa0;box-shadow:0 0 15px rgba(0,255,160,.2)}#techPanel{position:fixed;inset:auto 24px 24px auto;width:min(420px,90vw);max-height:calc(100vh - 100px);background:rgba(5,7,16,.93);border:1px solid rgba(123,47,255,.3);border-radius:12px;z-index:600;padding:20px;overflow-y:auto;backdrop-filter:blur(12px);box-shadow:0 20px 50px rgba(0,0,0,.8),0 0 30px rgba(123,47,255,.1);transform:translateY(30px) scale(.95);opacity:0;pointer-events:none;transition:all .4s cubic-bezier(.2,.8,.2,1);color:#cbd5e1;font-size:13.5px;line-height:1.6}#techPanel.active{transform:translateY(0) scale(1);opacity:1;pointer-events:auto}.panel-close{float:left;color:#ef4444}.panel-close:hover{filter:brightness(1.3)}#techPanel h2{font-size:16px;color:#fff;margin-bottom:12px;font-family:monospace;letter-spacing:.05em;border-bottom:1px solid rgba(255,255,255,.1);padding-bottom:6px}#techPanel h3{font-size:14px;color:#00cfff;margin:14px 0 6px;font-family:monospace}#techPanel p{margin-bottom:10px;text-align:justify}#techPanel .lang-block{display:none}#techPanel .lang-block.show{display:block}@media (max-width:768px){#techManifestToggle{top:auto;bottom:28px;right:16px;left:auto;padding:14px;border-radius:50%;width:50px;height:50px;display:flex;align-items:center;justify-content:center}#techPanel{inset:auto 12px 90px 12px;width:calc(100vw - 24px)}}#mobileControls .m-btn{-webkit-tap-highlight-color:transparent}#mobileControls .m-btn,#techPanelClose{background:0 0;border:0;color:inherit;font:inherit;cursor:pointer;outline:0}#character,#fireflyCanvas,#starCanvas,.aurora,.shooting-star{will-change:transform,opacity}.shooting-star{position:absolute;top:0;left:0;width:3px;height:3px;border-radius:50%;background:#fff;z-index:3;pointer-events:none;box-shadow:0 0 6px 1px #fff,0 0 16px 4px rgba(255,213,0,.55);opacity:0}.shooting-star::after{content:"";position:absolute;top:50%;right:50%;width:90px;height:1.5px;background:linear-gradient(to left,rgba(255,255,255,.95),rgba(192,132,252,.35) 55%,transparent);transform:translateY(-50%);border-radius:2px}#introCurtain{position:fixed;inset:0;z-index:900;pointer-events:none;display:flex;align-items:center;justify-content:center;background:#000;animation:curtainOut 1.4s .55s cubic-bezier(.65,0,.35,1) forwards}#introCurtain::after,#introCurtain::before{content:"";position:absolute;left:0;width:100%;height:50%;background:radial-gradient(ellipse at 50% 50%,#120a24 0,#000 80%)}#introCurtain::before{top:0;transform-origin:top;animation:curtainTop 1.3s .5s cubic-bezier(.7,0,.3,1) forwards}#introCurtain::after{bottom:0;transform-origin:bottom;animation:curtainBottom 1.3s .5s cubic-bezier(.7,0,.3,1) forwards}#introLogo{position:relative;z-index:2;font-size:clamp(38px,9vw,92px);font-weight:900;letter-spacing:.3em;color:#fff;text-shadow:0 0 30px #ffd500,0 0 70px #7b2fff,0 0 140px #c084fc;opacity:0;animation:introLogoPop 1.1s .15s cubic-bezier(.2,.9,.25,1) forwards,introLogoFade .5s 1.35s ease forwards}#skipBtn{position:fixed;top:18px;left:clamp(10px,4vw,24px);z-index:950;display:flex;align-items:center;gap:6px;padding:9px 18px;font-family:"Segoe UI",Tahoma,sans-serif;font-size:13px;font-weight:700;letter-spacing:.08em;color:rgba(255,255,255,.85);background:rgba(15,10,30,.55);border:1px solid rgba(255,213,0,.35);border-radius:30px;cursor:pointer;backdrop-filter:blur(6px);-webkit-tap-highlight-color:transparent;transition:all .25s ease;opacity:0;animation:skipBtnIn .6s 1.6s ease forwards}#skipBtn:hover{color:#ffd500;border-color:#ffd500;box-shadow:0 0 18px rgba(255,213,0,.35),0 0 30px rgba(123,47,255,.25);transform:translateY(-1px)}#skipBtn svg{width:14px;height:14px;flex-shrink:0}@media (max-width:480px){#skipBtn{padding:7px 14px;font-size:11.5px;top:14px}}