:root{--font-family:system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono:ui-monospace, "SFMono-Regular", "SF Mono", Menlo, Monaco, Consolas, monospace;--color-bg:#0b0d10;--color-bg-top:#0b0d10;--color-surface:#121417;--color-surface-muted:#1a1d22;--color-surface-hover:#23272e;--color-text:#e2e8f0;--color-text-muted:#94a3b8;--color-accent:#60a5fa;--color-accent-strong:#93c5fd;--color-accent-soft:#60a5fa38;--color-border:#2b3038;--color-border-strong:#3a414d;--color-on-accent:#fff;--focus-ring:0 0 0 2px #60a5fa57;--shadow-overlay:0 20px 40px #02061773;--color-primary:#1665d8;--color-primary-light:#60a5fa;--color-success:#57c68a;--color-danger:#f87171;--color-danger-light:#fca5a5;--color-dark:var(--color-bg);--color-dark-lighter:var(--color-surface);--color-light:#f4f6f9;--color-light-darker:#f7f9fc;--color-gray:var(--color-text-muted);--color-gray-light:var(--color-border);--color-gray-text:var(--color-text-muted);--text-dark:#1e293b;--text-light:var(--color-text);--white:#fff;--black:#000;--transparent:transparent;--white-10:#ffffff1a;--white-05:#ffffff0d;--black-60:#0009;--black-50:#00000080;--black-20:#0003;--black-10:#0000001a;--black-07:#00000012;--color-admin-role:#f04747;--color-user-role:#43b581;--font-size-xs:.75rem;--font-size-s:.85rem;--font-size-m:.95rem;--font-size-l:1.15rem;--font-weight-semibold:500;--font-weight-bold:600;--font-weight-extrabold:700;--sidebar-width:15rem;--header-height:3.5rem;--input-height:3rem;--avatar-size-s:2rem;--avatar-size-m:2.25rem;--icon-size-s:1rem;--icon-size-m:1.25rem;--icon-size-l:1.5rem;--icon-size-xl:3rem;--space-xxs:2px;--space-xs:.25rem;--space-s:.5rem;--space-m:.75rem;--space-l:1rem;--space-xl:1.5rem;--space-xxl:3rem;--radius:.5rem;--radius-s:.5rem;--radius-circle:50%;--transition:.2s ease;--border-width:1px;--border-width-accent:.25rem;--bg-primary:var(--color-bg);--bg-secondary:var(--color-surface);--bg-tertiary:var(--color-surface-muted);--text:var(--color-text);--border-color:var(--color-border);--hover-bg:var(--color-surface-hover);--active-bg:var(--color-accent-soft);--input-bg:var(--color-surface-muted);--input-border:var(--color-border);--input-focus-bg:var(--color-surface-hover);--composer-input-max-height:8.5rem;--composer-shadow:0 1rem 2rem #02061747;--modal-overlay:var(--black-60);--shadow:#02061773;color-scheme:dark}body.light-mode{--color-bg:#f4f6f9;--color-bg-top:#f8fafc;--color-surface:#fff;--color-surface-muted:#f7f9fc;--color-surface-hover:#eef3fa;--color-text:#1e293b;--color-text-muted:#64748b;--color-accent:#1665d8;--color-accent-strong:#0f54b8;--color-accent-soft:#1665d824;--color-border:#d6dce7;--color-border-strong:#bfccdc;--color-on-accent:#fff;--color-success:#1f8b57;--color-danger:#b42318;--color-danger-light:#dc3d33;--color-primary:var(--color-accent);--color-primary-light:var(--color-accent-strong);--color-gray:var(--color-text-muted);--color-gray-light:var(--color-border);--color-gray-text:var(--color-text-muted);--bg-primary:var(--color-bg);--bg-secondary:var(--color-surface);--bg-tertiary:var(--color-surface-muted);--text:var(--color-text);--border-color:var(--color-border);--hover-bg:var(--color-surface-hover);--active-bg:#1665d824;--input-bg:var(--color-surface-muted);--input-border:var(--color-border);--input-focus-bg:var(--color-surface-hover);--composer-shadow:0 .85rem 1.75rem #0f172a14;--focus-ring:0 0 0 2px #1665d838;--shadow:#0f172a1a;--shadow-overlay:0 14px 34px #0f172a24;color-scheme:light}*{box-sizing:border-box;font-family:var(--font-family);margin:0;padding:0;font-weight:400}[hidden]{display:none!important}body{background:var(--bg-primary);color:var(--text);height:100dvh;line-height:1.6;overflow:hidden}.icon-sprite{width:0;height:0;position:absolute;overflow:hidden}.icon{width:1.1rem;height:1.1rem;color:inherit;fill:none;stroke:currentColor;stroke-width:1.8px;flex-shrink:0;display:block}button .icon,label .icon,.add-channel .icon,.start-dm .icon,.theme-switch .icon{pointer-events:none}noscript{z-index:10}noscript div.background{background-color:var(--bg-primary);width:100vw;height:100vh;position:absolute;top:0;left:0}noscript div.message{background-color:var(--bg-secondary);border-radius:var(--radius);max-width:25rem;box-shadow:0 .5rem 1rem var(--shadow);padding:var(--space-xl);text-align:center;margin:40vh auto;display:block}.app-container{height:100dvh;display:none}.sidebar{width:var(--sidebar-width);background-color:var(--bg-secondary);border-right:var(--border-width) solid var(--border-color);flex-direction:column;height:100%;display:flex}.main-content{flex-direction:column;flex:1;height:100dvh;display:flex;position:relative;overflow:hidden}.auth-container{place-items:center;width:100%;min-height:100dvh;padding:2rem 1rem;display:grid}.auth-form{background:var(--bg-secondary);border:var(--border-width) solid var(--border-color);border-radius:var(--radius);width:min(100%,26.25rem);box-shadow:var(--shadow-overlay);gap:1.125rem;padding:1.75rem;display:grid}.auth-brand{text-align:center;color:var(--color-text-muted);font-size:.75rem;font-weight:var(--font-weight-extrabold);text-transform:uppercase}.auth-copy{text-align:center;gap:.5rem;margin-bottom:.85rem;display:grid}.auth-copy h2{font-size:1.625rem;font-weight:var(--font-weight-bold);line-height:1.1}.auth-copy p,.auth-field label,.auth-result-message{color:var(--color-text-muted);font-size:.8125rem;line-height:1.45}.auth-fields{gap:.95rem;display:grid}.auth-field{gap:0;margin-bottom:0;display:grid}.auth-field label{margin-bottom:.6rem;line-height:1.25;display:block}.auth-submit{justify-content:center;align-items:center;gap:.5rem;margin-top:.45rem;display:inline-flex}.auth-submit .icon{width:1.125rem;height:1.125rem}.auth-result-message{background:var(--color-surface-muted);border:var(--border-width) solid var(--border-color);border-radius:var(--radius);text-align:center;place-items:center;min-height:3rem;padding:1rem;display:grid}.auth-back{text-align:center}.auth-back a{color:var(--color-primary);font-size:var(--font-size-s);align-items:center;gap:var(--space-xs);text-decoration:none;display:inline-flex}.auth-back a:hover{text-decoration:underline}.auth-toggle{text-align:center}.auth-toggle a{color:var(--color-primary);font-size:var(--font-size-s);text-decoration:none}.auth-toggle a:hover{text-decoration:underline}.auth-forgot-password{text-align:center;margin-top:.25rem}.auth-forgot-password a{color:var(--color-primary);line-height:1.4;font-size:var(--font-size-s);padding:.15rem 0;text-decoration:none;display:inline-block}.auth-forgot-password a:hover{text-decoration:underline}#oauth-providers{gap:var(--space-s);flex-direction:column;display:flex}.oauth-btn{justify-content:center;align-items:center;gap:var(--space-s);width:100%;padding:var(--space-m) var(--space-l);border:var(--border-width) solid var(--border-color);border-radius:var(--radius);background:var(--input-bg);color:var(--text);font-size:var(--font-size-m);cursor:pointer;transition:background var(--transition), border-color var(--transition);display:flex}.oauth-btn:hover{background:var(--hover-bg);border-color:var(--color-primary)}.auth-form .oauth-btn{background:var(--input-bg);border:var(--border-width) solid var(--border-color);color:var(--text)}.auth-form .oauth-btn:hover{background:var(--hover-bg);border-color:var(--color-primary)}.oauth-btn-icon{flex-shrink:0;align-items:center;display:flex}.oauth-btn-icon svg{display:block}.auth-divider{align-items:center;gap:var(--space-m);margin:var(--space-l) 0;color:var(--color-gray);font-size:var(--font-size-s);display:flex}.auth-divider:before,.auth-divider:after{content:"";height:var(--border-width);background:var(--border-color);flex:1}.helper-text{color:var(--color-gray);font-size:var(--font-size-xs);margin-top:var(--space-xs);display:block}.magic-link-message{color:var(--text-light);background-color:var(--bg-secondary);font-size:var(--font-size-s);border-radius:.25rem;margin:1.25rem 0;padding:1rem;line-height:1.5}.header{height:var(--header-height);border-bottom:var(--border-width) solid var(--border-color);background-color:var(--bg-secondary);padding:0 var(--space-l);justify-content:space-between;align-items:center;display:flex}.header h2{align-items:center;gap:var(--space-s);font-size:var(--font-size-l);font-weight:var(--font-weight-semibold);display:flex}.header h2:before{content:var(--channel-prefix,"#");color:var(--color-primary)}h2#current-channel-name{cursor:default;-webkit-user-select:none;user-select:none}.menu-toggle{cursor:pointer;color:var(--color-gray);margin-right:var(--space-m);font-size:var(--icon-size-m);display:none}.server-name{height:var(--header-height);border-bottom:var(--border-width) solid var(--border-color);cursor:pointer;transition:var(--transition);padding:0 var(--space-l);align-items:center;display:flex}.server-name:hover{background-color:var(--hover-bg)}.server-name-text{font-weight:var(--font-weight-extrabold);text-overflow:ellipsis;white-space:nowrap;width:100%;overflow:hidden}.user-menu{cursor:pointer;align-items:center;gap:var(--space-m);display:flex;position:relative}.user-avatar{background-color:var(--color-primary);color:var(--color-on-accent);border-radius:var(--radius-circle);width:var(--avatar-size-s);height:var(--avatar-size-s);font-size:var(--font-size-s);font-weight:var(--font-weight-bold);-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;display:flex}.user-name{font-weight:var(--font-weight-semibold);-webkit-user-select:none;user-select:none}.user-dropdown{background-color:var(--bg-secondary);border-radius:var(--radius);box-shadow:0 .2rem .5rem var(--shadow);z-index:10;min-width:7.5rem;margin-top:.25rem;display:none;position:absolute;top:100%;right:0}.user-dropdown.show{display:block}.dropdown-item{transition:var(--transition);cursor:pointer;font-size:var(--font-size-s);padding:.6rem 1rem}.dropdown-item:hover{background-color:var(--hover-bg)}.dropdown-item.danger{color:var(--color-danger)}.dropdown-item.danger:hover{background-color:#f047471a}.channels-header{color:var(--color-gray);margin-top:var(--space-s);padding:var(--space-l);font-size:var(--font-size-s);cursor:default;-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;display:flex}.add-channel{cursor:pointer;color:var(--color-gray);transition:var(--transition);font-size:var(--icon-size-m)}.add-channel:hover{color:var(--color-primary)}.channels-list{min-height:0;max-height:min(42vh,22rem);padding:0 var(--space-s);flex:0 auto;overflow-y:auto}.channel-item{cursor:pointer;transition:var(--transition);color:var(--color-gray);border-radius:var(--radius-s);margin-bottom:var(--space-xxs);padding:.5rem var(--space-s);align-items:center;display:flex}.channel-item:before{content:"#";margin-right:var(--space-s)}.channel-item:hover{background-color:var(--hover-bg);color:var(--text)}.channel-item.active{background-color:var(--active-bg);color:var(--color-primary)}.channel-name{align-items:center;gap:var(--space-xs);min-width:0;display:flex}.channel-name-text{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.channel-lock-icon{width:.9rem;height:.9rem}.channel-settings{color:var(--color-gray);cursor:pointer;transition:var(--transition);place-items:center;width:1.5rem;height:1.5rem;margin-left:auto;display:inline-grid}.channel-settings:hover{color:var(--text)}.notification-badge{background-color:var(--color-primary);color:var(--white);border-radius:var(--radius-circle);min-width:1.25rem;height:1.25rem;margin-left:auto;margin-right:var(--space-s);padding:0 var(--space-xs);font-size:var(--font-size-xs);justify-content:center;align-items:center;display:flex}.dm-header{color:var(--color-gray);margin-top:var(--space-s);padding:var(--space-l);font-size:var(--font-size-s);cursor:default;-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;display:flex}.start-dm{cursor:pointer;color:var(--color-gray);transition:var(--transition);font-size:var(--icon-size-m)}.start-dm:hover{color:var(--color-primary)}.dm-list{min-height:0;padding:0 var(--space-s);flex:0 auto;max-height:min(30vh,16rem);overflow-y:auto}.dm-item{cursor:pointer;transition:var(--transition);color:var(--color-gray);border-radius:var(--radius-s);margin-bottom:var(--space-xxs);padding:.5rem var(--space-s);align-items:center;gap:var(--space-s);display:flex}.dm-item:hover{background-color:var(--hover-bg);color:var(--text)}.dm-item.active{background-color:var(--active-bg);color:var(--color-primary)}.dm-avatar{background-color:var(--color-primary);color:var(--white);border-radius:var(--radius-circle);width:1.5rem;height:1.5rem;font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);flex-shrink:0;justify-content:center;align-items:center;display:flex}.dm-name{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.dm-user-list{max-height:15rem;overflow-y:auto}.dm-user-item{cursor:pointer;transition:var(--transition);border-radius:var(--radius-s);margin-bottom:var(--space-xs);padding:var(--space-m);align-items:center;gap:var(--space-m);display:flex}.dm-user-item:hover{background-color:var(--hover-bg)}.dm-user-item .user-avatar{width:var(--avatar-size-s);height:var(--avatar-size-s)}.dm-user-item .user-info{flex:1}.dm-user-item .user-name{font-weight:var(--font-weight-semibold)}.dm-user-item .user-email{color:var(--color-gray);font-size:var(--font-size-xs)}.messages-area{padding:var(--space-l);flex-direction:column-reverse;flex:1;display:flex;overflow-y:auto}.messages-area.drag-over{background-color:var(--active-bg);border:2px dashed var(--color-primary)}.empty-state{height:100%;color:var(--color-gray);text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:0 1.25rem;display:flex}.empty-state-icon{color:var(--color-primary);margin-bottom:var(--space-l);display:inline-flex}.empty-state-svg{width:var(--icon-size-xl);height:var(--icon-size-xl)}.empty-state h3{margin-bottom:var(--space-s)}.message-date-divider{text-align:center;color:var(--color-gray);margin:var(--space-l) 0;font-size:var(--font-size-xs);position:relative}.message-date-divider:before,.message-date-divider:after{content:"";background-color:var(--border-color);width:calc(50% - 3rem);height:var(--border-width);position:absolute;top:50%}.message-date-divider:before{left:0}.message-date-divider:after{right:0}.message{align-items:flex-start;gap:var(--space-m);padding:var(--space-s) 0;animation:var(--transition) messageAppear;display:flex}.message-avatar{background-color:var(--color-primary);color:var(--white);border-radius:var(--radius-circle);width:var(--avatar-size-m);height:var(--avatar-size-m);font-weight:var(--font-weight-bold);flex-shrink:0;justify-content:center;align-items:center;display:flex}.message-content{flex:1}.message-header{align-items:center;gap:var(--space-s);margin-bottom:var(--space-xs);display:flex}.message-author{font-weight:var(--font-weight-bold)}.message-time{color:var(--color-gray);font-size:var(--font-size-xs)}.message-text{word-break:break-word;white-space:pre-wrap;line-height:1.5}.message-text pre{background-color:var(--bg-secondary);border-radius:var(--radius-s);padding:var(--space-m);margin:var(--space-s) 0;white-space:pre;max-width:100%;overflow-x:auto}.message-text code{font-family:monospace;font-size:.9em}.message-text strong{font-weight:var(--font-weight-bold)}.message-text em{font-style:italic}.message-text ul,.message-text ol{margin:var(--space-s) 0;padding-left:var(--space-xl)}.message-text li{margin-bottom:var(--space-xs)}.message-text ul li{list-style-type:disc}.message-text ol li{list-style-type:decimal}.message-actions{gap:var(--space-xs);min-height:1.45rem;margin-top:var(--space-xs);opacity:0;pointer-events:none;transition:opacity var(--transition);flex-wrap:wrap;display:flex}.message:hover .message-actions,.message:focus-within .message-actions{opacity:1;pointer-events:auto}.message-actions>*{white-space:nowrap}.message-edit,.message-delete,.quote-dm-message,.copy-dm-message-link{color:var(--color-gray);cursor:pointer;transition:var(--transition);background:var(--transparent);padding:var(--space-xxs) var(--space-xs);font-size:var(--font-size-xs);border:none;border-radius:3px}.message-edit:hover,.message-delete:hover,.quote-dm-message:hover,.copy-dm-message-link:hover{background-color:var(--hover-bg);color:var(--text)}.message-delete:hover{color:var(--color-danger)}.message-reactions{gap:var(--space-xs);margin-top:var(--space-xs);flex-wrap:wrap;display:flex}.reaction{background-color:var(--hover-bg);cursor:pointer;transition:var(--transition);align-items:center;gap:var(--space-xs);padding:var(--space-xxs) .5rem;font-size:var(--font-size-s);border-radius:.75rem;display:flex}.reaction.user-reacted{background-color:var(--active-bg);color:var(--color-primary)}.reaction-symbol,.reaction-reaction,.reaction-emoji{align-items:center;display:inline-flex}.reaction-icon{width:1rem;height:1rem}.reaction-count{font-size:var(--font-size-xs)}.add-reaction{color:var(--color-gray);cursor:pointer;transition:var(--transition);justify-content:center;align-items:center;gap:var(--space-xs);padding:var(--space-xxs) .5rem;font-size:var(--font-size-xs);border-radius:.75rem;display:inline-flex}.add-reaction:hover{background-color:var(--hover-bg);color:var(--text)}.message-images-container{gap:var(--space-s);margin-top:var(--space-s);flex-direction:column;display:flex}.message-image-container{max-width:40rem;margin:.25rem 0}.message-image{border-radius:var(--radius);cursor:pointer;max-width:100%;transition:filter var(--transition)}.message-image:hover{filter:brightness(1.1)}.image-preview-container{background-color:var(--transparent);justify-content:center;align-items:center;width:auto;max-height:90vh;margin:0 auto;display:flex;position:relative;max-width:90vw!important}#preview-image{object-fit:contain;width:100%;max-width:90vw;max-height:85vh;margin:0 auto;display:block}.input-area{border-top:var(--border-width) solid var(--border-color);padding:var(--space-l)}.message-input-container{background-color:var(--bg-secondary);border-radius:var(--radius);position:relative;overflow:visible}.message-input{width:100%;min-height:var(--input-height);max-height:10rem;color:var(--text);resize:none;background-color:var(--transparent);font-size:var(--font-size-m);border:none;padding:1rem 3rem 1rem 2.5rem;overflow-y:auto}.message-input:focus{outline:none}.send-button{color:var(--color-primary);cursor:pointer;transition:var(--transition);background:var(--transparent);font-size:var(--icon-size-m);border:none;position:absolute;bottom:.9rem;right:.6rem}.send-button:hover{color:var(--color-primary-light)}.message-attachments{gap:.6rem;display:flex;position:absolute;bottom:.9rem;left:.6rem}.attach-image{cursor:pointer;color:var(--color-gray);transition:var(--transition);font-size:var(--icon-size-m)}.attach-image:hover{color:var(--color-primary)}.pending-uploads-container{margin-top:var(--space-s);border-radius:var(--radius-s);background-color:var(--bg-secondary);padding:var(--space-s)}.pending-uploads{gap:var(--space-s);flex-wrap:wrap;display:flex}.pending-upload{width:5rem;height:5rem;position:relative}.pending-upload img{object-fit:cover;border-radius:var(--radius-s);width:100%;height:100%}.remove-upload{background-color:var(--color-danger);color:#fff;cursor:pointer;border-radius:50%;justify-content:center;align-items:center;width:1.25rem;height:1.25rem;display:flex;position:absolute;top:-.5rem;right:-.5rem}.remove-upload .icon{width:.8rem;height:.8rem}.form-group{margin-bottom:var(--space-l)}label{color:var(--color-gray);margin-bottom:var(--space-s);font-size:var(--font-size-s);display:block}input[type=text],input[type=email],input[type=password],input[type=search]{width:100%;height:var(--input-height);background-color:var(--input-bg);border:var(--border-width) solid var(--input-border);border-radius:var(--radius);color:var(--text);transition:var(--transition);padding:0 var(--space-l);font-size:var(--font-size-m)}input[type=text]:focus,input[type=email]:focus,input[type=password]:focus,input[type=search]:focus{border-color:var(--color-primary);background-color:var(--input-focus-bg);outline:none}.btn{width:100%;height:var(--input-height);background-color:var(--color-primary);color:var(--white);border-radius:var(--radius);cursor:pointer;transition:var(--transition);font-size:var(--font-size-m);font-weight:var(--font-weight-bold);border:none}.btn:hover{background-color:var(--color-primary-light)}.btn-secondary{background-color:var(--hover-bg)}.btn-secondary:hover{background-color:var(--input-focus-bg)}.btn-danger{background-color:var(--color-danger)}.btn-danger:hover{background-color:var(--color-danger-light)}.close-modal{color:var(--white);z-index:2;background-color:var(--black-50);border-radius:var(--radius-circle);justify-content:center;align-items:center;width:2rem;height:2rem;display:flex;position:absolute;top:.6rem;right:.6rem}.close-modal .icon{width:1.2rem;height:1.2rem}.close-modal:hover{color:var(--text);cursor:pointer}.modal-backdrop{background-color:var(--modal-overlay);z-index:100;opacity:0;visibility:hidden;width:100%;height:100%;transition:var(--transition);justify-content:center;align-items:center;display:flex;position:fixed;top:0;left:0}.modal-backdrop.active{opacity:1;visibility:visible}.modal{background-color:var(--bg-secondary);border-radius:var(--radius);width:100%;max-width:25rem;max-height:90vh;padding:var(--space-xl);transition:var(--transition);overflow-y:auto;transform:translateY(-1.25rem)}.modal textarea{padding:0}.modal-backdrop.active .modal{transform:translateY(0)}.modal-header{margin-bottom:var(--space-l);justify-content:space-between;align-items:center;display:flex}.modal-title{font-size:var(--font-size-l);font-weight:var(--font-weight-bold);cursor:default;-webkit-user-select:none;user-select:none}.modal-actions{gap:.6rem;display:flex}.reaction-picker{gap:var(--space-s);max-height:12.5rem;padding:var(--space-s);flex-wrap:wrap;display:flex;overflow-y:auto}.reaction-item{cursor:pointer;width:var(--avatar-size-s);height:var(--avatar-size-s);transition:var(--transition);border-radius:var(--radius-s);font-size:var(--icon-size-m);justify-content:center;align-items:center;display:flex}.reaction-item:hover{background-color:var(--hover-bg)}.reaction-item .reaction-icon{width:1.25rem;height:1.25rem}.image-wrapper{max-width:100%;display:inline-block;position:relative}.remove-image-btn{background-color:var(--color-danger);color:#fff;cursor:pointer;z-index:2;opacity:0;width:1.5rem;height:1.5rem;transition:opacity var(--transition);border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;top:.5rem;right:.5rem}.remove-image-btn .icon{width:.9rem;height:.9rem}.image-wrapper:hover .remove-image-btn{opacity:1}.message-image{max-width:100%;display:block}.toast{border-radius:var(--radius);background-color:var(--bg-secondary);color:var(--text);box-shadow:0 .25rem .75rem var(--shadow);z-index:-1;opacity:0;padding:var(--space-m) var(--space-xl);cursor:default;-webkit-user-select:none;user-select:none;transition:opacity .3s,transform .3s;position:fixed;top:1.25rem;right:1.25rem;transform:translateY(-.6rem)}.toast.success{border-left:var(--border-width-accent) solid var(--color-success)}.toast.error{border-left:var(--border-width-accent) solid var(--color-danger)}.toast.info{border-left:var(--border-width-accent) solid var(--color-primary)}.toast.show{opacity:1;z-index:1000;transform:translateY(0)}.offline-bar{background-color:var(--color-danger);color:var(--white);text-align:center;padding:var(--space-xs) var(--space-m);font-size:var(--font-size-small);z-index:1001;font-weight:600;display:none;position:fixed;top:0;left:0;right:0}.offline-bar.visible{display:block}.loading{z-index:1000;background-color:var(--black-50);justify-content:center;align-items:center;width:100%;height:100%;display:none;position:fixed;top:0;left:0}.loading-spinner{border:.25rem solid var(--white-10);border-top-color:var(--color-primary);border-radius:var(--radius-circle);width:3rem;height:3rem;animation:1s linear infinite spin}.theme-switch{cursor:pointer;border-top:var(--border-width) solid var(--border-color);padding:.6rem var(--space-l);align-items:center;margin-top:auto;display:flex}.theme-switch-icon{margin-right:.6rem;display:inline-flex}.theme-switch-icon .icon{width:var(--icon-size-s);height:var(--icon-size-s)}.theme-switch-label{color:var(--color-gray);font-size:var(--font-size-s)}.settings-section{border-bottom:var(--border-width) solid var(--border-color);margin-bottom:var(--space-xl);padding-bottom:var(--space-l)}.settings-section:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.settings-section-title{margin-bottom:var(--space-l);font-size:var(--font-size-l);font-weight:var(--font-weight-bold)}.settings-layout{gap:var(--space-xl);grid-template-columns:minmax(10rem,.28fr) minmax(0,1fr);min-height:28rem;display:grid}.settings-nav{gap:var(--space-xs);padding-right:var(--space-m);border-right:var(--border-width) solid var(--border-color);flex-direction:column;display:flex}.settings-nav-item{align-items:center;gap:var(--space-s);width:100%;min-height:2.7rem;padding:0 var(--space-m);border:var(--border-width) solid transparent;border-radius:var(--radius-s);color:var(--color-text-muted);cursor:pointer;font-size:var(--font-size-s);font-weight:var(--font-weight-semibold);text-align:left;transition:var(--transition);background:0 0;display:flex}.settings-nav-item .icon{width:var(--icon-size-s);height:var(--icon-size-s);flex-shrink:0}.settings-nav-item:hover{background:var(--color-surface-hover);color:var(--color-text)}.settings-nav-item.active{border-color:var(--color-border-strong);background:var(--color-accent-soft);color:var(--color-primary)}.settings-panels{min-width:0;max-height:min(34rem,90vh - 8rem);padding-right:var(--space-xs);overflow-y:auto}.settings-view{display:none}.settings-view.active{display:block}.settings-view-header{justify-content:space-between;align-items:flex-start;gap:var(--space-l);margin-bottom:var(--space-l);display:flex}.settings-view-header .settings-section-title{margin-bottom:var(--space-xxs)}.settings-view-description{max-width:34rem;color:var(--color-text-muted);font-size:var(--font-size-s);line-height:1.45}.settings-primary-action{max-width:16rem}.settings-icon-action{justify-content:center;align-items:center;gap:var(--space-xs);width:auto;min-width:9rem;padding:0 var(--space-m);color:var(--color-text);white-space:nowrap;display:inline-flex}.settings-icon-action .icon{width:var(--icon-size-s);height:var(--icon-size-s)}.add-user-form{margin-bottom:var(--space-l)}.add-user-actions{gap:var(--space-s);margin-bottom:var(--space-l);grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;display:grid}.role-selection{min-width:0;max-width:100%;height:var(--input-height);border:var(--border-width) solid var(--border-color);border-radius:var(--radius);background:var(--color-surface-muted);grid-template-columns:repeat(2,minmax(0,1fr));gap:.25rem;padding:.25rem;display:grid}.role-option{min-width:0;min-height:calc(var(--input-height) - .5rem);padding:0 var(--space-m);border-radius:calc(var(--radius) - .15rem);color:var(--color-text-muted);cursor:pointer;font-size:var(--font-size-s);font-weight:var(--font-weight-semibold);transition:var(--transition);-webkit-user-select:none;user-select:none;background:0 0;justify-content:center;align-items:center;margin:0;display:flex;position:relative}.role-option:hover{background:var(--color-surface-hover);color:var(--color-text)}.role-option:has(input[type=radio]:checked){background:var(--color-primary);color:var(--color-on-accent);box-shadow:0 .35rem .8rem color-mix(in srgb, var(--color-primary) 22%, transparent)}.role-option input[type=radio]{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.role-option:has(input[type=radio]:focus-visible){box-shadow:var(--focus-ring)}.checkbox-row input[type=checkbox]{-webkit-appearance:none;appearance:none;border:var(--border-width) solid var(--color-border-strong);background:var(--color-surface);width:1rem;height:1rem;color:var(--color-on-accent);transition:var(--transition);flex-shrink:0;place-items:center;margin:0;display:inline-grid}.checkbox-row input[type=checkbox]:focus-visible{box-shadow:var(--focus-ring);outline:none}.user-item{border-radius:var(--radius-s);margin-bottom:var(--space-s);background-color:var(--black-10);align-items:center;padding:.6rem;display:flex}.user-item .user-avatar{width:var(--avatar-size-s);height:var(--avatar-size-s);border-radius:var(--radius-circle);background-color:var(--color-primary);color:var(--white);font-size:var(--font-size-xs);flex-shrink:0;justify-content:center;align-items:center;margin-right:.6rem;display:flex}.user-item .user-info{flex:1}.user-item .user-email{font-weight:var(--font-weight-semibold);word-break:break-all}.role-badge{font-size:var(--font-size-xs);padding:var(--space-xxs) .5rem;margin-top:var(--space-xxs);border-radius:.6rem;display:inline-block}.admin-role{background-color:var(--color-admin-role);color:var(--white)}.regular-role{background-color:var(--color-user-role);color:var(--white)}.user-created{font-size:var(--font-size-xs);color:var(--color-gray-text);margin-top:var(--space-xxs)}.user-actions{gap:.25rem;display:flex}.toggle-role-user,.reset-password-user,.remove-user{cursor:pointer;opacity:.7;transition:opacity var(--transition);background:0 0;border:none;place-items:center;padding:.25rem;display:inline-grid}.toggle-role-user{color:var(--color-gray);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold)}.reset-password-user,.remove-user{color:var(--color-admin-role)}.toggle-role-user:hover,.reset-password-user:hover,.remove-user:hover{opacity:1}.empty-list{color:var(--color-gray-text);text-align:center;padding:.6rem;font-style:italic}.message-link,.channel-link{color:var(--color-primary);transition:var(--transition);text-decoration:none}.message-link:hover,.channel-link:hover{text-decoration:underline}.channel-link{font-weight:var(--font-weight-semibold)}.users-list-placeholder{color:var(--color-gray);padding:var(--space-s) 0;font-size:var(--font-size-s)}@keyframes messageAppear{0%{opacity:0;transform:translateY(.6rem)}to{opacity:1;transform:translateY(0)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (width<=768px){.sidebar{z-index:10;padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom);padding-left:env(safe-area-inset-left);transition:left .3s;position:fixed;top:0;left:-100%}.sidebar.open{left:0}.menu-toggle{display:block}.header{padding-left:calc(var(--space-s) + env(safe-area-inset-left));padding-right:calc(var(--space-s) + env(safe-area-inset-right))}.input-area{padding:var(--space-s) calc(var(--space-s) + env(safe-area-inset-right)) calc(var(--space-s) + env(safe-area-inset-bottom)) calc(var(--space-s) + env(safe-area-inset-left))}.messages-area{padding:var(--space-s)}.message-input{font-size:var(--font-size-s);padding:.75rem 2.5rem .75rem 2.25rem}.message-attachments{bottom:.65rem;left:.5rem}.send-button{bottom:.65rem;right:.5rem}.message-avatar{width:var(--avatar-size-s);height:var(--avatar-size-s);font-size:var(--font-size-xs)}.message{gap:var(--space-s)}.message-author,.message-text{font-size:var(--font-size-s)}.header h2{font-size:var(--font-size-m)}.user-name{display:none}.modal{max-width:calc(100vw - 2rem);margin:var(--space-l);padding:var(--space-l)}.toast{left:var(--space-l);right:var(--space-l);top:calc(var(--space-l) + env(safe-area-inset-top))}.auth-container{padding:1rem}.auth-form{padding:1.25rem}.auth-copy h2{font-size:var(--font-size-l)}.auth-copy p,.auth-field label,.auth-result-message{font-size:var(--font-size-s)}.form-group{margin-bottom:var(--space-m)}.offline-bar{padding-top:calc(var(--space-xs) + env(safe-area-inset-top))}.message-image-container{max-width:100%}}@media (width<450px){noscript div.message{margin-left:1rem;margin-right:1rem}.auth-container{padding:var(--space-m)}.auth-form{padding:var(--space-l)}}@media (width<375px){:root{--font-size-xs:.7rem;--font-size-s:.8rem;--font-size-m:.875rem;--font-size-l:1.05rem;--header-height:3rem;--input-height:2.75rem;--avatar-size-s:1.75rem;--avatar-size-m:2rem}.auth-container{padding:var(--space-s)}.auth-copy h2{font-size:var(--font-size-m)}.message-input{padding:.6rem 2.25rem .6rem 2rem}.input-area{padding:var(--space-xs) calc(var(--space-xs) + env(safe-area-inset-right)) calc(var(--space-xs) + env(safe-area-inset-bottom)) calc(var(--space-xs) + env(safe-area-inset-left))}.messages-area{padding:var(--space-xs)}.modal{margin:var(--space-s);padding:var(--space-m);max-width:calc(100vw - 1rem)}.modal-header{margin-bottom:var(--space-m)}.channels-header,.dm-header{padding:var(--space-m)}.server-name{padding:0 var(--space-m)}.reaction-picker{gap:var(--space-xs)}.reaction-item{width:1.75rem;height:1.75rem}}.thread-panel{border-left:var(--border-width) solid var(--border-color);background:var(--bg-primary);flex-direction:column;flex-shrink:0;width:400px;max-width:100%;height:100dvh;display:none}.thread-panel.active{display:flex}.thread-header{padding:var(--space-l);border-bottom:var(--border-width) solid var(--border-color);justify-content:space-between;align-items:center;display:flex}.thread-title{font-weight:var(--font-weight-bold);font-size:var(--font-size-l)}.close-thread{cursor:pointer;color:var(--color-gray);transition:var(--transition);background:0 0;border:none}.close-thread:hover{color:var(--color-primary)}.thread-parent{padding:var(--space-m) var(--space-l);border-bottom:var(--border-width) solid var(--border-color);background:var(--bg-secondary)}.thread-parent-message{margin:0;padding:0}.thread-divider{padding:var(--space-s) var(--space-l);font-size:var(--font-size-s);color:var(--color-gray);border-bottom:var(--border-width) solid var(--border-color);font-weight:var(--font-weight-semibold)}.thread-messages{padding:var(--space-s) 0;flex:1;overflow-y:auto}.thread-messages .message{padding:var(--space-s) var(--space-l)}.thread-messages .empty-state{padding:var(--space-xl);text-align:center;color:var(--color-gray)}.thread-input-area{gap:var(--space-s);padding:var(--space-m) var(--space-l);border-top:var(--border-width) solid var(--border-color);align-items:flex-end;display:flex}.thread-input-area .message-input{flex:1;min-height:40px;max-height:120px}.thread-badge{align-items:center;gap:var(--space-s);padding:var(--space-xs) var(--space-s);margin-top:var(--space-xs);cursor:pointer;color:var(--color-primary);font-size:var(--font-size-s);border-radius:var(--border-radius);transition:var(--transition);display:flex}.thread-badge:hover{background:var(--bg-secondary)}.thread-badge-count{font-weight:var(--font-weight-bold)}.thread-badge-last{color:var(--color-gray)}.start-thread{cursor:pointer;font-size:var(--font-size-xs);color:var(--color-gray);transition:var(--transition);padding:var(--space-xxs) .5rem}.start-thread:hover{color:var(--color-primary)}@media (width<=768px){.thread-panel{z-index:100;width:100%;padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom);position:fixed;top:0;bottom:0;right:0}.thread-input-area{padding-bottom:calc(var(--space-m) + env(safe-area-inset-bottom))}.thread-input-area .message-input{min-height:36px;font-size:var(--font-size-s)}}.bot-badge{background-color:var(--color-primary);color:var(--white);font-size:.6rem;font-weight:var(--font-weight-bold);text-transform:uppercase;border-radius:var(--radius-s);margin-left:var(--space-s);vertical-align:middle;padding:.1rem .35rem;display:inline-block}#server-settings-modal .modal{max-width:min(60rem,100vw - 2rem);overflow:hidden}.webhook-item{padding:var(--space-m);border-bottom:var(--border-width) solid var(--border-color);justify-content:space-between;align-items:center;display:flex}.webhook-info{flex:1}.webhook-name{font-weight:var(--font-weight-bold);color:var(--text)}.webhook-channel{font-size:var(--font-size-s);color:var(--color-gray);margin-top:.15rem}.webhook-url-row{align-items:center;gap:var(--space-s);margin-top:var(--space-s);display:flex}.webhook-url{font-size:var(--font-size-s);background-color:var(--input-bg);padding:var(--space-xs) var(--space-s);border-radius:var(--radius-s);white-space:nowrap;color:var(--text);flex:1;overflow-x:auto}.webhook-copy-url{width:auto;padding:0 var(--space-m);height:1.75rem;font-size:var(--font-size-s);flex-shrink:0}.webhook-actions .remove-webhook{color:var(--color-danger);cursor:pointer;padding:var(--space-s);background:0 0;border:none;place-items:center;display:inline-grid}.webhook-token-display{background-color:var(--bg-secondary);border:var(--border-width) solid var(--color-primary);border-radius:var(--radius);padding:var(--space-m);margin-bottom:var(--space-m)}.webhook-token-label{font-size:var(--font-size-s);color:var(--color-primary);font-weight:var(--font-weight-bold);margin-bottom:var(--space-s)}.webhook-token-value{background-color:var(--input-bg);padding:var(--space-s) var(--space-m);border-radius:var(--radius-s);font-size:var(--font-size-s);word-break:break-all;margin-bottom:var(--space-s);color:var(--text);display:block}.webhook-token-copy,.webhook-token-copy-url{width:auto;padding:0 var(--space-l);height:2rem;font-size:var(--font-size-s);margin-bottom:var(--space-m)}.add-webhook-form{margin-bottom:var(--space-l)}.add-webhook-form select{-webkit-appearance:none;appearance:none;width:100%;height:var(--input-height);background-color:var(--input-bg);background-image:linear-gradient(45deg, transparent 50%, var(--color-text-muted) 50%), linear-gradient(135deg, var(--color-text-muted) 50%, transparent 50%);border:var(--border-width) solid var(--input-border);border-radius:var(--radius);color:var(--text);padding:0 2.35rem 0 var(--space-l);font-size:var(--font-size-m);background-position:calc(100% - 1.15rem),calc(100% - .85rem);background-repeat:no-repeat;background-size:.35rem .35rem,.35rem .35rem}.header-actions{align-items:center;gap:var(--space-xs);margin-left:auto;margin-right:var(--space-m);display:flex}.header-action{border:var(--border-width) solid var(--border-color);border-radius:var(--radius-s);background:var(--bg-secondary);width:2rem;height:2rem;color:var(--text);cursor:pointer}.quoted-message-bar{justify-content:space-between;align-items:center;gap:var(--space-s);padding:var(--space-xs) var(--space-s);border-left:3px solid var(--color-primary);background:var(--bg-secondary);color:var(--color-gray);font-size:var(--font-size-s)}#clear-quote-btn{color:var(--color-gray);cursor:pointer;background:0 0;border:0;place-items:center;display:inline-grid}.message-quote{margin:var(--space-xs) 0;padding:var(--space-xs) var(--space-s);border-left:3px solid var(--color-primary);color:var(--color-gray);background:var(--bg-secondary);border-radius:var(--radius-s);font-size:var(--font-size-s);align-items:center;gap:var(--space-s);display:flex}.message-quote span{text-overflow:ellipsis;min-width:0;overflow:hidden}.quote-icon{width:.95rem;height:.95rem}.message-files-container{gap:var(--space-xs);margin-top:var(--space-xs);flex-direction:column;display:flex}.message-file,.pending-file{align-items:center;gap:var(--space-s);max-width:26rem;padding:var(--space-xs) var(--space-s);border:var(--border-width) solid var(--border-color);border-radius:var(--radius-s);background:var(--bg-secondary);color:var(--text);text-decoration:none;display:flex}.message-file-name,.pending-file-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.message-file-size{color:var(--color-gray);font-size:var(--font-size-xs);flex-shrink:0}.message-file-icon,.pending-file-icon{color:var(--color-primary);display:inline-flex}.file-icon{width:1rem;height:1rem}.remove-file-upload{cursor:pointer;color:var(--color-danger);place-items:center;margin-left:auto;display:inline-grid}.remove-file-upload .icon{width:.9rem;height:.9rem}.mention,.pinned-badge{color:var(--color-primary);font-weight:var(--font-weight-bold)}.quote-message,.copy-message-link,.pin-message{cursor:pointer;font-size:var(--font-size-xs);color:var(--color-gray);transition:var(--transition);padding:var(--space-xxs) .5rem}.quote-message:hover,.copy-message-link:hover,.pin-message:hover{color:var(--color-primary)}.search-results,.pins-list{gap:var(--space-xs);flex-direction:column;max-height:24rem;display:flex;overflow-y:auto}.search-result,.pin-result{gap:var(--space-xs);text-align:left;width:100%;padding:var(--space-s);border:var(--border-width) solid var(--border-color);border-radius:var(--radius-s);background:var(--bg-secondary);color:var(--text);cursor:pointer;flex-direction:column;display:flex}.search-result-meta,.pin-result-meta{color:var(--color-gray);font-size:var(--font-size-xs)}.search-result-text,.pin-result-text{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.checkbox-row{align-items:center;gap:var(--space-s);margin-bottom:var(--space-m);color:var(--color-text-muted);cursor:pointer;-webkit-user-select:none;user-select:none;display:flex}.checkbox-row input[type=checkbox]{border-radius:.3rem}.checkbox-row input[type=checkbox]:before{content:"";transform-origin:50%;width:.34rem;height:.6rem;transition:transform var(--transition);border-bottom:2px solid;border-right:2px solid;transform:rotate(45deg)scale(0)}.checkbox-row input[type=checkbox]:checked{border-color:var(--color-primary);background:var(--color-primary)}.checkbox-row input[type=checkbox]:checked:before{transform:rotate(45deg)scale(1)}.checkbox-row:hover{color:var(--color-text)}.dm-avatar{position:relative}.presence-dot{border:2px solid var(--bg-primary);background:var(--color-gray);border-radius:50%;width:.55rem;height:.55rem;position:absolute;bottom:-.1rem;right:-.1rem}.presence-dot.online{background:#25c26e}.presence-dot.away{background:#f2b84b}.audit-controls{gap:var(--space-s);margin-bottom:var(--space-m);grid-template-columns:minmax(10rem,1.4fr) repeat(2,minmax(8rem,1fr)) minmax(5.5rem,.6fr);align-items:end;display:grid}.audit-filter{gap:var(--space-xs);min-width:0;color:var(--color-text-muted);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);flex-direction:column;display:flex}.audit-filter-small{max-width:7rem}.audit-pagination{justify-content:space-between;align-items:center;gap:var(--space-s);margin-bottom:var(--space-s);padding:var(--space-xs) 0;display:flex}.audit-page-info{color:var(--color-text-muted);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);text-align:center}.audit-page-btn{justify-content:center;align-items:center;gap:var(--space-xs);width:auto;min-width:6.4rem;padding:0 var(--space-m);color:var(--color-text);display:inline-flex}.audit-page-btn .icon{width:var(--icon-size-s);height:var(--icon-size-s)}.audit-log-list{gap:var(--space-s);margin-top:var(--space-m);flex-direction:column;display:flex}.audit-log-summary{color:var(--color-text-muted);font-size:var(--font-size-xs)}.audit-log-item{gap:var(--space-s);padding:var(--space-m);border:var(--border-width) solid var(--border-color);border-radius:var(--radius);background:var(--color-surface-muted);grid-template-columns:2rem minmax(0,1fr);display:grid}.audit-icon{border-radius:var(--radius);background:var(--color-accent-soft);width:2rem;height:2rem;color:var(--color-primary);font-size:var(--font-size-xs);font-weight:var(--font-weight-extrabold);place-items:center;display:grid}.audit-log-content{min-width:0}.audit-log-topline{justify-content:space-between;align-items:flex-start;gap:var(--space-m);display:flex}.audit-log-main{min-width:0}.audit-action{color:var(--color-text);font-weight:var(--font-weight-bold);line-height:1.25}.audit-description{margin-top:var(--space-xxs);color:var(--color-text-muted);font-size:var(--font-size-s);line-height:1.35}.audit-meta{gap:var(--space-xs);margin-top:var(--space-s);flex-wrap:wrap;display:flex}.audit-chip{border:var(--border-width) solid var(--border-color);min-width:0;max-width:100%;color:var(--color-text-muted);background:var(--color-surface);font-size:var(--font-size-xs);text-overflow:ellipsis;white-space:nowrap;border-radius:999px;padding:.12rem .45rem;overflow:hidden}.audit-time{color:var(--color-text-muted);font-size:var(--font-size-xs);white-space:nowrap;flex-shrink:0}.mention-suggestions{left:var(--space-m);right:var(--space-m);bottom:calc(var(--input-height) + var(--space-m));gap:var(--space-xxs);max-height:12rem;padding:var(--space-xs);border:var(--border-width) solid var(--border-color);border-radius:var(--radius-s);background:var(--bg-primary);box-shadow:0 .5rem 1.5rem var(--shadow);z-index:20;flex-direction:column;position:absolute;overflow-y:auto}.mention-suggestion{text-align:left;border-radius:var(--radius-s);width:100%;color:var(--text);padding:var(--space-xs) var(--space-s);cursor:pointer;background:0 0;border:0}.mention-suggestion:hover{background:var(--bg-secondary)}.app-container{background:linear-gradient(180deg, var(--color-bg-top), var(--color-bg))}noscript div.message,.modal,.user-dropdown{border:var(--border-width) solid var(--border-color);background:var(--color-surface);box-shadow:var(--shadow-overlay)}noscript .auth-logo{color:var(--color-text-muted);font-size:.78rem;font-weight:var(--font-weight-extrabold);letter-spacing:0;text-transform:uppercase;margin-bottom:0}.sidebar,.header,.thread-header{background:var(--color-surface)}.sidebar{width:16rem}.server-name{background:var(--color-surface)}.server-name-text,.header h2,.thread-title,.modal-title{letter-spacing:0}.channels-header,.dm-header{padding:.8rem var(--space-l) var(--space-s);color:var(--color-text-muted);font-size:.72rem;font-weight:var(--font-weight-extrabold);letter-spacing:.04em}.add-channel,.start-dm{border-radius:var(--radius);place-items:center;width:1.5rem;height:1.5rem;display:inline-grid}.add-channel:hover,.start-dm:hover{background:var(--color-accent-soft)}.channel-item,.dm-item{border:var(--border-width) solid transparent;border-radius:var(--radius);min-height:2rem;color:var(--color-text-muted);font-size:.9rem}.channel-item:hover,.dm-item:hover{background:var(--color-surface-hover);color:var(--color-text)}.channel-item.active,.dm-item.active{border-color:color-mix(in srgb, var(--color-accent) 28%, var(--color-border));background:var(--color-accent-soft);color:var(--color-text)}.messages-area{background:var(--color-bg)}.message{border-radius:var(--radius);padding:.45rem var(--space-s)}.message:hover{background:color-mix(in srgb, var(--color-surface-muted) 78%, transparent)}.message-text pre,.message-file,.pending-file,.message-quote,.quoted-message-bar,.thread-parent,.thread-divider{border-color:var(--border-color);background:var(--color-surface-muted)}.input-area{padding:0 var(--space-l) var(--space-l);background:0 0;border-top:0}.message-input-container{border:var(--border-width) solid var(--border-color);background:var(--color-surface-muted);box-shadow:var(--composer-shadow)}.message-input-container:focus-within{border-color:var(--color-accent);box-shadow:var(--focus-ring)}.message-input{line-height:1.45}.send-button,.attach-image,.attach-file,.header-action,.close-thread{border:var(--border-width) solid transparent;border-radius:var(--radius);width:2rem;height:2rem;color:var(--color-text-muted);background:0 0;place-items:center;line-height:1;display:inline-grid}.send-button:hover,.attach-image:hover,.attach-file:hover,.header-action:hover,.close-thread:hover{border-color:var(--border-color);background:var(--color-accent-soft);color:var(--color-primary)}.modal{border-radius:var(--radius)}input[type=text],input[type=email],input[type=password],input[type=search],.settings-view input[type=date],.settings-view select,.add-webhook-form select{background:var(--color-surface-muted);border-color:var(--border-color)}input[type=text]:focus,input[type=email]:focus,input[type=password]:focus,input[type=search]:focus,.settings-view input[type=date]:focus,.settings-view select:focus,.add-webhook-form select:focus{border-color:var(--color-accent);box-shadow:var(--focus-ring)}.settings-view select,.settings-view input[type=date]{-webkit-appearance:none;appearance:none;width:100%;height:var(--input-height);padding:0 var(--space-l) 0 var(--space-m);border:var(--border-width) solid var(--border-color);border-radius:var(--radius);color:var(--color-text);font-size:var(--font-size-m)}.settings-view select{background-image:linear-gradient(45deg, transparent 50%, var(--color-text-muted) 50%), linear-gradient(135deg, var(--color-text-muted) 50%, transparent 50%);background-position:calc(100% - 1.15rem),calc(100% - .85rem);background-repeat:no-repeat;background-size:.35rem .35rem,.35rem .35rem}.btn{background:var(--color-primary);color:var(--color-on-accent);font-weight:var(--font-weight-bold)}.btn:disabled{opacity:.45;cursor:default}.btn:hover{background:var(--color-primary-light)}.theme-switch{border-top:var(--border-width) solid var(--border-color);min-height:2.75rem;color:var(--color-text-muted)}.theme-switch:hover{background:var(--color-surface-hover);color:var(--color-text)}.toast{border:var(--border-width) solid var(--border-color);background:var(--color-surface);box-shadow:var(--shadow-overlay)}.dm-list .empty-list{text-align:left;padding:var(--space-s)}.message-input-container{align-items:center;column-gap:var(--space-s);grid-template:"uploads uploads uploads""quote quote quote""attachments input send"/auto minmax(0,1fr) auto;row-gap:0;padding:.45rem .55rem;display:grid}.pending-uploads-container{margin:0 0 var(--space-xs);grid-area:uploads}.quoted-message-bar{margin:0 0 var(--space-xs);grid-area:quote/1/quote/-1}.message-input{min-width:0;height:1.8rem;min-height:1.8rem;max-height:var(--composer-input-max-height);grid-area:input;align-self:center;padding:.2rem 0;overflow-y:hidden}.message-attachments{grid-area:attachments;align-self:center;align-items:center;padding-bottom:0;position:static}.message-attachments .attach-image,.message-attachments .attach-file{margin:0}.send-button{grid-area:send;align-self:center;position:static}.message-quote,.quoted-message-bar{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.quoted-message-bar span{text-overflow:ellipsis;min-width:0;overflow:hidden}.header-action{font-size:1rem;line-height:1}#search-button{font-size:1.25rem}.modal-header .close-modal{border:var(--border-width) solid transparent;color:var(--color-text-muted);background:0 0;flex-shrink:0;position:static}.modal-header .close-modal:hover{border-color:var(--border-color);background:var(--color-accent-soft);color:var(--color-text)}#image-preview-modal .close-modal{background-color:var(--black-50);color:var(--white);border:0;position:absolute;top:.6rem;right:.6rem}.modal textarea.message-input{width:100%;height:auto;min-height:7rem;padding:var(--space-m);border:var(--border-width) solid var(--input-border);border-radius:var(--radius);background:var(--input-bg)}.modal textarea.message-input:focus{border-color:var(--color-accent);box-shadow:var(--focus-ring)}.quote-dm-message,.copy-dm-message-link{line-height:1.3}@media (width<=768px){#server-settings-modal .modal{max-width:calc(100vw - 1rem);max-height:calc(100vh - 1rem)}.settings-layout{gap:var(--space-l);grid-template-columns:1fr;min-height:0}.settings-nav{gap:var(--space-xs);padding-right:0;padding-bottom:var(--space-s);border-right:none;border-bottom:var(--border-width) solid var(--border-color);flex-direction:row;overflow-x:auto}.settings-nav-item{white-space:nowrap;flex:none;width:auto}.settings-panels{max-height:calc(100vh - 13rem)}.settings-view-header{gap:var(--space-s);flex-direction:column}.settings-icon-action,.settings-primary-action{width:100%;max-width:none}.add-user-actions{grid-template-columns:1fr}.audit-controls{grid-template-columns:1fr 1fr}.audit-filter,.audit-filter-small{max-width:none}.audit-log-topline{gap:var(--space-xs);flex-direction:column}.audit-time{white-space:normal}.input-area{padding:0 calc(var(--space-s) + env(safe-area-inset-right)) calc(var(--space-s) + env(safe-area-inset-bottom)) calc(var(--space-s) + env(safe-area-inset-left))}.message-input-container{column-gap:var(--space-xs);row-gap:0;padding:.4rem .45rem}.message-input{min-height:1.75rem;padding:.18rem 0}}@media (hover:none),(pointer:coarse){.message-actions{opacity:1;pointer-events:auto}}