*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.container{width:100%}@media (min-width: 640px){.container{max-width:640px}}@media (min-width: 768px){.container{max-width:768px}}@media (min-width: 1024px){.container{max-width:1024px}}@media (min-width: 1280px){.container{max-width:1280px}}@media (min-width: 1536px){.container{max-width:1536px}}.mt-2{margin-top:.5rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.text-sm{font-size:.875rem;line-height:1.25rem}.opacity-80{opacity:.8}:root[data-theme=light]{--bg-primary: #fff5f7;--bg-secondary: #ffffff;--bg-card: #ffe4e9;--text-primary: #2d1b2e;--text-secondary: #6b4d6e;--accent: #ff6b9d;--accent-hover: #ff4d7d;--gold: #ffd700;--shadow: rgba(255, 107, 157, .15)}:root[data-theme=dark]{--bg-primary: #1a0e1c;--bg-secondary: #2d1b2e;--bg-card: #3d2b3e;--text-primary: #ffe4e9;--text-secondary: #ffb6c1;--accent: #ff8fa3;--accent-hover: #ffb3c1;--gold: #ffd700;--shadow: rgba(0, 0, 0, .3)}:root[data-theme=galaxy]{--bg-primary: #1a0520;--bg-secondary: #2d0a3d;--bg-card: #4a1858;--text-primary: #ffeaf4;--text-secondary: #ffc4e1;--accent: #ff6ec7;--accent-hover: #ff8fd6;--gold: #ffd700;--shadow: rgba(255, 110, 199, .3)}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Poppins,sans-serif;background:var(--bg-primary);color:var(--text-primary);transition:background .3s,color .3s;overflow-x:hidden}.app{min-height:100vh;position:relative}.controls{position:fixed;top:20px;right:20px;z-index:1000;display:flex;gap:12px;flex-wrap:wrap}.theme-switcher{display:flex;gap:8px;background:var(--bg-secondary);padding:8px;border-radius:12px;box-shadow:0 4px 12px var(--shadow)}.theme-btn{padding:8px;border:none;background:transparent;color:var(--text-secondary);cursor:pointer;border-radius:8px;transition:all .3s;display:flex;align-items:center;justify-content:center}.theme-btn:hover{background:var(--bg-card);transform:scale(1.1)}.theme-btn.active{background:var(--accent);color:#fff}.data-saver-toggle{display:flex;align-items:center;gap:8px;padding:8px 16px;background:var(--bg-secondary);border:none;border-radius:12px;color:var(--text-primary);cursor:pointer;transition:all .3s;box-shadow:0 4px 12px var(--shadow);font-size:14px}.data-saver-toggle:hover{transform:scale(1.05)}.data-saver-toggle.active{background:var(--accent);color:#fff}.easter-egg{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:var(--accent);color:#fff;padding:24px 48px;border-radius:16px;font-size:24px;font-weight:600;z-index:9999;animation:easterEggPop .5s ease-out;box-shadow:0 8px 32px var(--shadow)}@keyframes easterEggPop{0%{transform:translate(-50%,-50%) scale(0)}50%{transform:translate(-50%,-50%) scale(1.1)}to{transform:translate(-50%,-50%) scale(1)}}.hero{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:80px 20px 40px;position:relative;overflow:hidden}.hero-decoration{position:absolute;top:0;left:0;right:0;bottom:0;background:radial-gradient(circle at 20% 50%,var(--accent) 0%,transparent 50%),radial-gradient(circle at 80% 80%,var(--gold) 0%,transparent 50%);opacity:.1;pointer-events:none;animation:pulse 8s ease-in-out infinite}@keyframes pulse{0%,to{opacity:.1}50%{opacity:.15}}.hero-content{text-align:center;max-width:800px;margin:0 auto;position:relative;z-index:1}.hero-title{font-family:Playfair Display,serif;font-size:clamp(2rem,5vw,4rem);font-weight:700;margin-bottom:24px;line-height:1.2}.hero-name{color:var(--accent);display:block;margin-top:8px}.hero-icon{display:inline-block;margin-left:12px;color:var(--gold);animation:bounce 2s ease-in-out infinite}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.hero-typewriter{min-height:80px;margin:24px 0}.typewriter-container{display:flex;align-items:center;justify-content:center;gap:4px}.typewriter-text{font-size:clamp(1.2rem,3vw,1.8rem);color:var(--text-secondary);font-weight:300}.cursor{color:var(--accent);animation:blink 1s step-end infinite;font-weight:300;font-size:clamp(1.2rem,3vw,1.8rem)}@keyframes blink{50%{opacity:0}}.hero-subtitle{font-size:clamp(1rem,2vw,1.3rem);color:var(--text-secondary);margin:24px 0;line-height:1.6}.hero-actions{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;margin:32px 0}.btn{display:inline-flex;align-items:center;gap:8px;padding:12px 32px;border:none;border-radius:50px;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s ease;font-family:Poppins,sans-serif}.btn:hover:not(:disabled){transform:translateY(-2px)}.btn:active:not(:disabled){transform:translateY(0)}.btn-primary{background:var(--accent);color:#fff;box-shadow:0 4px 16px var(--shadow)}.btn-primary:hover:not(:disabled){background:var(--accent-hover);box-shadow:0 6px 20px var(--shadow)}.btn-secondary{background:var(--bg-secondary);color:var(--text-primary);border:2px solid var(--accent);box-shadow:0 4px 16px var(--shadow)}.btn-secondary:hover:not(:disabled){background:var(--accent);color:#fff}.btn-large{padding:16px 48px;font-size:18px}.btn:disabled{opacity:.5;cursor:not-allowed}.audio-player{display:flex;gap:12px;justify-content:center;margin-top:24px}.audio-btn{display:flex;align-items:center;gap:8px;padding:10px 20px;background:var(--bg-card);color:var(--text-primary);border:none;border-radius:50px;cursor:pointer;transition:all .3s;font-size:14px;font-weight:500}.audio-btn:hover:not(:disabled){background:var(--accent);color:#fff;transform:scale(1.05)}.audio-btn:disabled{opacity:.5;cursor:not-allowed}.main-content{max-width:1200px;margin:0 auto;padding:60px 20px}.section-title{font-family:Playfair Display,serif;font-size:clamp(1.8rem,4vw,2.5rem);text-align:center;margin-bottom:32px;color:var(--text-primary)}.countdown-section{margin:60px 0}.countdown-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:20px;max-width:600px;margin:0 auto}.countdown-item{background:var(--bg-card);padding:24px;border-radius:16px;text-align:center;box-shadow:0 4px 12px var(--shadow)}.countdown-value{font-size:3rem;font-weight:700;color:var(--accent);font-family:Playfair Display,serif}.countdown-label{font-size:.9rem;color:var(--text-secondary);margin-top:8px;text-transform:uppercase;letter-spacing:1px}.countdown-complete{text-align:center;padding:40px;background:var(--bg-card);border-radius:24px;box-shadow:0 8px 24px var(--shadow)}.celebration-text{font-family:Playfair Display,serif;font-size:clamp(2rem,4vw,3rem);color:var(--accent);margin-bottom:16px}.age-text{font-size:clamp(1.2rem,3vw,1.8rem);color:var(--text-primary);font-weight:600;margin-bottom:12px}.celebration-subtext{color:var(--text-secondary);font-size:1.1rem}.flip-card-section{margin:80px 0}.flip-card{width:100%;max-width:500px;height:400px;margin:0 auto;perspective:1000px;cursor:pointer}.flip-card-inner{position:relative;width:100%;height:100%;transition:transform .6s;transform-style:preserve-3d}.flip-card.flipped .flip-card-inner{transform:rotateY(180deg)}.flip-card-front,.flip-card-back{position:absolute;width:100%;height:100%;backface-visibility:hidden;border-radius:24px;box-shadow:0 8px 24px var(--shadow);display:flex;align-items:center;justify-content:center}.flip-card-front{background:var(--bg-card)}.flip-card-back{background:linear-gradient(135deg,var(--accent) 0%,var(--gold) 100%);transform:rotateY(180deg);color:#fff}.card-content{padding:40px;text-align:center}.letter{text-align:left}.letter-title{font-family:Playfair Display,serif;font-size:1.8rem;margin-bottom:20px}.letter p{margin-bottom:16px;line-height:1.8;font-size:1rem}.letter-signature{margin-top:24px;font-family:Playfair Display,serif;font-style:italic;font-size:1.2rem}.memory-carousel-section{margin:80px 0}.carousel-container{position:relative;max-width:700px;margin:0 auto;display:flex;align-items:center;gap:20px}.carousel-content{flex:1;text-align:center}.carousel-image-wrapper{width:100%;height:400px;border-radius:24px;overflow:hidden;background:var(--bg-card);margin-bottom:20px;box-shadow:0 8px 24px var(--shadow)}.carousel-image{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.carousel-caption{font-size:1.2rem;color:var(--text-secondary);margin-bottom:20px}.carousel-btn{background:var(--bg-card);border:none;width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--text-primary);transition:all .3s;box-shadow:0 4px 12px var(--shadow);flex-shrink:0}.carousel-btn:hover{background:var(--accent);color:#fff;transform:scale(1.1)}.carousel-indicators{display:flex;gap:8px;justify-content:center}.indicator{width:12px;height:12px;border-radius:50%;background:var(--bg-card);border:2px solid var(--accent);cursor:pointer;transition:all .3s;padding:0}.indicator.active{background:var(--accent);transform:scale(1.2)}.wish-generator-section{margin:80px 0;text-align:center}.wish-container{max-width:600px;margin:0 auto}.wish-btn{margin-bottom:32px}.wish-display{background:var(--bg-card);padding:32px;border-radius:24px;box-shadow:0 8px 24px var(--shadow);min-height:120px;display:flex;align-items:center;justify-content:center}.wish-display p{font-size:1.3rem;line-height:1.8;color:var(--text-primary);font-weight:500}.fade-in{animation:fadeIn .5s ease-in}.fade-out{animation:fadeOut .3s ease-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}.quiz-section{margin:80px 0}.quiz-container{max-width:600px;margin:0 auto;background:var(--bg-card);padding:40px;border-radius:24px;box-shadow:0 8px 24px var(--shadow)}.quiz-progress{text-align:center;color:var(--text-secondary);margin-bottom:24px;font-size:.9rem;text-transform:uppercase;letter-spacing:1px}.quiz-question{font-family:Playfair Display,serif;font-size:1.8rem;text-align:center;margin-bottom:32px;color:var(--text-primary)}.quiz-options{display:flex;flex-direction:column;gap:16px}.quiz-option{padding:20px;background:var(--bg-secondary);border:2px solid transparent;border-radius:16px;cursor:pointer;font-size:1.1rem;transition:all .3s;color:var(--text-primary);font-weight:500}.quiz-option:hover{background:var(--accent);color:#fff;transform:translate(8px)}.quiz-result{max-width:600px;margin:0 auto;background:var(--bg-card);padding:48px;border-radius:24px;text-align:center;box-shadow:0 8px 24px var(--shadow)}.result-title{font-family:Playfair Display,serif;font-size:2.2rem;color:var(--accent);margin-bottom:20px}.result-description{font-size:1.2rem;line-height:1.8;color:var(--text-secondary)}.cta-section{margin:100px 0;text-align:center;padding:60px 20px;background:var(--bg-card);border-radius:32px;box-shadow:0 8px 32px var(--shadow)}.cta-description{font-size:1.2rem;color:var(--text-secondary);margin-bottom:32px}.share-section{text-align:center;margin:60px 0}.footer{text-align:center;padding:40px 20px;color:var(--text-secondary);font-size:.9rem}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:2000;padding:20px;animation:fadeIn .3s ease-in;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal-content{background:var(--bg-secondary);border-radius:24px;max-width:700px;width:100%;max-height:90vh;overflow-y:auto;position:relative;box-shadow:0 16px 48px var(--shadow);animation:slideUp .4s ease-out}@keyframes slideUp{0%{transform:translateY(50px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-close{position:absolute;top:20px;right:20px;background:var(--bg-card);border:none;width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--text-primary);transition:all .3s;z-index:10}.modal-close:hover{background:var(--accent);color:#fff;transform:rotate(90deg)}.modal-body{padding:60px 40px 40px}.modal-title{font-family:Playfair Display,serif;font-size:2.5rem;margin-bottom:32px;text-align:center;color:var(--accent)}.letter-content{font-size:1.1rem;line-height:1.9;color:var(--text-primary)}.letter-content p{margin-bottom:20px}.letter-greeting{font-family:Playfair Display,serif;font-size:1.5rem;font-style:italic;margin-bottom:24px}.letter-closing{margin-top:32px;font-style:italic}.letter-content .letter-signature{margin-top:32px;font-family:Playfair Display,serif;font-size:1.3rem;text-align:right}.confetti{position:fixed;width:10px;height:10px;top:-10px;z-index:9999;animation:confettiFall linear forwards;pointer-events:none}@keyframes confettiFall{to{transform:translateY(100vh) rotate(360deg);opacity:0}}.fireworks-container{position:fixed;top:0;left:0;right:0;bottom:0;pointer-events:none;z-index:9998}.firework{position:absolute;width:4px;height:4px;border-radius:50%;box-shadow:0 0 10px 5px var(--accent),0 0 20px 10px var(--gold),0 0 30px 15px var(--accent);animation:fireworkExplode 1s ease-out forwards}@keyframes fireworkExplode{0%{transform:scale(0);opacity:1}to{transform:scale(50);opacity:0}}body.data-saver *{animation:none!important;transition:none!important}body.data-saver .hero-decoration{display:none}@media (max-width: 768px){.controls{top:10px;right:10px;gap:8px}.theme-switcher,.data-saver-toggle{padding:6px}.toggle-text{display:none}.hero{padding:60px 20px 40px}.hero-actions{flex-direction:column}.btn{padding:12px 24px;font-size:14px}.carousel-container{flex-direction:column}.carousel-btn-left,.carousel-btn-right{order:2}.carousel-content{order:1}.carousel-image-wrapper{height:300px}.modal-body{padding:60px 24px 24px}.modal-title{font-size:2rem}.letter-content{font-size:1rem}.quiz-container{padding:24px}.quiz-result{padding:32px 24px}.cta-section{padding:40px 20px}.countdown-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 480px){.hero-title{font-size:2rem}.typewriter-text{font-size:1rem}.section-title{font-size:1.5rem}.countdown-value{font-size:2rem}.flip-card{height:350px}.card-content{padding:24px}.easter-egg{padding:16px 32px;font-size:18px}}
