:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:#f8fafc;background:#0b1020;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html,body,#app{height:100%;min-height:100%;margin:0}body{overflow:hidden}button,input,textarea{font:inherit}button{cursor:pointer}.shell{background:#0b1020;grid-template-columns:320px 1fr;height:100dvh;display:grid}.sidebar{background:#111827;border-right:1px solid #263247;flex-direction:column;min-width:0;display:flex}.brand{align-items:center;gap:10px;padding:18px 18px 14px;font-size:20px;font-weight:800;display:flex}.lock-dot{border:2px solid #e5e7eb;border-radius:9px;place-items:center;width:28px;height:28px;font-size:14px;display:grid}.toolbar{flex-wrap:wrap;gap:8px;padding:0 12px 12px;display:flex}button,.button{color:#f8fafc;background:#1f2937;border:1px solid #334155;border-radius:10px;padding:9px 12px}button:hover{background:#273449}button.primary{background:#2563eb;border-color:#3b82f6}button.danger{background:#7f1d1d;border-color:#991b1b}button:disabled{opacity:.5;cursor:not-allowed}.rooms{flex:1;overflow:auto}.room{text-align:left;background:0 0;border:0;border-bottom:1px solid #202a3b;border-radius:0;width:100%;padding:13px 14px}.room.active{background:#1d2940}.room-name{align-items:center;gap:8px;font-weight:650;display:flex}.room-sub{color:#94a3b8;text-overflow:ellipsis;white-space:nowrap;margin-top:4px;font-size:12px;overflow:hidden}.sidebar-footer{color:#94a3b8;border-top:1px solid #263247;padding:10px 12px;font-size:12px}.security-foot{color:#a7f3d0;margin-top:4px}.security-foot.warn{color:#fcd34d}.chat{background:#0f172a;flex-direction:column;min-width:0;min-height:0;display:flex}.chat-head{background:#111827;border-bottom:1px solid #263247;align-items:center;gap:10px;height:64px;padding:0 18px;display:flex}.chat-title{flex:1;min-width:0}.chat-title strong{white-space:nowrap;text-overflow:ellipsis;display:block;overflow:hidden}.security{color:#a7f3d0;font-size:12px}.security.warn{color:#fcd34d}.messages{flex-direction:column;flex:1;gap:10px;padding:18px;display:flex;overflow:auto}.empty{color:#94a3b8;text-align:center;margin:auto;padding:28px}.bubble{overflow-wrap:anywhere;background:#1f2937;border-radius:14px;align-self:flex-start;max-width:min(720px,82%);padding:10px 12px}.bubble.own{background:#1d4ed8;align-self:flex-end}.meta{opacity:.72;margin-bottom:5px;font-size:11px}.attachment{flex-direction:column;gap:8px;display:flex}.attachment-name{font-weight:650}.attachment-meta{opacity:.8;font-size:12px}.preview img,.preview video{border-radius:10px;max-width:min(480px,100%);max-height:420px;display:block}.preview audio{width:min(420px,100%)}.composer{background:#111827;border-top:1px solid #263247;align-items:flex-end;gap:8px;padding:10px;display:flex}.composer textarea{resize:none;color:#fff;background:#0f172a;border:1px solid #334155;border-radius:12px;flex:1;min-height:42px;max-height:140px;padding:10px 12px}.progress{background:#1e293b;height:3px}.progress>div{background:#60a5fa;width:0;height:100%}.login-wrap{background:radial-gradient(circle at top,#172554,#0b1020 55%);place-items:center;height:100dvh;padding:18px;display:grid}.card{background:#111827;border:1px solid #334155;border-radius:18px;width:min(430px,100%);padding:24px;box-shadow:0 24px 60px #0008}.card h1{margin:0 0 8px}.card p{color:#94a3b8;line-height:1.45}.field{flex-direction:column;gap:6px;margin:14px 0;display:flex}.field input{color:#fff;background:#0f172a;border:1px solid #334155;border-radius:10px;width:100%;padding:11px 12px}.check{color:#cbd5e1;align-items:flex-start;gap:8px;font-size:13px;display:flex}.error{color:#fecaca;white-space:pre-wrap;background:#450a0a;border:1px solid #7f1d1d;border-radius:10px;margin-top:12px;padding:10px}.install{margin-left:auto}.hidden{display:none!important}.mobile-back{display:none}.toast{z-index:20;background:#111827;border:1px solid #475569;border-radius:12px;max-width:min(440px,100% - 36px);padding:12px 14px;position:fixed;bottom:18px;right:18px;box-shadow:0 14px 40px #0008}@media (width<=760px){.shell{grid-template-columns:1fr}.sidebar{border-right:0}.shell.room-open .sidebar,.shell:not(.room-open) .chat{display:none}.mobile-back{padding:6px 9px;display:inline-block}.bubble{max-width:90%}}
