@import"https://fonts.googleapis.com/css2?family=Pacifico&family=Comic+Neue:wght@400;700&family=Dancing+Script:wght@700&display=swap";html{scroll-behavior:smooth}body{margin:0;min-width:320px;min-height:100vh;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{margin:0;padding:0;box-sizing:border-box}:root{--pink-light: #FFB6C1;--pink-medium: #FF69B4;--pink-dark: #FF1493;--pink-pastel: #FFC0CB;--red-love: #FF0000;--gold: #FFD700}body{font-family:Comic Neue,cursive;background:linear-gradient(135deg,#ffb6c1,#ff69b4,#ffb6c1);min-height:100vh;overflow-x:hidden}#root{max-width:100%;margin:0;padding:0}.app{position:relative;min-height:100vh}.hearts-bg{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:0;overflow:hidden}.floating-heart{position:absolute;top:-50px;animation:fall 10s linear infinite;opacity:.6}@keyframes fall{0%{transform:translateY(-100px) rotate(0);opacity:0}10%{opacity:.6}90%{opacity:.6}to{transform:translateY(100vh) rotate(360deg);opacity:0}}.hero{position:relative;z-index:1;text-align:center;padding:60px 20px;background:linear-gradient(180deg,rgba(255,255,255,.3) 0%,transparent 100%)}.hero h1{font-family:Pacifico,cursive;font-size:4rem;color:#ff1493;text-shadow:3px 3px 0 #fff,6px 6px 0 #FF69B4;margin-bottom:20px;animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.hero .subtitle{font-family:Dancing Script,cursive;font-size:2.5rem;color:#fff;text-shadow:2px 2px 4px rgba(255,20,147,.5);margin-bottom:30px}.hero .years-badge{display:inline-block;background:linear-gradient(45deg,#ff1493,#ff69b4);color:#fff;padding:15px 40px;border-radius:50px;font-size:1.5rem;font-weight:700;box-shadow:0 8px 25px #ff149366;border:4px solid #fff;animation:bounce 1s ease infinite}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.hero .ring-emoji{font-size:3rem;display:block;margin-top:20px;animation:sparkle 1.5s ease-in-out infinite}@keyframes sparkle{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(1.2)}}.hero .married-text{font-family:Pacifico,cursive;font-size:2rem;color:#fff;margin-top:15px;text-shadow:2px 2px 4px #FF1493}.gallery{position:relative;z-index:1;padding:60px 20px;background:#fff3}.gallery h2{font-family:Pacifico,cursive;font-size:3rem;color:#ff1493;text-align:center;margin-bottom:40px;text-shadow:2px 2px 0 #fff}.quiz-teaser{text-align:center;margin-bottom:50px;padding:35px 30px;background:linear-gradient(135deg,#ffd7004d,#ffa50066);border-radius:25px;max-width:650px;margin-left:auto;margin-right:auto;border:5px solid #FFD700;box-shadow:0 10px 40px #ffa50066,0 0 30px #ffd7004d;position:relative;overflow:hidden}.quiz-teaser:before{content:"🎁";position:absolute;top:-10px;left:20px;font-size:3rem;animation:wiggle 1s ease-in-out infinite}.quiz-teaser:after{content:"🎁";position:absolute;top:-10px;right:20px;font-size:3rem;animation:wiggle 1s ease-in-out infinite .5s}@keyframes wiggle{0%,to{transform:rotate(-10deg)}50%{transform:rotate(10deg)}}.quiz-teaser p{font-family:Pacifico,cursive;font-size:1.8rem;color:#ff1493;margin-bottom:25px;text-shadow:2px 2px 4px rgba(255,255,255,.8)}.take-quiz-btn{background:linear-gradient(135deg,#ff1493,#ff69b4,#ff1493);color:#fff;border:5px solid #FFD700;padding:22px 50px;font-size:1.6rem;font-family:Pacifico,cursive;border-radius:50px;cursor:pointer;box-shadow:0 10px 30px #ff149380,0 0 20px #ffd70080;transition:all .3s ease;animation:megaPulse 1.5s ease-in-out infinite;text-shadow:2px 2px 4px rgba(0,0,0,.2)}@keyframes megaPulse{0%,to{transform:scale(1);box-shadow:0 10px 30px #ff149380,0 0 20px #ffd70080}50%{transform:scale(1.08);box-shadow:0 15px 40px #ff1493b3,0 0 40px #ffd700b3}}.take-quiz-btn:hover{transform:scale(1.15);box-shadow:0 15px 45px #ff1493b3,0 0 50px #ffd700cc}.gallery-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:30px;max-width:1200px;margin:0 auto}.photo-card{background:#fff;border-radius:20px;overflow:hidden;box-shadow:0 10px 30px #ff14934d;transform:rotate(-2deg);transition:transform .3s ease;border:5px solid #FF69B4}.photo-card:nth-child(2n){transform:rotate(2deg)}.photo-card:hover{transform:rotate(0) scale(1.05)}.photo-placeholder{width:100%;height:250px;background:linear-gradient(135deg,#ffb6c1,#ff69b4);display:flex;flex-direction:column;align-items:center;justify-content:center;color:#fff;font-size:4rem}.photo-placeholder span{font-size:1rem;margin-top:10px;font-family:Comic Neue,cursive}.photo-image{width:100%;height:250px;object-fit:cover}.photo-card p{padding:15px;text-align:center;font-family:Dancing Script,cursive;font-size:1.3rem;color:#ff1493}.quiz{position:relative;z-index:1;padding:60px 20px;text-align:center}.quiz h2{font-family:Pacifico,cursive;font-size:3rem;color:#fff;margin-bottom:20px;text-shadow:3px 3px 0 #FF1493}.quiz-intro{font-size:1.3rem;color:#fff;margin-bottom:30px;text-shadow:1px 1px 2px rgba(0,0,0,.2)}.quiz-container{background:#fff;max-width:600px;margin:0 auto;padding:40px;border-radius:30px;box-shadow:0 15px 40px #ff149366;border:5px solid #FF69B4}.question{margin-bottom:30px}.question h3{font-family:Dancing Script,cursive;font-size:1.8rem;color:#ff1493;margin-bottom:20px}.options{display:flex;flex-direction:column;gap:12px}.option-btn{background:linear-gradient(135deg,#ffb6c1,#ff69b4);border:3px solid #FF1493;padding:15px 25px;border-radius:50px;font-family:Comic Neue,cursive;font-size:1.1rem;color:#fff;cursor:pointer;transition:all .3s ease;font-weight:700}.option-btn:hover{background:linear-gradient(135deg,#ff69b4,#ff1493);transform:scale(1.05);box-shadow:0 5px 15px #ff149366}.option-btn.selected{background:#ff1493;transform:scale(1.05)}.option-btn.correct{background:#4caf50;border-color:#388e3c}.option-btn.incorrect{background:#f44336;border-color:#d32f2f}.progress-bar{width:100%;height:15px;background:#ffb6c1;border-radius:10px;margin-bottom:30px;overflow:hidden}.progress-fill{height:100%;background:linear-gradient(90deg,#ff1493,#ff69b4);transition:width .5s ease;border-radius:10px}.submit-btn{background:linear-gradient(135deg,#ff1493,#ff69b4);color:#fff;border:none;padding:18px 50px;font-size:1.3rem;font-family:Pacifico,cursive;border-radius:50px;cursor:pointer;margin-top:20px;transition:all .3s ease;box-shadow:0 8px 25px #ff149366}.submit-btn:hover{transform:translateY(-3px);box-shadow:0 12px 35px #ff149380}.submit-btn:disabled{background:#ccc;cursor:not-allowed;box-shadow:none}.quiz-results{text-align:center}.score-display{font-family:Pacifico,cursive;font-size:4rem;color:#ff1493;margin:20px 0}.result-message{font-size:1.5rem;color:#666;margin-bottom:20px}.result-emoji{font-size:5rem;margin:20px 0;animation:bounce 1s ease infinite}.reward-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#000c;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .5s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.reward-content{background:linear-gradient(135deg,#ff69b4,#ff1493,#ff69b4);padding:40px 30px;border-radius:30px;text-align:center;max-width:500px;margin:20px;box-shadow:0 0 50px #ff1493cc;border:5px solid gold;animation:popIn .5s ease;overflow-y:auto;max-height:90vh}.reward-content.claimed{background:linear-gradient(135deg,gold,orange,gold)}.reward-photo{width:150px;height:150px;object-fit:cover;border-radius:50%;border:5px solid #FF1493;box-shadow:0 8px 25px #ff149380;margin:15px auto;display:block;animation:wiggle 1s ease-in-out infinite}.prize-ticket{background:#fff;border-radius:15px;padding:25px 20px;margin:20px 0;border:4px dashed #FF1493;box-shadow:0 8px 20px #0003}.ticket-header{font-family:Dancing Script,cursive;font-size:1.2rem;color:#ff1493;margin-bottom:10px}.ticket-prize{font-family:Pacifico,cursive;font-size:1.8rem;color:#ff1493;padding:15px;background:linear-gradient(135deg,gold,orange);border-radius:10px;margin:10px 0}.ticket-valid{font-family:Comic Neue,cursive;font-size:1.3rem;color:#ff1493;font-weight:700;margin-top:15px}.ticket-note{font-family:Comic Neue,cursive;font-size:1rem;color:#666;margin-top:10px;font-style:italic}.reward-content h2{word-wrap:break-word;overflow-wrap:break-word}@keyframes popIn{0%{transform:scale(0)}to{transform:scale(1)}}.reward-content h2{font-family:Pacifico,cursive;font-size:2.5rem;color:#fff;margin-bottom:20px;text-shadow:2px 2px 4px rgba(0,0,0,.3)}.spinning-banner{background:linear-gradient(90deg,gold,orange,gold);color:#ff1493;padding:20px 40px;font-family:Dancing Script,cursive;font-size:2rem;font-weight:700;border-radius:15px;margin:30px 0;animation:spin3d 4s ease-out forwards;box-shadow:0 10px 30px #ffd70080}@keyframes spin3d{0%{transform:perspective(1000px) rotateY(0)}25%{transform:perspective(1000px) rotateY(360deg)}50%{transform:perspective(1000px) rotateY(720deg)}75%{transform:perspective(1000px) rotateY(1080deg)}to{transform:perspective(1000px) rotateY(1080deg) scale(1.1)}}.reward-content p{color:#fff;font-size:1.3rem;margin-top:20px}.confetti{position:absolute;width:10px;height:10px;animation:confettiFall 3s ease-in-out infinite}@keyframes confettiFall{0%{transform:translateY(-100vh) rotate(0);opacity:1}to{transform:translateY(100vh) rotate(720deg);opacity:0}}.close-reward-btn{background:#fff;color:#ff1493;border:none;padding:15px 40px;font-size:1.2rem;font-family:Comic Neue,cursive;font-weight:700;border-radius:50px;cursor:pointer;margin-top:30px;transition:all .3s ease}.close-reward-btn:hover{transform:scale(1.1);box-shadow:0 5px 20px #ffffff80}.footer{position:relative;z-index:1;text-align:center;padding:40px 20px;background:linear-gradient(180deg,transparent,rgba(255,20,147,.3))}.signoff-photo{width:200px;height:200px;object-fit:cover;border-radius:50%;border:5px solid #fff;box-shadow:0 8px 25px #ff149366;margin:25px auto;display:block;transform:rotate(-5deg);transition:transform .3s ease}.signoff-photo:hover{transform:rotate(5deg) scale(1.05)}.footer p{font-family:Pacifico,cursive;font-size:1.5rem;color:#fff;text-shadow:2px 2px 4px rgba(255,20,147,.5)}.footer-subtext{font-family:Dancing Script,cursive;font-size:1.8rem!important;margin-top:10px}@media(max-width:768px){.hero h1{font-size:2.5rem}.hero .subtitle{font-size:1.8rem}.hero .years-badge{padding:12px 25px;font-size:1.2rem}.hero .married-text{font-size:1.5rem}.gallery h2,.quiz h2{font-size:2rem}.gallery-grid{gap:20px;padding:0 10px}.quiz-container{padding:25px;margin:0 15px}.question h3{font-size:1.5rem}.option-btn{padding:12px 20px;font-size:1rem}.reward-content{padding:30px}.spinning-banner{font-size:1.5rem;padding:15px 25px}}@media(max-width:480px){.hero{padding:40px 15px}.hero h1{font-size:1.8rem;text-shadow:2px 2px 0 #fff,4px 4px 0 #FF69B4}.hero .subtitle{font-size:1.4rem}.hero .years-badge{padding:10px 20px;font-size:1rem}.hero .ring-emoji{font-size:2rem}.hero .married-text{font-size:1.2rem}.gallery{padding:40px 15px}.gallery h2{font-size:1.6rem}.gallery-grid{grid-template-columns:1fr;gap:20px}.photo-card{transform:none!important}.photo-placeholder{height:200px;font-size:3rem}.quiz{padding:40px 15px}.quiz h2{font-size:1.6rem}.quiz-intro{font-size:1.1rem}.quiz-container{padding:20px 15px;margin:0;border-radius:20px}.question{margin-bottom:25px}.question h3{font-size:1.2rem;line-height:1.4}.option-btn{padding:12px 15px;font-size:.95rem;border-radius:30px}.submit-btn{padding:15px 35px;font-size:1.1rem}.score-display{font-size:3rem}.result-emoji{font-size:4rem}.result-message{font-size:1.2rem}.reward-content{padding:25px 15px;margin:10px;border-radius:20px;max-height:85vh}.reward-content h2{font-size:1.4rem}.reward-photo{width:120px;height:120px}.prize-ticket{padding:20px 15px;margin:15px 0}.ticket-prize{font-size:1.4rem;padding:12px}.ticket-valid{font-size:1.1rem}.spinning-banner{font-size:1.1rem;padding:10px 15px}.close-reward-btn{padding:12px 25px;font-size:1rem}.footer{padding:30px 15px}.footer p{font-size:1.2rem}.footer-subtext{font-size:1.4rem!important}.floating-heart{opacity:.4}}
