:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--bg:#eef2f5;--surface:#fff;--surface-2:#f4f7f9;--text:#16212b;--muted:#536878;--line:#d6dfe6;--accent:#0b7fa0;--accent-hover:#096b87;--accent-soft:#dff4fb;--on-accent:#fff;--mine:#0b7fa0;--on-mine:#fff;--theirs:#fff;--danger:#b4372f;--ok:#2c9466;--shadow:0 1px 2px #16212b0f, 0 4px 16px #16212b0f;--radius:14px;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,sans-serif;font-size:16px;line-height:1.45}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--bg:#0f151b;--surface:#17202a;--surface-2:#1c2732;--text:#e4ebf1;--muted:#93a5b4;--line:#283542;--accent:#3cc8ef;--accent-hover:#6ad6f4;--accent-soft:#12303c;--on-accent:#06222c;--mine:#0d6a85;--on-mine:#f2fbfe;--theirs:#1c2732;--danger:#ef7a70;--ok:#4cc58f;--shadow:0 1px 2px #0000004d, 0 4px 16px #00000040}}*,:before,:after{box-sizing:border-box}html,body,#root{background:var(--bg);min-height:100dvh;margin:0}h1,p{margin:0}button,input,textarea{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}button{cursor:pointer;border:1px solid #0000;border-radius:10px;padding:10px 16px;font-weight:600;transition:background .15s,border-color .15s,opacity .15s}button:disabled{opacity:.5;cursor:default}button.primary{background:var(--accent);color:var(--on-accent)}button.primary:not(:disabled):hover{background:var(--accent-hover)}button.ghost{border-color:var(--line);color:var(--text);background:0 0}button.ghost:not(:disabled):hover{background:var(--surface-2)}button.danger{background:var(--danger);color:#fff}button.small{padding:6px 12px;font-size:14px}input,textarea{border:1px solid var(--line);background:var(--surface-2);border-radius:10px;width:100%;padding:10px 12px}input:focus,textarea:focus{border-color:var(--accent);background:var(--surface);outline:none}.home{flex-direction:column;gap:28px;max-width:440px;margin:0 auto;padding:max(48px,8dvh) 16px 32px;display:flex}.brand{text-align:center;color:var(--accent);flex-direction:column;align-items:center;gap:10px;display:flex}.brand h1{color:var(--text);letter-spacing:-.02em;font-size:28px}.brand h1.wordmark{letter-spacing:.06em;text-transform:uppercase;color:#3a86f0;background:linear-gradient(60deg,#3a86f0,#62d8ea);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:34px;font-weight:800}.tagline{color:var(--muted);max-width:34ch}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);flex-direction:column;gap:12px;padding:20px;display:flex}.card label{font-size:15px;font-weight:600}.card button{margin-top:4px;padding:12px 16px}.hint,.fineprint{color:var(--muted);text-align:center;font-size:13px}.error{color:var(--danger);font-size:14px}.facts{color:var(--muted);flex-direction:column;gap:14px;margin:0;padding:0;font-size:15px;list-style:none;display:flex}.facts strong{color:var(--text)}.actions{flex-direction:column;gap:10px;display:flex}.splash{min-height:100dvh}.chat{background:var(--bg);flex-direction:column;max-width:760px;height:100dvh;margin:0 auto;display:flex}@media (width>=792px){.chat{border-inline:1px solid var(--line)}}.chat-header{padding:12px 16px;padding-top:max(12px, env(safe-area-inset-top));border-bottom:1px solid var(--line);background:var(--surface);color:var(--accent);align-items:center;gap:12px;display:flex}.who{min-width:0;color:var(--text);flex-direction:column;flex:1;display:flex}.peer-name{text-overflow:ellipsis;white-space:nowrap;font-weight:650;overflow:hidden}.status{color:var(--muted);align-items:center;gap:6px;font-size:13px;display:inline-flex}.status.live{color:var(--ok)}.dot{background:var(--ok);border-radius:50%;width:8px;height:8px}.banner{background:var(--surface-2);color:var(--muted);border-bottom:1px solid var(--line);padding:8px 16px;font-size:14px}.banner.warn{color:var(--danger)}.invite{border-radius:var(--radius);background:var(--accent-soft);flex-direction:column;gap:12px;margin:16px 16px 0;padding:16px;font-size:15px;display:flex}.invite-row{flex-wrap:wrap;gap:8px;display:flex}.invite .pin{flex-direction:column;gap:2px;display:flex}.code{font-variant-numeric:tabular-nums;letter-spacing:.12em;font-family:ui-monospace,SF Mono,Menlo,monospace}.invite .pin .code{font-size:22px}.invite .hint,.check .hint,#pin-hint{text-align:start}.security-code .code{text-align:center;color:var(--accent);font-size:30px;font-weight:650}button.verified{color:var(--ok);border-color:var(--ok)}.check{cursor:pointer;align-items:flex-start;gap:10px;font-weight:400;display:flex}.card .check{font-weight:400}.check input{width:auto;accent-color:var(--accent);margin-top:4px}.check>span{flex-direction:column;gap:2px;display:flex}.pin-input{letter-spacing:.3em;text-align:center;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:22px}.failed{color:var(--danger)}.invite-row input{background:var(--surface);flex:1;min-width:0;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:13px}.messages{flex-direction:column;flex:1;gap:8px;padding:16px;display:flex;overflow-y:auto}.empty{text-align:center;max-width:32ch;color:var(--muted);margin:auto;font-size:15px}.bubble{max-width:min(80%,520px);box-shadow:var(--shadow);border-radius:16px;padding:8px 12px 6px;animation:.18s ease-out rise}.bubble.mine{background:var(--mine);color:var(--on-mine);border-bottom-right-radius:6px;align-self:flex-end}.bubble.theirs{background:var(--theirs);border:1px solid var(--line);border-bottom-left-radius:6px;align-self:flex-start}.bubble.pending{opacity:.7}.body{white-space:pre-wrap;overflow-wrap:anywhere}.undecryptable{color:var(--danger);font-style:italic}.meta{opacity:.75;font-variant-numeric:tabular-nums;justify-content:flex-end;align-items:center;gap:8px;margin-top:2px;font-size:12px;display:flex}.countdown{align-items:center;gap:4px;display:inline-flex}.ring-track{stroke:currentColor;opacity:.25}.ring-fill{stroke:currentColor;transition:stroke-dashoffset 1s linear}.typing{gap:4px;padding:12px 14px;display:inline-flex}.typing span{background:var(--muted);border-radius:50%;width:6px;height:6px;animation:1.2s ease-in-out infinite blink}.typing span:nth-child(2){animation-delay:.2s}.typing span:nth-child(3){animation-delay:.4s}.composer{padding:12px 16px;padding-bottom:max(12px, env(safe-area-inset-bottom));border-top:1px solid var(--line);background:var(--surface);align-items:flex-end;gap:8px;display:flex}.composer textarea{resize:none;flex:1;max-height:160px;line-height:1.4}.counter{color:var(--muted);font-variant-numeric:tabular-nums;align-self:center;font-size:12px}@keyframes rise{0%{opacity:0;transform:translateY(4px)}}@keyframes blink{0%,80%,to{opacity:.3}40%{opacity:1}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}
