.connection-banner{padding:9px 20px;background:#4a382b;color:#ffdbad;border-bottom:1px solid #8a6545;font-size:.76rem;font-weight:700;text-align:center}
.typing-indicator{min-height:25px;padding:2px max(22px,5%);color:var(--teal);font-size:.72rem;font-weight:700}
.report-dialog .dialog-card{width:min(440px,calc(100vw - 32px));display:flex;flex-direction:column;gap:12px}
.report-dialog .dialog-card h2{font-size:1.55rem;letter-spacing:-.05em;margin:0}
.report-dialog .dialog-card p{font-size:.82rem;line-height:1.55;margin:0 0 4px}
.report-dialog label{font-size:.75rem;font-weight:800}
.report-dialog textarea{width:100%;min-height:118px;resize:vertical;background:var(--surface-2);border:1px solid var(--line);border-radius:11px;padding:12px;color:var(--text);font:inherit;font-size:.84rem;line-height:1.5}
.report-dialog textarea::placeholder{color:var(--muted)}
.report-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:5px}
.report-actions .button{min-height:40px;font-size:.76rem}
@media(max-width:680px){.typing-indicator{padding:2px 15px;font-size:.68rem}.connection-banner{padding:8px 14px;font-size:.69rem}.report-actions{flex-direction:column-reverse}.report-actions .button{width:100%}}
.upgrade-card{display:flex;flex-direction:column;gap:11px}.upgrade-card h2{font-size:1.55rem;letter-spacing:-.05em;margin:0}.upgrade-card p{font-size:.81rem;line-height:1.55;margin:0 0 5px}.upgrade-card label{font-size:.75rem;font-weight:800}.upgrade-card input{height:44px;width:100%;background:var(--surface-2);border:1px solid var(--line);border-radius:10px;padding:0 12px;color:var(--text)}.upgrade-card>.button{margin-top:9px}
@media(max-width:680px){.profile-actions{flex-wrap:wrap}.profile-actions .button{min-height:42px}}
.reply-preview{max-width:760px;display:flex;justify-content:space-between;gap:12px;align-items:center;margin:0 0 9px;padding:10px 13px;border-left:3px solid var(--teal);border-radius:8px;background:var(--surface)}.reply-preview>div{display:flex;flex-direction:column;gap:3px;min-width:0}.reply-preview strong{font-size:.72rem;color:var(--teal)}.reply-preview span{font-size:.75rem;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.reply-preview button{border:0;background:none;color:var(--muted);font-size:1.4rem}.message-reply-quote{display:flex;flex-direction:column;gap:3px;border-left:2px solid var(--teal);background:var(--surface-2);padding:7px 10px;margin:0 0 7px;border-radius:0 6px 6px 0;max-width:100%;text-align:left}.message-reply-quote strong{font-size:.69rem;color:var(--teal)}.message-reply-quote span{font-size:.72rem;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.message-actions{display:flex;flex-direction:column;gap:3px;margin-top:22px}.message-actions button{border:0;background:none;color:var(--muted);font-size:1rem;padding:3px 5px}.message-actions button:hover{color:var(--accent)}
.message-actions .message-more{margin-top:0}
.message-reactions{display:flex;flex-wrap:wrap;gap:5px;margin-top:6px}.reaction-chip{border:1px solid var(--line);background:var(--surface);color:var(--muted);border-radius:15px;padding:4px 8px;font-size:.71rem;font-weight:700}.reaction-chip.active{border-color:var(--teal);color:var(--teal);background:color-mix(in srgb,var(--teal) 12%,var(--surface))}.message-actions{position:relative}.reaction-picker{position:absolute;right:28px;top:16px;z-index:5;display:flex;gap:2px;padding:5px;background:var(--surface-2);border:1px solid var(--line);border-radius:11px;box-shadow:var(--shadow)}.reaction-picker button{font-size:1.15rem;padding:4px 6px;border-radius:7px}.reaction-picker button:hover{background:var(--surface-3)}
.room-card-end{margin-left:auto;display:flex;align-items:center;justify-content:flex-end;min-width:30px}
.room-unread{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 6px;border-radius:999px;background:var(--accent);color:#17202d;font-size:.68rem;font-weight:900;line-height:1}
.message-attachment{display:block;margin-top:.45rem;color:inherit;font-size:.82rem;max-width:min(280px,100%)}
.message-attachment-image{display:block;max-width:280px;max-height:220px;border-radius:12px;object-fit:cover}
.message-attachment-audio{display:block;max-width:280px;height:34px}
.composer>button[type=button]{min-width:2.2rem}
.file-preview{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.45rem .7rem;margin:.4rem 0;border:1px solid currentColor;border-radius:10px;font-size:.8rem;max-width:100%;opacity:.85}
.file-preview[hidden]{display:none}
.file-preview span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.file-preview button{border:0;background:transparent;color:inherit;font-size:1.25rem;cursor:pointer}
.call-panel{margin:.8rem 1rem;padding:1rem;border:1px solid rgba(110,121,124,.25);border-radius:16px;background:var(--surface,#fff)}
.call-panel[hidden]{display:none}
.call-panel-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}
.call-panel-head>div:first-child{display:grid;gap:.15rem}
.call-panel-head small{opacity:.68}
.call-actions{display:flex;gap:.45rem;flex-wrap:wrap}
.call-devices{display:flex;gap:.55rem;align-items:end;flex-wrap:wrap;margin-top:.75rem}
.call-devices label{display:grid;gap:.2rem;font-size:.78rem}
.call-devices select{min-width:170px;border:1px solid rgba(110,121,124,.3);border-radius:8px;background:var(--surface,#fff);color:inherit;padding:.45rem}
.call-devices small{opacity:.68}
.call-actions button{border:1px solid rgba(110,121,124,.3);border-radius:9px;background:transparent;color:inherit;padding:.5rem .7rem;cursor:pointer}
.call-actions button[aria-pressed=true]{background:#d9f1e8;color:#174d3a}
.call-actions #call-leave{background:#ffebe9;color:#9b2e27}
.call-participants{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:.6rem;margin-top:.8rem}
.call-person{display:grid;align-content:center;justify-items:center;min-height:100px;border-radius:12px;background:rgba(110,121,124,.12);overflow:hidden}
.call-person video{width:100%;max-height:220px;object-fit:cover}
.call-person strong{padding:.4rem}
.call-screen-share-label{padding:0 .4rem .4rem;color:#275f57}
.call-remove-person{margin:.35rem;padding:.4rem .6rem;border:1px solid rgba(155,46,39,.35);border-radius:8px;background:#ffebe9;color:#8b2823;cursor:pointer}
.call-remove-person:disabled{opacity:.6;cursor:wait}
.call-ejections{display:grid;gap:.5rem;margin-top:.9rem;padding-top:.75rem;border-top:1px solid rgba(110,121,124,.22)}
.call-ejections[hidden]{display:none}
.call-ejections-title{font-size:.85rem;color:#8b2823}
.call-ejection-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.35rem .55rem;border-radius:8px;background:rgba(155,46,39,.07)}
.call-allow-person{border:1px solid rgba(110,121,124,.3);border-radius:8px;background:var(--surface,#fff);color:inherit;padding:.4rem .6rem;cursor:pointer}
.danger-card{border-color:rgba(155,46,39,.35)}
.danger-card .button.danger{background:#9b2e27;color:#fff;border:0}
.session-list{display:grid;gap:8px;margin-top:14px}.session-row{display:flex;justify-content:space-between;gap:14px;align-items:center;padding:12px 14px;border:1px solid var(--line,#dfe4dc);border-radius:12px;background:var(--surface-muted,#f6f8f4)}.session-row strong{font-size:.92rem}.session-row span{color:var(--muted,#6b756d);font-size:.82rem}
.notification-body{margin:6px 0 0;color:var(--muted,#667268);font-size:.88rem;line-height:1.5;overflow-wrap:anywhere}
.appeal-card{margin-top:22px;padding:20px;border:1px solid var(--line,#dfe4dc);border-radius:14px;background:var(--surface,#fff)}.appeal-card h2{margin:6px 0;font-size:1.2rem}.appeal-card p{line-height:1.5;color:var(--muted,#667268)}.appeal-card textarea{display:block;width:100%;min-height:120px;margin:8px 0 14px;padding:11px;border:1px solid var(--line,#dfe4dc);border-radius:10px;resize:vertical;font:inherit}.appeal-card label{font-weight:750;font-size:.85rem}.appeal-card #ban-appeal-status{font-size:.85rem;margin:10px 0 0}
.room-welcome{width:min(100%,660px);margin:auto;padding:clamp(26px,5vw,48px);border:1px solid var(--line);border-radius:28px;background:linear-gradient(145deg,color-mix(in srgb,var(--accent) 13%,var(--surface)),var(--surface));box-shadow:0 24px 56px color-mix(in srgb,var(--text) 7%,transparent)}.room-welcome-mark{display:grid;place-items:center;width:58px;height:58px;margin-bottom:22px;border-radius:18px;background:color-mix(in srgb,var(--accent) 16%,var(--surface));color:var(--accent);font-size:1.9rem}.room-welcome-eyebrow,.room-prompt-label{display:block;color:var(--teal);font-size:.68rem;font-weight:900;letter-spacing:.13em}.room-welcome h2{margin:9px 0 10px;color:var(--text);font-size:clamp(1.65rem,3vw,2.45rem);letter-spacing:-.06em}.room-welcome p{max-width:510px;margin:0;color:var(--muted);font-size:.91rem;line-height:1.65}.room-welcome-actions{display:flex;align-items:center;gap:18px;margin:24px 0 30px}.room-welcome-actions .button{min-height:44px;padding:.65rem 1rem;font-size:.8rem}.room-welcome-rules{color:var(--muted);font-size:.78rem;font-weight:800;text-decoration:underline;text-underline-offset:3px}.room-prompt-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.room-prompt{border:1px solid var(--line);border-radius:999px;background:var(--surface-2);color:var(--text);padding:9px 12px;font:inherit;font-size:.75rem;font-weight:750;transition:transform .15s ease,background .15s ease}.room-prompt:hover{transform:translateY(-1px);background:color-mix(in srgb,var(--accent) 13%,var(--surface-2))}@media(max-width:680px){.room-welcome{padding:28px 22px;border-radius:22px}.room-welcome-mark{width:50px;height:50px;margin-bottom:18px;border-radius:15px}.room-welcome h2{font-size:1.65rem}.room-welcome-actions{align-items:flex-start;flex-direction:column;gap:14px;margin:20px 0 25px}.room-prompt-list{gap:7px}.room-prompt{font-size:.71rem;padding:8px 10px}}
.profile-identity{display:flex;align-items:center;gap:18px}.profile-identity h2{margin:3px 0}.profile-identity p{margin:0}.profile-status{display:inline-flex;align-items:center;gap:6px;color:var(--teal);font-size:.7rem;font-weight:850;letter-spacing:.06em;text-transform:uppercase}.profile-status:before{content:'';width:7px;height:7px;border-radius:50%;background:currentColor}.profile-bio{max-width:590px;margin:22px 0 0}.profile-participation{max-width:760px;margin:18px 0;padding:25px 28px;border:1px solid var(--line);border-radius:22px;background:linear-gradient(145deg,color-mix(in srgb,var(--teal) 9%,var(--surface)),var(--surface))}.profile-participation-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.profile-participation h2{margin:5px 0 0;font-size:1.22rem;letter-spacing:-.04em}.profile-since{color:var(--muted);font-size:.72rem;font-weight:750;white-space:nowrap}.profile-stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:22px}.profile-stat-grid>div{min-height:92px;padding:16px;border-radius:15px;background:color-mix(in srgb,var(--surface-2) 84%,transparent)}.profile-stat-grid strong{display:block;color:var(--text);font-size:1.65rem;letter-spacing:-.06em}.profile-stat-grid span{display:block;margin-top:5px;color:var(--muted);font-size:.7rem;line-height:1.35}.profile-participation>p{margin:17px 0 0;color:var(--muted);font-size:.73rem}@media(max-width:680px){.profile-identity{align-items:flex-start;gap:14px}.profile-identity .avatar.big{width:60px;height:60px;border-radius:18px;font-size:1.5rem}.profile-participation{padding:21px}.profile-participation-head{display:block}.profile-since{display:block;margin-top:10px;white-space:normal}.profile-stat-grid{gap:7px}.profile-stat-grid>div{min-height:82px;padding:12px 10px}.profile-stat-grid strong{font-size:1.35rem}.profile-stat-grid span{font-size:.65rem}}
.people-summary{margin:6px 0 0;color:var(--muted);font-size:.71rem;font-weight:700}.person-row{gap:11px;padding:10px 5px;border-radius:12px;transition:background .15s ease}.person-row:hover{background:var(--surface-2)}.person-detail{display:grid;min-width:0;gap:2px;flex:1}.person-detail strong{font-size:.81rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.person-detail small{color:var(--teal);font-size:.64rem;font-weight:800}.person-bio{display:block;overflow:hidden;color:var(--muted);font-size:.66rem;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.person-state{display:flex;align-items:center;gap:7px;margin-left:auto}.person-open{color:var(--muted);font-size:1.15rem;line-height:1}.people-empty{margin:8px 0;color:var(--muted);font-size:.76rem;line-height:1.55}
.room-pin{display:flex;align-items:center;gap:10px;width:min(100%,800px);padding:10px 13px;border:1px solid color-mix(in srgb,var(--teal) 35%,var(--line));border-radius:13px;background:color-mix(in srgb,var(--teal) 9%,var(--surface));color:var(--text);text-align:left}.room-pin-mark{display:grid;place-items:center;width:28px;height:28px;border-radius:9px;background:color-mix(in srgb,var(--teal) 20%,var(--surface));color:var(--teal);font-size:1rem}.room-pin-text{display:grid;min-width:0;gap:2px;flex:1}.room-pin-text strong{color:var(--teal);font-size:.68rem}.room-pin-text small{overflow:hidden;color:var(--muted);font-size:.73rem;text-overflow:ellipsis;white-space:nowrap}.room-pin-focus,.room-pin-unpin{border:0;background:transparent;color:var(--teal);font:inherit;font-size:.7rem;font-weight:850;white-space:nowrap}.room-pin-unpin{font-size:1.25rem;color:var(--muted)}.message-pin-action{color:var(--teal)!important}
.role-badge{display:inline-flex;align-items:center;border-radius:999px;padding:3px 6px;background:color-mix(in srgb,var(--teal) 13%,var(--surface));color:var(--teal);font-size:.58rem;font-weight:900;letter-spacing:.03em;white-space:nowrap}.role-badge.admin{background:#f5d0a8;color:#98551d}.role-badge.moderator{background:#cde9dd;color:#176b55}.role-badge.owner{background:#ded3fb;color:#5e469d}.role-badge.room-moderator{background:#d5edf0;color:#22707a}.person-identity{display:flex;align-items:center;gap:5px;min-width:0}.person-identity .role-badge{font-size:.54rem;padding:2px 5px}
