:root{color-scheme:dark;--toolbar-h: 64px;--media-img-max: clamp(140px, 36vw, 360px);--media-vid-max: calc(var(--media-img-max) * 1.25)}*{box-sizing:border-box}html,body{margin:0;background:#0b0f14;color:#e9eef3;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;overscroll-behavior-y:none}.container{max-width:900px;margin:0 auto;padding:12px}.card{background:#121821;border:1px solid #1d2733;border-radius:16px;padding:12px;box-shadow:0 8px 20px #00000040}.row{display:flex;gap:8px;align-items:center}.header{position:sticky;top:0;background:#0b0f14;padding:0;z-index:50}.chip{padding:6px 10px;border-radius:999px;background:#1a2633;font-size:12px}.input,.btn{width:100%;padding:12px 14px;border-radius:12px;border:1px solid #223044;background:#0e141b;color:#e9eef3;outline:none}.btn{background:#1f6feb;border-color:#1f6feb;font-weight:600;cursor:pointer}.btn.icon{padding:0;width:44px;height:44px;display:grid;place-items:center}.btn.iconrooms{padding:10px;width:44px;height:44px;display:grid;place-items:center}.chat-root{display:flex;flex-direction:column;gap:8px}.presence-wrap{flex:0 0 auto}.presence-banner{padding:8px 12px;border-radius:10px;background:#0f1621;border:1px solid #1e2a3a;font-size:14px}.presence-row{display:flex;gap:12px;flex-wrap:wrap;align-items:center}.presence-dot{width:8px;height:8px;border-radius:999px;background:#20c997;box-shadow:0 0 8px #20c99799;display:inline-block;margin-right:6px}.presence-dot.focus{background:#2ea8ff;box-shadow:0 0 8px #2ea8ff99}.messages{flex:1 1 auto;min-height:0;overflow-y:auto;padding:6px 8px;overscroll-behavior:contain}.toolbar{position:sticky;bottom:0;z-index:1000;flex:0 0 auto;display:flex;gap:8px;padding:8px;background:#0b0f14;border-top:1px solid #1d2733;height:var(--toolbar-h);align-items:flex-end;overflow:visible}.toolbar .input,.toolbar .composer{flex:1;min-height:44px;resize:none;overflow:hidden;align-self:flex-end;position:relative;z-index:1001}.list{display:flex;flex-direction:column;gap:8px;padding:0 6px}.msg{margin:-1px 0!important;padding:6px 10px!important;font-size:14px!important}.msg .meta{font-size:12px!important;margin-bottom:2px!important}.msg.mine{background:#075e54;border-color:#0d8f81;align-self:flex-end}.user{font-weight:700;margin-bottom:4px}.meta{font-size:11px;opacity:.7;margin-top:4px}.att-wrap{display:block}.thumb-img{display:block;width:100%;max-width:var(--media-img-max);height:auto;border-radius:10px;border:1px solid #243246;box-shadow:0 6px 18px #00000040;cursor:zoom-in}.thumb-video{display:block;width:100%;max-width:var(--media-vid-max);height:auto;max-height:48vh;object-fit:contain;border-radius:10px;border:1px solid #243246;box-shadow:0 6px 18px #00000040;outline:none}.thumb-video.portrait{max-width:min(70%,330px);max-height:40vh;margin-left:auto;margin-right:auto}.file-pill{display:inline-flex;align-items:center;gap:8px;padding:8px 10px;border-radius:10px;background:#141c26f2;border:1px solid #243246;color:#e9eef3;max-width:min(72vw,520px)}.file-pill__name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:46ch}.typing{font-size:12px;opacity:.8}.typing-float{position:absolute;left:12px;bottom:calc(var(--toolbar-h) + 10px);z-index:9;pointer-events:none}.typing-stack{display:flex;flex-direction:column;gap:6px;align-items:flex-start}.typing-bubble{pointer-events:auto;background:#141c26f2;border:1px solid #243246;color:#e9eef3;padding:6px 10px;border-radius:999px;box-shadow:0 8px 20px #00000059;font-size:13px}.lightbox{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000d9;display:grid;place-items:center;z-index:9999}.lightbox img{max-width:92vw;max-height:92vh;border-radius:12px;box-shadow:0 12px 40px #0009}.lightbox .close{position:absolute;top:16px;right:16px;width:40px;height:40px;border-radius:999px;display:grid;place-items:center;background:#111a24;border:1px solid #243246;cursor:pointer}.modal-mask{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:grid;place-items:center;z-index:9999}.modal-card{max-width:420px;width:92%}input,textarea,select{font-size:16px}.toolbar .input{font-size:16px;line-height:1.3;min-height:44px}html{-webkit-text-size-adjust:100%}
