*{margin:0;padding:0;box-sizing:border-box}body,html{height:100%;overflow:hidden;font-family:Arial,sans-serif}.app{width:100vw;height:100vh;background-color:pink;position:relative;display:flex;justify-content:center;align-items:center;overflow:hidden}.main-content{display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:100;text-align:center;padding:2rem;background:#ffffff1a;border-radius:20px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 8px 32px #0000001a}.birthday-greeting{font-size:3.5rem;color:#8b0000;margin-bottom:2rem;text-shadow:2px 2px 4px rgba(0,0,0,.3);font-weight:700;line-height:1.2;animation:gentle-glow 3s ease-in-out infinite alternate}@keyframes gentle-glow{0%{text-shadow:2px 2px 4px rgba(0,0,0,.3)}to{text-shadow:2px 2px 4px rgba(0,0,0,.3),0 0 20px rgba(139,0,0,.5)}}.riddle-form{display:flex;justify-content:center;align-items:center}.input-group{display:flex;gap:10px;align-items:center}.riddle-input{padding:15px 20px;font-size:1.2rem;border:3px solid #8B0000;border-radius:25px;outline:none;background:#ffffffe6;color:#333;min-width:300px;text-align:center;transition:all .3s ease}.riddle-input:focus{border-color:#b22222;box-shadow:0 0 10px #8b000080;transform:scale(1.05)}.riddle-input:disabled{opacity:.6;cursor:not-allowed;background:#c8c8c880}.riddle-input::placeholder{color:#999;font-style:italic}.enter-button{padding:15px 30px;font-size:1.2rem;background:#8b0000;color:#fff;border:none;border-radius:25px;cursor:pointer;font-weight:700;transition:all .3s ease;box-shadow:0 4px 15px #8b00004d}.enter-button:hover:not(:disabled){background:#b22222;transform:translateY(-2px);box-shadow:0 6px 20px #8b000066}.enter-button:active:not(:disabled){transform:translateY(0)}.enter-button:disabled{opacity:.6;cursor:not-allowed;background:#666}.audio-controls{position:absolute;top:20px;left:20px;display:flex;gap:10px;z-index:200}.audio-button{width:50px;height:50px;background:#ffffffe6;border:3px solid #8B0000;border-radius:50%;cursor:pointer;font-size:1.2rem;display:flex;justify-content:center;align-items:center;transition:all .3s ease;box-shadow:0 4px 15px #0003}.audio-button:hover{background:#8b0000;transform:scale(1.1);box-shadow:0 6px 20px #8b000066}.audio-button:active{transform:scale(.95)}.failed-counter{position:absolute;top:20px;right:20px;background:#ffffffe6;padding:15px 20px;border-radius:15px;font-weight:700;color:#8b0000;font-size:1.1rem;box-shadow:0 4px 15px #0003;z-index:200;text-align:center}.cooldown-timer{margin-top:10px;font-size:1rem;color:#ff4500;font-weight:400;animation:pulse 1s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}.bouncing-photo{position:absolute;width:100px;height:100px;object-fit:cover;border-radius:10px;box-shadow:0 4px 15px #0000004d;z-index:1;transition:transform .1s ease-out;border:3px solid rgba(255,255,255,.7);pointer-events:none}.bouncing-photo:hover{transform:scale(1.1)}.background-audio{position:absolute;top:-1000px;left:-1000px;width:1px;height:1px;opacity:0;pointer-events:none;z-index:-1}.image-modal{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#000c;display:flex;justify-content:center;align-items:center;z-index:1000;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);animation:fadeIn .3s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.image-container{position:relative;max-width:90vw;max-height:90vh;animation:slideIn .3s ease-out}@keyframes slideIn{0%{transform:scale(.8) translateY(-50px);opacity:0}to{transform:scale(1) translateY(0);opacity:1}}.revealed-image{max-width:100%;max-height:90vh;object-fit:contain;border-radius:15px;box-shadow:0 10px 30px #00000080}.close-button{position:absolute;top:-15px;right:-15px;width:40px;height:40px;background:#8b0000;color:#fff;border:none;border-radius:50%;font-size:1.5rem;cursor:pointer;display:flex;justify-content:center;align-items:center;transition:all .3s ease;box-shadow:0 4px 15px #0000004d;z-index:1001}.close-button:hover{background:#b22222;transform:scale(1.1)}.mystery-modal{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#000000e6;display:flex;justify-content:center;align-items:center;z-index:1000;overflow:hidden;animation:fadeIn .5s ease-out}.mystery-box-container{position:relative;animation:mysteryAppear 1s ease-out}@keyframes mysteryAppear{0%{transform:scale(0) rotate(180deg);opacity:0}50%{transform:scale(1.2) rotate(90deg);opacity:.8}to{transform:scale(1) rotate(0);opacity:1}}.gift-box{width:200px;height:200px;position:relative;display:flex;justify-content:center;align-items:center;animation:giftGlow 2s ease-in-out infinite alternate}@keyframes giftGlow{0%{filter:drop-shadow(0 0 20px rgba(255,215,0,.4))}to{filter:drop-shadow(0 0 40px rgba(255,215,0,.8))}}.gift-box-base{width:200px;height:200px;background:linear-gradient(145deg,#8b0000,#b22222);border-radius:10px;position:absolute;box-shadow:0 10px 20px #0000004d,inset 0 0 20px #ffffff1a}.gift-ribbon-horizontal{width:200px;height:30px;background:linear-gradient(145deg,gold,orange);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 2px 10px #0000004d,inset 0 2px 5px #ffffff4d}.gift-ribbon-vertical{width:30px;height:200px;background:linear-gradient(45deg,gold,orange);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 2px 10px #0000004d,inset 2px 0 5px #ffffff4d}.gift-bow{position:absolute;top:-10px;left:50%;transform:translate(-50%);z-index:10}.bow-left,.bow-right{width:40px;height:30px;background:linear-gradient(145deg,gold,#ff8c00);border-radius:50% 10%;position:absolute;box-shadow:0 3px 8px #0000004d;animation:bowFloat 2s ease-in-out infinite alternate}.bow-left{left:-20px;transform:rotate(-20deg)}.bow-right{right:-20px;transform:rotate(20deg)}.bow-center{width:20px;height:25px;background:linear-gradient(145deg,#ff8c00,gold);border-radius:5px;position:absolute;left:50%;top:2px;transform:translate(-50%);box-shadow:0 2px 5px #0000004d}@keyframes bowFloat{0%{transform:translateY(0)}to{transform:translateY(-3px)}}.gift-question{font-size:5rem;color:gold;font-weight:700;text-shadow:0 0 20px rgba(255,215,0,.8),0 0 40px rgba(255,215,0,.6),2px 2px 4px rgba(0,0,0,.5);animation:questionPulse 1.5s ease-in-out infinite;z-index:5;position:relative}@keyframes questionPulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.1);opacity:.8}}.countdown-container{margin-top:30px;text-align:center;background:#ffffff1a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:20px;border-radius:15px;border:2px solid rgba(255,215,0,.3)}.countdown-title{font-size:1.2rem;color:gold;font-weight:700;margin-bottom:8px;text-shadow:0 0 10px rgba(255,215,0,.5)}.countdown-date{font-size:1.1rem;color:#fff;font-weight:700;margin-bottom:5px}.countdown-location{font-size:.9rem;color:#ccc;margin-bottom:15px;font-style:italic}.countdown-timer{font-size:2rem;color:gold;font-weight:700;font-family:Courier New,monospace;text-shadow:0 0 15px rgba(255,215,0,.8),0 0 30px rgba(255,215,0,.6);animation:timerGlow 1s ease-in-out infinite alternate;letter-spacing:2px}@keyframes timerGlow{0%{text-shadow:0 0 15px rgba(255,215,0,.8),0 0 30px rgba(255,215,0,.6)}to{text-shadow:0 0 25px rgba(255,215,0,1),0 0 50px rgba(255,215,0,.8)}}.mystery-close{background:#fff;color:#000}.mystery-close:hover{background:#f0f0f0;color:#333}.confetti{position:absolute;width:10px;height:10px;background:#ff6b6b;animation:confettiFall 4s linear infinite;top:-10px}@keyframes confettiFall{0%{transform:translateY(-100vh) rotate(0);opacity:1}to{transform:translateY(100vh) rotate(720deg);opacity:0}}.confetti:nth-child(2n){width:8px;height:15px;border-radius:50%}.confetti:nth-child(3n){width:12px;height:8px;border-radius:50%}.confetti:nth-child(4n){width:6px;height:20px}.confetti:nth-child(5n){animation-duration:3s}.confetti:nth-child(6n){animation-duration:5s}.quiz-modal{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#000000f2;display:flex;justify-content:center;align-items:center;z-index:1000;overflow-y:auto;padding:20px}.quiz-container{background:#ffffff1a;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);border-radius:20px;padding:30px;max-width:600px;width:100%;max-height:90vh;overflow-y:auto;border:2px solid rgba(255,215,0,.3);animation:quizSlideIn .5s ease-out;position:relative}@keyframes quizSlideIn{0%{opacity:0;transform:translateY(-50px)}to{opacity:1;transform:translateY(0)}}.quiz-header{text-align:center;margin-bottom:30px}.quiz-progress{color:gold;font-size:1.1rem;font-weight:700;margin-bottom:15px}.quiz-progress-bar{width:100%;height:8px;background:#fff3;border-radius:4px;overflow:hidden}.quiz-progress-fill{height:100%;background:linear-gradient(90deg,gold,orange);border-radius:4px;transition:width .3s ease;animation:progressGlow 2s ease-in-out infinite alternate}@keyframes progressGlow{0%{box-shadow:0 0 5px #ffd70080}to{box-shadow:0 0 15px #ffd700cc}}.quiz-question{font-size:1.8rem;color:#fff;font-weight:700;text-align:center;margin-bottom:30px;text-shadow:0 0 10px rgba(255,255,255,.3);line-height:1.3}.quiz-options{display:flex;flex-direction:column;gap:15px}.quiz-option-wrapper{position:relative}.quiz-option{width:100%;padding:20px;background:#ffffff1a;border:2px solid rgba(255,255,255,.2);border-radius:15px;color:#fff;font-size:1.1rem;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;gap:15px;text-align:left}.quiz-option:hover{background:#fff3;border-color:#ffd70080;transform:translateY(-2px)}.quiz-option.selected{background:#ffd70033;border-color:gold;box-shadow:0 0 20px #ffd70066}.quiz-option.wrong{background:#f003;border-color:#f44;box-shadow:0 0 20px #f006;animation:wrongShake .5s ease-in-out}@keyframes wrongShake{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-8px)}20%,40%,60%,80%{transform:translate(8px)}}.quiz-option.disabled{opacity:.6;cursor:not-allowed;pointer-events:none}.option-letter{font-weight:700;color:gold;font-size:1.2rem;min-width:25px}.option-text{flex:1;line-height:1.4}.option-selected-indicator{font-size:1.3rem;color:gold;font-weight:700;margin-left:auto}.option-wrong-indicator{font-size:1.3rem;color:#f44;font-weight:700;margin-left:auto;animation:wrongPulse .6s ease-in-out infinite}@keyframes wrongPulse{0%,to{transform:scale(1)}50%{transform:scale(1.2)}}.quiz-submit-section{margin-top:25px;text-align:center;animation:submitAppear .3s ease-out}@keyframes submitAppear{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.quiz-submit-btn{padding:15px 40px;background:linear-gradient(145deg,gold,orange);color:#000;border:none;border-radius:25px;font-weight:700;font-size:1.2rem;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 20px #ffd70066;animation:submitPulse 2s ease-in-out infinite;min-width:200px}@keyframes submitPulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.quiz-submit-btn:hover{background:linear-gradient(145deg,orange,gold);transform:translateY(-3px);box-shadow:0 8px 25px #ffd70099}.quiz-submit-btn:active{transform:translateY(-1px)}.wrong-effect-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:#ff00001a;border-radius:20px;display:flex;flex-direction:column;justify-content:center;align-items:center;animation:wrongOverlayAppear .5s ease-out;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:10}@keyframes wrongOverlayAppear{0%{opacity:0;background:#f000}to{opacity:1;background:#ff00001a}}.wrong-message{font-size:2.5rem;color:#f44;font-weight:700;text-shadow:0 0 20px rgba(255,68,68,.8),0 0 40px rgba(255,68,68,.6);animation:wrongBounce .6s ease-out;margin-bottom:10px}@keyframes wrongBounce{0%{transform:scale(.5);opacity:0}50%{transform:scale(1.2);opacity:.8}to{transform:scale(1);opacity:1}}.wrong-subtext{font-size:1.2rem;color:#f66;font-style:italic;animation:wrongSubtextFade 1s ease-out .3s both}@keyframes wrongSubtextFade{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.quiz-retry-section{margin-top:25px;text-align:center;animation:retryAppear .5s ease-out .8s both;position:relative;z-index:15}@keyframes retryAppear{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.quiz-retry-btn{padding:15px 40px;background:linear-gradient(145deg,#f66,#f44);color:#fff;border:none;border-radius:25px;font-weight:700;font-size:1.2rem;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 20px #f446;min-width:200px;animation:retryPulse 2s ease-in-out infinite 1.5s}@keyframes retryPulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.quiz-retry-btn:hover{background:linear-gradient(145deg,#f44,#f66);transform:translateY(-3px);box-shadow:0 8px 25px #f449}.quiz-retry-btn:active{transform:translateY(-1px)}.quiz-hint{text-align:center;margin-top:20px;padding:15px;background:#ffd7001a;border-radius:10px;color:gold;font-style:italic;border:1px solid rgba(255,215,0,.3)}.prize-modal{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#000000e6;display:flex;justify-content:center;align-items:center;z-index:1000;overflow:hidden}.prize-container{text-align:center;animation:prizeAppear 1s ease-out;position:relative}@keyframes prizeAppear{0%{opacity:0;transform:scale(.5) rotate(180deg)}50%{opacity:.8;transform:scale(1.2) rotate(90deg)}to{opacity:1;transform:scale(1) rotate(0)}}.prize-celebration{font-size:3rem;color:gold;font-weight:700;margin-bottom:30px;text-shadow:0 0 20px rgba(255,215,0,.8),0 0 40px rgba(255,215,0,.6);animation:celebrationBounce 1s ease-out infinite alternate}@keyframes celebrationBounce{0%{transform:translateY(0)}to{transform:translateY(-10px)}}.prize-image{max-width:300px;max-height:300px;border-radius:20px;box-shadow:0 20px 40px #00000080,0 0 50px #ffd7004d;animation:prizeGlow 2s ease-in-out infinite alternate;margin-bottom:30px}@keyframes prizeGlow{0%{box-shadow:0 20px 40px #00000080,0 0 50px #ffd7004d}to{box-shadow:0 25px 50px #000000b3,0 0 80px #ffd70099}}.prize-text{font-size:2rem;color:gold;font-weight:700;text-shadow:0 0 15px rgba(255,215,0,.8),2px 2px 4px rgba(0,0,0,.5);animation:textShimmer 2s ease-in-out infinite alternate;margin-top:20px}@keyframes textShimmer{0%{opacity:.8}to{opacity:1}}.prize-confetti{animation-duration:3s!important;width:12px!important;height:12px!important}.prize-close{background:gold;color:#000}.prize-close:hover{background:orange;color:#fff}@media (max-width: 768px){.birthday-greeting{font-size:2.5rem;margin-bottom:1.5rem}.riddle-input{min-width:250px;font-size:1rem;padding:12px 15px}.enter-button{font-size:1rem;padding:12px 20px}.audio-controls{top:10px;left:10px;gap:8px}.audio-button{width:40px;height:40px;font-size:1rem}.failed-counter{top:10px;right:10px;padding:10px 15px;font-size:1rem}.main-content{padding:1rem;margin:1rem}.bouncing-photo{width:80px;height:80px}.quiz-container{padding:20px;margin:10px;max-height:95vh}.quiz-question{font-size:1.4rem;margin-bottom:25px}.quiz-option{padding:15px;font-size:1rem;gap:10px}.option-letter{font-size:1.1rem;min-width:20px}.quiz-submit-btn,.quiz-retry-btn{padding:12px 30px;font-size:1.1rem;min-width:180px}.wrong-message{font-size:2rem}.wrong-subtext{font-size:1rem}.gift-box,.gift-box-base{width:150px;height:150px}.gift-ribbon-horizontal{width:150px;height:22px}.gift-ribbon-vertical{width:22px;height:150px}.gift-question{font-size:4rem}.countdown-container{padding:15px;margin-top:20px}.countdown-timer{font-size:1.5rem}.prize-celebration{font-size:2.2rem;margin-bottom:20px}.prize-image{max-width:250px;max-height:250px}.prize-text{font-size:1.5rem;margin-top:15px}}@media (max-width: 480px){.birthday-greeting{font-size:2rem}.riddle-input{min-width:200px}.input-group{flex-direction:column;gap:15px}.bouncing-photo{width:60px;height:60px}.quiz-container{padding:15px;margin:5px}.quiz-question{font-size:1.2rem;margin-bottom:20px}.quiz-option{padding:12px;font-size:.9rem;gap:8px}.option-letter{font-size:1rem}.quiz-submit-btn,.quiz-retry-btn{padding:10px 25px;font-size:1rem;min-width:160px}.wrong-message{font-size:1.8rem}.wrong-subtext{font-size:.9rem}.gift-box,.gift-box-base{width:120px;height:120px}.gift-ribbon-horizontal{width:120px;height:18px}.gift-ribbon-vertical{width:18px;height:120px}.gift-question{font-size:3rem}.countdown-timer{font-size:1.2rem}.prize-celebration{font-size:1.8rem}.prize-image{max-width:200px;max-height:200px}.prize-text{font-size:1.2rem}}.main-content{animation:fadeInUp 1s ease-out}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.riddle-input,.enter-button{transform-origin:center}.bouncing-photo{animation:photoFadeIn .5s ease-out}@keyframes photoFadeIn{0%{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1)}}
