:root{font-family:Manrope,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#293e38;background:#f8f6f2;font-weight:400;line-height:1.5;font-synthesis:none;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;--rose: #b95067;--dark: #293e38;--muted: #7e827a;--border: #e9e7e0}*{box-sizing:border-box}body{margin:0}button,input,a{-webkit-tap-highlight-color:transparent}button,input{font:inherit}button{cursor:pointer}button:disabled{cursor:default}a{color:inherit;text-decoration:none}button{color:inherit}button:focus-visible,a:focus-visible{outline:3px solid #b9506780;outline-offset:5px}input:focus{outline:2px solid #b9506750;border-color:var(--rose)}h1,h2,h3,p{margin:0}button svg{flex-shrink:0}button{transition:background .2s,transform .2s,opacity .2s}button:disabled{opacity:.55}.site-shell{display:grid;grid-template-columns:45% 55%;min-height:100dvh}.story-panel{position:relative;padding:46px 55px 30px;background:#eceee5;display:flex;flex-direction:column;overflow:hidden;min-height:100dvh}.wordmark{display:flex;align-items:center;gap:10px;font-size:25px;letter-spacing:-1.5px;font-weight:800;align-self:flex-start}.brand-symbol{height:31px;width:31px;border:1.5px solid #adbdac;border-radius:50%;display:grid;place-items:center;color:#506a54}.brand-symbol svg{width:17px}.brand-dot{color:var(--rose);margin-left:-8px}.story-copy{margin:auto 0;padding:65px 0 30px;position:relative;z-index:1}.eyebrow{font-size:10px;letter-spacing:2.2px;font-weight:700;display:flex;align-items:center;gap:9px}.eyebrow>span{display:block;width:6px;height:6px;background:#748d6b;border-radius:50%}.story-copy h1{font-family:Lora,Georgia,serif;font-size:clamp(42px,4.3vw,68px);font-weight:400;line-height:1.18;letter-spacing:-2.4px;margin:27px 0 24px}.story-copy h1 em{color:var(--rose);font-weight:400}.story-copy>p{font-size:14px;line-height:1.9;color:#778071}.story-hearts{position:relative;height:145px;max-width:300px;margin-top:27px}.heart-one{color:#b95067;width:71px;height:71px;position:absolute;left:27px;top:34px;transform:rotate(-17deg);filter:drop-shadow(0 9px 8px #b9506715)}.heart-two{color:#7a8d71;width:42px;height:42px;position:absolute;right:44px;top:19px;transform:rotate(15deg)}.dotted-path{position:absolute;left:93px;top:28px;width:108px;height:65px;border:1.5px dashed #aab1a0;border-top:none;border-radius:0 0 70% 50%;transform:rotate(-19deg)}.spark{position:absolute;top:14px;left:105px;color:#a79873}.story-panel:after{content:"";width:500px;height:500px;border:1px solid #dde2d5;border-radius:50%;position:absolute;bottom:-320px;right:-240px;box-shadow:0 0 0 50px #e5e9de60,0 0 0 100px #e5e9de40}.story-footer{display:flex;align-items:center;gap:8px;font-size:10px;color:#7f8878;z-index:1}.edition{margin-left:auto;font-size:8px;letter-spacing:1.5px}.app-panel{padding:46px 60px 25px;display:flex;flex-direction:column;min-width:0;min-height:100dvh;position:relative}.app-header{display:flex;align-items:center;justify-content:space-between;min-height:32px;margin-bottom:36px}.header-note{font-size:10px;color:#96988d;letter-spacing:.3px}.mobile-brand{display:none}.icon-button{background:none;border:0;display:inline-flex;align-items:center;justify-content:center;padding:9px;border-radius:50%;color:#7e827a}.icon-button:hover{background:#edece5}.app-content{width:100%;max-width:440px;margin:auto;position:relative;padding:20px 0 40px}.home-content{padding-top:7px;padding-bottom:20px}.app-footer{display:flex;align-items:center;justify-content:center;gap:6px;font-size:9px;color:#94958b;margin-top:auto;padding-top:20px}.app-footer>svg{color:#b28684}.app-footer button{display:flex;align-items:center;gap:4px;border:0;background:none;color:#737c6c;font-size:9px;margin-left:auto;padding:8px 0 8px 12px}.app-footer:has(button){justify-content:flex-start}h2{font-family:Lora,Georgia,serif;font-size:36px;font-weight:400;line-height:1.25;letter-spacing:-1.3px;margin:15px 0 14px}h3{font-size:17px;font-weight:600;letter-spacing:-.4px}.muted{color:var(--muted);font-size:13px;line-height:1.8}.intro{margin-bottom:30px;max-width:370px}.section-icon{display:flex;align-items:center;justify-content:center;width:53px;height:53px;border-radius:17px;color:var(--rose);background:#f1e6e5;margin-bottom:29px}.form{display:flex;flex-direction:column;gap:9px}.form label{font-size:11px;font-weight:650;margin-top:8px}.form input{width:100%;height:51px;border:1px solid #dedfd6;background:#fbfaf7;border-radius:9px;padding:0 15px;color:var(--dark);font-size:13px;min-width:0}.form input::placeholder{color:#a4a59b}.primary,.secondary{display:flex;align-items:center;justify-content:center;gap:12px;border:0;border-radius:9px;padding:15px 22px;min-height:50px;font-size:12px;font-weight:600}.primary{background:var(--dark);color:#fff}.primary:not(:disabled):hover{background:#3f594f}.form .primary{margin-top:17px}.secondary{background:#efeee8;border:1px solid #e2e3d9}.secondary:hover{background:#e7e8df}.private-note{display:flex;align-items:center;justify-content:center;gap:6px;font-size:9px;color:#96988c;margin-top:21px}.setup-note{font-size:11px;line-height:1.7;color:#8e7b61;background:#efeee6;border-radius:7px;padding:10px 12px;margin-top:20px}.text-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;border:0;background:none;padding:9px 0;font-size:11px;font-weight:600;color:#7e806f}.preview-link{display:flex;margin:24px auto 0;color:var(--rose)}.input-prefix{position:relative}.input-prefix>span{position:absolute;left:15px;top:14px;color:#999a8f;font-size:14px}.input-prefix input{padding-left:33px}.form small{font-size:10px;color:#929488}.handle-card{padding:16px 19px;border:1px dashed #cccfc2;border-radius:9px;display:flex;flex-direction:column;margin:24px 0;font-size:10px;color:#939784;gap:4px;background:#f1f2ea}.handle-card strong{font-size:17px;color:#596c50;letter-spacing:.2px}.skip-link{display:flex;margin:24px auto 0}.back-link{display:flex;align-items:center;gap:7px;border:0;background:none;font-size:11px;color:var(--muted);padding:0;margin-bottom:27px}.greeting h2{font-size:36px;margin:10px 0 9px}.greeting .eyebrow{font-size:9px;letter-spacing:1.8px}.greeting-dot{color:var(--rose)}.greeting>p{font-size:11px}.connection-pill{display:flex;gap:6px;align-items:center;justify-content:center;background:#ebeee3;border:1px solid #e1e6d7;border-radius:30px;font-size:10px;color:#7a866d;width:fit-content;margin:30px auto 0;padding:7px 13px}.connection-pill strong{font-weight:650;color:#526449}.connection-pill svg{margin-left:5px}.status-dot{width:5px;height:5px;background:#8c9e74;border-radius:50%;margin-right:1px}.nudge-stage{position:relative;display:flex;align-items:center;justify-content:center;height:268px;margin-top:5px}.orbit{position:absolute;border:1px solid #ebe5de;border-radius:50%;pointer-events:none}.orbit-one{width:240px;height:240px}.orbit-two{width:285px;height:285px;border-style:dashed;opacity:.55;transform:scaleY(.78) rotate(-17deg)}.nudge-button{border:0;background:radial-gradient(circle at 35% 20%,#f4dfe3,#dfb2bc 75%);width:178px;height:178px;border-radius:50%;color:#fbe9e5;display:flex;align-items:center;justify-content:center;flex-direction:column;box-shadow:0 12px 22px #a7425626,inset 0 2px 1px #ffffff30;position:relative;overflow:hidden;isolation:isolate;z-index:1}.nudge-fill{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;background:radial-gradient(circle at 35% 20%,#d87a89,#b94e65 75%);transform:scaleY(var(--nudge-progress, 1));transform-origin:center bottom;opacity:var(--nudge-opacity, 1);transition:transform 1s linear,opacity 1s linear}.nudge-button:not(.is-waiting) .nudge-fill{transition:none}.nudge-button svg{position:relative;z-index:1;width:64px;height:64px;filter:drop-shadow(0 3px 0 #923e5120);margin-top:6px}.nudge-label{position:relative;z-index:1;font-size:10px;font-weight:600;margin-top:8px;letter-spacing:.4px}.nudge-button:not(:disabled):hover{transform:translateY(-4px);box-shadow:0 16px 28px #a7425638}.nudge-button:not(:disabled):active{transform:scale(.95)}.nudge-button:disabled{opacity:1}.nudge-button.is-waiting{color:#6f2438}.is-waiting .orbit{opacity:.5}.stage-spark{font-size:30px;color:#bd9f76;position:absolute;font-family:Georgia,serif}.spark-left{left:17%;top:62px}.spark-right{right:13%;top:158px;font-size:24px}.stage-dot{position:absolute;border-radius:50%;background:#cfb6a4;width:4px;height:4px}.dot-one{left:23%;bottom:49px}.dot-two{right:23%;top:48px;background:#9ba485;width:5px;height:5px}.nudge-caption{text-align:center;margin-top:-2px}.nudge-caption h3{font-family:Lora,Georgia,serif;font-size:21px;font-weight:400;letter-spacing:-.5px}.nudge-caption>p{font-size:10px;color:#898c7f;margin-top:9px}.cooldown-note{display:block;font-size:9px;color:#aaa99e;margin-top:6px}.timer{font-variant-numeric:tabular-nums;color:var(--rose);font-size:12px}.activity{margin-top:32px}.activity-heading{display:flex;justify-content:space-between;font-size:8px;letter-spacing:1.5px;color:#999b8d;padding-bottom:13px;border-bottom:1px solid var(--border)}.activity-heading>span+span{color:#ba8b8e;font-size:11px}.activity-row{display:flex;align-items:center;gap:12px;padding:15px 0;border-bottom:1px solid var(--border)}.activity-heart{width:35px;height:35px;display:grid;place-items:center;border-radius:50%;background:#eee2df;color:#b36d7d;flex-shrink:0}.activity-heart.sent{background:#e9ece1;color:#8a9878}.activity-row strong{font-size:10px;font-weight:600;display:block}.activity-row p{font-size:9px;color:#a1a193;margin-top:3px}.activity-row time{font-size:9px;color:#a4a493;margin-left:auto;white-space:nowrap}.notification-card{display:flex;align-items:center;gap:12px;text-align:left;width:100%;padding:15px 14px;border:1px solid #e4e5db;border-radius:10px;background:#f0f1e9;margin-top:24px}.notification-icon{width:31px;height:31px;display:grid;place-items:center;background:#e5e8db;border-radius:9px;color:#7d8a6c;flex-shrink:0}.notification-card>span:nth-child(2){flex:1}.notification-card strong{font-size:10px;font-weight:600;display:block}.notification-card small{font-size:9px;color:#8d9380;margin-top:3px;display:block}.notification-card>svg{color:#9ba18d}.unconnected{text-align:center;padding:40px 0 20px}.empty-hearts{height:105px;position:relative;max-width:180px;margin:auto}.empty-hearts svg{width:67px;height:67px;position:absolute;left:22px;top:15px;transform:rotate(-15deg);fill:#e7c4c5;color:#d7a2ad;stroke-width:1}.empty-hearts svg+svg{width:43px;height:43px;left:auto;right:26px;top:4px;transform:rotate(20deg);fill:#dce2ce;color:#a9b592}.unconnected>p{max-width:300px;margin:13px auto 25px;font-size:12px}.unconnected .primary{width:100%;margin-top:20px}.unconnected .secondary{margin:auto}.own-handle{display:block;font-size:10px;color:#969989;margin-top:25px}.own-handle strong{color:#6f7f63}.request-card{display:flex;align-items:center;gap:9px;padding:16px 12px;background:#efeee4;border:1px solid #e1dfce;border-radius:10px;margin-top:20px}.request-card strong{font-size:10px}.request-card p{font-size:10px;color:#92917e}.request-actions{display:flex;align-items:center;margin-left:auto}.accept-button{background:var(--dark);color:#fff;padding:8px;border:0;border-radius:50%;display:flex}.avatar{width:49px;height:49px;border-radius:50%;background:#e9d9d5;color:var(--rose);display:grid;place-items:center;font-family:Georgia,serif;font-size:24px;flex-shrink:0}.avatar.small{width:32px;height:32px;font-size:17px}.profile-card{display:flex;gap:15px;align-items:center;margin:25px 0 30px;padding:20px;background:#efeee7;border-radius:12px}.profile-card h3{font-size:16px}.profile-card p{color:#929381;font-size:11px;margin-top:3px}.settings-row{display:flex;align-items:center;text-align:left;width:100%;gap:14px;border:0;background:none;border-bottom:1px solid var(--border);padding:22px 0}.settings-row>svg{color:#89947d}.settings-row>span:nth-child(2){flex:1}.settings-row strong{font-size:12px;font-weight:600;display:block}.settings-row small{font-size:10px;display:block;color:#9a9b8d;margin-top:3px}.toggle{width:32px;height:19px;border-radius:20px;background:#d7d9cf;position:relative}.toggle:after{content:"";width:13px;height:13px;border-radius:50%;background:#fff;position:absolute;top:3px;left:3px}.toggle.on{background:#7f926c}.toggle.on:after{left:16px}.danger{color:#a26364;font-size:10px;margin-top:14px}.logout{width:100%;margin-top:35px}.settings-footnote{font-size:10px;color:#a1a091;line-height:1.8;margin-top:16px;text-align:center}.disconnect-confirm{padding:16px;background:#f1e7e3;border-radius:9px;font-size:12px;margin-top:15px}.disconnect-confirm>div{display:flex;gap:10px;margin-top:14px}.disconnect-confirm button{flex:1}.danger-button{border:0;background:#b65665;color:#fff;border-radius:9px;font-size:12px;padding:10px}.preview-banner,.offline-banner{display:flex;align-items:center;gap:7px;padding:10px 12px;border-radius:8px;background:#ebece0;color:#7e886c;font-size:10px;margin-bottom:20px}.preview-banner button{margin-left:auto;display:flex;border:0;background:none;color:inherit}.offline-banner{background:#f0e8dc;color:#927950}.update-banner{display:flex;align-items:center;flex-wrap:wrap;gap:12px;padding:15px;margin-bottom:22px;border:1px solid #d9dfce;border-radius:10px;background:#e9eddf;color:#53664b}.update-banner>svg{flex-shrink:0}.update-banner>span{flex:1;min-width:170px}.update-banner strong{display:block;font-size:12px}.update-banner small{display:block;margin-top:3px;font-size:10px;line-height:1.6}.update-banner button{border:0;border-radius:7px;padding:9px 13px;background:var(--dark);color:#fff;font-size:11px;font-weight:600}.message{display:flex;align-items:flex-start;gap:10px;border-radius:9px;padding:13px 15px;font-size:11px;line-height:1.7;margin-bottom:20px}.message.error{background:#f5e4e3;color:#a34c58}.message button{display:flex;margin-left:auto;padding:2px;border:0;background:none;color:inherit}.toast{position:fixed;top:22px;left:50%;transform:translate(-50%);background:var(--dark);color:#fff;border-radius:10px;box-shadow:0 6px 22px #293e3820;padding:14px 20px;display:flex;align-items:center;gap:9px;font-size:12px;z-index:5;max-width:90vw;width:max-content}.loading,.empty-view{padding:50px 0;text-align:center;color:var(--muted);font-size:13px}.loading{display:flex;gap:10px;align-items:center;justify-content:center}.empty-view .section-icon{margin:0 auto 20px}.empty-view .secondary{margin:20px auto 10px}.first-moment{font-size:11px;color:#a0a28e;text-align:center;padding:22px}.balloon{position:absolute;left:calc(50% - 30px);top:82px;z-index:4;color:#bd526c;pointer-events:none;animation:float-away 2.4s linear forwards,balloon-sway 2.4s ease-in-out forwards}.balloon svg{width:60px;height:60px;filter:drop-shadow(0 5px 5px #9a3a5820)}.balloon>span{display:block;height:65px;width:17px;border-left:1px solid #bf8190;border-radius:50%;margin:-10px auto 0;transform:rotate(-8deg)}@keyframes float-away{0%{translate:0 0;opacity:1}70%{opacity:.9}to{translate:0 -420px;opacity:0}}@keyframes balloon-sway{0%{transform:translate(0) rotate(-8deg)}35%{transform:translate(18px) rotate(10deg)}70%{transform:translate(-12px) rotate(-10deg)}to{transform:translate(12px) rotate(9deg)}}.spin{animation:spin 1.5s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#1d302c70;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);z-index:10;display:flex;align-items:center;justify-content:center;padding:20px}.install-modal{background:#f8f6f2;max-width:440px;width:100%;padding:35px;border-radius:20px;position:relative;max-height:90dvh;overflow-y:auto}.modal-close{position:absolute;right:13px;top:13px}.install-modal h2{font-size:30px}.install-modal>p{font-size:12px;line-height:1.8;color:#8b8f80}.install-modal ol{padding-left:19px;font-size:12px;line-height:1.8;color:#7f8776}.install-modal li{padding-left:5px;margin-bottom:15px}.install-modal li strong{color:var(--dark)}.install-modal .primary{width:100%;margin-top:25px}@media(min-width:1500px){.story-panel{padding-left:max(65px,calc((100vw - 1280px)/2))}.app-panel{padding-right:max(65px,calc((100vw - 1370px)/2))}}@media(max-width:1100px){.story-panel{padding:35px}.app-panel{padding:35px 38px 24px}.story-copy h1{font-size:46px;letter-spacing:-2px}.story-copy>p{font-size:12px}.edition{display:none}.story-footer{font-size:9px}.app-header{margin-bottom:25px}}@media(max-width:760px){.site-shell{display:block}.story-panel{display:none}.app-panel{padding:max(22px,env(safe-area-inset-top)) 25px max(18px,env(safe-area-inset-bottom));min-height:100dvh}.app-header{margin-bottom:25px;min-height:35px}.header-note{display:none}.mobile-brand{display:block;font-size:22px;font-weight:800;letter-spacing:-1.2px}.mobile-brand span{color:var(--rose)}.app-content{max-width:430px;padding-top:18px;padding-bottom:25px}.home-content{padding-top:0}.login-view{padding:10px 0 25px}.section-icon{margin-bottom:25px}h2{font-size:34px}.app-footer{font-size:8px;padding-top:12px}.app-footer button{font-size:9px}.greeting h2{font-size:34px}.greeting .eyebrow{font-size:8px}.greeting>p{font-size:11px}.connection-pill{margin-top:26px}.nudge-stage{height:257px}.nudge-button{width:173px;height:173px}.orbit-one{width:229px;height:229px}.orbit-two{width:275px;height:275px}.activity{margin-top:29px}.notification-card{margin-top:21px}.activity-row{padding:14px 0}.activity-row strong{font-size:10px}.nudge-caption h3{font-size:22px}.nudge-caption>p{font-size:10px}.toast{top:max(15px,env(safe-area-inset-top));font-size:11px}.install-modal{padding:28px}.private-note{font-size:9px}}@media(max-width:360px){.app-panel{padding-left:19px;padding-right:19px}.nudge-stage{height:242px}.activity-row{gap:8px}.activity-row time{font-size:8px}.notification-card{gap:8px;padding:12px 10px}.notification-card strong{font-size:9px}.app-footer{flex-wrap:wrap}.app-footer button{padding-left:0}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition:none!important}.balloon{animation:none;display:none}}
