.gift-slider-container{position:relative;width:100%;max-width:900px;padding:25px 70px;background:linear-gradient(135deg,#ffffff14,#ffffff05);border-radius:30px;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.12);box-shadow:0 8px 32px #0003,inset 0 1px #ffffff1a}.gift-slider{display:flex;gap:25px;overflow-x:auto;padding:35px 15px;scroll-behavior:smooth;scroll-snap-type:x mandatory;scrollbar-width:none;-ms-overflow-style:none}.gift-slider::-webkit-scrollbar{display:none}.gift-item{flex-shrink:0;cursor:pointer;transition:all .4s cubic-bezier(.34,1.56,.64,1);scroll-snap-align:center;perspective:1000px;position:relative}.gift-item:before{content:"";position:absolute;bottom:-10px;left:50%;transform:translate(-50%);width:80%;height:20px;background:radial-gradient(ellipse,rgba(0,0,0,.3) 0%,transparent 70%);opacity:.5;transition:all .4s ease;border-radius:50%}.gift-item:hover{transform:translateY(-12px) scale(1.08)}.gift-item:hover:before{opacity:.8;width:100%;filter:blur(3px)}.gift-item:hover .gift-box-preview{transform:rotateY(-5deg) rotateX(5deg)}.gift-item.selected{transform:translateY(-18px) scale(1.18);z-index:10}.gift-item.selected:before{opacity:1;width:110%;filter:blur(5px)}.gift-item.selected .gift-box-preview{animation:selectedFloat 2s ease-in-out infinite}@keyframes selectedFloat{0%,to{transform:translateY(0) rotateY(0);filter:drop-shadow(0 0 15px var(--christmas-gold))}25%{transform:translateY(-5px) rotateY(3deg)}50%{transform:translateY(0) rotateY(0);filter:drop-shadow(0 0 30px var(--christmas-gold))}75%{transform:translateY(-5px) rotateY(-3deg)}}.gift-item:hover .gift-box-preview:after{content:"✨";position:absolute;top:-15px;right:-10px;font-size:1.2rem;animation:sparkleHover .6s ease-out forwards;pointer-events:none}@keyframes sparkleHover{0%{opacity:0;transform:scale(0) rotate(0)}50%{opacity:1;transform:scale(1.3) rotate(180deg)}to{opacity:0;transform:scale(.5) rotate(360deg) translateY(-20px)}}.gift-box-preview{width:100px;height:120px;position:relative;transform-style:preserve-3d;perspective:500px}.box-body{position:absolute;bottom:0;left:0;width:100px;height:80px;background:var(--box-color);border-radius:5px;box-shadow:inset -10px -10px 20px #0000004d,inset 10px 10px 20px #ffffff1a}.box-shine{position:absolute;top:5px;left:5px;width:30px;height:30px;background:linear-gradient(135deg,rgba(255,255,255,.4) 0%,transparent 50%);border-radius:3px}.box-lid{position:absolute;bottom:75px;left:-5px;width:110px;height:25px;background:var(--box-color);border-radius:5px 5px 0 0;box-shadow:inset -5px -5px 10px #0003,inset 5px 5px 10px #ffffff1a,0 -3px 10px #0003;transform-origin:bottom center}.lid-top{position:absolute;top:-3px;left:5px;width:100px;height:8px;background:linear-gradient(to bottom,rgba(255,255,255,.2) 0%,transparent 100%);border-radius:5px 5px 0 0}.ribbon-vertical{position:absolute;bottom:0;left:50%;transform:translate(-50%);width:15px;height:100px;background:var(--ribbon-color);box-shadow:inset -3px 0 5px #0003}.ribbon-horizontal{position:absolute;bottom:35px;left:0;width:100px;height:15px;background:var(--ribbon-color);box-shadow:inset 0 -3px 5px #0003}.ribbon-bow{position:absolute;top:8px;left:50%;transform:translate(-50%);width:60px;height:30px}.bow-left,.bow-right{position:absolute;top:5px;width:25px;height:20px;background:var(--ribbon-color);border-radius:50%;box-shadow:inset -2px -2px 5px #0000004d}.bow-left{left:0;transform:rotate(-30deg)}.bow-right{right:0;transform:rotate(30deg)}.bow-center{position:absolute;top:10px;left:50%;transform:translate(-50%);width:15px;height:12px;background:var(--ribbon-color);border-radius:3px;box-shadow:inset -2px -2px 3px #0000004d}.gift-number{position:absolute;bottom:30px;left:50%;transform:translate(-50%);width:30px;height:30px;background:var(--snow-white);color:var(--christmas-red-dark);border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1rem;box-shadow:0 2px 5px #0000004d;z-index:10}.slider-indicator{text-align:center;margin-top:25px;padding:12px 25px;background:linear-gradient(135deg,#ffd70026,#ffd7000d);border-radius:25px;border:1px solid rgba(255,215,0,.3);display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:var(--font-christmas);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);box-shadow:0 4px 15px #ffd7001a}.slider-indicator .current{font-size:1.8rem;font-weight:700;color:var(--christmas-gold);text-shadow:0 0 10px rgba(255,215,0,.5);animation:currentPulse 1.5s ease-in-out infinite}@keyframes currentPulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.slider-indicator .separator{margin:0 3px;opacity:.5;font-size:1.2rem;color:var(--snow-white)}.slider-indicator .total{font-size:1.3rem;color:#ffffffb3}.slider-nav{position:absolute;top:50%;transform:translateY(-50%);width:55px;height:55px;background:linear-gradient(145deg,var(--christmas-red),var(--christmas-red-dark));color:#fff;border:3px solid rgba(255,215,0,.5);border-radius:50%;font-size:1.3rem;cursor:pointer;transition:all .4s cubic-bezier(.34,1.56,.64,1);box-shadow:0 6px 20px #c41e3a66,inset 0 2px 4px #fff3,inset 0 -2px 4px #0003;z-index:10;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);display:flex;align-items:center;justify-content:center}.slider-nav:before{content:"";position:absolute;top:3px;left:3px;right:3px;height:40%;background:linear-gradient(180deg,rgba(255,255,255,.3),transparent);border-radius:50% 50% 40% 40%;pointer-events:none}.slider-nav:hover:not(:disabled){background:linear-gradient(145deg,#e63950,var(--christmas-red));transform:translateY(-50%) scale(1.15);border-color:var(--christmas-gold);box-shadow:0 10px 30px #c41e3a80,0 0 20px #ffd7004d,inset 0 2px 4px #ffffff4d}.slider-nav:active:not(:disabled){transform:translateY(-50%) scale(1.05)}.slider-nav:disabled{opacity:.25;cursor:not-allowed;filter:grayscale(50%)}.slider-nav.prev{left:5px}.slider-nav.prev:hover:not(:disabled){transform:translateY(-50%) scale(1.15) translate(-3px)}.slider-nav.next{right:5px}.slider-nav.next:hover:not(:disabled){transform:translateY(-50%) scale(1.15) translate(3px)}@media (max-width: 768px){.gift-slider-container{padding:20px 50px;border-radius:25px}.gift-slider{gap:18px;padding:25px 10px}.gift-box-preview{width:80px;height:100px}.box-body{width:80px;height:65px}.box-lid{width:90px;bottom:60px;left:-5px}.ribbon-vertical{width:12px;height:80px}.ribbon-horizontal{width:80px;height:12px;bottom:28px}.slider-nav{width:42px;height:42px;font-size:1rem}.slider-indicator{padding:10px 20px}.slider-indicator .current{font-size:1.4rem}.slider-indicator .total{font-size:1.1rem}.gift-item:hover{transform:translateY(-8px) scale(1.05)}.gift-item.selected{transform:translateY(-12px) scale(1.12)}}@media (max-width: 480px){.gift-slider-container{padding:15px 40px;border-radius:20px}.slider-nav{width:36px;height:36px;font-size:.9rem}}.gift-box-container{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;perspective:1000px}.sparkles{position:absolute;width:300px;height:300px;pointer-events:none;opacity:0;transition:opacity .5s ease}.gift-box-container.revealed .sparkles{opacity:1}.sparkle{position:absolute;font-size:1.5rem;animation:sparkle 1.5s ease-in-out infinite}.sparkle-1{top:10%;left:20%;animation-delay:0s}.sparkle-2{top:5%;left:50%;animation-delay:.1s}.sparkle-3{top:10%;right:20%;animation-delay:.2s}.sparkle-4{top:30%;left:5%;animation-delay:.3s}.sparkle-5{top:30%;right:5%;animation-delay:.4s}.sparkle-6{top:50%;left:10%;animation-delay:.5s}.sparkle-7{top:50%;right:10%;animation-delay:.6s}.sparkle-8{bottom:30%;left:15%;animation-delay:.7s}.sparkle-9{bottom:30%;right:15%;animation-delay:.8s}.sparkle-10{bottom:10%;left:25%;animation-delay:.9s}.sparkle-11{bottom:5%;left:50%;animation-delay:1s}.sparkle-12{bottom:10%;right:25%;animation-delay:1.1s}@keyframes sparkle{0%,to{opacity:0;transform:scale(0) rotate(0)}50%{opacity:1;transform:scale(1.2) rotate(180deg)}}.gift-box-3d{position:relative;width:200px;height:200px;transform-style:preserve-3d;transform:rotateX(-10deg) rotateY(-15deg);transition:transform .5s ease}.gift-box-container.shaking .gift-box-3d{animation:shake .1s ease-in-out 8}@keyframes shake{0%,to{transform:rotateX(-10deg) rotateY(-15deg) translate(0)}25%{transform:rotateX(-10deg) rotateY(-15deg) translate(-5px) rotate(-2deg)}75%{transform:rotateX(-10deg) rotateY(-15deg) translate(5px) rotate(2deg)}}.lid{position:absolute;top:0;left:-10px;width:220px;height:50px;transform-style:preserve-3d;transform-origin:bottom center;transition:transform .8s cubic-bezier(.68,-.55,.265,1.55);z-index:10}.gift-box-container.opening .lid,.gift-box-container.revealed .lid{transform:rotateX(-120deg) translateY(-20px)}.lid-front{position:absolute;width:220px;height:50px;background:linear-gradient(135deg,#c41e3a,#8b0000);border-radius:8px 8px 0 0;box-shadow:inset 0 5px 15px #fff3,inset 0 -5px 15px #0003}.lid-top{position:absolute;top:-25px;left:10px;width:200px;height:30px;background:linear-gradient(to bottom,#d44a5a,#c41e3a);transform:rotateX(90deg);transform-origin:bottom center;border-radius:5px}.lid-ribbon{position:absolute;left:50%;top:0;transform:translate(-50%);width:30px;height:50px;background:linear-gradient(90deg,#e6c200,gold,#e6c200)}.bow{position:absolute;top:-35px;left:50%;transform:translate(-50%);width:80px;height:50px}.bow-left,.bow-right{position:absolute;top:15px;width:35px;height:30px;background:linear-gradient(135deg,#ffe55c,gold,#e6c200);border-radius:50%;box-shadow:inset -3px -3px 10px #0003}.bow-left{left:5px;transform:rotate(-20deg)}.bow-right{right:5px;transform:rotate(20deg)}.bow-center{position:absolute;top:20px;left:50%;transform:translate(-50%);width:25px;height:20px;background:linear-gradient(135deg,gold,#e6c200);border-radius:5px;z-index:1}.bow-tail-left,.bow-tail-right{position:absolute;bottom:-10px;width:15px;height:30px;background:linear-gradient(180deg,gold,#e6c200);border-radius:0 0 50% 50%}.bow-tail-left{left:25px;transform:rotate(15deg)}.bow-tail-right{right:25px;transform:rotate(-15deg)}.box{position:absolute;top:45px;left:0;width:200px;height:150px;transform-style:preserve-3d}.box-front{position:absolute;width:200px;height:150px;background:linear-gradient(180deg,#c41e3a,#8b0000);border-radius:0 0 5px 5px;box-shadow:inset 5px 5px 15px #ffffff1a,inset -5px -5px 15px #0003}.box-front .ribbon-v{position:absolute;left:50%;transform:translate(-50%);width:30px;height:100%;background:linear-gradient(90deg,#e6c200,gold,#e6c200)}.box-back{position:absolute;width:200px;height:150px;background:#6b0000;transform:translateZ(-50px)}.box-left{position:absolute;left:0;width:50px;height:150px;background:linear-gradient(90deg,#6b0000,#8b0000);transform:rotateY(-90deg) translateZ(0);transform-origin:left center}.box-right{position:absolute;right:0;width:50px;height:150px;background:linear-gradient(90deg,brown,#6b0000);transform:rotateY(90deg) translateZ(0);transform-origin:right center}.box-bottom{position:absolute;bottom:0;width:200px;height:50px;background:#4a0000;transform:rotateX(-90deg) translateZ(0);transform-origin:bottom center}.box-content{position:absolute;top:10px;left:10px;width:180px;height:130px;display:flex;align-items:center;justify-content:center;opacity:0;transform:translateY(50px);transition:all .8s cubic-bezier(.34,1.56,.64,1);transition-delay:.5s}.gift-box-container.revealed .box-content{opacity:1;transform:translateY(-30px)}.photo-frame{width:160px;height:120px;background:#fff;padding:8px;border-radius:5px;box-shadow:0 10px 30px #0000004d,0 0 0 3px var(--christmas-gold);transform:rotate(-5deg);animation:photoFloat 3s ease-in-out infinite}@keyframes photoFloat{0%,to{transform:rotate(-5deg) translateY(0)}50%{transform:rotate(-3deg) translateY(-10px)}}.gift-image{width:100%;height:100%;object-fit:cover;border-radius:3px}.reveal-message{margin-top:30px;text-align:center;animation:fadeInUp .8s ease-out}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.reveal-message h2{font-size:2.5rem;color:var(--christmas-gold);margin-bottom:10px;text-shadow:2px 2px 4px rgba(0,0,0,.3)}.reveal-message p{font-size:1.3rem;color:var(--snow-white);font-family:var(--font-script)}@media (max-width: 768px){.gift-box-3d{width:150px;height:150px;transform:rotateX(-5deg) rotateY(-10deg)}.lid{width:170px;left:-10px;height:40px}.lid-front{width:170px;height:40px}.box{width:150px;height:120px;top:35px}.box-front,.box-back{width:150px;height:120px}.photo-frame{width:120px;height:90px}.reveal-message h2{font-size:1.8rem}}.letter-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#000000e6;display:flex;align-items:center;justify-content:center;z-index:1000;opacity:0;transition:opacity .4s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.letter-overlay.visible{opacity:1}.envelope-scene{display:flex;flex-direction:column;align-items:center;cursor:pointer}.envelope-3d{position:relative;width:320px;height:200px;transform-style:preserve-3d;transition:transform .6s ease}.envelope-back{position:absolute;top:0;left:0;width:100%;height:100%;background:#c9a962;border-radius:10px;z-index:1}.envelope-front{position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(180deg,#fff8dc,wheat);border-radius:10px;z-index:3;box-shadow:0 10px 40px #0006}.envelope-decoration{position:absolute;bottom:20px;right:25px;font-size:2.5rem;opacity:.3}.envelope-flap{position:absolute;top:0;left:0;width:0;height:0;border-left:160px solid transparent;border-right:160px solid transparent;border-top:100px solid #deb887;transform-origin:top center;z-index:4;transition:transform .6s cubic-bezier(.4,0,.2,1)}.envelope-seal{position:absolute;top:30px;left:50%;transform:translate(-50%);width:65px;height:65px;background:linear-gradient(145deg,#c41e3a,#8b0000);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:2.2rem;z-index:5;box-shadow:0 5px 20px #0006;transition:all .4s ease}.envelope-3d.opening{animation:envelopeShake .3s ease-in-out,envelopeFadeOut 1.2s ease forwards .3s}.envelope-3d.opening .envelope-flap{transform:rotateX(180deg)}.envelope-3d.opening .envelope-seal{opacity:0;transform:translate(-50%) scale(0) rotate(180deg)}@keyframes envelopeShake{0%,to{transform:rotate(0)}25%{transform:rotate(-3deg)}75%{transform:rotate(3deg)}}@keyframes envelopeFadeOut{0%{opacity:1;transform:scale(1)}60%{opacity:1;transform:scale(1.05)}to{opacity:0;transform:scale(.8) translateY(-50px)}}.envelope-hint{margin-top:30px;padding:12px 25px;background:#fffffff2;color:#c41e3a;border-radius:25px;font-family:var(--font-christmas);font-size:1.1rem;font-weight:600;animation:hintBounce 1s ease-in-out infinite;box-shadow:0 5px 20px #0003}@keyframes hintBounce{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.letter-scene{display:flex;flex-direction:column;align-items:center;width:100%;height:100%;padding:20px;box-sizing:border-box;animation:letterFadeIn .6s ease}@keyframes letterFadeIn{0%{opacity:0;transform:scale(.9) translateY(30px)}to{opacity:1;transform:scale(1) translateY(0)}}.letter-scroll-container{flex:1;width:100%;max-width:480px;min-height:0;overflow-y:auto;overflow-x:hidden;padding:10px;box-sizing:border-box;scrollbar-width:thin;scrollbar-color:#c41e3a rgba(255,255,255,.2)}.letter-scroll-container::-webkit-scrollbar{width:8px}.letter-scroll-container::-webkit-scrollbar-track{background:#ffffff1a;border-radius:4px}.letter-scroll-container::-webkit-scrollbar-thumb{background:#c41e3a;border-radius:4px}.letter-paper-full{background:linear-gradient(180deg,#fffef9,#fff8dc);border-radius:15px;padding:30px 25px;box-shadow:0 20px 60px #0006,0 0 0 4px #ffd70080;width:100%;box-sizing:border-box}.letter-header-deco{text-align:center;padding-bottom:15px;border-bottom:3px dashed #c41e3a;margin-bottom:20px}.letter-header-deco span{font-size:1.8rem;margin:0 6px;display:inline-block;animation:decoTwinkle 1.5s ease-in-out infinite}.letter-header-deco span:nth-child(1){animation-delay:0s}.letter-header-deco span:nth-child(2){animation-delay:.2s}.letter-header-deco span:nth-child(3){animation-delay:.4s}.letter-header-deco span:nth-child(4){animation-delay:.6s}.letter-header-deco span:nth-child(5){animation-delay:.8s}@keyframes decoTwinkle{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.15);opacity:.8}}.letter-main-title{font-family:var(--font-christmas);font-size:2.2rem;color:#c41e3a;text-align:center;margin-bottom:20px;text-shadow:2px 2px 4px rgba(0,0,0,.1);word-wrap:break-word}.letter-body-content{font-family:var(--font-script);color:#2c1810;font-size:1.1rem;line-height:1.7;word-wrap:break-word;overflow-wrap:break-word}.letter-greeting{font-style:italic;color:#5a3d2b;margin-bottom:15px;font-size:1.15rem}.letter-body-content p{margin-bottom:14px;text-align:justify}.letter-signature-block{margin-top:20px;text-align:right;padding-right:10px}.letter-signature-block .signature-name{font-size:1.3rem;color:#c41e3a;font-weight:700;margin-top:5px;display:block}.highlight-text{background:linear-gradient(120deg,#ff6b6b,#c41e3a);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;font-weight:700;font-size:1.2em;display:inline}.letter-love-quote{text-align:center;padding:15px 20px;margin:20px 0;background:linear-gradient(145deg,#ffb6c14d,#ff69b433);border-radius:15px;border-left:4px solid #ff69b4;border-right:4px solid #ff69b4}.letter-love-quote em{font-size:1.1rem;color:#c41e3a;font-style:italic}.quote-icon{font-size:1.2rem;margin:0 8px;animation:twinkle 1.5s ease-in-out infinite}@keyframes twinkle{0%,to{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(1.2)}}.envelope-hearts{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:2rem}.envelope-hearts span{animation:heartBeat 1.2s ease-in-out infinite}@keyframes heartBeat{0%,to{transform:scale(1)}25%{transform:scale(1.1)}50%{transform:scale(1)}75%{transform:scale(1.15)}}.signature-date{font-size:.9rem;color:#888;font-style:italic;margin-top:5px}.letter-footer-deco{text-align:center;padding-top:18px;border-top:3px dashed #c41e3a;margin-top:20px}.letter-footer-deco span{font-size:1.6rem;margin:0 8px;display:inline-block;animation:footerBounce 2s ease-in-out infinite}.letter-footer-deco span:nth-child(1){animation-delay:0s}.letter-footer-deco span:nth-child(2){animation-delay:.15s}.letter-footer-deco span:nth-child(3){animation-delay:.3s}.letter-footer-deco span:nth-child(4){animation-delay:.45s}.letter-footer-deco span:nth-child(5){animation-delay:.6s}@keyframes footerBounce{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}.letter-ps{margin-top:20px;padding:12px 15px;background:linear-gradient(145deg,#ffd70026,#ffd7000d);border-radius:10px;border:1px dashed #ffd700}.letter-ps p{font-size:.95rem;color:#8b4513;font-style:italic;text-align:center;margin:0}.letter-close-btn{margin-top:20px;padding:14px 40px;background:linear-gradient(145deg,#c41e3a,#8b0000);color:#fff;border:3px solid #ffd700;border-radius:30px;font-family:var(--font-christmas);font-size:1.2rem;font-weight:700;cursor:pointer;transition:all .3s ease;box-shadow:0 8px 30px #c41e3a80;flex-shrink:0}.letter-close-btn:hover{transform:translateY(-3px) scale(1.05);box-shadow:0 12px 40px #c41e3ab3}@media (max-width: 480px){.envelope-3d{width:280px;height:175px}.envelope-flap{border-left:140px solid transparent;border-right:140px solid transparent;border-top:90px solid #deb887}.envelope-seal{width:55px;height:55px;font-size:1.8rem;top:25px}.letter-scene{padding:15px 10px}.letter-paper-full{padding:20px 18px}.letter-main-title{font-size:1.8rem}.letter-body-content{font-size:1rem;line-height:1.6}.letter-header-deco span{font-size:1.4rem;margin:0 4px}.letter-footer-deco span{font-size:1.3rem;margin:0 5px}.letter-close-btn{padding:12px 30px;font-size:1.1rem}}@media (max-height: 650px){.letter-scene{padding:10px}.letter-paper-full{padding:15px}.letter-main-title{font-size:1.6rem;margin-bottom:12px}.letter-body-content{font-size:.95rem;line-height:1.5}.letter-body-content p{margin-bottom:10px}.letter-header-deco,.letter-footer-deco{padding-top:10px;padding-bottom:10px}.letter-close-btn{margin-top:15px;padding:10px 25px}}.music-player{position:fixed;top:20px;right:20px;z-index:100;display:flex;align-items:center;gap:12px}.music-toggle{position:relative;width:56px;height:56px;background:linear-gradient(145deg,#c41e3a,#8b0000);border:3px solid var(--christmas-gold);border-radius:50%;font-size:1.5rem;cursor:pointer;transition:all .4s cubic-bezier(.34,1.56,.64,1);box-shadow:0 6px 20px #00000059,inset 0 2px 4px #fff3;overflow:hidden;display:flex;align-items:center;justify-content:center}.music-player.is-playing .music-toggle{animation:togglePulse 1.5s ease-in-out infinite}@keyframes togglePulse{0%,to{box-shadow:0 6px 20px #00000059,0 0 15px #c41e3a66}50%{box-shadow:0 6px 25px #c41e3a99,0 0 30px #ffd7004d}}.music-toggle:hover{transform:scale(1.12);border-color:gold}.toggle-icon{font-size:1.4rem;z-index:2}.mini-visualizer{position:absolute;bottom:6px;left:50%;transform:translate(-50%);display:flex;gap:2px;align-items:flex-end;height:12px}.mini-bar{width:4px;background:var(--christmas-gold);border-radius:2px;transition:height .1s ease;box-shadow:0 0 4px #ffd70099}.player-controls{display:flex;flex-direction:column;gap:12px;background:linear-gradient(145deg,#1a472aeb,#0f321ef2);backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);padding:18px;border-radius:20px;border:1px solid rgba(255,255,255,.15);box-shadow:0 15px 50px #00000073,inset 0 1px #ffffff1a,0 0 0 1px #ffd70033;opacity:0;transform:translate(25px) scale(.95);pointer-events:none;transition:all .4s cubic-bezier(.34,1.56,.64,1);min-width:260px}.music-player.expanded .player-controls{opacity:1;transform:translate(0) scale(1);pointer-events:auto}.visualizer{display:flex;align-items:flex-end;justify-content:center;gap:4px;height:40px;padding:8px 0;background:#0003;border-radius:10px;margin-bottom:5px}.visualizer-bar{width:6px;min-height:4px;background:linear-gradient(180deg,var(--christmas-gold) 0%,#ff6b35 50%,var(--christmas-red) 100%);border-radius:3px;transition:height .1s ease-out;box-shadow:0 0 8px #ffd70066}.track-info{display:flex;align-items:center;gap:10px;padding:8px 0}.track-icon{font-size:1.4rem;transition:transform .3s ease}.track-icon.spinning{animation:spinIcon 3s linear infinite}@keyframes spinIcon{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.track-details{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.track-name{font-size:.95rem;color:var(--christmas-gold);font-family:var(--font-script);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-shadow:0 0 10px rgba(255,215,0,.3)}.track-time{font-size:.75rem;color:#fff9;font-family:var(--font-christmas)}.progress-container{width:100%;cursor:pointer;padding:5px 0}.progress-bar{position:relative;height:6px;background:#ffffff26;border-radius:3px;overflow:visible}.progress-fill{height:100%;background:linear-gradient(90deg,var(--christmas-gold),#ffcc00);border-radius:3px;transition:width .1s linear;box-shadow:0 0 10px #ffd70080}.progress-thumb{position:absolute;top:50%;transform:translate(-50%,-50%);width:14px;height:14px;background:var(--christmas-gold);border-radius:50%;box-shadow:0 2px 6px #0000004d,0 0 10px #ffd70080;transition:transform .2s ease}.progress-container:hover .progress-thumb{transform:translate(-50%,-50%) scale(1.3)}.control-buttons{display:flex;align-items:center;justify-content:center;gap:8px}.control-btn{width:40px;height:40px;background:#ffffff1a;border:2px solid rgba(255,255,255,.2);border-radius:50%;font-size:1rem;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.control-btn:hover{background:#fff3;border-color:var(--christmas-gold);transform:scale(1.1)}.play-btn{width:50px;height:50px;background:linear-gradient(145deg,#c41e3a,#8b0000);border-color:var(--christmas-gold);font-size:1.2rem}.play-btn.playing{animation:playingPulse 1s ease-in-out infinite}@keyframes playingPulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.shuffle-btn.active{background:var(--christmas-gold);color:var(--christmas-red-dark)}.volume-control{display:flex;align-items:center;gap:8px;padding:5px 0}.volume-icon{font-size:1rem}.volume-slider{flex:1;height:6px;background:#fff3;border-radius:3px;outline:none;cursor:pointer;-webkit-appearance:none}.volume-slider::-webkit-slider-thumb{-webkit-appearance:none;width:16px;height:16px;background:var(--christmas-gold);border-radius:50%;cursor:pointer;box-shadow:0 2px 5px #0000004d}.volume-slider::-moz-range-thumb{width:16px;height:16px;background:var(--christmas-gold);border-radius:50%;cursor:pointer;border:none}.track-counter{display:flex;align-items:center;justify-content:center;gap:5px;padding:8px 0;font-family:var(--font-christmas)}.counter-current{font-size:1.1rem;font-weight:700;color:var(--christmas-gold);text-shadow:0 0 8px rgba(255,215,0,.4)}.counter-sep{font-size:.9rem;color:#ffffff80}.counter-total{font-size:.9rem;color:#ffffffb3}.interaction-prompt{position:fixed;top:85px;right:20px;display:flex;align-items:center;gap:10px;background:linear-gradient(145deg,#c41e3a,#8b0000);color:#fff;padding:14px 24px;border-radius:30px;font-family:var(--font-christmas);cursor:pointer;animation:promptFloat 2s ease-in-out infinite;box-shadow:0 8px 25px #c41e3a80,0 0 0 3px var(--christmas-gold),inset 0 1px #fff3;z-index:99;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.prompt-icon{font-size:1.2rem;animation:iconBounce .8s ease-in-out infinite alternate}.prompt-icon:last-child{animation-delay:.4s}.prompt-text{font-size:1rem;text-shadow:0 1px 3px rgba(0,0,0,.3)}@keyframes promptFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes iconBounce{0%{transform:scale(1)}to{transform:scale(1.15)}}.interaction-prompt:hover{transform:scale(1.08);box-shadow:0 12px 35px #c41e3a99,0 0 0 3px var(--christmas-gold),0 0 20px #ffd7004d}@media (max-width: 768px){.music-player{top:10px;right:10px}.music-toggle{width:48px;height:48px;font-size:1.3rem}.player-controls{position:fixed;top:70px;right:10px;min-width:240px;padding:15px}.visualizer{height:32px}.visualizer-bar{width:5px}.interaction-prompt{top:70px;right:10px;padding:12px 18px}.prompt-text{font-size:.9rem}.prompt-icon{font-size:1rem}}@media (max-width: 480px){.player-controls{min-width:220px;padding:12px}.visualizer{height:28px;gap:3px}.visualizer-bar{width:4px}.control-btn{width:36px;height:36px}.play-btn{width:44px;height:44px}}.countdown-container{background:linear-gradient(145deg,#c41e3a2e,#8b00001f,#64000026);border:1px solid rgba(255,255,255,.15);border-radius:25px;padding:25px 35px;margin-bottom:20px;backdrop-filter:blur(15px) saturate(180%);-webkit-backdrop-filter:blur(15px) saturate(180%);box-shadow:0 15px 50px #00000059,inset 0 1px #ffffff1f,0 0 0 1px #ffd70026;animation:containerGlow 3s ease-in-out infinite alternate}@keyframes containerGlow{0%{box-shadow:0 10px 40px #0000004d,inset 0 1px #ffffff1a,0 0 20px #ffd7001a}to{box-shadow:0 10px 40px #0000004d,inset 0 1px #ffffff1a,0 0 40px #ffd7004d}}.countdown-title{text-align:center;color:var(--christmas-gold);font-family:var(--font-christmas);font-size:1.3rem;margin-bottom:20px;display:flex;align-items:center;justify-content:center;gap:10px}.title-icon{font-size:1.4rem;animation:iconBounce 1s ease-in-out infinite}.title-icon:last-child{animation-delay:.5s}@keyframes iconBounce{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}.countdown-boxes{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap;perspective:1000px}.time-box{position:relative;min-width:80px;text-align:center;transition:all .4s cubic-bezier(.34,1.56,.64,1)}.time-box:hover{transform:translateY(-8px) scale(1.08)}.time-box:hover .flip-card{box-shadow:0 15px 40px #ffd70059,0 0 20px #ffd70033}.flip-card{position:relative;width:100%;height:75px;perspective:1000px;background:linear-gradient(180deg,#ffffff2e,#ffffff14 49%,#0000000d 50%,#ffffff0d);border:2px solid rgba(255,215,0,.5);border-radius:12px;box-shadow:0 8px 25px #0000004d,inset 0 1px #fff3;overflow:hidden;transition:all .3s ease}.flip-card:before{content:"";position:absolute;top:49%;left:0;right:0;height:2px;background:#00000026;z-index:10}.flip-card:after{content:"";position:absolute;top:0;left:-100%;width:50%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);animation:cardShine 4s ease-in-out infinite}@keyframes cardShine{0%{left:-100%}50%,to{left:200%}}.flip-card-inner{position:relative;width:100%;height:100%;display:flex;align-items:center;justify-content:center}.flip-card-front,.flip-card-back{position:absolute;width:100%;height:100%;display:flex;align-items:center;justify-content:center;backface-visibility:hidden}.flip-card-back{transform:rotateX(180deg)}.flip-card.flipping .flip-card-inner{animation:flipAnimation .6s ease-in-out}@keyframes flipAnimation{0%{transform:rotateX(0)}50%{transform:rotateX(-90deg)}to{transform:rotateX(0)}}.time-value{font-family:var(--font-christmas);font-size:2.4rem;font-weight:700;color:var(--snow-white);text-shadow:0 0 15px rgba(255,215,0,.6),0 2px 4px rgba(0,0,0,.4);line-height:1}.card-shine{position:absolute;top:5px;left:10%;width:80%;height:15px;background:linear-gradient(180deg,rgba(255,255,255,.25),transparent);border-radius:50%;pointer-events:none}.time-label{font-family:var(--font-script);font-size:.9rem;color:var(--christmas-gold);margin-top:5px;text-transform:uppercase;letter-spacing:1px}.box-decoration{position:absolute;top:-8px;right:-5px;font-size:1.2rem;animation:decorSpin 4s linear infinite}@keyframes decorSpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.time-separator{font-size:2rem;color:var(--christmas-gold);font-weight:700;animation:separatorBlink 1s ease-in-out infinite;text-shadow:0 0 10px rgba(255,215,0,.5)}@keyframes separatorBlink{0%,to{opacity:1}50%{opacity:.3}}.countdown-footer{display:flex;align-items:center;justify-content:center;gap:10px;margin-top:18px;font-size:1.1rem}.countdown-footer span:first-child{animation:santaWalk 2s ease-in-out infinite}.countdown-footer span:last-child{animation:reindeerRun 1.5s ease-in-out infinite}@keyframes santaWalk{0%,to{transform:translate(0) rotate(0)}25%{transform:translate(-3px) rotate(-5deg)}75%{transform:translate(3px) rotate(5deg)}}@keyframes reindeerRun{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}.footer-text{color:var(--snow-white);font-family:var(--font-script);font-size:1rem}.countdown-container.christmas-day{background:linear-gradient(145deg,#228b224d,#c41e3a4d);border-color:var(--christmas-gold);animation:celebrationGlow 1s ease-in-out infinite alternate}@keyframes celebrationGlow{0%{box-shadow:0 0 30px #ffd70080,0 0 60px #c41e3a4d}to{box-shadow:0 0 50px #ffd700cc,0 0 100px #c41e3a80}}.christmas-celebration{display:flex;align-items:center;justify-content:center;gap:15px}.christmas-celebration h2{font-family:var(--font-christmas);font-size:2.5rem;color:var(--christmas-gold);text-shadow:2px 2px 0 var(--christmas-red),0 0 30px rgba(255,215,0,.8);animation:titlePop .5s ease-out}@keyframes titlePop{0%{transform:scale(0)}50%{transform:scale(1.2)}to{transform:scale(1)}}.celebration-emoji{font-size:3rem;animation:celebrationBounce .6s ease-in-out infinite alternate}.celebration-emoji:last-child{animation-delay:.3s}@keyframes celebrationBounce{0%{transform:translateY(0) rotate(-10deg)}to{transform:translateY(-10px) rotate(10deg)}}.christmas-message{text-align:center;font-family:var(--font-script);font-size:1.3rem;color:var(--snow-white);margin-top:15px;animation:messageFade 2s ease-in-out infinite alternate}@keyframes messageFade{0%{opacity:.7}to{opacity:1}}@media (max-width: 768px){.countdown-container{padding:18px 22px;margin:0 10px 20px;border-radius:20px}.countdown-title{font-size:1rem;gap:8px}.time-box{min-width:62px}.flip-card{height:60px;border-radius:10px}.time-value{font-size:1.8rem}.time-label{font-size:.75rem;margin-top:6px}.time-separator{font-size:1.4rem}.countdown-footer{font-size:.9rem;margin-top:15px}.christmas-celebration h2{font-size:1.8rem}.celebration-emoji{font-size:2rem}.box-decoration{font-size:1rem;top:-6px;right:-4px}}@media (max-width: 400px){.countdown-boxes{gap:6px}.countdown-container{padding:15px 18px}.time-box{min-width:52px}.flip-card{height:52px;border-radius:8px}.time-value{font-size:1.5rem}.time-separator{font-size:1.2rem}.box-decoration{font-size:.9rem}.card-shine{height:10px}}.scratch-card-wrapper{position:relative;display:flex;flex-direction:column;align-items:center;padding:20px;animation:cardAppear .6s ease-out}@keyframes cardAppear{0%{opacity:0;transform:scale(.8) rotateY(-10deg)}to{opacity:1;transform:scale(1) rotateY(0)}}.scratch-card-title{display:flex;align-items:center;gap:12px;margin-bottom:20px;font-family:var(--font-christmas);font-size:1.8rem;color:var(--christmas-gold);text-shadow:2px 2px 4px rgba(0,0,0,.3)}.scratch-card-title span:first-child,.scratch-card-title span:last-child{font-size:2rem;animation:titleBounce 1s ease-in-out infinite alternate}.scratch-card-title span:last-child{animation-delay:.5s}@keyframes titleBounce{0%{transform:translateY(0) rotate(-5deg)}to{transform:translateY(-5px) rotate(5deg)}}.scratch-card-container{position:relative;width:300px;height:220px;border-radius:20px;overflow:hidden;box-shadow:0 15px 50px #0006,0 0 0 4px var(--christmas-gold),0 0 0 8px var(--christmas-red),0 0 30px #ffd7004d;cursor:crosshair}.scratch-card-image{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:linear-gradient(145deg,#fff,#f5f5f5);overflow:hidden}.scratch-card-image img{max-width:90%;max-height:85%;object-fit:contain;border-radius:10px}.gift-revealed-text{position:absolute;bottom:10px;left:0;right:0;text-align:center}.gift-revealed-text span{background:linear-gradient(145deg,var(--christmas-red),var(--christmas-red-dark));color:#fff;padding:8px 20px;border-radius:20px;font-family:var(--font-christmas);font-size:1.1rem;animation:revealPop .5s cubic-bezier(.68,-.55,.265,1.55);box-shadow:0 4px 15px #c41e3a80}@keyframes revealPop{0%{transform:scale(0);opacity:0}50%{transform:scale(1.2)}to{transform:scale(1);opacity:1}}.scratch-canvas{position:absolute;top:0;left:0;width:100%;height:100%;touch-action:none;transition:opacity .5s ease}.scratch-canvas.completed{pointer-events:none}.scratch-hint{position:absolute;bottom:15px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:8px;background:#000000b3;color:#fff;padding:10px 20px;border-radius:25px;font-family:var(--font-christmas);font-size:.9rem;animation:hintPulse 1.5s ease-in-out infinite;white-space:nowrap}@keyframes hintPulse{0%,to{transform:translate(-50%) scale(1);box-shadow:0 0 #ffd70080}50%{transform:translate(-50%) scale(1.02);box-shadow:0 0 20px 5px #ffd7004d}}.hint-icon{font-size:1.2rem;animation:fingerMove 1s ease-in-out infinite}@keyframes fingerMove{0%,to{transform:translate(0)}25%{transform:translate(5px,-3px)}50%{transform:translate(10px)}75%{transform:translate(5px,3px)}}.scratch-progress{display:flex;align-items:center;gap:15px;margin-top:20px;width:100%;max-width:300px}.progress-bar{flex:1;height:12px;background:#fff3;border-radius:6px;overflow:hidden;box-shadow:inset 0 2px 4px #0000004d}.progress-fill{height:100%;background:linear-gradient(90deg,var(--christmas-gold),#ffe55c,var(--christmas-gold));background-size:200% 100%;border-radius:6px;transition:width .3s ease;animation:progressShine 2s linear infinite}@keyframes progressShine{0%{background-position:200% 0}to{background-position:-200% 0}}.progress-text{font-family:var(--font-christmas);font-size:1rem;color:var(--christmas-gold);min-width:80px;text-align:right}.scratch-decorations{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none}.deco{position:absolute;font-size:1.5rem;animation:decoFloat 3s ease-in-out infinite}.deco-1{top:10%;left:5%;animation-delay:0s}.deco-2{top:15%;right:8%;animation-delay:.5s}.deco-3{bottom:20%;left:3%;animation-delay:1s}.deco-4{bottom:15%;right:5%;animation-delay:1.5s}@keyframes decoFloat{0%,to{transform:translateY(0) rotate(0);opacity:.7}50%{transform:translateY(-10px) rotate(180deg);opacity:1}}@media (max-width: 768px){.scratch-card-container{width:280px;height:200px}.scratch-card-title{font-size:1.5rem}.scratch-hint{font-size:.8rem;padding:8px 15px}.progress-bar{height:10px}.progress-text{font-size:.9rem}}@media (max-width: 400px){.scratch-card-wrapper{padding:15px}.scratch-card-container{width:250px;height:180px}.scratch-card-title{font-size:1.3rem;gap:8px}}.snow-globe-wrapper{position:fixed;bottom:20px;left:20px;z-index:50;display:flex;flex-direction:column;align-items:center;gap:10px;animation:globeFadeIn .8s var(--ease-spring);filter:drop-shadow(0 10px 40px rgba(135,206,250,.3))}@keyframes globeFadeIn{0%{opacity:0;transform:scale(.3) translateY(40px) rotate(-10deg)}to{opacity:1;transform:scale(1) translateY(0) rotate(0)}}.globe-header{display:flex;align-items:center;gap:10px;background:linear-gradient(135deg,#0f172ad9,#1e3a5fbf,#2d5082cc);padding:10px 18px;border-radius:24px;backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border:1px solid rgba(255,255,255,.18);box-shadow:0 8px 32px #0000005e,inset 0 1px #ffffff26,inset 0 -1px #0000001a,0 0 0 1px #fbbf2433;transition:all .3s ease}.globe-header:hover{border-color:#fbbf2466;box-shadow:0 8px 32px #0000005e,inset 0 1px #fff3,0 0 20px #fbbf2433}.globe-title{font-family:var(--font-christmas);font-size:.85rem;color:var(--christmas-gold);text-shadow:0 0 10px rgba(255,215,0,.5)}.minimize-btn{background:#ffffff26;border:1px solid rgba(255,255,255,.3);color:#fff;width:22px;height:22px;border-radius:50%;cursor:pointer;font-size:14px;line-height:1;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.minimize-btn:hover{background:#ffffff4d;transform:scale(1.1)}.snow-globe-minimized{position:fixed;bottom:20px;left:20px;z-index:50;display:flex;align-items:center;gap:10px;background:linear-gradient(135deg,#0f172ad9,#1e3a5fbf,#2d5082cc);padding:12px 20px;border-radius:30px;cursor:pointer;transition:all .4s cubic-bezier(.34,1.56,.64,1);backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border:1px solid rgba(255,255,255,.18);box-shadow:0 8px 32px #0000005e,inset 0 1px #ffffff26,inset 0 -1px #0000001a,0 0 0 1px #fbbf2433}.snow-globe-minimized:hover{border-color:#ffffff4d;transform:scale(1.08) translateY(-3px);box-shadow:0 15px 40px #0006,0 0 30px #fbbf244d,inset 0 1px #ffffff40}.globe-icon-mini{font-size:1.4rem;animation:iconFloat 2s ease-in-out infinite}@keyframes iconFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}.expand-hint{font-family:var(--font-christmas);font-size:.85rem;color:var(--christmas-gold)}.snow-globe{position:relative;cursor:grab;transition:transform .3s ease;transform-style:preserve-3d;perspective:500px}.snow-globe:active,.snow-globe.dragging{cursor:grabbing}.snow-globe:hover{transform:scale(1.02)}.snow-globe.shaking{animation:globeShake .4s ease-in-out 2}@keyframes globeShake{0%,to{transform:translate(0) rotate(0)}20%{transform:translate(-4px) rotate(-2deg)}40%{transform:translate(4px) rotate(2deg)}60%{transform:translate(-3px) rotate(-1deg)}80%{transform:translate(3px) rotate(1deg)}}.globe-glow{position:absolute;top:-10px;left:-10px;right:-10px;bottom:20px;border-radius:50%;background:radial-gradient(circle,rgba(135,206,250,.3) 0%,transparent 70%);animation:glowPulse 3s ease-in-out infinite;pointer-events:none}@keyframes glowPulse{0%,to{opacity:.5;transform:scale(1)}50%{opacity:.8;transform:scale(1.05)}}.globe-glass{position:relative;width:130px;height:130px;border-radius:50%;background:linear-gradient(180deg,#ffffff59,#c8e6ff40,#87cefa2e 40%,#6495ed1f,#4682b440);border:3px solid rgba(255,255,255,.6);overflow:hidden;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);box-shadow:0 20px 50px #00000059,0 8px 20px #87cefa40,inset 0 -25px 50px #ffffff2e,inset 0 25px 50px #87cefa40,inset 0 0 30px #ffffff1a,0 0 40px #87cefa4d,0 0 80px #64c8ff26;transition:all .4s ease}.globe-glass:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;border-radius:50%;background:radial-gradient(ellipse at 30% 20%,rgba(255,255,255,.4) 0%,transparent 50%);pointer-events:none}.globe-glass:after{content:"";position:absolute;top:5%;left:10%;width:80%;height:90%;border-radius:50%;background:linear-gradient(180deg,transparent 0%,rgba(135,206,250,.08) 50%,rgba(70,130,180,.12) 100%);pointer-events:none}.glass-reflection{position:absolute;background:linear-gradient(180deg,rgba(255,255,255,.85) 0%,rgba(255,255,255,.4) 50%,transparent 100%);border-radius:50%;pointer-events:none;z-index:10}.reflection-1{top:10px;left:18px;width:40px;height:22px;transform:rotate(-25deg);animation:reflectionShimmer 3s ease-in-out infinite}.reflection-2{top:22px;right:22px;width:18px;height:12px;opacity:.6;transform:rotate(-15deg);animation:reflectionShimmer 3s ease-in-out infinite .5s}.globe-glass .reflection-3{position:absolute;bottom:25%;right:15%;width:12px;height:8px;background:linear-gradient(135deg,#ffc8c866,#c8ffc84d,#c8c8ff66);border-radius:50%;opacity:.5;animation:prismShift 4s ease-in-out infinite}@keyframes reflectionShimmer{0%,to{opacity:.8}50%{opacity:1}}@keyframes prismShift{0%,to{background:linear-gradient(135deg,#ffc8c866,#c8ffc84d,#c8c8ff66)}33%{background:linear-gradient(135deg,#c8c8ff66,#ffc8c84d,#c8ffc866)}66%{background:linear-gradient(135deg,#c8ffc866,#c8c8ff4d,#ffc8c866)}}.snow-layer{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;overflow:hidden;border-radius:50%}.snowflake{position:absolute;background:radial-gradient(circle,#fff,#c8e6ffcc);border-radius:50%;animation:snowDrift linear forwards;box-shadow:0 0 4px #ffffffe6,0 0 8px #87cefa80;will-change:transform}@keyframes snowDrift{0%{transform:translateY(0) translate(0);opacity:1}to{transform:translateY(100px) translate(var(--sway, 0));opacity:0}}.magic-layer{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none}.magic-particle{position:absolute;font-size:.9rem;animation:magicBurst 1s ease-out forwards}@keyframes magicBurst{0%{transform:scale(0) rotate(0);opacity:1}50%{transform:scale(1.5) rotate(180deg);opacity:1}to{transform:scale(0) rotate(360deg);opacity:0}}.globe-scene{position:absolute;bottom:0;left:0;width:100%;height:85%;display:flex;flex-direction:column;justify-content:flex-end;align-items:center}.scene-stars{position:absolute;top:0;left:0;width:100%;height:100%}.tiny-star{position:absolute;font-size:.5rem;color:#ffffc8cc;animation:starTwinkle 1.5s ease-in-out infinite}.tiny-star:nth-child(2){animation-delay:.5s}.tiny-star:nth-child(3){animation-delay:1s}@keyframes starTwinkle{0%,to{opacity:.4;transform:scale(1)}50%{opacity:1;transform:scale(1.3)}}.scene-elements{display:flex;align-items:flex-end;justify-content:center;gap:4px;margin-bottom:8px;z-index:2}.scene-item{font-size:1.3rem;filter:drop-shadow(0 2px 3px rgba(0,0,0,.3));transition:transform .3s ease}.scene-item.left{animation:itemBob 2s ease-in-out infinite}.scene-item.center{font-size:1rem;animation:heartPulse 1s ease-in-out infinite;margin:0 2px}.scene-item.right{animation:itemBob 2s ease-in-out infinite .5s}@keyframes itemBob{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}@keyframes heartPulse{0%,to{transform:scale(1)}50%{transform:scale(1.2)}}.snow-ground{width:100%;height:25px;background:linear-gradient(180deg,#fff,#e8f4f8,#d0e8f0);border-radius:50% 50% 0 0/15px 15px 0 0;position:relative;box-shadow:inset 0 3px 8px #87cefa4d}.ground-sparkle{position:absolute;top:5px;left:50%;transform:translate(-50%);width:60%;height:3px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.8),transparent);border-radius:2px;animation:sparkleShimmer 2s ease-in-out infinite}@keyframes sparkleShimmer{0%,to{opacity:.3}50%{opacity:.8}}.globe-base{position:relative;display:flex;flex-direction:column;align-items:center;margin-top:-5px}.base-ring{width:90px;height:18px;background:linear-gradient(180deg,#c9a962,#8b7332,#5d4c1f);border-radius:50%;box-shadow:0 3px 8px #0006,inset 0 2px 4px #ffd7004d;border:2px solid #8b7332}.base-bottom{width:70px;height:22px;background:linear-gradient(180deg,#8b4513,#5d2906,#3d1906);border-radius:0 0 50% 50%/0 0 100% 100%;margin-top:-5px;display:flex;align-items:center;justify-content:center;box-shadow:0 5px 15px #0006;border:2px solid #3d1906;border-top:none}.base-gem{font-size:.7rem;animation:gemGlow 2s ease-in-out infinite}@keyframes gemGlow{0%,to{filter:brightness(1);transform:scale(1)}50%{filter:brightness(1.5);transform:scale(1.1)}}.globe-hints{display:flex;align-items:center;gap:8px;font-family:var(--font-christmas);font-size:.7rem;color:#ffffffb3}.hint-divider{opacity:.5}.scene-dots{display:flex;gap:6px;margin-top:4px}.scene-dot{width:8px;height:8px;border-radius:50%;background:#ffffff4d;cursor:pointer;transition:all .2s ease;border:1px solid rgba(255,255,255,.5)}.scene-dot:hover{background:#ffffff80;transform:scale(1.2)}.scene-dot.active{background:var(--christmas-gold);box-shadow:0 0 8px #ffd70099;transform:scale(1.1)}@media (max-width: 768px){.snow-globe-wrapper{bottom:15px;left:15px;transform:scale(.85);transform-origin:bottom left;filter:drop-shadow(0 8px 30px rgba(135,206,250,.25))}.snow-globe-minimized{bottom:15px;left:15px}.globe-glass{width:110px;height:110px}.base-ring{width:80px;height:16px}.base-bottom{width:65px;height:20px}.scene-item{font-size:1.1rem}.globe-hints{font-size:.65rem}}@media (max-width: 480px){.snow-globe-wrapper{transform:scale(.75);filter:drop-shadow(0 6px 20px rgba(135,206,250,.2))}.globe-hints{display:none}}.celebration-container{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:900;overflow:hidden}.confetti-container{position:absolute;top:0;left:0;width:100%;height:100%}.confetti-piece{position:absolute;animation:confettiFall linear forwards;will-change:transform}.confetti-piece.square{border-radius:2px}.confetti-piece.circle{border-radius:50%}.confetti-piece.triangle{background:transparent!important;width:0!important;height:0!important;border-left:6px solid transparent;border-right:6px solid transparent;border-bottom:10px solid var(--confetti-color, #ffd700)}.confetti-piece.star{clip-path:polygon(50% 0%,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%)}@keyframes confettiFall{0%{transform:translateY(0) translate(0) rotate(0);opacity:1}25%{transform:translateY(25vh) translate(var(--sway)) rotate(180deg)}50%{transform:translateY(50vh) translate(calc(var(--sway) * -.5)) rotate(360deg)}75%{transform:translateY(75vh) translate(var(--sway)) rotate(540deg)}to{transform:translateY(110vh) translate(0) rotate(720deg);opacity:0}}.fireworks-container{position:absolute;top:0;left:0;width:100%;height:100%}.firework{position:absolute;animation:fireworkAppear .3s ease-out forwards}@keyframes fireworkAppear{0%{opacity:0;transform:scale(0)}to{opacity:1;transform:scale(1)}}.explosion{position:relative;width:10px;height:10px}.particle{position:absolute;width:6px;height:6px;border-radius:50%;transform-origin:center center;animation:particleExplode 1.5s ease-out forwards;will-change:transform,opacity}@keyframes particleExplode{0%{opacity:1}to{opacity:0}}.sparkles-overlay{position:absolute;top:0;left:0;width:100%;height:100%}.sparkles-overlay .sparkle{position:absolute;font-size:1.2rem;animation:sparkleTwinkle 2s ease-in-out infinite;will-change:transform,opacity}@keyframes sparkleTwinkle{0%,to{opacity:0;transform:scale(0) rotate(0)}50%{opacity:1;transform:scale(1) rotate(180deg)}}.couple-walking-container{position:fixed;bottom:20px;right:20px;z-index:50;display:flex;flex-direction:column;animation:coupleAppear .5s ease-out}@keyframes coupleAppear{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.couple-header{display:flex;align-items:center;justify-content:space-between;background:#00000080;padding:6px 12px;border-radius:15px 15px 0 0;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.couple-title{font-family:var(--font-christmas);font-size:.85rem;color:var(--christmas-gold)}.couple-minimize-btn{background:#fff3;border:none;color:#fff;width:20px;height:20px;border-radius:50%;cursor:pointer;font-size:1rem;line-height:1;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.couple-minimize-btn:hover{background:#fff6;transform:scale(1.1)}.couple-minimized{position:fixed;bottom:20px;right:20px;z-index:50;display:flex;align-items:center;gap:8px;background:#0009;padding:10px 15px;border-radius:25px;cursor:pointer;transition:all .3s ease;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);border:2px solid rgba(255,105,180,.3)}.couple-minimized:hover{background:#000c;border-color:#ff69b4;transform:scale(1.05)}.couple-icon{font-size:1.3rem;animation:coupleGlow 2s ease-in-out infinite}@keyframes coupleGlow{0%,to{filter:drop-shadow(0 0 3px rgba(255,105,180,.5))}50%{filter:drop-shadow(0 0 8px rgba(255,105,180,.8))}}.couple-hint{font-family:var(--font-christmas);font-size:.85rem;color:#ff69b4}.walking-scene{position:relative;width:280px;height:120px;background:linear-gradient(180deg,#0a1628,#1a2a4a,#2a3a5a);border-radius:0 0 15px 15px;overflow:hidden;border:3px solid rgba(255,215,0,.3);border-top:none;box-shadow:0 10px 30px #0006,inset 0 0 30px #ffffff0d}.scene-bg{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none}.bg-tree{position:absolute;bottom:25px}.tree-1{left:10%;font-size:1.5rem;animation:treeSway 4s ease-in-out infinite}.tree-2{right:10%;font-size:1.3rem;animation:treeSway 3.5s ease-in-out infinite .5s}@keyframes treeSway{0%,to{transform:rotate(-2deg)}50%{transform:rotate(2deg)}}.bg-star{position:absolute;top:10px;right:20%;font-size:.8rem;animation:starTwinkle 1.5s ease-in-out infinite}@keyframes starTwinkle{0%,to{opacity:.5;transform:scale(1)}50%{opacity:1;transform:scale(1.2)}}.bg-moon{position:absolute;top:8px;left:15px;font-size:1.2rem;animation:moonGlow 3s ease-in-out infinite}@keyframes moonGlow{0%,to{filter:drop-shadow(0 0 5px rgba(255,255,200,.5))}50%{filter:drop-shadow(0 0 15px rgba(255,255,200,.8))}}.scene-snow{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none}.mini-snowflake{position:absolute;top:-5px;width:3px;height:3px;background:#fff;border-radius:50%;animation:miniSnowFall 4s linear infinite}@keyframes miniSnowFall{0%{transform:translateY(0) translate(0);opacity:1}to{transform:translateY(120px) translate(10px);opacity:0}}.couple-characters{position:absolute;bottom:30px;left:10px;display:flex;align-items:flex-end;gap:2px;transition:transform .05s linear}.character{display:flex;flex-direction:column;align-items:center;animation:walk .3s ease-in-out infinite}.character.girl{animation-delay:.15s}@keyframes walk{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}.santa-hat{font-size:.7rem;position:relative;top:8px;z-index:1}.char-body{font-size:1.3rem}.heart-link{font-size:.6rem;animation:heartPulse .8s ease-in-out infinite;margin:0 2px;align-self:center}@keyframes heartPulse{0%,to{transform:scale(1)}50%{transform:scale(1.3)}}.message-bubble{position:absolute;bottom:100%;left:50%;transform:translate(-50%);background:#fff;padding:5px 10px;border-radius:10px;font-family:var(--font-script);font-size:.7rem;color:#c41e3a;white-space:nowrap;animation:bubblePop .3s ease-out;box-shadow:0 3px 10px #0003}.message-bubble:after{content:"";position:absolute;bottom:-5px;left:50%;transform:translate(-50%);border-left:5px solid transparent;border-right:5px solid transparent;border-top:6px solid white}@keyframes bubblePop{0%{opacity:0;transform:translate(-50%) scale(0)}to{opacity:1;transform:translate(-50%) scale(1)}}.floating-heart{position:absolute;bottom:50px;font-size:.8rem;animation:floatUp 2s ease-out forwards}@keyframes floatUp{0%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(-60px) scale(1.5)}}.snow-ground-walk{position:absolute;bottom:0;left:0;width:100%;height:25px;background:linear-gradient(180deg,#fff,#e0e0e0);border-radius:50% 50% 0 0/20px 20px 0 0}.footprints{position:absolute;bottom:5px;left:0;width:100%;height:20px}.footprint{position:absolute;font-size:.5rem;transition:left .1s linear,opacity .3s ease}.couple-footer{background:#00000080;padding:6px;border-radius:0 0 15px 15px;text-align:center;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);margin-top:-1px}.couple-footer span{font-family:var(--font-script);font-size:.75rem;color:#fffc}@media (max-width: 768px){.couple-walking-container{bottom:15px;right:15px;transform:scale(.85);transform-origin:bottom right}.couple-minimized{bottom:15px;right:15px;padding:8px 12px}.couple-icon{font-size:1.1rem}.couple-hint{font-size:.75rem}}@media (max-width: 480px){.couple-walking-container{transform:scale(.7)}.walking-scene{width:240px;height:100px}.couple-footer{display:none}}.welcome-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:linear-gradient(135deg,#1a472afa,#0d2818fc,#143c23fa);z-index:10000;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .5s ease;overflow:hidden}.welcome-overlay.visible{opacity:1}.welcome-overlay.exiting{opacity:0;transform:scale(1.1);transition:all .6s ease}.welcome-snow{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;overflow:hidden}.welcome-snow .snow-particle{position:absolute;top:-20px;font-size:1rem;opacity:.6;animation:snowFall linear infinite}@keyframes snowFall{0%{transform:translateY(-20px) rotate(0);opacity:0}10%{opacity:.6}90%{opacity:.6}to{transform:translateY(100vh) rotate(360deg);opacity:0}}.welcome-container{position:relative;width:100%;max-width:500px;max-height:90vh;padding:30px 25px;display:flex;flex-direction:column;align-items:center;overflow-y:auto;animation:containerSlideUp .8s cubic-bezier(.34,1.56,.64,1)}@keyframes containerSlideUp{0%{opacity:0;transform:translateY(50px)}to{opacity:1;transform:translateY(0)}}.welcome-header{text-align:center;margin-bottom:25px}.welcome-decoration{display:flex;justify-content:center;gap:15px;margin-bottom:15px}.welcome-decoration span{font-size:2rem;animation:decorBounce 1s ease-in-out infinite}.welcome-decoration span:nth-child(1){animation-delay:0s}.welcome-decoration span:nth-child(2){animation-delay:.2s}.welcome-decoration span:nth-child(3){animation-delay:.4s}@keyframes decorBounce{0%,to{transform:translateY(0) rotate(-5deg)}50%{transform:translateY(-8px) rotate(5deg)}}.welcome-title{font-family:var(--font-christmas);font-size:2.8rem;color:var(--christmas-gold);text-shadow:3px 3px 0 var(--christmas-red-dark),0 0 30px rgba(255,215,0,.5);margin-bottom:10px;animation:titleGlow 2s ease-in-out infinite alternate}@keyframes titleGlow{0%{text-shadow:3px 3px 0 var(--christmas-red-dark),0 0 20px rgba(255,215,0,.5)}to{text-shadow:3px 3px 0 var(--christmas-red-dark),0 0 40px rgba(255,215,0,.8)}}.welcome-subtitle{font-family:var(--font-script);font-size:1.4rem;color:var(--snow-white);margin-bottom:8px}.recipient-name{color:#ff69b4;font-weight:700;text-shadow:0 0 10px rgba(255,105,180,.5)}.welcome-intro{font-family:var(--font-script);font-size:1rem;color:#ffffffd9;line-height:1.5;max-width:350px}.features-carousel{width:100%;margin-bottom:20px}.carousel-container{position:relative;height:220px;display:flex;align-items:center;justify-content:center;overflow:hidden}.feature-card{position:absolute;width:280px;background:linear-gradient(145deg,#ffffff1f,#ffffff0d);border:2px solid rgba(255,215,0,.4);border-radius:20px;padding:25px 20px;text-align:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:all .4s cubic-bezier(.34,1.56,.64,1);box-shadow:0 10px 40px #0000004d}.feature-card.active{border-color:var(--christmas-gold);box-shadow:0 15px 50px #0006,0 0 30px #ffd70033}.card-icon{font-size:3rem;margin-bottom:12px;animation:iconPulse 2s ease-in-out infinite}@keyframes iconPulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.card-title{font-family:var(--font-christmas);font-size:1.4rem;color:var(--christmas-gold);margin-bottom:10px}.card-description{font-family:var(--font-script);font-size:1rem;color:var(--snow-white);line-height:1.4;margin-bottom:12px}.card-tip{display:flex;align-items:center;justify-content:center;gap:8px;padding:10px 15px;background:#ffd70026;border-radius:12px;font-size:.85rem;color:var(--christmas-gold)}.tip-icon{font-size:1rem}.carousel-nav{display:flex;align-items:center;justify-content:center;gap:20px;margin-top:15px}.nav-btn{width:40px;height:40px;background:#ffffff1a;border:2px solid rgba(255,215,0,.5);border-radius:50%;color:var(--christmas-gold);font-size:1rem;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center}.nav-btn:hover:not(:disabled){background:#ffd70033;transform:scale(1.1)}.nav-btn:disabled{opacity:.3;cursor:not-allowed}.carousel-dots{display:flex;gap:8px}.dot{width:10px;height:10px;border-radius:50%;background:#ffffff4d;cursor:pointer;transition:all .3s ease}.dot:hover{background:#ffffff80}.dot.active{background:var(--christmas-gold);transform:scale(1.2);box-shadow:0 0 10px #ffd70080}.quick-overview{display:flex;flex-direction:column;align-items:center;gap:10px;margin-bottom:25px}.overview-label{font-family:var(--font-christmas);font-size:.9rem;color:#ffffffb3}.overview-icons{display:flex;gap:12px;flex-wrap:wrap;justify-content:center}.overview-icon{font-size:1.5rem;cursor:pointer;transition:all .3s ease;opacity:.6;filter:grayscale(.5)}.overview-icon:hover{opacity:1;transform:scale(1.2);filter:grayscale(0)}.overview-icon.active{opacity:1;transform:scale(1.3);filter:grayscale(0)}.welcome-actions{display:flex;gap:15px;margin-bottom:20px}.skip-btn{padding:12px 25px;background:transparent;border:2px solid rgba(255,255,255,.3);border-radius:25px;color:#ffffffb3;font-family:var(--font-christmas);font-size:1rem;cursor:pointer;transition:all .3s ease}.skip-btn:hover{border-color:#fff9;color:#fff;background:#ffffff1a}.start-btn{padding:15px 35px;background:linear-gradient(145deg,var(--christmas-red),var(--christmas-red-dark));border:3px solid var(--christmas-gold);border-radius:30px;color:#fff;font-family:var(--font-christmas);font-size:1.2rem;font-weight:700;cursor:pointer;transition:all .3s ease;box-shadow:0 8px 30px #c41e3a80,0 0 20px #ffd7004d;display:flex;align-items:center;gap:10px;position:relative;overflow:hidden}.start-btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);animation:shimmer 2s ease-in-out infinite}@keyframes shimmer{0%{left:-100%}50%,to{left:100%}}.start-btn:hover{transform:translateY(-3px) scale(1.05);box-shadow:0 12px 40px #c41e3a99,0 0 30px #ffd70080}.btn-sparkle{animation:sparkleRotate 1.5s linear infinite}@keyframes sparkleRotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.welcome-footer{text-align:center}.welcome-footer p{font-family:var(--font-script);font-size:.9rem;color:#fff9;display:flex;align-items:center;justify-content:center;gap:8px}.welcome-footer span{animation:heartBeat 1s ease-in-out infinite}@keyframes heartBeat{0%,to{transform:scale(1)}50%{transform:scale(1.2)}}@media (max-width: 768px){.welcome-container{padding:25px 20px}.welcome-title{font-size:2.2rem}.welcome-subtitle{font-size:1.2rem}.welcome-intro{font-size:.95rem}.carousel-container{height:200px}.feature-card{width:260px;padding:20px 15px}.card-icon{font-size:2.5rem}.card-title{font-size:1.2rem}.card-description{font-size:.9rem}.start-btn{padding:12px 25px;font-size:1.1rem}}@media (max-width: 480px){.welcome-container{padding:20px 15px}.welcome-decoration span{font-size:1.5rem}.welcome-title{font-size:1.8rem}.feature-card{width:240px;padding:18px 12px}.card-icon{font-size:2rem}.card-tip{font-size:.75rem;padding:8px 10px}.welcome-actions{flex-direction:column;width:100%}.skip-btn,.start-btn{width:100%;justify-content:center}.overview-icons{gap:8px}.overview-icon{font-size:1.3rem}}@media (max-height: 700px){.welcome-container{padding:15px 20px}.carousel-container{height:180px}.feature-card{padding:15px 12px}.card-icon{font-size:2rem;margin-bottom:8px}.welcome-header,.quick-overview{margin-bottom:15px}}.floating-hearts-container{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:1000;overflow:hidden}.floating-heart{position:fixed;pointer-events:none;animation:floatUp ease-out forwards;filter:drop-shadow(0 2px 4px rgba(255,105,180,.4));z-index:1001;transform:translate(-50%) translateY(-50%)}@keyframes floatUp{0%{opacity:1;transform:translate(-50%) translateY(-50%) scale(.5) rotate(0)}20%{opacity:1;transform:translate(-50%) translateY(-50%) scale(1.2) rotate(15deg)}to{opacity:0;transform:translate(calc(-50% + var(--sway, 30px))) translateY(calc(-50% - 150px)) scale(.3) rotate(-15deg)}}.floating-heart:nth-child(odd){--sway: 40px}.floating-heart:nth-child(2n){--sway: -40px}.floating-heart:nth-child(3n){--sway: 60px}.floating-heart:nth-child(3n+1){--sway: -60px}.parallax-snow{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:1;overflow:hidden}.snow-layer{position:absolute;top:0;left:0;width:100%;height:100%;transition:transform .3s ease-out}.snow-layer.layer-0{z-index:1}.snow-layer.layer-1{z-index:2}.snow-layer.layer-2{z-index:3}.snow-layer .snowflake{position:absolute;background:radial-gradient(circle,#fff,#c8e6ffcc,#87cefa66);border-radius:50%;animation:snowFall linear infinite;box-shadow:0 0 5px #fffc,0 0 10px #87cefa66}.layer-0 .snowflake{animation-duration:15s;filter:blur(1px)}.layer-1 .snowflake{animation-duration:12s;filter:blur(.5px)}.layer-2 .snowflake{animation-duration:8s}@keyframes snowFall{0%{transform:translateY(-20px) translate(0) rotate(0);opacity:1}50%{transform:translateY(50vh) translate(var(--sway, 15px)) rotate(180deg);opacity:.8}to{transform:translateY(110vh) translate(calc(var(--sway, 15px) * -1)) rotate(360deg);opacity:0}}.layer-2 .snowflake:nth-child(odd){animation:snowFall linear infinite,sparkle 2s ease-in-out infinite}@keyframes sparkle{0%,to{box-shadow:0 0 5px #fffc,0 0 10px #87cefa66}50%{box-shadow:0 0 10px #fff,0 0 20px #87cefacc,0 0 30px #ffd7004d}}@media (prefers-reduced-motion: reduce){.parallax-snow{display:none}}.sparkle-cursor-container{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:9999;overflow:hidden}.cursor-sparkle{position:fixed;pointer-events:none;animation:sparkleAnim 1s ease-out forwards;filter:drop-shadow(0 0 5px rgba(255,215,0,.8))}@keyframes sparkleAnim{0%{opacity:1;transform:translate(-50%,-50%) scale(0) rotate(0)}30%{opacity:1;transform:translate(-50%,-50%) scale(1.3) rotate(180deg)}to{opacity:0;transform:translate(-50%,calc(-50% - 50px)) scale(.3) rotate(360deg)}}.cursor-sparkle:nth-child(odd){animation:sparkleAnimAlt 1s ease-out forwards}@keyframes sparkleAnimAlt{0%{opacity:1;transform:translate(-50%,-50%) scale(0) rotate(0)}30%{opacity:1;transform:translate(calc(-50% + 20px),calc(-50% - 10px)) scale(1.2) rotate(-90deg)}to{opacity:0;transform:translate(calc(-50% + 40px),calc(-50% - 60px)) scale(.2) rotate(-180deg)}}.cursor-sparkle:nth-child(3n){animation:sparkleAnimWide 1.2s ease-out forwards}@keyframes sparkleAnimWide{0%{opacity:1;transform:translate(-50%,-50%) scale(0) rotate(0)}30%{opacity:1;transform:translate(calc(-50% - 25px),calc(-50% + 5px)) scale(1.1) rotate(90deg)}to{opacity:0;transform:translate(calc(-50% - 50px),calc(-50% - 40px)) scale(.4) rotate(180deg)}}@media (prefers-reduced-motion: reduce){.sparkle-cursor-container{display:none}}.confirm-modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;z-index:9999;display:flex;align-items:center;justify-content:center;animation:overlayFadeIn .4s ease}@keyframes overlayFadeIn{0%{opacity:0}to{opacity:1}}.confirm-modal-backdrop{position:absolute;top:0;left:0;width:100%;height:100%;background:radial-gradient(circle at center,#c41e3a33,#000000d9);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.confirm-modal{position:relative;z-index:1;background:linear-gradient(145deg,#fffffffa,#fff5f5f2);padding:35px 40px;border-radius:30px;max-width:420px;width:90%;text-align:center;box-shadow:0 30px 80px #c41e3a66,0 0 0 4px #ffd70066,0 0 60px #ff69b433,inset 0 2px #fff;animation:modalBounceIn .6s cubic-bezier(.34,1.56,.64,1);overflow:hidden}@keyframes modalBounceIn{0%{opacity:0;transform:scale(.5) translateY(50px)}60%{transform:scale(1.05) translateY(-10px)}to{opacity:1;transform:scale(1) translateY(0)}}.confirm-modal.confirmed{animation:confirmPulse .5s ease}@keyframes confirmPulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.modal-decorations{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;overflow:hidden}.modal-deco{position:absolute;font-size:1.5rem;opacity:.6;animation:decoFloat 4s ease-in-out infinite}.deco-1{top:10px;left:15px;animation-delay:0s}.deco-2{top:5px;right:20px;animation-delay:.5s}.deco-3{bottom:15px;left:20px;animation-delay:1s}.deco-4{bottom:10px;right:15px;animation-delay:1.5s}.deco-5{top:50%;left:5px;animation-delay:2s}.deco-6{top:50%;right:5px;animation-delay:2.5s}@keyframes decoFloat{0%,to{transform:translateY(0) rotate(0);opacity:.6}50%{transform:translateY(-10px) rotate(10deg);opacity:1}}.modal-gift-preview{margin-bottom:20px}.preview-frame{position:relative;display:inline-block;padding:8px;background:linear-gradient(145deg,gold,#fa0);border-radius:20px;box-shadow:0 8px 25px #ffd70066,inset 0 2px #ffffff80}.preview-frame img{width:150px;height:150px;object-fit:cover;border-radius:15px;display:block}.preview-sparkles{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:200px;height:200px;pointer-events:none}.preview-sparkle{position:absolute;font-size:1.2rem;animation:sparkleRotate 3s linear infinite}.preview-sparkle:nth-child(1){top:0;left:50%}.preview-sparkle:nth-child(2){top:25%;right:0}.preview-sparkle:nth-child(3){bottom:25%;right:0}.preview-sparkle:nth-child(4){bottom:0;left:50%}.preview-sparkle:nth-child(5){bottom:25%;left:0}.preview-sparkle:nth-child(6){top:25%;left:0}@keyframes sparkleRotate{0%{transform:rotate(0) scale(1);opacity:.5}50%{transform:rotate(180deg) scale(1.3);opacity:1}to{transform:rotate(360deg) scale(1);opacity:.5}}.gift-number{display:inline-block;margin-top:10px;padding:6px 16px;background:linear-gradient(145deg,var(--christmas-red),#8b0000);color:#fff;font-family:var(--font-christmas);font-size:.9rem;border-radius:15px;box-shadow:0 4px 12px #c41e3a66}.modal-content{position:relative;z-index:2}.modal-emoji{font-size:3rem;margin-bottom:10px;animation:emojiPulse 1.5s ease-in-out infinite}@keyframes emojiPulse{0%,to{transform:scale(1)}50%{transform:scale(1.15)}}.modal-title{font-family:var(--font-christmas);font-size:2rem;color:var(--christmas-red);margin-bottom:15px;text-shadow:2px 2px 0 rgba(255,215,0,.3)}.modal-message{font-family:var(--font-script);font-size:1.4rem;color:#333;line-height:1.5;margin-bottom:8px}.modal-submessage{font-family:var(--font-script);font-size:1.1rem;color:#666;margin-bottom:25px}.modal-actions{display:flex;gap:15px;justify-content:center}.modal-btn{padding:14px 28px;border:none;border-radius:25px;font-family:var(--font-christmas);font-size:1rem;cursor:pointer;transition:all .3s cubic-bezier(.34,1.56,.64,1)}.btn-cancel{background:linear-gradient(145deg,#e0e0e0,silver);color:#555;box-shadow:0 4px 15px #00000026}.btn-cancel:hover:not(:disabled){transform:translateY(-3px);box-shadow:0 8px 25px #0003}.btn-confirm{background:linear-gradient(145deg,#ff69b4,#ff1493);color:#fff;box-shadow:0 6px 25px #ff69b480;min-width:150px}.btn-confirm:hover:not(:disabled){transform:translateY(-3px) scale(1.05);box-shadow:0 10px 35px #ff69b499}.btn-confirm:disabled,.btn-cancel:disabled{opacity:.7;cursor:not-allowed;transform:none}.loading-dots{display:inline-flex;gap:3px}.loading-dots span{animation:dotBounce 1s ease-in-out infinite}.loading-dots span:nth-child(2){animation-delay:.2s}.loading-dots span:nth-child(3){animation-delay:.4s}@keyframes dotBounce{0%,60%,to{transform:translateY(0)}30%{transform:translateY(-5px)}}.confirm-success{padding:20px 0}.success-icon{font-size:4rem;display:block;margin-bottom:15px;animation:successPop .6s cubic-bezier(.34,1.56,.64,1)}@keyframes successPop{0%{transform:scale(0) rotate(-180deg)}60%{transform:scale(1.2) rotate(10deg)}to{transform:scale(1) rotate(0)}}.confirm-success h2{font-family:var(--font-christmas);font-size:2rem;color:var(--christmas-red);margin-bottom:10px}.confirm-success p{font-family:var(--font-script);font-size:1.3rem;color:#555}.modal-hearts{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;overflow:hidden}.floating-heart{position:absolute;bottom:-20px;font-size:1.5rem;opacity:0;animation:heartFloat 4s ease-out infinite}.floating-heart:nth-child(1){left:10%;animation-delay:0s}.floating-heart:nth-child(2){left:25%;animation-delay:.5s}.floating-heart:nth-child(3){left:40%;animation-delay:1s}.floating-heart:nth-child(4){left:55%;animation-delay:1.5s}.floating-heart:nth-child(5){left:70%;animation-delay:2s}.floating-heart:nth-child(6){left:85%;animation-delay:2.5s}.floating-heart:nth-child(7){left:15%;animation-delay:3s}.floating-heart:nth-child(8){left:75%;animation-delay:3.5s}@keyframes heartFloat{0%{opacity:0;transform:translateY(0) scale(.5) rotate(-10deg)}20%{opacity:.8;transform:translateY(-30px) scale(1) rotate(10deg)}to{opacity:0;transform:translateY(-150px) scale(.3) rotate(-10deg)}}@media (max-width: 768px){.confirm-modal{padding:25px 20px;margin:15px;max-width:95%}.preview-frame img{width:120px;height:120px}.modal-title{font-size:1.6rem}.modal-message{font-size:1.2rem}.modal-submessage{font-size:1rem}.modal-actions{flex-direction:column;gap:10px}.modal-btn{width:100%;padding:14px 20px}}.easter-egg-detector{position:fixed;top:0;left:50%;transform:translate(-50%);width:400px;height:150px;z-index:45;cursor:pointer}.egg-hint{position:absolute;bottom:10px;left:50%;transform:translate(-50%);background:#ffd700e6;color:#333;padding:6px 14px;border-radius:15px;font-size:.8rem;font-family:var(--font-christmas);animation:hintPop .3s ease-out;white-space:nowrap}@keyframes hintPop{0%{transform:translate(-50%) scale(0)}50%{transform:translate(-50%) scale(1.1)}to{transform:translate(-50%) scale(1)}}.easter-egg-modal{position:fixed;top:0;left:0;width:100%;height:100%;z-index:10000;display:flex;align-items:center;justify-content:center;animation:modalFadeIn .5s ease}@keyframes modalFadeIn{0%{opacity:0}to{opacity:1}}.egg-backdrop{position:absolute;top:0;left:0;width:100%;height:100%;background:radial-gradient(circle at center,#ff69b44d,#000000e6);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.egg-content{position:relative;z-index:1;animation:eggBounceIn .8s cubic-bezier(.34,1.56,.64,1)}@keyframes eggBounceIn{0%{opacity:0;transform:scale(.3) rotate(-10deg)}50%{transform:scale(1.1) rotate(5deg)}to{opacity:1;transform:scale(1) rotate(0)}}.egg-box{background:linear-gradient(145deg,#fffffff2,#fff0f5e6);padding:40px 50px;border-radius:30px;text-align:center;max-width:400px;box-shadow:0 30px 80px #ff69b466,0 0 0 5px #ffd70080,0 0 60px #ff69b44d,inset 0 2px #fff}.egg-emoji{font-size:3rem;margin-bottom:15px;animation:emojiDance 1s ease-in-out infinite}@keyframes emojiDance{0%,to{transform:scale(1)}25%{transform:scale(1.1) rotate(-5deg)}75%{transform:scale(1.1) rotate(5deg)}}.egg-title{font-family:var(--font-christmas);font-size:2rem;color:var(--christmas-red);margin-bottom:15px;text-shadow:2px 2px 0 rgba(255,215,0,.5)}.egg-message{font-family:var(--font-script);font-size:1.4rem;color:#333;line-height:1.6;margin-bottom:20px}.egg-signature{display:flex;align-items:center;justify-content:center;gap:8px;font-family:var(--font-script);font-size:1.1rem;color:#888;margin-bottom:25px}.heart-beat{font-size:1.5rem;animation:heartBeat 1s ease-in-out infinite}@keyframes heartBeat{0%,to{transform:scale(1)}15%{transform:scale(1.3)}30%{transform:scale(1)}45%{transform:scale(1.2)}}.egg-close{background:linear-gradient(145deg,#ff69b4,#ff1493);color:#fff;border:none;padding:14px 35px;border-radius:25px;font-family:var(--font-christmas);font-size:1.1rem;cursor:pointer;transition:all .3s ease;box-shadow:0 6px 20px #ff69b480}.egg-close:hover{transform:translateY(-3px) scale(1.05);box-shadow:0 10px 30px #ff69b499}.egg-sparkles{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:500px;height:500px;pointer-events:none}.egg-sparkle{position:absolute;font-size:1.5rem;animation:sparkleFloat 3s ease-in-out infinite}.egg-sparkle:nth-child(1){top:0;left:50%;animation-delay:0s}.egg-sparkle:nth-child(2){top:10%;left:20%;animation-delay:.2s}.egg-sparkle:nth-child(3){top:10%;right:20%;animation-delay:.4s}.egg-sparkle:nth-child(4){top:30%;left:5%;animation-delay:.6s}.egg-sparkle:nth-child(5){top:30%;right:5%;animation-delay:.8s}.egg-sparkle:nth-child(6){top:50%;left:0;animation-delay:1s}.egg-sparkle:nth-child(7){top:50%;right:0;animation-delay:1.2s}.egg-sparkle:nth-child(8){top:70%;left:5%;animation-delay:1.4s}.egg-sparkle:nth-child(9){top:70%;right:5%;animation-delay:1.6s}.egg-sparkle:nth-child(10){top:85%;left:20%;animation-delay:1.8s}.egg-sparkle:nth-child(11){top:85%;right:20%;animation-delay:2s}.egg-sparkle:nth-child(12){bottom:0;left:50%;animation-delay:2.2s}.egg-sparkle:nth-child(13){top:20%;left:35%;animation-delay:.3s}.egg-sparkle:nth-child(14){top:20%;right:35%;animation-delay:.5s}.egg-sparkle:nth-child(15){top:40%;left:15%;animation-delay:.7s}.egg-sparkle:nth-child(16){top:40%;right:15%;animation-delay:.9s}.egg-sparkle:nth-child(17){top:60%;left:10%;animation-delay:1.1s}.egg-sparkle:nth-child(18){top:60%;right:10%;animation-delay:1.3s}.egg-sparkle:nth-child(19){top:80%;left:30%;animation-delay:1.5s}.egg-sparkle:nth-child(20){top:80%;right:30%;animation-delay:1.7s}@keyframes sparkleFloat{0%,to{opacity:.5;transform:scale(.8) rotate(0)}50%{opacity:1;transform:scale(1.2) rotate(180deg)}}.egg-hearts{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:600px;height:600px;pointer-events:none}.egg-heart{position:absolute;font-size:2rem;opacity:0;animation:heartRise 4s ease-out infinite}.egg-heart:nth-child(1){left:10%;animation-delay:0s}.egg-heart:nth-child(2){left:25%;animation-delay:.4s}.egg-heart:nth-child(3){left:40%;animation-delay:.8s}.egg-heart:nth-child(4){left:55%;animation-delay:1.2s}.egg-heart:nth-child(5){left:70%;animation-delay:1.6s}.egg-heart:nth-child(6){left:85%;animation-delay:2s}.egg-heart:nth-child(7){left:15%;animation-delay:2.4s}.egg-heart:nth-child(8){left:35%;animation-delay:2.8s}.egg-heart:nth-child(9){left:60%;animation-delay:3.2s}.egg-heart:nth-child(10){left:80%;animation-delay:3.6s}@keyframes heartRise{0%{bottom:0;opacity:0;transform:scale(.5) rotate(-10deg)}20%{opacity:.8;transform:scale(1) rotate(10deg)}to{bottom:100%;opacity:0;transform:scale(.3) rotate(-10deg)}}@media (max-width: 768px){.easter-egg-detector{width:300px;height:120px}.egg-box{padding:30px 35px;margin:20px;max-width:90%}.egg-title{font-size:1.6rem}.egg-message{font-size:1.2rem}.egg-sparkles,.egg-hearts{width:100%;height:100%}}.app{min-height:100vh;display:flex;flex-direction:column;padding:20px;position:relative}.app.loading{justify-content:center;align-items:center}.loading-content{text-align:center}.loading-spinner{font-size:4rem;animation:spin 2s linear infinite,float 1s ease-in-out infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.loading-content p{margin-top:20px;font-size:1.5rem;color:var(--christmas-gold)}.app.no-images{justify-content:center;align-items:center}.no-images-content{text-align:center;max-width:500px}.no-images-content h1{font-size:2.5rem;margin-bottom:30px;color:var(--christmas-gold)}.warning-box{background:#ffffff1a;border:2px dashed var(--christmas-gold);border-radius:15px;padding:30px}.warning-box p{font-size:1.2rem;margin:10px 0}.warning-box code{background:#0000004d;padding:5px 10px;border-radius:5px;font-family:monospace;color:var(--christmas-gold)}.header{text-align:center;padding:20px 0 40px}.title{font-size:3rem;font-weight:700;color:var(--christmas-gold);text-shadow:2px 2px 0 var(--christmas-red-dark),4px 4px 0 rgba(0,0,0,.3);margin-bottom:10px;animation:titleGlow 2s ease-in-out infinite alternate}@keyframes titleGlow{0%{text-shadow:2px 2px 0 var(--christmas-red-dark),4px 4px 0 rgba(0,0,0,.3),0 0 10px var(--christmas-gold)}to{text-shadow:2px 2px 0 var(--christmas-red-dark),4px 4px 0 rgba(0,0,0,.3),0 0 30px var(--christmas-gold),0 0 60px var(--christmas-gold-light)}}.title .emoji{display:inline-block;animation:swing 1s ease-in-out infinite alternate}.title .emoji:last-child{animation-delay:.5s}@keyframes swing{0%{transform:rotate(-10deg)}to{transform:rotate(10deg)}}.subtitle{font-size:1.3rem;color:var(--snow-white);opacity:.9;font-family:var(--font-script)}.main{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:40px;padding:20px 0}.actions{display:flex;gap:20px;flex-wrap:wrap;justify-content:center}.mode-toggle{display:flex;align-items:center;gap:15px;margin-bottom:20px;padding:12px 20px;background:#ffffff1a;border-radius:30px;border:2px solid rgba(255,215,0,.3)}.mode-toggle span{font-family:var(--font-christmas);font-size:.95rem;color:#fff9;transition:all .3s ease}.mode-toggle span.active{color:var(--christmas-gold);text-shadow:0 0 10px rgba(255,215,0,.5)}.toggle-btn{position:relative;width:50px;height:26px;background:#fff3;border:2px solid var(--christmas-gold);border-radius:13px;cursor:pointer;transition:all .3s ease;padding:0}.toggle-btn:hover{background:#ffffff4d}.toggle-slider{position:absolute;top:2px;left:2px;width:18px;height:18px;background:var(--christmas-gold);border-radius:50%;transition:transform .3s cubic-bezier(.68,-.55,.265,1.55);box-shadow:0 2px 5px #0000004d}.gift-image-modal{position:fixed;top:0;left:0;width:100%;height:100%;z-index:1000;display:flex;align-items:center;justify-content:center;animation:fadeIn .5s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.gift-image-backdrop{position:absolute;top:0;left:0;width:100%;height:100%;background:#000000d9;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.gift-image-content{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:25px;animation:scaleIn .6s cubic-bezier(.34,1.56,.64,1)}@keyframes scaleIn{0%{opacity:0;transform:scale(.5) rotate(-5deg)}to{opacity:1;transform:scale(1) rotate(0)}}.gift-image-frame{position:relative;background:linear-gradient(145deg,#fff,#f0f0f0);padding:20px;border-radius:15px;box-shadow:0 20px 60px #00000080,0 0 0 5px var(--christmas-gold),0 0 0 10px var(--christmas-red),0 0 40px #ffd7004d;max-width:90vw;max-height:70vh}.gift-image-frame img{max-width:100%;max-height:55vh;border-radius:10px;display:block}.gift-image-frame h3{text-align:center;color:var(--christmas-red);font-family:var(--font-christmas);font-size:1.5rem;margin-top:15px;animation:pulse 1.5s ease-in-out infinite}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.gift-image-sparkles{position:absolute;top:-20px;left:-20px;right:-20px;bottom:-20px;pointer-events:none}.gift-image-sparkles .sparkle{position:absolute;font-size:1.5rem;animation:sparkleAnim 1.5s ease-in-out infinite}.gift-image-sparkles .sparkle:nth-child(1){top:0;left:10%;animation-delay:0s}.gift-image-sparkles .sparkle:nth-child(2){top:0;right:10%;animation-delay:.2s}.gift-image-sparkles .sparkle:nth-child(3){top:30%;left:0;animation-delay:.4s}.gift-image-sparkles .sparkle:nth-child(4){top:30%;right:0;animation-delay:.6s}.gift-image-sparkles .sparkle:nth-child(5){bottom:30%;left:0;animation-delay:.8s}.gift-image-sparkles .sparkle:nth-child(6){bottom:30%;right:0;animation-delay:1s}.gift-image-sparkles .sparkle:nth-child(7){bottom:0;left:10%;animation-delay:1.2s}.gift-image-sparkles .sparkle:nth-child(8){bottom:0;right:10%;animation-delay:1.4s}@keyframes sparkleAnim{0%,to{opacity:0;transform:scale(.5) rotate(0)}50%{opacity:1;transform:scale(1.2) rotate(180deg)}}.close-gift-btn{padding:15px 40px;background:linear-gradient(145deg,var(--christmas-red),var(--christmas-red-dark));color:#fff;border:3px solid var(--christmas-gold);border-radius:30px;font-family:var(--font-christmas);font-size:1.3rem;font-weight:700;cursor:pointer;transition:all .3s ease;box-shadow:0 8px 25px #c41e3a80}.close-gift-btn:hover{transform:translateY(-3px) scale(1.05);box-shadow:0 12px 35px #c41e3ab3}.decorations{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:0}.ornament{position:absolute;font-size:2rem;animation:swing 3s ease-in-out infinite}.ornament-1{top:10%;left:5%;animation-delay:0s}.ornament-2{top:15%;right:8%;animation-delay:.5s;font-size:2.5rem}.ornament-3{top:25%;left:10%;animation-delay:1s}.ornament-4{bottom:20%;right:5%;animation-delay:1.5s}.ornament-5{bottom:30%;left:3%;animation-delay:2s;font-size:2.5rem}.footer{text-align:center;padding:30px 0 20px;font-size:1.2rem;color:var(--christmas-gold);font-family:var(--font-script)}.footer-love{font-size:.9rem;color:#ff69b4;margin-top:8px;opacity:.9;animation:loveGlow 2s ease-in-out infinite alternate}@keyframes loveGlow{0%{text-shadow:0 0 5px rgba(255,105,180,.3)}to{text-shadow:0 0 15px rgba(255,105,180,.6)}}@media (max-width: 768px){.title{font-size:2rem}.subtitle{font-size:1rem}.actions{flex-direction:column;width:100%;padding:0 20px}.btn{width:100%}.ornament{font-size:1.5rem}.gift-image-frame{padding:15px}.gift-image-frame h3{font-size:1.2rem}.close-gift-btn{font-size:1.1rem;padding:12px 30px}.mode-toggle{padding:10px 15px;gap:10px}.mode-toggle span{font-size:.85rem}.toggle-btn{width:45px;height:24px}.toggle-slider{width:16px;height:16px}.footer-love{font-size:.8rem}}.confirmed-gift-section{display:flex;flex-direction:column;align-items:center;gap:30px;padding:20px;animation:confirmedFadeIn .8s ease}@keyframes confirmedFadeIn{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.confirmed-message{text-align:center;padding:25px 40px;background:linear-gradient(145deg,#ffffff26,#ffffff0d);border:2px solid rgba(255,215,0,.4);border-radius:25px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 10px 40px #0003}.confirmed-message h2{font-family:var(--font-christmas);font-size:1.8rem;color:var(--christmas-gold);margin-bottom:10px;text-shadow:2px 2px 4px rgba(0,0,0,.3)}.confirmed-message p{font-family:var(--font-script);font-size:1.2rem;color:#ffffffe6}.confirmed-gift-preview{position:relative;padding:15px;background:linear-gradient(145deg,gold,#fa0);border-radius:25px;box-shadow:0 15px 50px #ffd70066,0 0 0 4px #c41e3a80,inset 0 2px #ffffff80;animation:giftFloat 3s ease-in-out infinite}@keyframes giftFloat{0%,to{transform:translateY(0) rotate(0)}25%{transform:translateY(-10px) rotate(1deg)}75%{transform:translateY(-10px) rotate(-1deg)}}.confirmed-gift-preview img{width:280px;height:280px;object-fit:cover;border-radius:18px;display:block;box-shadow:0 8px 25px #0000004d}.confirmed-gift-preview:before{content:"💝";position:absolute;top:-15px;left:50%;transform:translate(-50%);font-size:2rem;animation:heartPulse 1.5s ease-in-out infinite}@keyframes heartPulse{0%,to{transform:translate(-50%) scale(1)}50%{transform:translate(-50%) scale(1.2)}}.confirmed-actions{display:flex;gap:15px;flex-wrap:wrap;justify-content:center}.confirmed-gift-section .btn-primary{padding:16px 35px;font-size:1.2rem;background:linear-gradient(145deg,#ff69b4,#ff1493);border:3px solid rgba(255,255,255,.3);box-shadow:0 8px 30px #ff69b480}.confirmed-gift-section .btn-primary:hover{transform:translateY(-5px) scale(1.05);box-shadow:0 15px 45px #ff69b499}.confirmed-gift-section .btn-secondary{padding:16px 35px;font-size:1.2rem;background:linear-gradient(145deg,#fff3,#ffffff1a);border:2px solid rgba(255,215,0,.5);color:var(--christmas-gold);box-shadow:0 6px 20px #0003}.confirmed-gift-section .btn-secondary:hover{transform:translateY(-3px);background:linear-gradient(145deg,#ffffff4d,#ffffff26);border-color:var(--christmas-gold);box-shadow:0 10px 30px #ffd7004d}@media (max-width: 768px){.confirmed-message{padding:20px 25px;margin:0 15px}.confirmed-message h2{font-size:1.4rem}.confirmed-message p{font-size:1rem}.confirmed-gift-preview img{width:220px;height:220px}.confirmed-actions{flex-direction:column;width:100%;padding:0 20px}.confirmed-gift-section .btn-primary,.confirmed-gift-section .btn-secondary{padding:14px 28px;font-size:1.1rem;width:100%}}.admin-page{min-height:100vh;background:linear-gradient(135deg,#1a1a2e,#16213e,#0f3460);color:#fff;padding:20px;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif}.admin-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:80vh}.admin-spinner{font-size:4rem;animation:bounce 1s ease-in-out infinite}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-20px)}}.admin-loading p{margin-top:20px;font-size:1.2rem;color:gold}.admin-header{display:flex;justify-content:space-between;align-items:center;padding:20px 30px;background:linear-gradient(145deg,#ffffff1a,#ffffff0d);border-radius:20px;margin-bottom:30px;border:1px solid rgba(255,215,0,.2);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.admin-header-content h1{font-size:2rem;font-weight:700;color:gold;margin:0;display:flex;align-items:center;gap:15px}.admin-icon{font-size:1.8rem;animation:swing 2s ease-in-out infinite}@keyframes swing{0%,to{transform:rotate(-10deg)}50%{transform:rotate(10deg)}}.admin-subtitle{margin:8px 0 0;color:#ffffffb3;font-size:1rem}.admin-back-btn{padding:12px 24px;background:linear-gradient(145deg,#c41e3a,#a01830);color:#fff;text-decoration:none;border-radius:12px;font-weight:600;transition:all .3s ease;border:2px solid rgba(255,215,0,.3)}.admin-back-btn:hover{transform:translateY(-2px);box-shadow:0 8px 25px #c41e3a66;border-color:gold}.admin-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;margin-bottom:30px}.stat-card{background:linear-gradient(145deg,#ffffff1a,#ffffff0d);border-radius:16px;padding:25px;display:flex;align-items:center;gap:20px;border:1px solid rgba(255,215,0,.15);transition:all .3s ease}.stat-card:hover{transform:translateY(-5px);border-color:#ffd70066;box-shadow:0 15px 40px #0000004d}.stat-icon{font-size:2.5rem;background:linear-gradient(145deg,#ffd70033,#ffd7001a);padding:15px;border-radius:12px}.stat-info{display:flex;flex-direction:column}.stat-number{font-size:1.8rem;font-weight:700;color:gold}.stat-label{font-size:.9rem;color:#fff9;margin-top:4px}.storage-badge{font-size:1rem!important;padding:4px 12px;border-radius:20px;display:inline-block}.storage-badge[data-storage=MongoDB]{background:linear-gradient(145deg,#4caf50,#388e3c)}.storage-badge[data-storage="File System"]{background:linear-gradient(145deg,#ff9800,#f57c00)}.admin-controls{display:flex;align-items:center;gap:20px;margin-bottom:25px;flex-wrap:wrap}.admin-btn{padding:12px 24px;border:none;border-radius:12px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;gap:8px}.refresh-btn{background:linear-gradient(145deg,#2196f3,#1976d2);color:#fff}.refresh-btn:hover{transform:translateY(-2px);box-shadow:0 8px 25px #2196f366}.auto-refresh-toggle{display:flex;align-items:center;gap:12px;cursor:pointer;-webkit-user-select:none;user-select:none}.auto-refresh-toggle input{display:none}.auto-refresh-toggle .toggle-slider{width:50px;height:26px;background:#fff3;border-radius:13px;position:relative;transition:all .3s ease}.auto-refresh-toggle .toggle-slider:after{content:"";position:absolute;width:20px;height:20px;background:#fff;border-radius:50%;top:3px;left:3px;transition:all .3s ease}.auto-refresh-toggle input:checked+.toggle-slider{background:linear-gradient(145deg,#4caf50,#388e3c)}.auto-refresh-toggle input:checked+.toggle-slider:after{left:27px}.toggle-label{color:#fffc;font-size:.95rem}.admin-error{background:linear-gradient(145deg,#f4433633,#f443361a);border:1px solid rgba(244,67,54,.5);border-radius:12px;padding:15px 20px;margin-bottom:20px;display:flex;align-items:center;gap:10px;color:#ff6b6b}.admin-table-container{background:linear-gradient(145deg,#ffffff14,#ffffff08);border-radius:20px;overflow:hidden;border:1px solid rgba(255,215,0,.15)}.admin-empty{padding:60px 20px;text-align:center}.empty-icon{font-size:4rem;margin-bottom:20px;opacity:.5}.admin-empty h3{font-size:1.5rem;color:gold;margin-bottom:10px}.admin-empty p{color:#fff9}.admin-table{width:100%;border-collapse:collapse}.admin-table thead{background:linear-gradient(145deg,#ffd70026,#ffd70014)}.admin-table th{padding:18px 15px;text-align:left;font-weight:600;color:gold;text-transform:uppercase;font-size:.85rem;letter-spacing:1px}.admin-table tbody tr{border-bottom:1px solid rgba(255,255,255,.05);transition:all .3s ease}.admin-table tbody tr:hover{background:#ffd7000d}.admin-table td{padding:15px;vertical-align:middle}.td-index{font-weight:700;color:#ffffff80;width:50px;text-align:center}.td-image{width:80px}.result-image-wrapper{width:60px;height:60px;border-radius:12px;overflow:hidden;border:3px solid rgba(255,215,0,.3);box-shadow:0 4px 15px #0000004d;transition:all .3s ease}.result-image-wrapper:hover{transform:scale(1.1);border-color:gold}.result-image-wrapper img{width:100%;height:100%;object-fit:cover}.gift-badge{background:linear-gradient(145deg,#c41e3a,#a01830);padding:6px 14px;border-radius:20px;font-size:.9rem;font-weight:600;display:inline-block}.recipient-name{font-weight:600;color:#ff69b4;font-size:1rem}.time-info{display:flex;flex-direction:column;gap:4px}.time-display{color:#ffffffe6;font-size:.95rem}.time-server{color:#fff6;font-size:.8rem}.admin-footer{text-align:center;padding:30px 0 10px;margin-top:30px;border-top:1px solid rgba(255,215,0,.1)}.admin-footer p{color:#ffffff80;font-size:.9rem}@media (max-width: 768px){.admin-page{padding:15px}.admin-header{flex-direction:column;gap:20px;text-align:center;padding:20px}.admin-header-content h1{font-size:1.5rem}.admin-stats{grid-template-columns:1fr}.stat-card{padding:20px}.admin-controls{flex-direction:column;align-items:stretch}.admin-btn{justify-content:center}.admin-table{font-size:.85rem}.admin-table th,.admin-table td{padding:12px 10px}.result-image-wrapper{width:50px;height:50px}.gift-badge{font-size:.8rem;padding:4px 10px}.time-display{font-size:.85rem}.time-server{display:none}}@media (max-width: 480px){.admin-table th:nth-child(1),.admin-table td:nth-child(1){display:none}.admin-header-content h1{font-size:1.3rem;flex-wrap:wrap;justify-content:center}}*{margin:0;padding:0;box-sizing:border-box}:root{--christmas-red: #dc2626;--christmas-red-dark: #991b1b;--christmas-red-light: #fca5a5;--christmas-green: #16a34a;--christmas-green-dark: #166534;--christmas-green-light: #86efac;--christmas-gold: #fbbf24;--christmas-gold-light: #fde68a;--christmas-gold-dark: #d97706;--snow-white: #fafafa;--cream: #fef3c7;--pine-green: #0d9488;--glass-bg: rgba(255, 255, 255, .1);--glass-border: rgba(255, 255, 255, .2);--glass-shadow: rgba(0, 0, 0, .1);--gradient-warm: linear-gradient(135deg, #dc2626 0%, #fbbf24 100%);--gradient-cool: linear-gradient(135deg, #16a34a 0%, #0d9488 100%);--gradient-festive: linear-gradient(135deg, #dc2626 0%, #16a34a 50%, #dc2626 100%);--shadow-sm: 0 2px 4px rgba(0, 0, 0, .1);--shadow-md: 0 4px 12px rgba(0, 0, 0, .15);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .2);--shadow-xl: 0 16px 48px rgba(0, 0, 0, .25);--shadow-glow-red: 0 0 20px rgba(220, 38, 38, .4);--shadow-glow-gold: 0 0 20px rgba(251, 191, 36, .4);--shadow-glow-green: 0 0 20px rgba(22, 163, 74, .4);--font-christmas: "Mountains of Christmas", cursive;--font-script: "Dancing Script", cursive;--ease-bounce: cubic-bezier(.68, -.55, .265, 1.55);--ease-smooth: cubic-bezier(.4, 0, .2, 1);--ease-spring: cubic-bezier(.175, .885, .32, 1.275)}body{font-family:var(--font-christmas);min-height:100vh;background:linear-gradient(135deg,#0f172a,#1e3a5f,#134e4a,#1e3a5f,#0f172a);background-size:400% 400%;animation:gradientShift 15s ease infinite;color:var(--snow-white);overflow-x:hidden;position:relative}@keyframes gradientShift{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}body:before{content:"";position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;background-image:radial-gradient(3px 3px at 20px 30px,rgba(255,255,255,.9),transparent),radial-gradient(2px 2px at 40px 70px,rgba(255,255,255,.7),transparent),radial-gradient(2px 2px at 90px 40px,rgba(255,255,255,.8),transparent),radial-gradient(3px 3px at 130px 80px,rgba(255,255,255,.85),transparent),radial-gradient(1px 1px at 160px 120px,rgba(255,255,255,.6),transparent),radial-gradient(2px 2px at 60px 150px,rgba(255,255,255,.75),transparent);background-size:200px 200px;animation:snowfallSlow 20s linear infinite;z-index:1}body:after{content:"";position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;background-image:radial-gradient(1px 1px at 50px 50px,rgba(255,255,255,.5),transparent),radial-gradient(2px 2px at 100px 100px,rgba(255,255,255,.6),transparent),radial-gradient(1px 1px at 150px 30px,rgba(255,255,255,.4),transparent),radial-gradient(2px 2px at 180px 150px,rgba(255,255,255,.55),transparent),radial-gradient(1px 1px at 30px 180px,rgba(255,255,255,.45),transparent);background-size:250px 250px;animation:snowfallFast 12s linear infinite;animation-delay:-3s;z-index:1}@keyframes snowfallSlow{0%{transform:translateY(-200px) translate(0)}to{transform:translateY(100vh) translate(20px)}}@keyframes snowfallFast{0%{transform:translateY(-200px) translate(0)}to{transform:translateY(100vh) translate(-15px)}}#root{position:relative;z-index:2;min-height:100vh}.btn{font-family:var(--font-christmas);font-size:1.1rem;font-weight:700;padding:14px 36px;border:none;border-radius:50px;cursor:pointer;transition:all .4s var(--ease-spring);text-transform:uppercase;letter-spacing:1.5px;position:relative;overflow:hidden;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.4),transparent);transition:left .6s var(--ease-smooth)}.btn:hover:before{left:100%}.btn:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50px;padding:2px;background:linear-gradient(135deg,rgba(255,255,255,.4),transparent);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none}.btn-primary{background:linear-gradient(135deg,var(--christmas-red) 0%,var(--christmas-red-dark) 100%);color:#fff;box-shadow:0 4px 15px #dc262666,0 0 #dc262600;border:2px solid rgba(255,255,255,.1)}.btn-primary:hover{transform:translateY(-4px) scale(1.02);box-shadow:0 8px 25px #dc262680,0 0 30px #dc26264d}.btn-primary:active{transform:translateY(-2px) scale(.98)}.btn-secondary{background:linear-gradient(135deg,var(--christmas-gold) 0%,var(--christmas-gold-dark) 100%);color:#1e293b;box-shadow:0 4px 15px #fbbf2466,0 0 #fbbf2400;border:2px solid rgba(255,255,255,.2)}.btn-secondary:hover{transform:translateY(-4px) scale(1.02);box-shadow:0 8px 25px #fbbf2480,0 0 30px #fbbf244d}.btn-secondary:active{transform:translateY(-2px) scale(.98)}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:#0f172a99;border-radius:4px}::-webkit-scrollbar-thumb{background:linear-gradient(180deg,var(--christmas-red) 0%,var(--christmas-red-dark) 100%);border-radius:4px;border:2px solid transparent;background-clip:padding-box}::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,var(--christmas-gold) 0%,var(--christmas-gold-dark) 100%);background-clip:padding-box}::selection{background:var(--christmas-gold);color:#1e293b}:focus-visible{outline:2px solid var(--christmas-gold);outline-offset:2px}.text-gold{color:var(--christmas-gold)}.text-red{color:var(--christmas-red)}.text-shadow{text-shadow:2px 2px 4px rgba(0,0,0,.5)}.glass-card{background:var(--glass-bg);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--glass-border);border-radius:16px}.glow-gold{box-shadow:var(--shadow-glow-gold)}.glow-red{box-shadow:var(--shadow-glow-red)}html{scroll-behavior:smooth}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
