@import"https://fonts.googleapis.com/css2?family=Caveat:wght@400;500;600;700&family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,500;0,600;0,700;1,500;1,600&display=swap";:root{font-family:DM Sans,sans-serif;color:#f7eafa;background:#100b20;font-synthesis:none;text-rendering:optimizeLegibility;--pink:#f6b8df;--lav:#d9c2ff;--gold:#ffe5ad}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px;background:#100b20}button{font:inherit}.site{position:relative;min-height:100vh;overflow:hidden;background:radial-gradient(ellipse at 50% 16%,#30204c,#19112f,#100b20 76%)}.starfield{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;overflow:hidden;pointer-events:none}.star{position:absolute;border-radius:50%;background:#fff4ff;opacity:.3;box-shadow:0 0 10px 2px #f8c9ff;animation:twinkle 3s ease-in-out infinite}.meteor{position:absolute;width:110px;height:2px;border-radius:100%;background:linear-gradient(90deg,transparent,#fff,#ffd9f2,transparent);filter:drop-shadow(0 0 5px #ffd1ed);opacity:0;transform:rotate(-32deg);animation:meteorFly 7s ease-in-out infinite}.nebula{position:absolute;width:55vw;height:45vw;max-width:700px;max-height:550px;border-radius:50%;filter:blur(85px);opacity:.12}.nebula-a{background:#a45acb;top:5%;left:-22%}.nebula-b{background:#5d75ce;right:-25%;top:48%}.ambient-glow{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:radial-gradient(ellipse at 50% 52%,transparent 20%,rgba(7,4,17,.18) 100%);z-index:0}.nav{height:76px;width:min(1120px,calc(100% - 56px));margin:auto;display:flex;align-items:center;justify-content:space-between;position:relative;z-index:3;border-bottom:1px solid rgba(255,255,255,.08)}.wordmark{font-size:10px;letter-spacing:.2em;color:#ead9f3;text-decoration:none}.nav>span{font-size:10px;color:#b9a8ca}.nav b{color:var(--pink);font-size:15px}.section{position:relative;z-index:1}.hero{min-height:calc(100svh - 76px);padding:54px 22px 84px;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center}.hero-orbit{width:150px;height:142px;position:relative;margin:0 auto 22px;animation:float 5s ease-in-out infinite}.planet{position:absolute;width:108px;height:108px;left:21px;top:13px;border-radius:50%;background:radial-gradient(circle at 34% 25%,#fff1f9,#e9a9d4 42%,#a46dbf);box-shadow:inset -12px -12px 25px #4b236438,0 0 40px #e69ee059;z-index:2}.eye{position:absolute;top:42px;width:6px;height:9px;border-radius:50%;background:#50345e}.eye-a{left:36px}.eye-b{right:36px}.cheek{position:absolute;top:58px;width:15px;height:7px;border-radius:50%;background:#f675a98c;filter:blur(2px)}.cheek-a{left:19px}.cheek-b{right:19px}.planet-smile{position:absolute;left:47px;top:60px;width:14px;height:8px;border-bottom:2px solid #68405f;border-radius:0 0 15px 15px}.ring{position:absolute;left:1px;top:52px;width:148px;height:42px;border:2px solid rgba(232,197,255,.55);border-radius:50%;transform:rotate(-18deg)}.ring-b{transform:rotate(65deg);width:133px;left:8px;opacity:.4}.planet-arm{position:absolute;z-index:4;right:-1px;top:1px;width:46px;height:66px;transform-origin:13px 51px;animation:wave 1.1s ease-in-out infinite}.planet-arm:before{content:"";position:absolute;left:4px;bottom:3px;width:10px;height:31px;border-radius:10px;background:linear-gradient(#f4c6e6,#c987c5);transform:rotate(-24deg);box-shadow:0 0 9px #f2b9e8}.palm{position:absolute;left:0;top:0;width:27px;height:25px;border-radius:48% 48% 45% 45%;background:linear-gradient(145deg,#ffe8f6,#e9a9d4);box-shadow:0 0 12px #ffbeeb73;transform:rotate(14deg)}.palm i{position:absolute;bottom:16px;width:6px;height:16px;border-radius:8px;background:#f6cce8;border:1px solid rgba(190,116,173,.35)}.palm i:nth-child(1){left:0;transform:rotate(-17deg)}.palm i:nth-child(2){left:7px;bottom:20px;height:18px}.palm i:nth-child(3){left:14px;bottom:19px;height:17px}.palm i:nth-child(4){left:21px;bottom:14px;height:13px;transform:rotate(15deg)}.palm b{position:absolute;width:9px;height:7px;left:-5px;top:10px;border-radius:8px;background:#f2c2e2;transform:rotate(-35deg)}.hello-bubble{position:absolute;right:-18px;top:-1px;color:#ffe4f6;font:22px Caveat,cursive;text-shadow:0 0 12px #f4aee0;animation:bubble 2.8s ease-in-out infinite}.orbit-spark{position:absolute;color:#ffe7fb;text-shadow:0 0 12px #f8b9e9}.spark-a{left:1px;top:13px}.spark-b{right:4px;bottom:2px}.eyebrow{font-size:9px;letter-spacing:.22em;color:#c9b4d9;display:flex;align-items:center;justify-content:center;gap:12px;margin:0 0 20px}.eyebrow i{display:block;width:27px;height:1px;background:linear-gradient(90deg,transparent,#e9b9df)}.eyebrow i:last-child{transform:rotate(180deg)}.hello{font:26px Caveat,cursive;color:#f3c9e5;margin:0 0 8px}.hero h1{font:500 clamp(48px,8vw,88px)/.98 "Playfair Display",serif;letter-spacing:-.045em;margin:0;color:#fff0fa}.hero h1 em,.letter-heading h2 em,.proposal-section h2 em{color:#e9bce7;font-weight:500}.hero-copy{font-size:13px;line-height:1.9;color:#c6b6d5;margin:23px 0 25px}.hero-copy strong{color:#f5d5eb}.glow-button{border:1px solid rgba(255,210,242,.45);border-radius:999px;padding:13px 21px;color:#fff0fa;background:linear-gradient(110deg,#ffbfe52b,#caaeff29);box-shadow:0 0 28px #e19ddf1f;cursor:pointer;transition:transform .2s,box-shadow .2s}.glow-button:hover{transform:translateY(-2px);box-shadow:0 0 34px #e19ddf40}.glow-button span{margin-left:12px}.scroll-hint{position:absolute;bottom:25px;font-size:8px;letter-spacing:.2em;color:#9e8eaf;display:flex;align-items:center;gap:9px}.mouse{width:14px;height:22px;border:1px solid #bda7ca;border-radius:9px;display:flex;justify-content:center;padding-top:4px}.mouse i{width:2px;height:5px;background:#f0c4e4;border-radius:2px;animation:mousewheel 1.5s infinite}.letter-section{padding:100px 20px 105px;display:flex;align-items:center;flex-direction:column;text-align:center}.letter-heading{max-width:680px}.letter-heading h2{font:500 clamp(36px,5.5vw,57px)/1.06 "Playfair Display",serif;color:#fff0fa;margin:0 0 10px}.instruction{color:#b6a5c8;font:17px Caveat,cursive;margin:0}.scroll-wrap{position:relative;width:min(690px,100%);margin:54px auto 0;padding:0;filter:drop-shadow(0 28px 45px rgba(0,0,0,.28))}.scroll-roll{height:30px;position:relative;z-index:4;border-radius:50%;background:linear-gradient(180deg,#f5d9c5,#b98579 20%,#f0d1bd 42%,#9b696e 72%,#e8c5b2);box-shadow:0 5px 12px #0000003d,inset 0 2px 4px #ffffffa6;width:calc(100% + 26px);margin-left:-13px}.scroll-roll span{display:block;position:absolute;left:0;right:0;top:8px;height:14px;border-radius:50%;background:linear-gradient(90deg,#a76f72,#f6d9c6 22%,#c28c83,#f6d9c6 78%,#a76f72);box-shadow:inset 0 2px 4px #48222a4d}.roll-top{transform:translateY(18px) scaleY(.7);transform-origin:center;transition:transform 1s cubic-bezier(.2,.75,.2,1)}.roll-bottom{transform:translateY(-18px) scaleY(.7);transform-origin:center;transition:transform 1s cubic-bezier(.2,.75,.2,1)}.parchment{height:0;overflow:hidden;opacity:.3;background:linear-gradient(110deg,#f5dfca,#fff0dd 18%,#f7e5d1 55%,#eacdb8);border-left:1px solid rgba(255,245,225,.7);border-right:1px solid rgba(255,245,225,.7);box-shadow:inset 0 0 35px #89544a1f;transition:height 1.15s cubic-bezier(.18,.72,.22,1),opacity .55s ease;position:relative;color:#65465b}.parchment:before,.parchment:after{content:"";position:absolute;top:0;bottom:0;width:18px;opacity:.35;background:linear-gradient(90deg,rgba(152,94,88,.18),transparent)}.parchment:before{left:0}.parchment:after{right:0;transform:rotate(180deg)}.parchment-inner{padding:37px clamp(22px,6vw,62px) 30px;min-height:100%;position:relative}.is-open .roll-top,.is-open .roll-bottom{transform:translateY(0) scaleY(1)}.is-open .parchment{height:620px;opacity:1;transition-delay:.1s}.paper-topline{font-size:9px;letter-spacing:.22em;color:#a27680;margin:0 0 18px}.heart-medallion{position:absolute;right:clamp(22px,6vw,62px);top:27px;width:44px;height:44px;border:1px solid rgba(165,112,132,.55);border-radius:50%;display:grid;place-items:center}.heart-medallion span{font-size:22px;color:#e32652;text-shadow:0 0 7px rgba(245,43,87,.38);animation:redHeartbeat 1.15s ease-in-out infinite}.salutation{font:27px Caveat,cursive;text-align:left;color:#744b66;margin:24px 0 15px}.ink-copy{text-align:left;max-width:540px;margin:auto}.ink-line{font:clamp(18px,2.6vw,23px)/1.36 "Caveat",cursive;color:#573a57;margin:0 0 8px;min-height:24px;position:relative}.ink-text{opacity:0;filter:blur(5px);text-shadow:0 0 15px rgba(255,255,255,.95),0 0 22px rgba(231,143,192,.85)}.is-open .ink-text{animation:inkManifest .95s ease-out forwards;animation-delay:calc(1.45s + var(--line)*.42s)}.ink-trail{position:absolute;left:0;top:0;color:#fff;font:16px DM Sans,sans-serif;letter-spacing:9px;opacity:0;text-shadow:0 0 8px #fff,0 0 18px #eaa0d1;pointer-events:none}.is-open .ink-trail{animation:inkSpark .9s ease-out both;animation-delay:calc(1.25s + var(--line)*.42s)}.letter-signoff{font:600 21px Caveat,cursive;color:#754760;text-align:center;margin:17px 0 0;opacity:0}.letter-signoff span{color:#e24a78}.is-open .letter-signoff{animation:inkManifest .9s ease-out forwards;animation-delay:5.45s}.signature{font:19px Caveat,cursive;color:#9c6c80;text-align:right;margin:5px 0 0;opacity:0}.is-open .signature{animation:inkManifest .7s ease forwards;animation-delay:6s}.paper-foot{position:absolute;bottom:22px;left:0;right:0;text-align:center;font-size:8px;letter-spacing:.16em;color:#b28d93}.unfurl-glints{position:absolute;top:28px;right:-18px;bottom:28px;left:-18px;pointer-events:none;z-index:5}.unfurl-glints i{position:absolute;color:#fff3cf;text-shadow:0 0 10px #fff,0 0 20px #ffbde8;font-style:normal;opacity:0}.is-open .unfurl-glints i{animation:glintPop 1.2s ease-out both}.unfurl-glints i:nth-child(1){top:18%;left:3%;animation-delay:.55s}.unfurl-glints i:nth-child(2){top:38%;right:1%;animation-delay:1.5s}.unfurl-glints i:nth-child(3){top:65%;left:0;animation-delay:2.3s}.unfurl-glints i:nth-child(4){bottom:8%;right:7%;animation-delay:4s}.unfurl-glints i:nth-child(5){top:8%;right:14%;animation-delay:.9s}.letter-after{font:22px Caveat,cursive;color:#d9c1e7;margin:34px 0 0}.proposal-section{min-height:100svh;padding:105px 20px 110px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.question-halo{position:relative;width:150px;height:130px;display:grid;place-items:center;margin-bottom:12px}.heart{font-size:58px;color:#ffb8df;text-shadow:0 0 22px #f48acb,0 0 52px #a65bc1;animation:heartbeat 1.5s infinite}.halo{position:absolute;width:112px;height:112px;border:1px solid rgba(244,190,235,.35);border-radius:50%;animation:haloPulse 3s ease-in-out infinite}.halo-two{width:145px;height:145px;animation-delay:-1.5s}.halo-star{position:absolute;color:#f9d8f2;font-style:normal}.hs-one{top:0;left:15px}.hs-two{right:4px;top:35px}.hs-three{bottom:0;left:26px}.proposal-section>.hello{margin-top:0}.proposal-section h2{font:500 clamp(34px,5vw,55px) "Playfair Display",serif;margin:4px 0 10px}.proposal-section h3{font:500 clamp(53px,9vw,91px)/1 "Playfair Display",serif;color:#fff0fa;margin:12px 0 29px}.answer-buttons{display:flex;gap:17px;align-items:center;justify-content:center;min-height:55px}.yes-button,.no-button{border-radius:999px;padding:14px 32px;font-size:12px;letter-spacing:.12em;cursor:pointer;transition:transform .24s,box-shadow .24s,background .24s}.yes-button{border:0;color:#482744;background:linear-gradient(110deg,#ffc8e5,#e1caff);box-shadow:0 8px 28px #ed9cda3d}.yes-button:hover{transform:translateY(-3px) scale(1.04);box-shadow:0 10px 35px #ed9cda66}.no-button{color:#e9d9f3;border:1px solid rgba(240,213,255,.32);background:#ffffff0f;transform:translate(var(--no-x,0),var(--no-y,0))}.no-button.dodged{transition:transform .28s cubic-bezier(.2,.8,.2,1)}.tiny-whisper{color:#a99bbd;font-size:10px;margin-top:22px}.celebration{position:relative;display:flex;flex-direction:column;align-items:center;max-width:650px;animation:appear .8s ease both}.celebration-heart{color:#ffb6df;font-size:75px;text-shadow:0 0 25px #ff8bc9,0 0 65px #e76bbd;animation:heartbeat 1.2s infinite}.celebration h2{font:500 clamp(48px,9vw,85px)/.98 "Playfair Display",serif;margin:12px 0;color:#fff0fa}.celebration h2 em{color:#f4b9e1}.kiss-message{font:28px Caveat,cursive;color:#ffd3ec;margin:8px 0}.celebration-copy{color:#e0d2eb;max-width:470px;line-height:1.8;font-size:14px}.promise{max-width:480px;padding:22px 28px;margin:14px 0 25px;border:1px solid rgba(255,208,241,.28);border-radius:18px;background:#ffffff12;color:#e8dced;font:italic 18px/1.6 Playfair Display,serif}.promise strong{display:inline-block;margin-top:10px;color:var(--pink);font:600 12px DM Sans,sans-serif}.kiss-confetti{display:none}footer{position:relative;z-index:1;min-height:65px;display:flex;align-items:center;justify-content:center;gap:8px;color:#9e8eb6;font-size:9px;letter-spacing:.1em;text-align:center}footer span{color:#e9b6dc}@keyframes twinkle{0%,to{opacity:.18;transform:scale(.8)}50%{opacity:.95;transform:scale(1.45)}}@keyframes meteorFly{0%,68%,to{opacity:0;transform:translate(0) rotate(-32deg)}72%{opacity:.9}86%{opacity:0;transform:translate(-220px,130px) rotate(-32deg)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-9px)}}@keyframes wave{0%,to{transform:rotate(10deg)}25%,65%{transform:rotate(-28deg)}45%{transform:rotate(-8deg)}}@keyframes bubble{0%,to{opacity:.3;transform:translateY(3px)}50%{opacity:1;transform:translateY(-3px)}}@keyframes mousewheel{0%{opacity:0;transform:translateY(0)}40%{opacity:1}to{opacity:0;transform:translateY(8px)}}@keyframes redHeartbeat{0%,to{transform:scale(1)}15%{transform:scale(1.22)}30%{transform:scale(1)}45%{transform:scale(1.14)}60%{transform:scale(1)}}@keyframes inkManifest{0%{opacity:0;filter:blur(8px);text-shadow:0 0 18px #fff,0 0 30px #e99acb}35%{opacity:.75;filter:blur(2px)}70%{opacity:1;text-shadow:0 0 12px rgba(255,255,255,.8),0 0 18px rgba(226,151,198,.55)}to{opacity:1;filter:blur(0);text-shadow:none}}@keyframes inkSpark{0%{opacity:0;transform:translate(-12px) scale(.5)}25%{opacity:1}to{opacity:0;transform:translate(120px) scale(1.4)}}@keyframes glintPop{0%{opacity:0;transform:scale(.3) rotate(0)}30%{opacity:1;transform:scale(1.4) rotate(35deg)}to{opacity:0;transform:scale(.5) rotate(80deg)}}@keyframes heartbeat{0%,to{transform:scale(1)}12%{transform:scale(1.12)}24%{transform:scale(1)}36%{transform:scale(1.08)}48%{transform:scale(1)}}@keyframes haloPulse{0%,to{transform:scale(.94);opacity:.45}50%{transform:scale(1.08);opacity:.9}}@keyframes appear{0%{opacity:0;transform:translateY(15px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes kissFloat{0%{opacity:0;transform:translateY(20px) scale(.5) rotate(-15deg)}12%{opacity:1}to{opacity:0;transform:translate(calc(var(--x)*.25),-440px) scale(1.3) rotate(25deg)}}@media(max-width:600px){.nav{width:calc(100% - 30px);height:62px}.wordmark{font-size:8px;letter-spacing:.12em}.nav>span{font-size:8px}.hero{min-height:calc(100svh - 62px);padding-bottom:70px}.eyebrow{font-size:8px;letter-spacing:.13em;gap:7px}.eyebrow i{width:13px}.hello{font-size:22px}.hero-copy{font-size:11px}.letter-section{padding:85px 15px}.letter-heading h2{font-size:clamp(34px,9vw,43px)}.scroll-wrap{margin-top:42px;width:calc(100% - 12px)}.is-open .parchment{height:650px}.parchment-inner{padding:34px 22px 28px}.paper-topline{font-size:7px}.heart-medallion{width:38px;height:38px;right:20px;top:24px}.salutation{font-size:24px;margin-top:28px}.ink-line{font-size:clamp(17px,4.7vw,20px);line-height:1.35;margin-bottom:9px}.letter-signoff{font-size:19px;margin-top:19px}.paper-foot{font-size:6px;letter-spacing:.1em}.letter-after{font-size:20px}.proposal-section{padding:85px 16px}.proposal-section h3{font-size:clamp(48px,13vw,70px)}.yes-button,.no-button{padding:13px 25px}.kiss-message{font-size:25px}.celebration-copy{font-size:12px}.promise{font-size:16px;padding:18px 20px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}.is-open .ink-text,.is-open .letter-signoff,.is-open .signature{opacity:1;filter:none}}.finger-touch{width:min(310px,78vw);height:94px;margin:-7px auto 20px;position:relative;filter:drop-shadow(0 0 13px rgba(247,177,226,.24));animation:fingerFloat 3.2s ease-in-out infinite}.finger-touch svg{display:block;width:100%;height:100%;overflow:visible}.finger-touch:after{content:"✧";position:absolute;left:50%;top:2px;transform:translate(-50%);font-size:13px;color:#ffe8f8;text-shadow:0 0 12px #ffb9e6;animation:fingerTwinkle 2s ease-in-out infinite}.proposal-section .hello{margin:0 0 8px}.proposal-section h3{margin-bottom:12px}@keyframes fingerFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}@keyframes fingerTwinkle{0%,to{opacity:.35;scale:.8}50%{opacity:1;scale:1.25}}@media(max-width:600px){.finger-touch{height:82px;margin:-4px auto 17px;width:min(290px,84vw)}}.planet-arm{right:-10px;top:42px;width:42px;height:54px;transform-origin:10px 36px}.planet-arm:before{left:1px;bottom:2px;height:25px;width:9px;transform:rotate(-66deg)}.palm{left:0;top:0;transform:rotate(72deg)}.hello-bubble{right:-27px;top:28px}.heart-medallion span{color:#e51f4f;text-shadow:0 0 8px rgba(255,28,76,.8),0 0 19px rgba(255,28,76,.65);animation:redHeartbeat .9s ease-in-out infinite}.hs-three{display:none}.question-halo .heart{color:#e51f4f;text-shadow:0 0 18px rgba(255,34,83,.8),0 0 48px rgba(226,38,96,.55)}.ink-line{isolation:isolate}.ink-text{position:relative;display:inline}.is-open .ink-text{animation:inkManifestBright 1.15s cubic-bezier(.2,.75,.2,1) forwards;animation-delay:calc(1.45s + var(--line)*.48s)}.ink-line:after{content:"✦  ·  ✧  ·  ✦";position:absolute;left:0;top:0;color:#fff9ff;font:12px DM Sans,sans-serif;letter-spacing:8px;white-space:nowrap;pointer-events:none;opacity:0;filter:drop-shadow(0 0 5px #fff) drop-shadow(0 0 12px #ff9cda)}.is-open .ink-line:after{animation:stardustSweep 1.35s ease-out forwards;animation-delay:calc(1.28s + var(--line)*.48s)}.ink-trail{font-size:18px;letter-spacing:12px;text-shadow:0 0 8px #fff,0 0 18px #ff9bd9,0 0 28px #c7a4ff}.is-open .ink-trail{animation:inkSparkBright 1.25s ease-out both;animation-delay:calc(1.2s + var(--line)*.48s)}.is-open .parchment{height:690px}.is-open .letter-signoff{animation:inkManifestBright 1.1s ease-out forwards;animation-delay:6.25s}.is-open .signature{animation:inkManifestBright .8s ease forwards;animation-delay:6.8s}.letter-signoff{max-width:540px;margin:18px auto 0;line-height:1.25}.letter-after{margin-top:38px}.finger-touch{width:min(300px,78vw);height:92px;margin:-2px auto 18px}.finger-touch svg{filter:drop-shadow(0 0 5px rgba(255,205,239,.32))}.celebration-copy{margin:9px auto}.cheeky-kiss{color:#ffd4ed;font:24px/1.45 Caveat,cursive;max-width:520px}.kiss-message{display:none}.promise{margin-top:18px}@keyframes inkManifestBright{0%{opacity:0;filter:blur(9px);color:#fff;text-shadow:0 0 25px #fff,0 0 45px #ff8ed2}24%{opacity:.35;filter:blur(4px)}55%{opacity:1;filter:blur(1px);text-shadow:0 0 15px #fff,0 0 28px #ff9edb,0 0 42px #c7a4ff}to{opacity:1;filter:blur(0);text-shadow:0 0 7px rgba(255,255,255,.45)}}@keyframes stardustSweep{0%{opacity:0;transform:translate(-12px,5px) scale(.65)}18%{opacity:1}65%{opacity:.95;transform:translate(170px,-3px) scale(1.1)}to{opacity:0;transform:translate(290px,-8px) scale(.8)}}@keyframes inkSparkBright{0%{opacity:0;transform:translate(-18px) scale(.35)}20%{opacity:1}70%{opacity:.9}to{opacity:0;transform:translate(180px) scale(1.6)}}@media(max-width:600px){.planet-arm{right:-7px;top:42px}.hello-bubble{right:-24px;top:28px}.is-open .parchment{height:760px}.letter-signoff{font-size:18px}.finger-touch{height:82px;width:min(290px,84vw)}.cheeky-kiss{font-size:22px}}.finger-touch{width:min(220px,64vw);height:76px;margin:0 auto 18px;display:flex;align-items:center;justify-content:center;gap:0;position:relative;filter:drop-shadow(0 0 10px rgba(255,184,226,.28));animation:touchFloat 3s ease-in-out infinite}.finger-touch .touch-finger{display:inline-block;font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",sans-serif;font-size:clamp(43px,12vw,62px);line-height:1;transform-origin:50% 65%;-webkit-user-select:none;user-select:none}.finger-touch .left-finger{animation:fingerNudgeLeft 2.2s ease-in-out infinite}.finger-touch .right-finger{animation:fingerNudgeRight 2.2s ease-in-out infinite}@keyframes fingerNudgeLeft{0%,to{transform:translate(4px) rotate(-5deg)}50%{transform:translate(11px) rotate(0)}}@keyframes fingerNudgeRight{0%,to{transform:translate(-4px) rotate(5deg)}50%{transform:translate(-11px) rotate(0)}}@keyframes touchFloat{0%,to{translate:0 0}50%{translate:0 -4px}}@media(prefers-reduced-motion:reduce){.finger-touch,.finger-touch .touch-finger{animation:none!important}}.little-giggle{font:16px Caveat,cursive;color:#b779a0;text-align:right;margin:0 0 18px;transform:rotate(-7deg);opacity:0}.is-open .little-giggle{animation:inkManifest .7s ease forwards;animation-delay:6.45s}@media(prefers-reduced-motion:reduce){.little-giggle{opacity:1}}.heart-burst-canvas{position:fixed;top:0;right:0;bottom:0;left:0;z-index:30;width:100%;height:100%;pointer-events:none}.umm-button{margin:8px auto 0;padding:12px 27px;border:1px solid rgba(255,203,235,.55);border-radius:999px;color:#ffe4f5;background:linear-gradient(110deg,#ffb8e029,#cfb4ff21);box-shadow:0 0 22px #f49dd821;font:22px Caveat,cursive;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,background .2s ease}.umm-button:hover{transform:translateY(-2px);box-shadow:0 0 28px #f49dd847;background:#ffbee533}.extra-note{width:min(1000px,calc(100vw - 42px));margin:34px auto 0;padding:0 clamp(10px,3vw,34px) 12px;background:transparent;border:0;border-radius:0;box-shadow:none;text-align:center;animation:extraNoteReveal .9s cubic-bezier(.2,.8,.2,1) both}.note-divider{width:min(650px,90%);height:42px;margin:0 auto 22px;display:flex;align-items:center;justify-content:center;position:relative}.note-divider:before,.note-divider:after{content:"";height:2px;flex:1;background:linear-gradient(90deg,transparent,#ff8ecb 45%,#ffb4df);box-shadow:0 0 9px #ff8ecb,0 0 18px #ff7dc68c}.note-divider:after{background:linear-gradient(90deg,#ffb4df,#ff8ecb 55%,transparent)}.note-divider span{width:25px;height:25px;margin:0 18px;position:relative;transform:rotate(45deg)}.note-divider span:before,.note-divider span:after{content:"";position:absolute;background:transparent;border:2px solid #ffb1dc;width:12px;height:12px;border-radius:9px 9px 0;box-shadow:0 0 9px #ff83c7}.note-divider span:before{left:0;top:0}.note-divider span:after{right:0;bottom:0;transform:rotate(180deg)}.extra-note-copy p{margin:0 auto 30px;color:#ffe7f5;font:clamp(22px,3vw,34px)/1.55 "Caveat",cursive;text-shadow:0 0 14px rgba(255,174,224,.25)}.extra-note-copy em{font-style:italic;color:#ff75b7}.blushy-face{width:min(300px,64vw);margin:6px auto 12px;filter:drop-shadow(0 0 12px rgba(255,101,181,.7)) drop-shadow(0 0 28px rgba(255,101,181,.35));animation:blushPulse 2.5s ease-in-out infinite}.blushy-face svg{width:100%;height:auto;overflow:visible}.extra-note-ending{margin:8px auto 18px;color:#ffe2f2;font:clamp(21px,2.6vw,30px)/1.45 "Caveat",cursive;text-shadow:0 0 12px rgba(255,174,224,.22)}.note-divider-bottom{margin-top:16px}@keyframes blushPulse{0%,to{transform:scale(1);filter:brightness(.95)}50%{transform:scale(1.035);filter:brightness(1.18)}}@keyframes extraNoteReveal{0%{opacity:0;transform:translateY(18px);filter:blur(7px)}to{opacity:1;transform:translateY(0);filter:blur(0)}}@media(max-width:600px){.extra-note{width:calc(100vw - 28px);padding:0 4px 8px;margin-top:28px}.note-divider{margin-bottom:18px;height:32px}.note-divider span{margin:0 12px}.extra-note-copy p{font-size:clamp(20px,5.4vw,25px);margin-bottom:23px}.blushy-face{width:min(250px,70vw)}.extra-note-ending{font-size:22px}}@media(prefers-reduced-motion:reduce){.extra-note,.blushy-face{animation:none}}.finger-touch{display:flex;align-items:center;justify-content:center;gap:9px}.finger-touch .touch-finger{flex:0 0 auto}.finger-touch .left-finger{animation:softTouchLeft 2.4s ease-in-out infinite}.finger-touch .right-finger{animation:softTouchRight 2.4s ease-in-out infinite}@keyframes softTouchLeft{0%,to{transform:translate(0) rotate(-2deg)}48%,58%{transform:translate(3px) rotate(0)}}@keyframes softTouchRight{0%,to{transform:translate(0) rotate(2deg)}48%,58%{transform:translate(-3px) rotate(0)}}@media(prefers-reduced-motion:reduce){.finger-touch .left-finger,.finger-touch .right-finger{animation:none}}.finger-touch .touch-finger{font-size:clamp(43px,12vw,62px);line-height:1}.finger-touch .left-finger{animation:exactTouchLeft 2.4s ease-in-out infinite!important}.finger-touch .right-finger{animation:exactTouchRight 2.4s ease-in-out infinite!important}@keyframes exactTouchLeft{0%,to{transform:translate(7px) rotate(-3deg)}48%,58%{transform:translate(14px) rotate(0)}}@keyframes exactTouchRight{0%,to{transform:translate(-7px) rotate(3deg)}48%,58%{transform:translate(-14px) rotate(0)}}@media(max-width:600px){.finger-touch{width:min(210px,70vw)}}.question-halo{width:170px;height:170px;margin:0 auto 18px;isolation:isolate}.question-halo .halo{width:116px;height:116px;border:1px solid rgba(230,190,239,.24);opacity:.85;animation:orbitRingBreath 3.8s ease-in-out infinite}.question-halo .halo-two{width:144px;height:144px;border-color:#e6beef33;animation:orbitRingBreath 3.8s ease-in-out -1.9s infinite}.question-halo .heart{position:relative;z-index:2;display:block;font-size:48px;line-height:1;color:#f0184b;text-shadow:0 0 8px rgba(255,31,78,.95),0 0 20px rgba(255,31,78,.72),0 0 42px rgba(255,31,78,.42);transform-origin:center;animation:codepenHeartPound .5s linear infinite alternate}.question-halo .heart:after{content:"♥";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;color:#ff7693;text-shadow:0 0 12px rgba(255,70,116,.8),0 0 28px rgba(255,70,116,.6);transform-origin:center;animation:codepenHeartEcho 1s linear .4s infinite}.question-halo .halo-star{z-index:3;text-shadow:0 0 8px #ffd9f2,0 0 15px rgba(255,170,220,.8)}@keyframes codepenHeartPound{0%{transform:scale(1.12)}to{transform:scale(.94)}}@keyframes codepenHeartEcho{0%,42%{opacity:.72;transform:scale(1)}50%{opacity:.55;transform:scale(1.18)}58%{opacity:.28;transform:scale(1.38)}72%,to{opacity:0;transform:scale(1.65)}}@keyframes orbitRingBreath{0%,to{transform:scale(.98);opacity:.58}50%{transform:scale(1.025);opacity:.95}}@media(max-width:600px){.question-halo{width:158px;height:158px;margin-bottom:14px}.question-halo .halo-two{width:136px;height:136px}}@media(prefers-reduced-motion:reduce){.question-halo .heart,.question-halo .heart:after,.question-halo .halo{animation:none}}.celebration,.umm-button,.extra-note{overflow-anchor:none}.extra-note{position:relative;scroll-margin:0}.umm-button:focus-visible{outline:2px solid #ffd1ed;outline-offset:4px}.note-divider span{width:auto;height:auto;margin:0 18px;transform:none;color:#ffb1dc;font:34px/1 DM Sans,sans-serif;text-shadow:0 0 8px #ff83c7,0 0 17px rgba(255,131,199,.8)}.note-divider span:before,.note-divider span:after{content:none}.blushy-face{width:min(300px,64vw);margin:12px auto 14px;filter:drop-shadow(0 0 12px rgba(255,101,181,.7)) drop-shadow(0 0 28px rgba(255,101,181,.35))}.blushy-face svg{display:block;width:100%;height:auto}.finger-touch{gap:0!important;width:min(220px,64vw);justify-content:center}.finger-touch .touch-finger{font-size:clamp(43px,12vw,62px);line-height:1;animation:none!important;transform:none!important}.finger-touch:after{animation:fingerTwinkle 2s ease-in-out infinite}@media(max-width:600px){.finger-touch{width:min(210px,70vw)}.extra-note{width:calc(100vw - 28px)}}.pounding-heart{position:relative;width:min(220px,60vw);height:190px;margin:10px auto 14px;filter:drop-shadow(0 0 12px rgba(255,46,90,.65)) drop-shadow(0 0 28px rgba(255,101,181,.35));pointer-events:none}.pheart{position:absolute;top:50%;left:50%;width:100px;height:90px;margin:-45px 0 0 -50px}.pheart:before,.pheart:after{content:"";position:absolute;top:0;width:50px;height:80px;background:#fc2e5a;border-radius:50px 50px 0 0}.pheart:before{left:50px;transform:rotate(-45deg);transform-origin:0 100%}.pheart:after{left:0;transform:rotate(45deg);transform-origin:100% 100%}.pheart-bg:before,.pheart-bg:after{background:#ff7693}.pheart-bg{animation:pheartRipple 1s linear .4s infinite}.pheart-main{animation:pheartPound .5s linear infinite alternate}@keyframes pheartPound{0%{transform:scale(1.5)}to{transform:scale(1)}}@keyframes pheartRipple{0%,46%{transform:scale(1);opacity:1}50%{transform:scale(1.3)}52%{transform:scale(1.5)}55%{transform:scale(2)}to{opacity:0;transform:scale(3.4)}}@media(prefers-reduced-motion:reduce){.pheart-bg{display:none}.pheart-main{animation:none;transform:scale(1.2)}}.proposal-section>.pounding-heart{width:min(240px,70vw);height:200px;margin:0 auto 8px}.finger-touch{--finger-touch:.12em}.finger-touch .left-finger{margin-right:calc(var(--finger-touch) * -1)!important}.finger-touch .right-finger{margin-left:calc(var(--finger-touch) * -1)!important}.extra-note{margin:34px 0 0!important;align-self:center}.blushy-face{width:min(420px,92vw)!important;animation:none}
