@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&display=swap";:root{font-family:DM Sans,sans-serif;color:#5e4938;background:#f8efe2;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:radial-gradient(ellipse at 12% 12%,#fffaf1 0,transparent 35%),radial-gradient(ellipse at 90% 75%,#ead9c6 0,transparent 36%),#f8efe2}button,input{font:inherit}button{cursor:pointer}button:disabled{opacity:.4;cursor:not-allowed}.site-shell{max-width:1120px;margin:0 auto;min-height:100vh;padding:0 24px;position:relative;overflow:hidden}.ambient{position:absolute;border-radius:50%;filter:blur(1px);pointer-events:none;opacity:.35}.ambient-one{width:240px;height:240px;background:#f3d8d0;top:190px;left:-190px}.ambient-two{width:300px;height:300px;background:#d9e1cf;right:-250px;top:650px}.topbar{height:76px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #e6d8c6;position:relative;z-index:1}.brand{display:flex;align-items:center;gap:9px;color:#6a503b;text-decoration:none;font-size:13px;font-weight:700;letter-spacing:.03em}.brand i{font-family:Playfair Display,serif;font-weight:400}.brand-mark{display:grid;place-items:center;background:#ead5c2;color:#9e7256;width:29px;height:29px;border-radius:50%}.top-note{display:flex;align-items:center;gap:6px;color:#9b8069;font-size:11px;letter-spacing:.08em;text-transform:uppercase}.experience{position:relative;z-index:1;max-width:800px;margin:28px auto 44px}.progress-row{display:flex;justify-content:space-between;color:#a0876f;font-size:10px;font-weight:700;letter-spacing:.15em;margin-bottom:10px}.progress-row b{font-weight:400;color:#c5ae97}.progress-track{height:3px;background:#e9dccc;border-radius:9px;overflow:hidden;margin-bottom:24px}.progress-track span{display:block;height:100%;background:linear-gradient(90deg,#b99170,#e0c6a5);border-radius:9px;transition:width .45s ease}.screen{animation:fadeIn .45s ease both;min-height:580px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:24px}.screen-copy{text-align:center;max-width:470px;padding:0 14px}.eyebrow{font-size:10px;letter-spacing:.19em;font-weight:700;color:#ae8768;text-transform:uppercase}.screen-copy h2,.hint-tag h2,.scratch-paper h2{font-family:Playfair Display,serif;font-size:clamp(30px,5vw,43px);line-height:1.15;font-weight:400;margin:12px 0;color:#644a36;letter-spacing:-.03em}.screen-copy h2 em{font-weight:400;color:#a67a5a}.screen-copy p{font-size:13px;line-height:1.8;color:#967e68;margin:12px auto 20px;max-width:360px}.primary-button{border:0;border-radius:100px;background:#79583f;color:#fff8ed;padding:14px 22px;min-height:47px;display:inline-flex;align-items:center;justify-content:center;gap:12px;font-size:12px;font-weight:600;box-shadow:0 7px 16px #7c5a3c20;transition:transform .2s,background .2s}.primary-button:hover{transform:translateY(-2px);background:#63452f}.primary-button:active{transform:translateY(0)}.micro-note{display:flex;justify-content:center;align-items:center;gap:6px;margin-top:18px;font-size:10px;color:#b09a84}.micro-note svg{color:#c69b70}.centered{text-align:center}.centered-button{margin:0 auto}.text-button{display:inline-flex;align-items:center;justify-content:center;gap:6px;background:none;border:0;color:#a68161;text-decoration:underline;text-underline-offset:4px;font-size:12px;padding:10px}.error-message{color:#b3655d!important;font-size:12px!important;margin:10px auto!important}.extra-hint{padding:10px 15px;background:#f1e5d5;border-radius:12px;font-size:12px!important}.welcome-screen{display:grid;grid-template-columns:1fr 1fr;gap:42px;align-items:center;min-height:560px}.welcome-scene{height:430px;width:100%;max-width:330px;justify-self:center;position:relative;display:grid;place-items:center;background:linear-gradient(150deg,#6c7157,#a1a082 55%,#6f765d);border-radius:170px 170px 26px 26px;box-shadow:inset 0 0 0 8px #e7d7bd,0 18px 38px #6d53351b;overflow:hidden}.welcome-scene:before{content:"";position:absolute;top:15px;right:15px;bottom:15px;left:15px;border:1px solid #e9d7b8a8;border-radius:160px 160px 18px 18px}.moon{position:absolute;top:33px;right:46px;width:35px;height:35px;border-radius:50%;background:#f1dfb5;box-shadow:0 0 28px #f1dfb58a}.tiny-star{position:absolute;color:#fff0cf;font-size:21px}.star-a{top:95px;left:38px}.star-b{top:135px;right:40px}.arch{width:76%;height:76%;background:linear-gradient(145deg,#fff5df,#ead4b3);border-radius:150px 150px 15px 15px;padding:8px;box-shadow:0 10px 28px #33351e35;position:relative;z-index:1}.arch-inner{height:100%;border:1px solid #c7a77e;border-radius:145px 145px 10px 10px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:22px}.scene-kicker{font-size:8px;letter-spacing:.2em;color:#a17b56}.sleepy-cloud{font-size:32px;color:#c6b79b;margin:18px 0 4px}.arch h1{font:400 26px/1.25 Playfair Display,serif;color:#6b4f39;margin:4px 0}.period{color:#bd8b65}.scene-heart{color:#bd9270;margin:16px}.arch p{font-size:9px;letter-spacing:.06em;color:#a28364}.scene-plants{position:absolute;bottom:8px;width:100%;display:flex;justify-content:space-around;color:#e6d1a6;font-size:28px;opacity:.9}.welcome-screen .screen-copy{text-align:left;padding:0}.welcome-screen .screen-copy p{margin-left:0}.welcome-screen .micro-note{justify-content:flex-start}.map-screen{gap:20px}.journey-map{width:min(100%,420px);height:300px;position:relative;border-radius:24px;background:linear-gradient(135deg,#e9e5cf,#d9dfcb);overflow:hidden;border:1px solid #d6d4b9}.journey-map:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:radial-gradient(#fff8e5 1px,transparent 1px);background-size:19px 19px;opacity:.7}.dotted-path{position:absolute;top:10px;right:10px;bottom:10px;left:10px;width:calc(100% - 20px);height:calc(100% - 20px)}.dotted-path path{fill:none;stroke:#ad9b78;stroke-width:2;stroke-dasharray:3 7}.map-stop{position:absolute;background:#fff7e7e8;border:1px solid #e1cbb0;border-radius:13px;padding:10px 13px 10px 45px;box-shadow:0 5px 12px #4b56321a;min-width:155px}.map-stop b{display:block;font:500 15px Playfair Display,serif}.map-stop small{display:block;font-size:9px;color:#a38b71;margin-top:4px}.stop-number{position:absolute;left:10px;top:11px;background:#a9805e;color:#fff;width:25px;height:25px;border-radius:50%;display:grid;place-items:center;font-size:9px}.stop-icon{position:absolute;right:10px;top:-14px;background:#f5e2c6;border-radius:50%;width:27px;height:27px;display:grid;place-items:center;color:#a9805e}.stop-one{top:20px;left:10%}.stop-two{top:112px;right:8%}.stop-three{bottom:15px;left:21%}.hint-screen{gap:20px}.sky-scene{width:min(100%,430px);height:360px;border-radius:180px 180px 22px 22px;position:relative;overflow:hidden;background:linear-gradient(#c9dce0,#f1e3d0 75%);border:7px solid #f4e6d2;box-shadow:0 10px 25px #6c4c3010}.cloud{position:absolute;width:110px;height:32px;border-radius:40px;background:#fff8ebaa}.cloud:before,.cloud:after{content:"";position:absolute;background:inherit;border-radius:50%;width:40px;height:40px;top:-16px;left:20px}.cloud:after{width:32px;height:32px;left:53px;top:-8px}.cloud-one{top:45px;left:-25px}.cloud-two{top:70px;right:-32px}.hanging-star{position:absolute;top:0;left:50%;font-size:36px;color:#d2ad7d}.hint-tag{position:absolute;top:30px;width:100%;text-align:center}.hint-tag h2{font-size:28px;margin:8px}.hint-tag p{font-size:11px;color:#927a62}.hint-medallion{position:absolute;left:50%;top:49%;transform:translate(-50%,-35%);width:245px;height:190px;background:#fff5e4e8;border:1px solid #d9c19e;border-radius:48% 48% 45% 45%;box-shadow:0 8px 25px #7e6b4d15;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:22px}.hint-flower{font-size:25px;color:#b78e6a}.hint-medallion p{font:17px/1.55 Playfair Display,serif;color:#77573d}.hint-medallion strong{color:#a57650}.tiny-heart{color:#b88c6b;font-size:24px}.cloud-floor{position:absolute;bottom:-12px;width:100%;text-align:center;font-size:32px;color:#fff8eb}.puzzle-screen{gap:18px}.puzzle-art{width:230px;height:200px;position:relative;background:#e8d6b9;border-radius:25px;box-shadow:inset 0 0 0 8px #f4e6d1;display:grid;place-items:center;transform:rotate(-2deg)}.puzzle-art:before{content:"";position:absolute;top:17px;right:17px;bottom:17px;left:17px;border:1px dashed #c6a982;border-radius:15px}.puzzle-piece{position:absolute;width:58px;height:58px;display:grid;place-items:center;background:#fff4df;border:1px solid #c9ad88;border-radius:12px;color:#a77c58;font:25px Playfair Display,serif;box-shadow:0 5px 10px #5f43251a}.piece-a{left:23px;top:24px;transform:rotate(-13deg)}.piece-b{right:20px;top:31px;transform:rotate(12deg)}.piece-c{right:27px;bottom:22px;transform:rotate(8deg)}.piece-d{left:22px;bottom:20px;transform:rotate(-12deg)}.puzzle-center{z-index:1;text-align:center;font:15px/1.2 Playfair Display,serif;color:#8e6a4a}.puzzle-center em{font-size:25px}.puzzle-spark{position:absolute;top:6px;left:50%;color:#b58d62}.answer-form{display:flex;gap:8px;justify-content:center;flex-wrap:wrap}.answer-form input{width:190px;border:1px solid #dfcbb4;background:#fffaf1;border-radius:100px;padding:0 17px;outline:none;color:#6d4d35;font-size:12px}.answer-form input:focus{border-color:#b38a65;box-shadow:0 0 0 3px #d6b79735}.scratch-screen{gap:25px}.scratch-paper{width:min(100%,410px);background:#fff7e9;border:1px solid #e6d4b8;border-radius:18px;padding:36px 22px 25px;text-align:center;position:relative;box-shadow:0 12px 30px #70533312;overflow:hidden}.scratch-paper:before{content:"";position:absolute;top:9px;right:9px;bottom:9px;left:9px;border:1px dashed #e0c7a7;border-radius:12px;pointer-events:none}.scratch-paper h2{font-size:29px}.scratch-paper p{font-size:12px;color:#9b8268}.flower{position:absolute;color:#d6b38d;font-size:35px}.flower-left{top:12px;left:18px}.flower-right{top:12px;right:18px}.scratch-wrap{position:relative;width:100%;height:135px;margin:23px auto 10px;border-radius:14px;overflow:hidden;background:#f2e1c7;border:1px solid #ddc4a1}.under-scratch{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:8px;background:radial-gradient(circle at 50% 40%,#fff7e6,#ead2b0)}.under-scratch span{font:29px Playfair Display,serif;letter-spacing:.2em;color:#926b49}.under-scratch small{font-size:11px;color:#aa8867}.scratch-canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;touch-action:none;cursor:crosshair}.scratch-instruction{font-size:10px;color:#ac8b6b}.gift-screen{gap:14px}.gift-scene{width:280px;height:270px;position:relative;display:grid;place-items:center}.gift-halo{position:absolute;width:210px;height:210px;border-radius:50%;background:radial-gradient(circle,#fff7e7,#ead6bc 70%,transparent 71%)}.gift-stars{position:absolute;top:28px;color:#bd9b75;letter-spacing:.2em}.gift-box{width:140px;height:125px;position:relative;margin-top:40px;filter:drop-shadow(0 14px 9px #6d49252b);transition:transform .5s}.gift-body{position:absolute;bottom:0;width:140px;height:88px;background:linear-gradient(110deg,#d8a985,#edc8a7);border-radius:4px 4px 10px 10px;border:1px solid #c99d78}.gift-ribbon{position:absolute;left:57px;top:0;width:25px;height:100%;background:#fff0d5a8}.gift-lid{position:absolute;z-index:2;top:15px;left:-8px;width:156px;height:25px;background:linear-gradient(#e8c4a2,#d3a17d);border-radius:4px;transition:transform .6s;transform-origin:left bottom}.gift-lid span{position:absolute;left:64px;width:26px;height:25px;background:#fff0d5a8}.gift-bow{position:absolute;z-index:3;top:-19px;left:52px;color:#fff1d5;font-size:54px;transform:rotate(90deg)}.gift-glow{position:absolute;top:-25px;left:62px;color:#b98c64;font-size:30px;opacity:0;transition:opacity .3s}.is-open .gift-lid{transform:translate(-10px,-35px) rotate(-18deg)}.is-open .gift-glow{opacity:1}.is-open .gift-box{transform:translateY(-8px)}.gift-message{position:absolute;top:3px;display:flex;flex-direction:column;align-items:center;gap:7px;color:#a47b56;font:16px/1.5 Playfair Display,serif;text-align:center;animation:fadeIn .4s}.reveal-screen{gap:15px;position:relative}.reveal-sky{width:min(100%,480px);height:340px;position:relative;display:grid;place-items:center;border-radius:180px 180px 20px 20px;background:linear-gradient(160deg,#e6dce7,#f8e8d5 55%,#f4d8d1);border:7px solid #fff4e4;overflow:hidden}.reveal-sky:before{content:"";position:absolute;width:280px;height:280px;border:1px solid #fff8e6;border-radius:50%;box-shadow:0 0 0 20px #fff5e533,0 0 0 45px #fff5e522}.reveal-card{z-index:1;text-align:center;width:80%;padding:32px 15px;background:#fff9ecdc;border:1px solid #e5c9a7;border-radius:48% 48% 22px 22px;box-shadow:0 10px 25px #6d4a2b12}.reveal-card h1{font:italic 500 clamp(39px,8vw,57px) "Playfair Display",serif;color:#986d4b;margin:18px 0 10px}.little-crown{font-size:25px;color:#c29b71;margin-top:14px}.reveal-divider{display:flex;align-items:center;gap:10px;justify-content:center;color:#c19a74}.reveal-divider:before,.reveal-divider:after{content:"";height:1px;width:35px;background:#d7b996}.reveal-card p{font:14px Playfair Display,serif;color:#896b50}.reveal-flower{color:#c69a76;font-size:20px}.balloon{position:absolute;z-index:2;width:45px;height:55px;border-radius:50% 50% 45% 45%;display:grid;place-items:center;font-size:20px;box-shadow:inset -7px -4px 10px #0000000c}.balloon:after{content:"";position:absolute;width:1px;height:90px;top:54px;background:#bba18c}.balloon-pink{left:12%;top:20%;background:#f0c6c6;color:#fff4e4}.balloon-gold{right:13%;top:15%;background:#e8d1a9;color:#fff7e6}.balloon-blue{right:10%;bottom:17%;background:#c7d7d8;color:#fff7e6}.confetti{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:3;overflow:hidden}.confetti i{position:absolute;top:-10px;color:#bd9871;font-style:normal;font-size:18px;animation:fall 2.2s ease-in forwards}.keepsake-screen{gap:24px}.keepsake-photo{width:min(100%,330px);height:270px;background:#fffaf0;padding:13px;box-shadow:0 12px 28px #70533320;transform:rotate(-2deg);position:relative}.photo-inner{height:100%;position:relative;overflow:hidden;background:linear-gradient(155deg,#e8e0cc,#d3d8c4 55%,#f1d9c8);border:1px solid #e5d5be;display:flex;align-items:center;justify-content:center;flex-direction:column}.photo-inner:before,.photo-inner:after{content:"✿　❧　✿";position:absolute;color:#fff2d8;font-size:25px;letter-spacing:12px}.photo-inner:before{top:20px;left:-12px}.photo-inner:after{bottom:22px;right:-12px}.tiny-sun{position:absolute;top:18px;right:22px;color:#f5e3b9;font-size:30px}.baby-moon{width:105px;height:105px;border-radius:50%;background:#f7e9d1;display:grid;place-items:center;color:#b18b68;font-size:62px;box-shadow:0 8px 25px #7b62401b}.photo-caption{font:italic 13px Playfair Display,serif;color:#8b765e;margin-top:16px}.tape{position:absolute;top:-9px;left:calc(50% - 35px);width:70px;height:20px;background:#e7cda9aa;transform:rotate(3deg)}.keepsake-name{font:italic 20px Playfair Display,serif;color:#a27a58;display:flex;align-items:center;justify-content:center;gap:8px;margin:-6px 0 4px}.footer-note{font-size:10px!important;color:#b19a83!important;margin:10px auto 0!important}.restart-button{margin-top:2px}.site-footer{border-top:1px solid #e6d8c6;display:flex;justify-content:space-between;padding:18px 0 24px;color:#b19a83;font-size:10px;letter-spacing:.04em;position:relative;z-index:1}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes fall{0%{top:-10px;opacity:0}10%{opacity:1}to{top:105%;opacity:0}}@media(max-width:680px){.site-shell{padding:0 16px}.topbar{height:65px}.top-note{font-size:9px}.experience{margin-top:20px}.screen{min-height:560px}.welcome-screen{display:flex;gap:25px;min-height:auto;padding:12px 0 25px}.welcome-scene{height:330px;max-width:280px}.arch h1{font-size:23px}.welcome-screen .screen-copy{text-align:center}.welcome-screen .screen-copy p{margin:12px auto 20px}.welcome-screen .micro-note{justify-content:center}.screen-copy h2{font-size:34px}.journey-map{height:280px}.map-stop{min-width:145px;padding-right:8px}.stop-two{right:4%}.stop-three{left:14%}.sky-scene{height:330px}.hint-medallion{top:51%;width:220px;height:170px}.reveal-sky{height:320px}.site-footer{font-size:9px;gap:12px}.answer-form{flex-direction:column;align-items:center}.answer-form input{height:46px;width:min(100%,260px)}.scratch-paper{padding-top:34px}.keepsake-photo{height:240px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}.topbar-actions{display:flex;align-items:center;gap:14px}.audio-playback-notice{display:flex;flex-direction:column;align-items:center;color:#b3655d;font-size:11px;margin:0 auto 12px}@media(max-width:680px){.topbar-actions{gap:8px}.top-note{display:none}}@media(max-width:760px){body{min-width:0;min-height:100vh;min-height:100dvh}.site-shell{width:100%;min-height:100vh;min-height:100dvh;padding:0 16px;overflow-x:hidden;overflow-y:visible}.topbar{height:64px}.experience{width:100%;margin:16px auto 26px}.progress-row{gap:10px;font-size:9px;letter-spacing:.1em}.progress-row span:first-child{min-width:0}.screen{width:100%;min-height:0;padding:14px 0 24px;gap:22px}.screen-copy{width:100%;max-width:470px;padding:0 8px}.screen-copy h2{font-size:clamp(29px,8vw,36px);overflow-wrap:anywhere}.screen-copy p{font-size:13px}.primary-button{max-width:100%;white-space:normal}.welcome-screen{display:flex;min-height:0;gap:24px;padding-top:8px}.welcome-scene{width:min(78vw,280px);height:clamp(270px,78vw,330px);flex:none}.arch{width:78%;height:78%}.arch-inner{padding:16px}.welcome-screen .screen-copy{text-align:center;padding:0 8px}.welcome-screen .screen-copy p{margin:12px auto 20px}.welcome-screen .micro-note{justify-content:center}.map-screen{gap:18px}.journey-map{width:100%;height:390px}.map-stop{width:calc(100% - 32px);max-width:260px;min-width:0}.stop-one{top:18px;left:16px}.stop-two{top:137px;right:16px}.stop-three{bottom:18px;left:16px}.sky-scene{width:min(100%,430px);height:clamp(310px,92vw,360px)}.hint-tag{top:clamp(22px,7vw,30px);padding:0 12px}.hint-tag h2{font-size:clamp(24px,7vw,28px)}.hint-tag p{padding:0 12px}.hint-medallion{width:min(245px,72vw);height:clamp(160px,54vw,190px);padding:16px}.hint-medallion p{font-size:clamp(15px,4.7vw,17px)}.puzzle-screen{gap:20px}.puzzle-art{width:min(230px,75vw);flex:none}.answer-form{width:100%;flex-direction:column;align-items:stretch}.answer-form input{width:100%;min-height:47px}.answer-form .primary-button{width:100%}.scratch-screen{gap:20px}.scratch-paper{width:100%;padding:36px 18px 24px}.scratch-paper h2{font-size:clamp(25px,7vw,29px)}.scratch-wrap{height:clamp(120px,38vw,145px)}.gift-scene{width:min(280px,80vw);height:250px;flex:none}.reveal-screen{gap:18px}.reveal-sky{width:100%;height:clamp(290px,88vw,340px)}.reveal-card{width:min(84%,360px);padding:clamp(22px,7vw,32px) 12px}.reveal-card h1{font-size:clamp(34px,10vw,50px);overflow-wrap:anywhere}.reveal-card p{font-size:13px}.balloon-pink{left:7%}.balloon-gold{right:7%}.balloon-blue{right:6%}.keepsake-screen{gap:20px}.keepsake-photo{width:min(330px,90%);height:clamp(220px,70vw,270px)}.keepsake-screen .screen-copy h2{font-size:clamp(27px,7.5vw,34px)}.site-footer{gap:8px;flex-wrap:wrap;padding:16px 0 calc(20px + env(safe-area-inset-bottom));line-height:1.6}}@media(max-width:360px){.site-shell{padding-right:12px;padding-left:12px}.progress-row{font-size:8px;letter-spacing:.07em}.experience{margin-top:12px}.screen{gap:18px}.map-stop{width:calc(100% - 24px);left:12px;right:auto}.stop-two{left:12px}.scratch-paper{padding-right:14px;padding-left:14px}.reveal-card .eyebrow{font-size:8px;letter-spacing:.12em}}
