:root{--primary-color: #3b82f6;--secondary-color: #8b5cf6;--background: #0f172a;--surface: #1e293b;--text-primary: #f1f5f9;--text-secondary: #94a3b8;--border-color: #334155;--success-color: #10b981;--warning-color: #f59e0b;--error-color: #ef4444;--transition-duration: .3s;--scene-transition: .5s}*{margin:0;padding:0;box-sizing:border-box}@font-face{font-family:"Inria Serif";font-display:swap;src:local("Inria Serif"),url(https://fonts.gstatic.com/s/inriaserif/v14/fC1lPYxPY3rXxEndZJAzFUjbLQc.woff2) format("woff2")}body{font-family:"Inria Serif",serif;background:var(--background);color:var(--text-primary);overflow:hidden;height:100vh;position:relative}#app{width:100%;height:100vh;display:flex;flex-direction:column}#scene-container{flex:1;position:relative;overflow:hidden;background:#101010}.scene{position:absolute;top:0;left:0;width:100%;height:100%;opacity:0;transition:none}.scene.active{opacity:1}.scene.exiting{opacity:0;pointer-events:none}#vertical-nav{position:fixed;left:20px;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;gap:16px;z-index:100}.scene-dot{width:12px;height:12px;border-radius:50%;background:#faf8f34d;border:1px solid rgba(250,248,243,.5);cursor:pointer;transition:all .3s ease;position:relative}.scene-dot:hover{background:#faf8f380;transform:scale(1.3)}.scene-dot.active{background:#faf8f3;transform:scale(1.3)}.scene-dot.completed{background:#faf8f3b3}.scene-dot:after{content:attr(data-scene);position:absolute;left:25px;top:50%;transform:translateY(-50%);background:#000c;color:#faf8f3;padding:4px 8px;border-radius:4px;font-size:12px;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .3s ease}.scene-dot:hover:after{opacity:1}.hidden{display:none!important}.fade-in{animation:fadeIn var(--transition-duration) ease}.fade-out{animation:fadeOut var(--transition-duration) ease}@media (max-width: 768px){#scene-nav{padding:12px}.nav-btn{padding:10px 16px;font-size:12px}.nav-btn svg{width:16px;height:16px}.scene-title{font-size:12px}}.story-scene{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px;background:#101010}.story-text{text-align:center;margin-bottom:60px;z-index:10}.story-text h2{font-size:2rem;line-height:1.4;color:#f1f5f9e6;max-width:800px;margin:0 auto;font-weight:300;letter-spacing:.5px;font-family:"Inria Serif",serif}.interactive-container{display:flex;flex-direction:column;align-items:center;gap:30px;min-height:300px;position:relative}.continue-btn,.restart-btn,.give-treat-btn{padding:12px 30px;background:#3b82f633;border:1px solid rgba(59,130,246,.5);color:var(--text-primary);border-radius:8px;font-size:16px;cursor:pointer;transition:all .3s ease;z-index:10;outline:none!important}.continue-btn:hover,.restart-btn:hover,.give-treat-btn:hover{background:#3b82f666;transform:translateY(-2px)}.scene-8 .blackboard-canvas{cursor:none;will-change:transform}.scene-1{background:#deff96!important;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative}.scene1-text{margin-bottom:80px}.scene1-text h1{color:#101010;font-size:2.5rem;font-weight:400;letter-spacing:-.02em;font-family:"Inria Serif",serif}.begin-button-container{position:relative;display:inline-block}.begin-button{width:180px;height:180px;border-radius:50%;background:#101010;border:none;cursor:pointer;transition:transform .3s ease;position:relative;z-index:1;will-change:transform;backface-visibility:hidden;-webkit-backface-visibility:hidden;transform:translateZ(0);box-shadow:0 118px 33px #10101000,0 76px 30px #10101003,0 43px 26px #1010100d,0 19px 19px #10101017,0 5px 10px #1010101a}.begin-button:hover{transform:scale(1.05)}.begin-button:active{transform:scale(.98)}.begin-text-svg{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%) rotate(0);width:140px;height:140px;pointer-events:none;z-index:2;animation:rotateWithPosition 20s infinite linear;filter:invert(1)}.begin-button-container.expanding .begin-button{animation:expandToFullScreen 1.2s cubic-bezier(.4,0,.2,1) forwards;cursor:default;will-change:transform}.begin-button-container.expanding .begin-text-svg{animation:fadeOut .4s ease-out forwards}@keyframes expandToFullScreen{0%{transform:scaleZ(1)}to{transform:scale3d(15,15,1)}}.eye-transition-overlay{position:fixed;top:50%;left:50%;transform:translate(-50%,calc(-50% + 40px));z-index:9999;pointer-events:none}.eye-animation-gif{width:200px;height:auto}@keyframes rotateWithPosition{0%{transform:translate(-50%,-50%) rotate(0)}to{transform:translate(-50%,-50%) rotate(360deg)}}.scene-2{background:#101010!important;position:relative;overflow:hidden;cursor:none;display:block!important;padding:0!important}.scene2-background{position:absolute;top:0;left:0;width:100%;height:100%;background:#cbc6e3;z-index:1}.paper-texture-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background-image:url(./Paper_texture-BlJDj5F-.png);background-size:cover;background-position:center;mix-blend-mode:multiply;opacity:.4;z-index:2;pointer-events:none}.black-overlay{position:absolute;top:0;left:0;width:100%;height:100%;z-index:20;pointer-events:none;opacity:1;background:radial-gradient(circle at var(--spotlight-x, 50%) var(--spotlight-y, 50%),transparent var(--spotlight-radius, 0px),#101010 var(--spotlight-radius, 0px));transition:none}.scene2-text{position:absolute;top:50%;left:0;right:0;z-index:100;text-align:center;display:flex;justify-content:center;align-items:center;pointer-events:none;opacity:0;animation:fadeInUpScene2 1.5s ease forwards}.scene2-text.fading-out{animation:none;opacity:1;animation:fadeOutText 1.2s ease-out forwards}.scene2-text h2{color:#faf8f3;text-align:center;margin:0;width:100%}@keyframes fadeInUpScene2{0%{opacity:0;transform:translateY(-20%)}to{opacity:1;transform:translateY(-50%)}}.magnifying-game-container{position:relative;width:100%;height:100vh;z-index:3}.magnifying-glass{position:absolute;width:120px;height:120px;pointer-events:none;transform:translate(-50%,-50%) rotate(45deg);z-index:200}.magnifying-spotlight{display:none}.hidden-objects{position:absolute;width:100%;height:100%}.image-wrapper{position:absolute;display:flex;align-items:center;justify-content:center}.hidden-object{position:relative;opacity:1;transition:transform .3s ease;cursor:pointer;-webkit-user-select:none;user-select:none;display:block}.hidden-object:hover{z-index:100}.image-tooltip{position:absolute;bottom:calc(100% + 15px);left:50%;transform:translate(-50%) rotate(-2deg);background:linear-gradient(135deg,#fff8dc,#f5e6d3);color:#2c1810;padding:8px 16px;border-radius:4px;font-family:Kalam,cursive;font-size:18px;font-weight:400;white-space:nowrap;opacity:0;visibility:hidden;transition:all .3s ease;pointer-events:none;box-shadow:2px 3px 8px #0003,inset 0 1px 2px #faf8f380;border:1px solid rgba(139,69,19,.1);text-shadow:1px 1px 1px rgba(250,248,243,.5);z-index:10000}.image-tooltip:before{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border-width:8px 8px 0 8px;border-style:solid;border-color:#F5E6D3 transparent transparent transparent}.image-wrapper:hover .image-tooltip{opacity:1;visibility:visible;transform:translate(-50%) rotate(-1deg) translateY(-5px)}.hidden-object.smokey-cat{object-fit:cover}.hidden-object.found{animation:foundPulse 1s ease;opacity:1!important}@keyframes foundPulse{0%{opacity:1}50%{opacity:.7}to{opacity:1}}.found-message{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:2rem;color:#faf8f3;background:#000c;padding:20px 40px;border-radius:10px;border:2px solid #FAF8F3;z-index:200;animation:fadeInScale .5s ease}@keyframes fadeInScale{0%{opacity:0;transform:translate(-50%,-50%) scale(.8)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}.hand-sweep{position:fixed;left:-800px;top:60%;width:90vh;height:90vh;transform:translateY(-50%);z-index:900;pointer-events:none;animation:handSweep 2s ease-out forwards}.hand-sweep img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 10px 20px rgba(0,0,0,.3))}@keyframes handSweep{0%{left:-800px;transform:translateY(-50%) rotate(-10deg)}to{left:120%;transform:translateY(-50%) rotate(10deg)}}.scene2-slide-out{z-index:10;animation:fadeOut .8s ease-out forwards}.scene3-text .text-part-1{opacity:0;animation:fadeIn 1s ease-out 1s forwards}.scene3-text .text-part-2{display:block;opacity:0;margin-top:20px;animation:fadeIn 1s ease-out 2.5s forwards}.scene-3 .smokey-head,.scene-3 .smokey-overlay{opacity:0;animation:fadeIn 1s ease-out 4s forwards}.scene-3 .smokey-head-back{visibility:hidden;animation:showHeadBack .1s ease-out 5s forwards}@keyframes showHeadBack{to{visibility:visible}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}@keyframes fadeOutText{0%{opacity:1}to{opacity:0}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.scene-3{background:#101010!important;position:relative;overflow:hidden;animation:fadeIn .8s ease-out forwards}.physics-book-image{position:absolute;object-fit:cover;pointer-events:none}.instruction-overlay{position:fixed;right:-50px;top:60%;transform:translateY(-50%);width:700px;height:700px;z-index:4;opacity:0;animation:fadeIn 1s ease-out 5s forwards;transition:opacity .5s ease-out;pointer-events:none;object-fit:contain}.instruction-overlay.step2{animation:none}.stars-container{position:absolute;width:100%;height:100%;top:0;left:0;z-index:0;opacity:0;animation:fadeIn 2s ease-out 1s forwards}.star{position:absolute;background:#faf8f3;border-radius:50%;animation:twinkle 3s ease-in-out infinite}@keyframes twinkle{0%,to{opacity:.3;transform:scale(1)}50%{opacity:1;transform:scale(1.2)}}.star-stream{position:absolute;background:#faf8f3;border-radius:50%;animation:starFloat 2s ease-out forwards,twinkle .8s ease-in-out infinite;pointer-events:none}@keyframes starFloat{0%{transform:translateY(0) translate(0) scale(1);opacity:inherit}50%{opacity:inherit}to{transform:translateY(-400px) translate(var(--drift-x, 0)) scale(.5);opacity:0}}.star-stream:nth-child(odd){--drift-x: 30px}.star-stream:nth-child(2n){--drift-x: -30px}.star-stream:nth-child(3n){--drift-x: 50px;animation-duration:2.3s}.star-stream:nth-child(4n){--drift-x: -40px;animation-duration:1.8s}.star-stream:nth-child(5n){--drift-x: 10px;animation-duration:2.1s}.scene3-text{position:absolute;left:35%;top:50%;transform:translate(-50%,-50%);max-width:500px;text-align:center;pointer-events:none}.smokey-game-container{position:relative;width:100%;height:100%;pointer-events:none}.scene-3 .physics-canvas{position:absolute;top:0;left:0;width:100%;height:100%;z-index:2}.smokey-overlay{position:fixed;right:-50px;top:60%;transform:translateY(-50%);width:700px;height:700px;z-index:3;pointer-events:none}.smokey-head{position:fixed;right:-50px;top:60%;transform:translateY(-50%);width:700px;height:700px;cursor:pointer;-webkit-user-select:none;user-select:none;z-index:1;pointer-events:none}.smokey-head-back{position:absolute;top:0;left:0;width:100%;height:100%;z-index:1;object-fit:contain}.smokey-body{position:absolute;top:0;left:0;width:100%;height:100%;z-index:1;object-fit:contain;pointer-events:none}.head-lid{position:absolute;top:0;left:0;width:100%;height:100%;z-index:2;object-fit:contain;transition:transform .5s ease;transform-origin:center 70%}.smokey-head.open .head-lid,.head-lid.open{transform:rotate(-45deg) translateY(-30px)}.drop-zone{position:absolute;top:70%;left:50%;transform:translate(-50%,-50%);width:200px;height:200px;border:none!important;z-index:5}.smokey-head.open .drop-zone{border:none!important}.books-container{display:flex;gap:20px;justify-content:center;margin-top:50px;position:relative;z-index:10}.draggable-book{font-size:50px;cursor:grab;transition:transform .2s ease}.draggable-book:hover{transform:scale(1.1)}.draggable-book.dragging{opacity:.5;cursor:grabbing}.bouncing-book{font-size:50px;z-index:3;pointer-events:none}.bouncing-book.bounce-out{animation:bounceOut 1s ease-out forwards}@keyframes bounceOut{0%{transform:translateY(0) scale(1)}20%{transform:translateY(-50px) scale(.9)}40%{transform:translateY(-100px) scale(.8)}60%{transform:translateY(-80px) scale(.85) rotate(20deg)}to{transform:translateY(400px) scale(1) rotate(360deg);opacity:0}}.speech-bubble{position:absolute;top:-80px;left:50%;transform:translate(-50%) scale(0);background:#faf8f3;color:#101010;padding:15px 25px;border-radius:20px;font-size:24px;font-weight:700;opacity:0;transition:all .5s ease;pointer-events:none}.speech-bubble:after{content:"";position:absolute;bottom:-10px;left:50%;transform:translate(-50%);width:0;height:0;border-left:10px solid transparent;border-right:10px solid transparent;border-top:10px solid #FAF8F3}.speech-bubble.show{opacity:1;transform:translate(-50%) scale(1);animation:bubblePop .5s ease}@keyframes bubblePop{0%{transform:translate(-50%) scale(0)}50%{transform:translate(-50%) scale(1.2)}to{transform:translate(-50%) scale(1)}}.scene-4{background:#101010;position:relative;overflow:hidden;opacity:0;animation:fadeIn .8s ease-out forwards}.axis-line{position:absolute;bottom:100px;left:50%;transform:translate(-50%);width:80%;height:auto;z-index:1}.scene-4 .story-text{opacity:0;transform:translateY(20px);animation:fadeInUp .6s ease-out .5s forwards;position:relative;z-index:1}.scene-4 .story-text h2{color:#faf8f3;text-shadow:2px 2px 8px rgba(0,0,0,.8),0 0 20px rgba(0,0,0,.6)}.scene-4 .treat-ranking-game{position:relative;padding:40px;width:100%;max-width:900px;margin:0 auto;opacity:0;transform:translateY(20px);animation:fadeInUp .6s ease-out .7s forwards}.ranking-labels{display:flex;justify-content:space-between;width:100%;margin-bottom:20px;font-size:18px;color:#faf8f3;font-weight:700;position:relative;z-index:5}.treat-game-board{position:relative;width:700px;height:200px;margin:40px auto;opacity:1;transition:opacity .8s ease-out}.board-end-left{position:absolute;left:-90px;top:50%;transform:translateY(-50%);width:75px;height:75px;object-fit:contain;z-index:2}.board-end-right{position:absolute;right:-90px;top:50%;transform:translateY(-50%);width:75px;height:75px;object-fit:contain;z-index:2}.slots-container{position:absolute;display:flex;width:600px;height:200px;left:50px;top:0;justify-content:space-between}.treat-slot{position:relative;width:120px;height:200px;display:flex;flex-direction:column;align-items:center;justify-content:space-between}.position-feedback{position:absolute;bottom:90px;left:50%;transform:translate(-50%);width:24px;height:24px;transition:all .3s ease;z-index:20}.position-feedback.correct{animation:pulse-correct .5s ease}.position-feedback.incorrect{animation:shake .3s ease}@keyframes shake{0%,to{transform:translate(-50%) translateY(0)}25%{transform:translate(-52%) translateY(-2px)}75%{transform:translate(-48%) translateY(2px)}}@keyframes pulse-correct{0%,to{transform:translate(-50%) scale(1)}50%{transform:translate(-50%) scale(1.4)}}.scene-4 .success-message{position:absolute;top:35%;left:50%;transform:translate(-50%,-50%);width:300px;height:auto;z-index:100;opacity:0;background:transparent;padding:0;border:none}.scene-4 .success-message.scale-in{animation:scaleInSuccess .5s ease-out forwards}.scene-4 .success-message.hidden{display:none}.scene-4.scene4-exit{animation:fadeOut .8s ease-out forwards}@keyframes scaleInSuccess{0%{opacity:0;transform:translate(-50%,-50%) scale(0)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}.treat-game-board.fade-out-complete{opacity:.3}.treat-item{position:absolute;top:-70px;left:50%;transform:translate(-50%);width:170px;height:170px;background:transparent;display:flex;align-items:center;justify-content:center;cursor:grab;transition:transform .2s ease;-webkit-user-select:none;user-select:none;z-index:10}.treat-item:hover{transform:translate(-50%) scale(1.1)}.treat-item:active{cursor:grabbing}.treat-item.dragging{opacity:.5;transform:translate(-50%) scale(1.15);z-index:1000;cursor:grabbing;transition:none}.treat-item.success{animation:treatSuccess .5s ease}@keyframes treatSuccess{0%,to{transform:translate(-50%) scale(1)}50%{transform:translate(-50%) scale(1.1)}}.treat-image{width:160px;height:160px;object-fit:contain}.treat-name{display:none}.indicator-lights{display:flex;justify-content:center;gap:20px;margin-bottom:30px}.indicator-light{width:30px;height:30px;border-radius:50%;background:#faf8f34d;border:2px solid rgba(250,248,243,.5);transition:all .3s ease}.indicator-light.correct{background:#4ade80;border-color:#22c55e;box-shadow:0 0 20px #4ade8080}.indicator-light.incorrect{background:#f87171;border-color:#ef4444;box-shadow:0 0 20px #f8717180}.submit-ranking-btn{display:block;margin:0 auto;padding:12px 40px;background:#faf8f3;color:#764ba2;border:none;border-radius:25px;font-size:18px;font-weight:700;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 6px #0000001a}.submit-ranking-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 12px #00000026}.submit-ranking-btn:disabled{opacity:.5;cursor:not-allowed}.scene-5 .success-message{text-align:center;margin-top:40px;color:#faf8f3;font-size:20px;animation:fadeIn .5s ease}.scene-5 .success-message.hidden{display:none}@keyframes fadeInScale{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.treat-dispenser{text-align:center}.treat-bowl{width:200px;height:100px;margin:20px auto;background:#8b5cf61a;border-radius:50% 50% 40% 40%;border:2px solid rgba(139,92,246,.3);position:relative;overflow:hidden}.floating-treat{position:absolute;font-size:2rem;animation:treat-fall 2s ease-out}@keyframes treat-fall{0%{transform:translateY(-100px) rotate(0);opacity:1}to{transform:translateY(50px) rotate(360deg);opacity:0}}.treat-counter{color:var(--text-secondary);margin-top:20px}.scene-5{background:#101010;overflow:hidden;display:flex;flex-direction:column;justify-content:center;align-items:center;min-height:100vh;position:relative}.scene5-video-background{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;z-index:0;opacity:0;animation:fadeIn 1.2s ease-out .3s forwards}.scene-5 .story-text{margin-bottom:40px;opacity:0;transform:translateY(20px);animation:fadeInUp .8s ease-out .5s forwards;position:relative;z-index:1}.scene-5 .story-text h2{color:#5f60b3;text-align:center}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.scene-5 .breathing-game{position:relative;width:100%;height:400px;padding:0;display:flex;flex-direction:column;align-items:center;justify-content:center;opacity:0;transform:translateY(20px);animation:fadeInUp .8s ease-out .8s forwards;z-index:1}.game-instructions{display:none}.rhythm-track{position:relative;width:100%;margin:40px 0;height:100px;overflow:visible;display:flex;align-items:center}.rhythm-track:before{content:"";position:absolute;left:0;width:100%;height:1px;background:#faf8f3;top:50%;transform:translateY(-50%);z-index:10}.target-zone{position:absolute;left:400px;top:50%;transform:translateY(-50%) scale(1);width:70px;height:70px;background:#faf8f31a;border:1px solid #FAF8F3;border-radius:50%;z-index:15}@keyframes gentlePulse{0%,to{transform:translateY(-50%) scale(1)}50%{transform:translateY(-50%) scale(1.05)}}.target-zone:before,.target-zone:after{content:"";position:absolute;top:50%;left:50%;width:100%;height:100%;border:1px solid rgba(250,248,243,.3);border-radius:50%;transform:translate(-50%,-50%) scale(1);animation:emanateRing 3s ease-out infinite}.target-zone:after{animation-delay:1.5s}@keyframes emanateRing{0%{transform:translate(-50%,-50%) scale(1);opacity:.6}to{transform:translate(-50%,-50%) scale(1.8);opacity:0}}.target-zone.success-pulse:before{content:"";position:absolute;top:50%;left:50%;width:100%;height:100%;border:1px solid #DEFF96;border-radius:50%;transform:translate(-50%,-50%) scale(1);animation:successRing 1s ease-out forwards}@keyframes successRing{0%{transform:translate(-50%,-50%) scale(1);opacity:1}to{transform:translate(-50%,-50%) scale(2.5);opacity:0}}.lines-container{position:absolute;top:0;left:0;right:0;width:100%;height:100%;overflow-x:hidden;overflow-y:visible}.breath-line{position:absolute;height:6px;background:#faf8f3;top:50%;transform:translateY(-50%);transition:background .3s ease,opacity .3s ease;border-radius:0;z-index:12}.breath-line.active,.breath-line.success{background:#deff96}.breath-line.completed{opacity:.2}.breathing-container{display:none}.progress-dots{display:flex;justify-content:center;gap:15px;margin-top:40px;position:relative;z-index:10}.progress-dot{width:14px;height:14px;padding:3px;box-sizing:content-box;display:flex;align-items:center;justify-content:center;position:relative}.progress-dot:before{content:"";width:8px;height:8px;background:#faf8f3;border-radius:0;transition:all .3s ease}.progress-dot.active:before{width:14px;height:14px;background:#deff96}.expand-overlay.expanding{animation:expandOverlayToFullScreen 2.5s cubic-bezier(.4,0,.2,1) forwards}@keyframes expandOverlayToFullScreen{0%{transform:translate(-50%,-50%) scale(1);opacity:1}to{transform:translate(-50%,-50%) scale(200);opacity:1}}.breathing-circle{border-radius:50%;background:radial-gradient(circle,#93c5fdcc,#3b82f699,#2563eb66);border:3px solid rgba(250,248,243,.3);transition:width .1s ease,height .1s ease;display:flex;align-items:center;justify-content:center;box-shadow:0 0 30px #3b82f666}.breathing-circle.inhaling{animation:glow 1s ease-in-out infinite}@keyframes glow{0%,to{box-shadow:0 0 30px #3b82f666}50%{box-shadow:0 0 50px #3b82f6cc}}.score-display{text-align:center;color:#faf8f3}.perfect-counter{font-size:24px;font-weight:700;margin-bottom:20px}.timing-feedback{font-size:32px;font-weight:700;margin-top:20px;animation:feedbackPop .5s ease}.timing-feedback.perfect{color:#4ade80;text-shadow:0 0 20px rgba(74,222,128,.8)}.timing-feedback.good{color:#fbbf24;text-shadow:0 0 20px rgba(251,191,36,.8)}.timing-feedback.miss{color:#f87171;text-shadow:0 0 20px rgba(248,113,113,.8)}@keyframes feedbackPop{0%{transform:scale(0);opacity:0}50%{transform:scale(1.2)}to{transform:scale(1);opacity:1}}.success-message{text-align:center;margin-top:30px;padding:20px;background:#4ade8033;border-radius:10px;color:#faf8f3;font-size:24px;font-weight:700;animation:fadeInScale .5s ease}.breathing-circle-old{width:150px;height:150px;border-radius:50%;background:#3b82f61a;border:2px solid rgba(59,130,246,.3);display:flex;align-items:center;justify-content:center;animation:breathe 4s infinite ease-in-out}.breath-inner{width:50px;height:50px;border-radius:50%;background:#3b82f680;animation:breathe-inner 4s infinite ease-in-out}@keyframes breathe{0%,to{transform:scale(1)}50%{transform:scale(1.2)}}@keyframes breathe-inner{0%,to{transform:scale(1);opacity:.5}50%{transform:scale(.8);opacity:.8}}.breath-text{color:var(--text-secondary);font-style:italic}.scene-6{position:relative;overflow:hidden;background:transparent!important}.scene-6 .xp-sky{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;z-index:0;opacity:1}.scene-6 .xp-land{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;z-index:1;transform:translateY(100%);animation:xpLandSlideUp 1.8s cubic-bezier(.4,0,.2,1) .2s forwards}@keyframes xpLandSlideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.scene-6 .story-text{position:absolute;top:30%;left:50%;transform:translate(-50%,-50%);z-index:20;text-align:center;pointer-events:none}.scene-6-text{opacity:0;animation:fadeInText .8s ease-out 2s forwards}@keyframes fadeInText{0%{opacity:0}to{opacity:1}}.pill-game-container{position:absolute;top:0;left:0;width:100vw;height:100vh;margin:0;padding:0;z-index:10}.pill-score{position:absolute;bottom:20px;left:50%;transform:translate(-50%);text-align:center;z-index:15}.controls-instruction{display:flex;align-items:center;justify-content:center;gap:10px;margin-bottom:20px}.control-instruction-img{width:60px;height:auto;image-rendering:pixelated;image-rendering:-moz-crisp-edges;image-rendering:crisp-edges;opacity:.9}.control-or-text{font-family:"Press Start 2P",cursive;font-size:12px;color:#faf8f3;text-shadow:2px 2px 0px rgba(0,0,0,.8);margin:0 10px;display:inline-flex;align-items:center}.scene-6-indicators{transform:translate(-50%) translateY(150px);animation:slideUpIndicators .8s cubic-bezier(.4,0,.2,1) 2.5s forwards}@keyframes slideUpIndicators{0%{transform:translate(-50%) translateY(150px)}to{transform:translate(-50%) translateY(0)}}.score-text{font-size:24px;color:#faf8f3;margin-bottom:10px;text-shadow:2px 2px 4px rgba(0,0,0,.5)}.score-text span{color:#4ade80;font-weight:700}.pill-indicators{display:flex;gap:15px;justify-content:center;align-items:center;margin-bottom:10px}.pill-indicator{width:40px;height:40px;position:relative;display:flex;align-items:center;justify-content:center;transition:all .3s ease}.indicator-circle{position:absolute;width:100%;height:100%;image-rendering:pixelated;image-rendering:-moz-crisp-edges;image-rendering:crisp-edges;opacity:.6;transition:opacity .3s ease}.pill-indicator.filled .indicator-circle{opacity:1}.indicator-pill{position:relative;z-index:1;image-rendering:pixelated;image-rendering:-moz-crisp-edges;image-rendering:crisp-edges}.pill-indicator.filled{animation:pillCollected .5s ease}@keyframes pillCollected{0%{transform:scale(1)}50%{transform:scale(1.3)}to{transform:scale(1)}}.game-hint{font-size:14px;color:#faf8f3e6;font-style:italic;text-shadow:1px 1px 2px rgba(0,0,0,.5)}.pill-game-area{position:absolute;top:0;left:0;width:100vw;height:100vh;background:transparent;border:none;overflow:hidden}.scene-6 .smokey-cat{position:absolute;bottom:150px;width:60px;height:60px;transform:translate(-50%);transition:left .1s ease;z-index:10;-webkit-user-select:none;user-select:none}.scene-6-smokey{transform:translate(-50%) translateY(200px);opacity:0;animation:slideUpSmokey .8s cubic-bezier(.4,0,.2,1) 2.5s forwards}@keyframes slideUpSmokey{0%{transform:translate(-50%) translateY(200px);opacity:0}to{transform:translate(-50%) translateY(0);opacity:1}}.smokey-sprite{width:100%;height:100%;image-rendering:pixelated;image-rendering:-moz-crisp-edges;image-rendering:crisp-edges}.scene-6 .smokey-cat.celebrating{animation:celebrate .5s ease infinite alternate}@keyframes celebrate{0%{transform:translate(-50%) scale(1) rotate(0)}to{transform:translate(-50%) scale(1.1) rotate(-5deg)}}.falling-pill{position:absolute;animation:pill-rotate 2s linear infinite;z-index:5;-webkit-user-select:none;user-select:none}.falling-pill img{display:block;image-rendering:pixelated;image-rendering:-moz-crisp-edges;image-rendering:crisp-edges}@keyframes pill-rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.pixel-explosion{position:absolute;width:10px;height:10px;pointer-events:none;z-index:20;transform:translate(-50%,-50%)}.pixel-particle{position:absolute;width:4px;height:4px;background:#faf8f3;top:50%;left:50%;transform:translate(-50%,-50%);animation:pixelBurst .6s ease-out forwards}@keyframes pixelBurst{0%{transform:translate(-50%,-50%);opacity:1;width:4px;height:4px}to{transform:translate(calc(-50% + cos(var(--angle))*40px),calc(-50% + sin(var(--angle))*40px));opacity:0;width:2px;height:2px}}.pixel-firework{position:absolute;width:10px;height:10px;pointer-events:none;z-index:100;transform:translate(-50%,-50%)}.firework-trail{position:absolute;width:6px;height:6px;background:gold;left:50%;top:50%;transform:translate(-50%,-50%);animation:fireworkLaunch .5s ease-out forwards;image-rendering:pixelated;image-rendering:-moz-crisp-edges;image-rendering:crisp-edges}@keyframes fireworkLaunch{0%{transform:translate(-50%,200px);opacity:1;height:20px;background:linear-gradient(to top,transparent,#FFD700,#FAF8F3)}to{transform:translate(-50%,-50%);opacity:.8;height:6px;background:#faf8f3}}.firework-particle{position:absolute;width:4px;height:4px;left:50%;top:50%;transform:translate(-50%,-50%);animation:fireworkExplode 1.5s ease-out forwards;image-rendering:pixelated;image-rendering:-moz-crisp-edges;image-rendering:crisp-edges}@keyframes fireworkExplode{0%{transform:translate(-50%,-50%) scale(0);opacity:1}40%{transform:translate(calc(-50% + var(--end-x)),calc(-50% + var(--end-y))) scale(1.2);opacity:1}to{transform:translate(calc(-50% + var(--end-x)),calc(-50% + var(--end-y) + var(--fall-distance))) scale(.8);opacity:0}}.success-message{text-align:center;margin-top:30px;padding:20px;background:#4ade8033;border-radius:10px;color:#faf8f3}.success-message p{font-size:20px;margin-bottom:20px}.success-message.hidden{display:none}.scene-6.scene-6-exit-transition .xp-land{animation:slideDownLandscape 1.5s ease-in forwards}.scene-6.scene-6-exit-transition .pill-game-container{animation:slideDownElements 1.2s ease-in forwards}.scene-6.scene-6-exit-transition .story-text{animation:slideDownCenteredText 1.2s ease-in forwards}.scene-6.scene-6-exit-transition .pill-score{animation:slideDownHorizontallyCentered 1.2s ease-in forwards}.scene-6.scene-6-exit-transition .xp-sky{animation:fadeToBlack 2s ease-in-out forwards}@keyframes slideDownLandscape{0%{transform:translateY(0)}to{transform:translateY(100vh)}}@keyframes slideDownElements{0%{transform:translateY(0);opacity:1}to{transform:translateY(100vh);opacity:0}}@keyframes fadeToBlack{0%{opacity:1;filter:brightness(1)}50%{opacity:1;filter:brightness(.3)}to{opacity:0;filter:brightness(0)}}@keyframes slideDownCenteredText{0%{transform:translate(-50%,-50%);opacity:1}to{transform:translate(-50%,calc(-50% + 100vh));opacity:0}}@keyframes slideDownHorizontallyCentered{0%{transform:translate(-50%) translateY(0);opacity:1}to{transform:translate(-50%) translateY(100vh);opacity:0}}.scene-7{position:relative;overflow:hidden;background:#101010}.scene-7 .fluid-background{position:absolute;top:0;left:0;width:100%;height:100%;z-index:0;opacity:0;animation:fadeInBackground 1.5s ease-out .5s forwards}.scene-7 .static-overlay{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;opacity:0;mix-blend-mode:screen;z-index:1;animation:fadeInOverlay 1s ease-out 1s forwards}@keyframes fadeInBackground{0%{opacity:0}to{opacity:1}}@keyframes fadeInOverlay{0%{opacity:0}to{opacity:.4}}@keyframes slideUpFadeIn{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.scene-7 .story-text{position:relative;z-index:2;opacity:0;transform:translateY(30px);animation:slideUpFadeIn .8s ease-out 1.5s forwards}.scene-7 .card-matching-game{position:relative;z-index:2;opacity:0;transform:translateY(30px);animation:slideUpFadeIn .8s ease-out 1.8s forwards}.card-matching-game{padding:10px;margin:0 auto}.game-instructions-text{text-align:center;color:#faf8f3cc;font-style:italic;margin-bottom:30px;position:relative;z-index:1}.card-grid{display:grid;grid-template-columns:repeat(3,150px);grid-template-rows:repeat(2,215px);gap:15px;margin:20px auto;perspective:1000px;overflow:visible;justify-content:center;align-content:center}.memory-card{position:relative;width:150px;height:215px;cursor:pointer;transform-style:preserve-3d;transition:transform .3s ease;overflow:visible}.memory-card:after{content:"";position:absolute;top:50%;left:50%;width:80%;height:102%;transform:translate(-50%,-50%);background:#00000040;border-radius:18px;z-index:-2;pointer-events:none;filter:blur(4px);transition:width .3s ease,opacity .3s ease}.memory-card.matched:after,.memory-card.flipped:after,.memory-card.shadow-hidden:after{width:0%;opacity:0}.card-inner{position:relative;width:100%;height:100%;text-align:center;transition:transform .6s;transform-style:preserve-3d}.memory-card.flipped .card-inner{transform:rotateY(180deg)}.card-front,.card-back{position:absolute;width:100%;height:100%;-webkit-backface-visibility:hidden;backface-visibility:hidden;border-radius:15px;display:flex;align-items:center;justify-content:center;padding:0}.card-front{background:transparent}.card-base{position:absolute;width:100%;height:100%;object-fit:contain;border-radius:15px;z-index:1;filter:brightness(.6) contrast(1.1)}.card-image{position:absolute;width:100%;height:100%;object-fit:contain;border-radius:15px;z-index:2}.card-back{background:transparent;transform:rotateY(180deg)}.memory-card:hover:not(.matched):not(.flipped) .card-inner{transform:scale(1.05)}.memory-card:hover:not(.matched):not(.flipped):after{filter:blur(8px);transition:filter .2s ease}.memory-card.matched .card-inner{animation:matchPulse .6s ease}@keyframes glowFadeIn{0%{opacity:0}30%{opacity:0}to{opacity:1}}.memory-card.flipped[data-card-type=me]:before,.memory-card.matched[data-card-type=me]:before{content:"";position:absolute;top:50%;left:50%;width:80%;height:104%;transform:translate(-50%,-50%) translateZ(-10px);background:#ffb6c11f;border-radius:18px;z-index:-3;pointer-events:none;animation:glowFadeIn .6s ease-in;filter:blur(5px)}.memory-card.flipped[data-card-type=skull]:before,.memory-card.matched[data-card-type=skull]:before{content:"";position:absolute;top:50%;left:50%;width:80%;height:104%;transform:translate(-50%,-50%) translateZ(-10px);background:#40e0d01f;border-radius:18px;z-index:-3;pointer-events:none;animation:glowFadeIn .6s ease-in;filter:blur(5px)}.memory-card.flipped[data-card-type=smokey]:before,.memory-card.matched[data-card-type=smokey]:before{content:"";position:absolute;top:50%;left:50%;width:80%;height:104%;transform:translate(-50%,-50%) translateZ(-10px);background:#ffa5001f;border-radius:18px;z-index:-3;pointer-events:none;animation:glowFadeIn .6s ease-in;filter:blur(5px)}@keyframes matchPulse{0%{transform:rotateY(180deg) scale(1)}50%{transform:rotateY(180deg) scale(1.1)}to{transform:rotateY(180deg) scale(1)}}.memory-card.card-falling{transition:transform .8s cubic-bezier(.4,0,1,1),opacity .5s ease-in;transform:translateY(50px);opacity:0}.beige-fade-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#f5e6d3;opacity:0;z-index:500;pointer-events:none;transition:opacity 1.5s ease-in-out}.beige-fade-overlay.fade-in{opacity:1}.match-progress{text-align:center;font-size:18px;color:#faf8f3;margin:20px 0}.match-progress span{color:#5b8dee;font-weight:700;font-size:24px;display:inline-block}.match-progress span.pop{animation:popScale .3s ease}@keyframes popScale{0%{transform:scale(1)}50%{transform:scale(1.3)}to{transform:scale(1)}}.completion-message{text-align:center;margin-top:30px;padding:20px;background:#f472b633;border-radius:10px;animation:fadeInScale .5s ease}.completion-message p{font-size:20px;color:#faf8f3;margin-bottom:20px}.completion-message.hidden{display:none}.door-scene-old{position:relative}.door{width:120px;height:180px;background:#8b5cf633;border:3px solid rgba(139,92,246,.4);border-radius:8px 8px 0 0;position:relative;margin:0 auto}.door-frame{width:10px;height:30px;background:#8b5cf680;position:absolute;right:15px;top:50%;transform:translateY(-50%);border-radius:5px}.kiss-mark{position:absolute;top:-30px;left:50%;transform:translate(-50%);font-size:2rem;animation:float-kiss 2s infinite ease-in-out}@keyframes float-kiss{0%,to{transform:translate(-50%) translateY(0)}50%{transform:translate(-50%) translateY(-10px)}}.goodbye-text{color:var(--text-secondary);font-style:italic;margin-top:20px}.scene-8{background:#f5e6d3!important;overflow:visible!important;transform:translateZ(0);backface-visibility:hidden}#scene-container:has(.scene-8.active){overflow:visible!important}.scene-8 .interactive-container{overflow:visible!important}.scene-8 .story-text{pointer-events:none;z-index:10;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%) scale(0);width:100%;text-align:center;opacity:0;animation:expandText .8s ease-out .3s forwards}.scene-8 .story-text h2{color:#faf8f3!important;font-weight:400;white-space:nowrap;text-shadow:0 2px 8px rgba(255,245,179,.5),0 4px 16px rgba(255,245,179,.3);display:inline-block}.spiral-container{position:fixed;top:0;left:0;width:100vw;height:100vh;display:flex;align-items:center;justify-content:center;opacity:0;clip-path:circle(0% at 50% 50%);animation:expandCircleMask 1s ease-out .6s forwards}.spiral-canvas{position:absolute;top:0;left:0;width:100%;height:100%;cursor:crosshair;background:transparent;overflow:visible!important}.spiral-instructions{display:none}@keyframes expandText{to{opacity:1;transform:translate(-50%,-50%) scale(1)}}@keyframes expandCircleMask{to{opacity:1;clip-path:circle(75% at 50% 50%)}}.human-questions-old{text-align:center}.question-pair{display:flex;gap:100px;align-items:center;justify-content:center;margin:30px 0}.cat-side,.human-side{font-size:3rem;animation:mirror-pulse 3s infinite alternate}@keyframes mirror-pulse{0%{opacity:.5;transform:scale(.9)}to{opacity:1;transform:scale(1.1)}}.mirror-text{color:var(--text-secondary);font-style:italic}.thought-bubbles{display:flex;gap:100px;align-items:center}.thought-bubble{text-align:center;animation:float-thought 3s infinite ease-in-out}.thought-bubble.left{animation-delay:0s}.thought-bubble.right{animation-delay:1.5s}.thought-bubble span{font-size:2.2rem;display:block}.thought-bubble p{color:var(--text-secondary);font-size:.9rem;margin-top:10px}@keyframes float-thought{0%,to{transform:translateY(0);opacity:.5}50%{transform:translateY(-20px);opacity:1}}.bullet-hell-scene.retro-rpg{background:#101010;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:0;font-family:Courier New,monospace;position:relative;overflow:hidden}.bullet-hell-scene.retro-rpg:before,.bullet-hell-scene.retro-rpg:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:0}.bullet-hell-scene.retro-rpg:before{background-image:repeating-linear-gradient(90deg,transparent,transparent 19px,rgba(222,255,150,.2) 19px,rgba(222,255,150,.2) 20px);clip-path:polygon(0 0,0 0,0 100%,0 100%);transition:clip-path 1.2s ease-out}.bullet-hell-scene.retro-rpg.vertical-lines:before{clip-path:polygon(0 0,100% 0,110% 100%,0 100%)}.bullet-hell-scene.retro-rpg:after{background-image:repeating-linear-gradient(0deg,transparent,transparent 19px,rgba(222,255,150,.2) 19px,rgba(222,255,150,.2) 20px);clip-path:inset(0 100% 0 0);transition:clip-path 1.2s ease-out}.bullet-hell-scene.retro-rpg.horizontal-lines:after{clip-path:inset(0 0 0 0)}.bullet-hell-scene.retro-rpg.elements-visible:before{background-image:repeating-linear-gradient(90deg,transparent,transparent 19px,rgba(222,255,150,.1) 19px,rgba(222,255,150,.1) 20px);transition:background-image 1.5s ease-out,opacity 1.5s ease-out}.bullet-hell-scene.retro-rpg.elements-visible:after{background-image:repeating-linear-gradient(0deg,transparent,transparent 19px,rgba(222,255,150,.1) 19px,rgba(222,255,150,.1) 20px);transition:background-image 1.5s ease-out,opacity 1.5s ease-out}.bullet-hell-scene.retro-rpg .story-text.retro-title{margin-bottom:20px;position:relative;z-index:1}.bullet-hell-scene.retro-rpg .bullet-hell-container{position:relative;z-index:1}.bullet-hell-scene.retro-rpg .story-text.retro-title h2{color:#faf8f3;font-size:16px;font-family:Courier New,monospace;text-transform:uppercase;letter-spacing:2px;font-weight:400}.bullet-hell-scene.retro-rpg .bullet-hell-container{position:relative;width:400px;height:300px;margin:0 0 80px;background:transparent}.bullet-hell-scene.retro-rpg .bullet-hell-canvas{position:relative;border:none;border-radius:0;box-shadow:none;background:transparent;z-index:2;image-rendering:pixelated;image-rendering:-moz-crisp-edges;image-rendering:crisp-edges}.bullet-hell-scene.retro-rpg .bullet-hell-canvas.screen-shake{animation:pixelShake .2s step-end}@keyframes pixelShake{0%,to{transform:translate(0)}25%{transform:translate(-2px)}50%{transform:translate(2px)}75%{transform:translateY(-2px)}}.bullet-hell-scene.retro-rpg .smokey-overlay{display:none}.bullet-hell-scene.retro-rpg .bullet-hell-ui.retro-ui{position:absolute;top:330px;left:0;right:0;text-align:center;z-index:3;display:flex;flex-direction:column;align-items:center}.bullet-hell-scene.retro-rpg .health-canvas{display:block;margin:0 auto;image-rendering:pixelated;image-rendering:-moz-crisp-edges;image-rendering:crisp-edges}.scrapbook-scene{background:#101010;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;min-height:100vh;overflow:hidden}.scrapbook-title{margin-bottom:40px;z-index:10;opacity:0;transform:translateY(30px);animation:fadeInUp 1s ease-out .5s forwards}.scrapbook-title h2{color:#faf8f3;font-size:1.8rem;font-weight:400;font-family:Georgia,serif;text-align:center;max-width:800px;opacity:.9}.book-container{perspective:2000px;position:relative;transition:transform 2s cubic-bezier(.4,0,.2,1);opacity:0;animation:fadeInBook 1s ease-out .8s forwards}.book-container.shifted{transform:translate(250px)}@keyframes fadeInBook{0%{opacity:0}to{opacity:1}}.book{width:1000px;height:650px;position:relative;transform-style:preserve-3d;cursor:pointer}.static-left-page{display:none}.book-page{position:absolute;left:250px;top:0;width:500px;height:650px;transform-style:preserve-3d;transform-origin:left center;transition:transform 2.5s cubic-bezier(.4,0,.2,1);cursor:pointer}.book-page.flipped{transform:rotateY(-180deg)}.page-content{position:absolute;width:100%;height:100%;backface-visibility:hidden;background:#faf8f3;border:1px solid #d4b896;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:30px;box-shadow:0 2px 4px #0000000d,inset 0 0 20px #d4b8960d}.page-content.front{z-index:2}.page-content.back{transform:rotateY(180deg)}.page-content h2{font-family:Georgia,serif;font-size:1.2rem;color:#6b5244;margin-bottom:30px;font-weight:400;letter-spacing:.5px}.photo-frame{width:200px;height:200px;padding:10px;background:#faf8f3;box-shadow:0 3px 10px #00000026,0 1px 2px #0000001a;transform:rotate(-1deg) translateZ(0);position:relative;transform-style:flat;will-change:transform;-webkit-backface-visibility:hidden;backface-visibility:hidden}.book-page:nth-child(2n) .photo-frame{transform:rotate(-2deg) translateZ(0)}.book-page:nth-child(odd) .photo-frame{transform:rotate(1deg) translateZ(0)}.photo-placeholder{width:100%;height:100%;display:block;object-fit:cover;background:linear-gradient(45deg,#f0e8dc,#e8dcc8)}img.photo-placeholder{width:100%;height:100%;object-fit:cover}.photo-darkness-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:#101010;pointer-events:none}.binding-shadow{position:absolute;left:250px;top:0;width:6px;height:650px;background:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.05) 20%,rgba(0,0,0,.08) 50%,rgba(0,0,0,.05) 80%,transparent 100%);z-index:100;pointer-events:none;opacity:0;transition:opacity .5s ease-in}.binding-shadow.visible{opacity:1}.book-cover{position:absolute;left:250px;top:0;width:500px;height:650px;transform-style:preserve-3d;transform-origin:left center;transition:transform 2.5s cubic-bezier(.4,0,.2,1);cursor:pointer;z-index:10}.book-cover.flipped{transform:rotateY(-180deg)}.cover-content{position:absolute;width:100%;height:100%;backface-visibility:hidden;background-size:cover;background-position:center;background-repeat:no-repeat}.cover-content.front{background-image:url(./Cover-G-cE6RpY.png);z-index:2}.cover-content.back{transform:rotateY(180deg);background:#faf8f3;border:1px solid #d4b896}.darkness-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:#101010;pointer-events:none;z-index:5}.page-content.black-photo{background:#101010}.black-photo-frame{width:200px;height:200px;background:#101010;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.black-expansion-overlay{position:fixed;background:#101010;z-index:1000;transition:transform 3s cubic-bezier(.42,0,.58,1);transform-origin:center center}.black-expansion-overlay.expand{transform:rotate(var(--initial-rotation, 0deg)) scale(60)!important}.scene-12{background:#101010;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;overflow:hidden}.scene12-content{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:150px;width:100%;max-width:900px;z-index:2000}.scene12-text1,.scene12-text2{opacity:0;transition:opacity 1s ease}.scene12-text1 h2,.scene12-text2 h2{color:#faf8f3;font-size:1.6rem;font-weight:300;letter-spacing:-.02em;font-family:"Inria Serif",serif;text-align:center;margin:0;line-height:1.3}.scene12-text1.fade-in,.scene12-text2.fade-in{opacity:1}.white-line{position:fixed;top:50%;left:0;width:2px;height:2px;background:#faf8f3;transform:translate(-100vw,-50%);z-index:1000}.white-line.animate-across{animation:lineAcross 1.5s ease forwards}.white-line.expand-to-fill{animation:expandLine 1.5s ease forwards}@keyframes lineAcross{0%{transform:translate(-100vw,-50%);width:2px;opacity:0}1%{opacity:1}to{transform:translateY(-50%);width:100vw;opacity:1}}@keyframes expandLine{0%{transform:translateY(-50%);width:100vw;height:2px}to{transform:translateY(-50%);width:100vw;height:100vh}}.scene-13{background:#faf8f3;min-height:100vh;padding:150px 20px 300px;display:flex;flex-direction:column;align-items:center;overflow-y:auto;opacity:0;animation:fadeInScene13 1s ease forwards}.scene13-text{margin-bottom:30px;opacity:0;animation:fadeInScene13 1s ease forwards;animation-delay:.3s}.scene13-text h1{color:#101010;font-size:2.5rem;font-weight:300;letter-spacing:-.02em;font-family:"Inria Serif",serif;text-align:center}.love-scene{text-align:center;margin:20px auto 0;max-width:800px}.scene-13 .interactive-container{gap:0}.last-photo{max-width:60%;height:auto;border-radius:4px;margin:10px auto 20px;display:block}.letter-image{max-width:100%;height:auto;border-radius:4px;margin:10px auto;mix-blend-mode:darken}.scene.scene-13 .restart-btn{all:unset;display:block;padding:15px 40px;background:transparent;color:#101010;font-family:"Inria Serif",serif;font-size:18px;border-radius:8px;cursor:pointer;transition:all .3s ease;text-align:center}.scene.scene-13 .restart-btn:hover{color:#505050;border-color:#505050;transform:translateY(-2px)}@keyframes fadeInScene13{0%{opacity:0}to{opacity:1}}.mobile-notice{margin:30px auto 20px;padding-bottom:40px;max-width:90%;text-align:center}.mobile-notice p{color:#606060;font-family:"Inria Serif",serif;font-size:15px;line-height:1.5;margin:0;font-style:italic}@media (max-width: 768px){.scene-13{padding:80px 15px 150px}.scene13-text h1{font-size:24px;line-height:1.3}.last-photo{max-width:85%}.letter-image{max-width:90%}.mobile-notice{margin:20px auto 15px;padding-bottom:30px}.mobile-notice p{font-size:13px}}.scene2{background:linear-gradient(135deg,#1e293b,#334155)}.physics-canvas{position:absolute;top:0;left:0;width:100%;height:100%}.physics-controls{position:absolute;top:20px;right:20px;padding:20px;background:#1e293be6;border-radius:12px;border:1px solid var(--border-color);z-index:10;min-width:200px}.control-group{margin-bottom:16px}.control-group:last-child{margin-bottom:0}.control-label{display:block;font-size:12px;color:var(--text-secondary);margin-bottom:8px;text-transform:uppercase;letter-spacing:.5px}.control-btn{display:block;width:100%;padding:10px;margin-bottom:8px;background:var(--surface);border:1px solid var(--border-color);color:var(--text-primary);border-radius:6px;font-size:14px;cursor:pointer;transition:all var(--transition-duration) ease}.control-btn:hover{background:var(--primary-color);border-color:var(--primary-color);transform:translate(4px)}.control-btn:last-child{margin-bottom:0}.scene3{background:linear-gradient(135deg,#0f172a,#1e293b);display:flex;align-items:center;justify-content:center;position:relative}.puzzle-container{display:grid;grid-template-columns:repeat(3,150px);grid-template-rows:repeat(3,150px);gap:20px;padding:40px;background:#1e293b80;border-radius:20px;border:2px solid var(--border-color)}.puzzle-slot{position:relative;width:150px;height:150px;background:#3341554d;border:2px dashed var(--border-color);border-radius:12px;display:flex;align-items:center;justify-content:center;transition:all var(--transition-duration) ease}.puzzle-slot.valid-target{background:#3b82f633;border-color:var(--primary-color);transform:scale(1.05)}.puzzle-slot.filled{background:#10b98133;border-color:var(--success-color)}.puzzle-piece{position:absolute;width:140px;height:140px;background:linear-gradient(135deg,var(--primary-color),var(--secondary-color));border-radius:8px;display:flex;align-items:center;justify-content:center;color:#faf8f3;font-size:24px;font-weight:700;cursor:move;z-index:10;transition:all var(--transition-duration) ease;-webkit-user-select:none;user-select:none}.puzzle-piece.dragging{opacity:.8;transform:scale(1.1) rotate(5deg);z-index:100;cursor:grabbing}.puzzle-piece.placed{cursor:default;animation:placeSuccess .5s ease}@keyframes placeSuccess{0%{transform:scale(1.2)}50%{transform:scale(.9)}to{transform:scale(1)}}.puzzle-pieces-tray{position:absolute;bottom:120px;left:50%;transform:translate(-50%);display:flex;gap:20px;padding:20px;background:#1e293be6;border-radius:12px;border:1px solid var(--border-color);z-index:50}.success-message{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%) scale(0);padding:40px;background:linear-gradient(135deg,var(--success-color),#10b981);border-radius:20px;text-align:center;z-index:200;animation:successPop .5s ease forwards}@keyframes successPop{to{transform:translate(-50%,-50%) scale(1)}}.success-message h2{font-size:36px;margin-bottom:12px}.success-message p{font-size:18px;opacity:.9}.scene-9{background:#101010!important;position:relative}.scene-9:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background-image:url(./Blackboard-background-DvprnlI7.jpg);background-size:cover;background-position:center;background-repeat:no-repeat;opacity:0;animation:fadeInBackground 1.5s ease-out .3s forwards;z-index:0}.scene-9 .story-text,.scene-9 .interactive-container{position:relative;z-index:1}.scene-9 .interactive-container{min-height:450px}.scene-9 .story-text h2{color:#faf8f3}.scene-9 .story-text-part1{opacity:0;transform:translateY(30px);animation:bounceInUp .8s cubic-bezier(.68,-.55,.265,1.55) .5s forwards}.scene-9 .story-text-part2{opacity:0;transform:translateY(30px);animation:bounceInUp .8s cubic-bezier(.68,-.55,.265,1.55) .7s forwards}.scene-9 .blackboard-container{position:relative;opacity:0;transform:scale(.8);animation:bounceInScale .8s cubic-bezier(.68,-.55,.265,1.55) .9s forwards;display:inline-block}.scene-9 .drawing-controls{opacity:0;transform:translateY(20px);animation:bounceInUp .6s cubic-bezier(.68,-.55,.265,1.55) 1.1s forwards}@keyframes fadeInBackground{to{opacity:.3}}@keyframes bounceInUp{to{opacity:1;transform:translateY(0)}}@keyframes bounceInScale{to{opacity:1;transform:scale(1)}}.scene-9 .story-text-part2{margin-top:-10px}.scene-9 .story-text-part2 h2{font-size:1.8rem}.drawing-game{max-width:600px;margin:0 auto}.postit-container{position:relative;width:400px;height:400px;margin:40px auto 30px;background:#fff8b8;background:linear-gradient(135deg,#fff8b8,#fff8b8 94%,#f5e6a3);transform:rotate(-1deg);overflow:visible;box-shadow:0 2px 4px #0000001a,0 8px 16px #0000001a,4px 12px 20px #00000026}.postit-container:before{content:"";position:absolute;top:-15px;left:50%;transform:translate(-50%);width:80px;height:30px;background:#c8c8c833;border-radius:2px;z-index:1}.postit-container:after{content:"";position:absolute;bottom:0;right:0;width:40px;height:40px;background:linear-gradient(315deg,rgba(0,0,0,.08) 0%,rgba(0,0,0,.04) 40%,transparent 50%);border-radius:0 0 60%;transform:rotate(2deg);z-index:4}.drawing-canvas{cursor:crosshair;display:block;width:100%;height:100%;background:transparent;position:relative;z-index:2}.reference-overlay{position:absolute;top:50%;left:45%;transform:translate(-50%,-50%);width:280px;height:280px;object-fit:contain;opacity:.4;pointer-events:none;z-index:5;filter:brightness(3) contrast(2)}.drawing-controls{display:flex;gap:12px;justify-content:center;margin-top:20px;margin-bottom:10px;position:relative;top:-35px}.drawing-controls button{background:#faf8f3;color:#1a1a1a;border:2px solid #e0e0e0;padding:12px 24px;border-radius:24px;cursor:pointer;font-size:14px;font-weight:500;transition:all .2s ease;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.drawing-controls button:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a;border-color:#333}.drawing-controls .btn-submit{width:150px;height:auto;display:block;margin:0 auto;transition:transform .2s ease,opacity .3s ease}.drawing-controls .btn-submit:hover{transform:scale(1.05)}.drawing-controls .btn-submit.invisible{visibility:hidden;pointer-events:none;position:relative}.drawing-controls .btn-submit:not(.invisible){visibility:visible;pointer-events:auto;transition:opacity .3s ease}.blackboard-container .grade-display{position:absolute;top:30px;right:40px;background:transparent;text-align:center;transition:all .3s ease;z-index:20}.grade-display.hidden{opacity:0;pointer-events:none;transform:scale(.9)}.blackboard-container .grade-display .grade-letter{width:80px;height:80px;filter:drop-shadow(0 2px 4px rgba(0,0,0,.5));animation:gradeBounceIn .6s cubic-bezier(.68,-.55,.265,1.55)}@keyframes gradeBounceIn{0%{transform:scale(0);opacity:0}70%{transform:scale(1.1)}to{transform:scale(1);opacity:1}}.score-number{display:inline-block}.grade-message{font-size:18px;color:#333;margin-bottom:25px;line-height:1.5;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}@keyframes slideDownFadeOut{0%{transform:translateY(0);opacity:1}to{transform:translateY(20px);opacity:0}}.scene-9 .story-text-part1.scene-9-exit{animation:slideDownFadeOut 1.2s ease-in-out forwards;animation-delay:0s}.scene-9 .interactive-container.scene-9-exit{animation:slideDownFadeOut 1.2s ease-in-out forwards;animation-delay:.2s}.scene-9 .story-text-part2.scene-9-exit{animation:slideDownFadeOut 1.2s ease-in-out forwards;animation-delay:.4s}.grade-perfect .grade-score{color:gold;text-shadow:0 2px 4px rgba(255,215,0,.3);animation:sparkle 2s infinite}.grade-great .grade-score{color:#10b981}.grade-good .grade-score{color:#3b82f6}.grade-try .grade-score{color:#f59e0b}.celebration{position:absolute;top:20px;left:50%;transform:translate(-50%);font-size:60px;animation:celebrateBounce 2s ease-out forwards}@keyframes sparkle{0%,to{opacity:1}50%{opacity:.8}}@keyframes celebrateBounce{0%{transform:translate(-50%) translateY(0) scale(0);opacity:0}50%{transform:translate(-50%) translateY(-30px) scale(1.5);opacity:1}to{transform:translate(-50%) translateY(-50px) scale(1);opacity:0}}
