:root{--ease-out:cubic-bezier(.2,.75,.25,1);--chat-paper:#f6f7f9}
button,input,textarea,select{-webkit-tap-highlight-color:transparent}
button{touch-action:manipulation}
.primary,.secondary,.icon-button{transition:background-color .16s,color .16s,box-shadow .16s,opacity .16s,transform .14s var(--ease-out)}
.primary,.secondary{border-radius:10px}.icon-button{border-radius:10px}
.primary:active:not(:disabled),.icon-button:active:not(:disabled){transform:scale(.96)}
.primary:disabled{opacity:.4}.primary:focus-visible,.secondary:focus-visible{outline-offset:3px}
.app-screen{grid-template-columns:72px 308px minmax(0,1fr)}
.rail{padding-top:23px;background:#fafbfc;border-color:#eceef1}
.rail-brand>img{width:36px;height:36px;border-radius:11px}
.nav-button{border-radius:13px;width:47px;height:53px;transition:background .18s,color .18s}
.nav-button.active{background:#25282e;box-shadow:0 4px 12px #25282e12}
.avatar,.conversation-item>.avatar{border-radius:13px}.avatar-me{border-radius:12px}
.list-heading{padding:27px 24px 20px}.list-title-row>h1{font-size:25px;letter-spacing:-.5px}
.add-button{border-radius:10px;height:32px;width:32px}.list-filters{padding-top:16px;padding-bottom:16px}
.search-box{border-radius:11px;height:39px;background:#f6f7f8;border-color:transparent;margin-inline:20px}
.search-box:focus-within{background:#fff;border-color:#c4c8d0;box-shadow:0 0 0 3px #25282e05}
.list-section{border:0;padding-top:5px;padding-bottom:12px}
.conversation-list{padding:0 10px;scrollbar-gutter:stable;overscroll-behavior:contain}
.conversation-item{border:0;min-height:78px;padding:13px 12px;margin:2px 0;border-radius:12px;gap:12px;transition:background .15s,box-shadow .15s}
.conversation-item:hover{background:#f7f8fa}.conversation-item.selected{background:#eef0f3;box-shadow:none}
.conversation-item.is-pinned:not(.selected){background:#f9fafb}.conversation-item>.avatar{height:43px;width:43px}
.conversation-copy>strong{font-size:13px;font-weight:600}.conversation-copy>small{line-height:20px;color:#8b909a}
.conversation-side>b{border-radius:8px;min-width:18px}.conversation-side time{font-variant-numeric:tabular-nums}
.chat-panel,.empty-chat{background:var(--chat-paper)}
.chat-header{height:77px;background:#ffffffed;border-color:#e9ecf0;padding-inline:32px;flex:none}
.chat-header>.avatar{width:39px;height:39px;border-radius:12px}.chat-heading h2{font-size:15px}
.chat-heading p{margin-top:5px;font-size:11px}.chat-context-note{border:0;font-size:10px;color:#969ca7;padding:5px 0}
.message-scroll{padding:27px 36px 14px;overflow-anchor:none;-webkit-overflow-scrolling:touch;scrollbar-gutter:stable}
.messages{gap:19px;max-width:1120px;margin-inline:auto;padding-bottom:6px}
.message{max-width:min(82%,680px);gap:10px}.message>.avatar{width:32px;height:32px;border-radius:10px}
.message-main{min-width:0}.message-bubble{background:#fff;border:1px solid #eceef2;color:#343842;border-radius:4px 15px 15px;padding:10px 15px;line-height:1.75;box-shadow:0 2px 3px #24272c02;font-size:14px}
.message.own .message-bubble{background:#2e3239;border:1px solid #2e3239;border-radius:15px 4px 15px 15px;color:#fff}
.message-bubble img,.message-bubble video{border-radius:10px;object-fit:contain}
.message-bubble:has(>img),.message-bubble:has(>video){padding:5px;overflow:hidden}
.message-bubble:has(>img) .message-text,.message-bubble:has(>video) .message-text{padding:6px 9px}
.message-meta{margin-top:6px;font-size:10px;color:#a2a7b0;gap:8px}.message-meta .receipt{font-size:9px}
.sender-name{font-size:11px;margin-bottom:6px;margin-left:3px;color:#858d99}
.date-divider{font-size:10px;letter-spacing:.2px;color:#a0a6b1;margin:4px 0 9px}
.date-divider:before,.date-divider:after{background:#e2e5eb;width:22px}
.new-message{animation:message-arrive .22s var(--ease-out) both}
.chat-opening{animation:chat-reveal .15s var(--ease-out) both}
@keyframes message-arrive{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
@keyframes chat-reveal{from{opacity:.3}to{opacity:1}}
.composer{padding:13px 30px 20px;border-color:#edf0f3;background:#fffffffa}
.composer-tools{gap:7px;margin-bottom:8px}.composer-tools .icon-button{width:32px;height:31px;border-radius:9px;color:#89909c}
.composer-tools>span{font-size:10px;color:#a5aab3}.composer-input{gap:12px;align-items:flex-end}
.composer-input textarea{min-height:50px;max-height:130px;border-radius:13px;background:#f5f6f8;border:1px solid transparent;padding:12px 14px;line-height:1.6;transition:background .18s,border-color .18s,box-shadow .18s}
.composer-input textarea:focus-visible{background:#fff;border-color:#d0d5df;box-shadow:0 0 0 3px #25282e04}
.send-button{min-height:48px;height:48px;border-radius:12px;padding-inline:18px;gap:8px}.send-button>svg{height:19px;width:19px}
.send-button[aria-busy=true]>svg{opacity:.5;animation:sending-pulse .8s ease-in-out infinite alternate}
@keyframes sending-pulse{to{transform:translateX(3px);opacity:1}}
.composer-footnote{display:none}.typing-status{height:18px;background:var(--chat-paper);padding-inline:36px;font-size:10px}
.typing-status:not(:empty){animation:chat-reveal .18s ease-out}
.jump-latest{position:absolute;z-index:6;right:30px;bottom:calc(var(--composer-height,136px) + 31px);display:flex;align-items:center;gap:12px;border:1px solid #e3e6ec;border-radius:22px;background:#fffffff5;color:#525b68;box-shadow:0 4px 20px #2833470c;padding:10px 16px;font-family:inherit;font-size:11px;line-height:1.3;cursor:pointer;animation:chat-reveal .16s ease-out}
.jump-latest>span{font-size:16px}.jump-latest:hover{background:#fff;color:#1d222c}
.load-older{border:1px solid #e6e9ef;border-radius:20px;background:#ffffffb3;font-size:10px;padding:7px 15px;min-height:29px}
.modal{border-radius:18px;box-shadow:0 24px 100px #17203024}.modal::backdrop{background:#11182742;backdrop-filter:blur(3px)}
.modal>header{padding:23px 25px 17px}.modal-body{padding:20px 25px 25px}
.menu-row{min-height:51px}.modal input:not([type=checkbox]),.modal textarea,.modal select{border-radius:9px}
.sound-intro{font-size:13px;line-height:1.9}.sound-volume{display:flex;flex-direction:column;gap:17px;margin:23px 0;color:#636b77}
.sound-volume-heading{display:flex;align-items:center;justify-content:space-between;font-size:13px}.sound-volume output{font-variant-numeric:tabular-nums;color:#9098a5}
.sound-volume input{width:100%;accent-color:#343a44;height:6px;cursor:pointer}.sound-preview{margin-bottom:8px}
.auth-main{align-items:flex-start}.auth-card{max-width:370px;margin-block:auto;padding-block:4px}
.auth-card input:not([type=checkbox]){border-radius:10px;transition:border-color .16s,box-shadow .16s}
.auth-submit{border-radius:11px}.auth-card form>label,.email-code-row label{font-size:12px}
.email-code-row{display:flex;gap:10px;align-items:flex-end;margin-bottom:10px}.email-code-row>label{min-width:0;flex:1;display:block;color:#5b626e}
.email-code-row>button{flex:none;height:46px;font-size:12px;min-width:112px;margin:0;padding-inline:12px}
.email-code-row input{width:100%;letter-spacing:2px;margin-bottom:0}.email-status{font-size:11px;line-height:1.8;color:#798392;margin:0 0 13px}.email-status.unavailable{padding:10px 13px;border-radius:9px;background:#f4f5f7;color:#858d99}
.username-status{font-size:11px;line-height:1.8;color:#798392;margin:-9px 0 17px}.username-status.available{color:#39715b}.username-status.unavailable{color:#b74d58}
@media(min-width:1500px){.app-screen{grid-template-columns:76px 326px minmax(0,1fr)}.chat-header{padding-inline:43px}.message-scroll{padding-inline:45px}.composer{padding-inline:40px}}
@media(min-width:760px) and (max-width:1050px){.app-screen{grid-template-columns:64px 270px minmax(0,1fr)}.message-scroll{padding-inline:22px}.chat-header{padding-inline:22px}.composer{padding-inline:20px}.chat-context-note{display:none}}
@media(max-width:759px), (max-height:500px) and (pointer:coarse){
 .app-screen{display:flex}.rail{height:calc(65px + var(--safe-bottom));padding:5px 18px calc(5px + var(--safe-bottom));justify-content:center;background:#fafbfc}.nav-buttons{flex:none;height:54px;align-items:center}.nav-button{height:52px;padding:0;line-height:1.3}.nav-button.active{box-shadow:none}
 .list-heading{padding:24px 24px 20px}.search-box{height:42px;border-radius:12px}.conversation-list{padding:0 9px;scrollbar-gutter:auto}
 .conversation-item{padding:15px 14px;min-height:84px;margin:1px 0;gap:13px}.conversation-item>.avatar{width:47px;height:47px;border-radius:14px}
 .conversation-copy>strong{font-size:15px}.conversation-copy>small{font-size:12px;margin-top:5px}.list-filters{padding-top:16px;padding-bottom:14px}
 .chat-header{height:64px;padding:0 14px 0 7px;background:#fff;transition:none;box-shadow:0 1px 0 #22283103}
 .chat-header>.avatar{height:36px;width:36px;border-radius:11px}.chat-heading h2{font-size:15px}.chat-heading p{font-size:10px}
 .message-scroll{padding:20px 14px 10px;scrollbar-gutter:auto}.messages{gap:17px}.message{max-width:92%;gap:8px}
 .message>.avatar{width:31px;height:31px;border-radius:10px}.message-bubble{padding:9px 12px;font-size:14px;border-radius:4px 14px 14px}
 .message.own .message-bubble{border-radius:14px 4px 14px 14px}.message-meta{font-size:9px;margin-top:5px}
 .composer{padding:7px 12px calc(10px + var(--safe-bottom));background:#fff}.composer-tools{gap:5px;margin-bottom:6px}
 .composer-input{gap:9px}.composer-input textarea{min-height:42px;font-size:16px;padding:8px 11px;border-radius:12px;background:#f3f5f7}
 .send-button{height:42px;min-height:42px;min-width:45px;border-radius:12px;padding-inline:12px}.send-button>span{display:none}
 .typing-status{height:16px;padding-inline:16px}.jump-latest{right:14px;bottom:calc(var(--composer-height,113px) + 27px);font-size:11px;padding:9px 13px}
 .modal{width:calc(100vw - 24px);border-radius:18px}.modal>header{padding:18px 20px 15px}.modal-body{padding:15px 20px 22px}
 .auth-main{padding:27px 25px;align-items:flex-start}.auth-card{padding-block:6px}.auth-mobile-brand{margin-bottom:25px}
 .auth-card>.muted{margin-bottom:24px}.email-code-row>button{height:47px}.email-code-row input{font-size:16px}
 .auth-fine{margin-top:22px}.auth-footnote{margin-top:0}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.modal::backdrop{backdrop-filter:none}}
[hidden]{display:none!important}

.group-notice-bar{display:flex;align-items:center;gap:9px;flex:none;width:100%;min-height:37px;padding:9px 34px;border:0;border-bottom:1px solid #e8ebf0;background:#eff1f5;color:#818b9a;text-align:left;cursor:pointer;font:11px/1.6 inherit}.group-notice-bar>svg{height:14px;width:14px;flex:none}.group-notice-bar .notice-label{flex:none;color:#5f6c7e}.group-notice-bar #groupNoticeText{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.group-notice-bar>span:last-child{font-size:18px;flex:none}.group-profile-description{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.9!important}.group-profile-announcement{width:100%;margin-top:20px;padding:16px 18px;border:1px solid #e9ecf1;border-radius:12px;background:#f7f8fa;text-align:left}.group-profile-announcement>h3{font-size:12px!important;margin:0 0 9px!important;color:#697789}.group-profile-notice{margin:0!important;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.9!important}.group-profile-form .field{margin-top:17px}.group-profile-form textarea{resize:vertical;line-height:1.75;min-height:84px}.group-save-actions{justify-content:flex-end;margin-top:23px}.group-profile-form .primary{min-height:42px}
@media(max-width:759px), (max-height:500px) and (pointer:coarse){.group-notice-bar{padding:8px 16px;gap:7px;font-size:10px}.group-profile-announcement{padding:14px}.group-save-actions{gap:10px}.group-save-actions>button{flex:1}.group-profile-form textarea{font-size:16px}}

.attachment-item .attachment-preview{display:flex;width:100%;height:100%;padding:0;margin:0;border:0;border-radius:8px;background:transparent;overflow:hidden;position:static}.attachment-preview img,.attachment-preview video{display:block;width:100%;height:100%;object-fit:cover}.attachment-item>button:not(.attachment-preview){z-index:1}.image-viewer .modal-body>video{max-width:100%;max-height:70dvh}

/* Keep registration guidance attached to its field at every viewport width. */
.auth-field-help{font-size:11px;line-height:1.8;color:#798392;margin:-11px 0 18px}
.auth-field-help+.username-status{margin-top:-10px}
