
:root{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#681c36;background:#fff9f5;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;font-size:16px;color-scheme:light}
*{box-sizing:border-box}html{min-width:0;scroll-behavior:smooth;scroll-padding-top:80px}body{margin:0;min-width:0}button,input,textarea,select{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:not-allowed}a{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #b78e36;outline-offset:4px}button{min-height:44px}input,textarea,select{font-size:16px}img,svg{max-width:100%}p,h1,h2,h3,button,a{overflow-wrap:anywhere}.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.gateway{position:relative;isolation:isolate;overflow:hidden;min-height:100vh;min-height:100dvh;padding:max(40px,env(safe-area-inset-top)) max(20px,env(safe-area-inset-right)) max(50px,env(safe-area-inset-bottom)) max(20px,env(safe-area-inset-left));display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:radial-gradient(ellipse at 50% 80%,#f8dce6 0,transparent 60%),#fff9f5;gap:16px}.gateway .eyebrow{font-size:9px;letter-spacing:.24em;font-weight:600;color:#975b6f}.gateway h1{font-family:"Playfair Display",Georgia,serif;font-size:clamp(35px,7.7vw,70px);line-height:1.12;font-weight:400;margin:0;max-width:850px}.gateway h1 em{font-family:"Cormorant Garamond",Georgia,serif;color:#b46b84;font-weight:400}.gateway>p{font-size:13px;line-height:1.8;max-width:420px;color:#8b6572;margin:4px 0}.gateway>button,.gateway-link{border:0;border-radius:40px;padding:14px 25px;background:#681c36;color:#fff9f5;display:inline-flex;align-items:center;gap:10px;min-height:48px;text-decoration:none;font-size:13px}.gateway-orbit{border:1px solid #e4c9cc;border-radius:100%;padding:22px;color:#b89143;animation:orbit-glow 2s infinite alternate}.gateway-flower{position:absolute;width:min(65vw,500px);z-index:-1;pointer-events:none;opacity:.35}.gateway-flower.one{bottom:-8%;right:-19%;transform:rotate(-15deg)}.gateway-flower.two{top:-13%;left:-20%;transform:rotate(30deg)}.countdown-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;max-width:450px;width:100%;margin:20px auto}.countdown-grid>div{border:1px solid #e6cdd2;background:#fff9f5a8;border-radius:8px;padding:14px 4px}.countdown-grid strong{display:block;font-family:Georgia,serif;font-size:clamp(25px,6vw,40px);font-weight:400}.countdown-grid span:not(.sr-only){display:block;font-size:8px;text-transform:uppercase;letter-spacing:.13em;padding-top:9px}.countdown-date{font-size:10px!important}.dev-banner{position:fixed;z-index:300;bottom:0;left:0;right:0;padding:5px 10px max(5px,env(safe-area-inset-bottom));background:#fff9f5e8;text-align:center;font-size:8px;letter-spacing:.1em;border-top:1px solid #e0c9cf;backdrop-filter:blur(10px)}@keyframes orbit-glow{to{opacity:.4;transform:scale(1.06)}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}

0,500;0,600;1,400;1,500&family=Great+Vibes&family=Inter:wght@400;500;600&family=Playfair+Display:ital,wght@0,400;0,500;1,400&family=Tajawal:wght@400;500&display=swap');
.love-experience{--pink:#f4b8c8;--blush:#f9dde5;--rose:#c9879b;--burgundy:#681c36;--gold:#d4af37;--ivory:#fff9f5;--sage:#a7b8a0;--plum:#190e1b;--white:#fff;--ink:#502e3b;--button:#681c36;--radius:22px;position:relative;isolation:isolate;background:var(--ivory);color:var(--ink);font-family:Inter,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;overflow-x:clip;min-height:100vh;font-size:15px;line-height:1.65;overflow-wrap:anywhere;-webkit-tap-highlight-color:transparent}.love-experience *{box-sizing:border-box}.love-experience button,.love-experience input{font:inherit}.love-experience button,.love-experience a,.love-experience input{touch-action:manipulation}.love-experience button{cursor:pointer}.love-experience button:disabled{cursor:default;opacity:.5}.love-experience button:focus-visible,.love-experience a:focus-visible,.love-experience input:focus-visible{outline:3px solid var(--gold);outline-offset:5px}.love-experience h1,.love-experience h2,.love-experience h3,.love-experience p{margin:0}.love-experience h1,.love-experience h2,.love-experience h3{font-family:var(--heading-font,'Cormorant Garamond'),Georgia,serif;font-weight:400;line-height:1.1;text-wrap:balance;overflow-wrap:anywhere}.love-experience h2{font-size:clamp(2rem,8vw,3.7rem);letter-spacing:-.045em}.love-experience img{max-width:100%;display:block}.love-experience a{color:inherit;text-decoration:none}.love-experience button{border:0}.eyebrow{font-size:9px;font-weight:500;letter-spacing:.24em;text-transform:uppercase;line-height:1.8;display:flex;align-items:center;justify-content:center;gap:8px}.love-button{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:50px;padding:14px 24px;border-radius:var(--radius);background:var(--button);color:var(--ivory);font-size:12px!important;line-height:1.4!important;letter-spacing:.02em;border:1px solid transparent!important;max-width:100%;transition:transform .2s,background .2s,box-shadow .2s;box-shadow:0 7px 25px rgb(104 28 54 / 10%)}.love-button:active{transform:scale(.97)}.love-button:hover{box-shadow:0 10px 28px rgb(104 28 54 / 20%)}.love-button.is-secondary{background:transparent;color:inherit;border-color:color-mix(in srgb,currentColor 20%,transparent)!important;box-shadow:none}.text-button{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:44px;padding:8px;color:inherit;background:transparent;font-size:12px!important;text-decoration:underline;text-underline-offset:5px}.story-description{font-size:14px;line-height:1.85;max-width:390px;margin:20px auto 28px!important;opacity:.8;text-wrap:pretty}.fine-rule{width:44px;height:1px;background:var(--gold);margin:20px auto}.dark-chapter{color:var(--ivory);background:var(--plum)}.dark-chapter .love-button:not(.is-secondary){background:var(--blush);color:var(--burgundy)}.dark-chapter .eyebrow{color:var(--pink)}
/* Detailed independently layered peony blooms. Artwork adds the ruffled photoreal surface. */
.peony{display:block;position:relative;width:100%;height:100%;isolation:isolate;--flower-color:var(--pink)}.peony-leaf{position:absolute;width:55%;height:25%;border-radius:0 100% 0 100%;background:linear-gradient(24deg,#53664e,var(--sage));box-shadow:inset 0 1px 2px rgb(255 255 255 / 30%);left:3%;top:64%;transform:rotate(32deg);z-index:-1}.peony-leaf.leaf-two{left:57%;top:48%;transform:rotate(-40deg);width:38%}.peony-petal{position:absolute;width:calc(var(--petal-size)*.52);height:calc(var(--petal-size)*.58);left:50%;top:50%;border-radius:48% 52% 45% 43%;transform-origin:50% 86%;background:radial-gradient(ellipse at 50% 20%,color-mix(in srgb,var(--flower-color),white 55%) 3%,var(--flower-color) 55%,color-mix(in srgb,var(--flower-color),#ad486e 25%) 100%);border:.5px solid rgb(255 255 255 / 35%);box-shadow:inset 0 0 7px rgb(255 255 255 / 30%),0 1px 3px rgb(94 33 54 / 15%);transform:translate(-50%,-85%) rotate(var(--petal-angle)) scale(1);transition:transform var(--bloom-speed,1.5s) cubic-bezier(.22,.61,.36,1),opacity var(--bloom-speed,1.5s);transition-delay:calc(var(--petal-layer)*80ms)}.peony-core{position:absolute;inset:37%;background:var(--flower-color);box-shadow:0 0 13px var(--flower-color);border-radius:50%}.peony-art{position:absolute;inset:-6%;width:112%;height:112%;max-width:none!important;object-fit:contain;z-index:2;transition:opacity var(--bloom-speed,1.5s),transform var(--bloom-speed,1.5s);pointer-events:none;filter:drop-shadow(0 8px 7px rgb(80 40 56 / 8%))}.peony.is-bud .peony-petal{transform:translate(-50%,-85%) rotate(calc(var(--petal-angle)*.4)) scale(.45,.7);opacity:.9}.peony.is-bud .peony-art{opacity:0;transform:scale(.35) rotate(-25deg)}.peony.is-bud .peony-core{transform:scale(.6)}.peony.is-golden .peony-art{filter:sepia(.95) saturate(1.1) hue-rotate(352deg) drop-shadow(0 0 10px #e5c363)}
/* Atmosphere stays decorative and lets every touch through. */
.petal-atmosphere{position:fixed;inset:0;pointer-events:none;z-index:8;overflow:hidden;contain:strict}.floating-petal{position:absolute;top:-10%;width:10px;height:17px;border-radius:70% 5% 70% 10%;background:linear-gradient(140deg,#f9dde5cf,#c9879b77);animation:petal-fall linear infinite;opacity:0}.ambient-sparkle{position:absolute;width:3px;height:3px;background:var(--gold);border-radius:50%;animation:sparkle 4s ease-in-out infinite;opacity:.3}.celebration{position:absolute;left:50%;top:65%}.celebration i{position:absolute;font-size:18px;font-style:normal;color:var(--gold);animation:celebrate 1.9s ease-out both}.celebration i:nth-child(2n){color:var(--pink)}@keyframes petal-fall{0%{transform:translate3d(0,-20px,0) rotate(var(--petal-turn));opacity:0}10%{opacity:.55}90%{opacity:.35}100%{transform:translate3d(var(--drift),110vh,0) rotate(calc(var(--petal-turn) + 180deg));opacity:0}}@keyframes sparkle{0%,100%{opacity:.1;transform:scale(.6)}50%{opacity:.7;transform:scale(1.4)}}@keyframes celebrate{0%{opacity:0;transform:translate(0,0) rotate(0)}12%{opacity:1}100%{opacity:0;transform:translate(var(--x),var(--y)) rotate(var(--rotate))}}
.love-toast{position:fixed;z-index:70;bottom:calc(38px + env(safe-area-inset-bottom));left:50%;transform:translateX(-50%)!important;width:calc(100% - 32px);max-width:430px;padding:15px 12px 15px 18px;border:1px solid color-mix(in srgb,var(--gold) 30%,transparent);border-radius:18px;display:flex;align-items:center;gap:10px;background:color-mix(in srgb,var(--ivory) 96%,transparent);backdrop-filter:blur(14px);color:var(--burgundy);box-shadow:0 12px 50px #190e1b29;line-height:1.6;font-size:13px}.love-toast>svg{flex-shrink:0;color:var(--rose)}.love-toast button{background:transparent;color:inherit;min-width:40px;min-height:44px;display:grid;place-items:center;margin:-7px -5px -7px 0}.love-toast span{flex:1}
/* Midnight invitation. */
.secret-welcome{position:relative;min-height:100vh;min-height:100dvh;display:flex;align-items:center;justify-content:center;text-align:center;background:linear-gradient(0deg,#190e1bd6,#190e1be0),url('art/garden.webp') center 65%/cover,var(--plum);color:var(--ivory);padding:calc(64px + env(safe-area-inset-top)) max(24px,env(safe-area-inset-right)) calc(96px + env(safe-area-inset-bottom)) max(24px,env(safe-area-inset-left));overflow:hidden}.secret-welcome:before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 50% 45%,#a55a7928,transparent 65%);transition:background 2s}.welcome-lit:before{background:radial-gradient(ellipse at 50% 45%,#e7a3c044,transparent 70%)}.welcome-content{position:relative;z-index:3;max-width:500px;width:100%}.welcome-content .eyebrow{color:var(--pink);font-size:9px}.welcome-symbol{margin:30px auto 22px;width:58px;height:58px;border:1px solid #d4af373b;border-radius:50%;display:grid;place-items:center;color:var(--pink);box-shadow:0 0 50px #f4b8c81b}.welcome-content h1{font-size:clamp(2.3rem,9.8vw,4.1rem);line-height:1.15;letter-spacing:-.03em;max-width:490px}.welcome-question{font-size:14px;margin:26px 0!important;color:#f9dde5c9}.welcome-buttons{display:grid;gap:10px;justify-content:center}.welcome-buttons .love-button{min-width:min(100%,235px)}.secret-welcome .love-button:not(.is-secondary){background:var(--blush);color:var(--burgundy)}.welcome-answer{font-family:'Cormorant Garamond',Georgia,serif;font-size:23px!important;line-height:1.45;margin:25px 0!important;max-width:430px}.welcome-signature{display:block;margin-top:30px;font-family:Tajawal,sans-serif;color:var(--pink);font-size:30px;opacity:.65}.welcome-footnote{position:absolute;bottom:calc(28px + env(safe-area-inset-bottom));left:20px;right:20px;font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:#f4b8c880}.welcome-orbit{position:absolute;width:520px;height:520px;border:1px solid #f4b8c80c;border-radius:50%;left:50%;top:45%;transform:translate(-50%,-50%)}.orbit-two{width:650px;height:650px}.welcome-corner{position:absolute;width:240px;height:240px;opacity:.42;pointer-events:none}.welcome-corner.top-left{left:-110px;top:-65px;transform:rotate(35deg)}.welcome-corner.bottom-right{right:-85px;bottom:-75px;transform:rotate(-30deg)}
/* The main garden reads as an editorial love letter on a phone. */
.love-header{height:calc(76px + env(safe-area-inset-top));padding:env(safe-area-inset-top) max(22px,env(safe-area-inset-right)) 0 max(22px,env(safe-area-inset-left));display:flex;align-items:center;justify-content:space-between;gap:14px;position:relative;z-index:10;border-bottom:1px solid color-mix(in srgb,var(--rose) 16%,transparent);background:var(--ivory)}.love-brand{font-family:'Cormorant Garamond',Georgia,serif;font-size:22px;letter-spacing:-.04em;min-height:44px;display:flex;align-items:center;gap:5px}.love-brand em{font-size:25px;font-weight:500}.love-brand span{font-size:20px;color:var(--rose);margin-left:6px}.date-pill{display:flex;align-items:center;justify-content:center;gap:9px;font-size:10px!important;min-height:44px;background:transparent;color:var(--ink);letter-spacing:.08em;padding:7px 0 7px 12px;white-space:nowrap}.date-star{color:var(--rose);font-size:15px}.story-chapter{position:relative;scroll-margin-top:0;padding:70px max(24px,env(safe-area-inset-right)) 74px max(24px,env(safe-area-inset-left));border-bottom:1px solid color-mix(in srgb,var(--rose) 12%,transparent);overflow:hidden}.chapter-bouquet{padding-top:44px;padding-bottom:45px;background:radial-gradient(ellipse at 50% 55%,#f9dde57d,transparent 62%),var(--ivory)}.bouquet-layout{text-align:center;max-width:1140px;margin:auto}.bouquet-copy .eyebrow{font-size:8px;color:var(--rose);letter-spacing:.2em}.hero-for{font-family:'Great Vibes','Cormorant Garamond',Georgia,serif;font-size:30px;line-height:1.2!important;margin:20px 0 -10px!important;color:var(--rose);font-style:italic}.hero-name{position:relative;font-size:clamp(5.4rem,24vw,8.6rem);letter-spacing:-.07em;line-height:1.15!important;color:var(--burgundy);display:inline-block}.hero-flourish{position:absolute;right:-24px;top:10px;font-family:Georgia,serif;font-size:27px;letter-spacing:0;color:var(--rose);transform:rotate(12deg)}.arabic-name{font:22px/1.5 Tajawal,sans-serif;color:var(--rose);margin-top:-6px!important}.bouquet-title{font-size:clamp(1.7rem,6.5vw,2.45rem)!important;line-height:1.15!important;max-width:390px;margin:0 auto!important;letter-spacing:-.035em}.bouquet-copy .story-description{font-family:'Cormorant Garamond',Georgia,serif;font-size:19px;line-height:1.45;max-width:290px;margin-top:15px!important;margin-bottom:23px!important}.bouquet-copy>.love-button{display:none}.bouquet-interaction{padding-top:30px;max-width:490px;margin:auto;position:relative}.bouquet-topline{color:var(--rose);font-size:7px!important;letter-spacing:.18em}.bouquet-scene{position:relative;width:100%;max-width:430px;height:auto;aspect-ratio:1/.97;margin:22px auto 28px;isolation:isolate;filter:drop-shadow(0 15px 20px #c9879b1a)}.bouquet-flower{position:absolute;width:29%;aspect-ratio:1;background:transparent;padding:0;min-width:44px;min-height:44px;transform:translate(-50%,-50%) rotate(var(--flower-tilt)) scale(var(--flower-size,1));transition:filter .4s,transform .6s;border-radius:50%;color:var(--burgundy)}.bouquet-flower:hover,.bouquet-flower:focus-visible{z-index:20!important;transform:translate(-50%,-50%) rotate(var(--flower-tilt)) scale(calc(var(--flower-size,1)*1.07))}.bouquet-flower.discovered{filter:drop-shadow(0 0 8px #d4af3766)}.bouquet-flower.discovered .peony-art{animation:flower-wiggle .7s ease-in-out}.flower-number{position:absolute;bottom:0;right:5px;z-index:4;background:var(--ivory);color:var(--burgundy);border:1px solid color-mix(in srgb,var(--rose) 40%,transparent);width:19px;height:19px;border-radius:50%;display:grid;place-items:center;font-size:7px;transform:rotate(calc(var(--flower-tilt)*-1));font-weight:600;box-shadow:0 2px 6px #681c3619}.bouquet-flower.discovered .flower-number{background:var(--burgundy);color:var(--ivory)}.bouquet-wrap{position:absolute;left:22%;top:40%;width:56%;height:77%;background:linear-gradient(100deg,color-mix(in srgb,var(--wrap) 80%,white),var(--wrap),color-mix(in srgb,var(--wrap) 75%,#ab8165));clip-path:polygon(0 0,100% 0,75% 100%,48% 95%,24% 100%);transform:rotate(-3deg);opacity:.75;z-index:-1}.bouquet-ribbon{position:absolute;z-index:15;left:50%;bottom:-8%;transform:translateX(-50%);width:110px;height:38px;pointer-events:none}.bouquet-ribbon span{position:absolute;left:5%;top:-4px;width:47%;height:35px;border:7px solid #d7bd8e;border-radius:50%;transform:rotate(25deg);box-shadow:inset 0 2px 2px #fff4}.bouquet-ribbon span:nth-child(2){left:48%;transform:rotate(-25deg)}.bouquet-ribbon:after,.bouquet-ribbon:before{content:'';position:absolute;top:17px;width:18px;height:64px;background:linear-gradient(90deg,#b69b70,#e3cba5,#bd9c6c);left:39%;transform:rotate(26deg);clip-path:polygon(0 0,100% 0,100% 100%,50% 85%,0 100%)}.bouquet-ribbon:after{left:54%;transform:rotate(-23deg)}.bouquet-ribbon i{position:absolute;z-index:3;background:#d7bd8e;width:16px;height:19px;left:45%;top:9px;border-radius:3px}.arrangement-airy .bouquet-flower:nth-of-type(2n){transform:translate(-50%,-55%) rotate(var(--flower-tilt)) scale(calc(var(--flower-size,1)*.9))}.arrangement-airy .bouquet-wrap{opacity:.35}.interaction-hint{font-size:11px;color:color-mix(in srgb,var(--ink) 60%,transparent);padding-top:30px}.discovery-progress{display:flex;align-items:center;justify-content:space-between;max-width:270px;margin:17px auto 10px;font-size:10px;letter-spacing:.02em}.discovery-progress b{font-size:14px;font-weight:500;color:var(--burgundy)}.discovery-progress small{font-size:10px;font-weight:400;opacity:.4;margin-left:4px}.tiny-progress{display:flex;gap:5px;max-width:270px;margin:auto}.tiny-progress span{height:3px;background:color-mix(in srgb,var(--rose) 20%,transparent);flex:1;border-radius:3px}.tiny-progress span.done{background:var(--rose)}.completion-message{font-family:'Cormorant Garamond',Georgia,serif;font-style:italic;font-size:23px;max-width:460px;margin:24px auto!important;line-height:1.4}.scroll-cue{margin:28px auto 0;background:transparent;color:var(--rose);display:grid;place-items:center;width:44px;height:44px}.chapter-heading{max-width:480px;margin:0 auto 34px}.chapter-heading .eyebrow{color:var(--rose);margin-bottom:18px}.chapter-lock{text-align:center;max-width:500px;min-height:380px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;margin:auto}.chapter-lock>svg{color:var(--rose)}.chapter-lock p:not(.eyebrow){font-size:13px;opacity:.75}
/* A real envelope, a wax seal, and a long-form letter that never clips. */
.letter-layout{text-align:center;max-width:730px;margin:auto}.chapter-letter{background:linear-gradient(160deg,#f9dde53f,transparent 50%),var(--ivory)}.envelope-scene{position:relative;width:100%;max-width:390px;height:250px;margin:0 auto 0;display:flex;align-items:center;justify-content:center;isolation:isolate}.envelope{width:79%;height:165px;position:relative;background:#f1e4d8;box-shadow:0 18px 40px rgb(104 28 54 / 10%);transform:rotate(-5deg);transition:transform var(--envelope-speed,1.3s)}.envelope-front{position:absolute;inset:0;z-index:3;background:linear-gradient(30deg,#faf0e7,transparent 50%),linear-gradient(-30deg,#f0e2d7,transparent 50%);clip-path:polygon(0 0,50% 48%,100% 0,100% 100%,0 100%);border:1px solid #e7d5c3}.envelope-flap{position:absolute;inset:0;z-index:4;background:linear-gradient(175deg,#fff9ef,#e9d7c7);clip-path:polygon(0 0,100% 0,50% 55%);transform-origin:top;transition:transform var(--envelope-speed,1.3s),z-index .1s var(--envelope-speed,1.3s);filter:drop-shadow(0 1px 1px #9d6e5c33)}.wax-seal{position:absolute;left:50%;top:43%;transform:translate(-50%,-50%);z-index:6;width:52px;height:52px;min-width:44px;min-height:44px;border-radius:44% 49% 43% 47%;background:radial-gradient(circle at 40% 30%,#a9596c,var(--burgundy));color:var(--blush);display:grid;place-items:center;box-shadow:2px 4px 8px #681c3655,inset 0 0 0 3px #ffffff12;transition:transform .7s,opacity .7s}.envelope-name{position:absolute;left:0;right:0;text-align:center;bottom:17px;z-index:5;color:var(--rose);font-family:'Great Vibes',cursive;font-size:27px}.envelope-decoration{position:absolute;width:120px;height:120px;z-index:-1}.decor-left{left:-20px;bottom:23px;transform:rotate(30deg)}.decor-right{right:-13px;top:7px;transform:rotate(-40deg)}.envelope-open .envelope-flap{transform:rotateX(180deg);z-index:1}.envelope-open .wax-seal{transform:translate(-50%,-50%) rotate(25deg) scale(.7);opacity:0;pointer-events:none}.envelope-open .envelope{transform:rotate(0deg) translateY(15px);opacity:.75}.love-letter{background:color-mix(in srgb,var(--ivory) 90%,white);position:relative;padding:42px 25px 25px;margin:-13px auto 25px;border:1px solid #c9879b2b;box-shadow:0 20px 60px rgb(104 28 54 / 6%);width:min(100%,600px);text-align:left;z-index:3;min-height:180px}.letter-body{white-space:pre-wrap;font-family:'Cormorant Garamond',Georgia,serif;font-size:21px;line-height:1.65;overflow-wrap:anywhere;min-height:60px}.letter-corner{position:absolute;right:21px;top:15px;color:var(--gold);font-size:16px}.letter-bottom{display:block;text-align:center;font-size:30px;color:var(--rose);padding-top:17px}
/* A clock with its own little universe. */
.chapter-wish{background:linear-gradient(0deg,#190e1bc4,#190e1bf5 88%),url('art/garden.webp') center 75%/cover,var(--plum);padding-top:90px;padding-bottom:110px}.wish-scene{position:relative;text-align:center;max-width:600px;margin:auto;isolation:isolate;min-height:530px;display:flex;flex-direction:column;align-items:center;justify-content:center}.wish-scene h2{font-size:clamp(2rem,8vw,3.8rem);max-width:540px;position:relative}.wish-scene>.eyebrow{margin-bottom:26px}.moon{position:absolute;top:-40px;right:8%;width:48px;height:48px;border-radius:50%;background:radial-gradient(circle at 30% 30%,#fff9e5,#d5c7aa);box-shadow:0 0 45px #e2d9ac33;opacity:.6;z-index:-1}.moon:after{content:'';position:absolute;inset:1px 0 0 13px;border-radius:50%;background:#20111f}.night-stars{position:absolute;inset:-30px -10px;pointer-events:none;z-index:-1}.night-stars i{position:absolute;width:2px;height:2px;border-radius:50%;background:var(--ivory);animation:sparkle 3s infinite}.wish-clock{font-family:'Cormorant Garamond',Georgia,serif;font-size:clamp(5.8rem,24vw,8rem);letter-spacing:-.04em;font-weight:400;line-height:1.15;margin:30px 0 0;color:var(--pink);text-shadow:0 0 50px #f4b8c825;position:relative}.wish-clock span{display:block;font-family:Inter,sans-serif;font-size:7px;letter-spacing:.35em;color:var(--gold);opacity:.8;margin-top:2px}.wish-result{margin-top:28px;min-height:170px;position:relative}.wish-result>p{font-family:'Cormorant Garamond',Georgia,serif;font-size:24px;opacity:.7}.wish-result h3{font-size:clamp(2.8rem,11vw,4.2rem);font-style:italic;color:var(--pink);margin:20px auto 28px}.night-flower{position:absolute;width:140px;height:140px;z-index:-1;opacity:.35;bottom:-65px}.night-flower-left{left:-65px;transform:rotate(20deg)}.night-flower-right{right:-65px;transform:rotate(-40deg)}.shooting-star{position:absolute;right:20%;top:-250px;width:80px;height:1px;background:linear-gradient(90deg,transparent,#fff);transform:rotate(-35deg);animation:shoot 1.8s ease-out forwards}@keyframes shoot{0%{opacity:0;transform:translate(100px,-60px) rotate(-35deg)}20%{opacity:1}100%{opacity:0;transform:translate(-200px,180px) rotate(-35deg)}}
/* The separately delivered gift is announced with a theatrical reveal. */
.chapter-gift{background:#161216}.gift-scene{position:relative;text-align:center;max-width:670px;margin:auto}.gift-scene>.eyebrow{margin-bottom:22px}.gift-scene h2{max-width:550px;margin:auto;font-size:clamp(2.3rem,8.7vw,4.2rem)}.gift-scene>.story-description{margin-bottom:0!important}.gift-stage{width:100%;max-width:380px;height:345px;position:relative;margin:0 auto;isolation:isolate}.gift-box{position:absolute;left:17%;bottom:32px;width:66%;height:137px;background:linear-gradient(115deg,color-mix(in srgb,var(--box) 75%,#777),var(--box) 55%);border:1px solid #ffffff0e;box-shadow:0 20px 35px #0005;z-index:4}.box-lid{position:absolute;left:-6%;top:-20px;width:112%;height:35px;background:linear-gradient(160deg,color-mix(in srgb,var(--box) 75%,#888),var(--box));box-shadow:0 5px 7px #0006;transform-origin:15% 50%;transition:transform var(--gift-speed,1.8s) cubic-bezier(.2,.7,.2,1),opacity var(--gift-speed,1.8s);z-index:6}.box-lid:after{content:'';position:absolute;height:100%;width:29px;left:45%;background:linear-gradient(90deg,color-mix(in srgb,var(--ribbon) 65%,#95794c),var(--ribbon),color-mix(in srgb,var(--ribbon) 80%,white))}.box-ribbon{position:absolute;top:0;bottom:0;width:29px;left:45%;background:linear-gradient(90deg,color-mix(in srgb,var(--ribbon) 65%,#95794c),var(--ribbon),color-mix(in srgb,var(--ribbon) 80%,white));opacity:.8}.bow{position:absolute;top:-27px;width:73px;height:36px;border:9px solid var(--ribbon);border-radius:50%;left:24%;transform:rotate(22deg);box-shadow:inset 1px 1px 2px #fff5;transition:transform var(--gift-speed,1.8s),opacity var(--gift-speed,1.8s)}.bow-right{left:50%;transform:rotate(-22deg)}.gift-card{position:absolute;left:9%;bottom:110px;width:82%;max-width:320px;aspect-ratio:1.65;border-radius:13px;background:var(--card);color:#fff;padding:28px 15px 15px;display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:2;opacity:0;transform:translateY(60px) scale(.8) rotate(-5deg);transition:transform var(--gift-speed,1.8s) cubic-bezier(.2,.75,.3,1),opacity var(--gift-speed,1.8s);box-shadow:0 12px 35px #0008;overflow:hidden;border:1px solid #d4af3744}.gift-card-stripes{position:absolute;inset:0 0 auto;height:16px;background:repeating-linear-gradient(0deg,#fff 0 3px,#111 3px 6px)}.card-classic .gift-card-stripes{height:2px;background:var(--gold)}.gift-card-wordmark{letter-spacing:.3em;font-size:20px;margin-bottom:8px;padding-left:6px;line-height:1.1}.gift-card>svg{color:var(--pink);margin-bottom:7px}.gift-card p{font-size:10px;line-height:1.5}.gift-card small{font-size:8px;opacity:.7;margin-top:4px}.gift-card em{font-family:'Cormorant Garamond',Georgia,serif;font-size:13px;color:var(--pink);margin-top:10px}.gift-flower{position:absolute;width:135px;height:135px;z-index:1;bottom:13px}.gift-flower-left{left:-24px;transform:rotate(30deg)}.gift-flower-right{right:-29px;transform:rotate(-30deg)}.gift-glow{position:absolute;left:20%;right:20%;height:140px;bottom:100px;background:radial-gradient(ellipse,#e8cc7c88,transparent 70%);filter:blur(15px);opacity:0;transition:opacity 2s}.gift-revealed .gift-glow{opacity:1}.gift-revealed .box-lid{transform:translate(-22px,-120px) rotate(-24deg);opacity:0}.gift-revealed .bow-left{transform:translate(-35px,-20px) rotate(50deg);opacity:0}.gift-revealed .bow-right{transform:translate(35px,-20px) rotate(-50deg);opacity:0}.gift-revealed .gift-card{transform:translateY(-34px) rotate(-5deg);opacity:1;z-index:5}.gift-message{max-width:520px;margin:auto}.gift-notice{font-size:9px;opacity:.5;line-height:1.6;max-width:310px;margin:-5px auto 28px!important}.gift-letter{white-space:pre-wrap;text-align:left;font:21px/1.6 'Cormorant Garamond',Georgia,serif;opacity:.88;padding:0 5px}.gift-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;margin:30px 0 16px}.gift-actions .love-button{flex:1 1 180px;font-size:10px!important;padding-left:16px;padding-right:16px}.kiss-animation{position:absolute;top:45%;left:50%;font-size:80px;pointer-events:none;animation:kiss-rise 2.4s ease-out both}@keyframes kiss-rise{0%{opacity:0;transform:translate(-50%,40px) scale(.5)}35%{opacity:1;transform:translate(-50%,0) scale(1)}100%{opacity:0;transform:translate(-50%,-180px) scale(1.4)}}
/* Eleven heart ornaments, comfortably spaced for fingertips. */
.reasons-scene{text-align:center;max-width:700px;margin:auto}.reasons-scene>.eyebrow{color:var(--rose);margin-bottom:20px}.heart-ornaments{position:relative;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px 9px;padding:20px 0 24px;max-width:430px;margin:25px auto 0}.heart-ornaments:before{content:'';position:absolute;left:8%;right:8%;top:18px;height:1px;background:linear-gradient(90deg,transparent,#a7b8a0,#a7b8a0,transparent);transform:rotate(-3deg)}.heart-ornament{position:relative;background:transparent;width:100%;height:110px;display:flex;align-items:flex-end;justify-content:center;padding-bottom:0;color:var(--rose);transition:filter .4s}.heart-ornament>svg{width:70px;height:70px;fill:color-mix(in srgb,var(--blush) 70%,white);filter:drop-shadow(0 5px 8px #c9879b14);transition:fill .4s,filter .4s,transform .4s}.heart-ornament>span:last-child{position:absolute;bottom:21px;font-size:10px;color:var(--burgundy);display:grid;place-items:center}.ornament-string{position:absolute;height:var(--string-height);bottom:63px;width:1px;background:linear-gradient(var(--sage),var(--gold));left:50%}.heart-ornament:nth-child(3n){transform:translateY(10px)}.heart-ornament:nth-last-child(-n+3){grid-column:auto;left:50%}.heart-ornament.discovered>svg{fill:var(--rose);filter:drop-shadow(0 0 10px #f4b8c8aa);color:var(--rose)}.heart-ornament.discovered>span:last-child{color:var(--ivory)}.heart-ornament:active>svg{transform:scale(1.12)}.progress-caption{font-size:10px;letter-spacing:.05em;color:color-mix(in srgb,currentColor 65%,transparent);margin:0 auto 26px!important}
/* A responsive patch of independently blooming ruffled flowers. */
.chapter-garden{background:linear-gradient(180deg,#f9dde52a,#a7b8a014),var(--ivory)}.garden-scene{text-align:center;max-width:780px;margin:auto}.garden-scene>.eyebrow{color:var(--rose);margin-bottom:20px}.garden-scene h2{max-width:600px;margin:auto}.blooming-garden{position:relative;isolation:isolate;min-height:270px;padding:12px 12px 35px;margin:30px -13px 22px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 8px;align-items:end;background-size:cover;background-position:center;border-radius:40% 40% 25px 25px;overflow:hidden}.blooming-garden:before{content:'';position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse at 50% 85%,#a7b8a023,transparent 75%)}.garden-flower{position:relative;background:transparent;aspect-ratio:1/.96;padding:0;min-height:70px;z-index:2;transform:scale(var(--flower-size,1));transition:filter .5s}.garden-flower>.peony{position:absolute;width:93%;height:93%;top:0;left:4%;z-index:2}.flower-stem{position:absolute;bottom:0;height:var(--stem-height);left:51%;width:3px;border-radius:50%;background:linear-gradient(90deg,#79916c,var(--sage));transform:rotate(3deg);z-index:0}.flower-stem:after{content:'';position:absolute;left:2px;bottom:8px;width:24px;height:12px;border-radius:100% 0 100% 0;background:var(--sage);transform:rotate(-20deg)}.garden-flower.bloomed{filter:drop-shadow(0 0 8px #f4b8c86b)}.bloom-sparkle{position:absolute;right:7%;top:4%;color:var(--gold);font-size:17px;z-index:4;animation:sparkle 2s ease-out}.golden-flower{position:absolute;right:1px;bottom:0;background:transparent;width:46px;height:46px;padding:0;transform:rotate(12deg);z-index:4;opacity:.7}.garden-actions{display:flex;justify-content:center;flex-wrap:wrap;gap:12px}.garden-actions>.love-button{font-size:10px!important;padding-left:18px;padding-right:18px}
.gallery-scene{text-align:center;max-width:980px;margin:auto}.gallery-scene>.eyebrow{color:var(--rose);margin-bottom:20px}.memory-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 14px;margin:35px 0 30px}.memory-photo{background:transparent;padding:0;color:inherit;display:flex;flex-direction:column;align-items:center;gap:8px;font:18px/1.3 'Cormorant Garamond',Georgia,serif!important}.memory-frame{width:100%;aspect-ratio:1;border:4px solid var(--blush);border-radius:36% 45% 37% 42%;overflow:hidden;box-shadow:0 8px 25px #681c3612;transform:rotate(-3deg)}.memory-photo:nth-child(2n) .memory-frame{transform:rotate(4deg);border-radius:45% 37% 42% 36%}.memory-frame img{width:100%;height:100%;object-fit:cover}.memory-photo time{font:9px/1.5 Inter,sans-serif;opacity:.5;letter-spacing:.06em}.media-loading{display:grid;place-items:center;height:100%;font-size:30px;color:var(--rose)}.photo-lightbox{position:fixed;inset:0;z-index:100;background:#190e1bf5;color:var(--ivory);padding:calc(70px + env(safe-area-inset-top)) max(20px,env(safe-area-inset-right)) calc(30px + env(safe-area-inset-bottom)) max(20px,env(safe-area-inset-left));display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;backdrop-filter:blur(12px)}.photo-lightbox>img{height:auto;min-height:0;max-height:calc(100dvh - 235px);max-width:min(100%,900px);object-fit:contain}.photo-lightbox>p{font:24px/1.4 'Cormorant Garamond',Georgia,serif;text-align:center}.lightbox-close{position:absolute;right:max(15px,env(safe-area-inset-right));top:calc(14px + env(safe-area-inset-top));width:48px;height:48px;background:transparent;color:var(--ivory);display:grid;place-items:center}.lightbox-controls{display:flex;align-items:center;gap:18px;font-size:11px}.lightbox-controls button{background:transparent;color:inherit;width:48px;height:48px;font-size:24px}.game-chapter-inner{text-align:center;max-width:650px;margin:auto}.game-chapter-inner>.eyebrow{color:var(--rose);margin-bottom:20px}.game-chapter-inner>.love-button{margin-top:24px}.game-chapter-inner>h2{margin-bottom:30px}
/* The last page. */
.chapter-finale{background:radial-gradient(ellipse at 50% 40%,#73344f30,transparent 60%),var(--plum);padding-top:80px;padding-bottom:calc(80px + env(safe-area-inset-bottom))}.finale-scene{position:relative;max-width:650px;margin:auto;text-align:center}.finale-scene>.eyebrow{margin-bottom:25px}.finale-intro{font:italic 46px/1.2 'Cormorant Garamond',Georgia,serif;color:var(--pink);margin:20px 0!important}.finale-scene p:not(.eyebrow){font-family:'Cormorant Garamond',Georgia,serif;font-size:22px;line-height:1.6}.finale-one-last{opacity:.65;margin-top:8px!important;font-size:18px!important}.finale-heart{position:relative;width:min(100%,350px);aspect-ratio:1.15;margin:25px auto 30px;display:flex;align-items:center;justify-content:center;isolation:isolate}.heart-outline{position:absolute;inset:9% 7% auto;width:86%;height:86%;color:var(--pink);fill:#f4b8c807;filter:drop-shadow(0 0 15px #f4b8c850)}.finale-heart>span{font:55px/1.5 Tajawal,sans-serif;color:var(--blush);z-index:3;padding-bottom:10px;text-shadow:0 0 25px #f4b8c844}.finale-heart>span small{font-family:Georgia,serif;font-size:25px}.finale-peony{position:absolute;width:115px;height:115px}.final-peony-one{bottom:0;left:-5px;transform:rotate(25deg)}.final-peony-two{bottom:-15px;left:35%;width:90px;height:90px}.final-peony-three{right:-5px;bottom:10px;transform:rotate(-30deg)}.finale-promise{font-size:clamp(3.4rem,14vw,5.7rem)!important;color:var(--pink);font-style:italic;letter-spacing:-.06em;margin:15px 0 25px!important}.finale-greeting{font-size:23px!important}.finale-signature{max-width:480px;white-space:pre-wrap;font-size:20px!important;opacity:.6;margin:20px auto 0!important}.finale-buttons{display:grid;justify-content:center;gap:12px;margin-top:35px}.finale-buttons>.love-button{min-width:min(270px,100%)}.finale-footer{font:8px/1.7 Inter,sans-serif!important;letter-spacing:.2em;text-transform:uppercase;opacity:.4;margin-top:64px!important}.hug-animation{position:absolute;top:45%;left:0;right:0;pointer-events:none;font-size:70px;height:100px}.hug-animation span{position:absolute;left:20%;animation:hug-left 3s ease-in-out both}.hug-animation span+span{left:auto;right:20%;animation:hug-right 3s ease-in-out both}@keyframes hug-left{0%{opacity:0;transform:translateX(-60px) rotate(-15deg)}35%,65%{opacity:1;transform:translateX(20px) rotate(10deg)}100%{opacity:0;transform:translateX(25px) scale(1.3)}}@keyframes hug-right{0%{opacity:0;transform:translateX(60px) rotate(15deg)}35%,65%{opacity:1;transform:translateX(-20px) rotate(-10deg)}100%{opacity:0;transform:translateX(-25px) scale(1.3)}}
.chapter-dots{position:fixed;right:max(3px,env(safe-area-inset-right));top:48%;transform:translateY(-50%);display:flex;flex-direction:column;z-index:15}.chapter-dots button{padding:0;width:18px;height:28px;background:transparent;display:grid;place-items:center}.chapter-dots button span{width:3px;height:3px;background:var(--rose);opacity:.35;border-radius:50%;transition:transform .3s,opacity .3s}.chapter-dots button.active span{opacity:1;transform:scale(1.5)}.music-dock{position:fixed;left:max(15px,env(safe-area-inset-left));bottom:calc(15px + env(safe-area-inset-bottom));z-index:40}.music-main{width:46px;height:46px;border-radius:50%;background:var(--ivory);color:var(--burgundy);border:1px solid #c9879b2d!important;box-shadow:0 4px 20px #190e1b14;display:flex;align-items:center;justify-content:center;gap:3px}.music-panel{position:absolute;left:0;bottom:58px;background:var(--ivory);color:var(--burgundy);width:255px;border:1px solid #c9879b2d;border-radius:16px;box-shadow:0 6px 30px #190e1b1a;padding:15px}.music-panel>span{font-size:10px;letter-spacing:.06em}.music-panel>div{display:flex;align-items:center;margin-top:4px}.music-panel button{display:grid;place-items:center;min-width:44px;height:44px;background:transparent;color:inherit}.music-panel input{width:116px;height:44px;accent-color:var(--burgundy)}.music-panel p{font-size:10px;line-height:1.5}.equalizer{display:flex;gap:2px;align-items:center}.equalizer i{height:9px;width:2px;background:var(--rose);animation:equalize .8s ease-in-out infinite}.equalizer i:nth-child(2){animation-delay:.3s}.equalizer i:nth-child(3){animation-delay:.1s}@keyframes equalize{50%{transform:scaleY(.35)}}@keyframes flower-wiggle{0%,100%{transform:rotate(0)}35%{transform:rotate(-5deg) scale(1.04)}65%{transform:rotate(4deg)}}
@media(min-width:700px){.love-header{padding-left:6%;padding-right:6%;height:90px}.love-brand{font-size:26px}.date-pill{font-size:11px!important}.story-chapter{padding-top:100px;padding-bottom:100px}.chapter-bouquet{padding:80px 6% 50px}.bouquet-layout{display:grid;grid-template-columns:.95fr 1.05fr;align-items:center;gap:60px}.bouquet-copy{text-align:left}.bouquet-copy .eyebrow{justify-content:flex-start}.hero-for{font-size:45px;margin:25px 0 -15px!important;padding-left:5px}.hero-name{font-size:clamp(8rem,13vw,11.2rem)}.hero-flourish{font-size:35px;right:-33px;top:22px}.arabic-name{padding-left:8px;text-align:left;font-size:29px}.fine-rule{margin:20px 0 25px}.bouquet-title{margin:0!important;max-width:400px}.bouquet-copy .story-description{margin-left:0!important;margin-right:0!important;font-size:23px;max-width:360px}.bouquet-copy>.love-button{display:inline-flex;margin-top:5px}.bouquet-interaction{padding-top:15px;width:100%}.bouquet-topline{font-size:8px!important}.bouquet-scene{margin-top:25px;max-width:450px}.bouquet-layout .scroll-cue{grid-column:1/-1;margin-top:15px}.envelope-scene{height:290px;max-width:440px}.envelope{height:190px}.love-letter{padding:50px 55px 35px}.letter-body{font-size:23px}.envelope-decoration{width:150px;height:150px}.wish-scene{min-height:580px}.wish-clock{font-size:135px}.night-flower{width:220px;height:220px;opacity:.4}.night-flower-left{left:-160px}.night-flower-right{right:-160px}.gift-stage{max-width:440px;height:385px}.gift-box{height:155px}.gift-flower{width:170px;height:170px}.gift-flower-left{left:-65px}.gift-flower-right{right:-65px}.gift-letter{font-size:24px}.gift-actions .love-button{flex:0 1 240px;font-size:11px!important}.heart-ornaments{grid-template-columns:repeat(6,minmax(0,1fr));max-width:650px;gap:15px}.heart-ornament>svg{width:80px;height:80px}.heart-ornament>span:last-child{bottom:24px}.ornament-string{bottom:72px}.heart-ornament{height:130px}.blooming-garden{grid-template-columns:repeat(4,minmax(0,1fr));min-height:320px;max-width:650px;margin:25px auto 30px;padding:30px 25px 40px;gap:10px 24px}.garden-flower{min-height:100px}.golden-flower{width:60px;height:60px;right:5%;bottom:5px}.memory-gallery{grid-template-columns:repeat(3,minmax(0,1fr));gap:40px 30px}.chapter-dots{right:14px}.chapter-dots button{width:30px;height:30px}.finale-heart{width:400px}.finale-peony{width:145px;height:145px}.final-peony-two{width:110px;height:110px}.finale-heart>span{font-size:65px}.finale-buttons{display:flex;justify-content:center}.finale-buttons>.love-button{min-width:0}.finale-signature{font-size:23px!important}}
@media(max-width:360px){.story-chapter{padding-left:20px;padding-right:20px}.love-header{padding-left:18px;padding-right:18px}.love-brand{font-size:19px}.love-brand em{font-size:23px}.date-pill{font-size:9px!important}.hero-name{font-size:88px}.bouquet-topline{font-size:6.5px!important}.bouquet-title{font-size:27px!important}.bouquet-scene{margin-bottom:20px}.interaction-hint{font-size:10px}.heart-ornaments{gap:6px}.heart-ornament>svg{width:59px;height:59px}.heart-ornament>span:last-child{bottom:18px}.ornament-string{bottom:53px}.gift-card-wordmark{font-size:17px}.gift-card{padding:23px 10px 12px}.gift-card em{margin-top:5px;font-size:11px}.gift-stage{height:320px}.gift-box{height:125px}.love-button{padding:14px 18px}.secret-welcome{padding-left:23px;padding-right:23px}.welcome-content h1{font-size:34px}.welcome-question{font-size:12px}.welcome-content .eyebrow{font-size:8px}.blooming-garden{gap:0 4px}.finale-heart>span{font-size:46px}.finale-peony{width:95px;height:95px}.final-peony-two{width:80px;height:80px}.chapter-dots{right:0}.chapter-dots button{width:15px}}
@media(max-height:700px) and (min-width:700px){.secret-welcome{padding-top:40px;padding-bottom:60px}.welcome-content h1{font-size:44px}.welcome-symbol{margin:20px auto 15px}.welcome-signature{margin-top:12px}.welcome-question{margin:18px 0!important}.welcome-buttons{display:flex;gap:12px}.welcome-buttons .love-button{min-width:0}.welcome-footnote{bottom:15px}.welcome-corner{width:190px;height:190px}.welcome-content .eyebrow{font-size:8px}}
@media(prefers-reduced-motion:reduce){.love-experience *,.love-experience *:before,.love-experience *:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.love-experience .floating-petal,.love-experience .ambient-sparkle,.love-experience .shooting-star{display:none}}
.reduced-motion *,.reduced-motion *:before,.reduced-motion *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.reduced-motion .floating-petal,.reduced-motion .ambient-sparkle,.reduced-motion .shooting-star{display:none}
/* All exposed atmosphere and theme controls drive the rendered experience. */
.theme-soft .chapter-bouquet{background:radial-gradient(ellipse at 50% 55%,color-mix(in srgb,var(--blush) 50%,transparent),transparent 65%),var(--ivory)}.theme-champagne .chapter-bouquet,.theme-champagne .chapter-letter{background:linear-gradient(135deg,color-mix(in srgb,var(--gold) 13%,var(--ivory)),var(--ivory) 75%)}.theme-night .chapter-bouquet{background:radial-gradient(ellipse at 50% 55%,color-mix(in srgb,var(--rose) 20%,transparent),transparent 65%),var(--plum);color:var(--ivory)}.theme-night .hero-name{color:var(--pink)}.theme-night .bouquet-title{color:var(--ivory)}.love-letter,.envelope,.memory-frame{box-shadow:0 15px 45px rgb(104 28 54 / var(--shadow-alpha,.12))}.love-button{box-shadow:0 7px 25px rgb(104 28 54 / var(--shadow-alpha,.1))}.love-button.is-secondary{box-shadow:none}.welcome-symbol{box-shadow:0 0 50px rgb(244 184 200 / calc(var(--glow,.5)*.3))}.wish-clock{text-shadow:0 0 50px rgb(244 184 200 / calc(var(--glow,.5)*.3))}.finale-heart>span{text-shadow:0 0 25px rgb(244 184 200 / calc(var(--glow,.5)*.6))}.ambient-heart{position:absolute;bottom:-40px;font-family:Georgia,serif;font-size:15px;color:var(--rose);opacity:0;animation:ambient-heart-rise 22s linear infinite}.peony-tint{position:absolute;inset:8%;border-radius:50%;z-index:3;background:var(--flower-color);mix-blend-mode:color;opacity:.26;pointer-events:none}.is-bud .peony-tint{opacity:0}.is-golden .peony-tint{opacity:.55}.peony-petal{transition-duration:var(--bloom-speed,1.5s)}.bouquet-flower{transform:translate(-50%,-50%) rotate(var(--flower-tilt))}.bouquet-flower>.peony{transform:scale(var(--flower-size,1))}.bouquet-flower:hover,.bouquet-flower:focus-visible{transform:translate(-50%,-50%) rotate(var(--flower-tilt)) scale(1.05)}.arrangement-airy .bouquet-flower:nth-of-type(2n){transform:translate(-50%,-55%) rotate(var(--flower-tilt))}.arrangement-airy .bouquet-flower:nth-of-type(2n)>.peony{transform:scale(calc(var(--flower-size,1)*.9))}.garden-flower{transform:none}.garden-flower>.peony{transform:scale(var(--flower-size,1))}.chapter-dots{pointer-events:none;gap:8px;right:10px}.chapter-dots>span{display:block;width:3px;height:3px;border-radius:50%;background:var(--rose);opacity:.35;transition:transform .3s,opacity .3s}.chapter-dots>span.active{opacity:1;transform:scale(1.5)}.love-toast button{min-width:44px}.welcome-content{animation:scene-fade 1.1s ease-out both}.welcome-question{animation:scene-fade .8s ease-out .7s both}.welcome-answer{animation:scene-fade .8s ease-out both}.love-toast{animation:toast-rise .3s ease-out both}.love-letter{animation:letter-emerge var(--envelope-speed,1.3s) ease-out both}.wish-result h3{animation:scene-fade 1s ease-out both}.gift-message{animation:scene-fade 1s ease-out .6s both}.story-chapter.in-view.reveal-fade>.chapter-content>.finale-scene>div,.story-chapter.in-view.reveal-fade>.chapter-content .chapter-heading{animation:scene-fade 1s ease-out both}.story-chapter.in-view.reveal-slide>.chapter-content>.finale-scene>div,.story-chapter.in-view.reveal-slide>.chapter-heading{animation:letter-emerge 1s ease-out both}.story-chapter.in-view.reveal-bloom>.chapter-content>.finale-scene>div{animation:scene-bloom 1.2s ease-out both}.finale-scene>div:nth-child(3){animation-delay:.6s!important}.in-preview .petal-atmosphere{position:absolute}.in-preview .love-toast{position:fixed}.photo-lightbox{overscroll-behavior:contain}.dark-chapter .gift-card{color:var(--white)}
@keyframes ambient-heart-rise{0%{opacity:0;transform:translateY(0) rotate(-10deg)}15%{opacity:.25}80%{opacity:.15}100%{opacity:0;transform:translateY(-105vh) rotate(10deg)}}@keyframes scene-fade{from{opacity:0}to{opacity:1}}@keyframes letter-emerge{from{opacity:0;transform:translateY(35px)}to{opacity:1;transform:translateY(0)}}@keyframes scene-bloom{from{opacity:0;transform:scale(.94)}to{opacity:1;transform:scale(1)}}@keyframes toast-rise{from{opacity:0;bottom:calc(25px + env(safe-area-inset-bottom))}to{opacity:1;bottom:calc(38px + env(safe-area-inset-bottom))}}
@media(min-width:700px){.chapter-dots{right:21px;gap:12px}}
@media(prefers-reduced-motion:reduce){.love-experience *,.love-experience *:before,.love-experience *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.love-experience .ambient-heart{display:none}}
.reduced-motion *,.reduced-motion *:before,.reduced-motion *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.reduced-motion .ambient-heart{display:none}
.chapter-label{position:absolute;left:30px;right:30px;top:24px;text-align:center;font-size:10px;letter-spacing:.15em;text-transform:uppercase;color:var(--rose);opacity:.7;line-height:1.6}.chapter-bouquet>.chapter-label{display:none}.love-experience .eyebrow{font-size:10px}.bouquet-copy .eyebrow{font-size:10px}.bouquet-topline{font-size:9px!important;letter-spacing:.12em}.interaction-hint,.discovery-progress,.progress-caption{font-size:11px}.gift-notice{font-size:11px}.welcome-content .eyebrow{font-size:10px}.love-button{font-size:13px!important}.text-button{font-size:13px!important}.love-letter .text-button{display:flex;margin:14px auto 0}.chapter-finale .chapter-label{top:25px;color:var(--pink)}.love-experience .welcome-footnote{font-size:10px}.date-pill{font-size:11px!important}.discovery-progress small{font-size:11px}.gift-actions .love-button,.garden-actions>.love-button{font-size:12px!important}.heart-ornament>span:last-child{font-size:11px}.love-experience .finale-footer{font-size:10px!important}
.love-experience h1,.love-experience h2,.love-experience h3{overflow-wrap:anywhere}.hero-name{max-width:100%}.chapter-reasons:before{content:'';position:absolute;left:-65px;bottom:40px;width:180px;height:180px;background:url('art/peony-pink.webp') center/contain no-repeat;opacity:.13;transform:rotate(25deg);pointer-events:none}.chapter-reasons:after{content:'';position:absolute;right:-90px;top:30px;width:180px;height:180px;background:url('art/peony-white.webp') center/contain no-repeat;opacity:.2;transform:rotate(-25deg);pointer-events:none}
.secret-welcome{background-image:linear-gradient(0deg,#190e1bd6,#190e1be0),var(--custom-bg,url('art/garden.webp'));background-position:center,center 65%;background-size:cover,cover}.chapter-wish{background-image:linear-gradient(0deg,#190e1bc4,#190e1bf5 88%),var(--custom-bg,url('art/garden.webp'));background-position:center,center 75%;background-size:cover,cover}
.bouquet-scene{margin-bottom:40px}.interaction-hint{padding-top:35px}.secret-welcome:after{content:'';position:absolute;inset:-25%;pointer-events:none;background:conic-gradient(from 15deg at 40% 0%,transparent 0deg 16deg,#f9dde50c 17deg 24deg,transparent 25deg 35deg,#d4af3707 36deg 47deg,transparent 48deg);transform-origin:40% 0%;animation:light-sway 25s ease-in-out infinite;z-index:0}@keyframes light-sway{0%,100%{transform:rotate(-5deg) scale(1)}50%{transform:rotate(5deg) scale(1.03)}}

.heart-game{width:100%;max-width:480px;margin:1.8rem auto 0;text-align:center}.heart-game-score{display:flex;justify-content:space-between;align-items:center;padding:0 .2rem 1rem;font-family:var(--ui-font,Arial,sans-serif);font-size:.75rem;letter-spacing:.04em}.heart-game-score strong{font-family:Georgia,serif;font-size:1.7rem;font-weight:400}.heart-game-score strong span{font-size:1rem;opacity:.5}.heart-game-stage{position:relative;height:330px;max-height:55dvh;min-height:240px;overflow:hidden;border:1px solid color-mix(in srgb,var(--gold,#d4af37) 30%,transparent);border-radius:20px;background:radial-gradient(ellipse at 50% 130%,#75586b44,transparent 75%),var(--game-backdrop,#27172c);isolation:isolate;box-shadow:inset 0 0 65px #0002}.heart-game-fireflies i{position:absolute;width:3px;height:3px;border-radius:50%;background:#e6ce94;box-shadow:0 0 12px #e6ce94;left:16%;top:23%;opacity:.6}.heart-game-fireflies i:nth-child(2){left:77%;top:18%}.heart-game-fireflies i:nth-child(3){left:63%;top:72%}.heart-game-fireflies i:nth-child(4){left:22%;top:80%}.heart-game-meadow{position:absolute;inset:auto 0 -12px;color:#f4b8c82e;font-size:8rem;line-height:1;pointer-events:none;transform:scaleX(3)}.heart-game-overlay{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.8rem;padding:1.7rem;color:#f9dde5;z-index:2;background:#190e1b70;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.heart-game-overlay p{font-family:var(--heading-font,Georgia,serif);font-size:1.4rem;line-height:1.35;margin:0;max-width:320px}.heart-game-overlay>span{font-size:.7rem;color:#e6ced5}.heart-game-won>span{display:flex;gap:.5rem;align-items:center}.falling-game-heart{position:absolute;top:0;width:52px;height:52px;padding:8px;display:flex;align-items:center;justify-content:center;background:transparent;border:0;color:var(--game-heart,#f4b8c8);filter:drop-shadow(0 5px 10px #f4b8c844);cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;will-change:transform}.falling-game-heart:active{filter:drop-shadow(0 0 16px #fff)}.falling-game-heart:focus-visible{outline:2px solid #e6ce94;outline-offset:-2px;border-radius:50%}.heart-game-controls{display:flex;justify-content:center;gap:.6rem;align-items:center;margin-top:1.2rem}.heart-game-controls .peony-button{min-height:48px}.heart-game-restart{width:48px;height:48px;display:flex;justify-content:center;align-items:center;border:1px solid currentColor;background:transparent;color:inherit;border-radius:50%;cursor:pointer}.heart-game-sound{display:block;font-size:.62rem;opacity:.65;margin-top:.8rem}@media(max-width:350px){.heart-game-stage{height:290px}.heart-game-overlay{padding:1rem}.heart-game-overlay p{font-size:1.2rem}}

/* Native HTML defaults and static-site additions. */
*,::before,::after{border-width:0;border-style:solid}button{background:transparent}svg{display:inline-block;vertical-align:middle;flex-shrink:0}h1,h2,h3,p{margin:0}button{color:inherit}b,strong{font-weight:600}[hidden]{display:none!important}.chapter-content{display:contents}.wish-clock>b{font:inherit}.peony-button{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:12px 22px;border-radius:var(--radius);background:var(--button);color:var(--ivory);font-size:13px;line-height:1.4;min-height:48px}.noscript-note{position:fixed;left:0;right:0;bottom:0;z-index:1000;padding:18px;background:#fff9f5;color:#681c36;text-align:center}.love-letter .letter-body{white-space:pre-wrap}.gift-letter{white-space:pre-wrap}.chapter-dots{pointer-events:none;gap:0;right:0}.chapter-dots button{pointer-events:auto;width:44px;height:44px;min-height:44px}.chapter-dots button span{width:4px;height:4px}.chapter-dots button:focus-visible{outline-offset:-5px}.story-chapter:focus{outline:none}.finale-signature{white-space:pre-wrap}.dev-banner{font-size:10px}.love-header,.story-chapter{scroll-margin-top:0}.lightbox-controls button{min-width:48px}.music-main{min-width:46px}

/* The occasion has its own name; the date is simply a date. */
.bouquet-title[lang="ar"]{font-family:Tahoma,"Segoe UI",sans-serif;line-height:1.6!important;letter-spacing:0;font-size:clamp(1.7rem,6.5vw,2.45rem)!important}.occasion-date{font-size:12px;letter-spacing:.04em;color:var(--rose);margin:12px auto 0!important}.date-pill{white-space:normal;max-width:180px;letter-spacing:.01em;text-align:right;font-size:10px!important}.date-pill [data-text="date"]{text-wrap:balance}.date-star{flex-shrink:0}.wish-emblem{display:flex;flex-direction:column;align-items:center;gap:12px;margin:35px 0 30px;color:var(--pink)}.wish-star{display:block;font:100px/1 Georgia,serif;text-shadow:0 0 50px rgb(244 184 200 / calc(var(--glow,.5)*.3))}.wish-caption{font:10px/1.8 Arial,sans-serif;letter-spacing:.22em}.heart-ornament{left:0}.heart-ornaments{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(min-width:700px){.occasion-date{margin-left:0!important;text-align:left}.date-pill{max-width:none;font-size:11px!important}.heart-ornaments{grid-template-columns:repeat(6,minmax(0,1fr))}}
@media(max-width:360px){.date-pill{max-width:150px;font-size:9px!important;padding-left:2px}.love-header{gap:8px}.love-brand{flex-shrink:0}}

/* The final declaration stays live HTML and can be edited in content.js. */
.finale-scene .finale-love{font-family:"Cormorant Garamond",Georgia,serif;font-size:clamp(2.1rem,8vw,3.4rem)!important;font-style:italic;line-height:1.3;color:var(--pink);margin:12px 0 24px!important;text-shadow:0 0 24px rgb(244 184 200 / .16)}
