.hero{min-height:100vh;display:flex;align-items:center;justify-content:center;text-align:center;position:relative;overflow:hidden;background:linear-gradient(180deg,rgba(45,10,26,.3),transparent,rgba(45,10,26,.3))}.hero-content{max-width:800px;padding:20px}.hero-emoji-container{position:relative;height:60px;margin-bottom:20px}.hero-emoji{position:absolute;font-size:28px}.emoji-1{left:20%;top:0;animation:floatHeart 3s ease infinite}.emoji-2{left:70%;top:-10px;animation:floatStar 3.5s ease infinite}.emoji-3{left:10%;top:10px;animation:floatDiagonal 4s ease infinite}.emoji-4{right:10%;top:5px;animation:floatDiagonalReverse 3.5s ease infinite}.emoji-5{right:25%;top:-5px;animation:floatBalloon 3s ease infinite}.hero-title{font-family:Dancing Script,cursive;font-size:5rem;margin-bottom:16px;line-height:1.2;color:#fff0f5;text-shadow:0 0 30px rgba(240,98,146,.5),0 4px 15px rgba(0,0,0,.4)}.hero-name{font-size:6rem;display:inline-block;color:#ffb0d0;text-shadow:0 0 20px rgba(240,98,146,.8),0 0 40px rgba(240,98,146,.5),0 0 60px rgba(240,98,146,.3)}.hero-subtitle{font-size:1.5rem;color:#ffd0e0;margin-bottom:16px;font-weight:300;text-shadow:0 2px 10px rgba(0,0,0,.3)}.hero-description{font-size:1.1rem;color:#ffc8d8;margin-bottom:32px;max-width:600px;margin-left:auto;margin-right:auto;font-style:italic;text-shadow:0 2px 8px rgba(0,0,0,.3)}.hero-buttons{display:flex;gap:16px;justify-content:center;flex-wrap:wrap}.hero-btn{padding:14px 32px;border-radius:50px;text-decoration:none;font-weight:600;font-size:.95rem;transition:all .3s ease;cursor:pointer}.hero-btn-primary{background:linear-gradient(135deg,#f06292,#ec407a);color:#fff;box-shadow:0 4px 15px #f0629280}.hero-btn-secondary{background:#ffffff26;color:#ffd0e0;border:2px solid #f06292;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.hero-btn-primary:hover{box-shadow:0 8px 30px #f0629299;transform:translateY(-3px)}.hero-btn-secondary:hover{background:#f0629240}.scroll-indicator{margin-top:60px;font-size:1.2rem;color:#ffb0c8;opacity:.8}.scroll-indicator span{display:block;font-size:2rem;margin-bottom:8px}.scroll-indicator p{font-size:.85rem;text-transform:uppercase;letter-spacing:2px}@media (max-width: 600px){.hero-title{font-size:3rem}.hero-name{font-size:3.5rem}.hero-subtitle{font-size:1.2rem}}.about{background:linear-gradient(180deg,transparent,rgba(45,10,26,.3),transparent)}.about-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:24px;max-width:900px;width:100%;padding:0 20px}.about-card{background:#2d0a1a8c;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:20px;padding:28px 24px;text-align:center;border:1px solid rgba(255,128,171,.3);transition:all .4s ease}.about-card:hover{transform:translateY(-8px) scale(1.02);box-shadow:0 20px 40px #0000004d;background:#2d0a1ab3;border-color:#f06292}.about-card-emoji{font-size:2.5rem;margin-bottom:12px}.about-card-title{font-family:Dancing Script,cursive;font-size:1.4rem;color:#ffd0e0;margin-bottom:8px;text-shadow:0 2px 8px rgba(0,0,0,.3)}.about-card-desc{font-size:.9rem;color:#ffc0d0;line-height:1.6}.about-message{margin-top:48px;font-family:Dancing Script,cursive;font-size:1.6rem;color:#ffd0e0;text-align:center;padding:0 20px;text-shadow:0 2px 10px rgba(0,0,0,.3)}.love-letter{background:linear-gradient(180deg,#2d0a1a33,#2d0a1a4d,#2d0a1a33)}.envelope{cursor:pointer;margin-bottom:40px;animation:floatHeart 2.5s ease infinite}.envelope-body{background:linear-gradient(135deg,#8a1a45,#6a1535);width:200px;height:150px;border-radius:10px;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:0 10px 30px #0006}.envelope-flap{position:absolute;top:-30px;left:0;width:0;height:0;border-left:100px solid transparent;border-right:100px solid transparent;border-bottom:40px solid #8a1a45}.envelope-heart{font-size:3rem;animation:heartPulse 1s ease infinite}.envelope-text{color:#ffd0e0;font-size:.9rem;margin-top:8px;font-weight:500}.letter-paper{background:#1e0812d9;border-radius:16px;padding:32px;max-width:650px;width:100%;box-shadow:0 8px 32px #0000004d;border:1px solid rgba(255,128,171,.2);margin:0 20px}.letter-text{font-family:Dancing Script,cursive;font-size:1.2rem;line-height:1.8;color:#ffdce8;white-space:pre-wrap;word-wrap:break-word;margin:0}.cursor{display:inline-block;width:3px;height:1.2rem;background:#f06292;animation:textBlink .75s step-end infinite;vertical-align:text-bottom}.music{background:linear-gradient(180deg,#2d0a1a33,#2d0a1a4d,#2d0a1a33)}.music-player{display:flex;align-items:center;gap:32px;background:#2d0a1a99;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);border-radius:24px;padding:32px;border:1px solid rgba(255,128,171,.25);max-width:600px;width:100%;margin:0 20px}.vinyl{flex-shrink:0}.vinyl-disc{width:140px;height:140px;background:radial-gradient(circle,#1a0a10,#0a0508 30%,#1a0a10,#2a1018 70%,#3a1520);border-radius:50%;display:flex;align-items:center;justify-content:center;position:relative;box-shadow:0 4px 20px #00000080}.vinyl-disc:after{content:"";position:absolute;width:100%;height:100%;border-radius:50%;background:repeating-radial-gradient(circle at center,transparent,transparent 2px,rgba(255,255,255,.03) 2px,rgba(255,255,255,.03) 4px)}.vinyl-center{width:40px;height:40px;background:linear-gradient(135deg,#f06292,#ec407a);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.2rem;z-index:1}.spinning .vinyl-disc{animation:spin 3s linear infinite}.music-info{flex:1;min-width:0}.music-title{font-family:Dancing Script,cursive;font-size:1.5rem;color:#ffdce8;margin-bottom:4px;text-shadow:0 2px 8px rgba(0,0,0,.3)}.music-artist{font-size:.85rem;color:#ffb0c8;margin-bottom:20px;opacity:.9}.music-loading{font-size:.85rem;color:#ffb0c8;margin-top:8px;animation:heartPulse 1s ease infinite}.music-start-badge{display:inline-block;font-size:.7rem;background:#f062924d;color:#ffd0e0;padding:2px 10px;border-radius:10px;margin-left:8px}.music-controls{display:flex;align-items:center;gap:12px}.music-play-btn{width:48px;height:48px;border-radius:50%;border:none;background:linear-gradient(135deg,#f06292,#ec407a);color:#fff;font-size:1.3rem;cursor:pointer;box-shadow:0 4px 15px #f0629280;transition:all .3s ease;flex-shrink:0}.music-play-btn:hover{transform:scale(1.1);box-shadow:0 6px 25px #f0629299}.music-play-btn.playing{animation:pulse 1.5s ease infinite}.music-progress{flex:1;height:6px;background:#ffffff26;border-radius:3px;cursor:pointer;overflow:hidden}.music-progress-bar{height:100%;background:linear-gradient(90deg,#f06292,#ec407a);border-radius:3px;transition:width .2s ease}.music-time{font-size:.75rem;color:#ffb0c8;min-width:70px;text-align:right}.music-notes{position:relative;height:40px;margin-top:16px}.note{position:absolute;font-size:1.2rem}.note-1{left:0;top:0}.note-2{left:30%;top:5px}.note-3{left:60%;top:-5px}.note-4{left:85%;top:10px}.music-hint{margin-top:32px;font-size:.85rem;color:#ffb0c8;text-align:center;padding:0 20px}.music-hint code{background:#2d0a1a80;padding:2px 8px;border-radius:4px;font-family:monospace;color:#f06292}@media (max-width: 500px){.music-player{flex-direction:column;text-align:center}.vinyl-disc{width:100px;height:100px}}.pickup{background:linear-gradient(180deg,#2d0a1a33,#2d0a1a66,#2d0a1a33)}.pickup-subtitle{font-size:1.1rem;color:#ffc8d8;margin-bottom:32px;text-align:center;padding:0 20px}.pickup-carousel{background:#2d0a1a8c;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:24px;padding:36px 28px;max-width:650px;width:100%;margin:0 20px 32px;border:1px solid rgba(255,128,171,.25);text-align:center}.pickup-line-container{display:flex;align-items:flex-start;gap:16px;min-height:80px}.pickup-icon{font-size:2rem;flex-shrink:0;margin-top:4px}.pickup-line{font-family:Dancing Script,cursive;font-size:1.5rem;color:#ffdce8;line-height:1.6;text-align:left;text-shadow:0 2px 8px rgba(0,0,0,.3)}.cursor{display:inline-block;width:3px;height:1.4rem;background:#f06292;animation:textBlink .75s step-end infinite;vertical-align:text-bottom}.pickup-nav{display:flex;gap:6px;justify-content:center;margin-top:20px;flex-wrap:wrap}.pickup-dot{width:8px;height:8px;border-radius:50%;background:#ff80ab4d;cursor:pointer;transition:all .3s ease}.pickup-dot.active{background:#f06292;transform:scale(1.4);box-shadow:0 0 10px #f0629280}.pickup-generator{text-align:center;max-width:650px;width:100%;padding:0 20px}.pickup-gen-title{font-family:Dancing Script,cursive;font-size:1.4rem;color:#ffd0e0;margin-bottom:16px;text-shadow:0 2px 8px rgba(0,0,0,.3)}.pickup-gen-btn{padding:14px 36px;font-size:1.1rem;font-weight:600;border:none;border-radius:50px;background:linear-gradient(135deg,#f06292,#ec407a);color:#fff;cursor:pointer;box-shadow:0 6px 25px #f0629266;transition:all .3s ease}.pickup-gen-btn:hover{transform:scale(1.05);box-shadow:0 10px 40px #f0629299}.pickup-gen-result{background:#2d0a1a80;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:20px;padding:28px;margin-top:20px;border:1px solid rgba(255,128,171,.25)}.pickup-gen-icon{font-size:2.5rem;display:block;margin-bottom:12px;animation:heartPulse .8s ease infinite}.pickup-gen-text{font-family:Dancing Script,cursive;font-size:1.3rem;color:#ffdce8;line-height:1.6;margin-bottom:16px;text-shadow:0 2px 8px rgba(0,0,0,.3)}.pickup-gen-again{padding:10px 28px;font-size:.95rem;border:2px solid #f06292;border-radius:50px;background:#2d0a1a80;color:#ffd0e0;cursor:pointer;transition:all .3s ease}.pickup-gen-again:hover{background:#f0629240;border-color:#ff80ab}.reasons{background:linear-gradient(180deg,#2d0a1a1a,#2d0a1a4d,#2d0a1a1a)}.reasons-subtitle{font-size:1.1rem;color:#ffb0c8;margin-bottom:36px;text-align:center;padding:0 20px}.reasons-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:20px;max-width:1000px;width:100%;padding:0 20px}.reason-card{perspective:1000px;cursor:pointer;height:240px}.reason-card-inner{position:relative;width:100%;height:100%;transition:transform .6s ease;transform-style:preserve-3d}.reason-card.flipped .reason-card-inner{transform:rotateY(180deg)}.reason-card-front,.reason-card-back{position:absolute;top:0;right:0;bottom:0;left:0;backface-visibility:hidden;border-radius:20px;padding:24px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;border:1px solid rgba(255,128,171,.2)}.reason-card-front{background:#2d0a1a8c;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.reason-card-back{background:#2d0a1ab3;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);transform:rotateY(180deg)}.reason-emoji{font-size:3rem;width:80px;height:80px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin-bottom:12px;animation:floatHeart 3s ease infinite}.reason-title{font-family:Dancing Script,cursive;font-size:1.15rem;color:#ffdce8;margin-bottom:8px;text-shadow:0 2px 8px rgba(0,0,0,.3)}.reason-hint{font-size:.7rem;color:#ff80ab88;text-transform:uppercase;letter-spacing:1px}.reason-back-emoji{font-size:2rem;margin-bottom:12px;animation:heartPulse 1s ease infinite}.reason-desc{font-size:.85rem;color:#ffc8d8;line-height:1.6}.reasons-crazy{margin-top:48px;font-family:Dancing Script,cursive;font-size:1.5rem;color:#ffd0e0;text-align:center;padding:0 20px;text-shadow:0 2px 10px rgba(0,0,0,.3)}@media (max-width: 500px){.reasons-grid{grid-template-columns:1fr}}.fortune{background:linear-gradient(180deg,#0a051e4d,#2d0a1a66,#0a051e4d);position:relative;overflow:hidden;min-height:120vh}.fortune-stars{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:0}.fortune-star{position:absolute;animation:twinkle var(--dur, 3s) ease infinite;opacity:.3}@keyframes twinkle{0%,to{opacity:.2;transform:scale(.8) rotate(0)}50%{opacity:1;transform:scale(1.3) rotate(30deg)}}.fortune-subtitle{font-size:1.15rem;color:#ffb0c8;margin-bottom:40px;text-align:center;padding:0 20px}.fortune-ball-container{position:relative;z-index:2;margin:20px 0}.crystal-ball{width:260px;height:260px;border-radius:50%;position:relative;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:transform .3s ease;margin:0 auto}.crystal-ball:hover{transform:scale(1.05)}.ball-glow{position:absolute;top:-30px;right:-30px;bottom:-30px;left:-30px;border-radius:50%;background:radial-gradient(circle,rgba(179,136,255,calc(.25 * var(--glow, 1))),transparent 70%);animation:pulseGlow 2s ease infinite;pointer-events:none}@keyframes pulseGlow{0%,to{transform:scale(1);opacity:var(--glow, 1)}50%{transform:scale(1.08);opacity:calc(var(--glow, 1) * .7)}}.ball-inner{width:200px;height:200px;border-radius:50%;background:radial-gradient(circle at 35% 35%,#c8b4ff4d,#3c1e6499,#140a28cc);border:2px solid rgba(179,136,255,.4);box-shadow:inset 0 0 40px #b388ff33,0 0 30px #b388ff26,inset 0 -20px 40px #0006;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}.ball-swirl,.ball-swirl-2{position:absolute;top:-20px;right:-20px;bottom:-20px;left:-20px;border-radius:50%;background:conic-gradient(from 0deg,transparent,rgba(179,136,255,.08),transparent,rgba(255,128,171,.08),transparent);animation:swirl 6s linear infinite;pointer-events:none}.ball-swirl-2{animation:swirl 8s linear infinite reverse;background:conic-gradient(from 90deg,transparent,rgba(255,215,0,.06),transparent,rgba(100,200,255,.06),transparent)}@keyframes swirl{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.ball-idle,.ball-result,.ball-revealing{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;gap:8px}.ball-cta{font-size:3.5rem;animation:floatHeart 2s ease infinite}.ball-cta-text{font-size:.75rem;color:#ffc0dcb3;text-align:center;padding:0 10px}.ball-result{text-align:center}.ball-fortune-emoji{font-size:4rem}.revealing-text{font-size:.75rem;color:#ffc8e0;text-align:center}.revealing-dots{font-size:1.5rem}.crystal-ball.revealing .ball-inner{animation:ballReveal 1.8s ease}@keyframes ballReveal{0%{transform:scale(1);filter:brightness(1)}20%{transform:scale(.9);filter:brightness(1.5)}40%{transform:scale(1.05);filter:brightness(2)}60%{transform:scale(.85);filter:brightness(.8)}80%{transform:scale(1.1);filter:brightness(1.3)}to{transform:scale(1);filter:brightness(1)}}.fortune-card{max-width:500px;width:90%;margin:30px auto;border-radius:24px;overflow:hidden;box-shadow:0 10px 40px #0000004d,0 0 60px #b388ff1a;animation:cardRise .8s ease both;z-index:2;position:relative}@keyframes cardRise{0%{opacity:0;transform:translateY(40px) scale(.9)}to{opacity:1;transform:translateY(0) scale(1)}}.fortune-card-header{padding:30px 24px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:8px}.fortune-card-emoji{font-size:3rem;animation:floatHeart 2s ease infinite}.fortune-card-title{font-family:Dancing Script,cursive;font-size:1.8rem;color:#fff;text-shadow:0 2px 10px rgba(0,0,0,.3)}.fortune-card-body{padding:28px 24px;background:#1e0f32d9;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(179,136,255,.15);border-top:none;border-radius:0 0 24px 24px}.fortune-card-text{font-size:1rem;color:#ffdce8;line-height:1.7;text-align:center;margin-bottom:20px}.fortune-card-footer{display:flex;flex-direction:column;align-items:center;gap:16px}.fortune-card-stars{font-size:1.2rem;opacity:.7}.fortune-again-btn{padding:12px 28px;border:2px solid rgba(179,136,255,.4);border-radius:50px;background:#b388ff1f;color:#ffdce8;font-family:Dancing Script,cursive;font-size:1.1rem;cursor:pointer;transition:all .3s ease}.fortune-again-btn:hover{background:#b388ff40;border-color:#b388ffb3;box-shadow:0 0 20px #b388ff33}.fortune-hint{color:#ffc0dc80;font-size:.9rem;margin-top:20px;text-align:center}@media (max-width: 500px){.crystal-ball{width:200px;height:200px}.ball-inner{width:160px;height:160px}.ball-cta{font-size:2.5rem}.fortune-card-title{font-size:1.4rem}}.lovemeter{background:linear-gradient(180deg,#2d0a1a1a,#2d0a1a40,#2d0a1a1a);position:relative;overflow:hidden}.lovemeter-particles{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:1}.lovemeter-particle{position:absolute;bottom:-40px;font-size:1.5rem;animation:riseParticle linear forwards;opacity:1;pointer-events:none}@keyframes riseParticle{0%{transform:translateY(0) scale(.5) rotate(0);opacity:1}50%{transform:translateY(-200px) scale(1.2) rotate(180deg);opacity:.8}to{transform:translateY(-400px) scale(.6) rotate(360deg);opacity:0}}.lovemeter-subtitle{font-size:1.1rem;color:#ffb0c8;margin-bottom:40px;text-align:center;padding:0 20px}.meter-container{max-width:480px;width:90%;padding:40px 36px;border-radius:32px;background:#2d0a1a73;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1px solid rgba(255,128,171,.15);display:flex;flex-direction:column;align-items:center;gap:28px;transition:all .3s ease;position:relative;z-index:2}.meter-container.meter-maxed{border-color:#ffd70066;box-shadow:0 0 40px #ffd70014}.meter-display{display:flex;align-items:center;gap:16px}.meter-emoji{font-size:3rem;animation:heartBeat 1.3s ease infinite}.meter-percentage{font-family:Dancing Script,cursive;font-size:4rem;font-weight:700;text-shadow:0 0 20px currentColor;transition:color .3s ease;min-width:120px;text-align:center}.meter-bar-track{width:100%;height:28px;background:#ffffff0f;border-radius:14px;position:relative;overflow:hidden;border:1px solid rgba(255,128,171,.1)}.meter-bar-fill{height:100%;border-radius:14px;transition:width .5s cubic-bezier(.34,1.56,.64,1);position:relative;overflow:hidden}.meter-bar-shine{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.15),transparent);animation:shine 2s ease infinite}@keyframes shine{0%{transform:translate(-100%)}to{transform:translate(100%)}}.meter-bar-dots{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.meter-dot{position:absolute;top:50%;transform:translate(-50%,-50%);width:6px;height:6px;border-radius:50%;background:#ffffff26;transition:all .3s ease}.meter-dot.active{background:#fff9;box-shadow:0 0 8px #ff80ab80;width:8px;height:8px}.meter-message{font-family:Dancing Script,cursive;font-size:1.5rem;text-align:center;text-shadow:0 0 10px currentColor;display:flex;align-items:center;gap:8px;min-height:48px;transition:color .3s ease}.meter-max-badge{font-size:1.5rem}.meter-buttons{display:flex;gap:12px;flex-wrap:wrap;justify-content:center}.meter-pump-btn{padding:14px 36px;border:none;border-radius:50px;background:linear-gradient(135deg,#ff4081,#e91e63);color:#fff;font-family:Dancing Script,cursive;font-size:1.15rem;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 20px #e91e634d}.meter-pump-btn:hover{transform:scale(1.08);box-shadow:0 6px 30px #e91e6380}.meter-pump-btn:active{transform:scale(.95)}.meter-reset-btn{padding:14px 28px;border:1px solid rgba(255,128,171,.3);border-radius:50px;background:#ff80ab14;color:#ffb0c8;font-family:Dancing Script,cursive;font-size:1rem;cursor:pointer;transition:all .3s ease}.meter-reset-btn:hover{background:#ff80ab2e;border-color:#ff80ab80}.meter-celebration{text-align:center;display:flex;flex-direction:column;align-items:center;gap:12px}.meter-celebration-text{font-family:Dancing Script,cursive;font-size:1.8rem;color:#ffd740;text-shadow:0 0 20px rgba(255,215,0,.4);animation:textGlow 2s ease infinite}.meter-celebration-hearts{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;font-size:1.8rem}.meter-credits{margin-top:40px;font-family:Dancing Script,cursive;font-size:1.2rem;color:#ffc0dc99;text-align:center;padding:0 20px}@media (max-width: 500px){.meter-container{padding:30px 20px}.meter-percentage{font-size:3rem;min-width:80px}.meter-emoji{font-size:2.2rem}.meter-message{font-size:1.2rem}}.secret{background:linear-gradient(180deg,#2d0a1a26,#2d0a1a4d,#2d0a1a26);position:relative}.secret-subtitle{font-size:1.05rem;color:#ffb0c8;margin-bottom:40px;text-align:center;padding:0 20px}.secret-container{max-width:500px;width:90%;position:relative;z-index:2}.secret-envelope{cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:20px}.envelope-body{width:260px;height:200px;background:linear-gradient(135deg,#ff9a9e,#fad0c4);border-radius:12px;position:relative;display:flex;align-items:center;justify-content:center;box-shadow:0 10px 40px #0000004d,0 0 30px #ff9a9e33;overflow:hidden}.envelope-flap{position:absolute;top:0;left:0;right:0;height:50%;background:linear-gradient(135deg,#ffb3b6,#ffd1d1);clip-path:polygon(0 0,100% 0,50% 100%);transform-origin:top;transition:transform .6s ease;z-index:2}.secret-envelope:hover .envelope-flap{transform:rotateX(20deg)}.envelope-heart{position:relative;z-index:1}.envelope-heart-icon{font-size:3rem;filter:drop-shadow(0 0 10px rgba(255,77,109,.5))}.envelope-cta{font-family:Dancing Script,cursive;font-size:1.15rem;color:#ffb0c8;text-shadow:0 2px 8px rgba(0,0,0,.2);animation:bounceFloat 2s ease infinite}.secret-note{background:linear-gradient(145deg,#fff8f014,#fff0f50a);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1px solid rgba(255,182,193,.2);border-radius:24px;padding:36px 28px;display:flex;flex-direction:column;align-items:center;gap:20px;box-shadow:0 10px 40px #0003,0 0 30px #ff80ab0f;position:relative}.note-decoration-top,.note-decoration-bottom{display:flex;gap:12px;font-size:1rem;opacity:.5;width:100%;justify-content:center}.note-decoration-top{margin-bottom:-8px}.note-decoration-bottom{margin-top:-8px}.note-header{text-align:center;display:flex;flex-direction:column;align-items:center;gap:8px}.note-emoji{font-size:2.5rem;animation:floatHeart 3s ease infinite}.note-title{font-family:Dancing Script,cursive;font-size:1.6rem;color:#ffdce8;text-shadow:0 2px 10px rgba(0,0,0,.3)}.note-body{width:100%;min-height:100px;display:flex;align-items:center;justify-content:center}.note-text-container{max-width:400px}.note-text{font-size:1rem;color:#ffdce8;line-height:1.8;text-align:center;min-height:80px}.note-cursor{display:inline-block;animation:blink .7s step-end infinite;color:#ff80ab;font-weight:700}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}.note-footer{display:flex;flex-direction:column;align-items:center;gap:12px;width:100%}.note-counter{font-size:.8rem;color:#ffc0dc66;letter-spacing:1px}.note-nav{display:flex;gap:10px}.note-nav-btn{padding:10px 24px;border:1px solid rgba(255,128,171,.3);border-radius:50px;background:#ff80ab14;color:#ffc8d8;font-family:Dancing Script,cursive;font-size:1rem;cursor:pointer;transition:all .3s ease}.note-nav-btn:hover{background:#ff80ab33;border-color:#ff80ab80}.note-hearts{font-size:1.2rem}.secret-hint{margin-top:36px;font-family:Dancing Script,cursive;font-size:1.1rem;color:#ffc0dc80;text-align:center;padding:0 20px}@media (max-width: 500px){.envelope-body{width:200px;height:160px}.secret-note{padding:24px 18px}.note-title{font-size:1.3rem}.note-text{font-size:.9rem}}.timeline{background:linear-gradient(180deg,rgba(45,10,26,.2),transparent,rgba(45,10,26,.2))}.timeline-subtitle{font-size:1.1rem;color:#ffc8d8;margin-bottom:48px;text-align:center;font-style:italic;padding:0 20px;text-shadow:0 2px 8px rgba(0,0,0,.3)}.timeline-container{position:relative;max-width:700px;width:100%;padding:0 20px}.timeline-line{position:absolute;left:50%;top:0;bottom:0;width:3px;background:linear-gradient(180deg,#ff80ab,#f06292,#ec407a,#ff4081);transform:translate(-50%);border-radius:2px;box-shadow:0 0 10px #f062924d}.timeline-item{display:flex;position:relative;margin-bottom:40px;width:100%}.timeline-item.left{justify-content:flex-start;padding-right:calc(50% + 30px)}.timeline-item.right{justify-content:flex-end;padding-left:calc(50% + 30px)}.timeline-item:before{content:"💖";position:absolute;left:50%;top:20px;transform:translate(-50%);font-size:1.2rem;z-index:2;filter:drop-shadow(0 0 6px rgba(240,98,146,.5))}.timeline-content{background:#2d0a1a99;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:16px;padding:20px;border:1px solid rgba(255,128,171,.25);transition:all .4s ease}.timeline-content:hover{transform:translateY(-4px) scale(1.02);background:#2d0a1abf;box-shadow:0 12px 30px #0000004d;border-color:#f06292}.timeline-icon{font-size:1.5rem;display:block;margin-bottom:8px}.timeline-year{display:inline-block;background:linear-gradient(135deg,#f06292,#ec407a);color:#fff;padding:4px 12px;border-radius:20px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:1px;margin-bottom:8px}.timeline-title{font-family:Dancing Script,cursive;font-size:1.2rem;color:#ffdce8;margin-bottom:6px;text-shadow:0 2px 8px rgba(0,0,0,.3)}.timeline-desc{font-size:.85rem;color:#ffc0d0;line-height:1.5}@media (max-width: 640px){.timeline-line{left:20px}.timeline-item.left,.timeline-item.right{padding:0 0 0 50px;justify-content:flex-start}.timeline-item:before{left:20px}}.proposal{background:linear-gradient(180deg,transparent,rgba(45,10,26,.3),transparent);min-height:80vh}.proposal-container{background:#2d0a1a99;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);border-radius:32px;padding:48px 40px;text-align:center;max-width:550px;width:100%;margin:0 20px;border:2px solid rgba(255,128,171,.25);position:relative;min-height:350px;display:flex;flex-direction:column;align-items:center;justify-content:center}.proposal-loading{font-size:4rem}.proposal-decorations{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.prop-deco-1,.prop-deco-2,.prop-deco-3,.prop-deco-4{position:absolute;font-size:1.5rem}.prop-deco-1{top:10%;left:10%}.prop-deco-2{top:10%;right:10%}.prop-deco-3{bottom:15%;left:15%}.prop-deco-4{bottom:15%;right:15%}.proposal-text{margin-bottom:32px}.proposal-emoji{font-size:3rem;display:block;margin-bottom:16px}.proposal-question{font-family:Dancing Script,cursive;font-size:2rem;color:#ffdce8;line-height:1.4;text-shadow:0 2px 10px rgba(0,0,0,.3)}.proposal-buttons{display:flex;gap:20px;justify-content:center;align-items:center;flex-wrap:wrap;position:relative;min-height:60px;width:100%}.yes-btn{padding:16px 48px;font-size:1.3rem;font-weight:700;border:none;border-radius:50px;background:linear-gradient(135deg,#f06292,#ec407a);color:#fff;cursor:pointer;box-shadow:0 6px 25px #f0629280;transition:all .3s ease;animation:heartPulse 1.5s ease infinite}.yes-btn:hover{transform:scale(1.1);box-shadow:0 10px 40px #f0629299}.no-btn{padding:12px 24px;font-size:.9rem;border:2px solid #f06292;border-radius:50px;background:#2d0a1a99;color:#ffc8d8;cursor:pointer;transition:all .2s ease;z-index:10}.no-btn:hover{background:#f0629240}.no-btn-defeated{position:static!important;opacity:.5;cursor:not-allowed}.proposal-plea{margin-top:20px;font-family:Dancing Script,cursive;font-size:1.2rem;color:#ffb0c8;text-shadow:0 2px 8px rgba(0,0,0,.3)}.proposal-yes{animation:zoomIn .6s ease}.proposal-ring-container{margin-bottom:20px}.proposal-ring{font-size:4rem;display:inline-block}.proposal-yes-text{font-family:Dancing Script,cursive;font-size:2.5rem;margin-bottom:24px;text-shadow:0 2px 10px rgba(0,0,0,.3)}.proposal-hearts{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;font-size:1.5rem}.ring-animation{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;z-index:999;pointer-events:none;animation:fadeIn .3s ease}.ring-emoji{font-size:10rem;animation:heartBurst 1.5s ease forwards}.reply{background:linear-gradient(180deg,#2d0a1a33,#2d0a1a66)}.reply-container{max-width:600px;width:100%;padding:0 20px}.reply-form{background:#2d0a1a99;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:20px;padding:32px;border:1px solid rgba(255,128,171,.25);margin-bottom:32px}.form-group{margin-bottom:20px}.form-label{display:block;margin-bottom:8px;font-weight:600;font-size:.9rem;color:#ffd0e0}.form-input,.form-textarea{width:100%;padding:12px 16px;border:2px solid rgba(255,128,171,.2);border-radius:12px;font-family:Poppins,sans-serif;font-size:.95rem;background:#1e0812b3;transition:all .3s ease;outline:none;color:#ffdce8}.form-input::placeholder,.form-textarea::placeholder{color:#ff80ab88}.form-input:focus,.form-textarea:focus{border-color:#f06292;box-shadow:0 0 15px #f062924d;background:#2d0a1acc}.form-textarea{resize:vertical;min-height:100px}.form-error{color:#ff80ab;font-size:.85rem;margin-bottom:12px}.form-submit{width:100%;padding:14px;border:none;border-radius:50px;background:linear-gradient(135deg,#f06292,#ec407a);color:#fff;font-size:1.1rem;font-weight:600;cursor:pointer;box-shadow:0 4px 15px #f0629266;transition:all .3s ease}.form-submit:hover{box-shadow:0 8px 30px #f0629280;transform:translateY(-2px)}.reply-success{background:#2d0a1a99;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:20px;padding:48px 32px;text-align:center;border:1px solid rgba(255,128,171,.25);margin-bottom:32px}.reply-success-icon{font-size:4rem;display:block;margin-bottom:16px}.reply-success-text{font-family:Dancing Script,cursive;font-size:2rem;color:#ffdce8;margin-bottom:8px;text-shadow:0 2px 8px rgba(0,0,0,.3)}.reply-success-sub{color:#ffc0d0;margin-bottom:24px}.replies-section{background:#2d0a1a8c;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:20px;padding:24px;border:1px solid rgba(255,128,171,.25)}.replies-title{font-family:Dancing Script,cursive;font-size:1.3rem;color:#ffdce8;margin-bottom:16px}.replies-loading{text-align:center;color:#ffb0c8;padding:20px}.replies-empty{text-align:center;color:#ffb0c8;padding:20px;font-style:italic}.replies-list{display:flex;flex-direction:column;gap:12px;max-height:400px;overflow-y:auto}.reply-card{background:#1e081299;border-radius:12px;padding:16px;border:1px solid rgba(255,128,171,.15)}.reply-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.reply-card-name{font-weight:600;color:#ffd0e0;font-size:.9rem}.reply-card-date{font-size:.75rem;color:#ff80ab88}.reply-card-message{font-size:.9rem;color:#ffdce8;line-height:1.5}.reply-card-yes{display:inline-block;margin-top:8px;background:linear-gradient(135deg,#f06292,#ec407a);color:#fff;padding:4px 12px;border-radius:20px;font-size:.75rem;font-weight:600}.floating-hearts{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:0;overflow:hidden}.floating-heart{position:absolute;bottom:-50px;animation:heartFloatUp linear infinite;-webkit-user-select:none;user-select:none}@keyframes heartFloatUp{0%{transform:translateY(0) translate(0) scale(.5) rotate(0);opacity:0}10%{opacity:.7}90%{opacity:.5}to{transform:translateY(-105vh) translate(30px) scale(1) rotate(360deg);opacity:0}}.sparkles-container{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:9998}.sparkle{position:absolute;color:#ff80ab;animation:sparkleFade .8s ease forwards;pointer-events:none;text-shadow:0 0 6px #f06292,0 0 12px #ff80ab}@keyframes sparkleFade{0%{opacity:1;transform:scale(.5) rotate(0)}to{opacity:0;transform:scale(1.5) rotate(180deg) translateY(-30px)}}.floating-emojis{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:0;overflow:hidden}.floating-emoji{position:absolute;bottom:-40px;animation:emojiRise linear infinite;-webkit-user-select:none;user-select:none}@keyframes emojiRise{0%{transform:translateY(0) translate(0) rotate(0) scale(.5);opacity:0}10%{opacity:.6}90%{opacity:.4}to{transform:translateY(-105vh) translate(40px) rotate(360deg) scale(1.2);opacity:0}}.bouncing-emojis{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:0;overflow:hidden}.bouncing-emoji{position:absolute;bottom:-60px;-webkit-user-select:none;user-select:none;opacity:.35;filter:drop-shadow(0 0 10px rgba(240,98,146,.3))}.bouncing-sm{font-size:1.2rem}.bouncing-md{font-size:1.8rem}.bouncing-lg{font-size:2.5rem}.bouncing-xl{font-size:3.5rem}.anim-type-0{animation:bounceRise1 linear infinite}.anim-type-1{animation:bounceRise2 linear infinite}.anim-type-2{animation:bounceRise3 linear infinite}.anim-type-3{animation:bounceRise4 linear infinite}.anim-type-4{animation:bounceRise5 linear infinite}@keyframes bounceRise1{0%{transform:translateY(0) translate(0) rotate(0) scale(.3);opacity:0}10%{opacity:.35}50%{transform:translateY(-50vh) translate(40px) rotate(360deg) scale(1);opacity:.4}90%{opacity:.2}to{transform:translateY(-110vh) translate(-20px) rotate(720deg) scale(.5);opacity:0}}@keyframes bounceRise2{0%{transform:translateY(0) translate(0) rotate(0) scale(.2);opacity:0}10%{opacity:.3}50%{transform:translateY(-60vh) translate(-30px) rotate(-360deg) scale(1.1);opacity:.35}to{transform:translateY(-110vh) translate(50px) rotate(-720deg) scale(.4);opacity:0}}@keyframes bounceRise3{0%{transform:translateY(0) scale(0) rotate(0);opacity:0}15%{opacity:.4;transform:translateY(-10vh) scale(1.2) rotate(180deg)}50%{transform:translateY(-55vh) translate(20px) scale(.8) rotate(360deg);opacity:.35}to{transform:translateY(-110vh) translate(-40px) scale(.2) rotate(720deg);opacity:0}}@keyframes bounceRise4{0%{transform:translateY(0) translate(0) scale(1);opacity:0}20%{opacity:.3;transform:translateY(-15vh) translate(15px) scale(1.3) rotate(-15deg)}60%{transform:translateY(-65vh) translate(-25px) scale(.9) rotate(15deg);opacity:.25}to{transform:translateY(-110vh) translate(35px) scale(1.1) rotate(-30deg);opacity:0}}@keyframes bounceRise5{0%{transform:translateY(0) scale(0) rotate(0);opacity:0}10%{opacity:.4;transform:translateY(-5vh) scale(1.5) rotate(90deg)}40%{transform:translateY(-40vh) translate(-15px) scale(1) rotate(270deg);opacity:.3}80%{transform:translateY(-90vh) translate(30px) scale(.7) rotate(540deg);opacity:.15}to{transform:translateY(-110vh) translate(-10px) scale(.3) rotate(720deg);opacity:0}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-40px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInLeft{0%{opacity:0;transform:translate(-40px)}to{opacity:1;transform:translate(0)}}@keyframes fadeInRight{0%{opacity:0;transform:translate(40px)}to{opacity:1;transform:translate(0)}}@keyframes slideInUp{0%{transform:translateY(100px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes slideInDown{0%{transform:translateY(-100px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes slideInLeft{0%{transform:translate(-100px);opacity:0}to{transform:translate(0);opacity:1}}@keyframes slideInRight{0%{transform:translate(100px);opacity:0}to{transform:translate(0);opacity:1}}@keyframes zoomIn{0%{transform:scale(0);opacity:0}to{transform:scale(1);opacity:1}}.anim-fadeIn{animation:fadeIn 1s ease both}.anim-fadeInUp{animation:fadeInUp 1s ease both}.anim-fadeInDown{animation:fadeInDown 1s ease both}.anim-fadeInLeft{animation:fadeInLeft 1s ease both}.anim-fadeInRight{animation:fadeInRight 1s ease both}.anim-slideInUp{animation:slideInUp .8s ease both}.anim-slideInDown{animation:slideInDown .8s ease both}.anim-slideInLeft{animation:slideInLeft .8s ease both}.anim-slideInRight{animation:slideInRight .8s ease both}.anim-zoomIn{animation:zoomIn .6s ease both}@keyframes zoomInUp{0%{transform:scale(0) translateY(50px);opacity:0}to{transform:scale(1) translateY(0);opacity:1}}@keyframes zoomInDown{0%{transform:scale(0) translateY(-50px);opacity:0}to{transform:scale(1) translateY(0);opacity:1}}@keyframes zoomInLeft{0%{transform:scale(0) translate(-50px);opacity:0}to{transform:scale(1) translate(0);opacity:1}}@keyframes zoomInRight{0%{transform:scale(0) translate(50px);opacity:0}to{transform:scale(1) translate(0);opacity:1}}@keyframes bounceIn{0%{transform:scale(0);opacity:0}50%{transform:scale(1.15)}70%{transform:scale(.95)}to{transform:scale(1);opacity:1}}@keyframes bounceInUp{0%{transform:translateY(100px);opacity:0}60%{transform:translateY(-15px)}80%{transform:translateY(5px)}to{transform:translateY(0);opacity:1}}@keyframes bounceInDown{0%{transform:translateY(-100px);opacity:0}60%{transform:translateY(15px)}80%{transform:translateY(-5px)}to{transform:translateY(0);opacity:1}}@keyframes bounceInLeft{0%{transform:translate(-100px);opacity:0}60%{transform:translate(15px)}80%{transform:translate(-5px)}to{transform:translate(0);opacity:1}}@keyframes bounceInRight{0%{transform:translate(100px);opacity:0}60%{transform:translate(-15px)}80%{transform:translate(5px)}to{transform:translate(0);opacity:1}}@keyframes flipInX{0%{transform:perspective(400px) rotateX(90deg);opacity:0}40%{transform:perspective(400px) rotateX(-10deg)}70%{transform:perspective(400px) rotateX(10deg)}to{transform:perspective(400px) rotateX(0);opacity:1}}.anim-zoomInUp{animation:zoomInUp .8s ease both}.anim-zoomInDown{animation:zoomInDown .8s ease both}.anim-zoomInLeft{animation:zoomInLeft .8s ease both}.anim-zoomInRight{animation:zoomInRight .8s ease both}.anim-bounceIn{animation:bounceIn .8s ease both}.anim-bounceInUp{animation:bounceInUp .8s ease both}.anim-bounceInDown{animation:bounceInDown .8s ease both}.anim-bounceInLeft{animation:bounceInLeft .8s ease both}.anim-bounceInRight{animation:bounceInRight .8s ease both}.anim-flipInX{animation:flipInX 1s ease both}@keyframes flipInY{0%{transform:perspective(400px) rotateY(90deg);opacity:0}40%{transform:perspective(400px) rotateY(-10deg)}70%{transform:perspective(400px) rotateY(10deg)}to{transform:perspective(400px) rotateY(0);opacity:1}}@keyframes rollIn{0%{transform:translate(-100%) rotate(-120deg);opacity:0}to{transform:translate(0) rotate(0);opacity:1}}@keyframes lightSpeedIn{0%{transform:translate(100%) skew(-30deg);opacity:0}60%{transform:translate(-5%) skew(10deg);opacity:1}80%{transform:translate(0) skew(-3deg)}to{transform:translate(0) skew(0)}}@keyframes rotateIn{0%{transform:rotate(-200deg);opacity:0}to{transform:rotate(0);opacity:1}}@keyframes rotateInDownLeft{0%{transform:rotate(-90deg) translate(-50px) translateY(-50px);opacity:0}to{transform:rotate(0) translate(0) translateY(0);opacity:1}}@keyframes rotateInDownRight{0%{transform:rotate(90deg) translate(50px) translateY(-50px);opacity:0}to{transform:rotate(0) translate(0) translateY(0);opacity:1}}@keyframes rotateInUpLeft{0%{transform:rotate(90deg) translate(-50px) translateY(50px);opacity:0}to{transform:rotate(0) translate(0) translateY(0);opacity:1}}@keyframes rotateInUpRight{0%{transform:rotate(-90deg) translate(50px) translateY(50px);opacity:0}to{transform:rotate(0) translate(0) translateY(0);opacity:1}}@keyframes jackInBox{0%{transform:scale(.1) rotate(30deg);opacity:0}50%{transform:rotate(-5deg)}70%{transform:rotate(3deg)}to{transform:scale(1);opacity:1}}.anim-flipInY{animation:flipInY 1s ease both}.anim-rollIn{animation:rollIn .8s ease both}.anim-lightSpeedIn{animation:lightSpeedIn .8s ease both}.anim-rotateIn{animation:rotateIn .8s ease both}.anim-rotateInDownLeft{animation:rotateInDownLeft .8s ease both}.anim-rotateInDownRight{animation:rotateInDownRight .8s ease both}.anim-rotateInUpLeft{animation:rotateInUpLeft .8s ease both}.anim-rotateInUpRight{animation:rotateInUpRight .8s ease both}.anim-jackInBox{animation:jackInBox .8s ease both}@keyframes bounce{0%,20%,53%,80%,to{transform:translateY(0)}40%{transform:translateY(-30px)}70%{transform:translateY(-15px)}90%{transform:translateY(-5px)}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.15)}}@keyframes shake{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-10px)}20%,40%,60%,80%{transform:translate(10px)}}@keyframes swing{20%{transform:rotate(15deg)}40%{transform:rotate(-10deg)}60%{transform:rotate(5deg)}80%{transform:rotate(-3deg)}to{transform:rotate(0)}}@keyframes tada{0%{transform:scale(1)}10%,20%{transform:scale(.9) rotate(-3deg)}30%,50%,70%,90%{transform:scale(1.1) rotate(3deg)}40%,60%,80%{transform:scale(1.1) rotate(-3deg)}to{transform:scale(1)}}@keyframes wobble{0%{transform:translate(0)}15%{transform:translate(-25px) rotate(-5deg)}30%{transform:translate(20px) rotate(3deg)}45%{transform:translate(-15px) rotate(-3deg)}60%{transform:translate(10px) rotate(2deg)}75%{transform:translate(-5px) rotate(-1deg)}to{transform:translate(0)}}@keyframes jello{0%,to{transform:scale(1)}25%{transform:scale(.9,1.1)}50%{transform:scale(1.1,.9)}75%{transform:scale(.95,1.05)}}@keyframes heartBeat{0%,to{transform:scale(1)}14%{transform:scale(1.3)}28%{transform:scale(1)}42%{transform:scale(1.3)}70%{transform:scale(1)}}@keyframes flash{0%,50%,to{opacity:1}25%,75%{opacity:0}}@keyframes rubberBand{0%{transform:scale(1)}30%{transform:scaleX(1.25) scaleY(.75)}40%{transform:scaleX(.75) scaleY(1.25)}50%{transform:scaleX(1.15) scaleY(.85)}65%{transform:scaleX(.95) scaleY(1.05)}75%{transform:scaleX(1.05) scaleY(.95)}to{transform:scale(1)}}@keyframes headShake{0%{transform:translate(0)}6.5%{transform:translate(-6px) rotateY(-9deg)}18.5%{transform:translate(5px) rotateY(7deg)}31.5%{transform:translate(-3px) rotateY(-5deg)}43.5%{transform:translate(2px) rotateY(3deg)}50%{transform:translate(0)}}@keyframes wave{0%,to{transform:rotate(0)}25%{transform:rotate(20deg)}75%{transform:rotate(-15deg)}}@keyframes pop{0%{transform:scale(1)}50%{transform:scale(1.3)}to{transform:scale(1)}}@keyframes glow{0%,to{filter:brightness(1)}50%{filter:brightness(1.3) drop-shadow(0 0 20px #f06292)}}@keyframes wiggle{0%,to{transform:rotate(0)}20%{transform:rotate(8deg)}40%{transform:rotate(-8deg)}60%{transform:rotate(5deg)}80%{transform:rotate(-3deg)}}.anim-bounce{animation:bounce 1s ease}.anim-pulse{animation:pulse 1s ease infinite}.anim-shake{animation:shake 1s ease}.anim-swing{animation:swing 1s ease;transform-origin:top center}.anim-tada{animation:tada 1s ease}.anim-wobble{animation:wobble 1s ease}.anim-jello{animation:jello 1s ease}.anim-heartBeat{animation:heartBeat 1.3s ease infinite}.anim-flash{animation:flash 1s ease}.anim-rubberBand{animation:rubberBand 1s ease}.anim-headShake{animation:headShake 1s ease}.anim-wave{animation:wave 1s ease infinite;transform-origin:bottom}.anim-pop{animation:pop .5s ease}.anim-glow{animation:glow 2s ease infinite}.anim-wiggle{animation:wiggle 1s ease infinite}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-20px)}}@keyframes floatReverse{0%,to{transform:translateY(0)}50%{transform:translateY(20px)}}@keyframes floatHeart{0%,to{transform:translateY(0) scale(1);opacity:.8}50%{transform:translateY(-25px) scale(1.1);opacity:1}}@keyframes floatStar{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(-20px) rotate(180deg)}}@keyframes floatDiagonal{0%{transform:translate(0)}25%{transform:translate(20px,-20px)}50%{transform:translate(40px)}75%{transform:translate(20px,20px)}to{transform:translate(0)}}@keyframes floatDiagonalReverse{0%{transform:translate(0)}25%{transform:translate(-20px,-20px)}50%{transform:translate(-40px)}75%{transform:translate(-20px,20px)}to{transform:translate(0)}}@keyframes floatAround{0%{transform:translate(0) rotate(0)}25%{transform:translate(30px,-15px) rotate(90deg)}50%{transform:translate(15px,10px) rotate(180deg)}75%{transform:translate(-20px,-20px) rotate(270deg)}to{transform:translate(0) rotate(360deg)}}@keyframes floatBalloon{0%,to{transform:translateY(0) rotate(-3deg)}50%{transform:translateY(-30px) rotate(3deg)}}@keyframes floatCloud{0%{transform:translate(-100%);opacity:0}10%{opacity:.5}90%{opacity:.5}to{transform:translate(100vw);opacity:0}}@keyframes driftLeft{0%{transform:translate(0)}to{transform:translate(-50px)}}@keyframes driftRight{0%{transform:translate(0)}to{transform:translate(50px)}}@keyframes flutter{0%,to{transform:rotate(0) scale(1)}25%{transform:rotate(5deg) scale(1.05)}75%{transform:rotate(-5deg) scale(.95)}}@keyframes sway{0%,to{transform:rotate(0)}25%{transform:rotate(5deg)}75%{transform:rotate(-5deg)}}@keyframes dangle{0%,to{transform:rotate(0) translateY(0)}25%{transform:rotate(10deg) translateY(-10px)}75%{transform:rotate(-10deg) translateY(-10px)}}@keyframes levitate{0%,to{transform:translateY(0) scale(1)}50%{transform:translateY(-15px) scale(1.02)}}.anim-float{animation:float 3s ease infinite}.anim-floatReverse{animation:floatReverse 3s ease infinite}.anim-floatHeart{animation:floatHeart 2.5s ease infinite}.anim-floatStar{animation:floatStar 3s ease infinite}.anim-floatDiagonal{animation:floatDiagonal 4s ease infinite}.anim-floatDiagonalReverse{animation:floatDiagonalReverse 4s ease infinite}.anim-floatAround{animation:floatAround 6s ease infinite}.anim-floatBalloon{animation:floatBalloon 3s ease infinite}.anim-floatCloud{animation:floatCloud 8s linear infinite}.anim-driftLeft{animation:driftLeft 3s ease infinite alternate}.anim-driftRight{animation:driftRight 3s ease infinite alternate}.anim-flutter{animation:flutter 3s ease infinite}.anim-sway{animation:sway 3s ease infinite;transform-origin:bottom center}.anim-dangle{animation:dangle 3s ease infinite;transform-origin:top center}.anim-levitate{animation:levitate 3s ease infinite}@keyframes textShimmer{0%,to{text-shadow:0 0 20px rgba(240,98,146,.5),0 0 40px rgba(240,98,146,.3)}50%{text-shadow:0 0 30px rgba(240,98,146,.9),0 0 60px rgba(240,98,146,.6),0 0 80px rgba(240,98,146,.3)}}@keyframes textGlow{0%,to{text-shadow:0 0 15px rgba(255,128,171,.6),0 0 30px rgba(240,98,146,.4),0 0 60px rgba(240,98,146,.2)}50%{text-shadow:0 0 25px rgba(255,128,171,.9),0 0 50px rgba(240,98,146,.6),0 0 80px rgba(240,98,146,.4),0 0 120px rgba(240,98,146,.2)}}@keyframes textRainbow{0%{color:#ff6b6b}16%{color:#ffa94d}33%{color:#ffd43b}50%{color:#69db7c}66%{color:#4dabf7}83%{color:#da77f2}to{color:#ff6b6b}}@keyframes textGradient{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes typewriter{0%{width:0}to{width:100%}}@keyframes textBlink{0%,to{opacity:1}50%{opacity:0}}@keyframes textWave{0%,to{transform:translateY(0)}25%{transform:translateY(-10px)}75%{transform:translateY(5px)}}@keyframes textShadow{0%,to{text-shadow:0 0 5px rgba(240,98,146,.3)}50%{text-shadow:0 0 30px rgba(240,98,146,.6),5px 5px 10px rgba(0,0,0,.1)}}@keyframes textNeon{0%,to{text-shadow:0 0 7px #f06292,0 0 10px #f06292,0 0 21px #f06292,0 0 42px #ec407a}50%{text-shadow:0 0 4px #f06292,0 0 7px #f06292,0 0 14px #f06292,0 0 28px #ec407a,0 0 56px #ec407a}}@keyframes textSlide{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes textPop{0%,to{transform:scale(1)}50%{transform:scale(1.2)}}@keyframes textFocus{0%{filter:blur(10px);opacity:0}to{filter:blur(0);opacity:1}}@keyframes textVanish{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(0)}}@keyframes textReveal{0%{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0 0 0 0)}}@keyframes textScale{0%{transform:scale(0);opacity:0}to{transform:scale(1);opacity:1}}.anim-textShimmer{color:#ffdce8;text-shadow:0 0 20px rgba(240,98,146,.5),0 0 40px rgba(240,98,146,.3);animation:textShimmer 2s ease infinite}.anim-textGlow{color:#ffdce8;text-shadow:0 0 20px rgba(255,128,171,.6),0 0 40px rgba(240,98,146,.4),0 0 60px rgba(240,98,146,.3);animation:textGlow 2s ease infinite}.anim-textRainbow{animation:textRainbow 4s linear infinite}.anim-textGradient{color:#ffdce8;text-shadow:0 0 15px rgba(240,98,146,.5),0 0 30px rgba(240,98,146,.3);animation:textGlow 2s ease infinite}.anim-typewriter{overflow:hidden;white-space:nowrap;border-right:3px solid #f06292;animation:typewriter 3s steps(40) 1s 1 normal both,textBlink .75s step-end infinite}.anim-textBlink{animation:textBlink 1s step-end infinite}.anim-textWave{display:inline-block;animation:textWave 1s ease infinite}.anim-textShadow{animation:textShadow 2s ease infinite}.anim-textNeon{animation:textNeon 1.5s ease infinite alternate}.anim-textSlide{animation:textSlide 1s ease both;overflow:hidden}.anim-textPop{animation:textPop .6s ease}.anim-textFocus{animation:textFocus 1s ease both}.anim-textVanish{animation:textVanish 1s ease forwards}.anim-textReveal{animation:textReveal 1.5s ease both}.anim-textScale{animation:textScale .8s ease both}@keyframes heartPulse{0%,to{transform:scale(1)}50%{transform:scale(1.2)}}@keyframes heartFloat{0%{transform:translateY(100vh) scale(0) rotate(0);opacity:0}10%{opacity:.8}90%{opacity:.8}to{transform:translateY(-10vh) scale(1) rotate(720deg);opacity:0}}@keyframes heartGrow{0%{transform:scale(0)}50%{transform:scale(1.3)}to{transform:scale(1)}}@keyframes heartRain{0%{transform:translateY(-20px) rotate(0);opacity:1}to{transform:translateY(100vh) rotate(360deg);opacity:0}}@keyframes heartSpin{0%{transform:rotate(0) scale(1)}50%{transform:rotate(180deg) scale(1.2)}to{transform:rotate(360deg) scale(1)}}@keyframes heartBurst{0%{transform:scale(0);opacity:1}50%{transform:scale(2);opacity:.8}to{transform:scale(3);opacity:0}}@keyframes heartGlow{0%,to{filter:drop-shadow(0 0 5px #f06292)}50%{filter:drop-shadow(0 0 20px #f06292) drop-shadow(0 0 40px #ec407a)}}@keyframes heartColor{0%{color:#f06292}25%{color:#ff4081}50%{color:#e91e63}75%{color:#ff80ab}to{color:#f06292}}@keyframes heartDance{0%,to{transform:translateY(0) rotate(0)}25%{transform:translateY(-15px) rotate(-10deg)}50%{transform:translateY(0) rotate(0)}75%{transform:translateY(-15px) rotate(10deg)}}@keyframes heartBeatFast{0%,to{transform:scale(1)}10%{transform:scale(1.2)}20%{transform:scale(1)}30%{transform:scale(1.15)}40%{transform:scale(1)}}@keyframes heartMorph{0%{transform:scale(1) rotate(0)}33%{transform:scale(1.1) rotate(10deg)}66%{transform:scale(.9) rotate(-10deg)}to{transform:scale(1) rotate(0)}}@keyframes heartShine{0%,to{opacity:.7;filter:brightness(1)}50%{opacity:1;filter:brightness(1.5)}}@keyframes heartJump{0%,to{transform:translateY(0) scale(1)}30%{transform:translateY(-30px) scale(1.1)}50%{transform:translateY(-5px) scale(1.2)}70%{transform:translateY(-15px) scale(1.05)}}@keyframes heartSwing{0%{transform:rotate(0);transform-origin:top center}50%{transform:rotate(15deg);transform-origin:top center}to{transform:rotate(0);transform-origin:top center}}@keyframes heartTwinkle{0%,to{opacity:.3;transform:scale(.8)}50%{opacity:1;transform:scale(1.2)}}.anim-heartPulse{animation:heartPulse .8s ease infinite}.anim-heartFloat{animation:heartFloat 4s linear infinite}.anim-heartGrow{animation:heartGrow .6s ease both}.anim-heartRain{animation:heartRain 3s linear infinite}.anim-heartSpin{animation:heartSpin 2s ease infinite}.anim-heartBurst{animation:heartBurst 1s ease forwards}.anim-heartGlow{animation:heartGlow 2s ease infinite}.anim-heartColor{animation:heartColor 3s linear infinite}.anim-heartDance{animation:heartDance 2s ease infinite}.anim-heartBeatFast{animation:heartBeatFast 1s ease infinite}.anim-heartMorph{animation:heartMorph 2s ease infinite}.anim-heartShine{animation:heartShine 2s ease infinite}.anim-heartJump{animation:heartJump 1.5s ease infinite}.anim-heartSwing{animation:heartSwing 2s ease infinite}.anim-heartTwinkle{animation:heartTwinkle 2s ease infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes spinSlow{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes spinReverse{0%{transform:rotate(0)}to{transform:rotate(-360deg)}}@keyframes spinFast{0%{transform:rotate(0)}to{transform:rotate(720deg)}}@keyframes rotate3d{0%{transform:rotateX(0) rotateY(0)}50%{transform:rotateX(180deg) rotateY(180deg)}to{transform:rotateX(360deg) rotateY(360deg)}}@keyframes flipHorizontal{0%{transform:scaleX(1)}50%{transform:scaleX(-1)}to{transform:scaleX(1)}}@keyframes flipVertical{0%{transform:scaleY(1)}50%{transform:scaleY(-1)}to{transform:scaleY(1)}}@keyframes flip3dX{0%{transform:perspective(400px) rotateX(0)}to{transform:perspective(400px) rotateX(360deg)}}@keyframes flip3dY{0%{transform:perspective(400px) rotateY(0)}to{transform:perspective(400px) rotateY(360deg)}}@keyframes cubeSpin{0%{transform:perspective(400px) rotateY(0) rotateX(0)}25%{transform:perspective(400px) rotateY(90deg) rotateX(20deg)}50%{transform:perspective(400px) rotateY(180deg) rotateX(0)}75%{transform:perspective(400px) rotateY(270deg) rotateX(-20deg)}to{transform:perspective(400px) rotateY(360deg) rotateX(0)}}.anim-spin{animation:spin 2s linear infinite}.anim-spinSlow{animation:spinSlow 4s linear infinite}.anim-spinReverse{animation:spinReverse 2s linear infinite}.anim-spinFast{animation:spinFast 1s linear infinite}.anim-rotate3d{animation:rotate3d 3s ease infinite}.anim-flipHorizontal{animation:flipHorizontal 2s ease infinite}.anim-flipVertical{animation:flipVertical 2s ease infinite}.anim-flip3dX{animation:flip3dX 2s ease infinite}.anim-flip3dY{animation:flip3dY 2s ease infinite}.anim-cubeSpin{animation:cubeSpin 4s ease infinite}@keyframes gradientBg{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes gradientShift{0%,to{background-position:0% 50%}25%{background-position:100% 0%}50%{background-position:100% 100%}75%{background-position:0% 100%}}@keyframes aurora{0%{background-position:0% 50%,0% 50%,0% 50%}50%{background-position:100% 50%,100% 50%,100% 50%}to{background-position:0% 50%,0% 50%,0% 50%}}@keyframes sparkleBg{0%,to{opacity:.3}50%{opacity:1}}@keyframes twinkle{0%,to{opacity:0;transform:scale(0)}50%{opacity:1;transform:scale(1)}}@keyframes bubbleRise{0%{transform:translateY(100vh) scale(0);opacity:0}10%{opacity:.5}90%{opacity:.5}to{transform:translateY(-10vh) scale(1);opacity:0}}@keyframes shimmerBg{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes colorCycle{0%{background-color:#fce4ec}20%{background-color:#f8bbd0}40%{background-color:#f48fb1}60%{background-color:#f06292}80%{background-color:#ec407a}to{background-color:#fce4ec}}@keyframes rainbowBg{0%{background-position:0% 50%}to{background-position:100% 50%}}@keyframes pulseBg{0%,to{opacity:.5}50%{opacity:1}}.anim-gradientBg{background:linear-gradient(135deg,#fce4ec,#f8bbd0,#f48fb1,#f06292,#ec407a);background-size:400% 400%;animation:gradientBg 6s ease infinite}.anim-gradientShift{background:linear-gradient(135deg,#fce4ec,#f8bbd0,#f48fb1,#f06292,#ec407a);background-size:400% 400%;animation:gradientShift 8s ease infinite}.anim-aurora{background:radial-gradient(ellipse at 20% 50%,rgba(240,98,146,.3),transparent),radial-gradient(ellipse at 80% 50%,rgba(236,64,122,.3),transparent),radial-gradient(ellipse at 50% 50%,rgba(255,128,171,.2),transparent);background-size:200% 200%;animation:aurora 5s ease infinite}.anim-sparkleBg{animation:sparkleBg 2s ease infinite}.anim-twinkle{animation:twinkle 1.5s ease infinite}.anim-bubbleRise{animation:bubbleRise 4s linear infinite}.anim-shimmerBg{background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);background-size:200% 100%;animation:shimmerBg 3s linear infinite}.anim-colorCycle{animation:colorCycle 6s linear infinite}.anim-rainbowBg{background:linear-gradient(90deg,#ff6b6b,#ffa94d,#ffd43b,#69db7c,#4dabf7,#da77f2);background-size:600% 100%;animation:rainbowBg 4s ease infinite}.anim-pulseBg{animation:pulseBg 2s ease infinite}.hover-lift{transition:transform .3s ease,box-shadow .3s ease}.hover-lift:hover{transform:translateY(-10px);box-shadow:0 20px 40px #f062924d}.hover-glow{transition:filter .3s ease,box-shadow .3s ease}.hover-glow:hover{filter:brightness(1.2);box-shadow:0 0 30px #f0629280}.hover-shake:hover{animation:shake .5s ease}.hover-pop:hover{animation:pop .4s ease}.hover-color{transition:color .3s ease}.hover-color:hover{color:#ff4081}.hover-rotate{transition:transform .3s ease}.hover-rotate:hover{transform:rotate(15deg)}.hover-skew{transition:transform .3s ease}.hover-skew:hover{transform:skew(-5deg)}.hover-scale{transition:transform .3s ease}.hover-scale:hover{transform:scale(1.1)}.hover-border{transition:border-color .3s ease,box-shadow .3s ease}.hover-border:hover{border-color:#f06292;box-shadow:0 0 20px #f062924d}.hover-shadow{transition:box-shadow .3s ease}.hover-shadow:hover{box-shadow:0 10px 40px #f0629266}@keyframes shimmerFloat{0%,to{transform:translateY(0);background-position:-200% center}50%{transform:translateY(-15px);background-position:200% center}}@keyframes glowPulse{0%,to{filter:drop-shadow(0 0 5px #f06292);transform:scale(1)}50%{filter:drop-shadow(0 0 25px #f06292);transform:scale(1.05)}}@keyframes bounceFloat{0%,to{transform:translateY(0)}30%{transform:translateY(-25px)}50%{transform:translateY(-5px)}70%{transform:translateY(-15px)}}@keyframes sparkleFloat{0%,to{transform:translateY(0) scale(1);opacity:.5}50%{transform:translateY(-20px) scale(1.3);opacity:1}}@keyframes rainbowFloat{0%{transform:translateY(0);filter:hue-rotate(0deg)}50%{transform:translateY(-15px)}to{transform:translateY(0);filter:hue-rotate(360deg)}}@keyframes glowSpin{0%{transform:rotate(0) scale(1);filter:brightness(1)}50%{transform:rotate(180deg) scale(1.1);filter:brightness(1.3)}to{transform:rotate(360deg) scale(1);filter:brightness(1)}}@keyframes pulseSlide{0%{transform:translate(-20px);opacity:.5}50%{transform:translate(0);opacity:1}to{transform:translate(20px);opacity:.5}}@keyframes shakeBounce{0%,to{transform:translateY(0)}15%{transform:translateY(-10px) rotate(-5deg)}30%{transform:translateY(0) rotate(5deg)}45%{transform:translateY(-8px) rotate(-3deg)}60%{transform:translateY(0) rotate(3deg)}75%{transform:translateY(-5px)}}@keyframes fadeSlide{0%{opacity:0;transform:translate(-30px)}to{opacity:1;transform:translate(0)}}@keyframes zoomBounce{0%{transform:scale(0)}50%{transform:scale(1.2)}70%{transform:scale(.9)}to{transform:scale(1)}}.anim-shimmerFloat{color:#ffdce8;text-shadow:0 0 20px rgba(240,98,146,.5);animation:shimmerFloat 3s ease infinite}.anim-glowPulse{animation:glowPulse 2s ease infinite}.anim-bounceFloat{animation:bounceFloat 2s ease infinite}.anim-sparkleFloat{animation:sparkleFloat 2s ease infinite}.anim-rainbowFloat{animation:rainbowFloat 3s ease infinite}.anim-glowSpin{animation:glowSpin 3s ease infinite}.anim-pulseSlide{animation:pulseSlide 2s ease infinite}.anim-shakeBounce{animation:shakeBounce 2s ease infinite}.anim-fadeSlide{animation:fadeSlide 1s ease both}.anim-zoomBounce{animation:zoomBounce .8s ease both}@keyframes crazySpin{0%{transform:rotate(0) scale(1)}25%{transform:rotate(90deg) scale(1.3)}50%{transform:rotate(180deg) scale(.8)}75%{transform:rotate(270deg) scale(1.2)}to{transform:rotate(360deg) scale(1)}}@keyframes crazyBounce{0%,to{transform:translateY(0) scale(1)}20%{transform:translateY(-40px) scale(1.1) rotate(-5deg)}40%{transform:translateY(-10px) scale(.9) rotate(5deg)}60%{transform:translateY(-30px) scale(1.05) rotate(-3deg)}80%{transform:translateY(-5px) scale(.95) rotate(2deg)}}@keyframes crazyDance{0%,to{transform:translate(0) rotate(0)}15%{transform:translate(-15px) rotate(-10deg)}30%{transform:translate(15px) rotate(10deg)}45%{transform:translate(-10px) rotate(-5deg)}60%{transform:translate(10px) rotate(5deg)}75%{transform:translate(-5px) rotate(-2deg)}}@keyframes crazyWobble{0%,to{transform:translate(0) rotate(0) scale(1)}15%{transform:translate(-20px) rotate(-8deg) scale(.9)}30%{transform:translate(15px) rotate(6deg) scale(1.1)}45%{transform:translate(-10px) rotate(-4deg) scale(.95)}60%{transform:translate(8px) rotate(3deg) scale(1.05)}75%{transform:translate(-4px) rotate(-2deg) scale(1)}}@keyframes crazyFlip{0%{transform:perspective(400px) rotateY(0) scale(1)}25%{transform:perspective(400px) rotateY(180deg) scale(1.2)}50%{transform:perspective(400px) rotateY(360deg) scale(.8)}75%{transform:perspective(400px) rotateY(180deg) scale(1.1)}to{transform:perspective(400px) rotateY(360deg) scale(1)}}@keyframes crazyMorph{0%{border-radius:50%;transform:scale(1) rotate(0)}25%{border-radius:20%;transform:scale(1.2) rotate(90deg)}50%{border-radius:0%;transform:scale(.8) rotate(180deg)}75%{border-radius:30%;transform:scale(1.1) rotate(270deg)}to{border-radius:50%;transform:scale(1) rotate(360deg)}}@keyframes crazyJelly{0%,to{transform:scale(1)}25%{transform:scale(1.3,.7)}50%{transform:scale(.7,1.3)}75%{transform:scale(1.2,.8)}}@keyframes crazySlideBounce{0%{transform:translate(-200%) rotate(-30deg);opacity:0}40%{transform:translate(20px) rotate(10deg);opacity:1}60%{transform:translate(-10px) rotate(-5deg)}80%{transform:translate(5px) rotate(2deg)}to{transform:translate(0) rotate(0);opacity:1}}@keyframes crazyPopExplode{0%{transform:scale(0) rotate(0);opacity:0}30%{transform:scale(1.5) rotate(180deg);opacity:1}50%{transform:scale(.8) rotate(270deg)}70%{transform:scale(1.2) rotate(360deg)}to{transform:scale(1) rotate(360deg);opacity:1}}@keyframes crazyRainbowPulse{0%{filter:hue-rotate(0deg) brightness(1);transform:scale(1)}25%{filter:hue-rotate(90deg) brightness(1.3);transform:scale(1.15)}50%{filter:hue-rotate(180deg) brightness(.9);transform:scale(.9)}75%{filter:hue-rotate(270deg) brightness(1.2);transform:scale(1.1)}to{filter:hue-rotate(360deg) brightness(1);transform:scale(1)}}@keyframes crazyRocket{0%{transform:translateY(0) scale(1);opacity:1}30%{transform:translateY(-30px) scale(1.1) rotate(-3deg)}60%{transform:translateY(-10px) scale(.9) rotate(3deg)}80%{transform:translateY(-50px) scale(1.2) rotate(-2deg);opacity:.8}to{transform:translateY(-200px) scale(.3) rotate(15deg);opacity:0}}@keyframes crazyHeartExplosion{0%{transform:scale(1);opacity:1}20%{transform:scale(2) rotate(30deg);opacity:.9}40%{transform:scale(.5) rotate(-60deg);opacity:.7}60%{transform:scale(2.5) rotate(120deg);opacity:.5}80%{transform:scale(.8) rotate(-180deg);opacity:.3}to{transform:scale(3) rotate(360deg);opacity:0}}@keyframes crazyDrunk{0%,to{transform:translate(0) rotate(0)}20%{transform:translate(20px,-10px) rotate(10deg)}40%{transform:translate(-15px,15px) rotate(-8deg)}60%{transform:translate(10px,-20px) rotate(5deg)}80%{transform:translate(-5px,5px) rotate(-3deg)}}@keyframes crazyEarthquake{0%,to{transform:translate(0)}10%{transform:translate(-8px,3px)}20%{transform:translate(6px,-4px)}30%{transform:translate(-4px,5px)}40%{transform:translate(7px,-2px)}50%{transform:translate(-3px,4px)}60%{transform:translate(5px,-5px)}70%{transform:translate(-6px,2px)}80%{transform:translate(4px,-3px)}90%{transform:translate(-2px,6px)}}@keyframes crazyVortex{0%{transform:rotate(0) scale(1) translate(0)}25%{transform:rotate(90deg) scale(.7) translate(30px)}50%{transform:rotate(180deg) scale(.5) translate(0)}75%{transform:rotate(270deg) scale(.7) translate(-30px)}to{transform:rotate(360deg) scale(1) translate(0)}}.anim-crazySpin{animation:crazySpin 2s ease infinite}.anim-crazyBounce{animation:crazyBounce 1.5s ease infinite}.anim-crazyDance{animation:crazyDance 1.5s ease infinite}.anim-crazyWobble{animation:crazyWobble 2s ease infinite}.anim-crazyFlip{animation:crazyFlip 2s ease infinite}.anim-crazyMorph{animation:crazyMorph 3s ease infinite}.anim-crazyJelly{animation:crazyJelly 1.5s ease infinite}.anim-crazySlideBounce{animation:crazySlideBounce 1.5s ease both}.anim-crazyPopExplode{animation:crazyPopExplode 1.5s ease both}.anim-crazyRainbowPulse{animation:crazyRainbowPulse 2s ease infinite}.anim-crazyRocket{animation:crazyRocket 2s ease forwards}.anim-crazyHeartExplosion{animation:crazyHeartExplosion 2s ease forwards}.anim-crazyDrunk{animation:crazyDrunk 3s ease infinite}.anim-crazyEarthquake{animation:crazyEarthquake .5s ease infinite}.anim-crazyVortex{animation:crazyVortex 3s ease infinite}.delay-1{animation-delay:.1s}.delay-2{animation-delay:.2s}.delay-3{animation-delay:.3s}.delay-4{animation-delay:.4s}.delay-5{animation-delay:.5s}.delay-6{animation-delay:.6s}.delay-7{animation-delay:.7s}.delay-8{animation-delay:.8s}.delay-9{animation-delay:.9s}.delay-10,.delay-1s{animation-delay:1s}.delay-2s{animation-delay:2s}.delay-3s{animation-delay:3s}.delay-4s{animation-delay:4s}.delay-5s{animation-delay:5s}.duration-1{animation-duration:.5s}.duration-2{animation-duration:1s}.duration-3{animation-duration:1.5s}.duration-4{animation-duration:2s}.duration-5{animation-duration:3s}.infinite{animation-iteration-count:infinite}.count-2{animation-iteration-count:2}.count-3{animation-iteration-count:3}.count-5{animation-iteration-count:5}.reverse{animation-direction:reverse}.alternate{animation-direction:alternate}.alternate-reverse{animation-direction:alternate-reverse}.ease-in{animation-timing-function:ease-in}.ease-out{animation-timing-function:ease-out}.ease-in-out{animation-timing-function:ease-in-out}.linear{animation-timing-function:linear}.scroll-fade-up{opacity:0;transform:translateY(50px);transition:opacity .8s ease,transform .8s ease}.visible .scroll-fade-up{opacity:1;transform:translateY(0)}.scroll-fade-left{opacity:0;transform:translate(-80px);transition:opacity .8s ease,transform .8s ease}.visible .scroll-fade-left{opacity:1;transform:translate(0)}.scroll-fade-right{opacity:0;transform:translate(80px);transition:opacity .8s ease,transform .8s ease}.visible .scroll-fade-right{opacity:1;transform:translate(0)}.scroll-scale{opacity:0;transform:scale(.5);transition:opacity .8s ease,transform .8s ease}.visible .scroll-scale{opacity:1;transform:scale(1)}.scroll-rotate{opacity:0;transform:rotate(-10deg) scale(.8);transition:opacity .8s ease,transform .8s ease}.visible .scroll-rotate{opacity:1;transform:rotate(0) scale(1)}.app{position:relative;z-index:1}.loader{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:linear-gradient(135deg,#2d0a1a,#4a1028,#6a1535,#8a1a45);background-size:400% 400%;z-index:9999}.loader-heart{font-size:80px;animation:heartPulse .8s ease infinite}.loader-text{margin-top:20px;font-family:Dancing Script,cursive;font-size:24px;color:#ffd0e0}.scroll-progress{position:fixed;top:0;left:0;height:4px;background:linear-gradient(90deg,#ff80ab,#f06292,#ff4081);z-index:999;animation:scrollProgress linear;animation-timeline:scroll()}.confetti-overlay{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:1000;overflow:hidden}.confetti-piece{position:absolute;top:-20px;border-radius:3px;animation:confettiFall linear forwards}@keyframes confettiFall{0%{transform:translateY(-20px) rotate(0) scale(1);opacity:1}to{transform:translateY(100vh) rotate(720deg) scale(.3);opacity:0}}@keyframes scrollProgress{0%{width:0%}to{width:100%}}.scroll-anim{opacity:0;transform:translateY(40px);transition:opacity .8s ease,transform .8s ease}.scroll-anim.visible{opacity:1;transform:translateY(0)}.scroll-anim-left{opacity:0;transform:translate(-60px);transition:opacity .8s ease,transform .8s ease}.scroll-anim-left.visible{opacity:1;transform:translate(0)}.scroll-anim-right{opacity:0;transform:translate(60px);transition:opacity .8s ease,transform .8s ease}.scroll-anim-right.visible{opacity:1;transform:translate(0)}.scroll-anim-scale{opacity:0;transform:scale(.6);transition:opacity .8s ease,transform .8s ease}.scroll-anim-scale.visible{opacity:1;transform:scale(1)}.section{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 20px;position:relative}.section-title{font-family:Dancing Script,cursive;font-size:3rem;color:#fff0f5;margin-bottom:40px;text-align:center;text-shadow:0 0 20px rgba(240,98,146,.4),0 2px 10px rgba(0,0,0,.3)}.footer{text-align:center;padding:40px 20px;font-family:Dancing Script,cursive;font-size:22px;color:#ffd0e0;text-shadow:0 0 10px rgba(255,128,171,.3)}.footer-hearts{font-size:28px;margin-top:10px;animation:floatHeart 2s ease infinite}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth;overflow-x:hidden}body{font-family:Poppins,sans-serif;background:linear-gradient(135deg,#2d0a1a,#4a1028,#6a1535,#8a1a45,#a02050);background-size:400% 400%;min-height:100vh;color:#fff0f5;overflow-x:hidden}#root{position:relative;z-index:1}::selection{background:#f06292;color:#fff}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:#2d0a1a}::-webkit-scrollbar-thumb{background:#f06292;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#ff80ab}
