@import"https://fonts.googleapis.com/css2?family=Great+Vibes&family=Sacramento&display=swap";.theme-birthday html,.theme-birthday body,.theme-birthday .container{height:100%;font-family:Great Vibes,cursive;overflow:hidden;margin:0;padding:0}.theme-birthday{background:#ffe6fa;background:linear-gradient(to bottom,#ffe6fa,#ff9a9e,#fad0c4);color:#fff;width:100vw;height:100vh;position:absolute;top:0;left:0;overflow:hidden}body.spotlight-active .theme-birthday .theme-birthday .giftbox{pointer-events:auto}.theme-birthday div#beach,.theme-birthday div#sea,.theme-birthday .moon,.theme-birthday #people,.theme-birthday #car,.theme-birthday .wave2-parent,.theme-birthday div#video{display:none}.theme-birthday canvas#canvas{position:absolute;top:0;left:0;width:100%;height:100%;z-index:0}.theme-birthday .merrywrap{position:absolute;right:0;left:0;bottom:0;top:0;background-color:transparent;transition:background-color .5s ease;z-index:10;pointer-events:none}.theme-birthday .giftbox{pointer-events:auto;position:absolute;width:300px;height:200px;left:50%;margin-left:-150px;top:50%;z-index:10;cursor:pointer;perspective:1000px;pointer-events:none;transition:pointer-events .3s ease}body.spotlight-active .theme-birthday .giftbox{pointer-events:auto}.theme-birthday .merrywrap:active .giftbox:not(.spotlight-active .giftbox){animation:boxLockedShake .4s ease-in-out}@keyframes boxLockedShake{0%,to{transform:translate(0)}25%{transform:translate(-5px)}75%{transform:translate(5px)}}.theme-birthday .giftbox>div{background:#ff5e62;position:absolute;box-shadow:0 10px 20px #0003;border:1px solid #ff9966;border-radius:5px}.theme-birthday .giftbox:after{position:absolute;color:#d63384;width:100%;content:attr(data-text);left:0;bottom:-60px;font-size:35px;font-family:Sacramento,cursive;text-align:center;text-shadow:1px 1px 2px rgba(255,255,255,.8);animation:heartbeat 1.5s infinite}@keyframes heartbeat{0%{transform:scale(1)}15%{transform:scale(1.1)}30%{transform:scale(1)}45%{transform:scale(1.1)}60%{transform:scale(1)}to{transform:scale(1)}}.theme-birthday .giftbox .cover{width:100%;top:0;left:0;height:25%;z-index:2;border-bottom:4px solid #fff}.theme-birthday .giftbox .cover:before{position:absolute;height:100%;left:50%;width:50px;transform:translate(-50%);background:#fff}.theme-birthday .giftbox .cover>div{position:absolute;width:50px;height:50px;left:50%;top:-50px;transform:translate(-50%)}.theme-birthday .giftbox .cover>div:before,.theme-birthday .giftbox .cover>div:after{position:absolute;left:0;top:0;width:100%;height:100%;content:"";box-shadow:inset 0 0 0 15px #fff;border-radius:30px;transform-origin:50% 100%}.theme-birthday .giftbox .cover>div:before{transform:translate(-45%) skewY(40deg)}.theme-birthday .giftbox .cover>div:after{transform:translate(45%) skewY(-40deg)}.theme-birthday .giftbox .box{right:5%;left:5%;height:80%;bottom:0}.theme-birthday .giftbox .box:before{width:50px;height:100%;left:50%;transform:translate(-50%);background:#fff;position:absolute;content:""}.theme-birthday .step-1 .giftbox{animation:wobble .5s linear infinite forwards}.theme-birthday .step-1 .cover{animation:wobble .5s linear infinite .1s forwards}.theme-birthday .step-2 .giftbox .cover{animation:flyUp 1s ease-in-out forwards}.theme-birthday .step-2 .giftbox .box{animation:flyDown 1s ease-in-out .1s forwards}.theme-birthday .step-2 .giftbox:after{opacity:0;transition:opacity .5s}.theme-birthday .icons{position:absolute;left:0;height:auto;transform:translateY(10px);width:100%;z-index:5;pointer-events:none;text-align:center}.theme-birthday .icons .row{width:100%;text-align:center;white-space:nowrap}.theme-birthday .icons .row span{color:#d63384;font-family:Great Vibes,cursive;font-size:60px;display:inline-block;opacity:0;text-shadow:2px 2px 4px rgba(255,255,255,.8);transition:transform .5s ease-in,opacity .7s}.theme-birthday .step-3 .giftbox,.theme-birthday .step-4 .giftbox{opacity:0;pointer-events:none}.theme-birthday .step-3 .icons span,.theme-birthday .step-4 .icons span{opacity:1;animation:gentleBob 2s infinite ease-in-out alternate}@keyframes gentleBob{0%{transform:translateY(0)}to{transform:translateY(-10px)}}.theme-birthday .memory-gallery{position:absolute;top:50%;left:50%;transform:translate(-50%,-45%);width:90%;max-width:1000px;height:auto;z-index:50;display:flex;flex-direction:column;align-items:center;gap:20px;opacity:0;transition:opacity 1.5s ease-in;pointer-events:none}.theme-birthday .memory-gallery>*{pointer-events:auto}.theme-birthday .video-container{width:100%;max-width:600px;aspect-ratio:16/9;background:#000;border-radius:15px;box-shadow:0 15px 40px #0000004d;overflow:hidden;position:relative;border:3px solid #fff;order:2}.theme-birthday .video-container iframe{width:100%;height:100%}.theme-birthday .photo-grid{display:flex;justify-content:center;gap:30px;flex-wrap:wrap;width:100%;order:3}.theme-birthday .wave2{margin:0;position:relative;animation:floatHeart 6s ease-in-out infinite;cursor:pointer;transition:transform .3s}.theme-birthday .wave2:hover{transform:scale(1.1) rotate(0)!important;z-index:100}.theme-birthday .wave2 img{border:6px solid #fff;border-radius:10px;box-shadow:0 5px 15px #0000001a;width:150px;height:auto;display:block}.theme-birthday .wave2 figcaption{font-family:Sacramento,cursive;color:#c02669;text-align:center;margin-top:5px;font-size:1.5rem;font-weight:700;text-shadow:1px 1px 0px rgba(255,255,255,.5)}@keyframes floatHeart{0%{transform:translateY(0) rotate(-2deg)}50%{transform:translateY(-10px) rotate(2deg)}to{transform:translateY(0) rotate(-2deg)}}@keyframes wobble{25%{transform:rotate(4deg)}75%{transform:rotate(-2deg)}}@keyframes flyUp{0%{transform:translateY(0);opacity:1}to{transform:translateY(-1000px) rotate(10deg);opacity:0}}@keyframes flyDown{0%{transform:translateY(0);opacity:1}to{transform:translateY(1000px);opacity:0}}.theme-birthday #message-modal{position:fixed;top:0;left:0;width:100%;height:100%;background:#0000004d;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:2000;display:flex;justify-content:center;align-items:center;opacity:0;pointer-events:none;transition:opacity .3s ease}.theme-birthday #message-modal.visible{opacity:1;pointer-events:auto}.theme-birthday .modal-content{background:#ffffffd9;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);padding:40px;border-radius:20px;text-align:center;position:relative;box-shadow:0 20px 50px #0003;border:2px solid #fff;max-width:80%;min-width:300px;animation:popIn .4s cubic-bezier(.175,.885,.32,1.275);display:flex;flex-direction:column;align-items:center;justify-content:center}.theme-birthday .modal-image{max-width:100%;max-height:250px;border-radius:10px;margin-bottom:20px;border:4px solid #fff;box-shadow:0 4px 15px #0000001a}@keyframes popIn{0%{transform:scale(.5);opacity:0}to{transform:scale(1);opacity:1}}.theme-birthday .close-btn{position:absolute;top:10px;right:15px;font-size:30px;cursor:pointer;color:#ff5e62;font-family:sans-serif;transition:transform .2s}.theme-birthday .close-btn:hover{transform:scale(1.1)}.theme-birthday #love-message-text{font-family:Great Vibes,cursive;font-size:3rem;color:#d63384;margin:0;line-height:1.2}.theme-birthday .text-neon{color:#fff!important;text-shadow:0 0 5px #ff00de,0 0 10px #ff00de,0 0 20px #ff00de,0 0 40px #ff00de!important;animation:neonPulse 1.5s infinite alternate}@keyframes neonPulse{0%{text-shadow:0 0 5px #ff00de,0 0 10px #ff00de,0 0 20px #ff00de}to{text-shadow:0 0 10px #ff00de,0 0 20px #ff00de,0 0 30px #ff00de,0 0 40px #ff00de,0 0 50px #ff00de}}.theme-birthday .text-shimmer{background:linear-gradient(45deg,#d63384,#f96,#d63384);background-size:200% auto;color:transparent!important;-webkit-background-clip:text;background-clip:text;animation:shimmer 2s linear infinite;font-weight:700}@keyframes shimmer{to{background-position:200% center}}.theme-birthday .text-bounce{animation:bounce 1s infinite alternate}@keyframes bounce{0%{transform:translateY(0)}to{transform:translateY(-15px)}}.theme-birthday .text-glitch{position:relative;color:#d63384}.theme-birthday .text-glitch:before,.theme-birthday .text-glitch:after{content:attr(innerText);position:absolute;top:0;left:0;width:100%;height:100%}.theme-birthday .text-glitch:before{left:2px;text-shadow:-1px 0 #00ffff;clip:rect(44px,450px,56px,0);animation:glitch-anim 5s infinite linear alternate-reverse}.theme-birthday .text-glitch:after{left:-2px;text-shadow:-1px 0 #ff00ff;clip:rect(44px,450px,56px,0);animation:glitch-anim2 5s infinite linear alternate-reverse}@keyframes glitch-anim{0%{clip:rect(13px,9999px,86px,0)}25%{clip:rect(69px,9999px,20px,0)}50%{clip:rect(6px,9999px,11px,0)}75%{clip:rect(45px,9999px,60px,0)}to{clip:rect(93px,9999px,47px,0)}}@keyframes glitch-anim2{0%{clip:rect(81px,9999px,55px,0)}25%{clip:rect(7px,9999px,96px,0)}50%{clip:rect(89px,9999px,7px,0)}75%{clip:rect(85px,9999px,63px,0)}to{clip:rect(2px,9999px,41px,0)}}.theme-birthday .text-rainbow{background-image:linear-gradient(to left,violet,indigo,#00f,green,#ff0,orange,red);-webkit-background-clip:text;background-clip:text;color:transparent!important;animation:rainbow 3s linear infinite}@keyframes rainbow{to{background-position:1000px 0}}.theme-birthday .text-rotate{animation:softRotate 2s infinite ease-in-out;display:inline-block}@keyframes softRotate{0%{transform:rotate(-5deg)}50%{transform:rotate(5deg)}to{transform:rotate(-5deg)}}.theme-birthday .mini-box{position:absolute;width:30px;width:80px;height:80px;background-repeat:no-repeat;background-position:center center;background-size:contain;z-index:1500;cursor:pointer;display:flex;justify-content:center;align-items:center;transition:transform .2s,opacity .8s ease-out;opacity:0}.theme-birthday .mini-box.spawned{opacity:1}.theme-birthday .mini-box:before,.theme-birthday .mini-box:after{display:none!important}.theme-birthday .mini-box:hover{transform:scale(1.1)}.theme-birthday .click-me-text{position:absolute;top:2px;left:50%;transform:translate(-50%);background:#fff;color:#d63384;font-family:sans-serif;font-size:10px;padding:2px 5px;border-radius:5px;white-space:nowrap;opacity:.9;box-shadow:0 2px 5px #0000001a;animation:gentleBob 1s infinite alternate;pointer-events:none;z-index:20}.theme-birthday .click-me-text:after{content:"";position:absolute;bottom:-4px;left:50%;transform:translate(-50%);border-width:4px 4px 0;border-style:solid;border-color:#fff transparent transparent transparent}.theme-birthday .mini-box.transformed .click-me-text{display:none}.theme-birthday .mini-box.shake-box{transform:none!important;animation:mildShake .5s infinite}@keyframes mildShake{0%{transform:translate(1px,1px) rotate(0)}25%{transform:translate(-1px,-2px) rotate(-2deg)}50%{transform:translate(-3px) rotate(2deg)}75%{transform:translate(3px,2px) rotate(0)}to{transform:translate(1px,-1px) rotate(-2deg)}}.theme-birthday .mini-box.transformed{background:transparent;border:none;box-shadow:none;animation:none;width:auto!important;height:auto!important;overflow:visible;z-index:1000}.theme-birthday .mini-box.transformed:before,.theme-birthday .mini-box.transformed:after{display:none!important}.theme-birthday .floating-img{width:120px;height:auto;border-radius:10px;box-shadow:0 5px 15px #0003;max-width:90vw}.theme-birthday .game-options{display:flex;justify-content:center;gap:20px;margin-top:20px;width:100%}.theme-birthday .birthday-text{font-family:Sacramento,cursive;font-size:4rem;color:#fff;text-shadow:0 0 10px #ff00de,0 0 20px #ff00de;animation:neonGlow 1.5s ease-in-out infinite alternate;text-align:center;margin-top:20px}@keyframes neonGlow{0%{text-shadow:0 0 10px #fff,0 0 20px #ff00de,0 0 30px #ff00de}to{text-shadow:0 0 5px #fff,0 0 10px #ff00de,0 0 15px #ff00de}}.theme-birthday .game-btn{background:linear-gradient(135deg,#d63384,#ff69b4);color:#fff;border:3px solid #fff;padding:12px 30px;font-family:Great Vibes,cursive;font-weight:700;font-size:1.8rem;border-radius:12px;cursor:pointer;transition:all .3s ease;box-shadow:0 5px 15px #d6338466,inset 0 -2px 5px #0003;text-shadow:1px 1px 2px rgba(0,0,0,.3);position:relative;overflow:hidden}.theme-birthday .game-btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);transition:left .5s}.theme-birthday .game-btn:hover:before{left:100%}.theme-birthday .game-btn:hover{transform:translateY(-2px) scale(1.05);box-shadow:0 8px 20px #d6338499,inset 0 -2px 5px #0000004d;border-color:#ffe0f0}.theme-birthday .floating-heart{position:relative;width:60px;height:60px;background-color:#ff5e62;margin-top:30px;display:flex;justify-content:center;align-items:center;text-align:center;box-shadow:0 5px 15px #ff5e6266;animation:floatingHeartBeat 2s infinite ease-in-out;transform:rotate(-45deg)}.theme-birthday .floating-heart:before,.theme-birthday .floating-heart:after{content:"";position:absolute;width:60px;height:60px;background-color:inherit;border-radius:50%}.theme-birthday .floating-heart:before{top:-30px;left:0}.theme-birthday .floating-heart:after{left:30px;top:0}.theme-birthday .floating-heart span{transform:rotate(45deg);position:absolute;top:0;left:0;width:100%;height:100%;display:flex;justify-content:center;align-items:center;z-index:5;color:#fff;font-weight:700;font-size:10px;font-family:"Exo 2",sans-serif;line-height:1.2;text-shadow:0 1px 2px rgba(0,0,0,.3);pointer-events:none}@keyframes floatingHeartBeat{0%,to{transform:rotate(-45deg) scale(1)}50%{transform:rotate(-45deg) scale(1.1)}}.theme-birthday .modal-content.heart-modal{background-color:transparent!important;box-shadow:none!important;width:300px;height:300px;top:50%;transform:translate(-50%,-50%) rotate(-45deg);padding:0;border:none;border-radius:0;-webkit-backdrop-filter:none;backdrop-filter:none}.theme-birthday .modal-content.heart-modal:before,.theme-birthday .modal-content.heart-modal:after{content:"";position:absolute;width:300px;height:300px;background-color:#ff5e62;border-radius:50%}.theme-birthday .modal-content.heart-modal:before{top:-150px;left:0}.theme-birthday .modal-content.heart-modal:after{left:150px;top:0}.theme-birthday .modal-content.heart-modal #love-message-text{position:absolute;top:-60px;left:-60px;width:100%;height:100%;display:flex;justify-content:center;align-items:center;transform:rotate(45deg);z-index:10;color:#fff!important;text-shadow:0 2px 4px rgba(0,0,0,.2);font-size:2.5rem;padding:20px}.theme-birthday .modal-content.heart-modal .close-btn{z-index:20;color:#fff;right:50%;top:-120px;transform:translate(50%) rotate(45deg)}@media (max-width: 800px){.theme-birthday .icons .row span{font-size:35px}.theme-birthday .giftbox{width:220px;height:150px;margin-left:-110px}.theme-birthday .memory-gallery{width:95%;top:55%}.theme-birthday .video-container{max-width:100%}.theme-birthday .photo-grid{gap:15px}.theme-birthday .wave2 img{width:100px}.theme-birthday .wave2 figcaption{font-size:1.2rem}.theme-birthday #love-message-text{font-size:2rem}.theme-birthday .mini-box{width:40px;height:40px}.theme-birthday .floating-img{width:100px}.theme-birthday .floating-text{font-size:1rem}.theme-birthday .modal-content.heart-modal{width:200px;height:200px}.theme-birthday .modal-content.heart-modal:before,.theme-birthday .modal-content.heart-modal:after{width:200px;height:200px}.theme-birthday .modal-content.heart-modal:before{top:-100px}.theme-birthday .modal-content.heart-modal:after{left:100px}.theme-birthday .modal-content.heart-modal #love-message-text{font-size:1.5rem;top:-40px;left:-40px}}.theme-birthday .movie-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#000000d9;z-index:2000;opacity:0;transition:opacity 2s ease-in;display:flex;justify-content:center;overflow:hidden}.theme-birthday .movie-text{position:absolute;bottom:-100%;color:#fff;font-family:Great Vibes,cursive;font-size:2.5rem;line-height:2;text-align:center;width:90%;max-width:800px;animation:creditsScroll 20s linear forwards;text-shadow:0 0 10px rgba(255,255,255,.5)}.theme-birthday .movie-text p{margin-bottom:30px}@keyframes creditsScroll{0%{bottom:-100%}to{bottom:100%;transform:translateY(-50px)}}@media (max-width: 800px){.theme-birthday .movie-text{font-size:1.5rem}}.theme-birthday .movie-overlay.solid-black{background:#000!important}.theme-birthday .final-message{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#fff;font-family:Great Vibes,cursive;font-size:3rem;opacity:0;transition:opacity 1s ease-in;text-shadow:0 0 10px rgba(255,255,255,.8);width:100%;text-align:center}.theme-birthday .cake{position:absolute;bottom:-15vh;left:50%;transform:translate(-50%) scale(.35);font-size:1.5vmin;height:44em;width:44em;z-index:5;pointer-events:none;opacity:0;transition:all 1.5s ease-in-out;filter:drop-shadow(0 10px 30px rgba(0,0,0,.3));background:radial-gradient(ellipse 50% 50%,#fccfa2 33%,#ffb564 66%,#ffa233 95%,transparent 105%) left 8em top 1em/1.8em 4em,radial-gradient(ellipse 50% 50%,#fccfa2 33%,#ffb564 66%,#ffa233 95%,transparent 105%) left 13.5em top 1em/1.8em 4em,radial-gradient(circle 1em,#fff 90%,transparent 100%) right 14em top 8.5em/2em 2em,radial-gradient(circle 3.5em,#f90865 95%,transparent 100%) right 10em top 7.5em/7em 7em,radial-gradient(circle 3em at 110% 100%,transparent 80%,#036b03 85%,#036b03 95%,transparent 100%) right 11.5em top 3em/6em 6em,radial-gradient(ellipse 50% 50%,#fccfa2 33%,#ffb564 66%,#ffa233 95%,transparent 105%) right 18em top 1em/1.8em 4em,linear-gradient(0deg,#ff889c 12.5%,#ffe6e6 12.5%,#ffe6e6 25%,#ff889c 25%,#ff889c 37.5%,#ffe6e6 37.5%,#ffe6e6 50%,#ff889c 50%,#ff889c 62.5%,#ffe6e6 62.5%,#ffe6e6 75%,#ff889c 75%,#ff889c 87.5%,#ffe6e6 87.5%) right 17.35em top 5.2em/3em 8em,linear-gradient(0deg,#fccb9d 33%,#f97369 33%,#f97369 66%,#fccb9d 66%) left 0 bottom 0/100% 50%;background-repeat:no-repeat;border-radius:4em}.theme-birthday .step-3 .cake,.theme-birthday .step-4 .cake{opacity:1;transform:translate(-50%) scale(.45);bottom:-17vh;animation:cakeEntrance 2s ease-out}@keyframes cakeEntrance{0%{transform:translate(-50%) scale(.2) translateY(100px);opacity:0}to{transform:translate(-50%) scale(.45) translateY(0);opacity:1}}.theme-birthday .cake:before{content:"";display:block;width:105%;height:46%;left:-2.5%;top:30%;position:absolute;border-radius:5em;background:radial-gradient(circle 2.1em at 50% 0,#fff 99%,transparent 100%) left 14em bottom 7em/4.15em 3em,linear-gradient(#fccb9d,#fccb9d) left 14em bottom 5em/4.5em 5em,radial-gradient(circle 2em at 50% 100%,#fccb9d 99%,transparent 100%) left 10em bottom 12em/4em 3em,linear-gradient(#fccb9d,#fccb9d) left 10em bottom 5em/4em 7em,radial-gradient(circle 3em at 50% 0,#fff 99%,transparent 100%) right 16em bottom 2.1em/6em 3em,radial-gradient(circle 3em at 50% 100%,#fccb9d 99%,transparent 100%) right 22em bottom 12em/6em 3em,linear-gradient(#fccb9d,#fccb9d) right 22em bottom 5em/6em 7em,linear-gradient(#fccb9d,#fccb9d) right 8em bottom 5em/8em 5em,radial-gradient(circle 4em at 50% 100%,#fccb9d 99%,transparent 100%) right 8em bottom 10em/8em 4em,radial-gradient(circle 4.05em at right 4em bottom 5em,#fff 99%,transparent 100%),radial-gradient(circle 5em at left 5em bottom 5em,#fff 99%,transparent 100%),linear-gradient(#fff,#fff) 0 0/100% 75%;background-repeat:no-repeat}.theme-birthday .cake:after{content:var(--age-content, "17");position:absolute;top:calc(10% - 8px);left:13%;font-size:11em;font-family:Arial,sans-serif;font-weight:900;color:#ff889c;font-style:normal;letter-spacing:.05em;transform:rotate(0);text-shadow:.08em 0em 0 #ffe6e6,0 0em .3em rgba(0,0,0,.4)}@media (max-width: 800px){.theme-birthday .cake{font-size:1.5vmin;transform:translate(-50%) scale(.48);bottom:-5vh}.theme-birthday .cake:after{font-weight:900;transform:rotate(0)!important}.theme-birthday .step-3 .cake,.theme-birthday .step-4 .cake{transform:translate(-50%) scale(.53);bottom:-5vh;animation:cakeEntranceMobile 2s ease-out}@keyframes cakeEntranceMobile{0%{transform:translate(-50%) scale(.3) translateY(100px);opacity:0}to{transform:translate(-50%) scale(.53) translateY(0);opacity:1}}}@media (max-width: 600px){.theme-birthday .cake{font-size:1.6vmin;transform:translate(-50%) scale(.5);bottom:-8vh}.theme-birthday .cake:after{font-weight:900;transform:rotate(0)!important}.theme-birthday .step-3 .cake,.theme-birthday .step-4 .cake{transform:translate(-50%) scale(.55);bottom:-8vh;animation:cakeEntranceSmallMobile 2s ease-out}@keyframes cakeEntranceSmallMobile{0%{transform:translate(-50%) scale(.32) translateY(100px);opacity:0}to{transform:translate(-50%) scale(.55) translateY(0);opacity:1}}}.theme-birthday .modal-content.letter-modal{background:transparent!important;box-shadow:none!important;border:none!important;padding:0!important;perspective:1000px;animation:letterPopIn .6s cubic-bezier(.175,.885,.32,1.275);display:none}.theme-birthday .modal-content.letter-modal.visible{display:flex!important}@keyframes letterPopIn{0%{transform:scale(.5) rotate(-10deg);opacity:0}to{transform:scale(1) rotate(0);opacity:1}}.theme-birthday .letter-paper{position:relative;width:320px;min-height:400px;background:#fdfbf7;background-image:linear-gradient(#e6e6e6 1px,transparent 1px),radial-gradient(#fdfbf7,#e0d0b0);background-size:100% 30px,100% 100%;padding:40px 30px;box-shadow:0 1px 1px #00000026,0 10px 0 -5px #eee,0 10px 1px -4px #00000026,0 20px 0 -10px #eee,0 20px 1px -9px #00000026,2px 2px 20px #0000004d;transform:rotate(-2deg);font-family:Great Vibes,cursive;color:#4a4a4a;display:flex;flex-direction:column;border-radius:15px}.theme-birthday .letter-paper:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:repeating-linear-gradient(45deg,rgba(0,0,0,.02) 0px,rgba(0,0,0,.02) 2px,transparent 2px,transparent 4px);pointer-events:none}.theme-birthday .letter-content{margin-top:20px;line-height:30px;font-size:24px;text-align:left;z-index:10}.theme-birthday .letter-content p{margin:0}.theme-birthday .flower-decoration{position:absolute;bottom:5px;right:5px;width:150px;height:auto;z-index:1;transform:rotate(10deg);filter:drop-shadow(2px 4px 6px rgba(0,0,0,.3));opacity:.6}.theme-birthday .letter-paper .close-btn{top:-15px;right:-15px;background:#8e1a1a;border:2px solid #fff;color:#fff;width:30px;height:30px;font-size:20px;z-index:100}.theme-birthday .bulb-string{position:fixed;top:0;left:0;width:100%;height:40px;z-index:3000;pointer-events:none;display:flex;justify-content:flex-start;padding:0 0 0 16px}.theme-birthday .bulb-string:before{content:"";position:absolute;top:0;left:0;width:100%;height:25px;background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="50" height="25" viewBox="0 0 50 25"><path d="M 0 5 Q 25 25 50 5" stroke="%231a1a1a" stroke-width="3" fill="none" stroke-linecap="round"/></svg>');background-repeat:repeat-x;background-size:50px 25px;z-index:-1;filter:drop-shadow(0 2px 2px rgba(0,0,0,.5))}.theme-birthday .bulb{position:relative;width:18px;height:28px;border-radius:50%/40% 40% 60% 60%;background-color:#ddd;margin-top:15px;animation:bulbGlow 1.5s infinite alternate ease-in-out;transform-origin:top center}.theme-birthday .bulb:before{content:"";position:absolute;top:-4px;left:50%;transform:translate(-50%);width:12px;height:8px;background:#333;border-radius:2px 2px 0 0;z-index:2}.theme-birthday .bulb:after{content:"";position:absolute;top:20%;left:50%;transform:translate(-50%);width:4px;height:10px;background:#fff9;filter:blur(2px);border-radius:50%}@keyframes bulbGlow{0%{transform:rotate(-2deg);filter:brightness(.9) contrast(1)}to{transform:rotate(2deg);filter:brightness(1.4) contrast(1.2)}}.theme-birthday .bulb-red{background:radial-gradient(circle at 35% 35%,#ff4d4d,#8b0000);box-shadow:0 0 25px #ff0000e6,0 0 50px #ff000080,inset 0 0 10px #ffffff4d;animation-delay:0s}.theme-birthday .bulb-yellow{background:radial-gradient(circle at 35% 35%,#ff0,#b8860b);box-shadow:0 0 25px #ffff00e6,0 0 50px #ffff0080,inset 0 0 10px #ffffff4d;animation-delay:.3s}.theme-birthday .bulb-green{background:radial-gradient(circle at 35% 35%,#0f0,#006400);box-shadow:0 0 25px #00ff00e6,0 0 50px #00ff0080,inset 0 0 10px #ffffff4d;animation-delay:.6s}.theme-birthday .bulb-blue{background:radial-gradient(circle at 35% 35%,#00bfff,#00008b);box-shadow:0 0 25px #00bfffe6,0 0 50px #00bfff80,inset 0 0 10px #ffffff4d;animation-delay:.9s}.theme-birthday .bulb-orange{background:radial-gradient(circle at 35% 35%,orange,#ff4500);box-shadow:0 0 25px #ffa500e6,0 0 50px #ffa50080,inset 0 0 10px #ffffff4d;animation-delay:1.2s}.theme-birthday #lampadario{position:fixed;left:50%;top:0;z-index:110;transition:all 1s ease}.theme-birthday #lampadario.hidden{opacity:0;transform:translate(-50%,-200px);pointer-events:none}.theme-birthday #filo{position:relative;background-color:#000;width:2px;height:150px;left:50%;margin-left:-1px;z-index:1;transform-origin:0% 0%;animation:oscillaFilo .9s ease-in-out 0s infinite alternate}.theme-birthday #lampadario input[value=off]:checked~#filo{box-shadow:0 0 4px #ffffff40}.theme-birthday #filo:after{content:" ";left:-8px;top:100%;position:absolute;border-bottom:20px solid #000000;border-left:6px solid transparent;border-right:6px solid transparent;height:0;width:6px}.theme-birthday #lampadario input[value=off]:checked~#filo:after{filter:drop-shadow(0 0 5px rgba(255,255,255,.3))}.theme-birthday #lampadario input{position:absolute;width:120px;height:100px;top:150px;left:50%;margin-left:-60px;opacity:0;z-index:2;cursor:pointer}.theme-birthday #lampadario input[value=on]{top:150px}.theme-birthday #lampadario input[value=off]{top:-100px}.theme-birthday #lampadario input[value=on]:checked{top:-100px}.theme-birthday #lampadario input[value=on]:checked+input[value=off]{top:150px}.theme-birthday #lampadario label{width:70px;height:70px;top:168px;position:absolute;left:50%;margin-left:-33px;border-radius:100%;animation:oscillaLampadina .9s ease-in-out 0s infinite alternate;z-index:1;transition:all .2s ease-in-out}.theme-birthday #lampadario label:after{content:"";position:absolute;top:25%;left:48%;width:3px;height:25px;background:linear-gradient(to bottom,#444,#222,#444);box-shadow:1px 0 #00000080,2px 2px #0003,-1px 2px #0003;border-radius:4px;transition:all .2s ease-in-out;transform:rotate(2deg)}.theme-birthday #lampadario label:before{content:"";position:absolute;top:25%;left:52%;width:3px;height:25px;background:linear-gradient(to bottom,#444,#222,#444);box-shadow:-1px 0 #00000080,-2px 2px #0003,1px 2px #0003;border-radius:4px;transition:all .2s ease-in-out;transform:rotate(-2deg)}.theme-birthday #lampadario input[value=off]:checked~label{background:#ffffff40;box-shadow:inset 0 1px 10px #fff6,inset 0 2px 30px #ffffff1a;border:1px solid rgba(255,255,255,.3)}.theme-birthday #lampadario input[value=on]:checked~label{background:#fff;box-shadow:0 0 20px #ffffffe6,0 0 50px #fffc,0 0 80px #fff9}.theme-birthday #lampadario input[value=on]:checked~label:after,.theme-birthday #lampadario input[value=on]:checked~label:before{background:#fff;box-shadow:0 0 10px #fff,0 0 20px #ffee58,0 0 30px #ffee58}.theme-birthday .lamp-hint{position:absolute;top:250px;left:50%;transform:translate(-50%);color:gold;font-family:Montserrat,sans-serif;font-weight:700;font-size:24px;letter-spacing:3px;text-transform:uppercase;white-space:nowrap;pointer-events:none;transition:opacity .3s ease,visibility .3s ease;text-shadow:0 0 20px rgba(255,215,0,.8),0 2px 4px rgba(0,0,0,.7);animation:hintPulse 1.5s infinite alternate ease-in-out;opacity:1;z-index:120}.theme-birthday #lampadario input[value=on]:checked~.lamp-hint{opacity:0!important;visibility:hidden}@keyframes hintPulse{0%{transform:translate(-50%) translateY(5px)}to{transform:translate(-50%) translateY(-5px)}}@keyframes oscillaFilo{0%{transform:rotate(5deg)}to{transform:rotate(-5deg)}}@keyframes oscillaLampadina{0%{transform:rotate(3deg) translate(-22px,-1px)}to{transform:rotate(-3deg) translate(22px,-1px)}}.theme-birthday .spotlight-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#000;z-index:100;opacity:1;pointer-events:none;transition:opacity .8s ease}body.spotlight-active .theme-birthday .spotlight-overlay{background:transparent}body.spotlight-active .theme-birthday .merrywrap{z-index:105}.theme-birthday .spotlight-overlay.hidden{opacity:0;pointer-events:none;transition:opacity 3.5s ease-in-out}.theme-birthday #sorpresa{position:absolute;top:50%;left:50%;width:300vw;height:300vh;transform:translate(-50%,-50%);background:radial-gradient(circle at 50% calc(50% + 40vh),transparent 150px,rgba(0,0,0,.95) 400px,rgb(0,0,0) 100%);pointer-events:none;z-index:-1;opacity:0;transition:opacity .5s ease,background 3.5s ease-out}.theme-birthday #lampadario input[value=on]:checked~label #sorpresa{opacity:1}body.gift-opened .theme-birthday #sorpresa{background:radial-gradient(circle at 50% calc(50% + 40vh),transparent 100%,rgb(0,0,0) 100%);opacity:0}.theme-birthday #lampadario.hidden{opacity:0;transform:translate(-50%,-100%);pointer-events:none;transition:all 1s ease}@media (max-width: 600px){.theme-birthday .letter-paper{width:280px;min-height:350px;padding:30px 20px}.theme-birthday .letter-content{font-size:20px;line-height:25px;background-size:100% 25px}.theme-birthday .lamp-hint{width:80vw;white-space:normal;text-align:center;font-size:18px;letter-spacing:2px}.theme-birthday .balloon{width:30px;height:38px}.theme-birthday .balloon-thread-container{top:38px;width:200px;height:100px}.theme-birthday .mini-box{width:100px!important;height:100px!important}}.theme-birthday .balloon{position:absolute;width:40px;height:50px;border-radius:50%/40% 40% 60% 60%;z-index:5;pointer-events:auto;cursor:pointer}.theme-birthday .balloon-knot{position:absolute;bottom:-1px;left:50%;transform:translate(-50%);width:8px;height:6px;background:inherit;clip-path:polygon(20% 0%,80% 0%,100% 100%,0% 100%);z-index:2}.theme-birthday .balloon-fragment{position:absolute;width:15px;height:15px;background:inherit;border-radius:40% 60% 50% 50%;z-index:1001;pointer-events:none;opacity:1;box-shadow:0 0 8px #fff9}@keyframes balloonPop{0%{transform:scale(1);opacity:1}50%{transform:scale(1.3);opacity:.7}to{transform:scale(.3);opacity:0}}.theme-birthday .balloon-thread-container{position:absolute;top:50px;left:50%;transform:translate(-50%);width:200px;height:120px;pointer-events:none;overflow:visible}.theme-birthday .balloon-thread-path{fill:none;stroke:#ffffff73;stroke-width:1.2;stroke-linecap:round}.theme-birthday .balloon:after{display:none}.theme-birthday .balloon-knot{position:absolute;bottom:-4px;left:50%;transform:translate(-50%);width:8px;height:4px;background:inherit;border-radius:50% 50% 2px 2px;filter:brightness(.8)}@keyframes stringWiggle{0%,to{transform:translate(-50%) rotate(-3deg) skew(1deg)}50%{transform:translate(-50%) rotate(3deg) skew(-1deg)}}.theme-birthday .balloon:before{content:"";position:absolute;top:15%;left:15%;width:20%;height:25%;background:#ffffff4d;border-radius:50%}.theme-birthday .balloon-pink{background:radial-gradient(circle at 30% 30%,#ff85a1,#ff4d6d);box-shadow:inset -5px -10px 15px #0000001a,0 10px 20px #ff4b6d4d;opacity:1!important}.theme-birthday .balloon-red{background:radial-gradient(circle at 30% 30%,#f62e3b,#9a0505);box-shadow:inset -5px -10px 15px #0000004d,0 10px 20px #7f040480;opacity:1!important}.theme-birthday .balloon-gold,.theme-birthday .balloon-yellow{background:radial-gradient(circle at 30% 30%,#fff000,#fc0)!important;box-shadow:inset -5px -10px 15px #0000001a,0 10px 20px #fc06;opacity:1!important}.theme-birthday .balloon-white{background:radial-gradient(circle at 30% 30%,#fff,#f0f0f0);box-shadow:inset -5px -10px 15px #0000001a,0 10px 20px #0000001a;opacity:1!important}.theme-birthday .balloon-green{background:radial-gradient(circle at 30% 30%,#2ecc71,#27ae60);box-shadow:inset -5px -10px 15px #0003,0 10px 20px #27ae6066;opacity:1!important}.theme-birthday .balloon-blue{background:radial-gradient(circle at 30% 30%,#3498db,#2980b9);box-shadow:inset -5px -10px 15px #0003,0 10px 20px #2980b966;opacity:1!important}.balloon-thread-container{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;overflow:visible;z-index:-1}.balloon-thread-path{fill:none;stroke:#fffc;stroke-width:2px;stroke-linecap:round;filter:drop-shadow(0 1px 2px rgba(0,0,0,.3))}.theme-birthday .cassette-modal{background:transparent!important;box-shadow:none!important;border:none!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;padding:0;width:auto;height:auto;display:flex;justify-content:center;align-items:center;overflow:visible}.theme-birthday .cassette-body{position:relative;width:620px;min-height:400px;height:auto;background:#2a2a2a;border-radius:12px;box-shadow:inset 0 0 40px #000,0 30px 60px #0009,0 12px #1a1a1a;display:flex;flex-direction:column;align-items:center;padding:24px;border:1px solid #444;transform:scale(.8);transition:transform .3s cubic-bezier(.175,.885,.32,1.275)}.theme-birthday .cassette-body .close-btn{position:absolute;top:15px;right:20px;z-index:9999;color:#fff;font-size:35px;text-shadow:0 0 10px rgba(0,0,0,.5);background:#d63384cc;width:40px;height:40px;display:flex;justify-content:center;align-items:center;border-radius:50%;line-height:1;transition:all .2s}.theme-birthday .cassette-body .close-btn:hover{transform:scale(1.1);background:#d63384}.theme-birthday .cassette-screw{position:absolute;width:14px;height:14px;background:radial-gradient(circle,#555 20%,#333 80%);border-radius:50%;border:1px solid #111;z-index:10}.theme-birthday .cassette-screw:after{content:"";position:absolute;top:50%;left:50%;width:70%;height:1px;background:#111;transform:translate(-50%,-50%) rotate(45deg)}.theme-birthday .cassette-screw.top-left{top:18px;left:18px}.theme-birthday .cassette-screw.top-right{top:18px;right:18px}.theme-birthday .cassette-screw.bottom-left{bottom:18px;left:18px}.theme-birthday .cassette-screw.bottom-right{bottom:18px;right:18px}.theme-birthday .cassette-label{width:94%;height:80%;background:#fdfdfd;border-radius:4px;position:relative;overflow:hidden;box-shadow:inset 0 2px 5px #0003;background-image:repeating-linear-gradient(transparent,transparent 24px,rgba(214,51,132,.1) 24px,rgba(214,51,132,.1) 25px);display:flex;flex-direction:column;align-items:center}.theme-birthday .cassette-header{width:100%;height:50px;background:#d63384;display:flex;justify-content:space-between;align-items:center;padding:0 20px;color:#fff;font-family:"Exo 2",Arial Black,sans-serif;font-weight:900;text-transform:uppercase;font-style:italic;border-bottom:3px solid rgba(0,0,0,.2)}.theme-birthday .cassette-side{font-size:1.4rem;padding:2px 8px;background:#fff;color:#d63384;border-radius:2px}.theme-birthday .cassette-title{font-size:1rem;letter-spacing:3px;opacity:.9}.theme-birthday .cassette-window{width:85%;height:110px;background:#000000d9;border-radius:8px;margin-top:15px;border:3px solid #333;position:relative;display:flex;justify-content:space-around;align-items:center;padding:10px;box-sizing:border-box;box-shadow:inset 0 0 20px #000;z-index:1}.theme-birthday .cassette-photo{width:50%;max-width:250px;height:auto;aspect-ratio:1;object-fit:cover;border:8px solid #fff;box-shadow:0 10px 25px #0000004d;transition:all .4s cubic-bezier(.175,.885,.32,1.275);background:#fff;display:none;position:relative;margin:0;flex-shrink:0;z-index:100!important;pointer-events:auto;filter:sepia(.1) contrast(1.1)}.theme-birthday .cassette-photo.active{display:block;animation:photoFadeIn .5s ease-out}@keyframes photoFadeIn{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.theme-birthday .cassette-photo:hover{transform:scale(1.05);box-shadow:0 15px 35px #d6338466}.theme-birthday .reel{width:75px;height:75px;background:#fff;border-radius:50%;position:relative;border:5px solid #ddd;box-shadow:0 0 10px #fff3}.theme-birthday .spoke{position:absolute;top:50%;left:50%;width:80%;height:6px;background:#333;border-radius:10px;transform:translate(-50%,-50%)}.theme-birthday .spoke:nth-child(2){transform:translate(-50%,-50%) rotate(60deg)}.theme-birthday .spoke:nth-child(3){transform:translate(-50%,-50%) rotate(120deg)}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.theme-birthday .cassette-body.playing .reel{animation:spin 3s linear infinite}.theme-birthday .cassette-center-display{flex-grow:1;display:flex;flex-direction:row;justify-content:space-between;align-items:stretch;padding:20px;width:100%;min-height:250px;gap:0}.theme-birthday #love-message-text{color:#d63384;font-family:Great Vibes,cursive;font-size:clamp(1.5rem,2.5vw,2.5rem);margin:0;line-height:1.4;text-align:center;width:50%;max-width:50%;height:100%;max-height:250px;z-index:200;position:relative;text-shadow:2px 2px 3px rgba(255,255,255,.8),1px 1px 2px rgba(0,0,0,.2);background:transparent;padding:15px 20px;border-radius:8px;word-wrap:break-word;overflow-wrap:break-word;white-space:pre-wrap;overflow-y:auto;display:flex;align-items:center;justify-content:center}.theme-birthday .game-mode .cassette-center-display{flex-direction:column;justify-content:center;gap:20px}.theme-birthday .game-mode #love-message-text{width:100%;max-width:100%;text-align:center}.theme-birthday .game-mode .cassette-photo{display:none!important}.theme-birthday #love-message-text::-webkit-scrollbar{width:8px}.theme-birthday #love-message-text::-webkit-scrollbar-track{background:#d633841a;border-radius:4px}.theme-birthday #love-message-text::-webkit-scrollbar-thumb{background:#d63384;border-radius:4px}.theme-birthday #love-message-text::-webkit-scrollbar-thumb:hover{background:#ff69b4}.theme-birthday .cassette-center-display::-webkit-scrollbar{width:8px}.theme-birthday .cassette-center-display::-webkit-scrollbar-track{background:#d633841a;border-radius:4px}.theme-birthday .cassette-center-display::-webkit-scrollbar-thumb{background:#d63384;border-radius:4px}.theme-birthday .cassette-center-display::-webkit-scrollbar-thumb:hover{background:#ff69b4}.theme-birthday .cassette-controls{width:100%;min-height:50px;height:auto;margin-top:auto;background:#1a1a1a;border-radius:0 0 12px 12px;display:flex;justify-content:center;align-items:center;border-top:2px solid #333;padding:10px}.theme-birthday .play-btn{width:60px;height:60px;background:linear-gradient(135deg,#d63384,#aa2061);border:3px solid #fecce0;border-radius:50%;cursor:pointer;box-shadow:0 6px 15px #d6338466,0 4px #8b1e52,inset 0 2px 5px #fff3;transition:all .15s cubic-bezier(.175,.885,.32,1.275);display:flex;justify-content:center;align-items:center;margin-top:-30px;z-index:200;position:absolute;bottom:-30px}.theme-birthday .play-btn:active{transform:translateY(4px);box-shadow:0 2px 5px #d6338466,0 0 #8b1e52}.theme-birthday .play-btn:hover{transform:translateY(-2px);background:linear-gradient(135deg,#e34c9b,#c42973)}.theme-birthday .play-icon{width:0;height:0;border-top:10px solid transparent;border-bottom:10px solid transparent;border-left:18px solid #fff;margin-left:5px;filter:drop-shadow(0 2px 2px rgba(0,0,0,.2));transition:all .2s}.theme-birthday .cassette-body.playing .play-icon{width:16px;height:18px;border:none;border-left:5px solid #fff;border-right:5px solid #fff;background:transparent;margin-left:0;box-sizing:border-box;padding:0}@media (max-width: 768px){.theme-birthday .cassette-body{width:95vw;height:auto;min-height:500px;transform:scale(.95);padding:15px}.theme-birthday .cassette-center-display{flex-direction:row;align-items:stretch;padding:15px;gap:10px;min-height:200px}.theme-birthday .cassette-photo{width:48%;max-width:150px}.theme-birthday #love-message-text{width:48%;max-width:48%;font-size:clamp(1.2rem,2vw,1.8rem);padding:10px 15px;max-height:200px}.theme-birthday #love-message-text.scrolling{animation:scrollText 12s linear infinite}}
