*{margin:0;padding:0;box-sizing:border-box}:root{--primary-pink: #ffc0cb;--soft-pink: #ffb6c1;--rose-gold: #e8b4a0;--cream: #faf0e6;--white: #ffffff;--gold: #ffd700;--text-dark: #2c2c2c;--text-light: #666;--shadow: rgba(0, 0, 0, .1);--gradient-pink: linear-gradient(135deg, #ffc0cb, #ffb6c1, #e8b4a0);--gradient-gold: linear-gradient(135deg, #ffd700, #e8b4a0);--gradient-romantic: linear-gradient(135deg, #ff9a9e 0%, #fecfef 50%, #fecfef 100%);--pastel-purple: #e6e6fa;--pastel-blue: #e0f6ff;--transition: all .3s cubic-bezier(.4, 0, .2, 1)}body{font-family:Inter,sans-serif;line-height:1.6;color:var(--text-dark);background:var(--gradient-romantic);overflow-x:hidden;cursor:none}.container{max-width:1200px;margin:0 auto;padding:0 20px}.loading-screen{position:fixed;top:0;left:0;width:100%;height:100%;background:var(--gradient-romantic);display:flex;align-items:center;justify-content:center;z-index:10000;transition:opacity .5s ease,visibility .5s ease}.loading-screen.hidden{opacity:0;visibility:hidden}.loading-content{text-align:center;color:var(--white)}.loading-heart{font-size:4rem;animation:heartPulse 1.5s ease-in-out infinite;margin-bottom:20px}.loading-content h2{font-family:Dancing Script,cursive;font-size:2rem;margin-bottom:30px;color:var(--text-dark)}.loading-bar{width:300px;height:6px;background:#ffffff4d;border-radius:3px;overflow:hidden;margin:0 auto}.loading-progress{height:100%;background:var(--gradient-gold);border-radius:3px;animation:loadingProgress 3s ease-in-out}@keyframes loadingProgress{0%{width:0%}to{width:100%}}@keyframes heartPulse{0%,to{transform:scale(1)}50%{transform:scale(1.2)}}.custom-cursor{position:fixed;width:20px;height:20px;background:var(--gold);border-radius:50%;pointer-events:none;z-index:9999;transition:transform .1s ease;box-shadow:0 0 20px #ffd70080}.cursor-trail{position:fixed;width:8px;height:8px;background:var(--soft-pink);border-radius:50%;pointer-events:none;z-index:9998;transition:all .3s ease}.floating-hearts,.floating-flowers{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:1}.floating-heart,.floating-flower{position:absolute;font-size:20px;animation:float 6s ease-in-out infinite;opacity:.7}.floating-petals{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;overflow:hidden}@keyframes float{0%,to{transform:translateY(100vh) rotate(0);opacity:0}10%{opacity:.7}90%{opacity:.7}to{transform:translateY(-100px) rotate(360deg);opacity:0}}.navbar{position:fixed;top:0;width:100%;background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:1000;padding:15px 0;transition:var(--transition)}.nav-container{max-width:1200px;margin:0 auto;padding:0 20px;display:flex;justify-content:space-between;align-items:center}.nav-logo{font-family:Dancing Script,cursive;font-size:24px;font-weight:600;color:var(--text-dark);display:flex;align-items:center;gap:8px}.crown-icon{font-size:28px;animation:bounce 2s ease-in-out infinite}@keyframes bounce{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(-10px)}60%{transform:translateY(-5px)}}.nav-menu{display:flex;list-style:none;gap:30px}.nav-link{text-decoration:none;color:var(--text-dark);font-weight:500;transition:var(--transition);position:relative}.nav-link:hover{color:var(--rose-gold);transform:translateY(-2px)}.nav-link:after{content:"";position:absolute;bottom:-5px;left:0;width:0;height:2px;background:var(--gradient-gold);transition:width .3s ease}.nav-link:hover:after{width:100%}.mobile-menu-toggle{display:none;flex-direction:column;cursor:pointer;gap:4px}.mobile-menu-toggle span{width:25px;height:3px;background:var(--text-dark);transition:var(--transition)}.hero{min-height:100vh;display:flex;align-items:center;justify-content:center;text-align:center;position:relative;background:var(--gradient-romantic);overflow:hidden}.hero-background{position:absolute;top:0;left:0;right:0;bottom:0;background:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><defs><pattern id="hearts" x="0" y="0" width="20" height="20" patternUnits="userSpaceOnUse"><text x="10" y="15" text-anchor="middle" font-size="12" fill="rgba(255,255,255,0.1)">💕</text></pattern></defs><rect width="100" height="100" fill="url(%23hearts)"/></svg>');animation:backgroundMove 20s linear infinite}@keyframes backgroundMove{0%{transform:translate(0) translateY(0)}to{transform:translate(-20px) translateY(-20px)}}.hero-content{position:relative;z-index:2;max-width:800px;padding:0 20px}.hero-title{font-family:Playfair Display,serif;font-size:clamp(2.5rem,8vw,5rem);font-weight:700;margin-bottom:20px;line-height:1.2}.title-line{display:block;animation:fadeInUp 1s ease-out forwards;opacity:0;transform:translateY(30px)}.title-line:nth-child(1){animation-delay:.2s}.title-line:nth-child(2){animation-delay:.4s}.highlight{background:var(--gradient-gold);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.crown-large{font-size:4rem;display:block;margin:20px 0;animation:fadeInUp 1s ease-out .6s forwards,pulse 2s ease-in-out 1.6s infinite;opacity:0;transform:translateY(30px)}@keyframes fadeInUp{to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.hero-subtitle{font-size:1.2rem;color:var(--text-light);margin-bottom:30px;animation:fadeInUp 1s ease-out .8s forwards;opacity:0;transform:translateY(30px)}.hero-emojis{display:flex;justify-content:center;gap:20px;font-size:2rem;margin-bottom:40px;animation:fadeInUp 1s ease-out 1s forwards;opacity:0;transform:translateY(30px)}.hero-emojis span{animation:bounce 2s ease-in-out infinite}.hero-emojis span:nth-child(1){animation-delay:0s}.hero-emojis span:nth-child(2){animation-delay:.2s}.hero-emojis span:nth-child(3){animation-delay:.4s}.hero-emojis span:nth-child(4){animation-delay:.6s}.cta-button{background:var(--gradient-gold);color:var(--white);border:none;padding:15px 30px;border-radius:50px;font-size:1.1rem;font-weight:600;cursor:pointer;transition:var(--transition);box-shadow:0 10px 30px #ffd7004d;display:inline-flex;align-items:center;gap:10px;margin-bottom:50px;animation:fadeInUp 1s ease-out 1.2s forwards;opacity:0;transform:translateY(30px)}.cta-button:hover{transform:translateY(-3px);box-shadow:0 15px 40px #ffd70066}.cta-heart{animation:heartPulse 1.5s ease-in-out infinite}.scroll-indicator{position:absolute;bottom:30px;left:50%;transform:translate(-50%);text-align:center;color:var(--text-light);animation:fadeInUp 1s ease-out 1.4s forwards;opacity:0}.scroll-arrow{font-size:1.5rem;margin-top:10px;animation:bounce 2s ease-in-out infinite}section{padding:100px 0;position:relative}.section-title{font-family:Playfair Display,serif;font-size:clamp(2rem,5vw,3rem);text-align:center;margin-bottom:20px;color:var(--text-dark);position:relative}.section-title:after{content:"💕";display:block;font-size:2rem;margin-top:10px}.countdown-section{background:var(--white);text-align:center}.countdown-container{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:30px;max-width:600px;margin:50px auto}.countdown-item{background:var(--gradient-pink);padding:30px 20px;border-radius:20px;box-shadow:0 10px 30px var(--shadow);transition:var(--transition);position:relative;overflow:hidden}.countdown-item:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:linear-gradient(45deg,transparent,rgba(255,255,255,.1),transparent);transform:rotate(45deg);transition:var(--transition);opacity:0}.countdown-item:hover{transform:translateY(-10px)}.countdown-item:hover:before{opacity:1;animation:shimmer 1.5s ease-in-out}@keyframes shimmer{0%{transform:translate(-100%) translateY(-100%) rotate(45deg)}to{transform:translate(100%) translateY(100%) rotate(45deg)}}.countdown-number{display:block;font-family:Playfair Display,serif;font-size:3rem;font-weight:700;color:var(--white);margin-bottom:10px}.countdown-label{font-size:1rem;color:var(--white);font-weight:500;text-transform:uppercase;letter-spacing:1px}.countdown-message{font-size:1.2rem;color:var(--text-light);margin:30px 0 50px}.birthday-card-preview{margin-top:50px}.card-container{display:flex;justify-content:center}.birthday-card{width:300px;height:200px;background:var(--gradient-romantic);border-radius:15px;cursor:pointer;transition:var(--transition);box-shadow:0 15px 40px var(--shadow);position:relative;overflow:hidden}.birthday-card:hover{transform:translateY(-10px) scale(1.05);box-shadow:0 20px 50px #ff9a9e4d}.card-front{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:var(--white);text-align:center;padding:20px}.card-decoration{font-size:2rem;margin:10px 0;animation:bounce 2s ease-in-out infinite}.card-front h3{font-family:Dancing Script,cursive;font-size:1.5rem;margin:10px 0}.card-modal{display:none;position:fixed;z-index:10000;left:0;top:0;width:100%;height:100%;background-color:#000c;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.card-modal-content{position:relative;margin:5% auto;width:90%;max-width:800px;height:80%;max-height:600px}.card-close{position:absolute;top:-40px;right:0;color:var(--white);font-size:2rem;font-weight:700;cursor:pointer;z-index:10001}.card-close:hover{color:var(--gold)}.interactive-card{width:100%;height:100%;background:var(--white);border-radius:20px;box-shadow:0 20px 60px #0000004d;overflow:hidden}.card-inside{display:flex;height:100%}.card-left,.card-right{flex:1;padding:40px;display:flex;flex-direction:column;justify-content:center}.card-left{background:var(--gradient-romantic);color:var(--white);text-align:center}.card-left h2{font-family:Playfair Display,serif;font-size:2.5rem;margin-bottom:30px}.birthday-animation{display:flex;justify-content:center;align-items:center;gap:20px;font-size:3rem}.cake{animation:bounce 2s ease-in-out infinite}.balloons{animation:float 3s ease-in-out infinite}.card-right{background:var(--cream);color:var(--text-dark)}.card-right p{margin-bottom:20px;line-height:1.6;font-size:1.1rem}.card-signature{margin-top:30px;text-align:center}.signature-heart{font-family:Dancing Script,cursive;font-size:1.3rem;color:var(--rose-gold);margin-top:10px}.love-letter-section{background:var(--cream);position:relative}.letter-container{max-width:800px;margin:0 auto}.letter-content{background:var(--white);padding:50px;border-radius:20px;box-shadow:0 20px 60px var(--shadow);position:relative;font-family:Inter,sans-serif}.letter-content:before{content:"";position:absolute;top:-10px;left:-10px;right:-10px;bottom:-10px;background:var(--gradient-gold);border-radius:25px;z-index:-1}.letter-header{text-align:center;margin-bottom:40px;padding-bottom:20px;border-bottom:2px solid var(--soft-pink)}.letter-date{display:block;font-size:1rem;color:var(--text-light);margin-bottom:10px}.letter-to{font-family:Dancing Script,cursive;font-size:1.8rem;color:var(--rose-gold);font-weight:600}.letter-paragraph{font-size:1.1rem;line-height:1.8;margin-bottom:25px;opacity:0;transform:translateY(20px);transition:all .6s ease}.letter-paragraph.visible{opacity:1;transform:translateY(0)}.love-list{background:#ffc0cb1a;padding:30px;border-radius:15px;margin:30px 0;border-left:4px solid var(--soft-pink);opacity:0;transform:translateY(20px);transition:all .6s ease}.love-list.visible{opacity:1;transform:translateY(0)}.love-list h3{font-family:Playfair Display,serif;font-size:1.3rem;color:var(--text-dark);margin-bottom:20px}.love-list ul{list-style:none}.love-list li{font-size:1rem;line-height:1.6;position:relative;padding:10px 0 10px 30px;opacity:0;transform:translate(-20px);animation:slideInLeft .6s ease forwards}.love-list li:nth-child(1){animation-delay:.1s}.love-list li:nth-child(2){animation-delay:.2s}.love-list li:nth-child(3){animation-delay:.3s}.love-list li:nth-child(4){animation-delay:.4s}.love-list li:nth-child(5){animation-delay:.5s}.love-list li:nth-child(6){animation-delay:.6s}@keyframes slideInLeft{to{opacity:1;transform:translate(0)}}.love-list li:before{content:"💖";position:absolute;left:0;top:10px}.letter-signature{text-align:center;margin-top:40px;padding-top:30px;border-top:2px solid var(--soft-pink);opacity:0;transform:translateY(20px);transition:all .6s ease}.letter-signature.visible{opacity:1;transform:translateY(0)}.signature{font-family:Dancing Script,cursive;font-size:1.3rem;color:var(--rose-gold);margin:10px 0}.signature-name{font-weight:600;color:var(--text-dark)}.gallery-section{background:var(--white)}.gallery-subtitle{text-align:center;font-size:1.2rem;color:var(--text-light);margin-bottom:50px}.gallery-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:30px;margin-top:50px}.gallery-item{position:relative;border-radius:20px;overflow:hidden;box-shadow:0 15px 40px var(--shadow);transition:var(--transition);cursor:pointer;background:var(--gradient-romantic)}.gallery-item:hover{transform:translateY(-10px) scale(1.02)}.gallery-item img{width:100%;height:300px;object-fit:cover;transition:var(--transition)}.gallery-item:hover img{transform:scale(1.1)}.gallery-overlay{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(transparent,#000c);color:#fff;padding:30px 20px 20px;transform:translateY(100%);transition:var(--transition)}.gallery-item:hover .gallery-overlay{transform:translateY(0)}.gallery-overlay h3{font-family:Playfair Display,serif;font-size:1.3rem;margin-bottom:8px}.gallery-overlay p{font-size:.9rem;opacity:.9}.hidden-messages-section{background:var(--cream);text-align:center}.section-subtitle{font-size:1.2rem;color:var(--text-light);margin-bottom:50px}.messages-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:30px;max-width:800px;margin:0 auto 50px}.message-heart{background:var(--gradient-pink);width:120px;height:120px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:var(--transition);box-shadow:0 10px 30px var(--shadow);margin:0 auto;position:relative;overflow:hidden}.message-heart:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:linear-gradient(45deg,transparent,rgba(255,255,255,.2),transparent);transform:rotate(45deg);transition:var(--transition);opacity:0}.message-heart:hover{transform:scale(1.1) rotate(5deg);box-shadow:0 15px 40px #ffc0cb66}.message-heart:hover:before{opacity:1;animation:shimmer 1.5s ease-in-out}.heart-icon{font-size:3rem;animation:heartbeat 2s ease-in-out infinite;position:relative;z-index:1}@keyframes heartbeat{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.message-display{background:var(--white);padding:30px;border-radius:20px;box-shadow:0 10px 30px var(--shadow);max-width:600px;margin:0 auto;min-height:100px;display:flex;align-items:center;justify-content:center}#revealed-message{font-size:1.2rem;color:var(--text-dark);text-align:center;line-height:1.6;transition:var(--transition)}.wishes-section{background:var(--white)}.wishes-container{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:40px;margin:50px 0}.wish-card{background:var(--gradient-pink);padding:40px 30px;border-radius:20px;text-align:center;box-shadow:0 15px 40px var(--shadow);transition:var(--transition);color:var(--white);position:relative;overflow:hidden}.wish-card:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:linear-gradient(45deg,transparent,rgba(255,255,255,.1),transparent);transform:rotate(45deg);transition:var(--transition);opacity:0}.wish-card:hover{transform:translateY(-10px)}.wish-card:hover:before{opacity:1;animation:shimmer 1.5s ease-in-out}.wish-icon{font-size:3rem;margin-bottom:20px;animation:bounce 2s ease-in-out infinite}.wish-card h3{font-family:Playfair Display,serif;font-size:1.5rem;margin-bottom:20px}.wish-card p{line-height:1.6;opacity:.95}.final-message{text-align:center;margin-top:80px;padding:50px;background:var(--cream);border-radius:20px;box-shadow:0 15px 40px var(--shadow)}.final-message h3{font-family:Playfair Display,serif;font-size:2rem;color:var(--text-dark);margin-bottom:20px}.final-message p{font-size:1.2rem;color:var(--text-light);line-height:1.6;margin-bottom:30px}.share-buttons{margin-top:30px}.share-btn{background:var(--gradient-gold);color:var(--white);border:none;padding:15px 30px;border-radius:50px;font-size:1.1rem;font-weight:600;cursor:pointer;transition:var(--transition);box-shadow:0 10px 30px #ffd7004d;display:inline-flex;align-items:center;gap:10px}.share-btn:hover{transform:translateY(-3px);box-shadow:0 15px 40px #ffd70066}.footer{background:var(--text-dark);color:var(--white);text-align:center;padding:40px 0}.footer p{margin-bottom:10px}.footer-date{font-family:Dancing Script,cursive;font-size:1.2rem;color:var(--soft-pink)}.music-control{position:fixed;bottom:30px;right:30px;z-index:1000}.music-btn{background:var(--gradient-pink);color:var(--white);border:none;padding:15px 20px;border-radius:50px;cursor:pointer;box-shadow:0 10px 30px var(--shadow);transition:var(--transition);display:flex;align-items:center;gap:8px;font-weight:500}.music-btn:hover{transform:translateY(-3px);box-shadow:0 15px 40px #ffc0cb66}.music-icon{font-size:1.2rem;animation:bounce 2s ease-in-out infinite}.lightbox{position:fixed;top:0;left:0;width:100%;height:100%;background:#000000e6;display:flex;align-items:center;justify-content:center;z-index:10000;opacity:0;transition:opacity .3s ease}.lightbox-content{position:relative;max-width:90%;max-height:90%;text-align:center}.lightbox-close{position:absolute;top:-40px;right:0;color:#fff;font-size:2rem;cursor:pointer;z-index:10001;transition:var(--transition)}.lightbox-close:hover{color:var(--gold);transform:scale(1.2)}.lightbox img{max-width:100%;max-height:80vh;border-radius:10px;box-shadow:0 20px 60px #00000080}.lightbox h3{color:#fff;font-family:Playfair Display,serif;font-size:1.5rem;margin-top:20px}@media (max-width: 768px){.nav-menu{display:none}.mobile-menu-toggle{display:flex}.hero-title{font-size:2.5rem}.countdown-container{grid-template-columns:repeat(2,1fr);gap:20px}.letter-content{padding:30px 20px}.gallery-grid{grid-template-columns:1fr;gap:20px}.wishes-container{grid-template-columns:1fr;gap:30px}.messages-grid{grid-template-columns:repeat(2,1fr);gap:20px}.message-heart{width:100px;height:100px}.heart-icon{font-size:2.5rem}.card-inside{flex-direction:column}.card-left,.card-right{padding:30px 20px}.card-left h2{font-size:2rem}.birthday-animation{font-size:2rem;gap:15px}}@media (max-width: 480px){.container{padding:0 15px}section{padding:60px 0}.hero-emojis{gap:15px;font-size:1.5rem}.countdown-container{grid-template-columns:1fr;gap:15px}.countdown-item{padding:20px 15px}.countdown-number{font-size:2rem}.letter-content,.love-list{padding:20px 15px}.wish-card,.final-message{padding:30px 20px}.music-control{bottom:20px;right:20px}.music-btn{padding:12px 16px}.music-text{display:none}.birthday-card{width:250px;height:160px}.card-front h3{font-size:1.2rem}.card-decoration{font-size:1.5rem}}.reveal-text{opacity:0;transform:translateY(20px);transition:all .6s ease}.reveal-text.visible{opacity:1;transform:translateY(0)}html{scroll-behavior:smooth}::selection{background:var(--soft-pink);color:var(--white)}button:focus,a:focus{outline:2px solid var(--gold);outline-offset:2px}.gallery-item img,.birthday-card,.wish-card,.countdown-item{will-change:transform}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media print{.floating-hearts,.floating-flowers,.custom-cursor,.cursor-trail,.music-control,.navbar{display:none}body{background:#fff;color:#000}section{page-break-inside:avoid}}
