*{-webkit-tap-highlight-color:transparent}body,html{margin:0;padding:0;width:100%;height:100%;background:linear-gradient(135deg,#ff9a9e,#fecfef,#ffb6c1,pink);background-size:400% 400%;animation:gradientBG 10s ease infinite;overflow:hidden;font-family:'Segoe UI',Tahoma,Geneva,Verdana,sans-serif}@keyframes gradientBG{0%{background-position:0 50%}50%{background-position:100% 50%}100%{background-position:0 50%}}body.striped-bg{animation:none;background:repeating-linear-gradient(90deg,#fff,#fff 45px,#ffe9ee 45px,#ffe9ee 90px)}.screen{position:absolute;top:0;left:0;width:100%;height:100%;opacity:0;visibility:hidden;transition:opacity .5s ease,visibility .5s ease;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;z-index:1}.active-screen{opacity:1;visibility:visible;z-index:10}button.back-btn{position:absolute;bottom:30px;padding:10px 20px;background:#ff4081;color:#fff;border:none;border-radius:20px;font-weight:700;cursor:pointer;box-shadow:0 4px 10px rgba(0,0,0,.2);z-index:10}.keypad-container{background:rgba(255,255,255,.7);backdrop-filter:blur(25px);-webkit-backdrop-filter:blur(25px);padding:40px 35px 35px 35px;border-radius:35px;box-shadow:0 25px 50px rgba(233,30,99,.15),inset 0 0 0 2px rgba(255,255,255,.9);border:1px solid rgba(255,192,203,.4);transition:transform .3s;display:flex;flex-direction:column;align-items:center;width:100%;max-width:360px;box-sizing:border-box}.keypad-container h2{font-size:1.6rem;margin-bottom:20px}.code-display{font-size:2.5rem;letter-spacing:12px;margin-bottom:25px;color:#d81b60;min-height:60px;font-weight:900;background:rgba(255,182,193,.25);width:100%;display:flex;justify-content:center;align-items:center;border-radius:18px;box-shadow:inset 0 4px 10px rgba(233,30,99,.08);box-sizing:border-box}.keypad{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;width:100%;justify-items:center}.key{width:70px;height:70px;border-radius:50%;background:linear-gradient(135deg,#ff80ab,#f06292);color:#fff;font-size:1.6rem;font-weight:700;display:flex;justify-content:center;align-items:center;cursor:pointer;box-shadow:0 8px 20px rgba(240,98,146,.3),inset 0 -3px 5px rgba(0,0,0,.1);transition:all .2s cubic-bezier(.175,.885,.32,1.275)}.key:hover{transform:translateY(-3px) scale(1.05);box-shadow:0 12px 25px rgba(240,98,146,.4),inset 0 -3px 5px rgba(0,0,0,.1)}.key:active{transform:scale(.95) translateY(2px);box-shadow:0 2px 5px rgba(240,98,146,.3)}.hint-btn{margin-top:25px;background:rgba(255,255,255,.5);border:1px solid rgba(255,182,193,.8);padding:10px 25px;border-radius:25px;color:#d81b60;font-weight:700;font-size:.95rem;cursor:pointer;transition:all .3s ease;box-shadow:0 5px 15px rgba(233,30,99,.05)}.hint-btn:hover{background:rgba(255,192,203,.4);transform:translateY(-2px)}.hint-btn:active{transform:scale(.95)}.modal-box{position:absolute;background:rgba(255,255,255,.85);backdrop-filter:blur(25px);-webkit-backdrop-filter:blur(25px);padding:35px 25px;border-radius:30px;box-shadow:0 25px 50px rgba(233,30,99,.2),inset 0 0 0 2px rgba(255,255,255,.9);border:1px solid rgba(255,182,193,.5);display:none;flex-direction:column;align-items:center;z-index:20;width:85%;max-width:320px;text-align:center;animation:popUpAnim .4s cubic-bezier(.175,.885,.32,1.275)}.modal-box img{width:140px;margin-bottom:15px;border-radius:15px}.btn-modal{width:auto;padding:12px 35px;border-radius:25px;font-size:1.05rem}.shake{animation:shake .5s cubic-bezier(.36,.07,.19,.97) both}@keyframes shake{10%,90%{transform:translate3d(-2px,0,0)}20%,80%{transform:translate3d(4px,0,0)}30%,50%,70%{transform:translate3d(-8px,0,0)}40%,60%{transform:translate3d(8px,0,0)}}#flowerCanvas{position:fixed;top:0;left:0;width:100vw;height:100vh;pointer-events:none;z-index:100;display:none;background:0 0!important;border:none!important;box-shadow:none!important;max-height:none!important}#menu-title{font-family:'Dancing Script',cursive;font-size:4.2rem;color:#c2185b;margin-top:-30px;margin-bottom:50px;text-shadow:2px 2px 5px rgba(255,255,255,1),0 0 15px rgba(255,105,180,.5);animation:fadeInDown .8s ease backwards}@keyframes fadeInDown{0%{transform:translateY(-20px);opacity:0}100%{transform:translateY(0);opacity:1}}.menu-grid{display:flex;gap:30px;justify-content:center;max-width:800px;margin:0 auto}.disabled-card{filter:grayscale(100%) opacity(.6);animation:none!important}.disabled-card:hover{transform:scale(1) translateY(0)!important;box-shadow:0 10px 25px rgba(255,105,180,.2)!important;border-color:#ffe9ee!important}.disabled-card:hover img{transform:scale(1) rotate(0)!important}.menu-card{background:rgba(255,255,255,.95);backdrop-filter:blur(10px);padding:25px 20px;border-radius:25px;border:2px solid #ffe9ee;cursor:pointer;box-shadow:0 10px 25px rgba(255,105,180,.2);width:130px;animation:waveFloat 3.5s ease-in-out infinite;transition:transform .3s,box-shadow .3s,border-color .3s}.menu-card p{font-family:'Segoe UI',sans-serif;font-size:1.15rem;font-weight:700;color:#d81b60;margin:10px 0 0 0;letter-spacing:.5px}.menu-card img{width:120px;height:auto;object-fit:contain;margin-bottom:5px;filter:drop-shadow(0 8px 8px #d81b60);transition:transform .3s ease}.menu-card:nth-child(1){animation-delay:0s}.menu-card:nth-child(2){animation-delay:.3s}.menu-card:nth-child(3){animation-delay:.6s}@keyframes waveFloat{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-12px) rotate(2deg)}}.menu-card:hover{transform:scale(1.1) translateY(-5px)!important;box-shadow:0 20px 40px rgba(255,105,180,.5);border-color:#ff80ab;animation-play-state:paused}.menu-card:hover img{transform:scale(1.15) rotate(5deg)}.message-container{position:relative;width:320px;height:320px;transform:translateX(-15%);margin-top:-30px;transition:.3s;z-index:2}#message-screen::before{content:'';position:absolute;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.75);opacity:0;transition:opacity 1.5s ease;z-index:0;pointer-events:none}#message-screen.dimmed::before{opacity:1}.vinyl-bg{position:absolute;top:0;right:-50%;width:100%;height:100%;border-radius:50%;background:url(https://i.pinimg.com/736x/74/ff/5f/74ff5fee193dcb08d9b60e748f0f430f.jpg) center/cover;background-color:#222;z-index:1;cursor:pointer;animation:spin 3s linear infinite;animation-play-state:paused}.vinyl-bg::after{content:'';position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:35%;height:35%;border-radius:50%;background:url(assets/vinyl.webp) center/cover;border:2px solid #111;box-shadow:inset 0 0 10px rgba(0,0,0,.5)}@keyframes spin{100%{transform:rotate(360deg)}}.message-box{position:absolute;top:0;left:0;width:100%;height:100%;background:#fdfcf9;border-radius:0!important;box-shadow:10px 15px 30px rgba(0,0,0,.4);z-index:2;padding:35px 10px 35px 30px;box-sizing:border-box;display:flex;flex-direction:column;border-left:1px solid #eaeaea}#music-hint{font-family:'Segoe UI',sans-serif;font-size:.9rem;font-weight:600;margin-top:40px;z-index:10;position:relative;color:#c2185b;text-shadow:1px 1px 3px rgba(255,255,255,.9);transition:color 1.5s ease,text-shadow 1.5s ease}#message-screen.dimmed #music-hint{color:#fff;text-shadow:0 0 5px #ff4081,0 0 15px #ff4081}.message-content{overflow-y:auto;padding-right:15px;height:100%;color:#400014;line-height:1.6;text-align:left;font-family:'Dancing Script',cursive;font-size:1.4rem;font-weight:500}.message-content::-webkit-scrollbar{width:6px;-webkit-appearance:none}.message-content::-webkit-scrollbar-track{background:rgba(0,0,0,.05);border-radius:10px}.message-content::-webkit-scrollbar-thumb{background:#d8c3c3;border-radius:10px}#gallery-screen{justify-content:center;align-items:center;overflow:hidden;padding:0;width:100%;height:100%}#gallery-screen .back-btn{position:absolute;bottom:25px;left:50%;transform:translateX(-50%);z-index:50}.gallery-header{margin-top:-30px;margin-bottom:35px;text-align:center;z-index:10}.gallery-title{font-family:'Dancing Script',cursive;font-size:3.2rem;color:#c2185b;margin:0;text-shadow:2px 2px 4px rgba(255,255,255,.8)}.gallery-subtitle{font-family:'Segoe UI',sans-serif;font-size:1.05rem;color:#880e4f;margin-top:5px;margin-bottom:0;font-weight:500}.gallery-container{display:grid;grid-template-columns:repeat(3,1fr);gap:25px;width:85%;max-width:600px;margin:0 auto;margin-top:-40px}.polaroid{background:#fff;padding:8px 8px 25px 8px;box-shadow:0 5px 15px rgba(0,0,0,.15);border-radius:2px;transform:rotate(calc(var(--r) * 1deg));cursor:pointer;position:relative;z-index:1;transition:transform .3s cubic-bezier(.25,.8,.25,1),box-shadow .3s,z-index 0s}@keyframes dropIn{0%{transform:translateY(-50px) rotate(0) scale(.8);opacity:0}100%{opacity:1}}.polaroid:hover{transform:scale(1.15) rotate(0) translateY(-10px)!important;box-shadow:0 25px 40px rgba(194,24,91,.4)!important;z-index:100!important}.polaroid img{width:100%;aspect-ratio:1/1;object-fit:cover;background:#eee}.polaroid-date{font-family:'Courier New',Courier,monospace;font-size:1.2rem;color:#880e4f;margin-top:10px;text-align:center;font-weight:700;opacity:.8}@media (max-width:768px){.message-container{width:280px;height:280px}.gallery-container{gap:10px}.polaroid{padding:8px 8px 25px 8px}}@media (max-width:850px){#menu-title{font-size:2.4rem;margin-top:-50px;margin-bottom:45px;line-height:1.3;max-width:220px;margin-left:auto;margin-right:auto;padding:0}.menu-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:30px;width:85%;max-width:500px;margin:0 auto}.menu-card{width:100%;max-width:200px;padding:30px 20px;margin:0 auto;box-sizing:border-box}.menu-card img{width:90px}.menu-card p{font-size:1.3rem}#secret-title{font-size:4.5rem;margin-top:-60px}.cake-container{transform:scale(1.6);margin-top:80px;margin-bottom:50px}#wish-text{font-size:1.3rem;margin-top:40px}.message-container{width:280px;height:280px}.gallery-container{grid-template-columns:repeat(2,1fr);gap:20px;max-width:600px}.polaroid{padding:10px 10px 35px 10px}}@media (max-width:500px){.safe-text{font-size:1.1rem;margin-top:5px;padding-left:35px!important;padding-right:35px!important;box-sizing:border-box;text-align:center}.keypad-container{padding:20px}.key{width:50px;height:50px;font-size:1.2rem}.code-display{font-size:1.5rem}#menu-title{font-size:2.6rem;margin-top:-80px;margin-bottom:55px;line-height:1.2;padding:0 15px}.menu-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:15px;width:80%;margin:0 auto}.menu-card{width:100%;max-width:130px;padding:15px 10px;border-radius:18px;margin:0 auto;box-sizing:border-box}.menu-card p{font-size:.9rem;margin-top:8px}.menu-card img{width:50px;height:50px;margin-bottom:2px}.message-container{width:220px;height:220px;transform:translateX(-25%);margin-top:-50px}.message-box{padding:20px 5px 20px 20px}.message-content{font-size:1.2rem;padding-right:10px;overflow-y:scroll!important}.message-content::-webkit-scrollbar{width:6px!important;display:block!important;-webkit-appearance:none!important}.message-content::-webkit-scrollbar-track{background:rgba(0,0,0,.08)!important;border-radius:10px!important}.message-content::-webkit-scrollbar-thumb{background:#d8c3c3!important;border-radius:10px!important}.gallery-container{grid-template-columns:repeat(2,1fr);gap:10px;width:75%;max-width:320px;margin-top:0}.gallery-header{margin-top:-40px;margin-bottom:20px}.gallery-title{font-size:2.2rem}.gallery-subtitle{font-size:.85rem}.polaroid{padding:5px 5px 18px 5px}.lightbox-content{box-sizing:border-box;width:75%;max-width:270px;padding:10px 10px 25px 10px}.close-lightbox{top:-12px;right:0;width:30px;height:30px;font-size:18px}.caption-text{font-size:.9rem;margin-top:15px}#hacker-screen.active-screen{position:fixed!important;top:0!important;left:0!important;right:0!important;bottom:0!important;width:100vw!important;height:100vh!important;min-height:100vh!important;display:block!important;transform:none!important;margin:0!important;padding:0!important}#hacker-screen #finalScene,#hacker-screen #matrixCanvas,#hacker-screen #sparkleCanvas,#hacker-screen #textStage{position:fixed!important;top:0!important;left:0!important;width:100vw!important;height:100vh!important}#secret-title{font-size:3.5rem;margin-top:-50px}.cake-container{transform:scale(1.1);margin-top:40px;margin-bottom:20px}#wish-text{font-size:.95rem;margin-top:30px}}.lightbox-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.85);display:none;justify-content:center;align-items:center;z-index:100;opacity:0;transition:opacity .3s ease}.lightbox-overlay.show{display:flex;opacity:1}.lightbox-content{background:#fff;padding:15px 15px 35px 15px;border-radius:5px;width:90%;max-width:350px;display:flex;flex-direction:column;align-items:center;position:relative;box-shadow:0 10px 30px rgba(0,0,0,.5);transform:scale(.8);transition:transform .3s ease}.lightbox-overlay.show .lightbox-content{transform:scale(1)}.lightbox-content img{width:100%;height:auto;max-height:55vh;object-fit:cover;border-radius:3px;background:#eee}.caption-text{margin-top:20px;font-family:'Courier New',Courier,monospace;font-size:1.1rem;color:#880e4f;font-weight:700;min-height:24px;text-align:center;line-height:1.4;width:100%;word-wrap:break-word;white-space:normal}.close-lightbox{position:absolute;top:-15px;right:-15px;background:#ff4081;color:#fff;width:35px;height:35px;border-radius:50%;display:flex;justify-content:center;align-items:center;font-size:24px;font-weight:700;cursor:pointer;box-shadow:0 4px 10px rgba(0,0,0,.3);border:2px solid #fff}.caption-text::after{content:'|';animation:blink .7s infinite}@keyframes blink{0%,100%{opacity:1}50%{opacity:0}}#safe-screen{background:radial-gradient(circle at center,#fff 0,#ffe9ee 40%,#ffb6c1 100%)}.safe-container{display:flex;flex-direction:column;align-items:center;cursor:pointer;padding:20px;transition:transform .3s cubic-bezier(.175,.885,.32,1.275)}.safe-container:hover{transform:translateY(-8px) scale(1.02)}.safe-container:active{transform:scale(.95)}.safe-img{width:180px;animation:floatSafe 3s ease-in-out infinite;filter:drop-shadow(0 20px 25px rgba(233, 30, 99, .35));transition:transform .3s}.safe-text{font-family:'Libre Baskerville',serif;color:#d81b60;background:0 0;font-size:1.3rem;font-weight:700;font-style:normal;text-transform:capitalize;letter-spacing:1px;margin-top:-15px;padding-left:30px;padding-right:30px;box-shadow:none;text-align:center;animation:pulseText 2s ease-in-out infinite;text-shadow:1px 1px 4px rgba(255,255,255,.9)}@keyframes floatSafe{0%,100%{transform:translateY(0)}50%{transform:translateY(-15px)}}@keyframes pulseText{0%,100%{transform:scale(1);opacity:.7}50%{transform:scale(1.05);opacity:1}}.fullscreen-btn{position:fixed;bottom:25px;left:25px;width:45px;height:45px;background:rgba(255,255,255,.85);backdrop-filter:blur(10px);border:2px solid #ff80ab;border-radius:50%;font-size:20px;color:#d81b60;display:flex;justify-content:center;align-items:center;cursor:pointer;z-index:1000;box-shadow:0 5px 15px rgba(233,30,99,.3);transition:all .2s}.fullscreen-btn:active{transform:scale(.9)}.error-style{border-color:rgba(239,83,80,.5)}.error-style h3{color:#d32f2f;margin-top:0;font-size:1.5rem;font-weight:800}.error-style img{aspect-ratio:1/1;object-fit:cover;border:2px solid #ef5350;box-shadow:0 5px 15px rgba(239,83,80,.3)}.btn-error{background:linear-gradient(135deg,#ef5350,#c62828);color:#fff;border:none;font-weight:700;cursor:pointer;box-shadow:0 8px 20px rgba(239,83,80,.3);transition:transform .2s}.btn-error:active{transform:scale(.95)}.hint-style{border-color:rgba(255,192,203,.8)}.hint-style h3{color:#c2185b;margin-top:0;font-size:2.2rem;font-family:'Dancing Script',cursive}.hint-style p{color:#880e4f;font-weight:600;margin-bottom:25px;font-size:1.05rem}.hint-style img{width:100%;max-width:240px;aspect-ratio:1/1;object-fit:cover;border-radius:20px;border:2px solid #ffb6c1;box-shadow:0 8px 25px rgba(233,30,99,.2);margin-bottom:25px}.btn-hint{background:linear-gradient(135deg,#ff80ab,#f06292);color:#fff;border:none;font-weight:700;cursor:pointer;box-shadow:0 8px 20px rgba(233,30,99,.3);transition:transform .2s}.btn-hint:active{transform:scale(.95)}.music-note{position:absolute;top:50%;left:100%;font-size:3.2rem;z-index:-1;pointer-events:none;opacity:0;color:#fff;text-shadow:0 0 10px #ff4081,0 0 20px #ff4081,0 0 40px #ff4081}@keyframes floatNote{0%{transform:translate(-50%,-50%) scale(.1) rotate(0);opacity:0}10%{opacity:1}90%{opacity:1}100%{transform:translate(var(--tx),var(--ty)) scale(var(--s)) rotate(var(--rot));opacity:0}}.lightbox-content{z-index:10}.lightbox-balloon{position:absolute;bottom:-10%;font-size:2.2rem;z-index:1;pointer-events:none;opacity:0}@keyframes floatUp{0%{transform:translateY(0) rotate(0);opacity:0}10%{opacity:1}90%{opacity:1}100%{transform:translateY(-120vh) rotate(var(--rot));opacity:0}}.cake-container{position:relative;width:200px;height:180px;margin-top:30px;display:flex;flex-direction:column;align-items:center;justify-content:flex-end}.cake-layer{border-radius:8px;opacity:0;position:relative}.layer-bottom{width:180px;height:50px;background:#ffb6c1;z-index:1}.layer-middle{width:150px;height:45px;background:#ff9a9e;z-index:2}.layer-top{width:120px;height:45px;background:#fecfef;z-index:3;border-top:4px solid #fff}.icing{position:absolute;top:0;left:0;width:100%;height:15px;background:#fff;border-radius:10px 10px 15px 15px;opacity:0}.icing::after{content:'';position:absolute;top:15px;left:10px;width:15px;height:25px;background:#fff;border-radius:20px;box-shadow:25px 5px 0 -2px #fff,55px -5px 0 -4px #fff,80px 2px 0 -1px #fff}.candle{position:absolute;bottom:140px;width:12px;height:35px;background:repeating-linear-gradient(45deg,#fff,#fff 5px,#ff4081 5px,#ff4081 10px);border-radius:3px;opacity:0;z-index:4;cursor:pointer;transition:transform .2s}.candle:hover{transform:scale(1.1)}.flame{position:absolute;top:-20px;left:50%;transform:translateX(-50%);width:14px;height:20px;background:#ffea00;border-radius:50% 50% 20% 20%;box-shadow:0 0 15px #ffea00,0 0 25px #ff9a00;opacity:0;transition:opacity .3s ease,transform .3s ease}.smoke{position:absolute;top:-30px;left:50%;transform:translateX(-50%);width:8px;height:8px;background:rgba(255,255,255,.8);border-radius:50%;opacity:0;filter:blur(2px);pointer-events:none}.active-screen .layer-bottom{animation:dropCake .8s cubic-bezier(.175,.885,.32,1.275) .5s forwards}.active-screen .layer-middle{animation:dropCake .8s cubic-bezier(.175,.885,.32,1.275) 1.2s forwards}.active-screen .layer-top{animation:dropCake .8s cubic-bezier(.175,.885,.32,1.275) 1.9s forwards}.active-screen .icing{animation:fadeIn .5s ease 2.6s forwards}.active-screen .candle{animation:dropCake .8s cubic-bezier(.175,.885,.32,1.275) 3.3s forwards}.active-screen .flame{animation:ignite .5s ease 4s forwards,flicker .15s ease infinite alternate 4.5s}#secret-screen.show-text #secret-title{animation:fadeIn 1s ease forwards}#secret-screen.show-text #wish-text{animation:fadeIn 1s ease .5s forwards}@keyframes dropCake{0%{transform:translateY(-150px);opacity:0}100%{transform:translateY(0);opacity:1}}@keyframes ignite{0%{opacity:0;transform:translateX(-50%) scale(0)}100%{opacity:1;transform:translateX(-50%) scale(1)}}@keyframes flicker{0%{transform:translateX(-50%) scale(1) rotate(-1deg);box-shadow:0 0 10px #ffea00,0 0 20px #ff9a00}100%{transform:translateX(-50%) scale(1.05) rotate(1deg);box-shadow:0 0 15px #ffea00,0 0 25px #ff9a00}}@keyframes fadeIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes smokeRise{0%{opacity:1;transform:translate(-50%,0) scale(1)}100%{opacity:0;transform:translate(-50%,-60px) scale(3)}}#game-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;height:100%}.header{display:flex;justify-content:center;align-items:center;width:100%;max-width:400px;margin-bottom:15px;z-index:10}#game-screen>.header>.btn-back{position:absolute!important;top:25px!important;left:25px!important;z-index:100!important;width:fit-content!important;height:fit-content!important;min-height:0!important;padding:10px 20px!important;font-size:14px!important;border-radius:15px!important;display:block!important;align-self:flex-start!important}.header h2{color:#c2185b;font-size:clamp(18px,4vw,24px);margin:0;background:rgba(255,255,255,.9);padding:8px 15px;border-radius:12px;box-shadow:0 4px 10px rgba(233,30,99,.1)}.btn{padding:16px 20px;font-size:18px;font-weight:700;border:none;border-radius:15px;cursor:pointer;transition:all .3s ease;box-shadow:0 5px 15px rgba(0,0,0,.1);width:100%}.btn:active{transform:translateY(3px) scale(.97);box-shadow:0 2px 5px rgba(0,0,0,.1)}.btn-easy{background-color:#f8bbd0;color:#880e4f}.btn-easy:hover{background-color:#f48fb1}.btn-medium{background-color:#f06292;color:#fff}.btn-medium:hover{background-color:#e91e63}.btn-hard{background-color:#c2185b;color:#fff}.btn-hard:hover{background-color:#ad1457}#puzzleCanvas{background:linear-gradient(to bottom,#fff0f5 0,#ffb6c1 100%);border:5px solid #fff;border-radius:15px;box-shadow:0 10px 25px rgba(194,24,91,.3);cursor:grab;-webkit-tap-highlight-color:transparent;max-width:100%;max-height:70vh;object-fit:contain;z-index:5}#puzzleCanvas:active{cursor:grabbing}.win-popup{position:absolute;bottom:25px;left:50%;transform:translateX(-50%);display:none;flex-direction:column;align-items:center;width:85%;max-width:320px;background:rgba(255,255,255,.85);backdrop-filter:blur(15px);-webkit-backdrop-filter:blur(15px);padding:45px 25px 30px 25px;border-radius:30px;box-shadow:0 20px 50px rgba(194,24,91,.3),inset 0 0 0 2px rgba(255,255,255,.7);z-index:100;text-align:center;animation:popUpAnim .8s cubic-bezier(.175,.885,.32,1.275)}.win-popup h3{margin:0;font-size:1.6rem;color:#d81b60;font-weight:900;text-transform:uppercase;letter-spacing:1px}.win-popup #message{font-size:1rem;font-weight:600;color:#880e4f;margin:10px 0 25px 0;line-height:1.5}.win-popup #win-btn{display:block!important;margin-top:0;width:100%;border-radius:50px;background:linear-gradient(45deg,#ff4081,#c2185b,#ff4081);background-size:200% auto;color:#fff;font-size:1.1rem;font-weight:700;padding:15px 0;border:none;box-shadow:0 8px 20px rgba(194,24,91,.4);transition:all .3s ease;animation:gradientMove 3s infinite linear;cursor:pointer}.win-popup #win-btn:active{transform:scale(.95)}@keyframes gradientMove{0%{background-position:0 50%}100%{background-position:200% 50%}}.rain-photo{position:fixed;top:-200px;pointer-events:none;z-index:50;width:140px!important;height:140px!important;object-fit:contain;border:none;border-radius:0;filter:drop-shadow(0 5px 8px rgba(0, 0, 0, .25));animation:fallDown linear forwards}@keyframes fallDown{0%{transform:translateY(0) rotate(var(--start-rot));opacity:.9}100%{transform:translateY(calc(100vh + 300px)) rotate(var(--end-rot));opacity:0}}@media (max-width:600px){#game-screen .header{order:2;margin-top:15px;margin-bottom:0}#game-screen .header h2{font-size:16px;padding:6px 15px}#puzzleCanvas{margin-top:80px}.rain-photo{width:80px!important;height:80px!important}}#secret-screen{z-index:10}#secret-title,#wish-text,.cake-container{z-index:10;position:relative}#secret-title{font-family:'Dancing Script',cursive;font-size:3.5rem;color:#fff;margin-top:-50px;opacity:0}#wish-text{font-family:'Segoe UI',sans-serif;font-size:.95rem;color:#880e4f;font-weight:600;margin-top:30px;opacity:0}#secret-screen::before{content:'';position:absolute;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.85);opacity:0;transition:opacity 1.5s ease,background 1.5s ease;z-index:1;pointer-events:none}#secret-screen.dimmed::before{opacity:1}#secret-screen.candle-lit::before{background:radial-gradient(circle at 50% 65%,rgba(0,0,0,.1) 0,rgba(0,0,0,.85) 65%)}#secret-screen::after{content:'';position:absolute;top:0;left:0;width:100%;height:100%;background:#000;opacity:0;z-index:999;pointer-events:none;transition:opacity 2.5s ease-in-out}#secret-screen.pitch-black::after{opacity:1}#hacker-screen{background-color:#000;font-family:Poppins,sans-serif;position:fixed!important;top:0!important;left:0!important;width:100vw!important;height:100vh!important;height:100dvh!important;z-index:1000!important;display:block!important}#matrixCanvas,#sparkleCanvas{position:absolute!important;top:0!important;left:0!important;width:100%!important;height:100%!important;display:block;pointer-events:none}#matrixCanvas{z-index:1}#sparkleCanvas{z-index:15}#finalScene,#textStage{position:absolute!important;top:0!important;left:0!important;width:100%!important;height:100%!important;z-index:10;display:flex!important;justify-content:center;align-items:center;pointer-events:none}.cinematic-text{font-family:'Share Tech Mono',monospace;font-size:clamp(3rem,10vw,7rem);font-weight:900;color:#fff;text-transform:uppercase;text-shadow:2px 2px 10px #ff1493,-2px -2px 10px #0ff;opacity:0;transform:scale(.8);position:absolute;text-align:center;letter-spacing:5px;transition:transform 3s cubic-bezier(.25,1,.5,1)}.cinematic-text.active{opacity:1;transform:scale(1.2);animation:glitch-skew .3s cubic-bezier(.25,.46,.45,.94) both infinite}.cinematic-text.stable{animation:none;font-family:Poppins,sans-serif;text-shadow:0 0 15px #ff69b4,0 0 30px #ff1493,0 0 50px #ff1493}@keyframes glitch-skew{0%{transform:skew(0) scale(1.1)}20%{transform:skew(-10deg) scale(1.1)}40%{transform:skew(10deg) scale(1.1)}60%{transform:skew(-5deg) scale(1.1)}80%{transform:skew(5deg) scale(1.1)}100%{transform:skew(0) scale(1.1)}}.heart-beat{font-size:clamp(4rem,15vw,8rem);color:#ff69b4;text-shadow:0 0 30px #ff1493,0 0 60px #c71585;opacity:0;transform:scale(.5);position:absolute;transition:opacity .5s ease}.heart-beat.active{opacity:1;animation:beat .8s infinite alternate cubic-bezier(.4,0,.2,1)}@keyframes beat{0%{transform:scale(1)}100%{transform:scale(1.4)}}#finalScene{z-index:20;display:flex;justify-content:center;align-items:center;opacity:0;pointer-events:none;transition:opacity 2s ease-in-out}#finalScene.visible{opacity:1;pointer-events:auto}.glass-card{background:rgba(10,0,5,.6);border:1px solid rgba(255,105,180,.5);backdrop-filter:blur(15px);-webkit-backdrop-filter:blur(15px);border-radius:20px;padding:40px 30px;text-align:center;max-width:400px;width:85%;box-shadow:0 10px 40px rgba(255,20,147,.4),inset 0 0 20px rgba(255,105,180,.2);transform:translateY(50px) scale(.9);transition:transform 2s cubic-bezier(.25,1,.5,1);animation:card-pulse 3s infinite alternate}@keyframes card-pulse{0%{box-shadow:0 10px 40px rgba(255,20,147,.4),inset 0 0 20px rgba(255,105,180,.2)}100%{box-shadow:0 10px 60px rgba(255,20,147,.7),inset 0 0 30px rgba(255,105,180,.5)}}#finalScene.visible .glass-card{transform:translateY(0) scale(1)}.glass-card img{width:100%;max-width:200px;border-radius:15px;box-shadow:0 8px 25px rgba(0,0,0,.8);margin-bottom:20px;border:2px solid rgba(255,105,180,.3)}.glass-card h2{margin:0;color:#fff;font-size:clamp(1rem,4vw,1.5rem);text-shadow:0 0 15px #ff69b4,0 0 25px #ff1493;letter-spacing:2px;font-weight:900}.glass-card p{color:pink;font-size:1rem;margin-top:10px;font-weight:400;line-height:1.5}body.tab-paused *,body.tab-paused ::after,body.tab-paused ::before{animation-play-state:paused!important;transition-duration:0s!important}