@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,400;0,500;0,600;1,400;1,500&family=Caveat:wght@400;500;600&display=swap";:root{color:#563344;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;--wine:#75465a;--wine-dark:#513344;--cream:#fbf7f3;--blush:#d99aa6;--pink:#c77f91;--gold:#c6a47d;--ink:#342435;background:#fbf7f3;font-family:DM Sans,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--cream);min-width:320px;margin:0}button,a{font:inherit}button{cursor:pointer}.intro-screen{min-height:100svh;color:var(--ink);background:radial-gradient(at 50% 45%,#fffdfb 0%,#f8f1ed 68%,#f1e7e2 100%);flex-direction:column;justify-content:space-between;padding:28px clamp(22px,6vw,76px) 24px;display:flex;position:relative;overflow:hidden}.intro-screen:before,.intro-screen:after{content:"";pointer-events:none;border:1px solid #a46f7e21;border-radius:50%;width:280px;height:280px;position:absolute}.intro-screen:before{top:-160px;right:-80px}.intro-screen:after{width:390px;height:390px;bottom:-190px;left:-90px}.intro-topline,.intro-footer{z-index:1;color:#a17b83;letter-spacing:.22em;justify-content:space-between;align-items:center;font-size:9px;display:flex;position:relative}.intro-topline{justify-content:center;gap:10px}.intro-topline svg{color:#c77f91}.intro-content{z-index:1;text-align:center;width:min(100%,700px);margin:28px auto;position:relative}.eyebrow{letter-spacing:.25em;color:#a77c83;font-size:9px;font-weight:600}.intro-content>.eyebrow{display:none}.intro-content h1{color:#302236;margin:20px 0 8px;font-family:Playfair Display,serif;font-size:clamp(48px,10vw,76px);font-weight:500;line-height:1.05}.title-heart{color:#c77f91;vertical-align:top;margin-left:8px;font-family:serif;font-size:.48em}.birthday-script{color:#c77f91;margin:12px 0 22px;font-family:Caveat,cursive;font-size:clamp(35px,7vw,49px)}.birthday-script span{font-family:serif;font-size:.8em}.heart-sticker{place-items:center;width:116px;height:112px;margin:18px auto 28px;animation:2.6s ease-in-out infinite heart-float;display:grid;position:relative}.heart-main{color:#d98e9e;text-shadow:0 9px 16px #9a5b6f2e;font-size:91px;line-height:1}.heart-spark{color:#bd8190;position:absolute}.heart-spark-one{font-size:22px;top:8px;right:3px}.heart-spark-two{font-size:25px;bottom:8px;left:2px}@keyframes heart-float{0%,to{transform:translateY(0)rotate(-4deg)}50%{transform:translateY(-7px)rotate(4deg)}}.flower{color:#d7a2aa;opacity:.7;font-size:42px;position:absolute}.flower-one{bottom:25%;left:12%}.flower-two{color:#d8c1a4;bottom:30%;right:13%}.envelope-button{color:#8d6670;background:0 0;border:0;flex-direction:column;align-items:center;margin:22px auto 0;padding:0;display:flex}.envelope{isolation:isolate;background:#fffaf6;border:1.8px solid #b98d91;border-radius:13px;width:min(78vw,390px);height:205px;display:block;position:relative;overflow:hidden;box-shadow:0 13px 24px #5a393c1a}.envelope-letter{z-index:1;color:#a77c83;background:#fffdfb;border:1px solid #ead6d2;border-radius:4px;justify-content:center;align-items:flex-start;width:84%;height:78%;padding-top:18px;font-family:Caveat,cursive;font-size:23px;display:flex;position:absolute;top:12px;left:8%}.envelope-left-fold,.envelope-right-fold,.envelope-bottom-fold,.envelope-flap{pointer-events:none;position:absolute;inset:0}.envelope-left-fold{z-index:3;clip-path:polygon(0 0,52% 56%,0 100%);background:#f5e7e2}.envelope-right-fold{z-index:3;clip-path:polygon(100% 0,48% 56%,100% 100%);background:#f8eee9}.envelope-bottom-fold{z-index:4;clip-path:polygon(0 100%,50% 49%,100% 100%);background:#f2e1dc}.envelope-flap{z-index:5;clip-path:polygon(0 0,100% 0,50% 57%);background:#f9eee9;border-bottom:1.5px solid #b98d91}.envelope-heart{z-index:6;color:#fffaf7;background:#cf8b9a;border-radius:50%;place-items:center;width:36px;height:36px;font-size:19px;display:grid;position:absolute;top:66%;left:50%;transform:translate(-50%,-50%);box-shadow:0 3px 9px #6e414e29}.gift-hint{color:#a17b83;letter-spacing:.14em;margin-top:14px;font-size:10px}.open-link{color:#9b6877;background:0 0;border:0;border-bottom:1px solid #d7b6ba;align-items:center;gap:9px;margin-top:12px;padding:8px 2px;font-size:11px;display:inline-flex}.intro-footer{color:#a98a8d}.site-header{background:#fbf7f3;border-bottom:1px solid #eadbd7;justify-content:space-between;align-items:center;height:62px;padding:0 clamp(18px,5vw,64px);display:flex}.brand{color:#70495a;align-items:center;gap:8px;font-family:Playfair Display,serif;font-size:17px;font-style:italic;text-decoration:none;display:inline-flex}.brand svg,.tiny-heart{color:#c77f91}.header-name{letter-spacing:.2em;color:#a17b83;font-size:8px}.tiny-heart{background:0 0;border:0;padding:8px}.welcome-section{text-align:center;background:radial-gradient(at 50% 40%,#fffaf7,#f5eae6 75%);flex-direction:column;justify-content:center;align-items:center;min-height:560px;padding:100px 22px 75px;display:flex;position:relative;overflow:hidden}.welcome-section h2,.section-heading h2,.letter-section h2{color:#493345;margin:20px 0 15px;font-family:Playfair Display,serif;font-size:clamp(38px,7vw,65px);font-weight:400;line-height:1.1}.welcome-section h2 em,.section-heading h2 em,.letter-section h2 em{color:#c77f91;font-weight:400}.welcome-copy{color:#92777d;max-width:340px;font-size:13px;line-height:1.8}.scroll-cue{color:#b47787;letter-spacing:.2em;align-items:center;gap:10px;margin-top:58px;font-size:9px;text-decoration:none;display:inline-flex}.sparkle{color:#c77f9199;font-size:34px;position:absolute}.sparkle-a{top:24%;left:15%}.sparkle-b{font-size:45px;bottom:24%;right:15%}.scrapbook-section{color:#563344;background:#f7eee9;padding:90px 22px 80px}.section-heading{text-align:center}.section-heading .eyebrow{color:#a77c83}.section-heading h2{margin:13px 0;font-size:clamp(35px,6vw,54px)}.section-heading>p{color:#92777d;font-size:12px}.memory-layout{grid-template-columns:1fr minmax(230px,340px) 1fr;align-items:center;gap:32px;width:min(100%,900px);margin:58px auto 28px;display:grid}.photo-card{background:#fffdfb;padding:13px 13px 40px;position:relative;transform:rotate(-2deg);box-shadow:0 16px 35px #5827371f}.photo-card-2{transform:rotate(2deg)}.photo-card-3{transform:rotate(-1deg)}.photo-area{aspect-ratio:4/4.5;background:#eadbd6;overflow:hidden}.photo-area img{object-fit:cover;width:100%;height:100%;display:block}.photo-placeholder{color:#a77c83;background:linear-gradient(145deg,#eee0da,#fbf4ef);flex-direction:column;justify-content:center;align-items:center;gap:12px;height:100%;display:flex}.photo-placeholder span{font-family:Caveat,cursive;font-size:20px}.photo-card>p{text-align:center;color:#815968;margin:12px 0 0;font-family:Caveat,cursive;font-size:19px}.tape{background:#dab9a9a6;width:65px;height:17px;position:absolute;top:-7px;left:18px;transform:rotate(-8deg)}.tape-two{left:auto;right:18px;transform:rotate(8deg)}.memory-note{color:#896b75;font-size:12px;line-height:1.8}.memory-note p{max-width:190px}.handwritten{color:#bd788b;font-family:Caveat,cursive;font-size:28px;line-height:1.1;display:block;transform:rotate(-5deg)}.note-number{letter-spacing:.18em;color:#ad8990;font-size:9px}.tiny-doodle{color:#c77f91;font-size:35px}.page-controls{justify-content:center;align-items:center;gap:28px;display:flex}.page-controls>button{color:#9d6575;background:0 0;border:1px solid #d7b9bd;border-radius:50%;place-items:center;width:35px;height:35px;display:grid}.page-controls>button:disabled{opacity:.3;cursor:default}.page-dots{gap:9px;display:flex}.page-dots button{background:#d9c1c0;border:0;border-radius:50%;width:6px;height:6px;padding:0}.page-dots button.active{background:#bd788b;transform:scale(1.35)}.her-gallery-section{color:#563344;background:#f7eee9;padding:86px 22px 82px}.her-gallery-section .section-heading{margin-bottom:48px}.her-photo-list{flex-direction:column;gap:62px;width:min(100%,820px);margin:0 auto;display:flex}.her-memory{grid-template-columns:minmax(230px,330px) minmax(220px,1fr);align-items:center;gap:clamp(25px,6vw,70px);display:grid}.her-memory.memory-position-2{grid-template-columns:minmax(220px,1fr) minmax(230px,330px)}.her-memory.memory-position-2 .her-photo-frame{order:2}.her-memory.memory-position-2 .her-memory-note{text-align:right;order:1}.her-photo-frame{aspect-ratio:4/4.6;background:#fffdfb;padding:12px 12px 30px;position:relative;transform:rotate(-2deg);box-shadow:0 14px 30px #5827371f}.memory-position-2 .her-photo-frame{transform:rotate(2deg)}.photo-frame-3{transform:rotate(1deg)}.photo-frame-4{transform:rotate(-1deg)}.photo-frame-5{transform:rotate(2deg)}.her-photo-frame img{object-fit:cover;width:100%;height:100%;display:block}.her-photo-placeholder,.our-photo-placeholder{color:#a77c83;background:linear-gradient(145deg,#eee0da,#fbf4ef);flex-direction:column;justify-content:center;align-items:center;gap:12px;width:100%;height:100%;display:flex}.her-photo-placeholder span,.our-photo-placeholder span{font-family:Caveat,cursive;font-size:21px}.photo-corner-heart{color:#c77f91;font-size:20px;position:absolute;bottom:4px;right:18px}.her-memory-note{color:#765563;padding:20px 5px;position:relative}.memory-count{color:#aa858d;letter-spacing:.16em;font-size:8px}.her-memory-note p{color:#674b59;max-width:390px;margin:17px 0;font-family:Playfair Display,serif;font-size:clamp(17px,2.3vw,22px);line-height:1.7}.note-heart{color:#c77f91;font-size:24px}.next-chapter-link{color:#a36e7d;letter-spacing:.2em;justify-content:center;align-items:center;gap:10px;margin:65px auto 0;font-size:9px;text-decoration:none;display:flex}.our-page-section{background:radial-gradient(at 50% 20%,#fffaf7,#f2e5e2 78%);padding:88px 22px 95px}.our-memory-card{grid-template-columns:minmax(240px,1fr) minmax(220px,.85fr);align-items:center;gap:clamp(24px,5vw,55px);width:min(100%,800px);margin:48px auto 75px;display:grid}.our-photo-frame{aspect-ratio:4/4.6;background:#fffdfb;padding:13px;transform:rotate(-1.5deg);box-shadow:0 16px 34px #58273721}.our-photo-frame img{object-fit:cover;width:100%;height:100%;display:block}.our-note{color:#765563;padding:25px 5px}.our-note .handwritten{color:#bd788b;font-family:Caveat,cursive;font-size:33px}.our-note p{white-space:pre-line;color:#674b59;min-height:145px;font-family:Playfair Display,serif;font-size:16px;line-height:1.9}.note-signature{text-align:right;color:#bd788b;font-family:Caveat,cursive;font-size:25px;display:block}.letter-decoration{color:#c6a47d;justify-content:center;align-items:center;gap:14px;margin-bottom:28px;display:flex}.letter-decoration span{letter-spacing:.25em;font-size:8px}.letter-button{color:#875b6b;background:0 0;border:1px solid #c99ca5;align-items:center;gap:10px;margin-top:25px;padding:13px 20px;font-size:11px;transition:background .2s;display:inline-flex}.letter-button:hover{background:#c77f9117}.final-message{text-align:center}.final-message h2{color:#493345;margin:20px 0 12px;font-family:Playfair Display,serif;font-size:clamp(34px,6vw,48px);font-weight:400}.final-message>p{color:#92777d;font-size:12px}.letter-paper{color:#613f50;text-align:left;background:#fffaf5;width:min(100%,520px);margin:35px auto 0;padding:36px clamp(24px,7vw,55px);animation:.45s both paper-in;box-shadow:0 18px 45px #4b2b3921}.letter-date{letter-spacing:.2em;color:#a87b83;font-size:8px}.letter-paper h3{margin:22px 0 12px;font-family:Caveat,cursive;font-size:31px;font-weight:500}.letter-placeholder{color:#8e6b76;min-height:95px;font-family:Playfair Display,serif;font-size:14px;line-height:1.9}.letter-signoff{margin-top:30px;font-size:12px}.letter-signoff span{color:#bd788b;font-family:Caveat,cursive;font-size:25px}.site-footer{color:#986b78;text-align:center;background:#f4e8e4;border-top:1px solid #ead8d5;flex-direction:column;align-items:center;gap:8px;padding:34px 20px;display:flex}.site-footer p{margin:0;font-family:Playfair Display,serif;font-size:16px;font-style:italic}.site-footer span{letter-spacing:.2em;color:#ad8b91;margin-top:5px;font-size:8px}@keyframes paper-in{0%{opacity:0;transform:translateY(14px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@media (width<=700px){.intro-screen{padding:22px 20px 18px}.intro-content{margin:20px auto}.intro-content h1{font-size:clamp(43px,12vw,64px)}.intro-footer{letter-spacing:.15em;font-size:7px}.envelope{height:175px}.flower-one{bottom:25%;left:3%}.flower-two{bottom:29%;right:4%}.welcome-section{min-height:510px;padding-top:80px}.welcome-section h2{font-size:clamp(37px,10vw,52px)}.sparkle-a{top:18%;left:8%}.sparkle-b{bottom:18%;right:8%}.scrapbook-section{padding:72px 20px 65px}.her-gallery-section{padding:68px 20px 65px}.her-photo-list{gap:42px}.her-memory,.her-memory.memory-position-2{grid-template-columns:minmax(0,1fr);gap:12px}.her-memory.memory-position-2 .her-photo-frame,.her-memory.memory-position-2 .her-memory-note{order:initial}.her-photo-frame{width:min(82%,340px);margin:0 auto}.her-memory-note,.her-memory.memory-position-2 .her-memory-note{text-align:left;padding:10px 8px}.her-memory-note p{max-width:none;font-size:18px}.our-page-section{padding:68px 20px 75px}.our-memory-card{grid-template-columns:minmax(0,1fr);gap:18px;margin:35px auto 58px}.our-photo-frame{width:min(84%,360px);margin:0 auto}.our-note{padding:12px 8px}.our-note p{min-height:110px}.header-name{letter-spacing:.1em;font-size:6px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}.playlist-section,.appreciation-section,.voice-section{background:#fbf7f3;padding:88px 22px}.playlist-card,.voice-card{background:#fffdfb;border:1px solid #eadbd7;width:min(100%,720px);margin:42px auto 0;padding:24px;box-shadow:0 16px 36px #58273717}.playlist-heading{color:#a96e80;align-items:center;gap:13px;margin-bottom:20px;display:flex}.playlist-heading div,.voice-copy{flex-direction:column;gap:4px;display:flex}.playlist-heading strong,.voice-copy strong{letter-spacing:.15em;color:#694656;font-size:11px}.playlist-heading span,.voice-copy span{color:#a17b83;letter-spacing:.08em;font-size:10px}.playlist-player{aspect-ratio:16/9;background:#2c1c29;width:100%;overflow:hidden}.playlist-player iframe{border:0;width:100%;height:100%}.song-list{grid-template-columns:repeat(4,1fr);gap:8px;margin-top:18px;display:grid}.song-row{color:#8b6673;letter-spacing:.06em;background:#fffaf7;border:1px solid #eadbd7;justify-content:space-between;align-items:center;gap:8px;padding:11px;font-size:9px;display:flex}.song-row span:first-child{color:#bd788b;font-family:Playfair Display,serif;font-size:15px}.song-row span:nth-child(2){text-align:left;flex:1}.song-row.song-active{color:#75465a;background:#f3e3e4;border-color:#c77f91}.appreciation-section{background:#f7eee9}.appreciation-hearts{flex-wrap:wrap;justify-content:center;gap:22px;width:min(100%,650px);margin:42px auto 0;display:flex}.appreciation-heart{color:#d28a9b;background:#fffaf7;border:1px solid #e4c5c9;border-radius:50%;place-items:center;width:72px;height:72px;transition:transform .2s,background .2s,color .2s;display:grid;position:relative}.appreciation-heart:hover,.appreciation-heart.heart-selected{color:#fff;background:#d28a9b;transform:translateY(-6px)scale(1.06)}.appreciation-heart span{color:#fff;font-size:9px;font-weight:700;position:absolute}.reason-reveal{text-align:center;background:#fffdfb;border:1px solid #eadbd7;width:min(100%,520px);margin:30px auto 0;padding:24px;animation:.3s both paper-in;box-shadow:0 12px 28px #58273714}.reason-reveal span{letter-spacing:.2em;color:#b47787;font-size:9px}.reason-reveal p{color:#674b59;margin:12px 0 0;font-family:Playfair Display,serif;font-size:19px;line-height:1.6}.edit-hint{text-align:center;color:#a17b83;max-width:560px;margin:20px auto 0;font-size:10px;line-height:1.7}.final-round-section{color:#fff;background:#251b2b;padding:90px 22px}.final-round-section .section-heading h2{color:#fff5f1}.final-round-section .section-heading>p{color:#c7aeb9}.final-round-section .eyebrow{color:#e2b36f}.game-panel{background:linear-gradient(145deg,#38263c,#201a2b);border:1px solid #e6b8708c;width:min(100%,850px);margin:45px auto 0;padding:clamp(20px,4vw,38px);box-shadow:0 22px 55px #0000004d}.game-topline{color:#d7bdc9;letter-spacing:.15em;justify-content:space-between;gap:12px;font-size:9px;display:flex}.live-dot{background:#e3b76e;border-radius:50%;width:7px;height:7px;margin-right:7px;display:inline-block;box-shadow:0 0 10px #e3b76e}.game-title{color:#e7bd77;align-items:center;gap:16px;margin:34px 0;display:flex}.game-kicker{color:#d4a86a;letter-spacing:.18em;font-size:9px}.game-title h3{color:#fff7f0;margin:5px 0 0;font-family:Playfair Display,serif;font-size:clamp(23px,4vw,35px);font-weight:500}.game-start{text-align:center;color:#e7d6dc;padding:28px 10px}.game-start-button,.champion-banner button{color:#2c2030;letter-spacing:.1em;background:#e5b66d;border:0;justify-content:center;align-items:center;gap:10px;margin-top:14px;padding:14px 22px;font-size:10px;font-weight:700;display:inline-flex}.countdown-screen{color:#e5b66d;flex-direction:column;align-items:center;padding:24px;display:flex}.countdown-screen span{letter-spacing:.3em;font-size:10px}.countdown-screen strong{text-shadow:0 0 30px #e5b66d73;font-family:Playfair Display,serif;font-size:90px;line-height:1.2}.capsule-instruction{text-align:center;color:#d7bdc9;margin:0 0 22px;font-size:12px}.reward-grid{grid-template-columns:repeat(3,1fr);gap:14px;display:grid}.reward-capsule{color:#fff5ed;background:#ffffff0f;border:1px solid #e6b87066;flex-direction:column;justify-content:center;align-items:center;gap:12px;min-height:190px;padding:18px 12px;transition:transform .2s,background .2s;display:flex}.reward-capsule:not(:disabled):hover{background:#e5b66d21;transform:translateY(-7px)}.reward-capsule:disabled{cursor:default}.reward-rarity{letter-spacing:.2em;color:#d8b77f;font-size:8px}.reward-icon{color:#f0c878;font-size:36px}.reward-capsule strong{letter-spacing:.12em;font-size:11px}.reward-action{color:#d7bdc9;text-align:center;font-size:9px;line-height:1.5}.reward-open{background:#e5b66d29;border-color:#e5b66d}.reward-2 .reward-rarity,.reward-2 .reward-icon{color:#f4d27c}.champion-banner{text-align:center;color:#f4d27c;background:linear-gradient(120deg,#e5b66d2e,#ffffff0f);border:1px solid #e5b66d;margin-top:25px;padding:24px;animation:.45s both paper-in}.champion-banner h3{color:#fff5e7;font-family:Playfair Display,serif;font-size:clamp(20px,4vw,29px)}.champion-banner p{letter-spacing:.2em;color:#e7cda7;font-size:9px}.voice-card{flex-wrap:wrap;align-items:center;gap:18px;display:flex}.voice-icon{color:#bd788b;background:#f5e5e5;border-radius:50%;place-items:center;width:55px;height:55px;display:grid}.voice-copy{flex:1;min-width:180px}.voice-placeholder{text-align:center;color:#ad7c89;letter-spacing:.1em;background:#fff8f5;border:1px dashed #d7b6ba;width:100%;padding:17px;font-size:10px}.voice-card audio{width:100%}@media (width<=600px){.playlist-section,.appreciation-section,.voice-section,.final-round-section{padding:68px 18px}.playlist-card{padding:15px}.song-list{grid-template-columns:repeat(2,1fr)}.reward-grid{grid-template-columns:1fr}.reward-capsule{min-height:150px}.game-topline{font-size:7px}.game-title{margin:26px 0}.voice-card{padding:18px}}.her-memory-note{flex-direction:column;justify-content:center;min-height:220px;padding:24px 10px;display:flex}.her-memory-note p{min-height:100px;line-height:1.8}.our-note{flex-direction:column;justify-content:center;min-height:260px;padding:25px 12px;display:flex}.our-note p{flex:1;min-height:145px}.final-message{margin-top:-8px;padding:8px 20px 42px}.letter-paper{border-radius:4px;width:min(100% - 32px,520px);margin:28px auto 20px}@media (width<=700px){.her-memory-note{min-height:175px;padding:18px 10px}.her-memory-note p{min-height:75px}.our-note{min-height:210px;padding:18px 12px}.our-note p{min-height:100px}.final-message{padding:5px 12px 35px}.letter-paper{width:calc(100% - 24px);margin:24px auto 18px;padding:30px 24px}}.sky-section{color:#fff8f2;background:radial-gradient(at 50% 15%,#49334f 0%,#292039 48%,#191626 100%);padding:90px 22px 85px;position:relative;overflow:hidden}.sky-heading{z-index:1;text-align:center;margin-bottom:38px;position:relative}.sky-eyebrow{color:#e8c58e;letter-spacing:.25em;font-size:9px}.sky-heading h2{color:#fff8f2;margin:15px 0;font-family:Playfair Display,serif;font-size:clamp(35px,6vw,55px);font-weight:400}.sky-heading h2 em{color:#e9b6ca;font-weight:400}.sky-heading p{color:#d5c3d5;font-size:12px;line-height:1.8}.sky-scene{background:radial-gradient(circle at 20% 25%,#cd9cc926,#0000 30%),radial-gradient(circle at 80% 75%,#7a73b133,#0000 35%),linear-gradient(145deg,#241d36,#17182c 65%,#29203b);border:1px solid #e7c58e40;border-radius:5px;width:min(100%,820px);min-height:390px;margin:0 auto;position:relative;overflow:hidden;box-shadow:0 22px 55px #00000047}.sky-moon{color:#f4dcb1;text-shadow:0 0 28px #f4dcb166;font-size:60px;position:absolute;top:25px;right:45px;transform:rotate(-20deg)}.sky-twinkle{color:#f3d9ad;animation:2.5s ease-in-out infinite sky-twinkle;position:absolute}.sky-twinkle-one{font-size:22px;top:16%;left:18%}.sky-twinkle-two{font-size:28px;animation-delay:.5s;top:24%;right:25%}.sky-twinkle-three{font-size:19px;animation-delay:1s;bottom:24%;left:12%}.sky-twinkle-four{font-size:38px;animation-delay:.8s;bottom:17%;right:15%}.sky-twinkle-five{font-size:23px;animation-delay:1.3s;top:55%;right:8%}@keyframes sky-twinkle{0%,to{opacity:.35;transform:scale(.8)rotate(0)}50%{opacity:1;transform:scale(1.25)rotate(25deg)}}.sky-stars{position:absolute;inset:0}.sky-star{color:#f4d9a8;background:0 0;border:0;flex-direction:column;justify-content:center;align-items:center;gap:3px;width:66px;height:72px;padding:0;transition:transform .25s,color .25s,filter .25s;display:flex;position:absolute}.sky-star:hover{filter:drop-shadow(0 0 12px #f7d99e);transform:scale(1.2)}.sky-star-icon{text-shadow:0 0 17px #ffdda3b3;font-size:38px;line-height:1;animation:2.8s ease-in-out infinite star-float}.sky-star-number{letter-spacing:.12em;color:#e7c7d7;font-size:8px}.sky-star-1{top:27%;left:13%}.sky-star-2{top:48%;left:34%}.sky-star-3{top:25%;left:58%}.sky-star-4{top:55%;right:19%}.sky-star-5{top:12%;left:39%}.sky-star-2 .sky-star-icon{animation-delay:.4s}.sky-star-3 .sky-star-icon{animation-delay:.8s}.sky-star-4 .sky-star-icon{animation-delay:1.2s}.sky-star-5 .sky-star-icon{animation-delay:1.6s}.sky-star-found{color:#f6b9ce;filter:drop-shadow(0 0 12px #f6b9cecc)}.sky-star-active{filter:drop-shadow(0 0 16px #f6c7d7);transform:scale(1.2)}@keyframes star-float{0%,to{transform:translateY(0)rotate(-5deg)}50%{transform:translateY(-7px)rotate(8deg)}}.sky-progress{text-align:center;width:min(75%,300px);position:absolute;bottom:22px;left:50%;transform:translate(-50%)}.sky-progress>span{color:#e6cad8;letter-spacing:.2em;margin-bottom:9px;font-size:8px;display:block}.sky-progress-track{background:#ffffff26;border-radius:20px;height:5px;overflow:hidden}.sky-progress-fill{background:linear-gradient(90deg,#d98eae,#f1d39d);border-radius:20px;height:100%;transition:width .35s}.sky-surprise-card{text-align:center;color:#654657;background:#fffaf9f7;border:1px solid #e8c5d2;width:min(100%,540px);margin:30px auto 0;padding:30px 24px;animation:.4s both paper-in;box-shadow:0 18px 45px #0003}.sky-surprise-symbol{color:#c77f91;margin-bottom:12px;font-size:38px;display:block}.sky-surprise-label{color:#ad7d91;letter-spacing:.22em;font-size:8px}.sky-surprise-card h3{color:#553749;margin:12px 0 8px;font-family:Playfair Display,serif;font-size:25px;font-weight:400}.sky-surprise-card>p{color:#987985;margin:0;font-size:11px;line-height:1.8}.sky-surprise-photo{background:#fff;width:min(100%,240px);height:260px;margin:22px auto 0;padding:9px 9px 22px;transform:rotate(-2deg);box-shadow:0 10px 25px #58273726}.sky-surprise-photo img{object-fit:cover;width:100%;height:100%;display:block}.sky-surprise-animation{justify-content:center;align-items:center;gap:15px;min-height:115px;margin-top:12px;font-size:30px;display:flex}.sky-surprise-animation span{animation:1.4s ease-in-out infinite sky-celebrate}.sky-surprise-animation span:nth-child(2){animation-delay:.15s}.sky-surprise-animation span:nth-child(3){animation-delay:.3s}.sky-surprise-animation span:nth-child(4){animation-delay:.45s}.sky-surprise-animation span:nth-child(5){animation-delay:.6s}@keyframes sky-celebrate{0%,to{transform:translateY(0)rotate(-8deg)}50%{transform:translateY(-13px)rotate(8deg)}}.sky-card-controls{flex-wrap:wrap;justify-content:center;gap:12px;margin-top:22px;display:flex}.sky-card-controls button{color:#8d5c70;letter-spacing:.1em;background:0 0;border:1px solid #d9aab9;align-items:center;gap:7px;padding:11px 15px;font-size:9px;display:inline-flex}.sky-card-controls button:hover{background:#f5e5e9}.sky-final-celebration{text-align:center;color:#f6d6a4;background:linear-gradient(135deg,#e5b66d29,#ffffff0d);border:1px solid #f1d39d80;width:min(100%,540px);margin:25px auto 0;padding:28px 20px;animation:.5s both paper-in}.sky-celebration-stars{letter-spacing:.2em;font-size:27px;animation:2s ease-in-out infinite sky-twinkle}.sky-final-celebration h3{color:#fff3e5;margin:15px 0 8px;font-family:Playfair Display,serif;font-size:clamp(20px,4vw,28px);font-weight:400}.sky-final-celebration p{color:#e7cbd7;font-size:11px}.sky-celebration-emoji{letter-spacing:.15em;margin-top:18px;font-size:25px}.sky-bottom-hint{text-align:center;color:#d9c0d0;margin:25px 0 0;font-family:Caveat,cursive;font-size:23px}@media (width<=600px){.sky-section{padding:68px 18px}.sky-scene{min-height:340px}.sky-moon{font-size:45px;top:15px;right:20px}.sky-star{width:56px;height:65px}.sky-star-icon{font-size:32px}.sky-star-1{top:28%;left:5%}.sky-star-2{top:49%;left:27%}.sky-star-3{top:27%;left:60%}.sky-star-4{top:53%;right:5%}.sky-star-5{top:12%;left:36%}.sky-surprise-card{padding:25px 17px}.sky-surprise-photo{height:230px}.sky-surprise-animation{gap:9px;font-size:24px}}html,body,#root{width:100%;max-width:100%}body{-webkit-text-size-adjust:100%;overflow-x:hidden}main,section,header,footer{min-width:0}img,iframe,video{max-width:100%}button,a{-webkit-tap-highlight-color:transparent;touch-action:manipulation}@media (width>=601px) and (width<=900px){.song-list{grid-template-columns:repeat(3,minmax(0,1fr))}.memory-layout{grid-template-columns:minmax(0,1fr) minmax(220px,1.2fr);gap:22px}.memory-layout>:last-child{grid-column:1/-1}.her-memory,.her-memory.memory-position-2{grid-template-columns:minmax(190px,.9fr) minmax(0,1fr);gap:26px}.our-memory-card{grid-template-columns:minmax(0,1fr) minmax(0,.9fr);gap:28px}}@media (width<=700px){*{scroll-margin-top:16px}.intro-screen{min-height:100dvh;padding:18px 16px 16px}.intro-content{width:100%;margin:16px auto}.intro-content h1{overflow-wrap:anywhere;font-size:clamp(39px,11vw,58px)}.birthday-script{font-size:clamp(32px,9vw,44px)}.heart-sticker{margin:12px auto 20px}.envelope{width:min(88vw,360px);height:clamp(145px,48vw,175px)}.gift-hint,.open-link{font-size:10px}.intro-footer{text-align:center;gap:12px}.site-header{gap:10px;height:auto;min-height:58px;padding:10px 14px}.brand{min-width:0;font-size:15px}.header-name{text-align:right;overflow-wrap:anywhere;max-width:45%;line-height:1.5}.welcome-section{min-height:480px;padding:70px 18px 58px}.welcome-section h2,.section-heading h2,.letter-section h2{overflow-wrap:anywhere}.scroll-cue{margin-top:38px}.scrapbook-section,.her-gallery-section,.our-page-section,.playlist-section,.appreciation-section,.voice-section,.final-round-section,.sky-section{padding-left:16px;padding-right:16px}.section-heading>p,.welcome-copy,.sky-heading p{max-width:100%;line-height:1.8}.her-photo-list{gap:36px;width:100%}.her-memory,.her-memory.memory-position-2{grid-template-columns:minmax(0,1fr);gap:8px}.her-memory.memory-position-2 .her-photo-frame,.her-memory.memory-position-2 .her-memory-note{order:initial}.her-photo-frame{width:min(88%,340px);margin:0 auto}.her-memory-note,.her-memory.memory-position-2 .her-memory-note{text-align:left;min-height:0;padding:14px 8px 18px}.her-memory-note p{overflow-wrap:anywhere;max-width:none;min-height:0;margin:12px 0;font-size:clamp(17px,4.8vw,20px);line-height:1.75}.our-memory-card{grid-template-columns:minmax(0,1fr);gap:12px;width:100%;margin:32px auto 48px}.our-photo-frame{width:min(88%,360px);margin:0 auto}.our-note{min-height:0;padding:14px 8px}.our-note p{overflow-wrap:anywhere;min-height:0;font-size:16px;line-height:1.8}.playlist-card,.voice-card,.game-panel,.claw-card,.birthday-cake-card,.sky-surprise-card{min-width:0;max-width:100%}.playlist-card{padding:14px}.playlist-heading{align-items:flex-start}.song-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.song-row{gap:6px;min-width:0;min-height:48px;padding:9px 8px;font-size:8px}.song-row span:nth-child(2){overflow-wrap:anywhere;line-height:1.4}.appreciation-hearts{gap:14px}.appreciation-heart{flex:0 0 66px;width:66px;height:66px}.reason-reveal{padding:20px 16px}.reason-reveal p{font-size:18px;line-height:1.6}.game-panel{padding:18px 14px}.game-topline{flex-wrap:wrap;line-height:1.6}.game-title{align-items:flex-start;gap:11px}.game-title h3{overflow-wrap:anywhere}.reward-grid{grid-template-columns:minmax(0,1fr);gap:10px}.reward-capsule{width:100%;min-height:140px}.champion-banner{overflow-wrap:anywhere;padding:20px 12px}.voice-card{gap:12px;padding:17px}.voice-copy,.voice-card audio{min-width:0}.final-message{padding-left:8px;padding-right:8px}.letter-paper{overflow-wrap:anywhere;width:100%;max-width:520px;padding:28px 22px}.letter-paper p,.letter-placeholder{overflow-wrap:anywhere;line-height:1.85}.sky-scene{width:100%}.sky-surprise-card{padding:24px 16px}.sky-card-controls{gap:9px}.sky-card-controls button,.finale-button,.letter-button,.game-start-button,.champion-banner button,.claw-control-button,.claw-reset,.cake-blow-button{min-height:44px}.site-footer{padding-left:16px;padding-right:16px}}@media (width<=380px){.intro-screen{padding-left:12px;padding-right:12px}.intro-topline{letter-spacing:.16em;font-size:8px}.intro-content h1{font-size:clamp(36px,10.5vw,44px)}.envelope{width:min(90vw,320px)}.site-header{padding-left:10px;padding-right:10px}.brand{font-size:14px}.section-heading h2,.welcome-section h2{font-size:clamp(32px,9vw,42px)}.her-photo-frame,.our-photo-frame{width:92%}.song-row{gap:5px;padding:8px 6px}.song-row span:first-child{font-size:13px}.appreciation-hearts{gap:10px}.appreciation-heart{flex-basis:60px;width:60px;height:60px}.game-panel{padding:16px 10px}.game-topline{letter-spacing:.1em;font-size:6px}.letter-paper{padding:25px 17px}.cake-scene{width:100%!important;height:290px!important;margin-bottom:0!important;transform:none!important}.cake-candles{gap:3px!important}.cake-candle{min-height:44px;width:44px!important}.cake-top,.cake-middle{width:min(220px,100vw - 70px)!important}.cake-bottom{width:min(245px,100vw - 55px)!important}.cake-plate{width:min(260px,100vw - 40px)!important}.claw-machine{border-width:5px!important;padding:8px!important}.claw-capsules{gap:2px!important;left:5px!important;right:5px!important}.claw-capsule{width:36px!important;height:46px!important;font-size:21px!important}.claw-controls{gap:7px!important}.claw-control-button{flex:1;min-width:0!important;padding:11px 7px!important}.sky-scene{min-height:320px}.sky-star{width:48px;height:58px}.sky-star-icon{font-size:28px}.sky-surprise-photo{width:min(100%,220px)}}@media (width<=340px){.song-row{letter-spacing:0;font-size:7px}.song-row span:first-child{font-size:12px}.intro-footer{font-size:6px}.appreciation-heart{flex-basis:56px;width:56px;height:56px}.cake-scene{margin-bottom:0!important;transform:none!important}.cake-candle{width:44px!important}.claw-capsule{width:32px!important;height:42px!important}}
