@layer base{*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--chat);color:var(--text);font-family:Pretendard Variable,-apple-system,BlinkMacSystemFont,Segoe UI,Apple SD Gothic Neo,Noto Sans KR,sans-serif;font-size:var(--fs-14)}button,input{font-family:inherit}::-webkit-scrollbar{width:12px}::-webkit-scrollbar-thumb{background:color-mix(in srgb, var(--hairline) 75%, var(--text));background-clip:padding-box;border:2px solid #0000;border-radius:999px}::-webkit-scrollbar-track{background:0 0}}@layer ds{.ds-btn{white-space:nowrap;cursor:pointer;font-family:inherit;font-weight:var(--fw-500);border:none;flex:none;justify-content:center;align-items:center;gap:4px;display:inline-flex}.ds-btn:disabled{opacity:.55;cursor:default}.ds-btn.ds-sm{font-size:var(--fs-11);border-radius:var(--radius-sm);padding:4px 6px}.ds-btn.ds-md{font-size:var(--fs-13);padding:8px var(--space-4);border-radius:var(--radius-md)}.ds-btn.ds-primary{background:var(--ds-accent);color:var(--ds-on-accent);font-weight:var(--fw-600)}.ds-btn.ds-primary:hover:not(:disabled){background:var(--ds-accent-hover)}.ds-btn.ds-ghost{color:var(--ds-faint);background:0 0}.ds-btn.ds-ghost:hover:not(:disabled){color:var(--ds-text);background:var(--ds-raised)}.ds-btn.ds-outline{background:var(--ds-surface);border:1px solid var(--ds-hairline);color:var(--ds-muted)}.ds-btn.ds-outline:hover:not(:disabled){background:var(--ds-raised);color:var(--ds-text)}.ds-btn.ds-danger{background:var(--ds-danger);color:var(--ds-on-accent);font-weight:var(--fw-600)}.ds-btn.ds-danger:hover:not(:disabled){filter:brightness(.92)}.ds-iconbtn{cursor:pointer;color:var(--ds-faint);border-radius:var(--radius-sm);background:0 0;border:none;flex:none;justify-content:center;align-items:center;display:inline-flex}.ds-iconbtn:hover:not(:disabled){color:var(--ds-text);background:var(--ds-raised)}.ds-iconbtn:disabled{opacity:.55;cursor:default}.ds-iconbtn.ds-sm{width:24px;height:24px}.ds-iconbtn.ds-md{width:30px;height:30px}.ds-modal-overlay{z-index:100;background:#0000008c;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.ds-modal-card{background:var(--ds-surface);width:360px;max-width:calc(100vw - 32px);max-height:calc(100vh - 64px);color:var(--ds-text);border-radius:var(--radius-lg);overflow-y:auto;box-shadow:0 12px 40px #0006}.ds-modal-card.ds-wide{width:520px}.ds-modal-head{padding:var(--space-3) var(--space-4);font-weight:var(--fw-600);border-bottom:1px solid var(--ds-hairline);justify-content:space-between;align-items:center;display:flex}.ds-modal-body{padding:var(--space-4)}.ds-field{border-radius:var(--radius-sm);background:var(--ds-wash);width:100%;color:var(--ds-text);font-size:var(--fs-13);border:none;padding:8px 10px;font-family:inherit}.ds-field::placeholder{color:var(--ds-faint)}.ds-dialog-msg+form .ds-field{margin-top:var(--space-3)}.ds-dialog-msg{font-size:var(--fs-13);color:var(--ds-text);white-space:pre-wrap;line-height:1.5}.ds-dialog-actions{justify-content:flex-end;gap:var(--space-2);margin-top:var(--space-4);display:flex}.ds-tabs{gap:var(--space-4);border-bottom:1px solid var(--ds-hairline);display:flex}.ds-tab{font-size:var(--fs-13);color:var(--ds-muted);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px;padding:8px 2px;font-family:inherit}.ds-tab:hover{color:var(--ds-text)}.ds-tab.active{color:var(--ds-text);font-weight:var(--fw-600);border-bottom-color:var(--ds-accent)}.ds-text-title{font-size:var(--fs-20);font-weight:var(--fw-600);letter-spacing:-.01em;color:var(--ds-text);margin:0}.ds-text-body{font-size:var(--fs-14);color:var(--ds-text);margin:0}.ds-text-label{font-size:var(--fs-12);font-weight:var(--fw-500);color:var(--ds-muted)}.ds-text-caption{font-size:var(--fs-11);color:var(--ds-faint)}.ds-img{object-fit:cover;max-width:100%;display:block}.ds-link{color:var(--ds-accent);text-decoration:none}.ds-link:hover{text-decoration:underline}.ds-badge{text-align:center;min-width:18px;font-size:var(--fs-11);font-weight:var(--fw-600);background:var(--ds-faint);color:var(--ds-surface);border-radius:9px;flex:none;padding:1px 5px}.ds-badge.ds-mention{background:var(--ds-danger);color:var(--ds-on-accent)}.ds-presence-dot{background:var(--ds-faint);opacity:.4;border-radius:50%;flex:none;width:9px;height:9px}.ds-presence-dot.on{background:var(--ds-success);opacity:1}.ds-empty{color:var(--ds-faint);padding:0 var(--space-4)}.ds-toast-region{align-items:center;gap:var(--space-2);z-index:200;pointer-events:none;flex-direction:column;display:flex;position:fixed;bottom:24px;left:50%;transform:translate(-50%)}.ds-toast{background:var(--ds-surface);color:var(--ds-text);border:1px solid var(--ds-hairline);border-radius:var(--radius-md);padding:9px var(--space-4);font-size:var(--fs-13);animation:.16s ease-out ds-toast-in;box-shadow:0 6px 24px #00000040}@keyframes ds-toast-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.ds-menu{z-index:300;background:var(--ds-surface);border:1px solid var(--ds-hairline);border-radius:8px;min-width:200px;max-width:300px;padding:5px;position:fixed;box-shadow:0 8px 28px #0000004d}.ds-menu-item{width:100%;color:var(--ds-text);font-size:var(--fs-13);text-align:left;cursor:pointer;background:0 0;border:none;border-radius:5px;align-items:center;gap:8px;padding:6px 10px;display:flex}.ds-menu-item:hover,.ds-menu-item:focus-visible{background:var(--ds-accent);color:var(--ds-on-accent);outline:none}.ds-menu-item:hover .ds-menu-ic,.ds-menu-item:hover .ds-menu-check,.ds-menu-item:focus-visible .ds-menu-ic,.ds-menu-item:focus-visible .ds-menu-check{color:var(--ds-on-accent)}.ds-menu-item.ds-danger{color:var(--ds-danger)}.ds-menu-item.ds-danger:hover,.ds-menu-item.ds-danger:focus-visible{background:var(--ds-danger);color:var(--ds-on-accent)}.ds-menu-ic{color:var(--ds-faint);display:inline-flex}.ds-menu-item.ds-danger .ds-menu-ic{color:var(--ds-danger)}.ds-menu-label{white-space:nowrap;text-overflow:ellipsis;flex:1;overflow:hidden}.ds-menu-check{color:var(--ds-accent);font-size:var(--fs-11)}.ds-menu-sep{background:var(--ds-hairline);height:1px;margin:5px 4px}@media (prefers-reduced-motion:reduce){.ds-toast{animation:none}}}@font-face{font-family:Pretendard Variable;font-weight:45 920;font-style:normal;font-display:swap;src:url(/fonts/PretendardVariable.woff2)format("woff2-variations")}.app-frame{background:var(--rail);flex-direction:column;min-width:760px;height:100vh;display:flex}body{overflow-x:hidden}.topbar{flex:none;align-items:center;height:44px;padding-right:10px;display:flex}.topbar-spacer{flex:1 1 0}.topbar-spacer.left{min-width:calc(var(--sidebar-w,240px) + 65px - 96px)}.topbar.with-rail .topbar-spacer.left{min-width:calc(var(--sidebar-w,240px) + 121px - 96px)}.topbar-nav{margin-right:var(--space-2);flex:none;align-items:center;gap:2px;display:flex}.topbar-nav-btn{border-radius:var(--radius-sm);width:28px;height:28px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;display:inline-flex}.topbar-nav-btn:hover:not(:disabled),.topbar-nav-btn.active{color:var(--text);background:var(--surface-hover)}.topbar-nav-btn:disabled{opacity:.35;cursor:default}.hist{display:inline-flex;position:relative}.hist-pop{background:var(--surface);border:1px solid var(--hairline);border-radius:var(--radius-md);z-index:10;width:280px;max-height:420px;padding:var(--space-2);position:absolute;top:calc(100% + 6px);left:0;overflow-y:auto;box-shadow:0 8px 24px #00000073}.topbar .search{flex:0 720px;min-width:200px}.topbar .search-box{background:var(--surface);width:100%;height:32px}.topbar-intel{border:1px solid var(--hairline);color:var(--accent);font-size:var(--fs-13);font-weight:var(--fw-600);border-radius:999px;flex:none;align-items:center;gap:6px;padding:5px 12px;text-decoration:none;transition:background .15s,border-color .15s;display:inline-flex}.topbar-intel:hover{background:var(--surface-hover);border-color:var(--accent)}.desktop-mac .topbar{-webkit-app-region:drag}.desktop-mac .topbar .search,.desktop-mac .topbar-nav,.desktop-mac .topbar-intel{-webkit-app-region:no-drag}.titlebar-drag{display:none}.desktop-mac .titlebar-drag{-webkit-app-region:drag;height:44px;display:block;position:fixed;inset:0 0 auto}.app-body{flex:1;min-height:0;display:flex}.pane-resizer{z-index:3;cursor:col-resize;-webkit-user-select:none;user-select:none;touch-action:none;flex:0 0 5px;margin:0 -2.5px;transition:background .15s .2s}.pane-resizer:hover,.pane-resizer:active{background:var(--accent)}.content-shell{border-radius:var(--radius-lg);border:1px solid var(--hairline);background:var(--chat);flex:1;min-width:0;margin:0 6px 6px 0;display:flex;overflow:hidden}.main{background:var(--chat);flex-direction:column;flex:1;min-width:0;display:flex}.main:has(>.srch.split){flex-direction:row}.srch-context{background:var(--chat);flex-direction:column;flex:1;min-width:0;display:flex}.rail{background:var(--rail);width:56px;padding:var(--space-2) 0;align-items:center;gap:var(--space-2);flex-direction:column;display:flex;overflow-y:auto}.rail-item{cursor:pointer;background:var(--surface);width:36px;height:36px;color:var(--text);font-size:var(--fs-14);font-weight:var(--fw-600);border:none;border-radius:10px;transition:border-radius .15s,background .15s;position:relative}.rail-item:hover,.rail-item.active{border-radius:var(--radius-lg);background:var(--primary);color:var(--on-accent)}.rail-item.active:before{content:"";background:var(--text);border-radius:0 4px 4px 0;width:4px;height:32px;position:absolute;top:50%;left:-10px;transform:translateY(-50%)}.rail-add{color:var(--success);background:var(--surface);font-weight:var(--fw-400)}.rail-add:hover{background:var(--success)}.ws-switch{margin-bottom:var(--space-2);position:relative}.ws-btn{border-radius:var(--radius-md);cursor:pointer;background:var(--primary);width:34px;height:34px;color:var(--on-accent);font-size:var(--fs-14);font-weight:var(--fw-600);border:none}.ws-pop{background:var(--surface);border:1px solid var(--hairline);border-radius:var(--radius-md);min-width:240px;padding:var(--space-2);z-index:30;gap:2px;display:grid;position:absolute;top:0;left:52px;box-shadow:0 8px 24px #0006}.ws-pop-item{align-items:center;gap:var(--space-2);padding:6px var(--space-2);border-radius:var(--radius-sm);color:var(--text);cursor:pointer;text-align:left;font-size:var(--fs-13);background:0 0;border:none;display:flex}.ws-pop-item:hover{background:var(--surface-hover)}.ws-pop-item.on .ws-pop-name{font-weight:var(--fw-600)}.ws-pop-mark{border-radius:var(--radius-sm);background:var(--primary);width:28px;height:28px;color:var(--on-accent);font-weight:var(--fw-600);font-size:var(--fs-13);flex:none;justify-content:center;align-items:center;display:inline-flex}.ws-pop-mark.add{background:var(--surface-hover);color:var(--text-muted);font-weight:var(--fw-400)}.ws-pop-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.ws-pop-key{color:var(--text-faint);font-size:var(--fs-11)}.sidebar{width:var(--sidebar-w,240px);background:var(--surface);flex-direction:column;display:flex}.sidebar-head{height:48px;padding:0 var(--space-4);border-bottom:1px solid var(--hairline);font-weight:var(--fw-600);font-size:var(--fs-14);justify-content:space-between;align-items:center;gap:var(--space-2);flex:none;display:flex}.presence{background:var(--danger);border-radius:50%;flex:none;width:8px;height:8px}.presence.on{background:var(--success)}.channel-list{padding:var(--space-2);flex:1;overflow-y:auto}.sidebar-divider{background:var(--hairline);height:1px;margin:var(--space-2) var(--space-1)}.channel-item{text-align:left;width:100%;padding:0 var(--space-2);border-radius:var(--radius-sm);cursor:pointer;height:32px;color:var(--text-muted);font-size:var(--fs-15);background:0 0;border:none;align-items:center;gap:8px;margin-bottom:1px;display:flex}.channel-item .label{text-overflow:ellipsis;white-space:nowrap;text-align:left;flex:1;overflow:hidden}.channel-item.unread{color:var(--text);font-weight:var(--fw-600)}.channel-item:hover{background:var(--surface-hover);color:var(--text)}.channel-item.active{background:var(--surface-hover);color:var(--text);font-weight:var(--fw-500)}.channel-hash{color:var(--text-faint);justify-content:center;align-items:center;min-width:15px;display:inline-flex}.sb-dm-ava{display:inline-flex;position:relative}.sb-dm-ava .avatar.sm{border-radius:4px;width:20px;height:20px;font-size:.75em}.sb-dm-ava .ds-presence-dot{border:2px solid var(--surface);width:8px;height:8px;position:absolute;bottom:-2px;right:-2px}.sidebar-form{padding:0 var(--space-2) var(--space-2)}.sidebar-input{width:100%;padding:7px var(--space-2);border-radius:var(--radius-sm);background:var(--rail);color:var(--text);font-size:var(--fs-13);border:none}.sidebar-input::placeholder{color:var(--text-faint)}.sidebar-private{font-size:var(--fs-12);color:var(--text-muted);cursor:pointer;align-items:center;gap:6px;margin-top:6px;display:flex}.invite-btn{margin:0 var(--space-2) var(--space-2);padding:7px var(--space-2);border-radius:var(--radius-sm);color:var(--text-muted);font-size:var(--fs-13);cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:6px;display:flex}.invite-btn:hover{background:var(--surface-hover);color:var(--text)}.sidebar-foot{padding:var(--space-2) var(--space-3);background:var(--rail);align-items:center;gap:var(--space-2);display:flex}.sidebar-foot .name{font-size:var(--fs-13);text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.chat-header{align-items:center;gap:var(--space-3);padding:0 var(--space-4);border-bottom:1px solid var(--hairline);flex:none;height:48px;display:flex}.chat-title{align-items:center;gap:var(--space-2);font-weight:var(--fw-600);min-width:90px;display:inline-flex}.chat-title-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.chat-header .ds-btn.ds-sm{border:1px solid var(--hairline);color:var(--text);padding:5px 8px}.chat-header .ds-btn.ds-sm:hover:not(:disabled){color:var(--text-strong);background:var(--surface-hover)}.chat-header [data-tip]{position:relative}.chat-header [data-tip]:hover:after{content:attr(data-tip);z-index:30;white-space:nowrap;border-radius:var(--radius-md);background:var(--surface);border:1px solid var(--hairline);color:var(--text);font-size:var(--fs-12);font-weight:var(--fw-500);padding:6px 10px;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 8px 24px #00000073}.chat-title .hash{color:var(--text-faint);margin-right:4px}.chat-title .ch-ava{flex:none;display:inline-flex;position:relative}.chat-title .ch-ava .ds-presence-dot{box-sizing:border-box;border:2px solid var(--text-faint);background:var(--chat);opacity:1;width:12px;height:12px;position:absolute;bottom:-2px;right:-2px}.chat-title .ch-ava .ds-presence-dot.on{border-color:var(--chat);background:var(--success)}.chat-header .spacer{flex:1}.msg-wrap{flex:1;min-height:0;display:flex;position:relative}.msg-scroll{padding:var(--space-4) 0 var(--space-2);flex-direction:column-reverse;flex:1;margin:0;list-style:none;display:flex;overflow-y:auto}.msg{gap:var(--space-3);padding:2px var(--space-4);display:flex}.msg.head{margin-top:var(--space-3)}.msg:hover{background:#00000012}.msg.hi{background:var(--highlight);box-shadow:inset 2px 0 0 var(--highlight-edge)}.avatar{border-radius:var(--radius-md);width:36px;height:36px;font-weight:var(--fw-600);color:var(--on-accent);font-size:var(--fs-14);object-fit:cover;flex:none;justify-content:center;align-items:center;display:flex}.avatar-gap{flex:none;width:36px}.msg-content{flex:1;min-width:0}.msg-meta{align-items:baseline;gap:var(--space-2);display:flex}.msg-author{font-weight:var(--fw-700);font-size:var(--fs-15);color:var(--text-strong)}.msg-time{color:var(--text-muted);font-size:var(--fs-12)}.msg-body{color:var(--text);font-size:var(--fs-15);word-break:break-word;white-space:pre-wrap;line-height:1.45}.msg-body strong,.thread-msg-body strong,.srch-body strong{font-weight:var(--fw-700)}.date-divider{align-items:center;gap:var(--space-2);padding:var(--space-6) var(--space-4) var(--space-2);color:var(--text-faint);font-size:var(--fs-11);font-weight:var(--fw-600);display:flex}.date-divider:before,.date-divider:after{content:"";background:var(--hairline);flex:1;height:1px}.load-older{margin:var(--space-2) auto;font-size:var(--fs-13);color:var(--text-muted);border:1px solid var(--hairline);border-radius:var(--radius-md);cursor:pointer;background:0 0;padding:5px 14px;display:block}.load-older:hover{color:var(--text);background:var(--surface-hover)}.back-latest{bottom:var(--space-3);right:var(--space-4);font-size:var(--fs-13);font-weight:var(--fw-600);color:var(--on-accent);background:var(--primary);cursor:pointer;border:none;border-radius:14px;padding:6px 14px;position:absolute;box-shadow:0 2px 8px #0006}.back-latest:hover{background:var(--primary-hover)}.composer{padding:0 var(--space-4) var(--space-6);flex:none;position:relative}.composer textarea{padding:10px var(--space-4);color:var(--text);font-size:var(--fs-15);resize:none;background:0 0;border:none;outline:none;flex:none;max-height:200px;font-family:inherit;line-height:1.45;overflow-y:auto}.composer textarea::placeholder{color:var(--text-faint)}.composer-box{border-radius:var(--radius-md);background:var(--input);border:1px solid var(--hairline);flex-direction:column;display:flex}.composer-box:focus-within{border-color:var(--text-faint)}.composer-toolbar{padding:6px var(--space-2) 0;flex-wrap:wrap;align-items:center;gap:2px;display:flex}.fmt-btn{color:var(--text-faint);font-size:var(--fs-13);border-radius:var(--radius-sm);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;width:28px;height:24px;display:inline-flex}.fmt-btn:hover{color:var(--text);background:var(--surface-hover)}.fmt-b{font-weight:var(--fw-600)}.fmt-i{font-style:italic}.fmt-s{text-decoration:line-through}.fmt-sep{background:var(--hairline);width:1px;height:16px;margin:0 4px}.composer-bottom{padding:2px var(--space-2) 6px;align-items:center;gap:2px;display:flex;position:relative}.chrome-btn{color:var(--text-faint);font-size:var(--fs-13);border-radius:var(--radius-sm);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;width:28px;height:26px;display:inline-flex}.chrome-btn:hover:not(:disabled),.chrome-btn.active{color:var(--text);background:var(--surface-hover)}.composer-spacer{flex:1}.send-btn{border-radius:var(--radius-sm);background:var(--success);color:var(--on-accent);width:34px;height:26px;font-size:var(--fs-13);cursor:pointer;border:none;justify-content:center;align-items:center;display:inline-flex}.send-btn:disabled{color:var(--text-faint);cursor:default;background:0 0}.emoji-pop{bottom:calc(100% + 4px);left:var(--space-2);background:var(--surface);border:1px solid var(--hairline);border-radius:var(--radius-md);z-index:5;flex-wrap:wrap;gap:2px;max-width:200px;padding:4px;display:flex;position:absolute;box-shadow:0 -4px 16px #0000004d}.attach-btn{background:var(--surface-hover);width:28px;height:26px;color:var(--text-faint);font-size:var(--fs-13);cursor:pointer;border:none;border-radius:50%;flex:none;justify-content:center;align-items:center;display:inline-flex}.attach-btn:hover:not(:disabled){color:var(--text)}.attach-btn:disabled{opacity:.4;cursor:default}.pending-attachments{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-2);flex-wrap:wrap;display:flex}.pending-chip{border-radius:var(--radius-sm);flex:none;width:56px;height:56px;position:relative;overflow:hidden}.pending-chip img{object-fit:cover;width:100%;height:100%;display:block}.pending-chip.uploading img{opacity:.4}.pending-chip.file{background:color-mix(in srgb, var(--text) 5%, transparent);border:1px solid var(--hairline);width:auto;max-width:220px;height:56px}.pending-chip.file.uploading{opacity:.5}.pending-chip .file-chip{align-items:center;gap:var(--space-2);height:100%;padding:0 26px 0 var(--space-2);display:flex}.pending-chip .file-tile{border-radius:var(--radius-sm);width:32px;height:32px;color:var(--on-accent);font-size:var(--fs-11);font-weight:var(--fw-600);flex:none;justify-content:center;align-items:center;display:flex}.pending-chip .file-meta{flex-direction:column;min-width:0;display:flex}.pending-chip .file-name{font-size:var(--fs-11);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.pending-chip .file-kind{font-size:var(--fs-11);color:var(--text-faint)}.chip-remove{width:18px;height:18px;color:var(--on-accent);font-size:var(--fs-11);cursor:pointer;background:#0009;border:none;border-radius:50%;line-height:1;position:absolute;top:2px;right:2px}.uploading-note{color:var(--text-faint);font-size:var(--fs-11)}.msg-attachments{gap:var(--space-2);margin-top:var(--space-1);flex-wrap:wrap;display:flex}.msg-attach img{border-radius:var(--radius-md);background:var(--input);border:1px solid var(--hairline);max-width:min(340px,100%);max-height:260px;display:block}.attach-row{gap:var(--space-2);flex-basis:100%;min-width:0;max-width:100%;display:flex;overflow:hidden}.msg-attachments--multi .msg-attach{flex:none;position:relative}.msg-attachments--multi .msg-attach img{object-fit:cover;width:auto;height:200px}.attach-summary{align-items:center;gap:var(--space-2);font-size:var(--fs-13);color:var(--text-muted);flex-basis:100%;display:flex}.attach-summary-sep{background:var(--hairline);width:1px;height:14px}.attach-summary-dl{align-items:center;gap:var(--space-1);font:inherit;color:inherit;cursor:pointer;background:0 0;border:none;padding:0;display:inline-flex}.attach-summary-dl:hover{color:var(--text);text-decoration:underline}.msg-attach-more{border-radius:var(--radius-md);color:#000000d9;font-size:var(--fs-d24);font-weight:var(--fw-700);letter-spacing:.02em;background:#ffffff8c;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.attach-card{align-items:center;gap:var(--space-2);width:340px;max-width:100%;padding:var(--space-2);border-radius:var(--radius-md);border:1px solid var(--hairline);background:color-mix(in srgb, var(--text) 5%, transparent);color:inherit;text-decoration:none;display:flex}.attach-card:hover{border-color:var(--accent)}.attach-badge{border-radius:var(--radius-sm);width:36px;height:36px;color:var(--on-accent);font-size:var(--fs-11);font-weight:var(--fw-600);letter-spacing:.06em;flex:none;justify-content:center;align-items:center;display:flex}.attach-body{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.attach-name{font-size:var(--fs-13);font-weight:var(--fw-500);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.attach-meta{font-size:var(--fs-11);color:var(--text-faint);font-variant-numeric:tabular-nums}.attach-dl{border-radius:var(--radius-sm);width:28px;height:28px;color:var(--text-faint);flex:none;justify-content:center;align-items:center;display:flex}.attach-dl:hover{color:var(--text);background:var(--surface-hover)}.attach-play{cursor:pointer;background:var(--primary);width:36px;height:36px;color:var(--on-accent);border:0;border-radius:50%;flex:none;justify-content:center;align-items:center;display:flex}.attach-audio-row{align-items:center;gap:var(--space-2);display:flex}.attach-track{background:var(--surface-hover);height:6px;box-shadow:inset 0 0 0 1px var(--hairline);cursor:pointer;border-radius:3px;flex:1;display:block;overflow:hidden}.attach-track-fill{background:var(--primary);height:100%;display:block}.attach-time{font-size:var(--fs-11);color:var(--text-faint);font-variant-numeric:tabular-nums;flex:none}.avatar-upload{cursor:pointer;flex:none;display:flex}.profile-avatar{width:88px;height:88px;color:var(--on-accent);font-weight:var(--fw-600);font-size:var(--fs-d34);object-fit:cover;border-radius:50%;justify-content:center;align-items:center;display:flex}.avatar-btn{cursor:pointer;background:0 0;border:none;flex:none;align-self:flex-start;padding:0}.me-btn{align-items:center;gap:var(--space-2);cursor:pointer;min-width:0;color:var(--text);text-align:left;background:0 0;border:none;flex:1;padding:0;display:flex}.me-btn .name{font-size:var(--fs-13);text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.auth-page{background:radial-gradient(120% 100% at 68% 38%, color-mix(in srgb, var(--primary) 22%, var(--rail)), color-mix(in srgb, var(--primary) 8%, var(--rail)) 75%);min-height:100vh;padding:var(--space-6);place-items:center;display:grid}.auth-card{box-sizing:border-box;width:400px;max-width:100%;padding:var(--space-8);border:1px solid var(--hairline);border-radius:var(--radius-lg);background:var(--chat);color:var(--text);box-shadow:0 4px 12px #0000001f}.auth-brand{align-items:center;gap:var(--space-2);font-size:var(--fs-20);font-weight:var(--fw-600);letter-spacing:-.01em;color:var(--text);line-height:1.15;display:flex}.auth-mark{flex:none}.auth-tagline{margin:var(--space-1) 0 var(--space-6);font-size:var(--fs-11);letter-spacing:.08em;color:var(--text-faint)}.auth-invite{gap:var(--space-1);margin:0 0 var(--space-4);padding:var(--space-3) var(--space-4);border-left:3px solid var(--accent);border-radius:var(--radius-md);background:color-mix(in srgb, var(--accent) 8%, transparent);flex-direction:column;display:flex}.auth-invite-ws{font-size:var(--fs-14);font-weight:var(--fw-600)}.auth-invite-meta{font-size:var(--fs-12);color:var(--text-muted)}.auth-role-chip{margin-left:var(--space-1);font-size:var(--fs-11);font-weight:var(--fw-600);color:var(--accent);background:color-mix(in srgb, var(--accent) 14%, transparent);border-radius:999px;padding:1px 7px;display:inline-block}.auth-title{margin:0 0 var(--space-3);font-size:var(--fs-15);font-weight:var(--fw-600)}.auth-sub{margin:0 0 var(--space-4);font-size:var(--fs-12);color:var(--text-muted)}.auth-form{gap:var(--space-2);flex-direction:column;display:flex}.auth-field{box-sizing:border-box;width:100%;padding:10px var(--space-3);border:1px solid var(--hairline);border-radius:var(--radius-md);background:var(--input);color:var(--text);font-size:var(--fs-14)}.auth-field::placeholder{color:var(--text-faint)}.auth-field:focus-visible{outline:2px solid var(--primary);outline-offset:1px}.auth-primary{width:100%;margin-top:var(--space-1);border-radius:var(--radius-md);background:var(--primary);color:var(--on-accent);font-size:var(--fs-14);font-weight:var(--fw-600);cursor:pointer;border:none;padding:11px 0}.auth-primary:hover:not(:disabled){background:var(--primary-hover)}.auth-primary:disabled{opacity:.55;cursor:default}.auth-error{font-size:var(--fs-12);color:var(--danger)}.auth-hint{font-size:var(--fs-12);color:var(--text-faint)}.auth-card>.auth-hint{margin:0 0 var(--space-3)}.auth-check{align-items:center;gap:var(--space-1);font-size:var(--fs-12);color:var(--text-muted);cursor:pointer;display:flex}.auth-alt{width:100%;margin-top:var(--space-4);padding:var(--space-1) 0;color:var(--text-muted);font-size:var(--fs-12);text-align:center;cursor:pointer;background:0 0;border:none;display:block}.auth-alt:hover{color:var(--text)}.auth-foot{margin-top:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--hairline);text-align:center;font-size:var(--fs-12)}.auth-foot a{color:var(--accent);text-decoration:none}.auth-split{gap:var(--space-8);grid-template-columns:400px minmax(0,1fr);align-items:center;width:100%;max-width:1180px;display:grid}.auth-split .auth-card{box-shadow:none;background:0 0;border:0;padding:0}.auth-hero{min-width:0;padding-right:var(--space-6)}.auth-headline{margin:var(--space-6) 0;font-size:var(--fs-28);font-weight:var(--fw-600);letter-spacing:-.02em;color:var(--text);line-height:1.25}.auth-chart{max-width:560px;animation:.9s ease-out both auth-chart-in;position:relative}.auth-chart-svg{width:100%;height:auto;display:block}.auth-nebula-in{stop-color:var(--primary);stop-opacity:.12}.auth-nebula-out{stop-color:var(--primary);stop-opacity:0}.auth-grat path{fill:none;stroke:var(--primary);stroke-width:.8px;opacity:.18}.auth-dust circle{fill:var(--primary);opacity:.45}.auth-dust .auth-dust-b{opacity:.65;animation:4.2s ease-in-out infinite auth-dot-pulse}.auth-link{fill:none;stroke:var(--primary);stroke-width:1.1px;stroke-dasharray:3 6;stroke-linecap:round;opacity:.35;animation:18s linear infinite auth-link-flow}.auth-link.rev{animation-duration:24s;animation-direction:reverse}.auth-const path{fill:none;stroke:var(--primary);stroke-width:1.4px;stroke-linecap:round;opacity:.55;stroke-dasharray:1;animation:.7s ease-out both auth-const-draw}.auth-node{fill:none;stroke:var(--primary);stroke-width:1px;stroke-dasharray:2 3;opacity:.55}.auth-node-core{fill:var(--primary);opacity:.7}.auth-node-ripple{fill:none;stroke:var(--primary);stroke-width:1px;transform-box:fill-box;transform-origin:50%;animation:3.6s ease-out infinite auth-ripple}.auth-spark{fill:var(--primary);opacity:.5;animation:3.4s ease-in-out infinite auth-dot-pulse}.auth-meteor{opacity:0;animation:11s linear infinite auth-meteor-fly}.auth-meteor path{fill:none;stroke-width:1.6px;stroke-linecap:round}.auth-meteor-head{fill:var(--primary);opacity:.9}.auth-meteor-in{stop-color:var(--primary);stop-opacity:.85}.auth-meteor-out{stop-color:var(--primary);stop-opacity:0}@keyframes auth-meteor-fly{0%{opacity:0;transform:translate(-40px,-27px)}4%{opacity:.85}13%{opacity:0;transform:translate(320px,213px)}to{opacity:0;transform:translate(320px,213px)}}@keyframes auth-ripple{0%{opacity:.6;transform:scale(.4)}70%{opacity:.15}to{opacity:0;transform:scale(2.6)}}@keyframes auth-link-flow{to{stroke-dashoffset:-90px}}@keyframes auth-const-draw{0%{stroke-dashoffset:1px}to{stroke-dashoffset:0}}.auth-chart-person{border-radius:var(--radius-lg);color:var(--on-accent);place-items:center;animation:.5s cubic-bezier(.34,1.56,.64,1) both auth-person-pop,6s ease-in-out infinite alternate auth-person-float;display:grid;position:absolute;overflow:hidden;box-shadow:0 6px 16px #00000047}.auth-chart-person:nth-child(odd){border-radius:50%}.auth-person-bust{width:88%;height:88%;margin-top:12%}@keyframes auth-chart-in{0%{opacity:0;transform:scale(.94)}to{opacity:1;transform:scale(1)}}@keyframes auth-person-pop{0%{opacity:0;transform:scale(0)}60%{opacity:1;transform:scale(1.18)}to{opacity:1;transform:scale(1)}}@keyframes auth-person-float{0%{translate:0 -3px}to{translate:0 3px}}@keyframes auth-dot-pulse{0%,to{opacity:.25}50%{opacity:1}}@media (width<=960px){.auth-split{grid-template-columns:1fr;max-width:400px}.auth-hero{display:none}}@media (prefers-reduced-motion:reduce){.auth-chart,.auth-link,.auth-const path,.auth-dust .auth-dust-b,.auth-spark,.auth-chart-person{animation:none}.auth-node-ripple,.auth-meteor{display:none}}.security-body{gap:var(--space-3);flex-direction:column;display:flex}.session-list{margin-bottom:var(--space-2);flex-direction:column;gap:6px;display:flex}.session-row{align-items:center;gap:var(--space-2);padding:8px var(--space-2);border:1px solid var(--hairline);border-radius:var(--radius-sm);display:flex}.session-info{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.session-device{font-size:var(--fs-13);color:var(--text)}.session-current{color:var(--accent);font-style:normal;font-size:var(--fs-12)}.session-meta{font-size:var(--fs-12);color:var(--text-faint)}.invite-roles{margin-bottom:var(--space-2);flex-direction:column;gap:6px;display:flex}.invite-role{padding:8px var(--space-2);border:1px solid var(--hairline);border-radius:var(--radius-sm);cursor:pointer;font-size:var(--fs-13);grid-template-columns:auto auto 1fr;align-items:center;gap:8px;display:grid}.invite-role.on{border-color:var(--accent)}.invite-role-name{font-weight:var(--fw-600);color:var(--text)}.invite-role-desc{color:var(--text-muted);font-size:var(--fs-12)}.invite-url{margin-top:var(--space-2);padding:8px var(--space-2);border-radius:var(--radius-sm);background:var(--rail);color:var(--text-muted);font-size:var(--fs-12);word-break:break-all;-webkit-user-select:all;user-select:all}.settings-section{gap:var(--space-2);margin-bottom:var(--space-4);display:grid}.settings-label{font-size:var(--fs-11);font-weight:var(--fw-600);color:var(--text-faint);text-transform:uppercase}.settings-row{gap:var(--space-2);display:flex}.settings-hint{color:var(--text-faint);font-size:var(--fs-11);line-height:1.4}.settings-check{align-items:center;gap:var(--space-1);margin-top:var(--space-1);font-size:var(--fs-12);color:var(--text-muted);cursor:pointer;display:flex}.totp-qr{width:168px;margin:var(--space-2) 0;padding:var(--space-2);border-radius:var(--radius-md);background:#fff}.totp-qr svg{width:100%;height:auto;display:block}.danger-btn{border-radius:var(--radius-md);background:var(--danger);color:var(--on-accent);font-weight:var(--fw-600);padding:9px var(--space-4);cursor:pointer;border:none;justify-self:start}.view-page{--view-gutter:max(var(--space-4), calc((100% - 1080px) / 2));flex-direction:column;flex:1;min-height:0;display:flex}.view-head{height:48px;padding:0 var(--view-gutter);border-bottom:1px solid var(--hairline);font-weight:var(--fw-600);flex:none;align-items:center;display:flex}.view-page.vp-narrow,.view-page.vp-full{--view-gutter:var(--space-4)}.vp-narrow .view-body>*{max-width:640px}.view-head-sub{margin-left:var(--space-2);color:var(--text-faint);font-weight:var(--fw-400);font-size:var(--fs-13)}.view-body{padding:var(--space-3) var(--view-gutter) var(--space-8);flex:1;overflow-y:auto}.view-tabs{padding:0 var(--view-gutter);flex:none}.thread-card{gap:var(--space-2);text-align:left;width:100%;padding:var(--space-3);margin-bottom:var(--space-3);border:1px solid var(--hairline);border-radius:var(--radius-md);color:var(--text);cursor:pointer;background:0 0;display:grid}.thread-card:hover{background:var(--surface-hover)}.thread-card.unread{border-color:var(--accent)}.thread-card-meta{align-items:center;gap:var(--space-2);display:flex}.thread-card-ch{font-weight:var(--fw-600);font-size:var(--fs-13)}.thread-dot{background:var(--accent);border-radius:50%;width:8px;height:8px}.view-head-spacer{flex:1}.thread-card-open{color:var(--primary);font-size:var(--fs-12);font-weight:var(--fw-500);cursor:pointer;background:0 0;border:none;padding:0}.thread-card-open:hover{text-decoration:underline}.thread-loading{color:var(--text-faint);font-size:var(--fs-13);padding-left:36px}.thread-msg{gap:var(--space-2);align-items:flex-start;min-width:0;display:flex}.thread-msg-main{flex:1;gap:1px;min-width:0;display:grid}.thread-msg-head{align-items:baseline;gap:var(--space-2);font-size:var(--fs-13);display:flex}.thread-msg-head b{font-weight:var(--fw-700);font-size:var(--fs-15);color:var(--text-strong)}.thread-msg-body{font-size:var(--fs-15);color:var(--text);word-break:break-word;white-space:pre-wrap;line-height:1.45}.thread-fold{margin-left:36px}.dir-tabs{gap:var(--space-2);padding:var(--space-2) var(--view-gutter) 0;border-bottom:1px solid var(--hairline);display:flex}.dir-toolbar{gap:var(--space-2);padding:var(--space-3) var(--view-gutter) 0;display:flex}.dir-toolbar .ds-field{flex:1}.dir-grid{gap:var(--space-3);grid-template-columns:repeat(auto-fill,minmax(184px,1fr));display:grid}.dir-card{border:1px solid var(--hairline);border-radius:var(--radius-md);cursor:pointer;text-align:left;color:var(--text);background:0 0;flex-direction:column;padding:0;display:flex;overflow:hidden}.dir-card:hover{background:var(--surface-hover)}.dir-photo{aspect-ratio:1;object-fit:cover;width:100%;font-size:var(--fs-d40);font-weight:var(--fw-600);background:var(--surface-hover);justify-content:center;align-items:center;display:flex}.dir-name{font-weight:var(--fw-600);padding:var(--space-2) var(--space-2) 0;align-items:center;gap:6px;display:flex}.dir-role{color:var(--text-faint);font-size:var(--fs-13);padding:2px var(--space-2) var(--space-2)}.dir-channels{display:grid}.dir-ch-row{align-items:center;gap:var(--space-2);border-bottom:1px solid var(--hairline);display:flex}.dir-ch-main{text-align:left;padding:var(--space-3) var(--space-2);color:var(--text);cursor:pointer;background:0 0;border:none;flex:1;gap:2px;min-width:0;display:grid}.dir-ch-main:hover{background:var(--surface-hover)}.dir-ch-name{font-weight:var(--fw-600)}.dir-ch-sub{color:var(--text-faint);font-size:var(--fs-13);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.search{flex:0 auto;min-width:0;position:relative}.search-box{align-items:center;gap:var(--space-2);border-radius:var(--radius-sm);background:var(--rail);width:100%;color:var(--text-faint);cursor:text;padding:0 10px;transition:width .15s;display:flex}.search-box input{min-width:60px;color:var(--text);font-size:var(--fs-13);background:0 0;border:none;outline:none;flex:1;padding:0}.search-box input::placeholder{color:var(--text-faint)}.search-token{border-radius:var(--radius-sm);background:var(--accent-soft);color:var(--accent);font-size:var(--fs-12);font-weight:var(--fw-600);white-space:nowrap;flex:none;align-items:center;gap:4px;padding:1px 6px;display:inline-flex}.search-token button{color:inherit;cursor:pointer;font-size:var(--fs-13);background:0 0;border:none;padding:0;line-height:1}.search-pop{background:var(--surface);border:1px solid var(--hairline);border-radius:var(--radius-md);z-index:10;width:100%;min-width:min(480px,92vw);max-height:480px;padding:var(--space-2);position:absolute;top:calc(100% + 6px);left:0;overflow-y:auto;box-shadow:0 8px 24px #00000073}.search-row{align-items:center;gap:var(--space-2);text-align:left;border-radius:var(--radius-sm);width:100%;padding:7px var(--space-2);cursor:pointer;color:var(--text);font-size:var(--fs-13);background:0 0;border:none;display:flex}.search-row.active{background:var(--surface-hover)}.search-row>svg{color:var(--text-muted);flex:none}.search-row .avatar{flex:none}.search-row-main{flex:1;min-width:0}.search-row-main b{font-weight:var(--fw-600)}.search-hit-line,.search-row-meta{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.search-row-meta{font-size:var(--fs-11);color:var(--text-faint)}.search-glyph{text-align:center;width:20px;color:var(--text-muted);font-weight:var(--fw-600);flex:none}.search-sect{padding:var(--space-2) var(--space-2) 2px;font-size:var(--fs-11);font-weight:var(--fw-600);color:var(--text-faint)}.search-kbd{font-family:inherit;font-size:var(--fs-11);color:var(--text-faint);background:var(--input);border:1px solid var(--hairline);border-radius:4px;flex:none;padding:1px 5px}.search-note{color:var(--text-faint);font-size:var(--fs-13);padding:var(--space-2)}.search-foot{margin-top:var(--space-1);padding:var(--space-2) var(--space-2) var(--space-1);border-top:1px solid var(--hairline);color:var(--text-faint);font-size:var(--fs-11);align-items:center;gap:4px;display:flex}.srch.split{border-right:1px solid var(--hairline);--view-gutter:var(--space-4);flex:none;width:clamp(480px,42%,720px)}.srch-hit{cursor:pointer}.srch-bar{gap:var(--space-2);padding:var(--space-3) var(--view-gutter);border-bottom:1px solid var(--hairline);flex:none;display:grid}.srch-input{border:1px solid var(--hairline);border-radius:var(--radius-sm);background:var(--input);width:min(640px,100%);color:var(--text);font-size:var(--fs-14);outline:none;padding:8px 12px}.srch-input:focus{border-color:var(--accent)}.srch-filters{align-items:center;gap:var(--space-2);display:flex}.sp-select{background:var(--input);min-width:120px;color:var(--text);border:1px solid var(--hairline);border-radius:var(--radius-sm);font-size:var(--fs-12);padding:4px var(--space-2);flex:none}.sp-select.on{border-color:var(--accent);color:var(--accent);font-weight:var(--fw-600)}.sp-file{font-size:var(--fs-12);color:var(--text-muted);flex:none;align-items:center;gap:4px;display:inline-flex}.srch-col{gap:var(--space-2);max-width:880px;display:grid}.srch-sect{margin-top:var(--space-1);font-size:var(--fs-11);font-weight:var(--fw-600);color:var(--text-faint)}.srch-hit{text-align:left;border:1px solid var(--hairline);border-radius:var(--radius-md);width:100%;padding:var(--space-3);cursor:pointer;color:var(--text);background:0 0;display:block}.srch-hit:hover{background:var(--surface-hover)}.srch-hit.sel{background:var(--surface-hover);border-color:var(--accent)}.srch-hit-head{align-items:center;gap:var(--space-2);margin-bottom:4px;display:flex}.srch-name{font-weight:var(--fw-700);color:var(--text-strong);font-size:var(--fs-13)}.srch-time{font-size:var(--fs-11);color:var(--text-faint)}.srch-ch{font-size:var(--fs-12);font-weight:var(--fw-600);color:var(--text-muted)}.srch-glyph{color:var(--accent);font-weight:var(--fw-600)}.srch-hit-head .avatar.sm{width:36px;height:36px;font-size:var(--fs-14)}.srch-body{font-size:var(--fs-15);color:var(--text);word-break:break-word;-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:1.45;display:-webkit-box;overflow:hidden}.srch-body mark{background:var(--highlight);color:var(--text);border-radius:2px}.srch-busy{font-size:var(--fs-13);color:var(--text-faint);padding:var(--space-2) 0}.sp-tag{background:var(--accent-soft);color:var(--accent);font-size:var(--fs-11);font-weight:var(--fw-600);border-radius:6px;padding:0 6px;display:inline-block}.sp-more{width:100%;font-size:var(--fs-13);color:var(--primary);padding:var(--space-2);cursor:pointer;background:0 0;border:none;display:block}.right-panel{width:var(--panel-w,360px);background:var(--surface);border-left:1px solid var(--hairline);flex-direction:column;display:flex}.panel-head{padding:0 var(--space-4);border-bottom:1px solid var(--hairline);height:48px;font-weight:var(--fw-600);font-size:var(--fs-13);color:var(--text-muted);flex:none;justify-content:space-between;align-items:center;display:flex}.member-item{align-items:center;gap:var(--space-2);width:100%;padding:6px var(--space-2);border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;font-size:var(--fs-14);background:0 0;border:none;display:flex}.member-item:hover:not(:disabled){background:var(--surface-hover);color:var(--text)}.member-item:disabled{cursor:default}.member-row{align-items:center;gap:var(--space-1);display:flex}.member-row .member-item{flex:1;min-width:0}.member-item.static{cursor:default}.member-item.static:hover{background:0 0}.member-name{text-align:left;text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.avatar.sm{width:28px;height:28px;font-size:var(--fs-13);border-radius:var(--radius-sm)}.section-label{padding:var(--space-3) var(--space-2) var(--space-1);font-size:var(--fs-15);font-weight:var(--fw-400);color:var(--text-muted);text-transform:none}.thread-body{min-height:0;padding:var(--space-3) 0;gap:var(--space-3);flex-direction:column;flex:0 auto;display:flex;overflow-y:auto}.thread-reply{gap:var(--space-2);padding:2px var(--space-2);display:flex}.thread-sep{font-size:var(--fs-11);color:var(--text-faint);border-bottom:1px solid var(--hairline);padding:0 var(--space-2) var(--space-1)}.thread-composer{padding:0 var(--space-2) var(--space-2)}.thread-composer .composer{padding:0}.thread-reply .msg-attach img{max-width:200px;max-height:180px}.thread-reply .msg-attachments--multi{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.thread-reply .msg-attachments--multi .attach-summary{grid-column:1/-1}.thread-reply .msg-attachments--multi .msg-attach img{aspect-ratio:1;width:100%;min-width:0;max-width:none;height:auto}.panel-sub{color:var(--text-faint);font-weight:var(--fw-400)}.reply-chip{align-items:center;gap:var(--space-2);width:fit-content;font-size:var(--fs-12);font-weight:var(--fw-600);color:var(--primary);border-radius:var(--radius-sm);cursor:pointer;background:0 0;border:1px solid #0000;margin-top:2px;padding:2px 4px;display:flex}.reply-chip:hover{border-color:var(--hairline);background:var(--surface)}.reply-avatars{gap:3px;display:flex}.reply-avatars .avatar{width:24px;height:24px;font-size:var(--fs-11);border-radius:var(--radius-sm)}.reply-last{color:var(--text-faint);font-weight:var(--fw-400)}.msg-action{color:var(--text-muted);cursor:pointer;font-size:var(--fs-13);opacity:.7;border-radius:var(--radius-sm);background:0 0;border:none;justify-content:center;align-items:center;padding:3px 5px;line-height:1;display:inline-flex}.msg-action:hover{opacity:1;background:var(--surface-hover)}.msg-action.danger:hover{color:var(--danger)}.msg{position:relative}.msg-actions{opacity:0;pointer-events:none;top:-14px;right:var(--space-4);background:var(--surface);border:1px solid var(--hairline);border-radius:var(--radius-md);z-index:4;align-items:center;padding:2px;display:flex;position:absolute;box-shadow:0 2px 8px #00000040}.msg:hover .msg-actions{opacity:1;pointer-events:auto}.msg:has(:focus-visible) .msg-actions{opacity:1;pointer-events:auto}.forward-card{text-align:left;border:none;border-left:3px solid var(--accent);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);padding:var(--space-2) var(--space-3);margin-top:var(--space-1);cursor:pointer;max-width:480px;display:block}.forward-card:hover{background:var(--surface-hover)}.forward-card-meta{align-items:baseline;gap:var(--space-2);display:flex}.forward-card-body{color:var(--text-muted);word-break:break-word;white-space:pre-wrap;-webkit-line-clamp:4;-webkit-box-orient:vertical;line-height:1.4;display:-webkit-box;overflow:hidden}.forward-card-thumb{border-radius:var(--radius-sm);max-width:180px;max-height:120px;margin-top:var(--space-1);display:block}.unfurl-wrap{max-width:440px;display:block;position:relative}.unfurl-x{border-radius:var(--radius-sm);width:18px;height:18px;color:var(--text-faint);font-size:var(--fs-13);cursor:pointer;opacity:0;background:0 0;border:none;justify-content:center;align-items:center;line-height:1;display:inline-flex;position:absolute;top:2px;left:-22px}.unfurl-wrap:hover .unfurl-x{opacity:1}.unfurl-x:hover{color:var(--text);background:var(--surface-hover)}.unfurl-card{gap:var(--space-2);text-align:left;border-left:3px solid var(--accent);color:var(--text);padding:var(--space-1) var(--space-3);margin-top:var(--space-1);flex-direction:column;max-width:440px;text-decoration:none;display:flex}.unfurl-card:hover .unfurl-card-title{text-decoration:underline}.unfurl-card-body{gap:var(--space-1);flex-direction:column;min-width:0;display:flex}.unfurl-card-site{color:var(--text-muted);font-weight:var(--fw-500)}.unfurl-card-title{color:var(--accent);font-weight:var(--fw-600);word-break:break-word;-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.unfurl-card-desc{color:var(--text-muted);word-break:break-word;-webkit-line-clamp:3;-webkit-box-orient:vertical;line-height:1.4;display:-webkit-box;overflow:hidden}.unfurl-card-banner{object-fit:cover;border-radius:var(--radius-sm);width:100%;max-width:360px;max-height:280px}.unfurl-card-row{align-items:flex-start;gap:var(--space-3);flex-direction:row}.unfurl-card-row .unfurl-card-body{flex:1;min-width:0}.unfurl-card-thumb{object-fit:cover;border-radius:var(--radius-sm);flex-shrink:0;width:64px;height:64px}.forward-preview{gap:var(--space-2);background:var(--input);border-radius:var(--radius-sm);padding:var(--space-2) var(--space-3);margin-bottom:var(--space-3);align-items:baseline;display:flex;overflow:hidden}.forward-author{font-weight:var(--fw-600);flex:none}.forward-body{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.forward-channels{max-height:240px;margin:var(--space-3) 0;gap:1px;display:grid;overflow-y:auto}.forward-submit{width:100%}.msg-body a{color:var(--primary);text-decoration:none}.msg-body a:hover{text-decoration:underline}.msg-body code,.forward-card-body code{background:var(--surface-hover);border:1px solid var(--hairline);border-radius:var(--radius-sm);font-size:var(--fs-13);padding:0 4px}.msg-codeblock{margin:var(--space-1) 0;padding:var(--space-2) var(--space-3);background:var(--surface-hover);border:1px solid var(--hairline);border-radius:var(--radius-sm);overflow-x:auto}.msg-codeblock code{background:0 0;border:none;padding:0}.msg-mention{color:var(--primary);background:color-mix(in srgb, var(--primary) 14%, transparent);border-radius:var(--radius-sm);font-weight:var(--fw-600);padding:0 2px}.msg-mention.grp{color:var(--mention-grp);background:color-mix(in srgb, var(--mention-grp) 14%, transparent)}.msg-mention.me{color:var(--highlight-edge);background:var(--highlight)}.msg-edited{color:var(--text-faint);font-size:var(--fs-11);margin-left:4px}.msg-deleted{color:var(--text-faint);font-style:italic}.react-chips{flex-wrap:wrap;gap:4px;margin-top:4px;display:flex}.react-chip{border:1px solid var(--hairline);background:var(--surface);font-size:var(--fs-13);cursor:pointer;color:var(--text);border-radius:12px;align-items:center;gap:4px;padding:1px 8px;display:inline-flex}.react-chip:hover{border-color:var(--text-faint)}.react-chip{position:relative}.react-tip{z-index:30;background:var(--surface);border:1px solid var(--hairline);border-radius:var(--radius-lg);opacity:0;pointer-events:none;text-align:left;white-space:normal;align-items:center;gap:8px;min-width:140px;max-width:240px;padding:8px 10px;transition:opacity .12s;display:flex;position:absolute;bottom:calc(100% + 8px);left:0;box-shadow:0 6px 20px #00000059}.react-chip:hover .react-tip{opacity:1;transition-delay:.15s}.react-tip-emoji{font-size:var(--fs-28);flex:none}.react-tip-names{color:var(--text);font-size:var(--fs-12);line-height:1.4}.react-chip.mine{border-color:var(--primary);background:color-mix(in srgb, var(--primary) 12%, transparent)}.react-count{font-size:var(--fs-11);color:var(--text-muted)}.react-pop{background:var(--surface);border:1px solid var(--hairline);border-radius:var(--radius-md);z-index:5;gap:2px;padding:4px;display:flex;position:absolute;top:calc(100% + 4px);right:0;box-shadow:0 4px 12px #0000004d}.react-pop-item{font-size:var(--fs-18);border-radius:var(--radius-sm);cursor:pointer;background:0 0;border:none;padding:3px 5px}.react-pop-item:hover{background:var(--surface-hover)}.new-divider{padding:2px var(--space-4);align-items:center;display:flex}.new-divider:after{content:"";border-top:1px solid var(--danger);margin-left:var(--space-2);flex:1}.new-divider span{color:var(--danger);font-size:var(--fs-11);font-weight:var(--fw-600);letter-spacing:.06em}.msg-editbox textarea{width:100%;padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);border:1px solid var(--hairline);background:var(--input);color:var(--text);font-size:var(--fs-14);resize:none;outline:none;font-family:inherit;line-height:1.45}.msg-editbox-actions{justify-content:flex-end;gap:var(--space-2);margin-top:4px;display:flex}.msg-editbox-actions .ds-btn{font-size:var(--fs-13);padding:4px 12px}.mention-pop{bottom:calc(100% - var(--space-4));left:var(--space-4);background:var(--surface);border:1px solid var(--hairline);border-radius:var(--radius-md);z-index:5;flex-direction:column;min-width:220px;display:flex;position:absolute;overflow:hidden;box-shadow:0 -4px 16px #0000004d}.mention-item{color:var(--text);text-align:left;padding:var(--space-2) var(--space-3);font-size:var(--fs-13);cursor:pointer;background:0 0;border:none}.mention-item.active{background:var(--surface-hover)}.msg-quote{padding:0 0 0 var(--space-3);border-left:3px solid var(--hairline);color:var(--text-muted);white-space:pre-wrap;margin:2px 0}.msg-list-block{white-space:normal;margin:2px 0;padding-left:22px}.msg-list-block li{line-height:1.45}.profile-pane{padding:var(--space-4);gap:var(--space-3);flex-direction:column;display:flex;overflow-y:auto}.profile-hero{aspect-ratio:1;border-radius:var(--radius-lg);object-fit:cover;width:100%;font-size:var(--fs-d64);font-weight:var(--fw-600);color:var(--on-accent);justify-content:center;align-items:center;display:flex}.profile-title{align-items:baseline;gap:var(--space-2);display:flex}.profile-nm{font-size:var(--fs-18);font-weight:var(--fw-600);overflow-wrap:anywhere}.profile-role-tag{font-size:var(--fs-11);color:var(--text-faint);text-transform:uppercase;letter-spacing:.06em}.profile-presence{font-size:var(--fs-13);color:var(--text-muted);align-items:center;gap:6px;display:flex}.profile-actions{gap:var(--space-2);display:flex}.profile-btn{border:1px solid var(--hairline);border-radius:var(--radius-sm);color:var(--text);font-size:var(--fs-13);cursor:pointer;background:0 0;flex:1;padding:7px 0}.profile-btn:hover{background:var(--surface-hover)}.profile-contact{border-top:1px solid var(--hairline);padding-top:var(--space-3)}.profile-contact-row{font-size:var(--fs-13);margin-top:var(--space-2);flex-direction:column;gap:2px;display:flex}.profile-contact-label{color:var(--text-faint);font-size:var(--fs-11)}.profile-contact-row a{color:var(--primary);overflow-wrap:anywhere;text-decoration:none}.chinfo-tabs{gap:var(--space-3);border-bottom:1px solid var(--hairline);margin-bottom:var(--space-3);display:flex}.chinfo-body{gap:var(--space-3);flex-direction:column;display:flex}.chinfo-row{border:1px solid var(--hairline);border-radius:var(--radius-md);padding:var(--space-3)}.chinfo-label{font-size:var(--fs-13);font-weight:var(--fw-600);justify-content:space-between;align-items:baseline;margin-bottom:4px;display:flex}.chinfo-edit{color:var(--primary);font-size:var(--fs-11);cursor:pointer;background:0 0;border:none;padding:0}.chinfo-value{font-size:var(--fs-13);color:var(--text);white-space:pre-wrap}.chinfo-value.empty{color:var(--text-faint)}.chinfo-actions{justify-content:flex-end;gap:var(--space-2);margin-top:var(--space-2);display:flex}.chinfo-members{flex-direction:column;max-height:320px;display:flex;overflow-y:auto}.drop-overlay{z-index:20;border:2px dashed var(--primary);color:var(--text);font-size:var(--fs-18);font-weight:var(--fw-600);pointer-events:none;background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.chip-progress{background:#0006;height:3px;position:absolute;bottom:0;left:0;right:0}.chip-progress>span{background:var(--primary);height:100%;transition:width .15s ease-out;display:block}.typing-note{left:calc(var(--space-4) + var(--space-2));right:var(--space-4);font-size:var(--fs-11);color:var(--text-faint);pointer-events:none;position:absolute;bottom:4px}.lightbox{z-index:30;-webkit-backdrop-filter:blur(14px);background:#0006;padding:44px 12px 12px;position:fixed;inset:0}.lightbox-card{border-radius:var(--radius-lg);background:var(--chat);width:100%;height:100%;display:flex;overflow:hidden;box-shadow:0 24px 64px #00000073}.lightbox-stage{background:#000;flex:1;justify-content:center;align-items:center;min-width:0;display:flex;position:relative;overflow:hidden}.lightbox-bg{object-fit:cover;filter:blur(40px)brightness(.45)saturate(.8);pointer-events:none;width:calc(100% + 80px);height:calc(100% + 80px);position:absolute;inset:-40px}.lightbox-img{object-fit:contain;cursor:default;max-width:100%;max-height:100%;position:relative}.lightbox-bar{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);color:#fff;background:linear-gradient(#0000008c,#0000);display:flex;position:absolute;top:0;left:0;right:0}.lightbox-who{flex-direction:column;flex:1;min-width:0;line-height:1.25;display:flex}.lightbox-author{font-size:var(--fs-15);font-weight:var(--fw-700)}.lightbox-sub{font-size:var(--fs-12);opacity:.8;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.lightbox-nav{color:#fff;cursor:pointer;background:#0000008c;border:none;border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.lightbox-nav.prev{left:var(--space-4)}.lightbox-nav.next{right:var(--space-4)}.lightbox-nav:hover{background:#000c}.lightbox-tools{right:var(--space-4);bottom:var(--space-3);align-items:center;gap:var(--space-2);color:#fff;display:flex;position:absolute}.lightbox-count{font-size:var(--fs-12);opacity:.8;margin-right:var(--space-2);font-variant-numeric:tabular-nums}.lightbox-tool{color:#fff;background:#0006}.lightbox-tool:hover,.lightbox-tool.is-on{background:#ffffff2e}.lightbox-rail{width:var(--panel-w,360px);flex:none;min-height:0;display:flex}.lightbox-rail .right-panel{border-left:1px solid var(--hairline);width:100%;min-height:0}.thread-skeleton{gap:var(--space-2);padding:var(--space-2) 0;flex-direction:column;display:flex}.thread-skeleton span{border-radius:var(--radius-sm);background:var(--input);width:70%;height:12px}.thread-skeleton span+span{width:45%}.thread-error .link-btn{margin-left:var(--space-2)}.msg-attach{cursor:zoom-in;background:0 0;border:none;padding:0}.thread-reply .msg-actions{top:-10px;right:var(--space-2)}.grp-list{gap:var(--space-2);display:grid}.grp-new{justify-self:start}.grp-row{align-items:center;gap:var(--space-2);padding:var(--space-2) 0;border-bottom:1px solid var(--hairline);display:flex}.grp-main{flex:1;gap:2px;min-width:0;display:grid}.grp-name{font-weight:var(--fw-600)}.grp-sub{color:var(--text-faint);font-size:var(--fs-13);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.grp-editor{gap:var(--space-2);padding:var(--space-3);border:1px solid var(--hairline);border-radius:var(--radius-md);display:grid}.grp-member-pick{max-height:260px;display:grid;overflow-y:auto}.grp-pick-row{align-items:center;gap:var(--space-2);cursor:pointer;padding:4px 0;display:flex}.mention-group-tag{font-size:var(--fs-xs,11px);color:var(--text-faint);border:1px solid var(--hairline);border-radius:var(--radius-sm);margin-left:6px;padding:0 4px}.navrail{background:var(--surface);border-right:1px solid var(--hairline);align-items:center;gap:var(--space-2);width:64px;padding:var(--space-3) 0;flex-direction:column;flex:none;display:flex}.navrail-item{border-radius:var(--radius-md);width:52px;color:var(--side-text,var(--text-muted));cursor:pointer;background:0 0;border:none;flex-direction:column;align-items:center;gap:3px;padding:6px 0;display:flex}.navrail-item:hover,.navrail-item.active{background:var(--surface-hover);color:var(--text)}.navrail-icon{display:inline-flex;position:relative}.navrail-badge{text-align:center;min-width:16px;font-size:var(--fs-11);font-weight:var(--fw-600);background:var(--danger);color:var(--on-accent);border-radius:8px;padding:1px 4px;position:absolute;top:-6px;right:-10px}.navrail-label{font-size:var(--fs-11)}.navrail-spacer{flex:1}.navrail-me{position:relative}.navrail-avatar{cursor:pointer;background:0 0;border:none;border-radius:50%;padding:0}.navrail-avatar .avatar.sm{border-radius:var(--radius-md);width:28px;height:28px}.navrail-menu{background:var(--surface);border:1px solid var(--hairline);border-radius:var(--radius-md);min-width:180px;padding:var(--space-2);z-index:30;gap:2px;display:grid;position:absolute;bottom:0;left:52px;box-shadow:0 8px 24px #0006}.navrail-menu-name{font-weight:var(--fw-600);padding:6px var(--space-2);border-bottom:1px solid var(--hairline);white-space:nowrap;text-overflow:ellipsis;margin-bottom:4px;overflow:hidden}.navrail-menu-item{color:var(--text-muted);text-align:left;padding:7px var(--space-2);border-radius:var(--radius-sm);font-size:var(--fs-14);cursor:pointer;background:0 0;border:none}.navrail-menu-item:hover{background:var(--surface-hover);color:var(--text)}.navrail-theme,.navrail-palette{position:relative}.navrail-swatch{border:2px solid var(--rail);border-radius:50%;width:9px;height:9px;position:absolute;bottom:-2px;right:-2px}.theme-pop{background:var(--surface);border:1px solid var(--hairline);border-radius:var(--radius-lg);width:248px;padding:var(--space-3);z-index:40;position:absolute;bottom:0;left:52px;box-shadow:0 8px 32px #0006}.theme-pop-head{justify-content:space-between;align-items:flex-start;gap:var(--space-2);margin-bottom:var(--space-3);display:flex}.theme-pop-title{font-weight:var(--fw-600);margin:0}.theme-pop-sub{color:var(--text-faint);font-size:var(--fs-11);margin:2px 0 0}.theme-pop-tabs{background:var(--input);border-radius:var(--radius-md);flex:none;gap:2px;padding:2px;display:flex}.theme-pop-tabs button{color:var(--text-muted);font-size:var(--fs-11);font-weight:var(--fw-500);padding:4px var(--space-2);border-radius:var(--radius-sm);cursor:pointer;background:0 0;border:none}.theme-pop-tabs button.on{background:var(--primary);color:var(--on-accent)}.theme-grid{gap:var(--space-2);grid-template-columns:1fr 1fr;display:grid}.theme-card{gap:var(--space-1);border:1px solid var(--hairline);border-radius:var(--radius-md);padding:var(--space-1);cursor:pointer;background:0 0;flex-direction:column;display:flex}.theme-card:hover{border-color:var(--accent-soft)}.theme-card.on{border-color:var(--accent)}.theme-card-preview{align-items:flex-end;gap:var(--space-1);border-radius:var(--radius-sm);height:44px;padding:var(--space-1);display:flex;position:relative}.theme-card-dot{border-radius:50%;flex:none;width:18px;height:18px}.theme-card-bar{border-radius:var(--radius-sm);flex:1;height:18px}.theme-card-check{background:var(--accent);width:16px;height:16px;color:var(--on-accent);font-size:var(--fs-11);font-weight:var(--fw-600);border-radius:50%;place-items:center;display:grid;position:absolute;top:3px;right:3px}.theme-card-foot{justify-content:space-between;align-items:center;gap:var(--space-1);padding:0 2px;display:flex}.theme-card-name{font-size:var(--fs-13);font-weight:var(--fw-600);color:var(--text)}.theme-card-badge{font-size:var(--fs-11);color:var(--accent);font-weight:var(--fw-500)}.dm-row{align-items:center;gap:var(--space-2);width:100%;padding:var(--space-2);border-radius:var(--radius-sm);color:var(--text);cursor:pointer;text-align:left;background:0 0;border:none;display:flex}.dm-row:hover{background:var(--surface-hover)}.dm-row-avatar{display:inline-flex;position:relative}.dm-row-avatar .ds-presence-dot{border:2px solid var(--chat);position:absolute;bottom:-2px;right:-2px}.dm-row-name{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.dm-me-tag{color:var(--text-faint);font-style:normal;font-size:var(--fs-13);margin-left:4px}.act-row{align-items:flex-start;gap:var(--space-2);width:100%;padding:var(--space-2);border:none;border-bottom:1px solid var(--hairline);color:var(--text);cursor:pointer;text-align:left;background:0 0;display:flex}.act-row:hover{background:var(--surface-hover)}.act-day{padding:var(--space-3) 0 var(--space-1);font-size:var(--fs-11);font-weight:var(--fw-600);color:var(--text-faint);justify-content:center;display:flex}.act-pane{width:var(--sidebar-w,300px)}.act-pane .view-tabs{padding:0 var(--space-2)}.act-pane .act-row{border-radius:var(--radius-sm);padding:6px var(--space-2);border-bottom:none}.act-pane .msg-time{display:none}.act-row.sel{background:var(--surface-hover);box-shadow:inset 2px 0 0 var(--accent)}.act-main{flex:1;gap:2px;min-width:0;display:grid}.act-title{font-size:var(--fs-14)}.act-ch{color:var(--text-faint);font-size:var(--fs-13);margin-left:var(--space-2)}.act-preview{color:var(--text-faint);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.fh-row{align-items:center;gap:var(--space-3);width:100%;padding:var(--space-2);border:none;border-bottom:1px solid var(--hairline);color:var(--text);cursor:pointer;text-align:left;background:0 0;display:flex}.fh-row:hover{background:var(--surface-hover)}.fh-thumb{object-fit:cover;border-radius:var(--radius-sm);flex:none;width:44px;height:44px}.fh-ext{border-radius:var(--radius-sm);width:44px;height:44px;color:var(--on-accent);font-size:var(--fs-11);font-weight:var(--fw-600);letter-spacing:.04em;flex:none;justify-content:center;align-items:center;display:inline-flex}.fh-main{flex:1;gap:2px;min-width:0;display:grid}.fh-name{font-weight:var(--fw-600);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.fh-sub{color:var(--text-faint);font-size:var(--fs-13)}.fh-split{flex-direction:row}.fh-side{background:var(--surface);border-right:1px solid var(--hairline);width:200px;padding:var(--space-3) var(--space-2);flex-direction:column;flex:none;gap:2px;display:flex}.fh-side-head{padding:var(--space-2) var(--space-2) var(--space-3);font-weight:var(--fw-600)}.fh-side-item{text-align:left;padding:6px var(--space-2);border-radius:var(--radius-sm);color:var(--text-muted);font-size:var(--fs-13);cursor:pointer;background:0 0;border:none;display:block}.fh-side-item:hover{background:var(--surface-hover);color:var(--text)}.fh-side-item.active{background:var(--surface-hover);color:var(--text);font-weight:var(--fw-600)}.fh-content{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex}.fh-filters{align-items:center;gap:var(--space-2);padding:0 var(--view-gutter) var(--space-2);flex:none;display:flex}.fh-chip{border:1px solid var(--hairline);color:var(--text-muted);border-radius:var(--radius-xl);font-size:var(--fs-13);cursor:pointer;background:0 0;padding:3px 12px}.fh-chip:hover{color:var(--text)}.fh-chip.on{background:var(--primary);border-color:var(--primary);color:var(--on-accent)}.fh-sort{background:var(--input);color:var(--text);border:1px solid var(--hairline);border-radius:var(--radius-sm);font:inherit;font-size:var(--fs-13);padding:4px var(--space-2);margin-left:auto}.fh-dl{border-radius:var(--radius-sm);color:var(--text-muted);opacity:0;padding:6px;display:inline-flex}.fh-row:hover .fh-dl,.fh-dl:focus-visible{opacity:1}.fh-dl:hover{background:var(--surface-hover);color:var(--text)}.profile-edit{gap:var(--space-4);margin-bottom:var(--space-3);grid-template-columns:1fr 180px;display:grid}.profile-edit-fields{gap:var(--space-2);align-content:start;display:grid}.profile-edit-photo{gap:var(--space-2);align-content:start;justify-items:center;display:grid}.profile-edit-img{border-radius:var(--radius-md);object-fit:cover;background:var(--surface-hover);width:160px;height:160px;font-size:var(--fs-d56);font-weight:var(--fw-600);justify-content:center;align-items:center;display:flex}.profile-upload-btn{text-align:center;flex:none;width:100%}.profile-photo-remove{color:var(--text-muted);font-size:var(--fs-12);cursor:pointer;background:0 0;border:none;padding:0}.profile-photo-remove:hover{color:var(--text);text-decoration:underline}.dm-find{padding:var(--space-2) var(--space-2) 0}.sidebar-find{padding:var(--space-2) var(--space-2) 0;flex:none}.gdm-count{border-radius:var(--radius-sm);background:var(--surface-hover);border:1px solid var(--hairline);width:16px;height:16px;color:var(--text-muted);font-size:var(--fs-11);font-weight:var(--fw-600);justify-content:center;align-items:center;display:inline-flex}.gdm-count-lg{width:24px;height:24px}.dm-pane{width:var(--sidebar-w,300px)}.dm-pane .dm-row{border-radius:var(--radius-sm);padding:6px var(--space-2)}.dm-row.active{background:var(--surface-hover)}.qs-overlay{z-index:50;background:#00000073;justify-content:center;align-items:flex-start;padding-top:12vh;display:flex;position:fixed;inset:0}.qs-panel{background:var(--surface);border:1px solid var(--hairline);border-radius:var(--radius-lg);width:min(560px,100vw - 48px);overflow:hidden;box-shadow:0 16px 48px #00000073}.qs-input{width:100%;padding:var(--space-3) var(--space-4);border:0;border-bottom:1px solid var(--hairline);color:var(--text);font-size:var(--fs-15);background:0 0;outline:none}.qs-list{padding:var(--space-1);max-height:320px;margin:0;list-style:none;overflow-y:auto}.qs-item{align-items:center;gap:var(--space-2);width:100%;padding:7px var(--space-3);border-radius:var(--radius-md);color:var(--text);font-size:var(--fs-14);text-align:left;cursor:pointer;background:0 0;border:0;display:flex}.qs-item.active{background:var(--surface-hover)}.qs-item .label{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.qs-hint{color:var(--text-faint);font-size:var(--fs-11)}.qs-empty{padding:var(--space-3);color:var(--text-faint);font-size:var(--fs-13)}.qs-help{border-collapse:collapse;width:100%}.qs-help td{padding:5px var(--space-2);font-size:var(--fs-13)}.qs-help-keys{color:var(--text-muted);font-family:var(--font-mono,monospace);white-space:nowrap}.msg-action.on{color:var(--primary)}.msg-pinned-flag{color:var(--text-faint);font-size:var(--fs-11);margin-bottom:2px}.pin-list{gap:var(--space-2);flex-direction:column;max-height:420px;display:flex;overflow-y:auto}.pin-row{text-align:left;width:100%;padding:var(--space-2) var(--space-3);border:1px solid var(--hairline);border-radius:var(--radius-md);color:var(--text);cursor:pointer;background:0 0;display:block}.pin-row:hover{background:var(--surface-hover)}.later-row{align-items:center;gap:var(--space-1);padding:0;display:flex}.later-open{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);color:var(--text);text-align:left;cursor:pointer;background:0 0;border:0;flex:1;display:flex}.later-unsave{color:var(--text-faint);padding:var(--space-2);cursor:pointer;background:0 0;border:0}.later-unsave:hover{color:var(--danger)}.notify-seg{gap:var(--space-1);display:flex}.notify-seg-item{border:1px solid var(--hairline);border-radius:var(--radius-md);color:var(--text-muted);font-size:var(--fs-12);cursor:pointer;background:0 0;padding:4px 10px}.notify-seg-item.active{border-color:var(--primary);color:var(--text);background:var(--surface-hover)}.channel-item.muted .label{color:var(--text-faint)}.notify-section{gap:var(--space-2);padding:var(--space-2) 0;flex-direction:column;display:flex}.notify-snooze-row{gap:var(--space-2);flex-wrap:wrap;display:flex}.msg-channel-link{color:var(--primary);font:inherit;cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:0;padding:0 2px;display:inline}.msg-channel-link:hover{background:var(--surface-hover)}.dm-group-toggle{margin-top:var(--space-1);border:1px dashed var(--hairline);border-radius:var(--radius-md);width:100%;color:var(--text-muted);font-size:var(--fs-12);cursor:pointer;background:0 0;padding:5px}.dm-group-pick{cursor:pointer;gap:var(--space-2)}.dm-group-actions{padding:var(--space-2);border-top:1px solid var(--hairline);flex:none}.section-toggle{cursor:pointer;text-align:left;border-radius:var(--radius-sm);background:0 0;border:0;align-items:center;gap:4px;width:100%;display:flex}.section-toggle:hover{background:var(--surface-hover);color:var(--text)}.section-glyph{flex:none;justify-content:center;align-items:center;width:16px;height:16px;display:inline-flex;position:relative}.section-icon{display:inline-flex}.section-toggle:hover .section-icon{opacity:0}.section-chev{opacity:0;justify-content:center;align-items:center;transition:transform .12s;display:inline-flex;position:absolute;inset:0;transform:rotate(-90deg)}.section-toggle:hover .section-chev{opacity:1}.section-chev.closed{transform:rotate(180deg)}.channel-item{align-items:center;display:flex}div.channel-item{padding:0 var(--space-2) 0 0}.channel-item-main{color:inherit;font:inherit;padding:0 0 0 calc(var(--space-2) + 12px);cursor:pointer;background:0 0;border:0;flex:1;align-items:center;gap:8px;min-width:0;height:32px;display:flex}.channel-star{color:var(--text-faint);cursor:pointer;font-size:var(--fs-12);visibility:hidden;background:0 0;border:0;align-self:stretch;padding:0 2px}.channel-item:hover .channel-star,.channel-star.on{visibility:visible}.channel-star.on{color:var(--primary)}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.draft-mark{color:var(--text-faint);font-size:var(--fs-11)}.emoji-picker{width:292px;padding:var(--space-2)}.emoji-picker-search{width:100%;padding:6px var(--space-2);margin-bottom:var(--space-2);background:var(--input);border:1px solid var(--hairline);border-radius:var(--radius-md);color:var(--text);font-size:var(--fs-13);outline:none}.emoji-picker-label{color:var(--text-faint);font-size:var(--fs-11);margin:var(--space-1) 0}.emoji-picker-grid{grid-template-columns:repeat(8,1fr);gap:2px;max-height:208px;display:grid;overflow-y:auto}.emoji-picker-grid button{font-size:var(--fs-18);border-radius:var(--radius-sm);cursor:pointer;background:0 0;border:0;padding:4px}.emoji-picker-grid button:hover{background:var(--surface-hover)}.emoji-picker-empty{color:var(--text-faint);font-size:var(--fs-12);padding:var(--space-2);grid-column:1/-1}.react-pop-full{padding:0}.react-pop-float{z-index:60;position:fixed;top:auto;right:auto}.huddle-bar{z-index:45;width:260px;padding:var(--space-3);background:var(--surface);border:1px solid var(--hairline);border-radius:var(--radius-lg);gap:var(--space-2);flex-direction:column;display:flex;position:fixed;bottom:12px;left:64px;box-shadow:0 8px 32px #0006}.huddle-bar-head{align-items:center;gap:var(--space-2);color:var(--primary);font-weight:var(--fw-600);font-size:var(--fs-13);display:flex}.huddle-bar-ch{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.huddle-bar-names{color:var(--text-muted);font-size:var(--fs-12)}.huddle-bar-tag{margin-left:var(--space-2);color:var(--text-faint);font-size:var(--fs-11)}.huddle-bar-rec{color:var(--danger);font-size:var(--fs-11);font-weight:var(--fw-600);align-items:center;gap:4px;margin-left:auto;display:inline-flex}.huddle-bar-rec:before{content:"";background:var(--danger);border-radius:50%;width:6px;height:6px}.msg.huddle-log .msg-content{border-left:2px solid var(--primary);padding-left:var(--space-2)}.msg.huddle-log .msg-body{color:var(--text-muted)}.huddle-bar-actions{gap:var(--space-2);display:flex}.huddle-ring{left:var(--space-3);bottom:var(--space-3);z-index:60;align-items:center;gap:var(--space-2);width:320px;padding:var(--space-3);background:var(--surface);border:1px solid var(--primary);border-radius:var(--radius-lg);display:flex;position:fixed;box-shadow:0 8px 32px #0006}.huddle-ring-avatar{background:var(--primary);width:38px;height:38px;color:var(--on-accent);border-radius:50%;flex:none;justify-content:center;align-items:center;animation:1.2s ease-in-out infinite huddle-ring-pulse;display:flex}@keyframes huddle-ring-pulse{50%{box-shadow:0 0 0 8px color-mix(in srgb, var(--primary) 25%, transparent)}}@media (prefers-reduced-motion:reduce){.huddle-ring-avatar{animation:none}}.huddle-ring-body{flex:1;min-width:0}.huddle-ring-name{font-size:var(--fs-14);font-weight:var(--fw-600);color:var(--text)}.huddle-ring-sub{font-size:var(--fs-12);color:var(--text-muted)}.huddle-btn.primary{background:var(--primary);border-color:var(--primary);color:var(--on-accent);flex:none}.huddle-btn.danger{flex:none}.huddle-btn{border:1px solid var(--hairline);border-radius:var(--radius-md);color:var(--text);font-size:var(--fs-12);cursor:pointer;background:0 0;flex:1;padding:5px}.huddle-btn.danger{color:var(--danger)}.huddle-mark{color:var(--success);font-size:var(--fs-11);font-weight:var(--fw-600);align-items:center;gap:2px;display:inline-flex}.huddle-mark:before{content:"";background:var(--success);border-radius:50%;width:6px;height:6px;animation:1.6s ease-in-out infinite huddle-pulse}@keyframes huddle-pulse{50%{opacity:.3}}.huddle-banner{align-items:center;gap:var(--space-2);margin:0 var(--space-3);padding:var(--space-2) var(--space-3);border:1px solid var(--success);border-radius:var(--radius-md);background:color-mix(in srgb, var(--success) 8%, transparent);font-size:var(--fs-13);display:flex}.huddle-banner-avatars{display:flex}.huddle-banner-avatars>*{border:2px solid var(--surface);border-radius:50%;margin-right:-6px}.huddle-banner-text{color:var(--text);font-weight:var(--fw-600);flex:1}.msg-actions:has(.react-pop-full){opacity:1;pointer-events:auto}.act-context-empty{flex:1;justify-content:center;align-items:center;display:flex}.ws-mark-img{object-fit:cover;border-radius:inherit;width:100%;height:100%;display:block;position:absolute;inset:0}.ws-btn,.ws-pop-mark{position:relative}
