@font-face{font-family:Jost;font-style:normal;font-weight:100 900;font-display:swap;src:url(https://cdn.jsdelivr.net/fontsource/fonts/jost:vf@latest/latin-wght-normal.woff2) format("woff2"),url(/fonts/Jost.woff2) format("woff2")}*,:after,:before{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent;tap-highlight-color:transparent}[role=button],a,button{outline:none;-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:2px solid var(--blue);outline-offset:2px}:root{--font-jost:"Jost";--blue:#3949AB;--blue-dark:#283593;--blue-mid:#5C6BC0;--blue-light:#E8EAF6;--bg:#F0F2F5;--white:#FFFFFF;--text:#111827;--muted:#6B7280;--border:#E5E7EB;--border-light:#F3F4F6;--input-bg:#F9FAFB;--error:#D32F2F;--success:#388E3C;--green:#388E3C;--red:#D32F2F;--gold:#F59E0B;--unread:#25D366;--bubble-in:#FFFFFF;--bubble-out-bg:#3949AB;--bubble-out-text:#FFFFFF;--icon-color:#3949AB;--radius:12px;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:24px;--shadow-sm:0 1px 3px rgba(0,0,0,.08),0 1px 2px rgba(0,0,0,.04);--shadow-md:0 4px 12px rgba(0,0,0,.1),0 2px 4px rgba(0,0,0,.06);--shadow-lg:0 10px 30px rgba(0,0,0,.12),0 4px 8px rgba(0,0,0,.08);--t:.2s cubic-bezier(.4,0,.2,1);--transition-fast:.15s cubic-bezier(.4,0,.2,1);--transition-med:.25s cubic-bezier(.4,0,.2,1);--transition-slide:.28s cubic-bezier(.4,0,.2,1);--sidebar-w:360px}html{font-size:calc(var(--font-scale, 1) * 16px)}body,html{height:100%}body{background:var(--bg);font-family:var(--font-jost),sans-serif;font-size:1rem;color:var(--text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes slideDown{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}@keyframes popIn{0%{opacity:0;transform:scale(.85)}to{opacity:1;transform:scale(1)}}@keyframes spin{to{transform:rotate(1turn)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes msgIn{0%{opacity:0;transform:translateY(6px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes badgePop{0%{transform:scale(0)}70%{transform:scale(1.2)}to{transform:scale(1)}}.spinner{width:16px;height:16px;border:2.5px solid rgba(255,255,255,.4);border-top-color:#fff;border-radius:50%;animation:spin .7s linear infinite;display:inline-block;vertical-align:middle;margin-right:8px}.ls-spinner{width:30px;height:30px;border:3px solid var(--blue-light);border-top-color:var(--blue);border-radius:50%;animation:spin .8s linear infinite}