@font-face{font-family:RocketChat;font-weight:400;font-style:normal;font-display:auto;src:url(/assets/rocketchat-B0fNW-Qz.eot);src:url(/assets/rocketchat-B0fNW-Qz.eot?#iefix) format("embedded-opentype"),url(/assets/rocketchat-BiO91kUE.woff2) format("woff2"),url(/assets/rocketchat-wFFZqpGN.woff) format("woff"),url(/assets/rocketchat-DE2CTNeQ.ttf) format("truetype"),url(/assets/rocketchat-DGmzyV9N.svg#RocketChat) format("svg")}.login-box label,.modal-body label,.settings-password-section>label,.settings-emoji-section>label,.settings-theme-section>label,.settings-notification-section>label{display:block;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.02em;color:var(--text-tertiary)}.login-box button,.modal-confirm,.settings-invite-copy,.settings-avatar-upload,.settings-invite-generate,.settings-change-pw-btn,.settings-emoji-upload-btn,.settings-test-notif-btn{background:var(--accent);color:var(--text-white);border:none;border-radius:3px;cursor:pointer;font-family:inherit;font-weight:500;transition:background .15s}.login-box button:active,.modal-confirm:active,.settings-invite-copy:active,.settings-avatar-upload:active,.settings-invite-generate:active,.settings-change-pw-btn:active,.settings-emoji-upload-btn:active,.settings-test-notif-btn:active{background:var(--accent-hover)}.thread-close,.modal-close{background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:.125rem .25rem;line-height:1;border-radius:3px}.thread-close:active,.modal-close:active{color:var(--text-primary);background:var(--bg-active)}.user-avatar,.message .msg-avatar,.settings-avatar-preview,.mention-popup-item .mention-avatar{border-radius:50%;background:var(--accent);display:flex;align-items:center;justify-content:center;font-weight:600;color:var(--text-white);flex-shrink:0;overflow:hidden}.user-avatar img,.message .msg-avatar img,.settings-avatar-preview img{width:100%;height:100%;object-fit:cover}.mention-popup,.emoji-autocomplete-popup,.channel-popup{position:fixed;background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:8px;box-shadow:0 4px 20px var(--shadow-heavy);z-index:70;max-height:240px;overflow-y:auto;padding:4px}.mention-popup-item,.emoji-autocomplete-item,.channel-popup-item{display:flex;align-items:center;gap:8px;padding:6px 10px;border-radius:4px;cursor:pointer}.mention-popup-item:active,.emoji-autocomplete-item:active,.channel-popup-item:active,.mention-popup-item.active,.emoji-autocomplete-item.active,.channel-popup-item.active{background:var(--bg-active)}.emoji-picker,.gif-picker{position:fixed;background:var(--bg-secondary);border-radius:8px;box-shadow:0 4px 20px var(--shadow-heavy);z-index:70;display:flex;flex-direction:column;overflow:hidden}.emoji-picker-search,.gif-picker-search{padding:8px;border-bottom:1px solid var(--border-subtle)}.emoji-picker-search input,.gif-picker-search input{width:100%;padding:6px 10px;font-family:inherit;font-size:.85rem;background:var(--bg-primary);border:1px solid var(--border-subtle);border-radius:6px;color:var(--text-primary);outline:none;box-sizing:border-box}.emoji-picker-search input::placeholder,.gif-picker-search input::placeholder{color:var(--text-secondary)}.emoji-picker-search input:focus,.gif-picker-search input:focus{border-color:var(--accent)}.chat-empty,.emoji-picker-empty,.gif-picker-empty{text-align:center;color:var(--text-secondary);font-size:.85rem;padding:2rem 1rem}@media(hover:hover){.login-box button:hover,.modal-confirm:hover,.settings-invite-copy:hover,.settings-avatar-upload:hover,.settings-invite-generate:hover,.settings-change-pw-btn:hover,.settings-emoji-upload-btn:hover,.settings-test-notif-btn:hover{background:var(--accent-hover)}.thread-close:hover,.modal-close:hover{color:var(--text-primary);background:var(--bg-active)}.mention-popup-item:hover,.emoji-autocomplete-item:hover,.channel-popup-item:hover{background:var(--bg-active)}}.loading{display:flex;align-items:center;justify-content:center;padding:2rem;color:var(--text-secondary);font-size:.85rem;gap:.5rem}.spinner{width:20px;height:20px;border:2px solid var(--border-subtle);border-top-color:var(--accent);border-radius:50%;animation:spin .6s linear infinite}.chat-messages-loading-top{display:flex;justify-content:center;padding:.5rem 0}body.login-page{display:flex;align-items:center;justify-content:center;background:var(--accent);overflow:auto}#app.login-view{width:100%;max-width:480px;padding:1rem}.login-box{background:var(--bg-primary);border-radius:4px;padding:2rem;box-shadow:0 2px 10px var(--shadow-medium);text-align:center}.login-box h1{font-size:1.5rem;font-weight:600;color:var(--text-heading);margin-bottom:.25rem}.login-box .subtitle{color:var(--text-tertiary);font-size:.9rem;margin-bottom:1.25rem}.login-box .error{background:var(--error-bg);color:var(--error);font-size:.85rem;padding:.6rem .75rem;border-radius:4px;margin-bottom:1rem;text-align:left}.login-box .success{background:color-mix(in srgb,var(--success) 15%,var(--bg-primary));color:var(--success);font-size:.85rem;padding:.6rem .75rem;border-radius:4px;margin-bottom:1rem;text-align:left}.login-box .field{text-align:left;margin-bottom:1.25rem}.login-box label{margin-bottom:.5rem}.login-box label.required:after{content:" *";color:var(--error)}.login-box input{width:100%;padding:.625rem;font-family:inherit;font-size:1rem;background:var(--bg-input);color:var(--text-primary);border:none;border-radius:3px;outline:none;transition:box-shadow .15s}.login-box input:focus{box-shadow:0 0 0 2px var(--accent)}.login-box input::placeholder{color:var(--text-placeholder)}.login-box button{width:100%;padding:.7rem;margin-top:.25rem;font-size:1rem}.login-box button:active{background:var(--accent-active)}.chat-shell{display:flex;position:fixed;inset:0;overflow:hidden}.sidebar{width:240px;background:var(--bg-secondary);border-right:1px solid var(--border);display:flex;flex-direction:column;flex-shrink:0}.sidebar-header{padding:.75rem 1rem;font-size:.95rem;font-weight:600;color:var(--text-heading);border-bottom:1px solid var(--border);box-shadow:0 1px 0 var(--shadow-light)}.channel-list-header{padding:.5rem .75rem .25rem;display:flex;align-items:center;justify-content:space-between;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.02em;color:var(--text-secondary)}.add-channel-btn{background:none;border:none;color:var(--text-secondary);font-size:1.1rem;cursor:pointer;padding:0;line-height:1;width:18px;height:18px;display:flex;align-items:center;justify-content:center;border-radius:3px}.add-channel-btn:active{color:var(--text-primary);background:var(--bg-hover)}.channel-list{flex:1;overflow-y:auto;padding:.25rem .5rem}.channel-item{padding:.4rem .5rem;border-radius:4px;color:var(--text-secondary);font-size:.9rem;cursor:pointer;display:flex;align-items:center}.channel-item.unread{font-weight:700;color:var(--text-heading)}.mention-badge{margin-left:auto;background:var(--accent);color:var(--text-white);font-size:.7rem;font-weight:700;padding:.05rem .4rem;border-radius:9px;line-height:1.3}.channel-item:active:not(.active){background:var(--bg-hover);color:var(--text-primary)}.channel-item:before{content:"# ";font-weight:600}.channel-item.active{background:var(--bg-active);color:var(--text-heading)}.channel-item .mute-indicator{margin-left:.25rem;font-size:.7rem;color:var(--text-secondary);vertical-align:middle}.user-panel{padding:.5rem;background:var(--bg-tertiary);display:flex;align-items:center;justify-content:space-between;gap:.5rem}.user-panel .user-tag{display:flex;align-items:center;gap:.5rem;min-width:0;cursor:pointer;padding:.125rem .25rem;border-radius:4px}.user-panel .user-tag:active{background:var(--bg-hover)}.user-avatar{width:32px;height:32px;font-size:.8rem}.user-panel .username{font-size:.85rem;font-weight:600;color:var(--text-heading);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-panel .logout-btn{font-family:inherit;font-size:.75rem;background:none;color:var(--text-secondary);border:none;padding:.25rem .4rem;border-radius:3px;cursor:pointer;flex-shrink:0}.user-panel .logout-btn:active{color:var(--text-primary);background:var(--bg-active)}.chat-main{flex:1;display:flex;flex-direction:column;min-width:0;background:var(--bg-primary);position:relative}.offline-banner{background:var(--accent);color:var(--text-white);text-align:center;padding:.35rem 1rem;font-size:.85rem;font-weight:600}.chat-header{padding:.75rem 1rem;font-size:.95rem;font-weight:600;color:var(--text-heading);border-bottom:1px solid var(--border);box-shadow:0 1px 0 var(--shadow-light);display:flex;align-items:center;gap:.4rem}.chat-header .hash{color:var(--text-secondary)}.chat-messages{flex:1;overflow-y:auto;padding:1rem 0;display:flex;flex-direction:column}.chat-messages-inner{margin-top:auto;padding:0 1rem}.chat-empty h3{font-size:1.1rem;color:var(--text-heading);margin-bottom:.25rem}.chat-empty p{font-size:.85rem}@media(hover:hover){.add-channel-btn:hover{color:var(--text-primary);background:var(--bg-hover)}.channel-item:hover:not(.active){background:var(--bg-hover);color:var(--text-primary)}.user-panel .user-tag:hover{background:var(--bg-hover)}.user-panel .logout-btn:hover{color:var(--text-primary);background:var(--bg-active)}}.modal-overlay{position:fixed;inset:0;background:var(--overlay);display:flex;align-items:center;justify-content:center;z-index:50}.modal{background:var(--bg-primary);border-radius:8px;width:440px;max-width:90vw;max-height:80vh;overflow-y:auto;box-shadow:0 4px 20px var(--shadow-heavy)}.modal-header{padding:1rem 1rem .5rem;display:flex;align-items:center;justify-content:space-between}.modal-header h2{font-size:1.1rem;font-weight:600;color:var(--text-heading)}.modal-close{font-size:1.3rem}.modal-body{padding:.75rem 1rem}.modal-body .field{margin-bottom:1rem}.modal-body label{margin-bottom:.5rem}.modal-body input[type=text],.modal-body input[type=password],.modal-body select,.settings-content input[type=text],.settings-content input[type=password]{width:100%}.modal-body p{font-size:.9rem;line-height:1.4;color:var(--text-primary)}.modal-footer{padding:.75rem 1rem 1rem;display:flex;justify-content:flex-end;gap:.5rem}.modal-cancel{font-family:inherit;font-size:.9rem;background:none;color:var(--text-primary);border:none;padding:.5rem 1rem;border-radius:3px;cursor:pointer}.modal-cancel:active{text-decoration:underline}.modal-confirm{font-size:.9rem;padding:.5rem 1rem}.modal-confirm.danger{background:var(--danger)}.modal-confirm.danger:active{background:var(--danger-hover)}@media(hover:hover){.modal-cancel:hover{text-decoration:underline}.modal-confirm.danger:hover{background:var(--danger-hover)}}.context-menu{position:fixed;background:var(--bg-context-menu);border-radius:4px;padding:.375rem;min-width:140px;box-shadow:0 4px 12px var(--shadow-heavy);z-index:60}.context-menu-item{padding:.4rem .5rem;font-size:.85rem;color:var(--text-primary);border-radius:3px;cursor:pointer}.context-menu-item:active{background:var(--accent);color:var(--text-white)}.context-menu-item .submenu-arrow{float:right;margin-left:1rem;color:var(--text-secondary)}.context-menu-item:active .submenu-arrow{color:var(--text-white)}.context-menu-item.has-check:before{content:"✓";font-weight:700}.context-menu-item.danger{color:var(--error)}.context-menu-item.danger:active{background:var(--danger);color:var(--text-white)}@media(hover:hover){.context-menu-item:hover{background:var(--accent);color:var(--text-white)}.context-menu-item:hover .submenu-arrow{color:var(--text-white)}.context-menu-item.danger:hover{background:var(--danger);color:var(--text-white)}}.message{padding:.125rem 0;display:flex;gap:1rem;line-height:1.375;position:relative}.message .msg-avatar{width:40px;height:40px;font-size:.9rem;margin-top:.125rem}.message .msg-body{flex:1;min-width:0}.message .msg-header{display:flex;align-items:baseline;gap:.5rem;line-height:1.375rem;min-height:1.375rem}.message .msg-username{font-weight:600;color:var(--text-heading);font-size:.9rem}.message .msg-timestamp{font-size:.75rem;color:var(--text-secondary)}.message .msg-content{color:var(--text-primary);font-size:.9rem;word-wrap:break-word}.message .msg-content a{color:var(--link);text-decoration:none}.msg-content p{margin:.125rem 0}.msg-content p:first-child{margin-top:0}.msg-content p:last-child{margin-bottom:0}.msg-content code{background:var(--bg-tertiary);padding:.125rem .3rem;border-radius:3px;font-size:.85em;font-family:var(--font-mono)}.msg-content pre{background:var(--bg-tertiary);border:1px solid var(--border-subtle);padding:.5rem .625rem;border-radius:4px;overflow-x:auto;margin:.25rem 0}.msg-content pre code{background:none;padding:0;border-radius:0;font-size:.85em;font-family:var(--font-mono)}.msg-content pre code .hljs-keyword,.msg-content pre code .hljs-selector-tag,.msg-content pre code .hljs-built_in,.msg-content pre code .hljs-name{color:#ff7b72}.msg-content pre code .hljs-string,.msg-content pre code .hljs-attr,.msg-content pre code .hljs-symbol,.msg-content pre code .hljs-bullet{color:#a5d6ff}.msg-content pre code .hljs-number,.msg-content pre code .hljs-literal{color:#79c0ff}.msg-content pre code .hljs-title,.msg-content pre code .hljs-title.function_,.msg-content pre code .hljs-section{color:#d2a8ff}.msg-content pre code .hljs-type,.msg-content pre code .hljs-title.class_{color:#ffa657}.msg-content pre code .hljs-comment,.msg-content pre code .hljs-quote{color:#8b949e;font-style:italic}.msg-content pre code .hljs-meta,.msg-content pre code .hljs-meta .hljs-keyword{color:#79c0ff}.msg-content pre code .hljs-variable,.msg-content pre code .hljs-template-variable{color:#ffa657}.msg-content pre code .hljs-attribute{color:#79c0ff}.msg-content pre code .hljs-regexp{color:#a5d6ff}.msg-content pre code .hljs-addition{color:#aff5b4;background:#3fb95026}.msg-content pre code .hljs-deletion{color:#ffa198;background:#f8514926}.msg-content pre code .hljs-params{color:inherit}.msg-content pre code .hljs-selector-class,.msg-content pre code .hljs-selector-id,.msg-content pre code .hljs-selector-pseudo{color:#7ee787}.msg-content pre,.msg-edit-textarea{-webkit-user-select:text;user-select:text}.code-block-wrapper{position:relative}.code-copy-btn{position:absolute;top:4px;right:4px;background:var(--bg-secondary);border:1px solid var(--border-subtle);color:var(--text-secondary);border-radius:4px;padding:2px 6px;font-size:.75rem;cursor:pointer;opacity:0;transition:opacity .15s}.msg-content blockquote{border-left:3px solid var(--border-subtle);padding-left:.625rem;color:var(--text-secondary);margin:.25rem 0}.msg-content ul,.msg-content ol{padding-left:1.5rem;margin:.25rem 0}.msg-content table{border-collapse:collapse;margin:.25rem 0}.msg-content th,.msg-content td{border:1px solid var(--border-subtle);padding:.25rem .5rem;font-size:.85rem}.msg-content th{background:var(--bg-tertiary)}.msg-content hr{border:none;border-top:1px solid var(--border-subtle);margin:.375rem 0}.msg-content img:not(.emoji-custom-inline){max-width:100%;max-height:400px;object-fit:contain;border:1px solid var(--border-subtle);border-radius:4px}.message .msg-media{margin-top:.25rem}.message .msg-media img{max-width:min(400px,100%);max-height:300px;border:1px solid var(--border-subtle);border-radius:8px;cursor:pointer;display:block;margin-top:.25rem}.media-collapse-toggle{display:inline-flex;align-items:center;gap:4px;background:none;border:none;color:var(--text-secondary);font-family:inherit;font-size:.75rem;cursor:pointer;padding:2px 4px;border-radius:3px}.media-collapse-toggle:active{color:var(--text-primary);background:var(--bg-active)}.message .media-collapsed>*:not(.media-collapse-toggle){display:none}.image-embed{margin-top:.25rem}.image-embed img{max-width:min(400px,100%);max-height:300px;border:1px solid var(--border-subtle);border-radius:8px;cursor:pointer;display:block;margin-top:.25rem}.message .msg-reply-count{font-size:.75rem;color:var(--link);cursor:pointer;margin-top:.125rem}.msg-edited{font-size:.75rem;color:var(--text-secondary)}.msg-edit-textarea{width:100%;background:var(--bg-input);border:1px solid var(--accent);border-radius:4px;color:var(--text-primary);font-family:inherit;font-size:.9rem;padding:.5rem;resize:none;outline:none;line-height:1.375;max-height:200px}.msg-edit-actions{display:flex;gap:.375rem;margin-top:.25rem}.msg-edit-actions button{font-family:inherit;font-size:.75rem;padding:.2rem .5rem;border:none;border-radius:3px;cursor:pointer}.msg-edit-actions .edit-save-btn{background:var(--accent);color:var(--text-white)}.msg-edit-actions .edit-save-btn:active{background:var(--accent-hover)}.msg-edit-actions .edit-cancel-btn{background:none;color:var(--text-secondary)}.msg-edit-actions .edit-cancel-btn:active{color:var(--text-primary)}.message-highlight{animation:message-highlight-fade 2s ease-out}@keyframes message-highlight-fade{0%{background:#ffc8324d}to{background:transparent}}.message-grouped{padding-top:0}.message-grouped .msg-avatar{visibility:hidden;width:40px;height:0}.typing-indicator,.catching-up{padding:0 1rem;font-size:.75rem;color:var(--text-secondary);height:1.25rem;line-height:1.25rem;flex-shrink:0}@media(hover:hover){.message:hover{background:var(--bg-message-hover)}.message .msg-content a:hover{text-decoration:underline}.code-block-wrapper:hover .code-copy-btn{opacity:1}.media-collapse-toggle:hover{color:var(--text-primary);background:var(--bg-active)}.message .msg-reply-count:hover{text-decoration:underline}.msg-edit-actions .edit-save-btn:hover{background:var(--accent-hover)}.msg-edit-actions .edit-cancel-btn:hover{color:var(--text-primary)}}.msg-reactions{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}.reaction-btn{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;font-size:.85rem;font-family:inherit;background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:6px;color:var(--text-primary);cursor:pointer;line-height:1.4}.reaction-btn:active{background:var(--bg-hover);border-color:var(--accent)}.reaction-btn.reacted{background:var(--accent-faint);border-color:var(--accent)}.reaction-count{font-size:.75rem;color:var(--text-tertiary)}.reaction-btn.reacted .reaction-count{color:var(--accent)}.reaction-toolbar{display:none;position:absolute;top:-14px;right:16px;background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:6px;padding:2px;gap:0;z-index:5;box-shadow:0 2px 8px var(--overlay-lighter)}.reaction-toolbar-btn{width:30px;height:28px;display:flex;align-items:center;justify-content:center;background:none;border:none;border-radius:4px;cursor:pointer;font-size:1.1rem;padding:0;color:var(--text-primary)}.reaction-toolbar-btn:active{background:var(--bg-active)}.reaction-toolbar-plus{font-size:1rem;color:var(--text-secondary);border-left:1px solid var(--border-subtle);border-radius:0 4px 4px 0}.reaction-toolbar-plus:active{color:var(--text-primary)}.reaction-toolbar-more{font-size:1rem;color:var(--text-secondary);border-left:1px solid var(--border-subtle);border-radius:0 4px 4px 0}.reaction-toolbar-more:active{color:var(--text-primary)}@media(hover:hover){.reaction-btn:hover{background:var(--bg-hover);border-color:var(--accent)}.message:hover .reaction-toolbar{display:flex}.reaction-toolbar-btn:hover{background:var(--bg-active)}.reaction-toolbar-plus:hover,.reaction-toolbar-more:hover{color:var(--text-primary)}}.emoji-picker{width:352px;max-height:420px}.emoji-picker-category-bar{display:flex;padding:4px 8px;gap:2px;border-bottom:1px solid var(--border-subtle)}.emoji-picker-category-btn{width:32px;height:28px;display:flex;align-items:center;justify-content:center;background:none;border:none;border-bottom:2px solid transparent;border-radius:4px 4px 0 0;cursor:pointer;font-size:1rem;padding:0;flex-shrink:0}.emoji-picker-category-btn.active{border-bottom-color:var(--accent)}.emoji-picker-category-btn:active:not(.active){background:var(--bg-active)}.emoji-picker-body{flex:1;overflow-y:auto;padding:0 8px 8px}.emoji-picker-section-header{position:sticky;top:0;background:var(--bg-secondary);font-size:.75rem;font-weight:600;color:var(--text-secondary);padding:6px 0 4px;text-transform:uppercase;letter-spacing:.03em;z-index:1}.emoji-picker-grid{display:grid;grid-template-columns:repeat(8,1fr);gap:2px}.emoji-picker-item{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:none;border:none;border-radius:4px;cursor:pointer;font-size:1.3rem;padding:0}.emoji-picker-item img{width:28px;height:28px;object-fit:contain}.emoji-picker-item:active{background:var(--bg-active)}.emoji-custom-inline{width:22px;height:22px;vertical-align:middle;object-fit:contain;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}@media(hover:hover){.emoji-picker-category-btn:hover:not(.active){background:var(--bg-active)}.emoji-picker-item:hover{background:var(--bg-active)}}.thread-panel{width:420px;flex-shrink:0;background:var(--bg-secondary);border-left:1px solid var(--border);display:flex;flex-direction:column}.thread-header{padding:.75rem 1rem;font-size:.95rem;font-weight:600;color:var(--text-heading);border-bottom:1px solid var(--border);box-shadow:0 1px 0 var(--shadow-light);display:flex;align-items:center;justify-content:space-between}.thread-close{font-size:1.2rem}.thread-messages{flex:1;overflow-y:auto;padding:1rem 0;display:flex;flex-direction:column}.thread-messages .chat-messages-inner{margin-top:auto;padding:0 1rem}.thread-divider{padding:.5rem 1rem;font-size:.75rem;font-weight:600;color:var(--text-secondary);display:flex;align-items:center;gap:.5rem}.thread-divider:after{content:"";flex:1;height:1px;background:var(--border-subtle)}.thread-input-bar{padding:0 1rem 1.5rem;flex-shrink:0}.thread-panel .message .msg-media img{max-width:min(300px,100%);max-height:200px;border:1px solid var(--border-subtle)}.channel-popup{z-index:1000}.mention-popup-item .mention-avatar{width:24px;height:24px;font-size:.75rem;font-weight:700;object-fit:cover}.mention-popup-item img.mention-avatar{background:none}.mention-popup-item .mention-name{font-weight:600;font-size:.85rem;color:var(--text-heading)}.mention-popup-item .mention-username{font-size:.8rem;color:var(--text-secondary)}.emoji-autocomplete-item .emoji-autocomplete-preview{width:24px;height:24px;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:1.2rem;object-fit:contain}.emoji-autocomplete-item img.emoji-autocomplete-preview{border-radius:2px}.emoji-autocomplete-item .emoji-autocomplete-name{font-size:.85rem;color:var(--text-heading)}.mention{color:color-mix(in srgb,var(--accent) 55%,white);background:color-mix(in srgb,var(--accent) 15%,transparent);border-radius:3px;padding:0 2px;font-weight:600}.channel-mention{color:var(--accent);background:color-mix(in srgb,var(--accent) 15%,transparent);border-radius:3px;padding:0 2px;font-weight:600;cursor:pointer;text-decoration:none}.channel-popup-item{gap:4px}.channel-popup-item .channel-popup-hash{color:var(--text-secondary);font-weight:600}.channel-popup-item .channel-popup-name{font-weight:600;font-size:.85rem;color:var(--text-heading)}.timestamp-tag{color:var(--accent);background:color-mix(in srgb,var(--accent) 15%,transparent);border-radius:3px;padding:0 3px;font-weight:600;cursor:default}@media(hover:hover){.channel-mention:hover{text-decoration:underline}}.gif-picker{width:400px;max-width:calc(100vw - 16px);max-height:480px}.gif-picker-body{flex:1;overflow-y:auto;padding:8px}.gif-picker-section-header{font-size:.75rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;padding:4px 0 8px}.gif-picker-grid{columns:2;column-gap:6px}.gif-picker-item{display:block;width:100%;padding:0;margin:0 0 6px;border:none;background:none;cursor:pointer;border-radius:6px;overflow:hidden;break-inside:avoid}.gif-picker-item img{display:block;width:100%;height:auto;border-radius:6px}.gif-picker-item:active{opacity:.8}.gif-picker-empty{padding:32px 8px}.gif-picker-attribution{padding:4px 8px;text-align:right;border-top:1px solid var(--border-subtle)}.gif-picker-attribution a{color:var(--text-secondary);font-size:.7rem;text-decoration:none}.gif-picker-attribution a:active{color:var(--text-primary)}.chat-input-wrap .gif-btn{background:none;border:none;color:var(--text-tertiary);font-size:1.25rem;cursor:pointer;padding:.55rem .75rem;line-height:1;flex-shrink:0}.chat-input-wrap .gif-btn:active{color:var(--text-primary)}@media(hover:hover){.gif-picker-item:hover{opacity:.8}.gif-picker-attribution a:hover,.chat-input-wrap .gif-btn:hover{color:var(--text-primary)}}#image-viewer-overlay{position:fixed;inset:0;background:var(--overlay-heavy);z-index:100;display:flex;align-items:center;justify-content:center}.image-viewer-img{max-width:calc(100vw - 2rem);max-height:calc(100vh - 2rem);object-fit:contain}.image-viewer-toolbar{position:absolute;top:1rem;right:1rem;display:flex;gap:.25rem}.image-viewer-btn{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:var(--bg-viewer-btn);border:none;border-radius:4px;color:var(--text-white);font-size:1.25rem;cursor:pointer}.image-viewer-btn:active{background:var(--bg-viewer-btn-hover)}@media(hover:hover){.image-viewer-btn:hover{background:var(--bg-viewer-btn-hover)}}.call-overlay{position:fixed;inset:0;background:#000000f2;z-index:1000;display:flex;flex-direction:column;color:#fff}.call-header{display:flex;align-items:center;justify-content:center;gap:1rem;padding:.75rem 1rem;flex-shrink:0}.call-channel-name{font-size:.9rem;font-weight:600;color:#ffffffb3}.call-timer{font-size:.85rem;font-family:monospace;color:#ffffff80}.call-body{display:flex;flex:1;overflow:hidden;position:relative}.call-grid{flex:1;display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:.5rem;padding:.5rem;align-content:center;align-items:center;justify-items:center;overflow:hidden}.call-grid.has-screen-share{grid-template-columns:1fr auto;grid-template-rows:1fr;align-content:stretch}.call-tile-screen{aspect-ratio:auto;height:100%;background:#000}.call-tile-screen .call-video{object-fit:contain}.call-sidebar{display:flex;flex-direction:column;gap:.5rem;width:200px;overflow-y:auto}.call-sidebar .call-tile{aspect-ratio:4 / 3;flex-shrink:0}.call-grid.mobile-screen-share{grid-template-columns:1fr;grid-template-rows:1fr auto;position:relative}.call-grid.mobile-screen-share .call-tile-screen{height:100%;aspect-ratio:auto}.call-mobile-view-toggle{position:absolute;bottom:.5rem;right:.5rem;background:#fff3;color:#fff;border:none;border-radius:1rem;padding:.35rem .75rem;font-size:.75rem;font-weight:500;cursor:pointer;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1}.call-mobile-view-toggle:hover{background:#ffffff4d}.call-control-btn.active{background:#43b581}.call-control-btn.active:hover{background:#3ca374}.call-tile{position:relative;aspect-ratio:16 / 9;width:100%;background:#1a1a2e;border-radius:8px;overflow:hidden;display:flex;align-items:center;justify-content:center}.call-video{width:100%;height:100%;object-fit:cover}.call-video.mirrored{transform:scaleX(-1)}.call-avatar{width:64px;height:64px;border-radius:50%;background:var(--accent, #5865f2);display:flex;align-items:center;justify-content:center;font-size:1.5rem;font-weight:600;color:#fff}.call-volume-slider{position:absolute;bottom:1.4rem;left:0;right:0;padding:0 .4rem;z-index:2;opacity:0;transition:opacity .15s}.call-tile:hover .call-volume-slider{opacity:1}.call-volume-slider input[type=range]{-webkit-appearance:none;appearance:none;width:100%;height:4px;border-radius:2px;background:#ffffff40;outline:none;cursor:pointer}.call-volume-slider input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:12px;height:12px;border-radius:50%;background:#fff;cursor:pointer}.call-volume-slider input[type=range]::-moz-range-thumb{width:12px;height:12px;border-radius:50%;background:#fff;border:none;cursor:pointer}.call-tile-label{position:absolute;bottom:0;left:0;right:0;padding:.25rem .5rem;background:linear-gradient(transparent,#000000b3);font-size:.8rem;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.call-mute-indicator{position:absolute;top:.4rem;right:.4rem;background:#0009;border-radius:50%;width:24px;height:24px;display:flex;align-items:center;justify-content:center;font-size:.75rem;color:#f04747}.call-controls{display:flex;align-items:center;justify-content:center;gap:1rem;padding:1rem;flex-shrink:0}.call-control-btn{width:48px;height:48px;border-radius:50%;border:none;background:#ffffff26;color:#fff;font-size:1.2rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s}.call-control-btn:hover{background:#ffffff40}.call-control-btn.muted{background:#f04747}.call-control-btn.muted:hover{background:#d63c3c}.call-leave-btn{background:#f04747}.call-leave-btn:hover{background:#d63c3c}.start-call-btn{margin-left:auto;background:none;border:none;color:var(--text-secondary);font-size:1.1rem;cursor:pointer;padding:.2rem .4rem;border-radius:4px;display:flex;align-items:center;justify-content:center}.start-call-btn:hover{color:var(--text-primary);background:var(--bg-hover)}.call-indicator{margin-left:auto;display:inline-flex;align-items:center;gap:.2rem;color:#43b581;font-size:.7rem;cursor:pointer;padding:.1rem .3rem;border-radius:3px;flex-shrink:0}.call-indicator:hover{background:#43b58126}.call-indicator .rc-icon{font-size:.7rem}.call-indicator-count{font-weight:600;font-size:.65rem}.call-error-toast{position:absolute;top:3.5rem;left:50%;transform:translate(-50%);background:#f04747e6;color:#fff;padding:.5rem 1rem;border-radius:6px;font-size:.8rem;white-space:nowrap;z-index:1001;animation:call-toast-fade 4s ease-in-out forwards}@keyframes call-toast-fade{0%{opacity:0;transform:translate(-50%) translateY(-4px)}10%{opacity:1;transform:translate(-50%) translateY(0)}80%{opacity:1}to{opacity:0}}.call-chat-panel{width:320px;display:flex;flex-direction:column;border-left:1px solid rgba(255,255,255,.1);background:#0009;flex-shrink:0}.call-panel-tabs{display:flex;align-items:center;border-bottom:1px solid rgba(255,255,255,.1);flex-shrink:0}.call-panel-tab{flex:1;display:flex;align-items:center;justify-content:center;gap:.3rem;padding:.55rem .5rem;background:none;border:none;border-bottom:2px solid transparent;color:#ffffff80;font-size:.8rem;font-weight:500;cursor:pointer;transition:color .15s,border-color .15s}.call-panel-tab:hover{color:#fffc}.call-panel-tab.active{color:#fff;border-bottom-color:#5865f2}.call-participants-list{flex:1;overflow-y:auto;padding:.4rem 0}.call-participant-row{display:flex;align-items:center;padding:.4rem .75rem;gap:.5rem}.call-participant-row:hover{background:#ffffff0d}.call-participant-name{flex:1;font-size:.85rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.call-participant-controls{display:flex;gap:.25rem;flex-shrink:0}.call-participant-btn{background:none;border:none;color:#fff9;cursor:pointer;width:28px;height:28px;border-radius:4px;display:flex;align-items:center;justify-content:center;font-size:.85rem}.call-participant-btn:hover{background:#ffffff1a;color:#fff}.call-participant-btn.off{color:#f04747}.call-participant-btn.off:hover{background:#f0474733}.call-chat-close{background:none;border:none;color:#fff9;cursor:pointer;font-size:1rem;padding:.15rem;display:flex;align-items:center}.call-chat-close:hover{color:#fff}.call-chat-messages{flex:1;overflow-y:auto;padding:.5rem}.call-chat-messages .message{padding:.2rem .4rem}.call-chat-messages .msg-avatar{width:24px;height:24px;font-size:.7rem}.call-chat-messages .msg-avatar img{width:24px;height:24px}.call-chat-messages .msg-header{font-size:.8rem}.call-chat-messages .msg-content{font-size:.85rem}.call-chat-input-bar{display:flex;align-items:flex-end;gap:.4rem;padding:.5rem;border-top:1px solid rgba(255,255,255,.1);flex-shrink:0}.call-chat-input-bar textarea{flex:1;background:#ffffff1a;border:none;border-radius:6px;color:#fff;padding:.4rem .6rem;font-size:.85rem;font-family:inherit;resize:none;line-height:1.3;max-height:80px}.call-chat-input-bar textarea::placeholder{color:#fff6}.call-chat-input-bar textarea:focus{outline:none;background:#ffffff26}.call-chat-send{background:none;border:none;color:#fff9;cursor:pointer;font-size:1.1rem;padding:.3rem;display:flex;align-items:center}.call-chat-send:hover{color:#fff}.call-chat-badge{position:absolute;top:-4px;right:-4px;background:#f04747;color:#fff;font-size:.65rem;font-weight:700;min-width:16px;height:16px;border-radius:8px;display:flex;align-items:center;justify-content:center;padding:0 4px;line-height:1}#call-chat-btn{position:relative}@media(max-width:768px){.call-grid{grid-template-columns:1fr;padding:.25rem;gap:.25rem}.call-tile{aspect-ratio:4 / 3}.call-volume-slider{opacity:1}.call-controls{padding:.75rem;gap:.75rem}#call-participants-btn{display:none}.call-control-btn{width:44px;height:44px;font-size:1.1rem}.call-chat-panel{position:absolute;inset:0;width:100%;z-index:10;background:#000000f2;border-left:none}}.link-previews{display:flex;flex-direction:column;gap:6px;margin-top:4px}.link-preview{position:relative;display:flex;gap:12px;background:var(--bg-secondary);border-left:4px solid var(--accent);border-radius:4px;padding:10px 12px;max-width:520px;overflow:hidden}.link-preview-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.link-preview-site{font-size:.75rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.02em}.link-preview-title{font-size:.9rem;font-weight:600;color:var(--link);text-decoration:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.link-preview-desc{font-size:.8rem;color:var(--text-tertiary);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.3}.link-preview-image{width:80px;height:80px;object-fit:cover;border-radius:4px;flex-shrink:0}.link-preview-dismiss{position:absolute;top:4px;right:4px;background:var(--bg-tertiary);border:none;color:var(--text-secondary);cursor:pointer;border-radius:4px;width:22px;height:22px;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .15s;padding:0;font-size:.7rem}.link-preview-dismiss:active{background:var(--bg-active);color:var(--text-primary)}.youtube-embed{flex-direction:column}.youtube-player{position:relative;width:100%;padding-bottom:56.25%}.youtube-player iframe{position:absolute;top:0;left:0;width:100%;height:100%;border-radius:4px}@media(hover:hover){.link-preview-title:hover{text-decoration:underline}.link-preview:hover .link-preview-dismiss{opacity:1}.link-preview-dismiss:hover{background:var(--bg-active);color:var(--text-primary)}}.settings-modal{width:700px;max-width:90vw;max-height:80vh;display:flex;flex-direction:column;overflow-y:hidden}.settings-layout{display:flex;flex:1;overflow:hidden;min-height:0}.settings-tabs{width:160px;flex-shrink:0;background:var(--bg-secondary);display:flex;flex-direction:column;padding:.5rem;gap:2px}.settings-tab{font-family:inherit;font-size:.85rem;font-weight:500;background:none;border:none;color:var(--text-secondary);padding:.5rem .75rem;border-radius:4px;cursor:pointer;text-align:left}.settings-tab:active{background:var(--bg-hover);color:var(--text-primary)}.settings-tab.active{background:var(--bg-active);color:var(--text-heading)}.settings-content{flex:1;overflow-y:auto;padding:.75rem 1rem;min-width:0}.settings-panel{display:none}.settings-panel.active{display:block}.settings-avatar-section{display:flex;align-items:center;gap:1rem;margin-bottom:1.25rem}.settings-avatar-preview{width:72px;height:72px;font-size:1.5rem}.settings-avatar-actions{display:flex;flex-direction:column;gap:.375rem}.settings-invite-section{margin-bottom:1.25rem}.settings-invite-row{display:flex;align-items:center}.settings-invite-result{display:flex;align-items:center;gap:.5rem;margin-top:.5rem}.settings-invite-result input[type=text]{flex:1}.settings-invite-copy{padding:.4rem .75rem;font-size:.85rem;white-space:nowrap}.settings-avatar-upload,.settings-invite-generate{font-size:.8rem;padding:.375rem .75rem}.settings-avatar-remove{font-family:inherit;font-size:.8rem;background:none;color:var(--text-secondary);border:none;padding:.25rem .5rem;cursor:pointer}.settings-avatar-remove:active{color:var(--error)}.settings-color-row{display:flex;align-items:center;gap:.5rem}.settings-color-row input[type=color]{width:36px;height:36px;padding:0;border:2px solid var(--border-subtle);border-radius:4px;background:none;cursor:pointer}.settings-color-row input[type=text]{flex:1}.settings-color-reset{font-family:inherit;font-size:.8rem;background:none;color:var(--text-secondary);border:none;padding:.375rem .5rem;border-radius:3px;cursor:pointer;white-space:nowrap}.settings-color-reset:active{color:var(--text-primary);background:var(--bg-active)}.login-toggle{text-align:center;margin-top:1rem;color:var(--text-secondary);font-size:.85rem}.login-toggle a{color:var(--link);text-decoration:none}.settings-password-section{margin-top:1.25rem;padding-top:1.25rem}.settings-password-section>label{margin-bottom:.75rem}.settings-password-section .field{margin-bottom:.5rem}.settings-password-section input{width:100%;box-sizing:border-box}.settings-password-row{display:flex;align-items:center;gap:.75rem;margin-top:.5rem}.settings-change-pw-btn{padding:.4rem 1rem;font-size:.85rem;white-space:nowrap}.settings-pw-feedback{font-size:.8rem}.settings-pw-feedback.error{color:var(--error-dark)}.settings-pw-feedback.success{color:var(--success)}@media(hover:hover){.settings-tab:hover{background:var(--bg-hover);color:var(--text-primary)}.settings-avatar-remove:hover{color:var(--error)}.settings-color-reset:hover{color:var(--text-primary);background:var(--bg-active)}.login-toggle a:hover{text-decoration:underline}}.settings-theme-section>label{margin-bottom:.75rem}.settings-theme-presets{display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem}.settings-theme-presets .theme-label{width:90px;font-size:.8rem;color:var(--text-tertiary);flex-shrink:0}.settings-theme-preset-select{flex:1;min-width:0}.settings-theme-grid{display:flex;flex-direction:column;gap:.5rem;margin-bottom:.75rem}.settings-theme-row{display:flex;align-items:center;gap:.5rem}.settings-theme-row .theme-label{width:90px;font-size:.8rem;color:var(--text-tertiary);flex-shrink:0}.settings-theme-row input[type=color]{width:32px;height:32px;padding:0;border:2px solid var(--border-subtle);border-radius:4px;background:none;cursor:pointer;flex-shrink:0}.settings-theme-row input[type=text]{flex:1;min-width:0}.settings-theme-row--font input[type=text]{font-size:.8rem}.settings-theme-reset{font-family:inherit;font-size:.8rem;background:none;color:var(--text-secondary);border:1px solid var(--border-subtle);padding:.375rem .75rem;border-radius:3px;cursor:pointer;white-space:nowrap}.settings-theme-reset:active{color:var(--text-primary);background:var(--bg-active)}.settings-theme-actions{display:flex;gap:.5rem}@media(hover:hover){.settings-theme-reset:hover{color:var(--text-primary);background:var(--bg-active)}}.settings-emoji-section>label{margin-bottom:.75rem}.settings-emoji-list{max-height:160px;overflow-y:auto;margin-bottom:.75rem}.settings-emoji-item{display:flex;align-items:center;gap:.5rem;padding:.25rem .375rem;border-radius:4px}.settings-emoji-item:active{background:var(--bg-active)}.settings-emoji-item img{width:24px;height:24px;object-fit:contain}.settings-emoji-item span{flex:1;font-size:.85rem;color:var(--text-primary)}.settings-emoji-delete{background:none;border:none;color:var(--text-secondary);font-size:1rem;cursor:pointer;padding:0 .25rem;line-height:1}.settings-emoji-delete:active{color:var(--error)}.emoji-list-empty{font-size:.85rem;color:var(--text-secondary);padding:.5rem 0}.settings-emoji-upload-row{display:flex;align-items:center;gap:.5rem}.settings-emoji-upload-row input[type=text]{flex:1}.settings-emoji-upload-btn{padding:.4rem .75rem;font-size:.85rem;white-space:nowrap}.emoji-upload-preview{width:24px;height:24px;object-fit:contain;flex-shrink:0;border-radius:4px}.settings-emoji-cancel-btn{font-family:inherit;font-size:.8rem;background:none;color:var(--text-secondary);border:none;padding:.25rem .5rem;cursor:pointer}.settings-emoji-cancel-btn:active{color:var(--error)}@media(hover:hover){.settings-emoji-item:hover{background:var(--bg-active)}.settings-emoji-delete:hover,.settings-emoji-cancel-btn:hover{color:var(--error)}}.settings-notification-section>label{margin-bottom:.75rem}.settings-notification-row{display:flex;align-items:center;gap:.75rem;margin-bottom:.75rem}.settings-notification-label{display:inline-flex!important;align-items:center;gap:.5rem;font-size:.9rem!important;font-weight:500!important;text-transform:none!important;color:var(--text-primary)!important;cursor:pointer;margin-bottom:0!important}.settings-notification-hint{font-size:.8rem;color:var(--text-secondary)}.settings-notification-row select{padding:.4rem .5rem;font-size:.85rem}.settings-test-notif-btn{padding:.4rem .75rem;font-size:.85rem;white-space:nowrap}.user-list-panel{width:200px;flex-shrink:0;background:var(--bg-secondary);border-left:1px solid var(--border);display:flex;flex-direction:column;overflow:hidden}.user-list-header{padding:.75rem 1rem;font-size:.95rem;font-weight:600;color:var(--text-heading);border-bottom:1px solid var(--border);box-shadow:0 1px 0 var(--shadow-light)}.user-list-body{flex:1;overflow-y:auto;padding:.5rem}.user-list-section-label{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.02em;color:var(--text-secondary);padding:.5rem .5rem .25rem}.user-list-item{display:flex;align-items:center;gap:.5rem;padding:.25rem .5rem;border-radius:4px}.user-list-item.offline{opacity:.5}.user-list-avatar{width:24px;height:24px;border-radius:50%;background:var(--accent);display:flex;align-items:center;justify-content:center;font-weight:600;color:var(--text-white);font-size:.65rem;flex-shrink:0;overflow:hidden}.user-list-avatar img{width:100%;height:100%;object-fit:cover}.user-list-status{width:8px;height:8px;border-radius:50%;background:var(--text-secondary);flex-shrink:0}.user-list-status.online{background:var(--success, #3ba55d)}.user-list-name{font-size:.85rem;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.chat-input-bar{padding:0 1rem 1.5rem;flex-shrink:0}.chat-input-wrap{background:var(--bg-input-bar);border:1px solid var(--border-subtle);border-radius:8px;display:flex;align-items:flex-end}.chat-input-field{flex:1;position:relative;min-width:0}.chat-input-field textarea{width:100%;background:none;border:none;outline:none;color:var(--text-primary);font-family:inherit;font-size:.9rem;padding:.7rem 1rem;resize:none;max-height:200px;line-height:1.375}.chat-input-placeholder{position:absolute;left:0;top:0;right:0;padding:.7rem 1rem;font-family:inherit;font-size:.9rem;line-height:1.375;color:var(--text-placeholder);pointer-events:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-input-wrap .attach-btn{background:none;border:none;color:var(--text-tertiary);font-size:1.25rem;cursor:pointer;padding:.55rem .75rem;line-height:1;flex-shrink:0}.chat-input-wrap .attach-btn:active{color:var(--text-primary)}.chat-input-wrap .send-btn{background:none;border:none;color:var(--text-tertiary);font-size:1.25rem;cursor:pointer;padding:.55rem .75rem;line-height:1;flex-shrink:0;display:none}.chat-input-wrap .send-btn:active{color:var(--text-primary)}.upload-preview{padding:.5rem 1rem 0;display:flex;gap:.5rem;flex-wrap:wrap}.upload-preview-item{position:relative;width:120px;height:120px;border:1px solid var(--border-subtle);border-radius:8px;overflow:hidden;background:var(--bg-input)}.upload-preview-item img{width:100%;height:100%;object-fit:cover}.upload-preview-item .upload-overlay{position:absolute;inset:0;background:var(--overlay-medium);display:flex;align-items:center;justify-content:center;color:var(--text-white);font-size:.8rem}.upload-preview-item .remove-upload{position:absolute;top:4px;right:4px;background:var(--bg-input);color:var(--text-primary);border:none;border-radius:50%;width:20px;height:20px;font-size:.75rem;cursor:pointer;display:flex;align-items:center;justify-content:center;line-height:1}.upload-preview-item .remove-upload:active{background:var(--error);color:var(--text-white)}.upload-preview-item.file-card{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.25rem;padding:.5rem;background:var(--bg-secondary)}.upload-preview-item.file-card .file-card-icon{font-size:1.75rem;color:var(--text-secondary);line-height:1}.upload-preview-item.file-card .file-card-name{font-size:.7rem;color:var(--text-primary);text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%;padding:0 .25rem}.file-attachment{display:inline-flex;align-items:center;gap:.5rem;background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:8px;padding:.5rem .75rem;margin-top:.25rem;text-decoration:none;color:var(--text-primary);max-width:100%;cursor:pointer}.file-attachment:active{background:var(--bg-hover)}.file-attachment .rc-icon{color:var(--text-secondary);flex-shrink:0}.file-attachment-name{font-size:.85rem;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.drop-overlay{position:absolute;inset:0;background:var(--accent-faint);border:2px dashed var(--accent);border-radius:8px;display:flex;align-items:center;justify-content:center;color:var(--accent);font-size:1.1rem;font-weight:600;z-index:10;pointer-events:none}@media(hover:hover){.chat-input-wrap .attach-btn:hover,.chat-input-wrap .send-btn:hover{color:var(--text-primary)}.upload-preview-item .remove-upload:hover{background:var(--error);color:var(--text-white)}.file-attachment:hover{background:var(--bg-hover);text-decoration:none}}.action-sheet-overlay{position:fixed;inset:0;background:var(--overlay);z-index:65}.action-sheet{position:fixed;bottom:0;left:0;right:0;background:var(--bg-secondary);border-radius:12px 12px 0 0;z-index:66;transform:translateY(100%);transition:transform .25s ease;max-height:80vh;overflow-y:auto;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.action-sheet.open{transform:translateY(0)}.action-sheet-header{padding:.75rem 1rem;border-bottom:1px solid var(--border-subtle);font-size:.8rem;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.action-sheet-reactions{display:flex;align-items:center;gap:6px;padding:.75rem 1rem;border-bottom:1px solid var(--border-subtle);overflow-x:auto}.action-sheet-reaction-btn{width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:var(--bg-primary);border:1px solid var(--border-subtle);border-radius:8px;cursor:pointer;font-size:1.4rem;flex-shrink:0}.action-sheet-reaction-btn:active{background:var(--bg-active)}.action-sheet-reaction-btn.plus{font-size:1.2rem;color:var(--text-secondary)}.action-sheet-item{display:flex;align-items:center;gap:.75rem;padding:.875rem 1rem;font-size:1rem;color:var(--text-primary);cursor:pointer;width:100%;background:none;border:none;font-family:inherit;text-align:left}.action-sheet-item:active{background:var(--bg-active)}.action-sheet-item .rc-icon{font-size:1.1rem;color:var(--text-secondary);width:1.25rem;text-align:center}.action-sheet-item.danger,.action-sheet-item.danger .rc-icon{color:var(--error)}.reaction-details-overlay{position:fixed;inset:0;background:var(--overlay);z-index:65}.reaction-details{position:fixed;bottom:0;left:0;right:0;background:var(--bg-secondary);border-radius:12px 12px 0 0;z-index:66;transform:translateY(100%);transition:transform .25s ease;max-height:60vh;display:flex;flex-direction:column}.reaction-details.open{transform:translateY(0)}.reaction-details-tabs{display:flex;align-items:center;gap:2px;padding:.5rem .75rem;border-bottom:1px solid var(--border-subtle);overflow-x:auto;flex-shrink:0;-webkit-overflow-scrolling:touch}.reaction-details-tab{display:flex;align-items:center;gap:4px;padding:.4rem .6rem;background:none;border:none;border-bottom:2px solid transparent;border-radius:6px 6px 0 0;cursor:pointer;font-size:1.1rem;flex-shrink:0;color:var(--text-secondary);font-family:inherit}.reaction-details-tab .tab-count{font-size:.8rem}.reaction-details-tab.active{border-bottom-color:var(--accent);color:var(--text-primary)}.reaction-details-tab:active{background:var(--bg-active)}.reaction-details-tab .emoji-custom-inline{width:1.2em;height:1.2em;vertical-align:middle}.reaction-details-users{flex:1;overflow-y:auto;padding:.5rem}.reaction-details-user{display:flex;align-items:center;gap:.75rem;padding:.5rem;border-radius:6px}.reaction-details-avatar{width:32px;height:32px;border-radius:50%;background:var(--accent);display:flex;align-items:center;justify-content:center;font-weight:600;color:var(--text-white);font-size:.8rem;flex-shrink:0;overflow:hidden}.reaction-details-avatar img{width:100%;height:100%;object-fit:cover}.reaction-details-name{font-size:.95rem;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.mobile-header{display:none;padding:.75rem 1rem;background:var(--bg-secondary);border-bottom:1px solid var(--border);align-items:center;gap:.75rem}.hamburger-btn{background:none;border:none;color:var(--text-tertiary);font-size:1.4rem;cursor:pointer;padding:0;line-height:1}.hamburger-btn:active{color:var(--text-primary)}.sidebar-overlay{display:none;position:fixed;inset:0;background:var(--overlay-light);z-index:20}@media(max-width:768px){.sidebar{position:fixed;left:0;top:0;bottom:0;z-index:30;transform:translate(-100%);transition:transform .2s ease}.sidebar.open{transform:translate(0)}.sidebar-overlay.open{display:block}.chat-main{touch-action:pan-y}.mobile-header{display:flex}.chat-header{display:none}.thread-panel{position:fixed;inset:0;width:100%;z-index:15;border-left:none}.settings-modal{width:100%;max-width:100%;height:100%;max-height:100%;border-radius:0}.settings-layout{flex-direction:column}.settings-tabs{width:auto;flex-direction:row;overflow-x:auto;flex-shrink:0;padding:.375rem .5rem;gap:2px}.settings-tab{white-space:nowrap;text-align:center}.settings-content{flex:1;overflow-y:auto}.chat-input-wrap .send-btn{display:flex}.message{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent}.message:hover{background:none}.message:hover .reaction-toolbar{display:none}.code-copy-btn,.link-preview-dismiss{opacity:1}.gif-picker,.emoji-picker{width:calc(100vw - 16px);max-height:60vh;left:8px!important;bottom:8px!important;top:auto!important}.user-list-panel{display:none}}@media(hover:hover){.hamburger-btn:hover{color:var(--text-primary)}}
