@font-face{font-family:Comfortaa;src:url('/assets/comfortaa.woff2') format('woff2');font-weight:600;font-display:swap}
@font-face{font-family:Soyuz;src:url('/assets/soyuz.woff2') format('woff2');font-weight:700;font-display:swap}
:root{--bg:#faf7f2;--paper:#fffdf9;--ink:#392e2e;--muted:#93847e;--accent:#bb4c62;--light:#f7e4e6;--line:#e8dfd6;--radius:24px;font-family:Comfortaa,Arial,sans-serif;color:var(--ink);font-synthesis:none}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);font-size:13px;line-height:1.7}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}a{color:inherit;text-decoration:none}button{color:inherit}button:disabled{opacity:.5;cursor:wait}button:focus-visible,a:focus-visible{outline:3px solid var(--accent);outline-offset:5px}input:focus,textarea:focus,select:focus{outline:2px solid var(--accent);outline-offset:2px}h1,h2,h3,p{margin:0}h1,h2{font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-.055em;line-height:1.08}h1 em,h2 em{font-weight:400;color:var(--accent)}h3{font-size:16px;line-height:1.45}button{border:0}img{max-width:100%}main{min-height:65vh}main:focus{outline:0}.header{height:100px;max-width:1232px;margin:auto;padding:0 40px;display:flex;align-items:center;justify-content:space-between;gap:30px}.brand{display:inline-flex;align-items:center;position:relative;font:italic 700 38px/1 Georgia,serif;letter-spacing:-3px}.brand-heart{color:var(--accent);font-size:19px;transform:rotate(-15deg);margin-left:4px;letter-spacing:0}.brand-dot{color:var(--accent);margin-left:-3px}.header nav{display:flex;align-items:center;gap:34px;font-size:11px}.nav-mine span{color:var(--accent);margin-left:5px}.free-pill{font-size:10px;border:1px solid var(--line);border-radius:30px;padding:8px 13px;white-space:nowrap;display:inline-flex;align-items:center;gap:7px}.free-pill i{width:5px;height:5px;background:#7d9570;border-radius:50%}.button{min-height:52px;display:inline-flex;align-items:center;justify-content:center;gap:18px;padding:14px 25px;border-radius:100px;font-size:12px;font-weight:600;background:var(--accent);color:white;transition:transform .2s,box-shadow .2s,background .2s}.button:hover{transform:translateY(-2px);box-shadow:0 7px 20px #9e4b6122}.button.secondary{background:transparent;border:1px solid var(--line);color:var(--ink);box-shadow:none}.button.soft{background:var(--light);color:var(--accent)}.button.small{min-height:42px;padding:10px 19px;font-size:11px}.button.full{width:100%}.text-button{background:transparent;color:var(--muted);padding:10px;font-size:11px}.text-button:hover{color:var(--accent)}.eyebrow{text-transform:uppercase;font-size:9px;letter-spacing:2.4px;color:var(--accent);font-weight:600;display:flex;align-items:center;gap:12px}.eyebrow:before{content:'';height:1px;width:27px;background:currentColor}.hero{max-width:1160px;margin:20px auto 0;padding:30px 40px 66px;display:grid;grid-template-columns:1.05fr 1fr;gap:40px;align-items:center;min-height:605px}.hero-copy{position:relative;padding-bottom:20px}.hero h1{font-size:clamp(60px,6.5vw,89px);margin:23px 0}.hero h1 em{display:block}.hero .intro{max-width:355px;color:var(--muted);font-size:13px;line-height:1.95}.hero-actions{display:flex;align-items:center;gap:24px;margin-top:29px}.demo-link{font-size:11px;display:flex;align-items:center;gap:9px}.play{width:30px;height:30px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;color:var(--accent);font-size:9px}.hero-note{margin-top:20px;color:#a2968e;font-size:9px;display:flex;gap:14px}.hero-note span+span:before{content:'·';margin-right:14px}.hero-art{position:relative;height:500px;display:grid;place-items:center}.hero-orbit{width:430px;height:430px;border:1px dashed #dec9c1;border-radius:50%;position:absolute;transform:rotate(-10deg)}.hero-orbit:after{content:'';position:absolute;inset:30px;border:1px solid #efdfd7;border-radius:50%}.float-heart{position:absolute;color:var(--accent);font:40px Georgia;z-index:3;animation:float 5s ease-in-out infinite}.float-heart.one{top:40px;right:0;transform:rotate(20deg)}.float-heart.two{bottom:100px;left:3px;font-size:24px;animation-delay:-2s}.sparkle{position:absolute;right:8px;bottom:80px;font:48px Georgia;color:#bdb49a}.postcard{z-index:2;position:relative;width:322px;min-height:394px;background:var(--paper);border:1px solid #e5d9ce;border-radius:9px;padding:24px 24px 29px;box-shadow:0 20px 65px #77584116;transform:rotate(-6deg);text-align:center;transition:transform .4s}.postcard:hover{transform:rotate(-3deg) translateY(-5px)}.card-overline{font-size:8px;letter-spacing:2px;text-transform:uppercase;color:var(--muted)}.postcard .cat{height:166px;width:220px;object-fit:cover;mix-blend-mode:multiply;margin:8px auto -2px;object-position:center 59%}.postcard h3{font-family:Georgia,serif;font-weight:400;font-size:32px;line-height:1.13;letter-spacing:-1.3px}.postcard h3 em{color:var(--accent)}.postcard .mini-line{font-size:9px;margin:11px 0 17px;color:var(--muted)}.postcard .button{min-height:38px;font-size:10px;padding:9px 21px;pointer-events:none}.postcard-stamp{position:absolute;right:-35px;top:-25px;background:#f2e6c9;color:#8b7851;width:100px;height:100px;border-radius:50%;display:grid;place-items:center;font:italic 16px/1.15 Georgia;transform:rotate(18deg);outline:1px dashed #cbbb91;outline-offset:-7px}.envelope-back{position:absolute;width:348px;height:282px;bottom:9px;left:50%;transform:translateX(-47%) rotate(5deg);background:#ecd1c8;border:1px solid #d7b2a5;border-radius:5px;box-shadow:0 16px 35px #68402c12}.envelope-back:after{content:'';position:absolute;inset:0;background:#f0d9cf;clip-path:polygon(0 0,50% 59%,100% 0,100% 100%,0 100%)}.art-caption{position:absolute;bottom:-4px;right:30px;transform:rotate(-6deg);color:#9c867c;font:italic 17px Georgia}.ribbon{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:19px 24px;display:flex;gap:25px;justify-content:center;align-items:center;color:#99877e;font-size:11px}.ribbon b{font:20px Georgia;color:#c88390;font-weight:400}.how{max-width:1110px;margin:0 auto;padding:73px 40px 72px}.section-top{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:39px}.section-top h2{font-size:47px}.section-top .eyebrow{margin-bottom:16px}.section-top>p{font-size:11px;color:var(--muted);max-width:245px}.how-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}.how-item{border-top:1px solid var(--line);padding-top:24px;position:relative}.step-number{font:italic 27px Georgia;color:#cdaa9e}.how-item h3{margin:17px 0 9px;font-family:Georgia,serif;font-size:23px;font-weight:400}.how-item p{font-size:11px;color:var(--muted);line-height:1.9;max-width:270px}.step-symbol{float:right;font-size:24px;color:var(--accent)}.closing{margin:0 40px 50px;max-width:1030px;padding:39px 48px;background:#f2e9e1;border-radius:15px;display:flex;align-items:center;justify-content:space-between;gap:24px}.closing h2{font-size:33px}.closing p{color:var(--muted);font-size:11px;margin-top:8px}.closing-wrap{display:flex;justify-content:center}.footer{max-width:1152px;margin:auto;border-top:1px solid var(--line);padding:26px 0 30px;display:flex;align-items:center;gap:25px;font-size:10px;color:var(--muted)}.footer .brand{font-size:26px;color:var(--ink)}.footer .brand-heart{font-size:12px}.footer-note{margin-left:auto;font-size:9px}.toast{position:fixed;left:50%;bottom:28px;transform:translate(-50%,20px);padding:14px 22px;background:var(--ink);color:white;border-radius:16px;opacity:0;pointer-events:none;z-index:20;max-width:calc(100vw - 32px);font-size:12px;transition:.2s}.toast.visible{opacity:1;transform:translate(-50%,0)}
.workspace{max-width:1070px;margin:25px auto 70px;padding:0 35px}.workspace-top{margin-bottom:30px}.workspace-top h1{font-size:47px;margin:10px 0}.muted{color:var(--muted)}.small-copy{font-size:11px;line-height:1.9}.builder-grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:68px;align-items:start}.steps{display:flex;gap:7px;margin-bottom:29px}.step-tab{flex:1;text-align:left;background:transparent;border-bottom:2px solid var(--line);padding:0 0 12px;font-size:10px;color:var(--muted)}.step-tab.active{border-color:var(--accent);color:var(--accent)}.step-tab b{display:block;font:italic 20px Georgia;margin-bottom:6px}.form-section h2{font-size:32px;margin-bottom:7px;letter-spacing:-1px}.form-section>.muted{font-size:11px;margin-bottom:25px}.field{display:block;margin:17px 0;font-size:11px;font-weight:600}.field>span{display:block;margin-bottom:7px}.field input,.field textarea,.field select,.share-input{width:100%;border:1px solid var(--line);border-radius:12px;background:var(--paper);padding:13px 15px;color:var(--ink);font-size:12px;line-height:1.6}.field textarea{resize:vertical;min-height:100px}.field input::placeholder,.field textarea::placeholder{color:#b1a29a}.field .hint{display:block;color:var(--muted);font-size:9px;margin-top:6px;font-weight:400}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}.form-actions{border-top:1px solid var(--line);margin-top:25px;padding-top:22px;display:flex;align-items:center;justify-content:space-between;gap:12px}.option-row{display:flex;flex-wrap:wrap;gap:9px;margin:13px 0 23px}.option{display:flex;align-items:center;gap:8px;padding:11px 13px;background:var(--paper);border:1px solid var(--line);border-radius:12px;font-size:11px;cursor:pointer;transition:.2s}.option:has(input:checked){background:var(--light);border-color:var(--accent);color:var(--accent)}.option input{accent-color:var(--accent);width:14px;height:14px;margin:0}.option img{width:31px;height:31px;object-fit:contain}.inline-field{display:flex;align-items:center;gap:8px}.inline-field .field{flex:1;margin:0}.group-label{font-size:12px;display:block;margin-top:23px}.themes{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin:24px 0}.theme-option{padding:16px;border:1px solid var(--line);border-radius:14px;background:var(--paper);text-align:left;font-size:11px}.theme-option.selected{outline:2px solid var(--accent);outline-offset:2px}.theme-option .swatches{display:flex;margin-bottom:13px}.swatches i{width:27px;height:27px;border-radius:50%;background:var(--light);border:2px solid var(--paper);margin-right:-5px}.swatches i:first-child{background:var(--accent)}.swatches i:last-child{background:var(--bg)}[data-theme=lavender]{--accent:#8471a4;--light:#eee7f5;--bg:#f8f5fb}[data-theme=sage]{--accent:#6d846b;--light:#e6eee2;--bg:#f5f7f0}[data-theme=sky]{--accent:#63869b;--light:#e2edf4;--bg:#f3f8fa}[data-theme=rose]{--accent:#bb4c62;--light:#f7e4e6;--bg:#faf7f2}.preview-column{position:sticky;top:30px}.preview-label{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;font-size:9px;color:var(--muted);letter-spacing:1px;text-transform:uppercase}.live-dot{display:inline-flex;gap:5px;align-items:center}.live-dot:before{content:'';width:5px;height:5px;background:#819b78;border-radius:50%}.phone{border:6px solid #e5d9d0;border-radius:37px;background:var(--bg);padding:28px 21px 27px;min-height:480px;text-align:center;position:relative;box-shadow:0 20px 40px #52392908}.phone:before{content:'';position:absolute;top:9px;left:50%;transform:translateX(-50%);width:60px;height:5px;border-radius:10px;background:#e5d9d0}.phone .mini-brand{font:italic 22px Georgia;color:var(--accent);margin-bottom:12px}.phone .cat{width:215px;height:175px;object-fit:cover;object-position:center 58%;mix-blend-mode:multiply}.phone h3{font:30px/1.1 Georgia;letter-spacing:-1px;overflow-wrap:anywhere;white-space:pre-line}.phone .person{font-size:10px;color:var(--accent);margin:8px 0}.phone .message{font-size:10px;color:var(--muted);line-height:1.8;margin:12px 0 18px;overflow-wrap:anywhere;white-space:pre-line}.phone .button{font-size:10px;min-height:40px;padding:10px 18px}.phone .detail{font-size:9px;margin-bottom:10px;color:var(--muted)}.preview-help{margin:16px 15px;text-align:center;font-size:9px;color:var(--muted);line-height:1.9}.error-inline{font-size:11px;color:#aa354e;min-height:20px;margin-top:12px}.notice{padding:15px 18px;background:var(--light);border-radius:12px;font-size:10px;color:var(--accent);line-height:1.8;margin-top:20px}.switch-label{display:flex;align-items:center;gap:10px;font-size:11px;margin:19px 0}.switch-label input{accent-color:var(--accent);width:18px;height:18px}.success-layout{max-width:670px;margin:35px auto 70px;padding:0 25px}.success-layout>h1{font-size:54px;text-align:center;margin-bottom:15px}.success-layout>.muted{text-align:center}.success-heart{text-align:center;font:60px Georgia;color:var(--accent);margin-bottom:20px}.panel{padding:25px;background:var(--paper);border:1px solid var(--line);border-radius:20px;margin-top:22px}.panel h3{font-size:12px;margin-bottom:12px}.panel p{font-size:10px;color:var(--muted);margin:9px 0 15px}.link-row{display:flex;gap:8px;align-items:center}.share-input{min-width:0;font-family:Arial,sans-serif;font-size:12px}.link-row .button{flex-shrink:0}.button-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:15px}.safe-note{font-size:10px;color:var(--muted);line-height:1.8}.empty{max-width:550px;text-align:center;margin:80px auto 100px;padding:0 24px}.empty h1{font-size:44px;margin:24px 0 15px}.empty p{color:var(--muted);margin-bottom:25px}.saved-list{display:grid;gap:15px;margin-top:30px}.saved-item{display:flex;justify-content:space-between;align-items:center;gap:20px;background:var(--paper);border:1px solid var(--line);border-radius:18px;padding:23px}.saved-item h3{font-family:Georgia;font-size:24px;font-weight:400}.saved-item p{font-size:10px;color:var(--muted);margin-top:5px}.status-label{display:inline-flex;align-items:center;gap:7px;font-size:10px;padding:7px 12px;background:var(--light);color:var(--accent);border-radius:25px}.status-label i{height:6px;width:6px;background:currentColor;border-radius:50%}.answer-details{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:25px}.answer-details dt{font-size:9px;color:var(--muted);margin-bottom:5px}.answer-details dd{margin:0;font-size:12px;overflow-wrap:anywhere}.danger{color:#ad4b58}.confirm-delete{display:none}.confirm-delete.visible{display:block}.waiting{text-align:center;padding:25px}.waiting .waiting-heart{font:45px Georgia;color:#d5a7ad;animation:float 5s infinite}.waiting h3{margin:15px 0 10px}.refresh-note{font-size:9px;color:var(--muted);margin-top:12px}.recipient{max-width:495px;margin:25px auto 70px;padding:35px;text-align:center;background:var(--paper);border:1px solid var(--line);border-radius:24px;box-shadow:0 15px 80px #87654b09;animation:enter .5s both}.recipient h1{font-size:43px;line-height:1.1;overflow-wrap:anywhere;white-space:pre-line;margin:13px 0}.recipient .cat{width:250px;height:210px;object-fit:cover;object-position:center 58%;mix-blend-mode:multiply}.recipient .cat.happy{height:180px;object-fit:contain}.recipient .person{font-size:10px;text-transform:uppercase;letter-spacing:2px;color:var(--accent)}.recipient .message{font-size:12px;color:var(--muted);line-height:1.9;margin:18px 0 24px;white-space:pre-line;overflow-wrap:anywhere}.recipient .option-row{justify-content:center}.recipient .field{text-align:left}.recipient-step{font-size:9px;letter-spacing:1px;text-transform:uppercase;color:var(--muted);margin-bottom:25px}.recipient .detail-line{font-size:12px;margin:15px 0;color:var(--muted)}.recipient-envelope{min-height:440px;display:flex;flex-direction:column;align-items:center;justify-content:center}.letter-button{position:relative;display:grid;place-items:center;width:260px;height:172px;background:#e9c6bd;border:1px solid #d6ada3;border-radius:6px;box-shadow:0 12px 30px #a6725c1a;margin:30px 0 36px;transition:.3s}.letter-button:before{content:'';position:absolute;inset:0;background:#f0d9cf;clip-path:polygon(0 0,50% 60%,100% 0,100% 100%,0 100%)}.letter-button:after{content:'♥';position:relative;color:#fff4ef;background:#b95563;border-radius:50%;width:47px;height:47px;display:grid;place-items:center;box-shadow:0 2px 8px #80414b33;font:22px Georgia}.letter-button:hover{transform:translateY(-7px) rotate(-2deg)}.demo-banner{text-align:center;background:var(--light);color:var(--accent);padding:9px 20px;font-size:10px}.demo-banner a{text-decoration:underline;margin-left:10px}.confetti{position:fixed;top:-30px;left:var(--x);color:var(--color);font-size:var(--size);animation:fall 3s linear forwards;pointer-events:none;z-index:10}.calendar-link{margin-top:18px}.back-link{font-size:10px;color:var(--muted);display:inline-block;margin-bottom:14px}.loading{text-align:center;padding:120px 20px;color:var(--muted)}.loading:before{content:'♥';display:block;color:var(--accent);font:40px Georgia;animation:float 2s infinite;margin-bottom:20px}.faq{max-width:710px;margin:0 auto 70px;padding:0 30px}.faq h2{font-size:37px;text-align:center;margin-bottom:30px}.faq details{border-bottom:1px solid var(--line);padding:18px 0;font-size:11px}.faq summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:18px}.faq summary:after{content:'+';color:var(--accent);font-size:16px;line-height:1}.faq details[open] summary:after{content:'−'}.faq p{color:var(--muted);padding-top:13px;font-size:10px;line-height:1.9}.owner-meta{font-size:10px;color:var(--muted);margin-top:10px}.mobile-preview-toggle{display:none}.privacy-note{font-size:9px;line-height:1.8;color:var(--muted);margin-top:18px}.new-invite{margin-top:30px;text-align:center}
.hero{overflow:clip}.hero-copy,.hero-art{min-width:0}h1,h2,h3,.person,.saved-item{overflow-wrap:anywhere}.owner-answer{font-size:29px;margin-top:20px;letter-spacing:-1px}.confetti{left:0;top:0;color:#bb4c62;font-size:15px;animation:none}.confetti-1{color:#c7ae70;font-size:11px}.confetti-2{color:#9d8baa;font-size:20px}.confetti-3{color:#7e9675;font-size:13px}
@keyframes float{0%,100%{translate:0 0}50%{translate:0 -9px}}@keyframes enter{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}@keyframes fall{to{transform:translateY(105vh) rotate(180deg);opacity:0}}
@media(min-width:1400px){.hero{margin-top:38px;margin-bottom:25px}.hero-art{height:530px}.postcard{width:340px;min-height:413px}.hero-orbit{width:450px;height:450px}}
@media(max-width:1000px){.header{padding:0 30px}.hero{gap:20px;padding:25px 35px 50px}.hero h1{font-size:68px}.hero-art{transform:scale(.9);transform-origin:center right;margin-left:-25px}.hero-actions{gap:15px;flex-wrap:wrap}.footer{margin:0 30px}.builder-grid{gap:30px;grid-template-columns:minmax(0,1fr) 305px}}
@media(max-width:760px){.header{height:80px;padding:0 22px}.header nav{gap:16px}.nav-how,.header .free-pill{display:none}.brand{font-size:33px}.nav-mine{font-size:10px}.hero{grid-template-columns:1fr;text-align:center;padding:25px 25px 38px;gap:12px;margin:0}.hero-copy{padding:0}.hero .eyebrow{justify-content:center;font-size:8px}.hero .eyebrow:before{display:none}.hero h1{font-size:65px;margin:20px 0}.hero .intro{margin:auto;max-width:310px;font-size:11px}.hero-actions{justify-content:center;margin-top:24px}.hero-note{justify-content:center;font-size:8px}.hero-art{height:445px;width:100%;max-width:390px;margin:0 auto;transform:scale(.88);transform-origin:center center}.hero-orbit{width:380px;height:380px}.postcard{width:305px}.envelope-back{bottom:-3px;width:325px}.art-caption{bottom:-29px}.float-heart.one{right:-5px;top:20px}.ribbon{gap:13px;padding:15px 13px;font-size:8px;white-space:nowrap}.ribbon b{font-size:15px}.ribbon .desktop{display:none}.how{padding:45px 25px}.section-top{display:block;margin-bottom:30px}.section-top h2{font-size:38px}.section-top>p{margin-top:15px;max-width:310px;font-size:10px}.how-grid{grid-template-columns:1fr;gap:25px}.how-item{padding:16px 0 0 45px}.step-number{position:absolute;left:0;top:22px;font-size:24px}.how-item h3{font-size:22px;margin:5px 0 8px}.how-item p{font-size:10px;max-width:none;padding-right:20px}.step-symbol{font-size:20px}.closing{margin:0 22px 40px;padding:27px;display:block;width:100%}.closing h2{font-size:29px}.closing .button{margin-top:20px}.footer{margin:0 22px;padding:23px 0;flex-wrap:wrap;gap:12px 18px}.footer>span{font-size:8px}.footer-note{width:100%;margin-left:0;padding-left:0}.faq{margin-bottom:45px;padding:0 25px}.faq h2{font-size:33px}.workspace{margin:18px auto 40px;padding:0 22px}.workspace-top h1{font-size:37px}.workspace-top>p{font-size:10px}.builder-grid{grid-template-columns:1fr;gap:28px}.preview-column{position:relative;top:auto;max-width:330px;margin:auto;width:100%}.preview-column .phone{min-height:430px}.preview-label{margin-top:10px}.steps{margin-top:22px}.step-tab{font-size:9px}.step-tab b{font-size:18px}.form-section h2{font-size:29px}.field-row{gap:12px}.success-layout{margin-top:25px}.success-layout>h1{font-size:43px}.panel{padding:20px}.link-row{flex-wrap:wrap}.link-row .share-input{flex-basis:100%}.link-row .button{width:100%}.saved-item{display:block;padding:20px}.saved-item .button{margin-top:15px}.recipient{margin:15px 15px 40px;padding:28px 23px}.recipient h1{font-size:39px}.recipient .cat{height:190px}.recipient .button-row{justify-content:center}.answer-details{gap:16px}.privacy-note{font-size:8px}.success-layout .button-row .button{flex:1}.empty{margin:55px auto}.empty h1{font-size:36px}}
@media(max-width:360px){.hero h1{font-size:57px}.hero-art{transform:scale(.78);margin-top:-20px;margin-bottom:-35px}.hero-actions{gap:12px}.hero-actions .button{font-size:10px;padding:12px 19px}.demo-link{font-size:10px}.ribbon{font-size:7px;gap:9px}.option{padding:9px}.recipient{padding:25px 18px}.letter-button{width:230px}.field-row{grid-template-columns:1fr;gap:0}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation:none!important;transition:none!important}.confetti{display:none}}
