:root{--text:#6b6375;--text-h:#08060d;--bg:#fff;--border:#e5e4e7;--code-bg:#f4f3ec;--accent:#aa3bff;--accent-bg:#aa3bff1a;--accent-border:#aa3bff80;--social-bg:#f4f3ec80;--shadow:#0000001a 0 10px 15px -3px, #0000000d 0 4px 6px -2px;--sans:system-ui, "Segoe UI", Roboto, sans-serif;--heading:system-ui, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, Consolas, monospace;font:18px/145% var(--sans);letter-spacing:.18px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}@media (width<=1024px){:root{font-size:16px}}@media (prefers-color-scheme:dark){:root{--text:#9ca3af;--text-h:#f3f4f6;--bg:#16171d;--border:#2e303a;--code-bg:#1f2028;--accent:#c084fc;--accent-bg:#c084fc26;--accent-border:#c084fc80;--social-bg:#2f303a80;--shadow:#0006 0 10px 15px -3px, #00000040 0 4px 6px -2px}#social .button-icon{filter:invert()brightness(2)}}body{margin:0}#root{text-align:center;border-inline:1px solid var(--border);box-sizing:border-box;flex-direction:column;width:1126px;max-width:100%;min-height:100svh;margin:0 auto;display:flex}h1,h2{font-family:var(--heading);color:var(--text-h);font-weight:500}h1{letter-spacing:-1.68px;margin:32px 0;font-size:56px}@media (width<=1024px){h1{margin:20px 0;font-size:36px}}h2{letter-spacing:-.24px;margin:0 0 8px;font-size:24px;line-height:118%}@media (width<=1024px){h2{font-size:20px}}p{margin:0}code,.counter{font-family:var(--mono);color:var(--text-h);border-radius:4px;display:inline-flex}code{background:var(--code-bg);padding:4px 8px;font-size:15px;line-height:135%}:root{--primary:#ff5c8a;--primary-light:#fff0f5;--secondary:#8e6bbf;--background:#fff8fb;--card:#fff;--text:#30252b;--text-light:#756b71;--border:#f1dfe7;--shadow:0 15px 40px #50283c14}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--background);color:var(--text);scroll-behavior:smooth;margin:0;font-family:Poppins,sans-serif;overflow-x:hidden}h1,h2,h3{color:var(--text);font-family:DM Serif Display,serif;font-weight:400}body{position:relative}body:before{content:"";filter:blur(60px);pointer-events:none;z-index:-1;background:#ff5c8a14;border-radius:50%;width:350px;height:350px;position:fixed;top:10%;left:-150px}body:after{content:"";filter:blur(60px);pointer-events:none;z-index:-1;background:#8e6bbf14;border-radius:50%;width:350px;height:350px;position:fixed;bottom:5%;right:-150px}.quiz-card,.locked-box,.secret-message{background:var(--card);border:1px solid var(--border);box-shadow:var(--shadow)}button{font-family:inherit}.wish-btn,.unlock-btn{background:var(--primary);transition:transform .3s,box-shadow .3s;box-shadow:0 8px 20px #ff5c8a40}.wish-btn:hover,.unlock-btn:hover{transform:translateY(-3px);box-shadow:0 12px 25px #ff5c8a59}.wish-btn:active,.unlock-btn:active{transform:scale(.96)}section{scroll-margin-top:30px;position:relative}.reveal{opacity:0;transition:opacity .8s,transform .8s;transform:translateY(40px)}.reveal.show{opacity:1;transform:translateY(0)}.memory-card{background:var(--card);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:20px;transition:transform .4s,box-shadow .4s;overflow:hidden}.memory-card:hover{transform:translateY(-8px)rotate(-1deg);box-shadow:0 20px 45px #50283c26}.memory-card img{width:100%;transition:transform .5s;display:block}.journey-nav{z-index:1000;flex-direction:column;align-items:center;gap:18px;display:flex;position:fixed;top:50%;right:25px;transform:translateY(-50%)}.journey-title{white-space:nowrap;color:var(--text-light);opacity:0;font-size:12px;font-weight:600;transition:all .3s;position:absolute;top:-45px;right:35px}.journey-nav:hover .journey-title{opacity:1}.journey-dots{flex-direction:column;gap:14px;display:flex;position:relative}.journey-dots:before{content:"";background:var(--border);z-index:-1;width:1px;height:100%;position:absolute;left:50%;transform:translate(-50%)}.journey-dot{border:2px solid var(--primary);background:var(--background);cursor:pointer;border-radius:50%;width:10px;height:10px;padding:0;transition:all .3s;position:relative}.journey-dot.active{background:var(--primary);width:15px;height:15px;transform:scale(1.15)}.dot-tooltip{white-space:nowrap;background:var(--text);color:#fff;opacity:0;pointer-events:none;border-radius:8px;padding:6px 10px;font-size:11px;transition:all .2s;position:absolute;top:50%;right:25px;transform:translateY(-50%)}.journey-dot:hover .dot-tooltip{opacity:1}@media (width<=768px){.journey-nav{right:10px}.journey-title{display:none}.journey-dot{width:8px;height:8px}.journey-dot.active{width:12px;height:12px}}.music-btn{border:1px solid var(--border);color:var(--text);cursor:pointer;background:#fff;border-radius:30px;margin-top:20px;padding:13px 25px;font-family:inherit;font-size:15px;transition:all .3s}.music-btn:hover{border-color:var(--primary);color:var(--primary);transform:translateY(-3px);box-shadow:0 8px 20px #ff5c8a26}.music-btn:active{transform:scale(.96)}.birthday-container{text-align:center;background:linear-gradient(135deg,#ffe0ec,#f8d7ff,#dff3ff);justify-content:center;align-items:center;min-height:100vh;padding:20px;display:flex;overflow:hidden}.welcome-section{max-width:650px;padding:50px 30px}.sparkle{margin-bottom:25px;font-size:18px}.welcome-section h1{margin-bottom:20px;font-size:55px}.welcome-section p{margin-bottom:15px;font-size:22px}.ready-text{margin-top:25px;font-size:18px!important}.surprise-btn{color:#fff;cursor:pointer;background:#ff5c8a;border:none;border-radius:30px;margin-top:25px;padding:15px 30px;font-size:17px;transition:all .3s}.birthday-reveal{width:100%;max-width:900px;padding:50px 20px;animation:1.5s fadeIn;position:relative}.birthday-reveal h1{margin:15px 0;font-size:60px}.birthday-reveal h2{margin-bottom:20px;font-size:40px}.small-title{font-size:18px}.birthday-message{max-width:600px;margin:0 auto;font-size:20px;line-height:1.6}.cake{margin:30px 0;font-size:100px;animation:2s infinite cakeBounce}.balloons{pointer-events:none;justify-content:space-between;width:100%;padding:0 40px;font-size:55px;display:flex;position:absolute;top:10px;left:0}.balloons span{animation:3s ease-in-out infinite balloonFloat}.balloons span:nth-child(2){animation-delay:.5s}.balloons span:nth-child(3){animation-delay:1s}.sparkles{margin-bottom:10px;font-size:30px;animation:1.5s infinite sparkleAnimation}.music-btn{color:#fff;cursor:pointer;background:#ff5c8a;border:none;border-radius:25px;padding:14px 25px;font-size:16px;transition:all .3s}.music-btn:hover{transform:scale(1.08)}@keyframes fadeIn{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@keyframes cakeBounce{0%,to{transform:translateY(0)}50%{transform:translateY(-15px)}}@keyframes balloonFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-20px)}}@keyframes sparkleAnimation{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.2)}}@media (width<=600px){.welcome-section h1{font-size:38px}.welcome-section p{font-size:18px}.birthday-reveal h1{font-size:38px}.birthday-reveal h2{font-size:30px}.birthday-message{font-size:17px}.cake{font-size:80px}.balloons{padding:0 10px;font-size:35px}}.memories-section{background:#ffffffe6;border:1px solid #ff5c8a26;border-radius:32px;width:100%;max-width:1000px;margin:100px auto 0;padding:60px 20px;box-shadow:0 25px 70px #50283c14}.memories-heading span{letter-spacing:3px;font-size:14px;font-weight:700}.memories-heading p{font-size:18px;line-height:1.6}.memory-grid{grid-template-columns:repeat(2,1fr);gap:30px;margin-top:45px;display:grid}.memory-card{cursor:pointer;background:#fff;border-radius:20px;transition:all .4s;overflow:hidden;box-shadow:0 10px 30px #00000014}.memory-card:hover{transform:translateY(-10px)rotate(1deg)}.memory-image{width:100%;height:300px;overflow:hidden}.memory-image img{object-fit:contain;width:100%;height:100%;transition:all .5s}.memory-card:hover img{transform:scale(1.08)}.memory-content h3{margin-bottom:8px;font-size:22px}.memory-content p{font-size:15px;line-height:1.5}.memory-modal{z-index:1000;background:#000000bf;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal-content{text-align:center;background:#fff;border-radius:20px;width:100%;max-width:600px;padding:20px;animation:.3s modalOpen;position:relative}.modal-content h2{margin-top:20px;font-size:25px}.modal-content p{margin-top:10px;font-size:16px}.close-btn{cursor:pointer;z-index:2;background:#fff;border:none;border-radius:50%;width:40px;height:40px;font-size:30px;position:absolute;top:10px;right:15px}@keyframes modalOpen{0%{opacity:0;transform:scale(.9)translateY(20px)}to{opacity:1;transform:scale(1)translateY(0)}}@media (width<=700px){.memory-grid{grid-template-columns:1fr}.memories-heading h2{font-size:30px}.memories-heading p{font-size:16px}.memory-image{height:250px}}.about-her-section{width:100%;max-width:1000px;margin:80px auto 0;padding:60px 20px}.about-heading span{letter-spacing:3px;font-size:14px;font-weight:700}.about-heading h2{margin:15px 0;font-size:42px}.about-heading p{font-size:18px;line-height:1.6}.qualities-grid{grid-template-columns:repeat(2,1fr);gap:25px;margin-top:45px;display:grid}.quality-card{text-align:center;cursor:pointer;background:#fff;border-radius:25px;flex-direction:column;justify-content:center;align-items:center;min-height:260px;padding:35px 25px;transition:all .4s;display:flex;box-shadow:0 10px 30px #00000014}.quality-card:hover{transform:translateY(-8px)}.quality-icon{margin-bottom:20px;font-size:55px;transition:all .4s}.quality-card:hover .quality-icon{transform:scale(1.2)rotate(5deg)}.quality-card h3{margin-bottom:15px;font-size:24px}.read-btn{color:#ff5c8a;cursor:pointer;background:0 0;border:none;font-size:15px;font-weight:700}.quality-message{max-width:350px;font-size:17px;line-height:1.7;animation:.5s messageReveal}.quality-card.active{transform:scale(1.02)}@keyframes messageReveal{0%{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}@media (width<=700px){.qualities-grid{grid-template-columns:1fr}.about-heading h2{font-size:30px}.about-heading p{font-size:16px}}.quiz-section{width:100%;max-width:900px;margin:80px auto 0;padding:60px 20px}.quiz-heading span{letter-spacing:3px;font-size:14px;font-weight:700}.quiz-heading h2{margin:15px 0;font-size:42px}.quiz-heading p{font-size:18px;line-height:1.6}.quiz-card{background:#fff;border-radius:25px;max-width:650px;margin:45px auto 0;padding:40px 30px;box-shadow:0 10px 30px #00000014}.question-number{color:#ff5c8a;margin-bottom:20px;font-size:14px;font-weight:700}.quiz-card h3{margin-bottom:30px;font-size:25px}.options{grid-template-columns:repeat(2,1fr);gap:15px;display:grid}.option-btn{cursor:pointer;background:#fff;border:2px solid #eee;border-radius:15px;padding:15px;font-size:16px;transition:all .3s}.option-btn:hover{border-color:#ff5c8a;transform:translateY(-3px)}.option-btn.selected{color:#fff;background:#ff5c8a;border-color:#ff5c8a}.answer-message{background:#fff0f5;border-radius:15px;margin-top:25px;padding:15px}.answer-message p{font-size:16px}.quiz-result{background:#fff;border-radius:25px;max-width:650px;margin:auto;padding:50px 30px;box-shadow:0 10px 30px #00000014}.result-icon{margin-bottom:20px;font-size:70px}.quiz-result h2{margin-bottom:15px;font-size:40px}.quiz-result p{margin-bottom:20px;font-size:20px}.quiz-result h3{font-size:20px}@media (width<=600px){.quiz-heading h2{font-size:30px}.quiz-heading p{font-size:16px}.quiz-card{padding:30px 20px}.options{grid-template-columns:1fr}.quiz-result h2{font-size:30px}}.secret-section{width:100%;max-width:900px;margin:80px auto 0;padding:70px 20px}.secret-heading span{letter-spacing:3px;font-size:14px;font-weight:700}.secret-heading p{font-size:18px;line-height:1.6}.locked-box{background:#fff;border-radius:25px;max-width:600px;margin:45px auto 0;padding:50px 30px;transition:all .4s;box-shadow:0 10px 30px #00000014}.locked-box:hover{transform:translateY(-5px)}.locked-box p{margin-bottom:25px;font-size:17px}.unlock-btn{color:#fff;cursor:pointer;background:#ff5c8a;border:none;border-radius:30px;padding:15px 28px;font-size:16px;transition:all .3s}.unlock-btn:hover{transform:scale(1.08)}.secret-message{background:#fff;border-radius:25px;max-width:650px;margin:45px auto 0;padding:50px 35px;animation:.8s messageOpen;box-shadow:0 10px 30px #00000014}.open-heart{margin-bottom:20px;font-size:70px;animation:1.5s infinite heartBeat}.secret-message h3{margin-bottom:25px;font-size:30px}.secret-message p{margin-bottom:18px;font-size:18px;line-height:1.8}.final-line{margin-top:25px;font-weight:700}.hearts{letter-spacing:8px;margin-top:30px;font-size:25px}@keyframes lockShake{0%,to{transform:rotate(0)}25%{transform:rotate(-5deg)}75%{transform:rotate(5deg)}}@keyframes messageOpen{0%{opacity:0;transform:translateY(30px)scale(.9)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes heartBeat{0%,to{transform:scale(1)}50%{transform:scale(1.15)}}@media (width<=600px){.secret-heading h2{font-size:30px}.secret-heading p{font-size:16px}.locked-box,.secret-message{padding:40px 20px}.secret-message h3{font-size:25px}.secret-message p{font-size:16px}}.final-section{justify-content:center;align-items:center;width:100%;min-height:80vh;margin-top:80px;padding:100px 20px;display:flex}.wish-container{text-align:center;max-width:700px}.final-label{letter-spacing:3px;font-size:14px;font-weight:700}.wish-container p{font-size:20px;line-height:1.6}.birthday-cake{margin:40px 0}.candles{margin-bottom:-10px;font-size:40px;animation:1.5s infinite candleGlow}.cake-top{font-size:120px;animation:2s ease-in-out infinite cakeFloat}.wish-btn{color:#fff;cursor:pointer;background:#ff5c8a;border:none;border-radius:30px;padding:16px 35px;font-size:17px;transition:all .3s}.wish-btn:hover{transform:scale(1.1)}.final-message{text-align:center;width:100%;max-width:850px;animation:1.2s finalReveal}.confetti{margin-bottom:20px;font-size:30px;animation:2s infinite confettiMove}.final-cake{margin-bottom:20px;font-size:100px;animation:1.5s infinite cakeBounce}.final-message h1{margin-bottom:50px;font-size:60px}.story-message p{margin-bottom:28px;font-size:19px;line-height:1.9}.story-intro{font-weight:700;font-size:30px!important}.highlight-text{font-weight:500;font-size:21px!important}.big-line{text-align:center;font-weight:700;margin:45px 0!important;font-size:25px!important}.special-line{text-align:center;border-top:1px solid #00000014;border-bottom:1px solid #00000014;padding:30px 20px;font-weight:700;font-size:24px!important}.forever-reveal{text-align:center;margin-top:70px;padding:50px 20px;animation:2s foreverAppear}.journey{letter-spacing:2px;font-size:45px;font-weight:700}.journey span{margin:0 15px}.infinity{margin:20px 0;font-size:65px;animation:2s infinite infinityPulse}.forever-reveal p{font-size:20px;font-weight:500}.final-hearts{letter-spacing:8px;margin-top:40px;font-size:25px}@keyframes candleGlow{0%,to{transform:scale(1)}50%{transform:scale(1.15)}}@keyframes cakeFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes finalReveal{0%{opacity:0;transform:scale(.85)}to{opacity:1;transform:scale(1)}}@keyframes confettiMove{0%,to{transform:translateY(0)}50%{transform:translateY(-12px)}}@keyframes foreverAppear{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}@keyframes infinityPulse{0%,to{transform:scale(1)}50%{transform:scale(1.12)}}@media (width<=600px){.wish-container h2{font-size:40px}.wish-container p{font-size:17px}.cake-top{font-size:90px}.final-message h1{margin-bottom:35px;font-size:40px}.final-cake{font-size:80px}.story-message p{font-size:17px;line-height:1.8}.highlight-text{font-size:19px!important}.big-line{font-size:21px!important}.special-line{font-size:20px!important}.journey{font-size:30px}.journey span{margin:0}.infinity{font-size:50px}}.final-message{position:relative;overflow:hidden}.floating-hearts{pointer-events:none;width:100%;height:100%;position:absolute;top:0;left:0;right:0;overflow:hidden}@keyframes heartFloat{0%{opacity:0;transform:translateY(0)rotate(0)}15%{opacity:1}to{opacity:0;transform:translateY(-110vh)rotate(30deg)}}.confetti-container{pointer-events:none;z-index:9999;width:100%;height:100%;position:fixed;inset:0;overflow:hidden}.confetti-piece{background:#ff5c8a;width:8px;height:14px;animation:linear infinite confettiFall;position:absolute;top:-20px}.confetti-piece:nth-child(3n){background:#ffd166}.confetti-piece:nth-child(4n){background:#06d6a0}.confetti-piece:nth-child(5n){background:#118ab2}@keyframes confettiFall{0%{opacity:1;transform:translateY(-20px)rotate(0)}to{opacity:0;transform:translateY(110vh)rotate(720deg)}}.welcome-section{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:7vh;padding:30px;animation:1.5s introAppear;display:flex}.year-text{color:var(--primary);opacity:.15;font-family:DM Serif Display,serif;font-size:clamp(90px,18vw,180px);line-height:1;animation:2s yearAppear}.year-line{color:var(--text);margin-top:-30px;font-family:DM Serif Display,serif;font-size:clamp(25px,5vw,45px);animation:1s .5s both slideUp}.welcome-sparkle{color:var(--primary);letter-spacing:2px;margin-top:25px;font-size:14px;animation:1s .8s both slideUp}.welcome-section h1{margin:25px 0 15px;font-size:clamp(45px,8vw,80px);animation:1s 1s both slideUp}.welcome-story{max-width:550px;color:var(--text-light);font-size:18px;line-height:1.8;animation:1s 1.2s both slideUp}.forever-text{color:var(--primary);letter-spacing:2px;margin-top:10px;font-weight:600;animation:1s 1.4s both slideUp}.surprise-btn{background:var(--primary);color:#fff;cursor:pointer;border:none;border-radius:30px;margin-top:30px;padding:15px 30px;font-family:inherit;font-size:16px;transition:all .3s;animation:1s 1.6s both slideUp,2s ease-in-out 3s infinite buttonPulse;box-shadow:0 10px 25px #ff5c8a40}.surprise-btn:hover{transform:translateY(-4px)scale(1.03)}@keyframes introAppear{0%{opacity:0}to{opacity:1}}@keyframes yearAppear{0%{opacity:0;transform:scale(1.2)}to{opacity:.15;transform:scale(1)}}@keyframes slideUp{0%{opacity:0;transform:translateY(25px)}to{opacity:1;transform:translateY(0)}}@keyframes buttonPulse{0%,to{box-shadow:0 10px 25px #ff5c8a40}50%{box-shadow:0 10px 35px #ff5c8a73}}.memories-section{max-width:1200px;margin:0 auto;padding:40px 25px}.memories-heading{text-align:center;max-width:700px;margin:0 auto 60px}.memories-heading span{letter-spacing:3px;color:var(--primary);font-size:13px;font-weight:600}.memories-heading h2{margin:15px 0;font-size:clamp(35px,5vw,55px)}.memories-heading p{color:var(--text-light);font-size:17px;line-height:1.7}.memory-grid{grid-template-columns:repeat(4,1fr);gap:25px;display:grid}.memory-card{cursor:pointer;background:#fff;border-radius:5px;padding:10px;transition:transform .4s,box-shadow .4s;position:relative;box-shadow:0 10px 30px #50283c1a}.memory-card:first-child{transform:rotate(-2deg)}.memory-card:nth-child(2){transform:rotate(2deg)}.memory-card:nth-child(3){transform:rotate(-1deg)}.memory-card:nth-child(4){transform:rotate(2deg)}.memory-card:nth-child(5){transform:rotate(1deg)}.memory-card:nth-child(6){transform:rotate(-2deg)}.memory-card:nth-child(7){transform:rotate(2deg)}.memory-card:nth-child(8){transform:rotate(-1deg)}.memory-card:hover{z-index:5;transform:translateY(-12px)rotate(0)scale(1.02);box-shadow:0 20px 45px #50283c2e}.memory-number{z-index:2;width:32px;height:32px;color:var(--primary);background:#ffffffe6;border-radius:50%;justify-content:center;align-items:center;font-size:11px;font-weight:600;display:flex;position:absolute;top:15px;right:15px}.memory-image{aspect-ratio:4/5;border-radius:3px;width:100%;overflow:hidden}.memory-image img{object-fit:cover;width:100%;height:100%;transition:transform .6s;display:block}.memory-card:hover .memory-image img{transform:scale(1.08)}.memory-content{text-align:center;padding:15px 8px 10px}.memory-content h3{margin:0 0 7px;font-family:DM Serif Display,serif;font-size:20px}.memory-content p{color:var(--text-light);margin:0;font-size:13px;line-height:1.6}.memory-modal{z-index:9998;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#140c11e0;justify-content:center;align-items:center;padding:25px;display:flex;position:fixed;inset:0}.modal-content{text-align:center;background:#fff;border-radius:15px;width:min(700px,100%);max-height:90vh;padding:15px;animation:.35s modalOpen;position:relative;overflow-y:auto}.modal-content img{object-fit:contain;border-radius:10px;width:100%;max-height:65vh}.modal-content h2{margin:18px 0 5px;font-size:28px}.modal-content p{color:var(--text-light);margin:0;line-height:1.6}.close-btn{z-index:5;width:38px;height:38px;color:var(--text);cursor:pointer;background:#fff;border:none;border-radius:50%;font-size:25px;line-height:1;transition:all .25s;position:absolute;top:12px;right:12px;box-shadow:0 5px 15px #00000026}.close-btn:hover{color:var(--primary);transform:rotate(90deg)scale(1.1)}@media (width<=1000px){.memory-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=900px){.memory-grid{grid-template-columns:1fr;gap:24px;max-width:100%;margin:auto}.memory-image{height:280px}.memory-timeline{max-width:100%;margin:60px auto 20px;padding-left:16px;padding-right:16px}.timeline-line{left:10px}.timeline-item,.timeline-item:nth-child(odd),.timeline-item:nth-child(2n){text-align:left;width:100%;padding:20px 0;left:0}.timeline-item:after,.timeline-item:nth-child(2n):after,.timeline-item:nth-child(odd):after{left:0;right:auto}}@media (width<=600px){.memories-section{padding:70px 16px}.memories-heading{margin-bottom:28px}.memories-heading h2{font-size:32px}.memories-heading p{font-size:15px;line-height:1.7}.memory-grid{grid-template-columns:1fr;gap:22px;max-width:100%;margin:auto}.memory-card{max-width:100%;margin:0 auto;transform:none}.memory-card:hover{transform:translateY(-6px)scale(1.01)}.memory-image{aspect-ratio:4/5;height:clamp(220px,70vw,320px)}.memory-image img{object-fit:contain}.memory-content{padding:18px 12px 15px}.memory-content h3{font-size:20px}.memory-content p{font-size:14px}}.memory-timeline{max-width:750px;margin:100px auto 20px;padding:20px 0;position:relative}.timeline-line{background:var(--border);width:2px;position:absolute;top:0;bottom:0;left:50%;transform:translate(-50%)}.timeline-item{box-sizing:border-box;width:50%;padding:25px 45px;position:relative}.timeline-item:nth-child(2n){text-align:right;left:0}.timeline-item:nth-child(odd){left:50%}.timeline-item:after{content:"";background:var(--primary);border:4px solid var(--background);width:5px;height:5px;box-shadow:0 0 0 1px var(--primary);border-radius:50%;position:absolute;top:32px}.timeline-item:nth-child(2n):after{right:-9px}.timeline-item:nth-child(odd):after{left:-9px}.timeline-year{color:var(--primary);letter-spacing:2px;text-transform:uppercase;margin-bottom:8px;font-size:13px;font-weight:700;display:inline-block}.timeline-content{border:1px solid var(--border);background:#fff;border-radius:15px;padding:20px;box-shadow:0 10px 25px #50283c0f}.timeline-content h3{margin:0 0 8px;font-size:22px}.timeline-content p{color:var(--text-light);margin:0;font-size:14px;line-height:1.7}@media (width<=600px){.memory-timeline{margin-top:70px;padding-left:16px;padding-right:16px}.timeline-line{left:14px}.timeline-item,.timeline-item:nth-child(odd),.timeline-item:nth-child(2n){text-align:left;width:100%;padding:20px 0;left:0}.timeline-item:after,.timeline-item:nth-child(2n):after,.timeline-item:nth-child(odd):after{top:10px;left:0;right:auto}.timeline-content{padding:18px 16px}.timeline-content h3{font-size:20px}.timeline-content p{font-size:15px;line-height:1.75}.timeline-year{font-size:12px}}.secret-section{text-align:center;max-width:900px;margin:0 auto;padding:40px 25px}.secret-heading span{letter-spacing:3px;color:var(--primary);font-size:13px;font-weight:600}.secret-heading h2{margin:15px 0;font-size:clamp(35px,5vw,55px)}.secret-heading p{color:var(--text-light);font-size:16px}.locked-box{border:1px solid var(--border);max-width:600px;box-shadow:var(--shadow);background:#fff;border-radius:25px;margin:50px auto 0;padding:55px 30px}.lock-icon{margin-bottom:20px;font-size:60px;animation:2s ease-in-out infinite lockFloat}.locked-box h3{margin-bottom:10px;font-size:25px}.locked-box p{color:var(--text-light);margin-bottom:25px}.unlock-btn{background:var(--primary);color:#fff;cursor:pointer;border:none;border-radius:30px;padding:14px 25px;font-family:inherit;font-size:15px;transition:all .3s}.unlock-btn:hover{transform:translateY(-3px);box-shadow:0 10px 25px #ff5c8a4d}.secret-message{border:1px solid var(--border);text-align:left;background-image:linear-gradient(#0006,#0006),url(/images/bg.jpeg);background-position:50%;background-repeat:no-repeat;background-size:cover;border-radius:5px;max-width:700px;margin:50px auto 0;padding:60px 55px;animation:.8s letterOpen;position:relative;box-shadow:0 20px 50px #50283c1f}.secret-message:before{content:"";border:1px solid var(--border);pointer-events:none;position:absolute;inset:10px}.open-heart{text-align:center;margin-bottom:15px;font-size:50px}.letter-top{color:var(--primary);letter-spacing:3px;justify-content:center;align-items:center;gap:12px;margin-bottom:30px;font-size:12px;font-weight:600;display:flex}.secret-message h3{text-align:center;color:#ffe0ec;margin-bottom:35px;font-family:DM Serif Display,serif;font-size:35px;font-weight:400}.secret-message p{color:#fff;margin-bottom:20px;font-size:16px;line-height:1.9;position:relative}.secret-message .final-line{color:#fff;margin-top:30px;font-weight:900}.forever-message{text-align:center;margin-top:30px;font-family:DM Serif Display,serif;color:var(--primary)!important;font-size:24px!important}.hearts{text-align:center;letter-spacing:8px;margin-top:35px;font-size:22px}@keyframes lockFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes letterOpen{0%{opacity:0;transform:translateY(30px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}@media (width<=600px){.secret-section{padding:80px 18px}.secret-message{background-size:100% 100%;padding:45px 25px}.secret-message h3{font-size:30px}.secret-message p{font-size:15px;line-height:1.8}.letter-top{letter-spacing:2px;gap:7px}}.final-section{text-align:center;justify-content:center;align-items:center;min-height:100vh;padding:15px 20px;display:flex}.wish-container{max-width:650px;margin:auto}.final-label{color:var(--primary);letter-spacing:3px;font-size:13px;font-weight:600}.wish-container h2{margin:20px 0 15px;font-size:clamp(40px,7vw,65px)}.wish-container p{color:var(--text-light);font-size:17px;line-height:1.7}.birthday-cake{margin:40px auto;animation:3s ease-in-out infinite cakeFloat}.candles{margin-bottom:-5px;font-size:35px}.cake-top{font-size:100px}.wish-btn{background:var(--primary);color:#fff;cursor:pointer;border:none;border-radius:40px;padding:16px 32px;font-family:inherit;font-size:16px;transition:all .3s;box-shadow:0 10px 30px #ff5c8a4d}.wish-btn:hover{transform:translateY(-5px)scale(1.03);box-shadow:0 15px 35px #ff5c8a66}.wish-btn:active{transform:scale(.96)}.final-message{width:min(850px,100%);margin:auto;padding:40px 25px;animation:1s finalAppear}.final-cake{font-size:90px;animation:3s ease-in-out infinite cakeFloat}.final-message h1{color:var(--primary);margin:20px 0 50px;font-size:clamp(40px,7vw,70px)}.story-message{text-align:left;max-width:700px;margin:auto}.story-message p{color:var(--text-light);margin-bottom:25px;font-size:17px;line-height:1.9}.story-intro{font-family:DM Serif Display,serif;color:var(--text)!important;font-size:30px!important}.highlight-text{font-weight:500;color:var(--text)!important}.big-line{text-align:center;font-family:DM Serif Display,serif;color:var(--primary)!important;margin:45px 0!important;font-size:28px!important}.special-line{text-align:center;background:var(--primary-light);border-radius:15px;padding:25px;font-family:DM Serif Display,serif;color:var(--text)!important;font-size:21px!important}.forever-reveal{text-align:center;border-top:1px solid var(--border);border-bottom:1px solid var(--border);max-width:700px;margin:80px auto 0;padding:60px 25px}.journey-label{letter-spacing:4px;color:var(--primary);margin-bottom:20px;font-size:12px;font-weight:600}.journey{justify-content:center;align-items:center;gap:20px;font-family:DM Serif Display,serif;font-size:clamp(35px,7vw,60px);display:flex}.journey-arrow{color:var(--primary)}.infinity{color:var(--primary);margin:25px 0 10px;font-size:70px;animation:2s ease-in-out infinite infinityPulse}.forever-reveal h2{margin:15px 0;font-size:35px}.forever-reveal p{color:var(--text-light);font-size:17px;line-height:1.7}.forever-text-final{color:var(--primary);letter-spacing:3px;margin-top:25px;font-weight:600}.floating-hearts{pointer-events:none;z-index:10;position:fixed;inset:0;overflow:hidden}.floating-hearts span{font-size:20px;animation:5s linear infinite heartFloat;position:absolute;bottom:-50px}.floating-hearts span:first-child{animation-delay:0s;left:10%}.floating-hearts span:nth-child(2){animation-delay:1s;left:30%}.floating-hearts span:nth-child(3){animation-delay:2s;left:50%}.floating-hearts span:nth-child(4){animation-delay:.5s;left:70%}.floating-hearts span:nth-child(5){animation-delay:1.5s;left:85%}.floating-hearts span:nth-child(6){animation-delay:2.5s;left:95%}@keyframes finalAppear{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@media (width<=600px){.final-section{padding:80px 18px}.cake-top{font-size:80px}.story-message p{font-size:15px;line-height:1.8}.big-line{font-size:24px!important}.special-line{font-size:18px!important}.forever-reveal{padding:45px 15px}}html{scroll-behavior:smooth}body{overflow-x:hidden}img,button{max-width:100%}@media (width<=768px){.birthday-container,.birthday-reveal,.memories-section,.about-her-section,.quiz-section,.secret-section,.final-section{padding-left:16px;padding-right:16px}.birthday-container{min-height:100%;padding:20px 0}.welcome-section{max-width:100%;padding:35px 20px}.welcome-section h1{font-size:clamp(32px,7vw,48px)}.welcome-section p,.welcome-story,.forever-text,.small-title,.birthday-message,.about-heading p,.memories-heading p,.quiz-heading p,.secret-heading p,.story-message p,.forever-reveal p{font-size:16px}.year-text{margin-bottom:10px;font-size:clamp(64px,22vw,120px)}.year-line{font-size:clamp(22px,5vw,34px)}.birthday-reveal{max-width:100%;padding:35px 0}.birthday-reveal h1{font-size:clamp(36px,9vw,50px)}.birthday-reveal h2{font-size:clamp(26px,7vw,36px)}.cake{margin:24px 0;font-size:70px}.balloons{padding:0 12px;font-size:32px}.sparkles{font-size:26px}.music-btn,.surprise-btn,.unlock-btn,.wish-btn{width:min(100%,320px);max-width:100%;padding:14px 20px}.journey-nav{display:none}.memories-section,.about-her-section,.quiz-section,.secret-section,.final-section{max-width:100%;margin-top:0}.memories-heading h2,.about-heading h2,.quiz-heading h2,.secret-heading h2,.wish-container h2,.final-message h1{font-size:clamp(30px,8vw,38px)}.memories-heading,.about-heading,.quiz-heading,.secret-heading{padding:0 10px}.memory-grid{grid-template-columns:1fr;gap:20px;max-width:100%;margin:auto}.quality-card,.quiz-card,.locked-box,.secret-message,.wish-container,.final-message,.modal-content{width:100%;padding:20px}.qualities-grid,.options{grid-template-columns:1fr}.quiz-card h3,.quality-card h3,.secret-message h3,.memory-content h3,.final-message h1,.wish-container h2{font-size:clamp(24px,7vw,32px)}.memory-content{padding:15px}.memory-content p,.quiz-result p,.answer-message p,.modal-content p,.secret-message p,.story-message p,.forever-reveal p{font-size:15px}.final-section{padding:60px 0}.final-message{max-width:100%;padding:0 10px}.story-message{max-width:100%}.journey,.infinity{font-size:clamp(24px,9vw,40px)}.final-cake,.cake-top{font-size:clamp(60px,18vw,90px)}.final-hearts,.hearts{font-size:20px}.confetti,.open-heart,.lock-icon,.result-icon{font-size:clamp(40px,10vw,55px)}.welcome-sparkle,.ready-text,.small-title{font-size:14px}.birthday-container,.welcome-section,.birthday-reveal,.memories-section,.about-her-section,.quiz-section,.secret-section,.final-section{padding-left:16px;padding-right:16px}.birthday-reveal{padding-top:30px;padding-bottom:30px}.cakes,.balloons,.sparkles,.music-btn,.surprise-btn{margin-left:auto;margin-right:auto}}@media (width<=480px){.year-text{font-size:clamp(48px,24vw,80px)}.birthday-reveal h1{font-size:clamp(30px,10vw,42px)}.birthday-reveal h2{font-size:clamp(22px,8vw,28px)}.cake{font-size:60px}.balloons{font-size:28px}.music-btn,.surprise-btn,.unlock-btn,.wish-btn{width:100%;padding:14px 18px}.final-message h1,.wish-container h2,.memories-heading h2,.about-heading h2,.quiz-heading h2,.secret-heading h2{font-size:clamp(26px,10vw,32px)}.memory-grid{gap:18px}.quality-card,.memory-card,.quiz-card,.locked-box,.secret-message,.modal-content{padding:18px}.story-message p,.birthday-message,.secret-message p,.about-heading p,.memories-heading p,.quiz-heading p,.forever-reveal p{font-size:14px}.journey,.infinity,.confetti,.open-heart,.lock-icon,.result-icon{font-size:40px}}
