@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/manrope-latin-400-normal-PaqtzbVb.woff2)format("woff2"),url(/assets/manrope-latin-400-normal-8tf8FM3T.woff)format("woff")}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/manrope-latin-500-normal-BYYD-dBL.woff2)format("woff2"),url(/assets/manrope-latin-500-normal-DMZssgOp.woff)format("woff")}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/manrope-latin-600-normal-4f0koTD-.woff2)format("woff2"),url(/assets/manrope-latin-600-normal-BqgrALkZ.woff)format("woff")}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/manrope-latin-700-normal-BZp_XxE4.woff2)format("woff2"),url(/assets/manrope-latin-700-normal-DGRFkw-m.woff)format("woff")}:root{--bg:#f4f7f8;--surface:#fff;--surface-2:#e9eff1;--line:#d9e2e5;--text:#1f2a30;--muted:#6f7f87;--accent:#2b8a86;--accent-text:#fff;--accent-soft:#d6ecea;--hers:#fff;--hers-text:#1f2a30;--mine:#2b8a86;--mine-text:#fff;--online:#3fb27f;--warn:#c7742a;--danger:#c4413c;--shadow:0 1px 2px #1428320f, 0 4px 18px #1428320f;--avatar:linear-gradient(135deg, #7fd1c7, #2b8a86 60%, #3d5a99);--radius:20px;--app-height:100dvh;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root{--bg:#11171a;--surface:#182024;--surface-2:#1f292e;--line:#2b373d;--text:#e6eef0;--muted:#8fa0a7;--accent:#5cc4ba;--accent-text:#0d1517;--accent-soft:#1e3a39;--hers:#1f292e;--hers-text:#e6eef0;--mine:#2a7d79;--mine-text:#fff;--shadow:0 1px 2px #0000004d, 0 6px 22px #00000040;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*{box-sizing:border-box}html,body,#root{height:100%}html,body{overflow:hidden}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;overscroll-behavior:none;margin:0;font-family:Manrope,system-ui,-apple-system,Segoe UI,sans-serif;font-size:16px;line-height:1.4}button,input,textarea{font:inherit;color:inherit}button{cursor:pointer}button:disabled{cursor:default;opacity:.5}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.sr-only{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.muted{color:var(--muted)}.spinner{border:3px solid var(--line);border-top-color:var(--accent);border-radius:50%;width:28px;height:28px;animation:.9s linear infinite spin;display:inline-block}.spinner.small{border-width:2px;width:18px;height:18px}@keyframes spin{to{transform:rotate(360deg)}}.splash{height:var(--app-height);text-align:center;place-content:center;gap:12px;display:grid}.button{border:1px solid var(--line);background:var(--surface);border-radius:12px;justify-content:center;align-items:center;gap:6px;min-height:44px;padding:0 16px;font-weight:600;display:inline-flex}.button.primary{background:var(--accent);color:var(--accent-text);border-color:#0000}.icon-button{width:44px;height:44px;color:var(--muted);background:0 0;border:0;border-radius:50%;flex:none;place-items:center;display:inline-grid}.icon-button:hover{background:var(--surface-2);color:var(--text)}.link-button{color:var(--accent);background:0 0;border:0;padding:4px 0;font-size:13px;font-weight:600}.pill{background:var(--surface-2);border-radius:999px;padding:3px 9px;font-size:12px;font-weight:700}.pill.warn{color:var(--warn)}.login{left:0;right:0;top:var(--app-top,0px);height:var(--app-height);place-items:center;padding:24px 16px;display:grid;position:fixed;overflow-y:auto}.login-card{text-align:center;background:var(--surface);width:min(360px,100%);box-shadow:var(--shadow);border-radius:24px;justify-items:center;gap:14px;padding:32px 24px;display:grid}.login-card h1{margin:0 0 4px;font-size:24px}.login-card input{border:1px solid var(--line);background:var(--bg);border-radius:12px;width:100%;min-height:48px;padding:0 14px;font-size:16px}.login-card .button{width:100%}.chat-ended{text-align:center;color:var(--muted);border-top:1px solid var(--line);margin:0;padding:16px}.stack-form{gap:10px;display:grid}.stack-form input:not([hidden]){border:1px solid var(--line);background:var(--bg);border-radius:10px;width:100%;min-height:44px;padding:0 12px;font-size:16px}.form-error{color:var(--danger);margin:0;font-size:14px}.avatar{background:var(--avatar);color:#fff;border-radius:50%;flex:none;place-items:center;width:40px;height:40px;font-size:17px;font-weight:700;display:grid;position:relative}.avatar-large{width:72px;height:72px;font-size:30px}.avatar.is-online:after{content:"";background:var(--online);border:2px solid var(--surface);border-radius:50%;width:11px;height:11px;position:absolute;bottom:0;right:0}.shell{left:0;right:0;top:var(--app-top,0px);height:var(--app-height);display:flex;position:fixed;overflow:hidden}.main{flex-direction:column;flex:1;min-width:0;height:100%;display:flex}.topbar{padding:max(8px, env(safe-area-inset-top)) max(8px, env(safe-area-inset-right)) 8px max(8px, env(safe-area-inset-left));background:color-mix(in srgb, var(--surface) 88%, transparent);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--line);z-index:2;flex:none;align-items:center;gap:8px;display:flex}.who{text-align:left;background:0 0;border:0;border-radius:14px;flex:1;align-items:center;gap:10px;min-width:0;padding:4px 6px;display:flex}.who:hover{background:var(--surface-2)}.who-text{min-width:0;display:grid}.who-text strong{font-size:16px}.who-line{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:13px;overflow:hidden}.who-line.is-typing{color:var(--accent);font-weight:600}.chat{flex-direction:column;flex:1;min-height:0;display:flex;position:relative}.messages{overscroll-behavior:contain;min-height:0;padding:8px max(12px, env(safe-area-inset-right)) 12px max(12px, env(safe-area-inset-left));flex-direction:column;flex:1;display:flex;overflow:hidden auto}.messages>*{width:100%;max-width:760px;margin-left:auto;margin-right:auto}.older{place-items:center;min-height:28px;font-size:13px;display:grid}.empty{color:var(--muted);flex:1;place-items:center;display:grid}.day{justify-content:center;margin:14px 0 8px;display:flex}.day span{color:var(--muted);background:var(--surface-2);border-radius:999px;padding:4px 10px;font-size:12px;font-weight:700}.gap,.started{text-align:center;color:var(--muted);margin:10px 0 4px;font-size:12px}.row{flex-direction:column;margin-top:2px;display:flex}.row-mine{align-items:flex-end}.row-hers{align-items:flex-start}.bubble-wrap{align-items:center;gap:4px;max-width:min(78%,560px);display:flex;position:relative}.row-mine .bubble-wrap{flex-direction:row-reverse}.bubble{border-radius:var(--radius);overflow-wrap:anywhere;-webkit-user-select:text;user-select:text;-webkit-touch-callout:none;min-width:0;padding:8px 13px;position:relative}.bubble.hers{background:var(--hers);color:var(--hers-text);box-shadow:var(--shadow)}.bubble.mine{background:var(--mine);color:var(--mine-text)}.bubble.hers:not(.last){border-bottom-left-radius:6px}.bubble.hers:not(.first){border-top-left-radius:6px}.bubble.mine:not(.last){border-bottom-right-radius:6px}.bubble.mine:not(.first){border-top-right-radius:6px}.bubble.hers.last{border-bottom-left-radius:6px}.bubble.mine.last{border-bottom-right-radius:6px}.bubble.sending{opacity:.6}.bubble.failed{outline:2px solid var(--danger);cursor:pointer}.row-last{margin-bottom:2px}.text{white-space:pre-wrap;margin:0}.reactions{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:999px;padding:3px 6px;font-size:14px;line-height:1;position:absolute;bottom:-12px}.bubble.hers .reactions{right:-6px}.bubble.mine .reactions{left:-6px}.row:has(.reactions){margin-bottom:12px}.bubble-more{opacity:0;background:var(--surface-2);color:var(--muted);border:0;border-radius:50%;flex:none;width:30px;height:30px;font-size:16px}.bubble-wrap:hover .bubble-more,.bubble-more:focus-visible{opacity:1}.bubble-tools{flex:none;gap:2px;display:flex}.bubble-more{cursor:pointer;place-items:center;display:grid}.bubble-more:hover{color:var(--accent)}.bubble{touch-action:pan-y pinch-zoom}.bubble-wrap{transition:transform .2s ease-out}.swipe-reply{background:var(--surface-2);width:30px;height:30px;color:var(--muted);pointer-events:none;border-radius:50%;place-items:center;margin-top:-15px;display:grid;position:absolute;top:50%;left:-38px}.row-mine .swipe-reply{left:auto;right:calc(100% + 8px)}.swipe-reply.ready{background:var(--accent);color:var(--accent-text)}.row.flash .bubble{animation:1.6s ease-out flash}@keyframes flash{0%,30%{box-shadow:0 0 0 3px var(--accent), var(--shadow)}to{box-shadow:var(--shadow)}}@media (prefers-reduced-motion:reduce){.row.flash .bubble{outline:2px solid var(--accent);animation:none}}@media (pointer:coarse){.bubble-more{display:none}}.messages>.meta{color:var(--muted);margin-top:3px;margin-bottom:8px;padding:0 6px;font-size:11px}.meta-mine{text-align:right}.failed-meta{color:var(--danger);margin:3px 6px 6px;font-size:11px}.quote{text-align:left;width:100%;font:inherit;color:inherit;cursor:pointer;background:#7f7f7f24;border:0;border-left:3px solid;border-radius:12px;margin:0 0 6px;padding:6px 10px;font-size:13px;display:grid}.bubble.hers .quote{border-left-color:var(--accent)}.bubble.hers .quote-who{color:var(--accent)}.quote:active{background:#7f7f7f3d}.quote-who{font-size:12px;font-weight:700}.quote-text{opacity:.85;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.photos{border-radius:16px;gap:3px;margin:-4px -9px 6px;display:grid;overflow:hidden}.photos:last-child{margin-bottom:-4px}.photos-2,.photos-4,.photos-3{grid-template-columns:1fr 1fr}.photos-3 .photo:first-child{grid-column:span 2}.photo{background:var(--surface-2);border:0;padding:0;display:block}.photo img{object-fit:cover;width:100%;max-height:320px;display:block}.photos-1 .photo img{max-height:420px}.voice{gap:4px;min-width:min(240px,60vw);display:grid}.voice audio{width:100%;height:40px}.voice-words{opacity:.85;white-space:pre-wrap;margin:0;font-size:14px}.bubble.mine .link-button{color:inherit}.attachment+.attachment{margin-top:8px}.gallery{grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:6px;margin-top:6px;display:grid}.gallery figure{margin:0}.gallery img{aspect-ratio:1;object-fit:cover;border-radius:10px}.gallery figcaption{color:var(--muted);margin-top:2px;font-size:12px}.typing{align-items:center;gap:4px;padding:13px 15px;display:inline-flex}.typing span:not(.rec-dot){background:var(--muted);border-radius:50%;width:7px;height:7px;animation:1.2s ease-in-out infinite blink}.typing span:nth-child(2){animation-delay:.15s}.typing span:nth-child(3){animation-delay:.3s}@keyframes blink{0%,80%,to{opacity:.3;transform:translateY(0)}40%{opacity:1;transform:translateY(-3px)}}.rec-dot{background:var(--danger);border-radius:50%;width:10px;height:10px;animation:1s infinite pulse;display:inline-block}@keyframes pulse{50%{opacity:.35}}.jump{border:1px solid var(--line);background:var(--surface);width:40px;height:40px;box-shadow:var(--shadow);border-radius:50%;place-items:center;display:grid;position:absolute;bottom:84px;right:16px}.toast{background:var(--text);max-width:calc(100% - 32px);color:var(--bg);z-index:5;border-radius:12px;padding:10px 14px;font-size:14px;position:absolute;bottom:84px;left:50%;transform:translate(-50%)}.composer-wrap{border-top:1px solid var(--line);background:var(--surface);padding:8px max(8px, env(safe-area-inset-right)) max(8px, env(safe-area-inset-bottom)) max(8px, env(safe-area-inset-left));flex:none}.composer-wrap>*{max-width:760px;margin-left:auto;margin-right:auto}.composer{align-items:flex-end;gap:6px;display:flex}.composer textarea{resize:none;border:1px solid var(--line);background:var(--bg);scrollbar-width:thin;border-radius:22px;flex:1;min-width:0;min-height:44px;max-height:160px;padding:11px 14px;font-size:16px;line-height:1.35}.composer textarea:focus{border-color:var(--accent);outline:none}.send{background:var(--accent);width:44px;height:44px;color:var(--accent-text);border:0;border-radius:50%;flex:none;place-items:center;display:grid}.composer.recording{justify-content:space-between;align-items:center}.rec{font-variant-numeric:tabular-nums;align-items:center;gap:8px;font-weight:600;display:inline-flex}.composer-quote{border-left:3px solid var(--accent);background:var(--surface-2);border-radius:10px;align-items:center;gap:8px;margin-bottom:6px;padding:6px 4px 6px 12px;display:flex}.composer-quote>div{flex:1;min-width:0;font-size:13px;display:grid}.composer-photos{gap:8px;padding-bottom:8px;display:flex;overflow-x:auto}.thumb{flex:none;position:relative}.thumb img{object-fit:cover;border-radius:12px;width:64px;height:64px;display:block}.thumb button{background:var(--text);width:24px;height:24px;color:var(--bg);border:0;border-radius:50%;place-items:center;display:grid;position:absolute;top:-6px;right:-6px}.composer-problem{color:var(--danger);margin:0 0 6px;font-size:13px}.menu-scrim,.lightbox,.scrim{z-index:20;position:fixed;inset:0}.menu-scrim{background:#140a1259;place-items:end center;padding:16px;display:grid}.menu{background:var(--surface);width:min(380px,100%);box-shadow:var(--shadow);margin-bottom:env(safe-area-inset-bottom);border-radius:22px;padding:8px;animation:.16s ease-out rise}@media (width>=720px){.menu-scrim{place-items:center}}@keyframes rise{0%{opacity:0;transform:translateY(12px)}}.menu-preview{color:var(--muted);margin:6px 10px 10px;font-size:14px}.menu-emoji{border-bottom:1px solid var(--line);justify-content:space-between;margin-bottom:4px;padding:4px 6px 10px;display:flex}.menu-emoji button{background:0 0;border:0;border-radius:50%;width:48px;height:48px;font-size:28px}.menu-emoji button:hover{background:var(--surface-2)}.menu-item{background:0 0;border:0;border-radius:12px;align-items:center;gap:12px;width:100%;min-height:48px;padding:0 12px;font-weight:600;display:flex}.menu-item:hover{background:var(--surface-2)}.lightbox{background:#000000e6;place-items:center;padding:16px;display:grid}.lightbox img{object-fit:contain;border-radius:8px;max-width:100%;max-height:100%}.side{z-index:30;background:var(--bg);visibility:hidden;max-height:86%;padding-bottom:env(safe-area-inset-bottom);border-radius:24px 24px 0 0;flex-direction:column;transition:transform .25s;display:flex;position:fixed;bottom:0;left:0;right:0;transform:translateY(105%);box-shadow:0 -10px 40px #0000002e}.side.is-open{visibility:visible;transform:none}.side-head{align-items:center;gap:8px;padding:12px 12px 8px 16px;display:flex}.side-head:before{content:"";background:var(--line);border-radius:2px;width:40px;height:4px;margin-left:-20px;position:absolute;top:6px;left:50%}.side-body{overscroll-behavior:contain;flex:1;padding:4px 16px 16px;overflow-y:auto}.scrim{z-index:25;background:#140a1259}.sign-out{color:var(--muted);align-self:center;align-items:center;gap:6px;margin:4px 0 10px;display:inline-flex}.tabs{background:var(--surface-2);border-radius:14px;flex:1;gap:4px;padding:4px;display:flex}.tabs button{min-height:38px;color:var(--muted);background:0 0;border:0;border-radius:10px;flex:1;justify-content:center;align-items:center;gap:6px;font-weight:600;display:inline-flex}.tabs button.active{background:var(--surface);color:var(--text);box-shadow:var(--shadow)}.cards{gap:10px;display:grid}.card{background:var(--surface);box-shadow:var(--shadow);border-radius:18px;padding:14px 16px}.card h2{margin:2px 0 4px;font-size:20px;line-height:1.25}.card h3{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;align-items:center;gap:6px;margin:0 0 6px;font-size:13px;display:flex}.card p{margin:0 0 2px}.card .muted{font-size:14px}.card.hero{background:linear-gradient(135deg, var(--accent-soft), var(--surface))}.eyebrow{text-transform:uppercase;letter-spacing:.05em;color:var(--accent);align-items:center;gap:6px;font-size:12px;font-weight:700;display:flex}.panel-empty{color:var(--muted);place-items:center;padding:40px 0;display:grid}.meter{background:var(--surface-2);border-radius:999px;height:8px;margin:6px 0;overflow:hidden}.meter span{background:linear-gradient(90deg, var(--accent-soft), var(--accent));border-radius:inherit;height:100%;display:block}.timeline{gap:6px;margin:0;padding:0;list-style:none;display:grid}.timeline li{gap:10px;display:flex}.timeline time{font-variant-numeric:tabular-nums;min-width:48px;font-weight:700}.actions{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.list{gap:6px;margin:0;padding:0;font-size:14px;list-style:none;display:grid}.things{max-height:320px;overflow-y:auto}.thermo{align-items:center;gap:12px;margin:10px 0;display:flex}.thermo input{accent-color:var(--accent);flex:1;min-height:44px}.thermo-value{font-variant-numeric:tabular-nums;text-align:right;min-width:52px;font-weight:700}@media (width>=720px){.side{width:380px;max-height:none;padding-top:env(safe-area-inset-top);border-radius:0;top:0;left:auto;transform:translate(105%);box-shadow:-10px 0 40px #00000024}.side-head:before{display:none}.bubble-wrap{max-width:min(70%,560px)}}@media (width>=1100px){.side{visibility:visible;box-shadow:none;border-left:1px solid var(--line);background:var(--bg);flex:none;width:380px;position:static;transform:none}.side-close,.panel-toggle,.scrim{display:none}}.bubble.other{background:var(--surface-2);color:var(--text);box-shadow:none;border:1px solid var(--line,#7f7f7f40)}.group-who{color:var(--accent);margin:8px 0 2px 12px;font-size:12px;font-weight:700}.warn{color:var(--warn)}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.action{opacity:.85;font-style:italic}.bubble.notice{box-shadow:none;color:var(--muted);background:0 0;padding:2px 6px;font-size:13px}.video{background:#000;border-radius:14px;width:100%;max-height:360px;margin:4px 0;display:block}.pre{white-space:pre-wrap;font-size:14px}.pill.live{color:#fff;background:var(--online)}.muted.small{margin-top:8px;font-size:12px}.tabs{scrollbar-width:none;overflow-x:auto}.tabs button{flex-direction:column;flex:1 0 auto;gap:1px;min-height:46px;padding:0 8px;font-size:11px}.tabs .tab-label{line-height:1}.card input,.card select{border:1px solid var(--line);background:var(--bg);border-radius:12px;width:100%;min-height:44px;padding:0 12px;font-size:16px}.card.form{gap:8px;display:grid}.card:has(>input){gap:8px;display:grid}.row{gap:8px;display:flex}.row>*{flex:1;min-width:0}.check{align-items:center;gap:8px;font-size:14px;display:flex}.check input{width:auto;min-height:0}.plans{gap:6px;margin:0 0 10px;padding:0;list-style:none;display:grid}.plan-day{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin:8px 0 2px;font-size:12px;font-weight:700}.plan{gap:10px;font-size:14px;display:flex}.plan time{font-variant-numeric:tabular-nums;min-width:44px;font-weight:700}.plan.with-you{color:var(--accent)}.tag-you{background:var(--accent-soft);color:var(--accent);border-radius:999px;margin-left:6px;padding:1px 7px;font-size:11px;font-weight:700}.cards{grid-template-columns:minmax(0,1fr)}
