@import"https://fonts.googleapis.com/css2?family=Be+Vietnam+Pro:wght@400;500;600;700&family=Lora:ital,wght@0,400;0,500;0,600;1,400;1,500;1,600&display=swap";:root{font-family:Be Vietnam Pro,sans-serif;color:#414939;background:#faf8f2;font-synthesis:none;font-size:14px;--accent:#8b5670;--petal:#c98aa8;--petal-light:#f5dce9}*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button{color:inherit}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #a57d95;outline-offset:5px}button:disabled{cursor:default;opacity:.65}button svg{flex-shrink:0}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--font-display);font-weight:500}button{border:0;background:none}input,textarea,select{width:100%;background:#fffdf8;border:1px solid #deddd2;border-radius:8px;padding:12px 14px;color:#414939}textarea{resize:vertical;line-height:1.8}input::placeholder{color:#95978d}.paper-grain{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:20;opacity:.13;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%238c7e65' opacity='.23' filter='url(%23n)' d='M0 0h180v180H0z'/%3E%3C/svg%3E")}.site-header{height:92px;max-width:1320px;margin:auto;padding:0 5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #e6e5da}.brand{display:flex;align-items:center;gap:10px}.brand>svg{color:#81906c}.brand>span{font-family:var(--font-display);font-size:36px;font-weight:600;font-style:italic;letter-spacing:.2px;line-height:1.2;white-space:nowrap}.header-right{display:flex;align-items:center;gap:24px}.occasion{font-size:9px;letter-spacing:2px;color:#777e6d}.date-pill{display:inline-block;font-size:11px;letter-spacing:1.5px;border:1px solid #dddccf;padding:9px 16px;border-radius:30px;white-space:nowrap}.icon-button{display:flex;align-items:center;justify-content:center;min-height:40px;min-width:40px;border-radius:50%;color:#7b806f}.icon-button:hover{background:#eeede4}.hero{text-align:center;position:relative;padding:76px 22px 58px;overflow:hidden}.eyebrow{font-size:9px;font-weight:500;letter-spacing:2.3px;display:flex;align-items:center;justify-content:center;gap:12px;color:#848570}.eyebrow>span{width:24px;height:1px;background:#bdbaa6}.hero h1{font-size:clamp(45px,5.4vw,76px);line-height:1.08;letter-spacing:-1.8px;margin:24px 0}.hero h1 em{font-weight:400;color:#9d6c7d}.hero>p{font-size:12px;line-height:2;color:#7d8174}.handwritten{font-family:var(--font-display);font-size:22px;font-style:italic;color:#9b8478;display:flex;align-items:center;justify-content:center;gap:10px}.hero .handwritten{margin-top:27px}.hero-flower{position:absolute;opacity:.48;width:205px;top:120px;pointer-events:none}.hero-flower.left{left:calc(50% - 580px);transform:rotate(-25deg)}.hero-flower.right{right:calc(50% - 580px);transform:rotate(25deg)}.flower-art{width:100%;height:100%;overflow:visible}.lavender{--petal:#a891bf;--petal-light:#e4d8ed;--accent:#79658e;--tint:#f1edf4}.rose{--petal:#d18f9e;--petal-light:#f7dce1;--accent:#a36577;--tint:#f8eeed}.peach{--petal:#e5ac85;--petal-light:#fae2bd;--accent:#a77a55;--tint:#faf1e5}.sage{--petal:#a9b58c;--petal-light:#e6ead0;--accent:#74845e;--tint:#f0f2e8}.garden{max-width:1150px;margin:auto;padding:0 30px}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:27px;gap:20px}.section-kicker{font-size:9px;font-weight:500;letter-spacing:2.1px;color:#93947e}.section-heading h2{font-size:34px;margin-top:8px}.section-note{display:flex;gap:9px;align-items:center;font-size:10px;color:#8b8e7f;padding-bottom:6px}.flower-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.flower-card{position:relative;text-align:center;border:1px solid #e1dfd4;border-radius:120px 120px 10px 10px;background:linear-gradient(175deg,var(--tint),#fbfaf6 94%);padding:30px 18px 25px;transition:box-shadow .3s,transform .3s;min-width:0}.flower-card:hover{transform:translateY(-7px)!important;box-shadow:0 16px 25px #5a554d0c}.card-number{position:absolute;left:26px;top:38px;font-family:Georgia,serif;font-size:12px;font-style:italic;color:#a6a396}.card-heart{position:absolute;right:25px;top:38px;color:var(--accent);opacity:.65}.flower-stage{height:220px;display:flex;justify-content:center;padding:0 20px}.flower-stage .flower-art{max-width:185px;animation:sway 6s ease-in-out infinite;transform-origin:50% 95%}.flower-card:nth-child(2n) .flower-art{animation-delay:-3s}.card-label{display:block;margin-top:12px;letter-spacing:2px;font-size:8px;color:#989586}.flower-card h3{font-size:31px;color:#545647;margin:8px 0}.flower-card p{font-size:10px;line-height:1.8;color:#8a8b7e;min-height:36px}.card-link{border-top:1px solid #e7e4d9;padding-top:17px;margin-top:16px;display:flex;justify-content:center;align-items:center;gap:13px;font-size:10px;color:var(--accent)}.name-entry{text-align:center;margin-top:35px}.name-entry>span{font-size:11px;color:#939384}.name-entry form{display:flex;width:min(340px,100%);margin:13px auto 0;border:1px solid #deded2;border-radius:30px;overflow:hidden;background:#fffdf8;padding:3px}.name-entry input{background:transparent;border:0;padding:9px 17px;font-size:11px}.name-entry button{width:42px;flex-shrink:0;border-radius:50%;display:grid;place-items:center;color:#879270}.error{color:#ad554f;font-size:12px;margin-top:12px}.closing{text-align:center;padding:62px 20px 65px}.closing>svg{color:#b38c91;stroke-width:1}.closing p{font-family:var(--font-display);font-size:31px;line-height:1.3;margin:17px 0}.closing p em{color:#9c7680}.closing>span{font-size:8px;letter-spacing:2px;color:#9c9c8b}footer{border-top:1px solid #e6e5da;margin:0 auto;max-width:1190px;display:flex;justify-content:space-between;align-items:center;padding:24px 30px;gap:16px;color:#969789;font-size:9px}footer>span:first-child{display:flex;align-items:center;gap:8px}footer>button{font-size:10px;text-decoration:underline;text-underline-offset:4px}.gift-page{max-width:1060px;margin:auto;padding:30px}.back-button{display:flex;align-items:center;gap:8px;font-size:12px;color:#808573;padding:10px 0}.gift-hero{text-align:center;padding:25px 0 55px}.gift-hero .small{display:block;width:120px;height:145px;margin:28px auto 12px}.gift-hero h1{font-size:clamp(38px,5vw,62px);color:var(--accent)}.gift-hero p{color:#8b8d7e;line-height:1.8;margin:16px 0 20px;font-size:13px}.memory-count{font-size:12px;color:var(--accent);letter-spacing:2px}.memory-layout{display:grid;grid-template-columns:1.15fr 1fr;gap:75px;align-items:center;padding:12px 20px 30px}.polaroid{padding:16px 16px 12px;background:#fffefa;box-shadow:0 7px 32px #45452a12;border:1px solid #eeebe1;transform:rotate(-2deg)}.polaroid p{font-family:var(--font-display);text-align:center;font-size:21px;margin:17px 5px 9px;min-height:30px}.memory-image{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}.photo-placeholder{aspect-ratio:4/3;background:var(--tint);display:flex;align-items:center;justify-content:center;flex-direction:column;color:var(--accent);text-align:center}.photo-placeholder .flower-art{width:110px;height:132px}.photo-placeholder span{font-size:12px;padding:0 12px}.photo-placeholder small{font-size:9px;color:#98988a;margin:9px}.memory-aside .handwritten{justify-content:flex-start;font-size:24px}.memory-aside h2{font-size:43px;line-height:1.15;margin:15px 0 20px}.memory-aside>p{font-size:12px;line-height:2.1;color:#8a8c7e;max-width:290px}.gallery-controls{display:flex;align-items:center;gap:20px;margin-top:25px}.round-button{border:1px solid #dcded0;border-radius:50%;width:42px;height:42px;display:grid;place-items:center}.round-button:hover{background:var(--tint)}.dots{display:flex;gap:6px}.dots button{padding:8px;position:relative}.dots button:after{content:"";width:5px;height:5px;position:absolute;left:5px;top:5px;background:#d4d5c8;border-radius:50%}.dots button.selected:after{background:var(--accent)}.letter-section{text-align:center;padding:70px 0 30px}.letter-section>h2{font-size:36px;margin:15px 0 30px}.envelope{width:260px;height:170px;background:var(--tint);border:1px solid #e4dad4;border-radius:6px;margin:auto;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:10px;color:var(--accent);box-shadow:0 8px 22px #6351410a;transition:transform .3s}.envelope:hover{transform:rotate(-3deg)}.envelope>span{font-size:12px}.envelope>svg:last-child{width:15px;height:15px}.letter-paper{max-width:680px;margin:25px auto 0;overflow:hidden;text-align:left;background:#fffdf7;box-shadow:0 8px 30px #5d4f310b;border:1px solid #e9e3d8}.letter-inner{padding:38px 45px}.letter-date{font-size:10px;color:#a09787}.letter-inner h3{font-size:30px;margin:25px 0 18px;color:var(--accent)}.letter-message{white-space:pre-line;font-size:15px;line-height:2.15;color:#666b5e}.signature{font-size:12px;text-align:right;line-height:2;margin-top:20px}.signature em{font-family:var(--font-display);color:var(--accent);font-size:29px}audio{width:100%;max-width:100%;height:42px}.surprise-section{text-align:center;padding:65px 0 50px}.surprise-section>svg{color:var(--accent)}.surprise-section>h2{font-size:36px;margin:16px 0 12px}.surprise-section>p{font-size:12px;color:#939282;line-height:1.8;margin-bottom:25px}.primary-button,.secondary-button{display:inline-flex;align-items:center;justify-content:center;gap:9px;border-radius:30px;padding:13px 22px;font-size:12px;min-height:45px}.primary-button{background:#79846a;color:#fffdf8}.primary-button:hover{background:#626f52}.secondary-button{border:1px solid #d8d9ca;background:#fffdf8}.secret-message{max-width:620px;padding:35px;margin:35px auto 0;background:var(--tint);position:relative;border-radius:8px}.secret-message p{font-family:var(--font-display);font-size:27px;line-height:1.6;color:var(--accent);white-space:pre-line}.secret-message>span{display:block;margin-top:22px;font-size:10px;letter-spacing:1px}.celebration{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden}.celebration>span{position:absolute;left:calc(var(--i)*8%);bottom:-30px;font-size:22px;color:var(--accent);animation:float-up 5s ease-out infinite;animation-delay:calc(var(--i)*.25s);opacity:0}.centered{margin:0 auto 30px}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#353e33a6;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);z-index:40;display:flex;align-items:center;justify-content:center;padding:24px}.editor{background:#faf8f2;width:min(760px,100%);max-height:92dvh;overflow-y:auto;border-radius:18px;padding:32px;box-shadow:0 20px 90px #0003}.editor-heading{display:flex;align-items:center;justify-content:space-between}.editor-heading h2{font-size:36px;margin-top:7px}.editor-help{font-size:12px;line-height:1.9;color:#878978;margin:20px 0}.editor label{display:block;font-size:11px;font-weight:500;line-height:1.6;margin-bottom:14px}.editor label>input,.editor label>textarea,.editor label>select{margin-top:7px;font-weight:400;font-size:13px}.editor-tabs{display:flex;gap:7px;margin:22px 0;flex-wrap:wrap}.editor-tabs>button{border-radius:22px;border:1px solid #deded0;padding:9px 13px;font-size:11px}.editor-tabs>button.active{background:#80896f;color:#fff;border-color:transparent}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.editor h3{font-size:29px;margin:25px 0 10px}.field-note{font-size:11px;color:#8b8d7d;line-height:1.8;margin:0 0 15px}.memory-editor{display:grid;grid-template-columns:90px 1fr;gap:16px;padding:18px 0;border-bottom:1px solid #e5e5d9}.memory-editor-preview{height:100px;background:#eeeee4;display:grid;place-items:center;color:#adb09a;border-radius:8px;overflow:hidden}.memory-editor-preview img{width:100%;height:100%;object-fit:cover}.editor .upload-button{display:inline-flex;align-items:center;gap:7px;border:1px dashed #bcbfa8;padding:10px 14px;border-radius:7px;cursor:pointer;font-weight:400;font-size:11px}.upload-button input{position:absolute;width:1px;height:1px;opacity:0}.upload-button:focus-within{outline:3px solid #a57d95;outline-offset:3px}.text-button{font-size:11px;color:#7b8468;text-decoration:underline;text-underline-offset:4px;padding:8px 10px 8px 0}.draft-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-top:26px}.draft-actions .upload-button{margin:0}.editor-actions{display:flex;justify-content:flex-end;gap:12px;position:sticky;bottom:-32px;background:#faf8f2ef;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);padding:20px 0;margin-top:12px}.editor-status{font-size:12px;line-height:1.8;background:#e9eddf;padding:14px;margin-top:15px;border-radius:8px}.toast{position:fixed;bottom:25px;left:50%;transform:translate(-50%);padding:16px 20px;background:#414939;color:#fff;z-index:60;border-radius:10px;font-size:12px;display:flex;align-items:center;gap:15px;max-width:90%;width:max-content;line-height:1.6}.toast button{display:flex;color:inherit}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@keyframes sway{0%,to{transform:rotate(-3deg)}50%{transform:rotate(3deg)}}@keyframes float-up{0%{transform:translateY(0) rotate(0);opacity:0}20%{opacity:.6}to{transform:translateY(-300px) rotate(30deg);opacity:0}}@media(min-width:1500px){.hero{padding-top:90px;padding-bottom:70px}}@media(max-width:800px){.occasion{display:none}.header-right{gap:12px}.site-header{height:76px;padding:0 24px}.hero{padding-top:56px}.hero-flower.left{left:-100px;top:140px}.hero-flower.right{right:-100px;top:140px}.flower-grid{grid-template-columns:repeat(2,1fr);gap:18px}.flower-card{padding:25px 18px}.flower-stage{height:205px}.section-heading{align-items:start}.section-note{max-width:145px;line-height:1.8;font-size:10px}.garden{padding:0 24px}.memory-layout{gap:35px;padding:10px 0 20px}.memory-aside h2{font-size:35px}.memory-aside .handwritten{font-size:20px}.gift-page{padding:25px}.gift-hero h1{max-width:630px;margin:auto}footer{flex-wrap:wrap;font-size:9px;justify-content:center}footer>span:nth-child(2){display:none}}@media(max-width:500px){.brand>span{font-size:clamp(24px,6.7vw,30px)}.brand{gap:6px}.brand>svg{width:18px}.header-right{gap:4px}.date-pill{font-size:9px;padding:8px 10px}.site-header{padding:0 18px}.hero{padding:45px 20px}.hero h1{font-size:46px;letter-spacing:-1.3px;margin-top:21px}.eyebrow{font-size:7px;letter-spacing:1.7px;gap:6px}.eyebrow>span{width:10px}.hero>p{font-size:11px;line-height:1.9}.hero .handwritten{font-size:19px;margin-top:22px}.hero-flower{width:145px;opacity:.3}.hero-flower.left{left:-85px}.hero-flower.right{right:-85px}.garden{padding:0 18px}.section-heading h2{font-size:28px}.section-kicker{font-size:8px;letter-spacing:1.6px}.section-note{display:none}.section-heading{margin-bottom:20px}.flower-grid{gap:12px}.flower-card{padding:24px 10px 20px;border-radius:85px 85px 8px 8px}.flower-stage{height:170px;padding:0 7px}.card-number{top:31px;left:18px;font-size:10px}.card-heart{right:17px;top:30px}.card-heart svg{width:13px}.flower-card h3{font-size:26px}.flower-card p{font-size:9px;line-height:1.8;min-height:33px}.card-label{font-size:7px;margin-top:8px}.card-link{font-size:10px;gap:7px;margin-top:12px;padding-top:13px}.closing{padding:45px 18px}.closing p{font-size:29px}.gift-page{padding:20px}.gift-hero{padding:20px 0 40px}.gift-hero h1{font-size:41px;line-height:1.12}.memory-layout{grid-template-columns:1fr;gap:35px;padding:5px 8px}.memory-aside{text-align:center}.memory-aside .handwritten{justify-content:center}.memory-aside h2{font-size:36px}.memory-aside h2 br{display:none}.memory-aside>p{margin:auto;max-width:100%}.gallery-controls{justify-content:center}.letter-section{padding-top:50px}.letter-section>h2,.surprise-section>h2{font-size:31px}.letter-inner{padding:28px 23px}.letter-message{font-size:14px;line-height:2}.secret-message{padding:25px}.secret-message p{font-size:25px}.modal-backdrop{padding:8px}.editor{padding:22px;max-height:96dvh;border-radius:12px}.editor-heading h2{font-size:31px}.form-grid{grid-template-columns:1fr;gap:0}.memory-editor{grid-template-columns:65px 1fr;gap:12px}.editor-actions{bottom:-22px;gap:8px}.editor-actions button{font-size:11px;padding:11px 16px}.toast{font-size:11px}.name-entry>span{font-size:10px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}.developer-toolbar{display:flex;justify-content:space-between;align-items:center;gap:24px;background:#edf0e6;border-bottom:1px solid #d8dfca;padding:18px max(24px,calc((100vw - 1140px)/2));position:relative;z-index:21}.developer-toolbar>div:first-child{display:flex;flex-direction:column;gap:6px}.developer-toolbar strong{font-size:14px;font-weight:600;color:#536247}.developer-toolbar span{font-size:11px;line-height:1.7;color:#7c866f}.developer-toolbar-actions{display:flex;gap:10px;flex-shrink:0}.developer-toolbar-actions a{white-space:nowrap}.editor-actions{flex-wrap:wrap}@media(max-width:800px){.developer-toolbar{align-items:flex-start;flex-direction:column;gap:14px;padding:18px 24px}.developer-toolbar-actions{flex-wrap:wrap}}@media(max-width:500px){.developer-toolbar{padding:16px 18px}.developer-toolbar-actions{gap:8px}.developer-toolbar-actions .primary-button,.developer-toolbar-actions .secondary-button{font-size:11px;padding:11px 14px}}.locked-garden{max-width:680px;margin:0 auto;padding:0 24px 12px;position:relative}.sleeping-garden{display:flex;justify-content:center;align-items:flex-end;gap:48px;height:132px;padding:0 24px;position:relative}.sleeping-garden:after{content:"";position:absolute;bottom:0;left:12%;right:12%;height:1px;background:linear-gradient(90deg,transparent,#c8cfba,transparent)}.sleeping-flower{position:relative;width:44px;height:110px;transform:rotate(calc((var(--i) - 1.5)*5deg));animation:bud-sway 7s ease-in-out infinite;animation-delay:calc(var(--i)*-.9s);transform-origin:50% 100%}.bud{position:absolute;z-index:2;top:5px;left:3px;width:38px;height:49px}.bud span{position:absolute;bottom:0;left:7px;width:25px;height:41px;border-radius:80% 15% 65% 25%;background:linear-gradient(150deg,var(--petal-light),var(--petal));transform:rotate(-20deg);opacity:.8}.bud span:nth-child(2){left:10px;transform:scaleX(-1) rotate(-20deg)}.bud span:nth-child(3){height:40px;width:20px;left:10px;border-radius:65% 65% 45% 45%;opacity:.9}.bud-stem{position:absolute;bottom:0;left:22px;height:63px;width:2px;background:#94a17e;border-radius:50%}.bud-leaf{position:absolute;bottom:17px;left:22px;background:#a4b18e;width:24px;height:13px;border-radius:100% 0;transform:rotate(-25deg)}.sleeping-flower:nth-child(2n) .bud-leaf{left:1px;transform:scaleX(-1) rotate(-25deg)}.unlock-card{position:relative;text-align:center;margin-top:25px;padding:32px 44px 30px;background:#fffdf8;border:1px solid #e1dfd3;border-radius:20px;box-shadow:0 15px 45px #63683f06}.unlock-lock{display:grid;place-items:center;width:38px;height:38px;margin:0 auto 17px;border:1px solid #e4e5d8;border-radius:50%;color:#879273;background:#f6f7ef}.unlock-card .section-kicker{font-size:8px}.unlock-card h2{font-size:43px;margin:10px 0 12px}.unlock-card>p{font-size:12px;line-height:1.9;color:#8b8e7e}.unlock-form{max-width:360px;margin:25px auto 0;text-align:left}.unlock-form>label{display:block;font-size:11px;font-weight:500;color:#727a65;margin:15px 0 8px}.unlock-form>input,.unlock-form .code-input input{min-height:48px;font-size:14px;background:#fafbf5;border-color:#e0e3d4}.unlock-form>.primary-button{width:100%;margin-top:23px;min-height:48px}.code-input{position:relative;display:flex;align-items:center;margin-top:7px}.code-input input{padding-right:46px}.code-input>button{position:absolute;right:5px;min-width:38px;min-height:38px;display:grid;place-items:center;color:#8d947f;border-radius:6px}.code-input>button:hover{background:#eaeee0}.unlock-form .unlock-error{font-size:11px;line-height:1.8;color:#a7605b;margin-top:13px;padding:10px 12px;background:#fcf0ec;border-radius:6px}.unlock-note{display:flex;align-items:center;justify-content:center;gap:8px;font-size:9px;color:#a09a88;line-height:1.8;margin-top:24px}.bloom-reveal{text-align:center;max-width:900px;min-height:74vh;margin:auto;padding:65px 24px 60px;overflow:hidden}.bloom-stage{position:relative;width:270px;height:300px;margin:28px auto 20px;isolation:isolate}.bloom-stage>div:nth-child(2){width:100%;height:100%}.bloom-stage .flower-art{position:relative;z-index:1}.bloom-glow{position:absolute;top:10%;right:-12%;bottom:0;left:-12%;border-radius:50%;background:radial-gradient(ellipse,var(--tint),transparent 68%);animation:bloom-glow 2.5s ease-in-out infinite}.bloom-reveal h1{font-size:62px;color:var(--accent);margin:12px 0 13px;outline:none}.bloom-reveal>p{font-size:13px;color:#8a8b7e;line-height:1.8;margin-bottom:28px}.bloom-reveal>.text-button{display:block;margin:15px auto 0;padding:8px}.bloom-sparkles{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:2}.bloom-sparkles>span{position:absolute;top:45%;left:47%;font-size:22px;color:var(--accent);opacity:0;animation:bloom-sparkle 3.5s ease-out infinite;animation-delay:calc(var(--i)*.17s);--angle:calc(var(--i)*45deg)}.access-editor{background:#f0f3e8;padding:20px;border:1px solid #dce2cf;border-radius:12px;margin:6px 0 25px}.access-editor h3{display:flex;align-items:center;gap:9px;margin:0 0 12px;font-size:27px}.access-editor .access-note{font-size:10px;margin:12px 0 0}.access-editor .code-input{margin-top:7px}.developer-loading{font-size:13px;line-height:1.8;color:#888e7a;text-align:center;padding:40px}.unlock-form input:disabled{opacity:.6}@keyframes bud-sway{0%,to{rotate:-3deg}50%{rotate:3deg}}@keyframes bloom-glow{0%,to{opacity:.5;scale:.95}50%{opacity:1;scale:1.1}}@keyframes bloom-sparkle{0%{opacity:0;transform:rotate(var(--angle)) translateY(-50px) rotate(calc(-1*var(--angle))) scale(.5)}30%{opacity:.65}to{opacity:0;transform:rotate(var(--angle)) translateY(-150px) rotate(calc(-1*var(--angle))) scale(1.2)}}@media(max-width:500px){.locked-garden{padding:0 18px 12px}.sleeping-garden{gap:32px;height:116px}.sleeping-flower{scale:.9}.unlock-card{padding:27px 22px 25px;margin-top:22px}.unlock-card h2{font-size:37px}.unlock-card>p{font-size:11px}.unlock-note{font-size:8px;gap:6px}.unlock-form>label{font-size:11px}.bloom-reveal{padding:50px 20px 40px}.bloom-stage{width:220px;height:260px;margin-top:24px}.bloom-reveal h1{font-size:48px}.bloom-reveal>.eyebrow{font-size:7px;letter-spacing:1.2px}.access-editor{padding:16px}.access-editor h3{font-size:25px}}@media(prefers-reduced-motion:reduce){.sleeping-flower,.bloom-glow,.bloom-sparkles>span{animation:none!important}.bloom-sparkles>span{display:none}}:root{--font-body: "Be Vietnam Pro", "Segoe UI", sans-serif;--font-display: "Lora", "Times New Roman", serif;--ink: #334333;--ink-heading: #2f4434;--ink-secondary: #596653;--ink-muted: #66715f;--ink-rose: #8b5268;--button-fill: #526447;--button-hover: #405337;--ink-error: #963e3c;--accent: var(--ink-rose);font-family:var(--font-body);font-size:16px;line-height:1.75;color:var(--ink);-webkit-text-size-adjust:100%;text-size-adjust:100%}.lavender{--accent: #6b4e83}.rose{--accent: #914d68}.peach{--accent: #87532d}.sage{--accent: #526a3e}body,button,input,textarea,select{font-family:var(--font-body)}h1,h2,h3{font-family:var(--font-display);color:var(--ink-heading);font-weight:500;line-height:1.4;letter-spacing:-.035em;overflow-wrap:anywhere}p{overflow-wrap:anywhere}input,textarea,select{color:var(--ink);font-size:16px;line-height:1.7;caret-color:var(--ink-rose)}input::placeholder,textarea::placeholder{color:#6b7664;opacity:1}textarea{line-height:1.95}::selection{background:#e9d7df;color:#3f2f3b}.site-header{gap:16px}.brand{min-width:0}.brand>span{font-family:var(--font-display);color:var(--ink-heading);font-size:30px;font-style:italic;font-weight:600;line-height:1.5;letter-spacing:-.055em}.brand>svg{color:#657750}.header-right{flex-shrink:0}.occasion{color:var(--ink-muted);font-size:11px;font-weight:500;letter-spacing:1.5px}.date-pill{color:#4d6142;font-size:12px;font-weight:600;line-height:1.5;letter-spacing:1px}.icon-button,.round-button,.code-input>button{color:#596e49}.eyebrow,.section-kicker{color:var(--ink-muted);font-size:11px;font-weight:600;line-height:1.9;letter-spacing:1.7px}.hero h1{color:var(--ink-heading);font-size:clamp(38px,4.3vw,60px);font-weight:500;line-height:1.4;letter-spacing:-.05em;margin:25px 0 23px}.hero h1 em{color:var(--ink-rose);font-weight:500}.hero>p{color:var(--ink-secondary);font-size:16px;line-height:1.95}.handwritten{font-family:var(--font-display);color:var(--ink-rose);font-size:20px;font-style:italic;font-weight:400;line-height:1.8}.hero .handwritten{font-size:20px}.section-heading h2{font-size:clamp(27px,3vw,36px);line-height:1.5;letter-spacing:-.04em}.section-note{color:var(--ink-muted);font-size:12px;line-height:1.8}.card-number{color:var(--ink-muted);font-family:var(--font-display);font-size:13px}.card-label{color:var(--ink-muted);font-size:11px;font-weight:500;line-height:1.8;letter-spacing:1.5px}.flower-card h3{color:var(--ink-heading);font-size:27px;font-weight:500;line-height:1.5;margin:10px 0}.flower-card p{color:var(--ink-secondary);font-size:13px;line-height:1.85;min-height:49px}.card-link{color:var(--accent);font-size:12px;font-weight:600;line-height:1.8}.name-entry>span,.name-entry input{font-size:14px}.name-entry>span{color:var(--ink-secondary)}.error{color:var(--ink-error);font-size:14px;line-height:1.8}.unlock-card{padding:35px 40px 33px}.unlock-card .section-kicker{font-size:11px}.unlock-card h2{color:var(--ink-heading);font-size:36px;font-weight:500;line-height:1.5;margin:11px 0 14px}.unlock-card>p{color:var(--ink-secondary);font-size:15px;line-height:1.95}.unlock-form{max-width:400px;margin-top:27px}.unlock-form>label{color:#40543a;font-size:14px;font-weight:500;line-height:1.7;margin-top:18px}.unlock-form>input,.unlock-form .code-input input{font-size:16px;line-height:1.7;min-height:52px}.unlock-form .unlock-error{color:var(--ink-error);font-size:13px;line-height:1.9}.unlock-note{color:var(--ink-muted);font-size:11px;line-height:1.9;align-items:flex-start}.unlock-note svg{margin-top:4px;flex-shrink:0}.bloom-reveal h1{color:var(--accent);font-size:clamp(38px,5vw,56px);font-weight:500;line-height:1.4;margin:15px 0}.bloom-reveal>p{color:var(--ink-secondary);font-size:16px;line-height:1.9}.bloom-reveal>.eyebrow{font-size:11px}.back-button{color:#506743;font-size:14px;font-weight:500;line-height:1.8}.gift-hero h1{color:var(--accent);font-size:clamp(34px,4.4vw,52px);font-weight:500;line-height:1.45;max-width:850px;margin-inline:auto}.gift-hero p{color:var(--ink-secondary);font-size:16px;line-height:1.95}.memory-count{font-size:14px;font-weight:500;line-height:1.8}.polaroid p{font-family:var(--font-display);color:var(--ink-secondary);font-size:19px;font-style:italic;font-weight:400;line-height:1.8}.photo-placeholder span{font-size:14px;line-height:1.8}.photo-placeholder small{color:var(--ink-muted);font-size:12px;line-height:1.8}.memory-aside .handwritten{color:var(--ink-rose);font-size:20px}.memory-aside h2{font-size:35px;line-height:1.5;letter-spacing:-.04em}.memory-aside>p{color:var(--ink-secondary);font-size:15px;line-height:2;max-width:340px}.letter-section>h2,.surprise-section>h2{font-size:clamp(28px,3.3vw,36px);line-height:1.5}.envelope>span{font-size:14px;font-weight:500;line-height:1.8}.letter-date{color:var(--ink-muted);font-size:13px;line-height:1.9}.letter-inner h3{color:var(--accent);font-size:28px;font-weight:500;line-height:1.5}.letter-message{color:#3d4b38;font-family:var(--font-body);font-size:18px;font-weight:400;line-height:2;letter-spacing:.005em}.signature{color:var(--ink-secondary);font-size:14px;line-height:2}.signature em{font-family:var(--font-display);font-size:29px;line-height:1.7}.surprise-section>p{color:var(--ink-secondary);font-size:15px;line-height:1.95}.secret-message p{font-family:var(--font-display);font-size:24px;font-weight:400;line-height:1.9;letter-spacing:-.02em}.secret-message>span{color:var(--ink-secondary);font-size:12px;line-height:1.9;letter-spacing:.5px}.closing p{font-family:var(--font-display);color:var(--ink-heading);font-size:30px;line-height:1.7;letter-spacing:-.04em}.closing p em{color:var(--ink-rose)}.closing>span{color:var(--ink-muted);font-size:11px;line-height:1.9;letter-spacing:1.5px}footer{color:var(--ink-muted);font-size:12px;line-height:1.9}footer>button{color:#506743;font-size:12px;font-weight:500}.primary-button,.secondary-button{font-family:var(--font-body);font-size:14px;font-weight:500;line-height:1.7;min-height:48px}.primary-button{color:#fffefa;background:var(--button-fill)}.primary-button:hover{background:var(--button-hover)}.secondary-button{color:#40543a}.text-button{color:#506743;font-size:13px;font-weight:500;line-height:1.8}.developer-toolbar strong{color:#40543a;font-size:16px;font-weight:600}.developer-toolbar span{color:var(--ink-secondary);font-size:13px;line-height:1.9}.developer-loading{color:var(--ink-secondary);font-size:15px;line-height:1.9}.editor-heading h2{font-size:34px;line-height:1.5}.editor-help{color:var(--ink-secondary);font-size:14px;line-height:2}.editor label{color:#40543a;font-size:13px;font-weight:500;line-height:1.8}.editor label>input,.editor label>textarea,.editor label>select{color:var(--ink);font-size:16px;font-weight:400;line-height:1.8}.editor .code-input input{font-size:16px;line-height:1.8}.editor-tabs>button{color:#506743;font-size:13px;line-height:1.8}.editor-tabs>button.active{color:#fffefa;background:var(--button-fill)}.editor h3{font-size:27px;line-height:1.5}.field-note,.access-editor .access-note{color:var(--ink-secondary);font-size:13px;line-height:1.95}.editor .upload-button{color:#40543a;font-size:13px;font-weight:500;line-height:1.8}.editor-status{color:#40543a;font-size:14px;line-height:1.95}.editor-actions button{font-size:14px}.toast{font-size:14px;line-height:1.9;background:#334333;color:#fffefa}@media(max-width:800px){.hero h1{font-size:clamp(36px,5.8vw,48px)}.hero>p{font-size:15px}.section-note{font-size:12px}.memory-aside h2{font-size:30px}footer{font-size:12px}}@media(max-width:500px){.site-header{gap:10px}.brand{gap:6px}.brand>span{font-size:clamp(20px,5.8vw,27px);letter-spacing:-.06em}.header-right{gap:3px}.date-pill{font-size:11px;padding:8px 10px}.eyebrow,.section-kicker,.unlock-card .section-kicker{font-size:10px;letter-spacing:1.1px}.hero{padding:43px 18px 40px}.hero .eyebrow{max-width:320px;margin-inline:auto}.hero h1{font-size:clamp(30px,8.3vw,39px);line-height:1.5;letter-spacing:-.05em;margin:22px 0}.hero>p{font-size:14px;line-height:2}.hero .handwritten{font-size:17px;line-height:1.9;gap:7px}.hero .handwritten svg{flex-shrink:0}.section-heading h2{font-size:27px}.flower-card h3{font-size:23px;line-height:1.6}.flower-card p{font-size:12px;min-height:45px}.card-label{font-size:10px}.card-link{font-size:12px;line-height:1.8}.unlock-card{padding:28px 22px}.unlock-card h2{font-size:29px;line-height:1.55}.unlock-card>p{font-size:14px;line-height:1.95}.unlock-form>label{font-size:14px}.unlock-note{font-size:11px;line-height:1.9}.bloom-reveal>.eyebrow{font-size:10px;letter-spacing:1px}.bloom-reveal h1{font-size:38px;line-height:1.5}.bloom-reveal>p{font-size:15px}.gift-hero h1{font-size:33px;line-height:1.5}.gift-hero p{font-size:15px}.polaroid p{font-size:17px;line-height:1.9}.photo-placeholder span{font-size:13px}.photo-placeholder small{font-size:11px}.memory-aside .handwritten{font-size:18px}.memory-aside h2{font-size:29px;line-height:1.6}.memory-aside>p{font-size:15px;line-height:2}.letter-section>h2,.surprise-section>h2{font-size:28px;line-height:1.6}.letter-date{font-size:12px}.letter-inner h3{font-size:25px;line-height:1.6}.letter-message{font-size:17px;line-height:2}.secret-message p{font-size:21px;line-height:1.95}.secret-message>span{font-size:12px}.closing p{font-size:25px;line-height:1.8}.closing>span{font-size:10px;letter-spacing:1px}.primary-button,.secondary-button{font-size:14px}.developer-toolbar-actions .primary-button,.developer-toolbar-actions .secondary-button{font-size:13px}.editor-heading h2{font-size:28px;line-height:1.5}.editor-help{font-size:13px}.editor h3,.access-editor h3{font-size:25px}.field-note,.access-editor .access-note{font-size:12px}.editor-actions{justify-content:stretch}.editor-actions button{flex:1 1 auto;font-size:13px}.toast{font-size:13px}}@media(max-width:360px){.site-header{padding-inline:14px;gap:6px}.brand>span{font-size:19px}.brand>svg{width:15px}.header-right .icon-button{min-width:34px}.date-pill{padding-inline:8px;font-size:10px}.hero h1{font-size:29px}.eyebrow{font-size:9px;letter-spacing:.8px}.hero>p{font-size:13px}.flower-card h3{font-size:21px}.unlock-card{padding-inline:18px}.unlock-card h2{font-size:27px}}.unlock-form .input-help,.unlock-form .field-error{margin:8px 0 0;font-size:12px;line-height:1.85;text-align:left}.unlock-form .input-help{color:var(--ink-muted)}.unlock-form .field-error{color:var(--ink-error)}.unlock-form input{transition:border-color .18s ease,background-color .18s ease,box-shadow .18s ease}.unlock-form input:not(:disabled):hover{border-color:#9aaa89;background:#f2f6eb}.unlock-form input[aria-invalid=true],.unlock-form input[aria-invalid=true]:hover{border-color:#b66a61;background:#fff8f5}.unlock-form input:focus,.unlock-form input:focus-visible{border-color:#637b51;outline:none;box-shadow:inset 0 0 0 1px #637b51;background:#fffefa}.unlock-form input[aria-invalid=true]:focus{border-color:#a74f48;box-shadow:inset 0 0 0 1px #a74f48}.unlock-form .required-mark{color:#b42336;font-weight:600;margin-left:3px}.unlock-form>label{width:fit-content;max-width:100%}.return-garden-button{display:flex;align-items:center;justify-content:center;gap:11px;width:fit-content;max-width:100%;min-height:52px;margin:0 auto 36px;padding:14px 26px;border:1px solid #94a581;border-radius:999px;background:#f0f4e9;color:#40543a;font-family:var(--font-body);font-size:14px;font-weight:500;line-height:1.8;box-shadow:0 3px 10px #40543a08;transition:background-color .2s ease,color .2s ease,border-color .2s ease,box-shadow .2s ease,transform .2s ease}.return-garden-button>svg{flex-shrink:0;transition:transform .25s ease}.return-garden-button:hover{background:#526447;border-color:#526447;color:#fffefa;box-shadow:0 7px 18px #40543a20;transform:translateY(-3px)}.return-garden-button:hover>svg{transform:rotate(-15deg)}.return-garden-button:active{transform:translateY(0) scale(.98);box-shadow:0 2px 5px #40543a16}.return-garden-button:focus-visible{outline:2px solid #637b51;outline-offset:4px}@media(max-width:500px){.return-garden-button{padding-inline:20px;font-size:13px;gap:9px}}footer .footer-heart{color:#b85375;fill:currentColor;stroke-width:1.5;flex-shrink:0}svg.lucide-heart{color:var(--accent, #8b5268);fill:currentColor;stroke-width:1.5}.hero .lucide-heart,.closing .lucide-heart,.unlock-note .lucide-heart,footer .lucide-heart{color:#b85375}.card-heart{opacity:1}.primary-button .lucide-heart{color:#ffd1df}.gallery-controls .round-button:disabled{opacity:.35;cursor:not-allowed;background:transparent;border-color:#dcded0}.letter-music{max-width:560px;margin:25px auto 0;padding:24px;border:1px solid #dedfd2;border-radius:16px;background:#fffdf8;text-align:left}.letter-music[hidden]{display:none}.music-heading{display:flex;align-items:center;gap:14px;margin-bottom:20px}.music-symbol{width:46px;height:46px;flex-shrink:0;display:grid;place-items:center;color:var(--accent);background:var(--tint);border-radius:50%}.music-symbol.playing{animation:music-pulse 2s ease-in-out infinite}.music-heading .section-kicker{font-size:9px;letter-spacing:1px}.music-heading h3{color:var(--accent);font-size:21px;line-height:1.6;margin-top:5px}.letter-music audio{display:block;width:100%}.music-status{color:var(--ink-muted);font-size:12px;line-height:1.9;margin-top:13px}@keyframes music-pulse{0%,to{box-shadow:0 0 #8b526800}50%{box-shadow:0 0 0 7px #8b52680c}}@media(max-width:500px){.letter-music{padding:20px 16px}.music-heading{gap:11px}.music-heading h3{font-size:18px}}@media(prefers-reduced-motion:reduce){.music-symbol.playing{animation:none}}.music-controls{display:flex;align-items:center;justify-content:space-between;gap:20px}.music-toggle{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:46px;padding:11px 21px;border-radius:999px;border:1px solid var(--accent);background:var(--tint);color:var(--accent);font:500 14px/1.7 var(--font-body);transition:background-color .2s ease,box-shadow .2s ease,transform .2s ease}.music-toggle:hover{box-shadow:0 4px 12px #4d3b5612;transform:translateY(-2px)}.music-toggle:active{transform:translateY(0) scale(.98)}.music-toggle[aria-pressed=true]{background:var(--accent);color:#fffefa}.music-volume{display:flex;align-items:center;gap:8px;color:var(--accent);max-width:170px}.music-volume svg{flex-shrink:0}.music-volume input[type=range]{width:115px;padding:0;min-height:32px;border:0;background:transparent;accent-color:var(--accent);cursor:pointer}.letter-music audio[hidden]{display:none}@media(max-width:500px){.music-controls{gap:12px;flex-wrap:wrap}.music-toggle{padding-inline:19px;font-size:13px}.music-volume input[type=range]{width:95px}}.sender-settings{margin:20px 0 25px;padding:22px;border:1px solid #e5d9df;border-radius:12px;background:#fbf3f5}.editor .sender-settings h3{margin:0 0 18px;font-size:25px;color:var(--ink-rose)}.editor .sender-settings>label{width:fit-content;margin-bottom:7px}.sender-settings .required-mark{color:#b42336;margin-left:3px}.sender-settings>.field-note{margin:10px 0 18px;font-size:12px}.sender-signature-preview{padding:16px 20px;border-radius:8px;background:#fffdf8}.sender-signature-preview>span{color:var(--ink-muted);font-size:10px;font-weight:500;letter-spacing:1px}.sender-signature-preview p{color:var(--ink-secondary);text-align:right;font-size:13px;line-height:1.9;margin-top:8px}.sender-signature-preview em{color:var(--ink-rose);font-family:var(--font-display);font-size:26px;line-height:1.8}@media(max-width:500px){.sender-settings{padding:18px 16px}.editor .sender-settings h3{font-size:23px}}.memory-gallery{min-width:0}.memory-gallery .gallery-controls{justify-content:center;margin-top:22px}.memory-count{flex-shrink:0;white-space:nowrap;align-self:flex-start;line-height:1.5}@media(max-width:800px){footer{flex-direction:column;gap:10px;text-align:center}footer>span:nth-child(2){display:block}footer>span{line-height:1.8}}@media(max-width:500px){.memory-section>.section-heading{gap:16px;align-items:flex-start}.memory-section>.section-heading>div{min-width:0}.memory-count{padding-top:2px}.memory-gallery .gallery-controls{margin-top:20px}.memory-aside h2{line-height:1.4}}.site-header{position:sticky;top:0;z-index:30;background:#faf9f3f5;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 4px 18px #35453308}.site-header,footer{width:100%;max-width:none;margin-inline:0;padding-inline:max(24px,calc((100% - 1130px)/2))}footer{background:#faf9f3f5}@media(max-width:500px){.site-header{padding-inline:14px}footer{padding-inline:20px}}
