@import url('https://fonts.googleapis.com/css2?family=Caveat:wght@400;500;600&family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;1,400;1,500&family=Manrope:wght@400;500;600;700&display=swap');
:root{--paper:#fbf1ef;--pink:#edcfda;--rose:#a64d6a;--dark:#502b3b;--muted:#8b6b77;--line:#e4cdd5;--serif:'Cormorant Garamond',Georgia,serif;--sans:'Manrope',Arial,sans-serif;--hand:'Caveat',cursive;color-scheme:light}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--dark);font:14px/1.8 var(--sans);overflow-x:clip}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer}button:disabled{cursor:default}button,a{touch-action:manipulation}button:focus-visible,a:focus-visible{outline:2px solid var(--rose);outline-offset:5px}a{color:inherit}::selection{background:#ebbdce}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-family:var(--serif);font-weight:400}em{color:var(--rose);font-weight:400}img{display:block;max-width:100%}.grain{position:fixed;inset:0;z-index:20;pointer-events:none;opacity:.15;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.83' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23714450' opacity='.2' filter='url(%23n)' d='M0 0h180v180H0z'/%3E%3C/svg%3E")}.ambient{position:fixed;inset:0;overflow:hidden;pointer-events:none;z-index:0}.ambient i{position:absolute;top:110%;left:8%;width:10px;height:17px;background:#d9a1b553;border-radius:80% 0 80% 15%;animation:petal 22s linear infinite}.ambient i:nth-child(2){left:28%;animation-delay:-13s;width:7px;height:12px}.ambient i:nth-child(3){left:46%;animation-delay:-4s}.ambient i:nth-child(4){left:65%;animation-delay:-17s;width:6px}.ambient i:nth-child(5){left:83%;animation-delay:-9s}.ambient i:nth-child(6){left:94%;animation-delay:-2s}.site-header,.site-footer{position:relative;z-index:2;max-width:1440px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:30px 5vw}.site-header{border-bottom:1px solid #ead9df88}.wordmark{padding:0;border:0;background:none;font-size:13px;white-space:nowrap}.wordmark em{font:italic 27px var(--serif);margin-left:5px}.wordmark>span{font-size:23px;color:var(--rose);margin-left:8px}.header-note{font-size:8px;letter-spacing:1.9px;color:#957180}.sound-button{display:flex;align-items:center;gap:9px;background:#fff6f5a8;border:1px solid var(--line);padding:9px 15px;border-radius:40px;font-size:9px;min-height:42px}.sound-button>span:first-child{font-size:19px}.sound-button[aria-pressed=true]{background:#f1d6df}.site-footer{border-top:1px solid var(--line);font-size:8px;letter-spacing:1.4px;padding-block:23px;color:#936d7c}.site-footer b{color:var(--rose);padding:0 10px}.site-footer button{border:0;background:none;font-size:9px;letter-spacing:.3px;padding:8px}.site-footer button:hover{text-decoration:underline}main{position:relative;z-index:1;min-height:calc(100svh - 180px);outline:none}.scene{animation:scene-in .65s ease both}.eyebrow{display:block;font-size:9px;letter-spacing:2.3px;font-weight:600;color:var(--rose);margin-bottom:20px}.hand{font-family:var(--hand);font-size:29px;line-height:1.2}.button{border:1px solid var(--rose);background:var(--rose);color:#fff5f7;padding:16px 25px;border-radius:40px;display:inline-flex;align-items:center;justify-content:center;gap:28px;min-height:52px;font-size:12px;text-decoration:none;transition:transform .2s,box-shadow .2s,background .2s;box-shadow:0 8px 24px #a64d6a14}.button:hover{transform:translateY(-3px);box-shadow:0 12px 28px #a64d6a2b;background:#96425f}.button>span{font-size:20px;line-height:1}.button.secondary{background:transparent;color:var(--rose);border-color:#c897a9;box-shadow:none}.quiet-button{border:0;background:none;text-decoration:underline;text-underline-offset:5px;font-size:11px;padding:12px;color:var(--muted);min-height:44px}.hint{font-size:10px;color:var(--muted);line-height:1.7}.sr-only,.skip-link:not(:focus){position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link:focus{position:fixed;top:8px;left:8px;background:white;padding:10px;z-index:100}.intro{max-width:1440px;margin:auto;padding:60px 7vw 0;display:grid;grid-template-columns:1fr 1.05fr;align-items:center;min-height:690px;gap:45px;background:radial-gradient(ellipse at 80% 50%,#f4dce8 0,transparent 57%)}.intro-copy{padding-bottom:45px}.intro h1{font-size:clamp(70px,6.5vw,102px);line-height:.97;letter-spacing:-3px;margin:23px 0 27px}.intro-description{font-size:13px;line-height:2;color:var(--muted);max-width:360px;margin-bottom:27px}.intro-small{font-size:9px;letter-spacing:.4px;color:#967080;margin-top:16px}.intro-actions{display:flex;gap:12px;flex-wrap:wrap}.hero-collage{position:relative;min-height:560px;display:grid;place-items:center;isolation:isolate}.collage-orbit{position:absolute;width:93%;height:86%;border:1px solid #dba5ba60;border-radius:50%;transform:rotate(24deg);top:15px}.collage-orbit:after{content:'';position:absolute;inset:25px -18px;border:1px solid #dba5ba50;border-radius:50%;transform:rotate(-35deg)}.polaroid{position:relative;background:#fffaf5;padding:11px 11px 40px;box-shadow:0 15px 35px #69324425;border:1px solid #fff;transform:rotate(var(--angle,0deg));transition:transform .5s}.polaroid img{width:100%;height:100%;object-fit:cover;filter:saturate(.9) contrast(.97) sepia(.06)}.polaroid figcaption{position:absolute;bottom:8px;left:0;right:0;text-align:center;font:23px var(--hand);color:#956479}.hero-main{width:66%;height:455px;--angle:6deg;z-index:2;margin-left:45px}.hero-main img{object-position:50% 47%}.hero-side{position:absolute;width:39%;height:244px;left:-9px;bottom:26px;--angle:-13deg;z-index:3;padding:8px 8px 34px}.hero-side figcaption{font-size:21px}.hero-top{position:absolute;width:29%;height:172px;right:-4px;top:-5px;--angle:14deg;z-index:0;padding:7px 7px 30px}.hero-top img{object-position:center 35%}.hero-top figcaption{font-size:18px}.collage-script{position:absolute;top:-19px;left:12px;transform:rotate(-9deg);color:#a36782;font:27px var(--hand);z-index:5}.collage-star{position:absolute;top:70px;left:6px;font-size:54px;color:#b47c96}.collage-heart{position:absolute;right:-12px;bottom:35px;font-size:72px;color:#b46f8a;transform:rotate(17deg);font-family:var(--serif)}.photo-tag{position:absolute;z-index:6;right:1%;bottom:97px;background:#f4e6e7ed;border:1px solid #e8cbd4;padding:10px 17px;font-size:8px;letter-spacing:2px;transform:rotate(-7deg)}.intro-route{grid-column:1/-1;display:flex;align-items:center;gap:25px;padding:29px 0 32px;border-top:1px solid var(--line);margin-top:23px}.intro-route>span{font-size:8px;letter-spacing:1.7px;color:var(--muted);margin-right:auto}.route-small{font-size:10px;display:flex;align-items:center;gap:10px;white-space:nowrap}.route-small b{font:italic 21px var(--serif);color:var(--rose);font-weight:400}.route-line{width:35px;height:1px;background:var(--line)}.journey{max-width:1120px;padding:33px 38px 55px;margin:auto}.progress-nav{display:flex;align-items:center;justify-content:center;max-width:650px;margin:0 auto 44px;gap:8px}.progress-nav button{background:transparent;border:0;padding:6px 8px;display:flex;align-items:center;gap:8px;color:#927480;font-size:9px;min-height:42px}.progress-nav button:disabled{color:#ac95a0}.progress-nav button b{border:1px solid #d7b7c5;border-radius:50%;width:27px;height:27px;display:grid;place-items:center;font-size:10px;font-weight:400}.progress-nav button[aria-current=step]{color:var(--rose)}.progress-nav button[aria-current=step] b{background:var(--rose);color:white;border-color:var(--rose)}.progress-nav .done b{background:#edd0db;color:#8f4361;border-color:#edd0db}.progress-nav>i{width:30px;min-width:8px;height:1px;background:var(--line)}.chapter-head{text-align:center;margin-bottom:35px}.chapter-head .eyebrow{margin-bottom:12px}.chapter-head h1{font-size:clamp(46px,5vw,65px);line-height:1.06;letter-spacing:-1.7px;outline:none}.chapter-head>p{font-size:12px;color:var(--muted);margin:18px auto 0;max-width:520px}.chapter-body{max-width:860px;margin:auto}.split-chapter{display:grid;grid-template-columns:.85fr 1fr;gap:65px;align-items:center;padding:15px 35px}.chapter-photo{height:345px;width:100%;--angle:-5deg}.chapter-photo:before,.hero-side:before{content:'';position:absolute;width:100px;height:25px;left:calc(50% - 50px);top:-11px;background:#dca9bd77;transform:rotate(4deg);z-index:4}.chapter-photo img{object-position:center 50%}.question{font:33px/1.12 var(--serif);margin-bottom:20px}.date-options{display:grid;grid-template-columns:1fr 1fr;gap:12px}.date-option{background:#fff8f6;border:1px solid var(--line);padding:19px 10px;font-size:12px;border-radius:7px;transition:.2s}.date-option:hover{border-color:var(--rose);background:#f5dfe7}.date-option.selected{border-color:var(--rose);background:#edd0dc}.feedback{min-height:57px;font-size:12px;color:var(--rose);padding-top:18px}.reward{max-width:680px;margin:28px auto 0;text-align:center;padding:25px 30px;background:#f4e0e7;border:1px solid #e4bdcc;border-radius:10px;animation:scene-in .5s ease}.reward .hand{font-size:29px;color:var(--rose);margin-bottom:16px}.reward p:not(.hand){font-size:12px;margin-bottom:16px;color:var(--muted)}.reward[hidden]{display:none}.time-counter{display:flex;align-items:center;justify-content:center;gap:24px;margin:22px 0}.time-counter strong{display:block;font:43px/1 var(--serif);font-variant-numeric:tabular-nums}.time-counter span{font-size:8px;letter-spacing:1px;color:var(--muted)}.time-counter i{font:25px var(--serif);color:#b3889a}.memory-board{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;max-width:570px;margin:auto}.memory-card{aspect-ratio:1.05;background:none;border:0;padding:0;perspective:900px;position:relative}.memory-inner{position:absolute;inset:0;transform-style:preserve-3d;transition:transform .55s}.memory-card.flipped .memory-inner,.memory-card.matched .memory-inner{transform:rotateY(180deg)}.memory-front,.memory-back{position:absolute;inset:0;backface-visibility:hidden;-webkit-backface-visibility:hidden;border-radius:10px;border:1px solid #dbb0c2;overflow:hidden}.memory-front{display:grid;place-items:center;background:radial-gradient(circle at 25% 20%,#f9e7ef,#e9c8d6);box-shadow:inset 0 0 0 8px #ffffff35}.memory-front>span{font:54px var(--serif);color:#ac6987}.memory-front small{position:absolute;bottom:14px;font-size:7px;letter-spacing:2px;color:#95627a}.memory-back{transform:rotateY(180deg);background:#fff1f4}.memory-back img{width:100%;height:100%;object-fit:cover;filter:saturate(.88) contrast(.97)}.memory-card.matched .memory-back{border:3px solid #a56483}.memory-card.matched:after{content:'♡';position:absolute;bottom:8px;right:10px;border-radius:50%;background:#fff4f7;width:27px;height:27px;color:var(--rose);font-size:19px}.memory-meta{text-align:center;margin:18px 0;font-size:11px;color:var(--muted)}.chapter-tools{text-align:center;margin-top:14px}.recipe-layout{display:grid;grid-template-columns:1fr 1fr;gap:45px;align-items:center}.recipe-photo{height:335px;--angle:4deg}.ingredients{display:grid;gap:11px}.ingredient{display:flex;align-items:center;text-align:left;gap:16px;border:1px solid var(--line);background:#fff9f6;border-radius:10px;padding:15px 19px;min-height:74px;transition:.25s}.ingredient .ingredient-icon{font:32px var(--serif);color:#ad7590;width:34px;text-align:center}.ingredient strong{display:block;font:24px/1.1 var(--serif);font-weight:500}.ingredient small{font-size:9px;color:var(--muted)}.ingredient .check{margin-left:auto;font-size:22px;color:#ab7790}.ingredient[aria-pressed=true]{background:#efd4e0;border-color:#b77e99;transform:translateX(5px)}.mix-meter{display:flex;gap:6px;margin:20px 0 9px}.mix-meter span{height:5px;border-radius:4px;flex:1;background:#e5cfda}.mix-meter span.filled{background:#b06a8a}.night-scene{background:radial-gradient(ellipse at 50% 40%,#563b5c 0,#34283f 65%,#2c263a 100%);color:#faedf4;min-height:calc(100svh - 178px);padding-top:30px;padding-bottom:50px}.night-scene .journey{padding-top:0;padding-bottom:0}.night-scene .eyebrow,.night-scene em{color:#e4b4cb}.night-scene .chapter-head>p{color:#d3b8cc}.night-scene .progress-nav button{color:#d2b6c9}.night-scene .progress-nav button:disabled{color:#b29ab0}.night-scene .progress-nav>i{background:#71506c}.night-scene .progress-nav button b{border-color:#96728d}.night-scene .progress-nav button[aria-current=step] b{background:#ddb0c8;color:#463044;border-color:#ddb0c8}.constellation-wrap{max-width:840px;margin:auto;display:grid;grid-template-columns:1.2fr .8fr;align-items:center;gap:20px}.constellation{position:relative;min-height:390px;background:radial-gradient(circle at 21% 18%,#eee6ff 0 1px,transparent 2px),radial-gradient(circle at 78% 85%,#eee6ff 0 1px,transparent 2px),radial-gradient(circle at 8% 75%,#eee6ff 0 1px,transparent 2px),radial-gradient(circle at 89% 24%,#eee6ff 0 1px,transparent 2px);isolation:isolate}.star-lines{position:absolute;inset:0;width:100%;height:100%;fill:none;stroke:#bc87a75c;stroke-width:.6;stroke-dasharray:2 3;pointer-events:none}.constellation.complete .star-lines{stroke:#e8bdd4;stroke-dasharray:none;filter:drop-shadow(0 0 3px #dc9dbf)}.name-star{position:absolute;left:var(--x);top:var(--y);transform:translate(-50%,-50%);border:0;background:transparent;color:#d4aac8;min-width:88px;min-height:73px;padding:6px}.name-star>span{font:37px/1 var(--serif);display:block;transition:.3s}.name-star small{font:20px var(--hand);display:block}.name-star:hover>span,.name-star[aria-pressed=true]>span{color:#fff4ed;text-shadow:0 0 20px #ffbcdd;transform:scale(1.22)}.name-star[aria-pressed=true]{color:#ffe1ee}.star-note{padding:25px 20px;text-align:center}.star-portrait{margin:auto auto 18px;width:160px;height:190px;border:6px solid #f9edf1;box-shadow:0 14px 34px #130c2933;transform:rotate(5deg);object-fit:cover;filter:saturate(.85)}.star-note .hand{font-size:32px;color:#f0c1d8;margin-bottom:12px}.star-note>p:not(.hand){font-size:11px;color:#dbc1d1;line-height:1.9;min-height:62px}.star-count{text-align:center;font-size:10px;color:#c4a1ba;margin:18px}.night-scene .reward{background:#65435f66;border-color:#9a6a8d;color:#f6e8f1;margin-top:15px}.night-scene .reward .hand{color:#f1bfd9}.night-scene .button{background:#e8b7cc;color:#48273d;border-color:#e8b7cc}.finale{max-width:1240px;margin:auto;padding:55px 5vw 0}.finale-heading{text-align:center;position:relative;margin-bottom:45px}.finale-heading h1{font-size:clamp(62px,7.5vw,100px);line-height:.96;letter-spacing:-3px}.finale-heading p{font-size:12px;color:var(--muted);margin-top:24px}.final-hero{display:grid;grid-template-columns:1fr 1fr;gap:55px;align-items:center;max-width:980px;margin:auto}.final-photo{height:500px;--angle:-4deg}.letter-paper{background:#fffaf6;border:1px solid #ead9dc;padding:37px 37px 30px;position:relative;box-shadow:0 15px 38px #68324b0b}.letter-paper:before{content:'';width:96px;height:25px;position:absolute;top:-13px;left:calc(50% - 48px);background:#e7c1cc99;transform:rotate(3deg)}.letter-paper .eyebrow{font-size:8px;letter-spacing:1px}.letter-paper h2{font:italic 35px var(--serif);color:var(--rose);margin:12px 0 20px}.letter-paper p{font-size:12px;line-height:1.95;color:#805b6d;margin-bottom:16px}.letter-paper .hand{font-size:25px;line-height:1.2;color:var(--rose);margin-top:22px}.final-time{text-align:center;margin:60px 0;padding:30px 0;border-block:1px solid var(--line)}.final-time .eyebrow{margin-bottom:0}.final-time .time-counter{margin-bottom:15px}.final-time p{font:26px var(--hand);color:#a46b85}.album-section{padding-top:18px;padding-bottom:55px}.album-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:25px}.album-heading h2{font-size:51px;line-height:1;letter-spacing:-1px}.album-heading .eyebrow{margin-bottom:12px}.album-heading>p{font-size:10px;color:var(--muted)}.album-filters{display:flex;gap:8px;flex-wrap:wrap;margin:25px 0}.album-filters button{border:1px solid var(--line);border-radius:30px;padding:9px 15px;background:transparent;font-size:10px;min-height:40px}.album-filters button[aria-pressed=true]{background:var(--rose);color:white;border-color:var(--rose)}.album-grid{columns:4;column-gap:15px}.album-photo{display:block;break-inside:avoid;width:100%;border:0;background:#fffaf7;padding:8px 8px 26px;margin:0 0 15px;position:relative;border-radius:3px;box-shadow:0 6px 15px #7142570c;transition:transform .25s}.album-photo img{width:100%;height:auto;filter:saturate(.88) contrast(.97) sepia(.05);border-radius:1px}.album-photo:hover{transform:translateY(-4px) rotate(-1deg)}.album-photo>span{position:absolute;left:12px;bottom:4px;font-size:8px;color:#957185}.album-photo>b{position:absolute;right:10px;bottom:0;font-size:16px;font-weight:400;color:var(--rose)}.love-end{margin:25px -5vw 0;padding:62px 25px 55px;text-align:center;background:radial-gradient(ellipse,#f0d2e0 0,transparent 67%)}.love-end h2{font-size:54px;line-height:1.02}.hug{display:block;margin:25px auto 18px;border:1px solid #d09bb4;border-radius:50%;width:88px;height:88px;background:#efd0df;box-shadow:0 0 0 10px #f0d7e370;font:54px/1 var(--serif);color:var(--rose);transition:.3s}.hug:hover{transform:scale(1.1)}.hug-message{font:27px var(--hand);color:var(--rose);min-height:60px}.photo-dialog{border:0;background:#291d29f7;padding:56px 50px 15px;width:min(960px,95vw);max-height:94svh;overflow:auto;color:#faedf4;border-radius:8px}.photo-dialog::backdrop,.reset-dialog::backdrop{background:#261e2ce0;backdrop-filter:blur(9px)}.photo-dialog>img{max-height:calc(90svh - 155px);width:100%;object-fit:contain}.dialog-close{position:absolute;top:8px;right:15px;background:none;border:0;color:#fff;font:34px var(--sans);width:44px;height:44px}.photo-controls{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:12px}.photo-controls button{width:45px;height:45px;border:1px solid #99788b;background:none;color:#fff;border-radius:50%;font-size:20px}.photo-controls p{text-align:center;font-size:10px;color:#d3b9cb}.reset-dialog{max-width:min(440px,90vw);padding:35px;border:1px solid var(--line);border-radius:16px;text-align:center;background:var(--paper);color:var(--dark)}.reset-dialog h2{font-size:35px;line-height:1.1;margin:12px 0 20px}.reset-dialog p{font-size:12px;color:var(--muted);margin-bottom:20px}.reset-heart{font:48px var(--serif);color:var(--rose)}#confetti{position:fixed;inset:0;pointer-events:none;z-index:50;overflow:hidden}.confetti-heart{position:absolute;bottom:-40px;left:var(--x);font-size:var(--size);color:var(--color);animation:heart-rise 2.8s var(--delay) ease-out forwards;opacity:0}.noscript{padding:40px;text-align:center}.noscript img{max-height:60vh;margin:20px auto}.finished-badge{font-size:9px;letter-spacing:2px;display:inline-block;padding:8px 15px;border:1px solid var(--line);border-radius:25px;margin-bottom:25px;color:var(--rose)}
@keyframes petal{from{transform:translate(0,0) rotate(0)}to{transform:translate(100px,-130vh) rotate(280deg)}}@keyframes scene-in{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes heart-rise{0%{opacity:0;transform:translateY(0) rotate(-15deg)}12%{opacity:.95}100%{opacity:0;transform:translateY(-95vh) rotate(30deg)}}
@media(min-width:1450px){.intro{min-height:760px}.hero-collage{min-height:610px}.hero-main{height:510px}}
@media(max-width:1050px){.header-note{display:none}.intro{padding-inline:5vw;gap:15px;min-height:650px}.intro h1{font-size:76px}.hero-collage{min-height:480px}.hero-main{height:390px;width:72%;margin-left:20px}.hero-side{height:210px;left:0}.hero-top{height:140px;right:0}.collage-script{font-size:24px;left:0}.collage-heart{right:-4px;font-size:60px}.intro-route{gap:15px}.route-line{width:15px}.split-chapter{gap:38px;padding-inline:15px}.final-hero{gap:32px}.letter-paper{padding:30px}.album-grid{columns:3}.recipe-layout{gap:30px}}
@media(max-width:720px){.site-header{padding:16px 20px;gap:10px}.wordmark{font-size:10px}.wordmark em{font-size:23px}.wordmark>span{font-size:19px;margin-left:5px}.sound-button{padding:7px 10px;font-size:8px;gap:6px}.intro{display:flex;flex-direction:column;padding:42px 24px 0;gap:0;min-height:0;text-align:center;background:radial-gradient(ellipse at 50% 65%,#f2d6e3,transparent 60%)}.intro-copy{padding-bottom:0}.eyebrow{font-size:8px;letter-spacing:1.8px}.intro h1{font-size:68px;letter-spacing:-2.5px;margin:19px 0 23px;line-height:.97}.intro-description{font-size:12px;max-width:330px;margin:0 auto 25px}.intro-actions{justify-content:center}.button{padding:14px 24px;font-size:11px;min-height:50px}.intro-small{font-size:8px;margin-top:14px}.hero-collage{min-height:420px;width:min(100%,410px);margin:46px auto 15px}.hero-main{width:68%;height:333px;margin-left:20px;--angle:6deg}.hero-side{width:40%;height:186px;left:0;bottom:9px;--angle:-10deg}.hero-top{width:30%;height:130px;right:2px;top:2px}.hero-top figcaption{font-size:16px}.hero-side figcaption{font-size:18px}.hero-main figcaption{font-size:21px}.collage-script{top:-23px;left:0;font-size:23px}.collage-star{font-size:40px;left:0;top:62px}.collage-heart{font-size:50px;right:0;bottom:6px}.photo-tag{font-size:6px;letter-spacing:1.3px;padding:8px 10px;bottom:49px;right:0}.intro-route{display:grid;grid-template-columns:1fr 1fr;width:100%;gap:13px 20px;text-align:left;margin-top:18px;padding:24px 0}.intro-route>span{grid-column:1/-1;margin-bottom:2px;font-size:7px}.route-small{font-size:9px;gap:8px}.route-line{display:none}.site-footer{padding:20px;gap:10px;flex-wrap:wrap;font-size:6px;letter-spacing:1px;justify-content:center}.site-footer>span:first-child{display:none}.site-footer button{font-size:8px;margin-left:auto}.journey{padding:20px 20px 40px}.progress-nav{gap:3px;margin-bottom:30px}.progress-nav button{padding:4px;gap:0}.progress-nav button>span{display:none}.progress-nav button b{width:30px;height:30px;font-size:11px}.progress-nav>i{width:27px}.chapter-head{margin-bottom:27px}.chapter-head h1{font-size:44px;letter-spacing:-1px}.chapter-head>p{font-size:11px;max-width:340px;margin-top:16px}.split-chapter{display:flex;flex-direction:column;gap:33px;padding:0 10px}.chapter-photo{width:200px;height:245px;--angle:-5deg}.chapter-photo figcaption{font-size:20px}.question{font-size:29px;text-align:center}.date-options{max-width:340px;width:100%;gap:10px}.date-option{padding:15px 14px;font-size:11px}.date-puzzle{width:100%;max-width:350px;text-align:center}.feedback{font-size:11px;min-height:55px}.reward{padding:24px 18px;margin-top:20px}.reward .hand{font-size:26px}.reward p:not(.hand){font-size:11px}.time-counter{gap:22px}.time-counter strong{font-size:36px}.memory-board{gap:10px;max-width:420px}.memory-card{aspect-ratio:.8}.memory-front span{font-size:39px}.memory-front small{font-size:6px;letter-spacing:1px;bottom:14px}.memory-card.matched:after{width:22px;height:22px;bottom:5px;right:5px;font-size:16px}.recipe-layout{display:flex;flex-direction:column;gap:30px}.recipe-photo{width:215px;height:240px}.ingredients{width:100%;max-width:370px}.ingredient{padding:12px 15px;min-height:70px}.ingredient strong{font-size:23px}.ingredient small{font-size:9px}.night-scene{padding-top:20px;padding-bottom:35px}.night-scene .journey{padding-inline:20px}.constellation-wrap{display:flex;flex-direction:column;gap:0}.constellation{width:100%;min-height:315px;max-width:420px}.name-star{min-width:77px}.name-star>span{font-size:32px}.name-star small{font-size:19px}.star-note{display:grid;grid-template-columns:85px 1fr;text-align:left;gap:0 20px;padding:14px 10px;width:100%;max-width:390px;align-items:center}.star-portrait{grid-row:1/3;width:80px;height:100px;border-width:4px;margin:0}.star-note .hand{font-size:27px;margin-bottom:5px}.star-note>p:not(.hand){font-size:10px;min-height:58px;line-height:1.7}.star-count{margin:10px 0 16px}.finale{padding:37px 22px 0}.finale-heading{margin-bottom:32px}.finished-badge{font-size:7px;margin-bottom:23px}.finale-heading h1{font-size:65px;letter-spacing:-2.5px}.finale-heading p{font-size:11px;max-width:310px;margin:20px auto 0}.final-hero{display:flex;flex-direction:column;gap:40px}.final-photo{height:370px;width:85%;max-width:330px}.letter-paper{padding:31px 26px 24px;width:100%}.letter-paper p{font-size:12px;line-height:1.95}.letter-paper h2{font-size:35px}.letter-paper .hand{font-size:27px}.final-time{margin:42px 0;padding:27px 0}.final-time .eyebrow{font-size:7px;letter-spacing:1.4px}.album-heading{display:block}.album-heading h2{font-size:45px}.album-heading>p{margin-top:17px;font-size:10px}.album-filters{gap:6px;margin:20px 0}.album-filters button{padding:8px 12px;font-size:9px}.album-grid{columns:2;column-gap:10px}.album-photo{padding:6px 6px 24px;margin-bottom:10px}.album-photo>span{font-size:7px;left:9px}.love-end{margin:20px -22px 0;padding:42px 24px}.love-end h2{font-size:46px}.hug-message{font-size:26px}.photo-dialog{width:95vw;padding:55px 12px 12px;max-height:94svh}.photo-dialog>img{max-height:calc(90svh - 150px)}.photo-controls p{font-size:9px}.photo-controls{gap:8px}.photo-controls button{flex-shrink:0}.reset-dialog{padding:30px 22px}.reset-dialog h2{font-size:34px}}
@media(max-width:360px){.intro{padding-inline:18px}.intro h1{font-size:59px}.hero-main{height:300px}.hero-side{height:160px}.hero-top{height:113px}.hero-collage{min-height:370px}.wordmark em{font-size:20px}.sound-button{font-size:7px}.chapter-head h1{font-size:39px}.journey{padding-inline:15px}.name-star{min-width:68px}.name-star small{font-size:17px}.finale-heading h1{font-size:55px}}
.intro{overflow:clip}.intro-copy,.hero-collage{min-width:0}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.ambient,.confetti-heart{display:none}}
