@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (width<=1279px){.app-panel{box-shadow:var(--shadow-lg);position:absolute;top:0;bottom:0;right:0}}@media (width<=1023px){.app-sidebar{width:300px;min-width:280px}}@media (width<=639px){.app-rail{display:none}.mobile-bottom-nav,.mobile-fab{display:flex}#view-sidebar{border-right:none;width:100vw;min-width:100vw;max-width:100vw}#view-chat{width:100vw;height:100dvh;z-index:var(--z-modal);transition:transform var(--transition-normal);position:fixed;top:0;left:0;transform:translate(100%)}#view-chat.active{transform:translate(0)}.chat-composer-wrapper{padding-bottom:calc(12px + env(safe-area-inset-bottom,0px))}.composer-textarea{font-size:16px!important}.app-panel{width:100vw;min-width:100vw}#btn-mobile-back{display:inline-flex!important}}@keyframes pulseHighlight{0%{background-color:var(--color-primary-light);border-radius:var(--radius-md)}to{background-color:#0000}}@media (width<=639px){.message-bubble-wrapper{max-width:86%}}.media-grid.count-2,.media-grid.count-3,.media-grid.count-4{grid-template-columns:1fr 1fr}@keyframes typingBounce{0%,80%,to{transform:translateY(0)}40%{transform:translateY(-6px)}}@keyframes toastSlideIn{0%{opacity:0;transform:translate(50px)}to{opacity:1;transform:translate(0)}}:root{--color-primary:#5b6cff;--color-primary-hover:#4858e6;--color-primary-light:#5b6cff1f;--color-primary-contrast:#fff;--color-success:#10b981;--color-warning:#f59e0b;--color-danger:#ef4444;--color-info:#0ea5e9;--bg-app:#f4f5f8;--bg-rail:#fff;--bg-sidebar:#fff;--bg-main:#f8fafc;--bg-panel:#fff;--bg-card:#fff;--bg-hover:#f1f5f9;--bg-active:#e2e8f0;--bg-input:#f1f5f9;--border-color:#e2e8f0;--border-subtle:#edf2f7;--text-main:#0f172a;--text-muted:#64748b;--text-dim:#94a3b8;--bubble-me:#5b6cff;--bubble-me-text:#fff;--bubble-me-time:#ffffffbf;--bubble-other:#fff;--bubble-other-text:#0f172a;--bubble-other-time:#64748b;--font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-size-root:15px;--font-size-xs:.75rem;--font-size-sm:.8125rem;--font-size-base:.9375rem;--font-size-md:1rem;--font-size-lg:1.125rem;--font-size-xl:1.35rem;--font-size-2xl:1.6rem;--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--radius-xl:22px;--radius-full:9999px;--radius-bubble:18px;--shadow-xs:0 1px 2px #0000000a;--shadow-sm:0 2px 6px #0000000f;--shadow-md:0 4px 14px #00000014;--shadow-lg:0 10px 25px #0000001f;--shadow-float:0 12px 32px #5b6cff47;--transition-fast:.15s cubic-bezier(.4, 0, .2, 1);--transition-normal:.22s cubic-bezier(.4, 0, .2, 1);--transition-bounce:.35s cubic-bezier(.34, 1.56, .64, 1);--z-base:1;--z-header:20;--z-floating:50;--z-drawer:100;--z-modal:1000;--z-lightbox:1500;--z-toast:2000}*,:before,:after{box-sizing:border-box;-webkit-tap-highlight-color:transparent;margin:0;padding:0}html,body{width:100%;height:100%;font-family:var(--font-family);font-size:var(--font-size-root);color:var(--text-main);background-color:var(--bg-app);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-user-select:none;user-select:none;line-height:1.45;overflow:hidden}.selectable,.message-bubble,.note-text,input,textarea{-webkit-user-select:text;user-select:text}button,input,textarea,select{font:inherit;color:inherit;background:0 0;border:none;outline:none}button{cursor:pointer;touch-action:manipulation;justify-content:center;align-items:center;display:inline-flex}a{color:var(--color-primary);text-decoration:none}a:hover{text-decoration:underline}ul,ol{list-style:none}img,svg,video{max-width:100%;display:block}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{border-radius:var(--radius-full);background:#94a3b866}::-webkit-scrollbar-thumb:hover{background:#64748b99}.no-scrollbar::-webkit-scrollbar{display:none}.no-scrollbar{-ms-overflow-style:none;scrollbar-width:none}:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}[data-theme=dark]{--bg-app:#0f172a;--bg-rail:#0b1120;--bg-sidebar:#131d35;--bg-main:#0b1329;--bg-panel:#131d35;--bg-card:#1e293b;--bg-hover:#1e293b;--bg-active:#28354b;--bg-input:#1a243b;--border-color:#243048;--border-subtle:#1c273d;--text-main:#f1f5f9;--text-muted:#94a3b8;--text-dim:#64748b;--bubble-other:#1e293b;--bubble-other-text:#f1f5f9;--bubble-other-time:#94a3b8;--shadow-xs:0 1px 2px #0000004d;--shadow-sm:0 2px 6px #00000059;--shadow-md:0 4px 14px #0006;--shadow-lg:0 10px 25px #00000080}[data-theme=oled]{--bg-app:#000;--bg-rail:#000;--bg-sidebar:#050505;--bg-main:#000;--bg-panel:#080808;--bg-card:#121212;--bg-hover:#1c1c1e;--bg-active:#2c2c2e;--bg-input:#151515;--border-color:#202022;--border-subtle:#161618;--text-main:#fff;--text-muted:#a1a1aa;--text-dim:#71717a;--bubble-other:#18181b;--bubble-other-text:#fff;--bubble-other-time:#a1a1aa}[data-accent=emerald]{--color-primary:#10b981;--color-primary-hover:#059669;--color-primary-light:#10b9811f;--bubble-me:#10b981}[data-accent=orange]{--color-primary:#f97316;--color-primary-hover:#ea580c;--color-primary-light:#f973161f;--bubble-me:#f97316}[data-accent=rose]{--color-primary:#f43f5e;--color-primary-hover:#e11d48;--color-primary-light:#f43f5e1f;--bubble-me:#f43f5e}[data-accent=cyan]{--color-primary:#06b6d4;--color-primary-hover:#0891b2;--color-primary-light:#06b6d41f;--bubble-me:#0891b2}[data-accent=violet]{--color-primary:#8b5cf6;--color-primary-hover:#7c3aed;--color-primary-light:#8b5cf61f;--bubble-me:#8b5cf6}[data-accent=amber]{--color-primary:#f59e0b;--color-primary-hover:#d97706;--color-primary-light:#f59e0b1f;--bubble-me:#d97706}[data-accent=crimson]{--color-primary:#dc2626;--color-primary-hover:#b91c1c;--color-primary-light:#dc26261f;--bubble-me:#dc2626}[data-accent=classic-blue]{--color-primary:#2563eb;--color-primary-hover:#1d4ed8;--color-primary-light:#2563eb1f;--bubble-me:#2563eb}[data-font-size=small]{--font-size-root:13.5px}[data-font-size=medium]{--font-size-root:15px}[data-font-size=large]{--font-size-root:16.5px}[data-density=compact] .message-row{margin-bottom:2px!important}[data-density=compact] .message-bubble{padding:6px 10px!important}[data-density=comfortable] .message-row{margin-bottom:8px!important}[data-bubble-radius=sharp]{--radius-bubble:8px}[data-bubble-radius=normal]{--radius-bubble:18px}[data-bubble-radius=round]{--radius-bubble:26px}.chat-messages-container[data-wallpaper=default]{background-color:var(--bg-main)}.chat-messages-container[data-wallpaper=dots]{background-color:var(--bg-main);background-image:radial-gradient(var(--border-color) 1.2px, transparent 1.2px);background-size:20px 20px}.chat-messages-container[data-wallpaper=gradient]{background:linear-gradient(135deg, #5b6cff14 0%, #10b9810f 100%), var(--bg-main)}.chat-messages-container[data-wallpaper=doodle]{background-color:var(--bg-main);background-image:radial-gradient(circle at 10% 20%,#5b6cff0a 0%,#0000 20%),radial-gradient(circle at 90% 80%,#f43f5e0a 0%,#0000 25%)}#app{background-color:var(--bg-app);width:100vw;height:100dvh;display:flex;position:relative;overflow:hidden}#offline-banner{background:var(--color-danger);color:#fff;font-size:var(--font-size-xs);text-align:center;z-index:var(--z-toast);box-shadow:var(--shadow-sm);transition:transform var(--transition-normal);justify-content:center;align-items:center;gap:8px;padding:6px 12px;font-weight:600;display:flex;position:fixed;top:0;left:0;right:0;transform:translateY(-100%)}#offline-banner.active{transform:translateY(0)}.app-rail{background-color:var(--bg-rail);border-right:1px solid var(--border-color);width:72px;min-width:72px;height:100%;z-index:var(--z-header);flex-direction:column;align-items:center;padding:14px 0 16px;display:flex}.rail-brand{margin-bottom:20px}.rail-logo-btn{border-radius:var(--radius-lg);background:linear-gradient(135deg, var(--color-primary) 0%, #a855f7 100%);color:#fff;width:46px;height:46px;box-shadow:var(--shadow-md);transition:transform var(--transition-fast);justify-content:center;align-items:center;display:flex}.rail-logo-btn:hover{transform:scale(1.05)}.rail-nav{flex-direction:column;flex:1;align-items:center;gap:8px;width:100%;display:flex}.rail-item{border-radius:var(--radius-md);width:48px;height:48px;color:var(--text-muted);transition:all var(--transition-fast);justify-content:center;align-items:center;display:flex;position:relative}.rail-item:hover{color:var(--color-primary);background-color:var(--bg-hover)}.rail-item.active{color:var(--color-primary);background-color:var(--color-primary-light)}.rail-item.active:before{content:"";border-radius:0 var(--radius-sm) var(--radius-sm) 0;background-color:var(--color-primary);width:4px;height:24px;position:absolute;left:-12px}.rail-badge{border-radius:var(--radius-full);background-color:var(--color-danger);color:#fff;border:2px solid var(--bg-rail);justify-content:center;align-items:center;min-width:18px;height:18px;padding:0 4px;font-size:10px;font-weight:700;display:flex;position:absolute;top:6px;right:6px}.rail-footer{flex-direction:column;align-items:center;gap:12px;display:flex}.app-sidebar{background-color:var(--bg-sidebar);border-right:1px solid var(--border-color);width:360px;min-width:320px;max-width:400px;height:100%;z-index:var(--z-header);flex-direction:column;display:flex;position:relative}.sidebar-header{border-bottom:1px solid var(--border-subtle);flex-direction:column;gap:12px;padding:16px 16px 12px;display:flex}.sidebar-top-bar{justify-content:space-between;align-items:center;display:flex}.sidebar-title{font-size:var(--font-size-xl);letter-spacing:-.02em;font-weight:700}.sidebar-search-box{background-color:var(--bg-input);border-radius:var(--radius-md);color:var(--text-muted);transition:all var(--transition-fast);border:1px solid #0000;align-items:center;gap:8px;padding:8px 12px;display:flex}.sidebar-search-box:focus-within{border-color:var(--color-primary);background-color:var(--bg-card);box-shadow:0 0 0 2px var(--color-primary-light)}.sidebar-search-input{font-size:var(--font-size-sm);color:var(--text-main);flex:1}.sidebar-filters-scroll{border-bottom:1px solid var(--border-subtle);gap:6px;padding:0 16px 10px;display:flex;overflow-x:auto}.filter-pill{border-radius:var(--radius-full);font-size:var(--font-size-xs);white-space:nowrap;color:var(--text-muted);background-color:var(--bg-hover);transition:all var(--transition-fast);padding:5px 12px;font-weight:500}.filter-pill:hover{color:var(--text-main);background-color:var(--bg-active)}.filter-pill.active{background-color:var(--color-primary);color:var(--color-primary-contrast);font-weight:600}.sidebar-list-container{flex:1;padding:8px 0;overflow-y:auto}.app-main{background-color:var(--bg-main);flex-direction:column;flex:1;height:100%;display:flex;position:relative;overflow:hidden}.chat-header{background-color:var(--bg-card);border-bottom:1px solid var(--border-color);height:64px;min-height:64px;z-index:var(--z-header);justify-content:space-between;align-items:center;padding:0 16px;display:flex}.chat-header-info{cursor:pointer;flex:1;align-items:center;gap:12px;min-width:0;display:flex}.chat-header-actions{align-items:center;gap:4px;display:flex}.chat-messages-container{flex-direction:column;flex:1;padding:16px 20px;display:flex;position:relative;overflow-y:auto}.scroll-to-bottom-btn{background-color:var(--bg-card);color:var(--text-main);border:1px solid var(--border-color);box-shadow:var(--shadow-lg);border-radius:var(--radius-full);font-size:var(--font-size-xs);z-index:var(--z-floating);cursor:pointer;opacity:0;pointer-events:none;transition:all var(--transition-normal);align-items:center;gap:6px;padding:8px 14px;font-weight:600;display:flex;position:absolute;bottom:84px;right:24px;transform:translateY(20px)}.scroll-to-bottom-btn.visible{opacity:1;pointer-events:auto;transform:translateY(0)}.pinned-messages-bar{background-color:var(--bg-card);border-bottom:1px solid var(--border-subtle);font-size:var(--font-size-xs);cursor:pointer;z-index:10;transition:background-color var(--transition-fast);align-items:center;gap:10px;padding:8px 16px;display:flex}.pinned-messages-bar:hover{background-color:var(--bg-hover)}.chat-composer-wrapper{background-color:var(--bg-card);border-top:1px solid var(--border-color);z-index:var(--z-header);padding:12px 16px;position:relative}.composer-reply-bar{background-color:var(--bg-hover);border-left:3px solid var(--color-primary);border-radius:var(--radius-sm);font-size:var(--font-size-xs);justify-content:space-between;align-items:center;margin-bottom:8px;padding:6px 12px;display:flex}.composer-form{background-color:var(--bg-input);border-radius:var(--radius-xl);transition:all var(--transition-fast);border:1px solid #0000;align-items:flex-end;gap:8px;padding:6px 12px;display:flex}.composer-form:focus-within{border-color:var(--color-primary);background-color:var(--bg-card);box-shadow:0 0 0 2px var(--color-primary-light)}.composer-textarea{resize:none;min-height:24px;max-height:140px;font-size:var(--font-size-base);color:var(--text-main);background:0 0;flex:1;padding:4px 0;line-height:1.4}.composer-action-btn{border-radius:var(--radius-full);width:36px;height:36px;color:var(--text-muted);transition:all var(--transition-fast);flex-shrink:0}.composer-action-btn:hover{color:var(--color-primary);background-color:var(--bg-hover)}.composer-send-btn{border-radius:var(--radius-full);background-color:var(--color-primary);width:38px;height:38px;color:var(--color-primary-contrast);box-shadow:var(--shadow-sm);transition:all var(--transition-bounce);flex-shrink:0}.composer-send-btn:hover{background-color:var(--color-primary-hover);transform:scale(1.05)}.composer-send-btn:active{transform:scale(.95)}.app-panel{background-color:var(--bg-panel);border-left:1px solid var(--border-color);width:320px;min-width:300px;height:100%;z-index:var(--z-header);transition:transform var(--transition-normal);flex-direction:column;display:flex;overflow-y:auto}.app-panel.hidden{display:none}.mobile-bottom-nav{background-color:var(--bg-card);border-top:1px solid var(--border-color);height:60px;min-height:60px;padding-bottom:env(safe-area-inset-bottom,0px);z-index:var(--z-header);justify-content:space-around;align-items:center;display:none}.mobile-nav-item{color:var(--text-muted);width:52px;height:100%;transition:color var(--transition-fast);flex-direction:column;justify-content:center;align-items:center;gap:3px;font-size:10px;font-weight:500;display:flex;position:relative}.mobile-nav-item.active{color:var(--color-primary);font-weight:600}.mobile-fab{border-radius:var(--radius-full);background-color:var(--color-primary);width:54px;height:54px;color:var(--color-primary-contrast);box-shadow:var(--shadow-float);z-index:var(--z-floating);transition:transform var(--transition-bounce);justify-content:center;align-items:center;display:none;position:fixed;bottom:80px;right:20px}.mobile-fab:active{transform:scale(.92)}@media (width<=1279px){.app-panel{box-shadow:var(--shadow-lg);position:absolute;top:0;bottom:0;right:0}}@media (width<=1023px){.app-sidebar{width:300px;min-width:280px}}@media (width<=639px){.app-rail{display:none}.mobile-bottom-nav,.mobile-fab{display:flex}#view-sidebar{border-right:none;width:100vw;min-width:100vw;max-width:100vw}#view-chat{width:100vw;height:100dvh;z-index:var(--z-modal);transition:transform var(--transition-normal);position:fixed;top:0;left:0;transform:translate(100%)}#view-chat.active{transform:translate(0)}.chat-composer-wrapper{padding-bottom:calc(12px + env(safe-area-inset-bottom,0px))}.composer-textarea{font-size:16px!important}.app-panel{width:100vw;min-width:100vw}#btn-mobile-back{display:inline-flex!important}}.avatar{color:#fff;border-radius:var(--radius-full);text-transform:uppercase;flex-shrink:0;justify-content:center;align-items:center;font-weight:600;display:inline-flex;position:relative}.avatar-xs{width:26px;height:26px;font-size:11px}.avatar-sm{width:34px;height:34px;font-size:13px}.avatar-md{width:44px;height:44px;font-size:16px}.avatar-lg{width:56px;height:56px;font-size:20px}.avatar-xl{width:76px;height:76px;font-size:28px}.avatar img{border-radius:inherit;object-fit:cover;width:100%;height:100%}.avatar-badge{border-radius:var(--radius-full);border:2px solid var(--bg-card);width:12px;height:12px;position:absolute;bottom:0;right:0}.avatar-badge.online{background-color:var(--color-success)}.avatar-badge.away{background-color:var(--color-warning)}.avatar-badge.busy{background-color:var(--color-danger)}.avatar-badge.offline{background-color:var(--text-dim)}.chat-item{cursor:pointer;border-radius:var(--radius-md);transition:background-color var(--transition-fast);align-items:center;gap:12px;margin:1px 8px;padding:10px 16px;display:flex;position:relative}.chat-item:hover{background-color:var(--bg-hover)}.chat-item.active{background-color:var(--color-primary-light)}.chat-item-content{flex:1;min-width:0}.chat-item-top{justify-content:space-between;align-items:center;margin-bottom:3px;display:flex}.chat-item-name{font-size:var(--font-size-base);color:var(--text-main);white-space:nowrap;text-overflow:ellipsis;font-weight:600;overflow:hidden}.chat-item-time{font-size:var(--font-size-xs);color:var(--text-dim);flex-shrink:0}.chat-item-bottom{justify-content:space-between;align-items:center;gap:6px;display:flex}.chat-item-preview{font-size:var(--font-size-sm);color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;flex:1;overflow:hidden}.chat-item-preview.draft{color:var(--color-danger);font-style:italic}.chat-item-badges{flex-shrink:0;align-items:center;gap:4px;display:flex}.unread-badge{background-color:var(--color-primary);color:#fff;border-radius:var(--radius-full);justify-content:center;align-items:center;min-width:18px;height:18px;padding:0 5px;font-size:11px;font-weight:700;display:inline-flex}.pin-icon{color:var(--text-dim)}.date-divider{justify-content:center;align-items:center;margin:16px 0;display:flex;position:relative}.date-divider-pill{background-color:var(--bg-hover);border:1px solid var(--border-color);border-radius:var(--radius-full);font-size:var(--font-size-xs);color:var(--text-muted);box-shadow:var(--shadow-xs);padding:4px 14px;font-weight:600}.message-row{align-items:flex-end;gap:10px;margin-bottom:6px;display:flex;position:relative}.message-row.me{justify-content:flex-end}.message-row.other{justify-content:flex-start}.message-row.highlight{animation:1.6s ease-out pulseHighlight}.message-bubble-wrapper{flex-direction:column;max-width:72%;display:flex}@media (width<=639px){.message-bubble-wrapper{max-width:86%}}.message-sender-name{font-size:var(--font-size-xs);color:var(--color-primary);margin-bottom:2px;padding-left:2px;font-weight:600}.message-bubble{border-radius:var(--radius-bubble);font-size:var(--font-size-base);box-shadow:var(--shadow-xs);word-break:break-word;transition:background-color var(--transition-fast);padding:8px 14px;position:relative}.message-row.me .message-bubble{background-color:var(--bubble-me);color:var(--bubble-me-text);border-bottom-right-radius:4px}.message-row.other .message-bubble{background-color:var(--bubble-other);color:var(--bubble-other-text);border:1px solid var(--border-subtle);border-bottom-left-radius:4px}.message-meta{float:right;opacity:.8;white-space:nowrap;align-items:center;gap:4px;margin-top:4px;margin-left:10px;font-size:11px;display:inline-flex}.message-row.me .message-meta{color:var(--bubble-me-time)}.message-row.other .message-meta{color:var(--bubble-other-time)}.tick-icon{align-items:center;display:inline-flex}.tick-read{color:#38bdf8}.message-reply-preview{border-left:3px solid var(--color-primary);border-radius:var(--radius-sm);cursor:pointer;font-size:var(--font-size-xs);background:#0000000d;flex-direction:column;margin-bottom:6px;padding:4px 8px;display:flex}.message-row.me .message-reply-preview{background:#ffffff26;border-left-color:#fff}.reply-preview-sender{margin-bottom:1px;font-weight:700}.reply-preview-text{opacity:.85;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.forwarded-tag{opacity:.75;align-items:center;gap:4px;margin-bottom:4px;font-size:11px;font-style:italic;display:flex}.message-text{line-height:1.48}.message-text p{margin-bottom:4px}.message-text p:last-child{margin-bottom:0}.message-text strong{font-weight:700}.message-text em{font-style:italic}.message-text del{text-decoration:line-through}.message-text code{border-radius:var(--radius-sm);background:#00000014;padding:2px 5px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.88em}.message-row.me .message-text code{background:#ffffff38}.message-text pre{border-radius:var(--radius-md);color:#f8fafc;background:#1e293b;margin:6px 0;padding:8px 12px;font-family:ui-monospace,SFMono-Regular,monospace;font-size:.85em;overflow-x:auto}.message-text blockquote{opacity:.88;border-left:3px solid;margin:6px 0;padding-left:8px}.message-text ul{margin:4px 0;padding-left:20px;list-style:outside}.media-grid{border-radius:var(--radius-md);gap:4px;max-width:380px;margin-bottom:6px;display:grid;overflow:hidden}.media-grid.count-1{grid-template-columns:1fr}.media-grid.count-2,.media-grid.count-3,.media-grid.count-4{grid-template-columns:1fr 1fr}.media-grid-item{cursor:pointer;aspect-ratio:4/3;background-color:var(--bg-hover);position:relative;overflow:hidden}.media-grid.count-1 .media-grid-item{aspect-ratio:auto;max-height:320px}.media-grid-item img,.media-grid-item video{object-fit:cover;width:100%;height:100%;transition:transform var(--transition-fast)}.media-grid-item:hover img{transform:scale(1.02)}.media-grid-more{color:#fff;font-size:var(--font-size-xl);background:#0000008c;justify-content:center;align-items:center;font-weight:700;display:flex;position:absolute;inset:0}.doc-card{border-radius:var(--radius-md);background:#0000000d;align-items:center;gap:12px;margin-bottom:4px;padding:10px 12px;display:flex}.message-row.me .doc-card{background:#ffffff29}.doc-icon{border-radius:var(--radius-md);background-color:var(--color-primary);color:#fff;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.doc-info{flex:1;min-width:0}.doc-name{font-weight:600;font-size:var(--font-size-sm);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.doc-size{opacity:.75;font-size:11px}.doc-actions{gap:6px;display:flex}.voice-card{align-items:center;gap:10px;min-width:210px;padding:4px 0;display:flex}.voice-play-btn{border-radius:var(--radius-full);background-color:var(--color-primary);color:#fff;width:36px;height:36px;transition:transform var(--transition-fast);flex-shrink:0;justify-content:center;align-items:center;display:flex}.voice-play-btn:hover{transform:scale(1.06)}.message-row.me .voice-play-btn{color:var(--color-primary);background-color:#fff}.voice-waveform{cursor:pointer;flex:1;align-items:center;gap:2px;height:24px;display:flex}.voice-bar{opacity:.45;background:currentColor;border-radius:2px;width:3px;transition:height .15s,opacity .15s}.voice-bar.active{opacity:1}.voice-speed-pill{border-radius:var(--radius-full);cursor:pointer;background:#00000014;padding:2px 6px;font-size:11px;font-weight:700}.message-row.me .voice-speed-pill{background:#fff3}.poll-card{width:100%;min-width:250px;padding:6px 0}.poll-question{font-weight:700;font-size:var(--font-size-base);margin-bottom:10px}.poll-option{border-radius:var(--radius-md);cursor:pointer;background:#0000000d;justify-content:space-between;align-items:center;margin-bottom:8px;padding:8px 12px;display:flex;position:relative;overflow:hidden}.message-row.me .poll-option{background:#ffffff26}.poll-progress-bar{background:var(--color-primary-light);z-index:1;border-radius:inherit;transition:width .3s;position:absolute;top:0;bottom:0;left:0}.message-row.me .poll-progress-bar{background:#ffffff4d}.poll-option-content{z-index:2;font-weight:500;font-size:var(--font-size-sm);align-items:center;gap:8px;display:flex;position:relative}.poll-option-percent{z-index:2;font-weight:700;font-size:var(--font-size-xs);position:relative}.poll-footer{opacity:.75;margin-top:6px;font-size:11px}.reactions-bar{flex-wrap:wrap;gap:4px;margin-top:4px;display:flex}.reaction-pill{border-radius:var(--radius-full);background-color:var(--bg-card);border:1px solid var(--border-color);cursor:pointer;box-shadow:var(--shadow-xs);transition:transform var(--transition-fast);align-items:center;gap:4px;padding:2px 7px;font-size:12px;display:inline-flex}.reaction-pill:hover{transform:scale(1.1)}.reaction-pill.user-reacted{border-color:var(--color-primary);background-color:var(--color-primary-light)}.typing-indicator{border-radius:var(--radius-bubble);background-color:var(--bg-card);border:1px solid var(--border-subtle);align-items:center;gap:4px;width:fit-content;margin-bottom:8px;padding:8px 14px;display:flex}.typing-dot{background-color:var(--text-muted);border-radius:var(--radius-full);width:7px;height:7px;animation:1.4s ease-in-out infinite typingBounce}.typing-dot:first-child{animation-delay:0s}.typing-dot:nth-child(2){animation-delay:.2s}.typing-dot:nth-child(3){animation-delay:.4s}.link-preview-card{border-radius:var(--radius-md);border:1px solid var(--border-subtle);background:#0000000a;flex-direction:column;margin-top:6px;display:flex;overflow:hidden}.message-row.me .link-preview-card{background:#ffffff1f;border-color:#fff3}.link-preview-header{opacity:.8;align-items:center;gap:6px;padding:6px 10px;font-size:11px;font-weight:600;display:flex}.link-preview-favicon{border-radius:2px;width:14px;height:14px}.link-preview-body{padding:4px 10px 8px}.link-preview-title{font-weight:600;font-size:var(--font-size-sm);margin-bottom:2px}.link-preview-desc{font-size:var(--font-size-xs);opacity:.8;-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:var(--z-modal);opacity:0;pointer-events:none;transition:opacity var(--transition-normal);background-color:#00000080;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.modal-overlay.active{opacity:1;pointer-events:auto}.modal-card{background-color:var(--bg-card);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);border:1px solid var(--border-color);width:100%;max-width:480px;max-height:90vh;transition:transform var(--transition-bounce);flex-direction:column;display:flex;overflow:hidden;transform:scale(.95)}.modal-overlay.active .modal-card{transform:scale(1)}.modal-header{border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.modal-title{font-size:var(--font-size-lg);font-weight:700}.modal-body{flex:1;padding:20px;overflow-y:auto}.modal-footer{border-top:1px solid var(--border-subtle);background-color:var(--bg-hover);justify-content:flex-end;align-items:center;gap:10px;padding:14px 20px;display:flex}.btn{border-radius:var(--radius-md);font-size:var(--font-size-sm);transition:all var(--transition-fast);padding:8px 16px;font-weight:600}.btn-primary{background-color:var(--color-primary);color:var(--color-primary-contrast)}.btn-primary:hover{background-color:var(--color-primary-hover)}.btn-secondary{background-color:var(--bg-hover);color:var(--text-main);border:1px solid var(--border-color)}.btn-secondary:hover{background-color:var(--bg-active)}.btn-danger{background-color:var(--color-danger);color:#fff}#toast-container{z-index:var(--z-toast);pointer-events:none;flex-direction:column;gap:8px;display:flex;position:fixed;bottom:24px;right:24px}.toast{border-radius:var(--radius-md);background-color:var(--bg-card);color:var(--text-main);border:1px solid var(--border-color);box-shadow:var(--shadow-lg);font-size:var(--font-size-sm);pointer-events:auto;align-items:center;gap:8px;padding:10px 16px;font-weight:500;animation:.3s cubic-bezier(.34,1.56,.64,1) toastSlideIn;display:flex}#lightbox{z-index:var(--z-lightbox);opacity:0;pointer-events:none;transition:opacity var(--transition-normal);background:#000000eb;flex-direction:column;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}#lightbox.active{opacity:1;pointer-events:auto}.lightbox-content{object-fit:contain;border-radius:var(--radius-sm);max-width:90vw;max-height:85vh;box-shadow:var(--shadow-lg)}.lightbox-toolbar{color:#fff;gap:12px;display:flex;position:absolute;top:16px;right:16px}.command-palette-card{max-width:600px}.command-palette-input{width:100%;font-size:var(--font-size-lg);border-bottom:1px solid var(--border-subtle);color:var(--text-main);padding:16px 20px}
