@font-face{font-family:MurSans;src:local("Segoe UI");font-display:swap}
:root{--paper:#fff6f4;--card:#fffdf9;--ink:#593c47;--muted:#967580;--pink:#c76688;--pink-dark:#a74366;--line:#ecd9db;--soft:#f6dfe4;--serif:Georgia,"Times New Roman",serif;--radius:24px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:MurSans,"Segoe UI",system-ui,sans-serif;font-size:16px;line-height:1.6;-webkit-tap-highlight-color:transparent}button,input,textarea{font:inherit}button,a,input,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit}button:disabled{cursor:default}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #a74366;outline-offset:5px}button{border:0}button,a{touch-action:manipulation}img{max-width:100%}h1,h2,h3,p{margin:0}h1,h2{font-family:var(--serif);font-weight:400}h1{font-size:clamp(36px,5vw,62px);line-height:1.13;letter-spacing:-1.8px}h2{font-size:32px;line-height:1.2;letter-spacing:-.8px}h3{font-size:17px;line-height:1.4;font-weight:600}em{font-weight:400;color:var(--pink);font-family:var(--serif)}.app-shell{max-width:1100px;margin:auto;padding:0 46px}.header{height:104px;display:flex;align-items:center;gap:13px;border-bottom:1px solid var(--line)}.brand{display:inline-flex;align-items:center;gap:10px;font-family:var(--serif);font-size:31px;letter-spacing:-1.1px}.brand img{transform:rotate(-7deg)}.brand-dot{font-size:12px;color:var(--pink);vertical-align:top;margin-left:3px}.header-note{margin-left:auto;color:var(--muted);font-size:13px;letter-spacing:.3px}.icon-button{border:1px solid var(--line);background:transparent;width:30px;height:30px;border-radius:50%;font-family:var(--serif);font-size:19px}.hero{text-align:center;padding:54px 0 42px;position:relative}.eyebrow{display:flex;align-items:center;justify-content:center;gap:10px;font-size:12px;font-weight:600;letter-spacing:2.4px;color:#a06e7c;margin-bottom:21px}.eyebrow span{width:20px;height:1px;background:#d6a7b3}.hero h1{position:relative;width:max-content;max-width:100%;margin:0 auto}.title-heart{position:absolute;right:-54px;top:40px;width:38px;height:38px;fill:none;stroke:#d58ba1;stroke-width:2;transform:rotate(16deg);animation:heartbeat 4s infinite}.hero-copy{font-size:15px;color:var(--muted);margin-top:20px;line-height:1.8}.hero-illustration{position:relative;width:400px;max-width:100%;margin:-3px auto 0}.hero-illustration>img{display:block;width:100%;height:auto;animation:float 6s ease-in-out infinite}.handnote{position:absolute;z-index:1;right:-64px;top:82px;font-family:var(--serif);font-style:italic;font-size:17px;color:#a87685;transform:rotate(9deg)}.handnote i{display:block;text-align:left;font-size:34px;font-style:normal;line-height:1.1;margin-left:19px;transform:rotate(23deg)}.illustration-tag{display:inline-flex;align-items:center;gap:8px;position:relative;margin-top:-26px;top:-4px;padding:6px 14px;background:#fff9f5d9;border:1px solid #efdde0;box-shadow:0 4px 14px #b8798b08;transform:rotate(-3deg);border-radius:20px;font-size:12px;color:#9c7180;letter-spacing:.4px}.illustration-tag span{color:var(--pink);font-size:13px}.hero-actions{max-width:390px;margin:24px auto 0;display:flex;flex-direction:column;gap:11px}.button{display:inline-flex;justify-content:center;align-items:center;gap:12px;min-height:53px;padding:13px 23px;border-radius:16px;font-size:15px;font-weight:600;border:1px solid transparent;transition:transform .2s ease,background .2s ease,box-shadow .2s ease;text-align:center;text-decoration:none}.button>span:last-child{font-weight:400;font-size:21px;line-height:1}.primary{color:#fff9fb;background:var(--pink);box-shadow:0 7px 20px #bf6a8624}.primary:hover{background:#b55578;box-shadow:0 9px 24px #bf6a8633;transform:translateY(-2px)}.primary:active{transform:translateY(1px)}.secondary{color:#9b5c73;background:transparent;border-color:#ddb7c4}.secondary:hover{background:#f8e8ec;transform:translateY(-1px)}.button:disabled{opacity:.55;transform:none;box-shadow:none}.full{width:100%}.hero-assurance{display:flex;gap:20px;justify-content:center;margin-top:20px;font-size:12px;color:#a0808b}.section-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:25px;gap:16px}.small-label{display:block;color:#a17b87;font-size:11px;letter-spacing:2px;margin-bottom:8px;font-weight:600}.handwritten{color:#b68694;font-family:var(--serif);font-size:17px;font-style:italic;transform:rotate(-5deg)}.scenarios-section{border-top:1px solid var(--line);padding-top:37px;margin-top:6px}.scenario-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:17px}.scenario-card{position:relative;text-align:left;padding:25px 24px 21px;border-radius:var(--radius);border:1px solid #edd4da;background:#f9e8eb;overflow:hidden;transition:transform .25s,box-shadow .25s;min-height:249px}.scenario-card:hover{transform:translateY(-5px);box-shadow:0 15px 30px #b46e7e13}.scenario-card.date{background:#fcf0e7;border-color:#f0dfcf}.scenario-card.heart{background:#f1eaf2;border-color:#e3d7e7}.card-number{position:absolute;top:17px;right:21px;font-family:var(--serif);font-style:italic;color:#bb909d;font-size:14px}.scenario-art{display:flex;width:55px;height:55px;align-items:center;justify-content:center;border:1px solid #ffffffaa;background:#ffffff50;border-radius:19px;font-size:30px;margin-bottom:20px;transform:rotate(-6deg)}.scenario-card h3{font-size:16px;letter-spacing:-.3px}.scenario-card p{color:#9b7981;font-size:13px;line-height:1.7;margin-top:8px;min-height:41px}.card-link{display:flex;align-items:center;justify-content:space-between;margin-top:20px;font-size:12px;color:#a5687e}.card-link i{font-style:normal;font-size:19px}.how-section{padding:44px 0 35px;margin-top:11px}.tiny-flower{font-size:40px;color:#d1aab5;font-weight:200}.how-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.how-grid>div{position:relative;padding-left:47px}.how-number{position:absolute;left:0;top:0;width:31px;height:31px;border:1px solid #e5c7ce;background:#fffaf7;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:var(--serif);font-style:italic;color:#b2788a}.how-grid h3{font-size:14px;margin-bottom:7px}.how-grid p{font-size:13px;color:var(--muted);line-height:1.65}.gentle-note{display:flex;align-items:center;gap:15px;background:#fffaf5;border:1px dashed #dfc7c7;padding:18px 22px;border-radius:19px;font-size:13px;color:#a17c85;line-height:1.8}.gentle-note>span{font-size:25px}.gentle-note strong{font-weight:500;color:#815564}.footer{display:flex;align-items:center;justify-content:center;gap:7px;padding:31px 0;font-size:12px;color:#b18f99}.footer span{font-size:16px;color:#c78ca1}.bottom-nav{display:none}.ambient{position:fixed;inset:0;z-index:-1;overflow:hidden;pointer-events:none}.ambient span{position:absolute;color:#e1b4c0;opacity:.25;font-family:var(--serif);font-size:32px;animation:float 8s ease-in-out infinite}.ambient span:nth-child(1){left:7%;top:22%;transform:rotate(-20deg)}.ambient span:nth-child(2){right:8%;top:60%;animation-delay:-2s}.ambient span:nth-child(3){right:12%;top:16%;font-size:22px;animation-delay:-4s}.ambient span:nth-child(4){left:10%;top:75%;font-size:20px;animation-delay:-6s}.page-enter{animation:page-enter .35s ease both}main{min-height:65vh}.back{background:none;padding:24px 0 10px;color:#a17483;font-size:13px}.back:hover{color:var(--pink-dark)}.page-heading{text-align:center;margin:24px auto 28px;max-width:650px}.page-heading h1{font-size:40px}.page-heading p{font-size:14px;color:var(--muted);margin-top:14px}.steps{display:flex;justify-content:center;align-items:center;gap:12px;margin:30px auto 38px;max-width:510px;font-size:13px;color:#b9a2a9}.steps>span{display:flex;align-items:center;gap:8px;white-space:nowrap}.steps b{display:inline-flex;width:27px;height:27px;align-items:center;justify-content:center;border:1px solid #e5d2d7;border-radius:50%;font-size:12px;font-weight:400;background:#fffaf7}.steps i{height:1px;width:48px;background:#ead4dc}.steps .current{color:#ab5777}.steps .current b{background:#f6dce4;border-color:#edc6d3}.choose-grid{display:flex;flex-direction:column;gap:14px;max-width:610px;margin:auto}.choose-card{display:flex;align-items:center;gap:20px;padding:25px;text-align:left;background:#fffaf7;border:1px solid var(--line);border-radius:21px;transition:background .2s,border .2s,transform .2s}.choose-card:hover{transform:translateY(-2px)}.choose-card.selected{background:#fae8ee;border-color:#ca83a0;box-shadow:0 0 0 2px #dfb0c122}.choose-card h3{font-size:17px}.choose-card p{font-size:13px;color:var(--muted);margin-top:6px}.choose-art{flex-shrink:0;font-size:36px;width:62px;height:64px;display:flex;align-items:center;justify-content:center;background:#f7e7e8;border-radius:19px}.radio-dot{margin-left:auto;width:19px;height:19px;flex-shrink:0;border:1px solid #d5b2c0;border-radius:50%}.selected .radio-dot{border:5px solid var(--pink);background:#fff}.narrow-action{max-width:610px;margin:28px auto}.fineprint{font-size:12px;color:#a3838e;text-align:center;margin-top:14px;line-height:1.7}.compose-layout{display:grid;grid-template-columns:1.15fr 1fr;gap:35px;align-items:center;max-width:900px;margin:auto}.paper-card{background:var(--card);border:1px solid #eedce0;border-radius:27px;padding:30px;box-shadow:0 8px 32px #ad6c7e06}.selected-pill{display:inline-flex;font-size:12px;padding:6px 12px;border-radius:20px;background:#fae8ef;color:#ad6280;margin-bottom:24px}.paper-card label,.share-card label{display:block;font-size:14px;font-weight:500;margin-bottom:9px}.paper-card label span{color:var(--pink);margin-left:5px}input,textarea{width:100%;background:#fffaf8;border:1px solid #e6cdd6;border-radius:13px;color:var(--ink);font-size:16px;padding:14px 15px;outline:none;transition:border .2s,box-shadow .2s}input:focus,textarea:focus{border-color:#c67d99;box-shadow:0 0 0 3px #eed6df55}input::placeholder,textarea::placeholder{color:#b39aa4;font-size:14px}textarea{resize:vertical;min-height:150px;max-height:380px;line-height:1.8}.paper-card input{margin-bottom:22px}.input-meta{display:flex;justify-content:space-between;font-size:12px;color:#ac8f9a;margin-top:6px}.text-button{display:inline-flex;align-items:center;justify-content:center;gap:5px;background:transparent;color:#ab6982;font-size:13px;padding:12px 0;text-decoration:none}.text-button:hover{color:#943e60}.privacy-note{display:flex;align-items:flex-start;gap:10px;padding:13px 0 22px;color:#ad929b;font-size:12px;line-height:1.7}.privacy-note>span{font-size:16px}.compose-aside{text-align:center}.compose-aside img{width:330px;animation:float 7s infinite}.compose-aside p{font-family:var(--serif);font-style:italic;font-size:22px;line-height:1.5;color:#b67d91;max-width:300px;margin:auto}.compose-aside>span{font-size:12px;color:var(--muted);display:block;margin-top:15px}.form-error{font-size:13px;color:#a53d62;margin-bottom:12px}.form-error:empty{display:none}.success-screen{text-align:center;max-width:600px;margin:48px auto 20px}.success-mark{display:flex;align-items:center;justify-content:center;border-radius:50%;width:56px;height:56px;background:#f5dde6;color:#b66181;font-size:27px;margin:0 auto 22px;border:1px solid #eac2d1}.success-screen h1{font-size:43px;line-height:1.25}.success-screen>p{font-size:14px;color:var(--muted);margin:18px auto;max-width:430px}.mini-envelope{width:90px;height:59px;border-radius:8px;margin:32px auto;background:#f5d5df;border:1px solid #c58da1;position:relative;transform:rotate(-8deg);animation:float 5s infinite}.mini-envelope:before{content:"";position:absolute;inset:0;background:#ffeef2;clip-path:polygon(0 0,100% 0,50% 62%)}.mini-envelope span{position:relative;display:block;font-size:25px;margin-top:10px;color:#c16b88}.share-card{border:1px solid var(--line);border-radius:23px;padding:25px;background:var(--card);max-width:480px;margin:20px auto 0;text-align:left}.share-card .button+.button{margin-top:10px}.link-field{display:flex;gap:8px;margin:12px 0 20px}.link-field input{font-size:13px;min-width:0;color:#a47a8b;background:#fcf0f3;padding:13px 12px}.link-field button{flex-shrink:0;width:47px;background:#f2d8e2;color:#ac5e7b;border-radius:12px;font-size:25px}.success-screen>.text-button{display:flex;margin:8px auto}.letters-toolbar{display:flex;justify-content:space-between;align-items:center;max-width:720px;margin:0 auto 14px;color:#a1818d;font-size:13px}#letter-list{max-width:720px;margin:auto}.letter-card{width:100%;display:flex;align-items:flex-start;gap:20px;text-align:left;padding:25px;background:var(--card);border:1px solid var(--line);border-radius:22px;margin-bottom:14px;transition:transform .2s,box-shadow .2s}.letter-card:hover{transform:translateY(-3px);box-shadow:0 8px 20px #a45c7610}.letter-icon{display:flex;justify-content:center;align-items:center;flex-shrink:0;width:61px;height:65px;background:#f7e1e7;border-radius:18px;font-size:30px;transform:rotate(-5deg)}.letter-icon.date{background:#f8ecdf}.letter-icon.heart{background:#eee3f0}.letter-info h3{font-size:18px}.letter-info>p{font-size:13px;color:#a48b94;margin-top:4px}.status{display:inline-flex;align-items:center;gap:7px;padding:4px 10px;border-radius:20px;font-size:12px;margin-top:12px;background:#f7eedf;color:#9d8256;line-height:1.7}.status i{width:5px;height:5px;border-radius:50%;background:currentColor}.status.opened{background:#eee9fa;color:#9b7fbd}.status.answered{background:#eaf2e7;color:#789369}.status-description{display:block;font-size:12px;color:#ad939c;margin-top:7px}.card-chevron{margin-left:auto;font-size:22px;color:#c590a4;flex-shrink:0}.empty-state{text-align:center;padding:46px 20px 70px}.empty-state h2{margin-top:20px;font-size:30px}.empty-state p{font-size:14px;color:var(--muted);max-width:320px;margin:16px auto 24px}.empty-envelope{font-size:65px;animation:float 5s infinite}.detail-paper{max-width:650px;margin:auto}.detail-paper .status{margin-top:0}.letter-message{white-space:pre-wrap;overflow-wrap:anywhere;font-family:var(--serif);font-size:23px;line-height:1.75;margin-top:22px;padding-bottom:22px;border-bottom:1px dashed var(--line)}.timeline{display:flex;flex-direction:column;gap:17px;margin:25px 0 30px}.timeline>div{display:flex;align-items:center;gap:13px;color:#b7a1a9;font-size:13px}.timeline>div>i{width:25px;height:25px;border-radius:50%;border:1px solid #ecdce2;display:flex;justify-content:center;align-items:center;font-style:normal}.timeline .complete{color:#af6883}.timeline .complete>i{background:#f8e7ed;border-color:#e8cbd7}.timeline small{display:block;font-size:12px;color:#b096a1}.answers-heading{font-size:27px;margin-bottom:20px}.answer-row{padding:15px 0;border-bottom:1px solid #f0e1e5}.answer-row:last-of-type{margin-bottom:25px}.answer-row p{color:#a1838e;font-size:13px;margin-bottom:5px}.answer-row strong{font-weight:500;font-size:15px}.detail-paper>.button+.button{margin-top:10px}.detail-paper>.gentle-note{margin-bottom:25px}.receive-screen{text-align:center;max-width:640px;margin:45px auto 0}.receive-screen h1{font-size:45px}.receive-from{color:#b18898;font-size:13px;margin:16px auto}.preview-banner,.demo-banner{background:#f7e7ed;border:1px dashed #ddb6c6;border-radius:12px;padding:8px 12px;color:#ae7089;text-align:center;font-size:12px;margin-bottom:24px}.demo-banner{margin-top:20px}.receive-intro{text-align:center;margin:0 auto 50px;max-width:400px}.receive-intro img{width:100%;margin-bottom:15px}.envelope{display:block;position:relative;width:280px;height:190px;margin:100px auto 20px;background:transparent;perspective:900px;isolation:isolate;filter:drop-shadow(0 15px 20px #a0647a20)}.envelope-back{position:absolute;inset:0;background:#e1a5bc;border:1px solid #cb8da5;border-radius:12px;z-index:0}.envelope-letter{position:absolute;z-index:1;top:18px;left:22px;width:236px;height:155px;padding-top:20px;background:#fffaf3;border-radius:6px;font-family:var(--serif);font-style:italic;font-size:21px;color:#b57890;border:1px solid #ecd9db;transition:transform .9s .25s}.envelope-letter b{display:block;font-weight:400;font-size:43px;line-height:1.2}.envelope-front{position:absolute;inset:0;background:linear-gradient(135deg,#f9d8e4,#e8b4c8);clip-path:polygon(0 0,50% 53%,100% 0,100% 100%,0 100%);border-radius:10px;z-index:3}.envelope-flap{position:absolute;top:0;left:0;width:100%;height:116px;background:linear-gradient(#f9dfe9,#f1c5d8);clip-path:polygon(0 0,100% 0,50% 100%);transform-origin:top;z-index:4;transition:transform .7s,z-index .2s .3s}.envelope-seal{position:absolute;z-index:5;top:85px;left:120px;width:42px;height:42px;border-radius:50%;color:#fff0f5;display:flex;align-items:center;justify-content:center;background:#c46b8d;border:3px solid #d88da9;font-size:23px;box-shadow:0 2px 8px #a3547622;transition:opacity .2s}.envelope:not(.opened){animation:envelope-wiggle 5s ease-in-out infinite}.envelope.opened .envelope-flap{transform:rotateX(180deg);z-index:0;animation:flap-open .8s both}.envelope.opened .envelope-letter{transform:translateY(-88px);animation:letter-rise 1.2s both}.envelope.opened .envelope-seal{opacity:0}.envelope.opened{margin-bottom:40px}.tap-hint{font-family:var(--serif);font-style:italic;color:#b37f94;font-size:18px;transform:rotate(-5deg);margin:20px 0 25px}.tap-hint span{display:inline-block;margin-left:8px;animation:bob 2s infinite}.opened-message{background:#fffaf6;padding:32px;border:1px solid #edd7de;border-radius:22px;position:relative;text-align:left;margin-top:20px;animation:page-enter .7s .4s both}.opened-message:before{content:'♡';position:absolute;right:20px;top:8px;color:#e1b0c3;font-size:33px;transform:rotate(15deg)}.personal-message{font-family:var(--serif);font-size:25px;line-height:1.7;margin-top:17px;white-space:pre-wrap;overflow-wrap:anywhere}.letter-signature{display:block;text-align:right;font-size:13px;color:#bc869c;font-style:italic;margin-top:25px}.consent-card{background:#fffaf7;border:1px dashed #dfc4cf;border-radius:22px;padding:28px;margin:25px 0}.consent-card>span{font-size:29px}.consent-card h2{font-size:28px;margin:10px 0 17px}.consent-card p{font-size:13px;color:#a18390;margin-bottom:15px}.consent-card p strong{font-weight:500;color:#8e5d73}.consent-card .button+.button{margin-top:11px}.consent-card .fineprint{font-size:12px;margin-bottom:0}.receive-screen>.gentle-note{margin-top:25px;text-align:left}.receive-screen>.button{margin-top:20px}.quiz-screen{max-width:560px;margin:18px auto 0}.quiz-top{display:flex;justify-content:space-between;color:#b18298;letter-spacing:1.1px;font-size:12px;margin-top:25px}.quiz-progress{display:flex;gap:7px;margin-top:12px}.quiz-progress span{height:4px;flex:1;background:#ecd7df;border-radius:8px}.quiz-progress span.filled{background:#ca7c9a}.quiz-cat{position:relative;width:max-content;margin:40px auto 25px}.quiz-cat img{transform:rotate(-7deg);animation:float 5s infinite}.quiz-cat>span{position:absolute;color:#c77997;right:-20px;top:-10px;font-size:28px}.quiz-screen h1{font-size:38px;text-align:center;line-height:1.25}.quiz-subtitle{text-align:center;font-size:13px;color:#a58a96;margin-top:14px}.quiz-options{display:flex;flex-direction:column;gap:13px;margin:32px 0 26px}.quiz-option{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:20px;background:#fffaf7;border:1px solid #e6ced8;border-radius:17px;text-align:left;font-size:15px;transition:background .2s,border .2s}.quiz-option:hover{background:#f8eaf0}.quiz-option.selected{border-color:#bd7595;background:#f9e4ed;box-shadow:0 0 0 2px #eed0df44}.quiz-option i{flex-shrink:0;border:1px solid #d9b4c6;width:23px;height:23px;border-radius:50%;font-size:13px;display:flex;align-items:center;justify-content:center;font-style:normal;color:#ba6a8c}.quiz-option.selected i{border-color:#c07a96;background:#fff7fb}.quiz-screen>.text-button{display:flex}.done-screen .done-cats{width:350px;display:block;margin:-15px auto -5px}.done-screen>p{font-size:15px}.invitation-note{font-size:14px;line-height:1.9;color:#ad738b;border:1px dashed #ddb6c6;border-radius:18px;padding:20px;margin-bottom:25px}.done-screen .button{margin-top:15px}.loading{display:flex;align-items:center;justify-content:center;flex-direction:column;min-height:65vh;gap:22px;color:#ad7c90;font-size:14px}.loading img{animation:float 2s infinite}.heart-particle{position:fixed;bottom:-30px;left:var(--x);font-size:24px;color:#cf8ca7;pointer-events:none;z-index:100;animation:heart-rise 2.4s var(--delay) ease-out both}#toast{position:fixed;z-index:150;left:50%;bottom:35px;transform:translate(-50%,20px);opacity:0;pointer-events:none;padding:13px 22px;max-width:90vw;width:max-content;background:#714858;color:#fff7fa;border-radius:16px;box-shadow:0 8px 25px #71485828;transition:opacity .2s,transform .2s;font-size:13px;text-align:center}#toast.visible{opacity:1;transform:translate(-50%,0)}dialog{background:#fff9f5;color:var(--ink);border:1px solid #e4c2d1;border-radius:26px;padding:28px;width:430px;max-width:calc(100vw - 32px);box-shadow:0 30px 90px #75455c28;text-align:center;max-height:85dvh;overflow:auto}dialog::backdrop{background:#68495966;backdrop-filter:blur(5px)}dialog h2{font-size:29px;margin-bottom:18px}dialog p{font-size:13px;color:#a07b8c;line-height:1.9;margin-bottom:18px}dialog .button{margin-top:8px}.modal-emoji{font-size:45px;margin-bottom:15px}.manual-link{font-size:13px}.manual-link:focus{outline:2px solid #b26789}
@keyframes float{0%,100%{translate:0 0}50%{translate:0 -7px}}@keyframes heartbeat{0%,80%,100%{scale:1}87%{scale:1.13}94%{scale:1.04}}@keyframes page-enter{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes heart-rise{0%{opacity:0;transform:translateY(0) rotate(0)}15%{opacity:.8}100%{opacity:0;transform:translateY(-75vh) rotate(var(--rotate))}}@keyframes envelope-wiggle{0%,70%,100%{transform:rotate(-3deg)}77%{transform:rotate(2deg)}84%{transform:rotate(-5deg)}91%{transform:rotate(0)}}@keyframes bob{0%,100%{translate:0 0}50%{translate:0 -5px}}@keyframes flap-open{0%{transform:rotateX(0deg);z-index:4}49%{z-index:4}50%,100%{z-index:0}100%{transform:rotateX(180deg)}}@keyframes letter-rise{0%,35%{transform:translateY(0)}100%{transform:translateY(-88px)}}
@media(min-width:1100px){.hero{padding-top:49px}.hero h1{font-size:66px}.hero-illustration{width:385px}.hero-copy{margin-top:18px}.hero-actions{margin-top:20px}.scenario-grid{gap:20px}}
@media(max-width:760px){.app-shell{padding:0 24px;max-width:590px}.header{height:81px}.brand{font-size:28px}.brand img{width:34px;height:34px}.header-note{font-size:12px}.icon-button{width:27px;height:27px;font-size:17px}.hero{padding:35px 0 32px}.hero h1{font-size:clamp(35px,10.5vw,46px);letter-spacing:-1.6px}.eyebrow{font-size:11px;letter-spacing:1.9px;gap:8px;margin-bottom:20px}.eyebrow span{width:13px}.hero-copy{font-size:13px;margin-top:16px}.title-heart{width:28px;height:28px;right:-30px;top:36px}.hero-illustration{width:320px;margin-top:1px}.handnote{font-size:13px;right:-12px;top:45px;transform:rotate(13deg)}.handnote i{font-size:26px;margin-left:48px}.illustration-tag{font-size:11px;margin-top:-20px;padding:5px 12px}.hero-actions{margin-top:20px;max-width:100%;gap:10px}.button{min-height:54px;font-size:14px;border-radius:15px}.hero-assurance{gap:15px;font-size:11px;margin-top:17px}.section-heading{margin-bottom:21px}.section-heading h2{font-size:30px}.small-label{font-size:11px;letter-spacing:1.7px}.handwritten{font-size:13px;max-width:120px;text-align:right}.scenarios-section{padding-top:28px}.scenario-grid{grid-template-columns:1fr;gap:12px}.scenario-card{min-height:0;padding:22px 22px 19px 94px;border-radius:21px}.scenario-art{position:absolute;left:20px;top:25px;width:53px;height:55px;font-size:29px;margin:0}.scenario-card h3{font-size:16px;max-width:230px}.scenario-card p{font-size:13px;margin-top:6px;min-height:0;max-width:275px}.card-number{top:10px;right:15px;font-size:12px;opacity:.7}.card-link{margin-top:12px;font-size:12px}.card-link i{font-size:18px}.how-section{padding:34px 0 25px;margin-top:0}.how-grid{grid-template-columns:1fr;gap:23px}.how-grid>div{padding-left:47px}.how-grid h3{font-size:14px;margin-bottom:4px}.how-grid p{font-size:13px}.gentle-note{padding:16px;font-size:12px;gap:12px}.gentle-note>span{font-size:24px}.footer{font-size:11px;padding:27px 0 113px}.bottom-nav{position:fixed;z-index:30;bottom:0;left:0;right:0;display:flex;align-items:center;justify-content:center;gap:70px;background:#fff8f5ef;backdrop-filter:blur(18px);border-top:1px solid #e8cfd880;padding:10px 15px calc(10px + max(env(safe-area-inset-bottom,0px),var(--tg-safe-area-inset-bottom,0px)));height:auto;min-height:70px}.nav-item{background:none;display:flex;flex-direction:column;align-items:center;gap:1px;color:#b390a0;font-size:11px;width:74px}.nav-item>span{font-size:25px;line-height:1.2;font-family:var(--serif)}.nav-item.active{color:#b25c80}.nav-create{position:absolute;left:50%;transform:translateX(-50%);top:-19px;width:51px;height:51px;border:5px solid #fff8f5;background:#c66d91;border-radius:19px;color:#fff;font-size:28px;line-height:1;box-shadow:0 4px 12px #b6648925}.back{font-size:13px;padding-top:20px}.page-heading{margin:23px auto 27px}.page-heading h1{font-size:35px;letter-spacing:-1.2px}.page-heading p{font-size:13px;margin-top:12px}.steps{gap:8px;font-size:12px;margin:24px auto 30px}.steps>span{gap:6px}.steps i{width:20px}.steps b{width:24px;height:24px;font-size:12px}.choose-card{padding:20px 16px;gap:13px}.choose-art{width:49px;height:55px;font-size:30px;border-radius:17px}.choose-card h3{font-size:15px}.choose-card p{font-size:12px;line-height:1.8}.radio-dot{width:17px;height:17px}.compose-layout{display:block}.compose-aside{display:none}.paper-card{padding:24px 20px;border-radius:23px}.selected-pill{margin-bottom:22px;font-size:12px}.paper-card label{font-size:13px}input,textarea{font-size:16px;padding:13px}.input-meta{font-size:11px}.input-meta>span:first-child{max-width:70%}.privacy-note{font-size:12px}.success-screen{margin-top:35px}.success-screen h1{font-size:36px}.success-screen>p{font-size:13px}.share-card{padding:22px 18px}.share-card label{font-size:13px}.share-card .fineprint{font-size:12px}.letters-toolbar{font-size:13px}.letter-card{padding:20px 17px;gap:14px;border-radius:20px}.letter-icon{width:47px;height:53px;font-size:26px;border-radius:16px}.letter-info h3{font-size:16px}.letter-info>p{font-size:12px}.status{font-size:11px;padding:4px 9px;margin-top:10px}.status-description{font-size:12px;line-height:1.6}.card-chevron{font-size:18px}.detail-paper .letter-message{font-size:22px}.answers-heading{font-size:25px}.answer-row strong{font-size:14px}.receive-screen{margin-top:32px}.receive-screen h1{font-size:38px}.receive-from{font-size:13px}.receive-screen .eyebrow{letter-spacing:1.4px}.envelope{width:250px;height:170px;margin-top:92px}.envelope-letter{left:20px;width:210px;height:146px;font-size:20px}.envelope-flap{height:104px}.envelope-seal{top:75px;left:105px;width:40px;height:40px}.tap-hint{font-size:16px}.opened-message{padding:25px 22px}.personal-message{font-size:23px}.letter-signature{font-size:12px}.consent-card{padding:24px 18px}.consent-card h2{font-size:27px}.consent-card p{font-size:13px}.quiz-screen{margin-top:10px}.quiz-top{font-size:11px;letter-spacing:.9px}.quiz-screen h1{font-size:33px}.quiz-cat{margin-top:33px;margin-bottom:23px}.quiz-subtitle{font-size:13px}.quiz-option{padding:18px 16px;font-size:14px;border-radius:16px}.quiz-options{margin-top:28px}.done-screen .done-cats{width:310px;margin-top:-6px}.invitation-note{font-size:13px;padding:17px}.preview-banner{font-size:12px}#toast{bottom:100px;font-size:13px;padding:12px 16px}.ambient span:nth-child(1){left:2%;font-size:21px}.ambient span:nth-child(3){right:3%;font-size:17px}dialog{padding:25px 21px}}
@media(max-width:360px){.app-shell{padding:0 18px}.header-note{font-size:11px}.hero h1{font-size:35px}.title-heart{right:-24px;width:24px}.hero-illustration{width:290px}.handnote{right:0;font-size:13px;top:46px}.hero-assurance{gap:11px;font-size:11px}.hero .eyebrow{font-size:10px;letter-spacing:1.6px}.scenario-card{padding-left:80px}.scenario-art{left:16px;width:45px;height:48px;font-size:26px}.scenario-card h3{font-size:14px}.scenario-card p{font-size:12px}.choose-card{gap:10px;padding:18px 13px}.choose-card h3{font-size:14px}.choose-card p{font-size:12px}.choose-art{width:41px;font-size:26px}.radio-dot{width:15px;height:15px}.page-heading h1{font-size:32px}.steps{font-size:11px;gap:6px}.steps i{width:13px}.letter-card{padding:18px 13px;gap:11px}.letter-info h3{font-size:14px}.letter-icon{width:42px;height:48px;font-size:23px}.bottom-nav{gap:63px}.letter-info .status-description{font-size:11px}.quiz-screen h1{font-size:30px}.quiz-option{font-size:13px}.receive-screen h1{font-size:35px}.personal-message{font-size:21px}.input-meta{font-size:11px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.envelope.opened .envelope-letter{transform:translateY(-88px)}.envelope.opened .envelope-flap{transform:rotateX(180deg);z-index:0}}

.notification-prompt{max-width:480px;margin:18px auto;padding:18px 20px;border:1px dashed #dfb8c8;border-radius:20px;background:#fffaf7}.notification-prompt>span{font-size:25px}.notification-prompt p{font-size:13px;color:#a37e8f;margin:8px 0 14px}

/* Telegram fullscreen insets and readable supporting copy. */
html{touch-action:pan-x pan-y;-webkit-text-size-adjust:100%;text-size-adjust:100%}.app-shell{padding-top:calc(var(--mm-safe-top,0px) + var(--mm-content-top,0px))}.bottom-nav{padding-bottom:calc(10px + max(env(safe-area-inset-bottom,0px),calc(var(--mm-safe-bottom,0px) + var(--mm-content-bottom,0px))))}.eyebrow{letter-spacing:1.5px;line-height:1.7}.small-label{letter-spacing:1.4px}.header-note{white-space:nowrap}.brand-avatar{border-radius:14px;object-fit:cover}.quiz-cat .brand-avatar{border-radius:24px}@media(max-width:760px){.eyebrow,.hero .eyebrow{font-size:11px;letter-spacing:1px}.small-label{font-size:11px;letter-spacing:1.1px}.steps{font-size:12px;gap:8px}.steps i{width:12px}.hero-assurance{font-size:12px;gap:13px}.header-note{font-size:12px;white-space:normal;max-width:95px;text-align:right}.footer{font-size:12px}.nav-item{font-size:12px}.letter-info>p{font-size:12px}.status{font-size:12px}.letter-info .status-description{font-size:12px}.card-link{font-size:12px}.illustration-tag{font-size:11px}.input-meta{font-size:11px}.consent-card .fineprint{font-size:12px}.quiz-top{font-size:11px}.fineprint{font-size:12px}.quiz-screen>.text-button{min-height:42px}}@media(max-width:360px){.header-note{display:none}.icon-button{margin-left:auto}.hero .eyebrow{font-size:11px;letter-spacing:.6px}.hero-assurance{font-size:11px;gap:11px}.steps{font-size:11px;gap:5px}.steps i{width:9px}.steps>span{gap:5px}.input-meta{font-size:11px}.input-meta>span:first-child{max-width:60%}.quiz-top{font-size:10px;letter-spacing:.7px}.scenario-card p{font-size:13px}.choose-card p{font-size:12px}}
.nav-item{width:100px;flex-shrink:0}body{padding-left:calc(var(--mm-safe-left,0px) + var(--mm-content-left,0px));padding-right:calc(var(--mm-safe-right,0px) + var(--mm-content-right,0px))}
