:root{--color-bg-page: #131928;--color-bg-deep: #0A0D15;--color-bg-rail: #101624;--color-bg-raised: #1A2234;--color-bg-sunken: #0D111B;--color-bg-overlay: rgba(10, 13, 21, .78);--color-bg-hover: #1F283C;--color-bg-active: #2A354C;--color-bg-highlight: #1C2840;--color-drop-wash: rgba(19, 25, 40, .82);--color-text: #FFFFFF;--color-text-muted: rgba(255, 255, 255, .7);--color-text-faint: rgba(255, 255, 255, .5);--color-text-disabled: rgba(255, 255, 255, .35);--color-text-on-accent: #0A0D15;--color-text-on-accent-disabled: rgba(10, 13, 21, .45);--color-text-on-fill: #FFFFFF;--color-accent: #38A8FF;--color-accent-hover: #5ABAFF;--color-accent-pressed: #2B90E0;--color-accent-disabled: rgba(56, 168, 255, .35);--color-accent-soft: rgba(56, 168, 255, .16);--color-accent-soft-hover: rgba(56, 168, 255, .22);--color-accent-border: rgba(56, 168, 255, .55);--color-accent-border-hover: rgba(56, 168, 255, .7);--color-create: var(--color-accent);--color-link: var(--color-accent);--color-link-hover: var(--color-accent-hover);--color-pill-fill: #FFFFFF;--color-pill-hover: #F2F6FA;--color-pill-pressed: #E8EEF5;--color-pill-disabled: rgba(255, 255, 255, .35);--color-secondary: rgba(208, 233, 255, .2);--color-secondary-hover: rgba(208, 233, 255, .32);--color-secondary-pressed: rgba(208, 233, 255, .12);--color-secondary-disabled: rgba(208, 233, 255, .08);--color-border: rgba(255, 255, 255, .15);--color-border-hover: rgba(255, 255, 255, .28);--color-border-strong: #FFFFFF;--color-divider: rgba(255, 255, 255, .08);--color-chip: rgba(93, 113, 152, .6);--color-danger: #D47A82;--color-danger-hover: #E08A90;--color-danger-fill: #A34A52;--color-danger-soft: rgba(212, 122, 130, .16);--color-unread-badge: #ED4245;--color-unread-badge-text: #FFFFFF;--color-presence-online: #3A8F86;--color-presence-away: #C9A36A;--color-mention-wash: rgba(202, 168, 72, .14);--color-mention-border: #C9A36A;--color-reply-wash: rgba(168, 148, 120, .16);--color-reply-wash-hover: rgba(168, 148, 120, .28);--font-display: "Poppins", system-ui, sans-serif;--font-ui: "Archivo", system-ui, sans-serif;--radius-card: 4px;--radius-input: 6px;--radius-pill: 100px;--radius-badge: 4px;--radius-icon-idle: 50%;--radius-icon-active: 16px;--radius-tooltip: 4px;--radius-reaction: 6px;--radius-media: 4px;--space-1: 4px;--space-2: 8px;--space-3: 16px;--space-4: 24px;--space-5: 32px;--space-6: 40px;--space-7: 48px;--color-scroll-track: #0A0D15;--color-scroll-thumb: #2A3A54;--color-scroll-thumb-hover: #38A8FF;--shadow-card: 0 8px 32px rgba(0, 0, 0, .45);--shadow-tooltip: 0 4px 16px rgba(0, 0, 0, .5);--shadow-menu: 0 8px 24px rgba(0, 0, 0, .55);color:var(--color-text);background:var(--color-bg-page);font-family:var(--font-ui);line-height:1.5}[data-theme=blizzard]{--color-bg-page: #131928;--color-bg-deep: #0A0D15;--color-bg-rail: #101624;--color-bg-raised: #1A2234;--color-bg-sunken: #0D111B;--color-bg-overlay: rgba(10, 13, 21, .78);--color-bg-hover: #1F283C;--color-bg-active: #2A354C;--color-bg-highlight: #1C2840;--color-drop-wash: rgba(19, 25, 40, .82);--color-text: #FFFFFF;--color-text-muted: rgba(255, 255, 255, .7);--color-text-faint: rgba(255, 255, 255, .5);--color-text-disabled: rgba(255, 255, 255, .35);--color-text-on-accent: #0A0D15;--color-text-on-accent-disabled: rgba(10, 13, 21, .45);--color-text-on-fill: #FFFFFF;--color-accent: #38A8FF;--color-accent-hover: #5ABAFF;--color-accent-pressed: #2B90E0;--color-accent-disabled: rgba(56, 168, 255, .35);--color-accent-soft: rgba(56, 168, 255, .16);--color-accent-soft-hover: rgba(56, 168, 255, .22);--color-accent-border: rgba(56, 168, 255, .55);--color-accent-border-hover: rgba(56, 168, 255, .7);--color-create: var(--color-accent);--color-link: var(--color-accent);--color-link-hover: var(--color-accent-hover);--color-pill-fill: #FFFFFF;--color-pill-hover: #F2F6FA;--color-pill-pressed: #E8EEF5;--color-pill-disabled: rgba(255, 255, 255, .35);--color-secondary: rgba(208, 233, 255, .2);--color-secondary-hover: rgba(208, 233, 255, .32);--color-secondary-pressed: rgba(208, 233, 255, .12);--color-secondary-disabled: rgba(208, 233, 255, .08);--color-border: rgba(255, 255, 255, .15);--color-border-hover: rgba(255, 255, 255, .28);--color-border-strong: #FFFFFF;--color-divider: rgba(255, 255, 255, .08);--color-chip: rgba(93, 113, 152, .6);--color-danger: #D47A82;--color-danger-hover: #E08A90;--color-danger-fill: #A34A52;--color-danger-soft: rgba(212, 122, 130, .16);--color-unread-badge: #ED4245;--color-unread-badge-text: #FFFFFF;--color-presence-online: #3A8F86;--color-presence-away: #C9A36A;--color-mention-wash: rgba(202, 168, 72, .14);--color-mention-border: #C9A36A;--color-reply-wash: rgba(168, 148, 120, .16);--color-reply-wash-hover: rgba(168, 148, 120, .28);--font-display: "Poppins", system-ui, sans-serif;--font-ui: "Archivo", system-ui, sans-serif;--color-scroll-track: #0A0D15;--color-scroll-thumb: #2A3A54;--color-scroll-thumb-hover: #38A8FF;color:var(--color-text);font-family:var(--font-ui)}[data-theme=classic]{--color-bg-page: #313338;--color-bg-deep: #1e1f22;--color-bg-rail: #2b2d31;--color-bg-raised: #1a1b1f;--color-bg-sunken: #1a1b1f;--color-bg-overlay: rgb(17 18 20 / 72%);--color-bg-hover: #2b2d31;--color-bg-active: #404249;--color-bg-highlight: #3f4147;--color-drop-wash: rgb(49 51 56 / 82%);--color-text: #f2f3f5;--color-text-muted: #c4c7cc;--color-text-faint: #8b8f98;--color-text-disabled: #8b8f98;--color-text-on-accent: #111214;--color-text-on-accent-disabled: rgb(17 18 20 / 45%);--color-text-on-fill: #fff;--color-accent: #5865f2;--color-accent-hover: #4cb8ff;--color-accent-pressed: #5865f2;--color-accent-disabled: rgba(88, 101, 242, .35);--color-accent-soft: rgba(88, 101, 242, .16);--color-accent-soft-hover: rgba(88, 101, 242, .22);--color-accent-border: rgba(88, 101, 242, .55);--color-accent-border-hover: rgba(88, 101, 242, .7);--color-create: #23a559;--color-link: #00a8fc;--color-link-hover: #4cb8ff;--color-pill-fill: #e8eaed;--color-pill-hover: #f2f3f5;--color-pill-pressed: #dbdee1;--color-pill-disabled: rgb(232 234 237 / 35%);--color-secondary: #2d3036;--color-secondary-hover: #3f4147;--color-secondary-pressed: #232428;--color-secondary-disabled: rgb(45 48 54 / 40%);--color-border: #2d3036;--color-border-hover: #4e5058;--color-border-strong: #fff;--color-divider: #232428;--color-chip: #2b2d31;--color-danger: #f0b4b4;--color-danger-hover: #f0b4b4;--color-danger-fill: #f0b4b4;--color-danger-soft: rgb(240 180 180 / 16%);--color-unread-badge: #ED4245;--color-unread-badge-text: #FFFFFF;--color-presence-online: #23a55a;--color-presence-away: #f0b232;--color-mention-wash: rgba(250, 168, 26, .1);--color-mention-border: #F0B232;--color-reply-wash: rgba(120, 112, 100, .28);--color-reply-wash-hover: rgba(120, 112, 100, .42);--font-display: "Inter", system-ui, sans-serif;--font-ui: "Inter", system-ui, sans-serif;--color-scroll-track: #1e1f22;--color-scroll-thumb: #4e5058;--color-scroll-thumb-hover: #5865f2}[data-theme=league]{--color-bg-page: #0C1826;--color-bg-deep: #010A13;--color-bg-rail: #07111C;--color-bg-raised: #152033;--color-bg-sunken: #061018;--color-bg-overlay: rgba(1, 10, 19, .8);--color-bg-hover: #1A2A3C;--color-bg-active: #24364A;--color-bg-highlight: #1C2E42;--color-drop-wash: rgba(12, 24, 38, .84);--color-text: #EDE6D4;--color-text-muted: #B8A990;--color-text-faint: #8A8070;--color-text-disabled: rgba(237, 230, 212, .35);--color-text-on-accent: #0A1220;--color-text-on-accent-disabled: rgba(10, 18, 32, .45);--color-text-on-fill: #0A1220;--color-accent: #C6B15A;--color-accent-hover: #D4C06E;--color-accent-pressed: #B39A48;--color-accent-disabled: rgba(198, 177, 90, .35);--color-accent-soft: rgba(198, 177, 90, .16);--color-accent-soft-hover: rgba(198, 177, 90, .22);--color-accent-border: rgba(198, 177, 90, .55);--color-accent-border-hover: rgba(198, 177, 90, .7);--color-create: #C6B15A;--color-link: #C6B15A;--color-link-hover: #D4C06E;--color-pill-fill: #C6B15A;--color-pill-hover: #D4C06E;--color-pill-pressed: #B39A48;--color-pill-disabled: rgba(198, 177, 90, .35);--color-secondary: rgba(198, 177, 90, .1);--color-secondary-hover: rgba(198, 177, 90, .18);--color-secondary-pressed: rgba(198, 177, 90, .06);--color-secondary-disabled: rgba(198, 177, 90, .05);--color-border: rgba(198, 177, 90, .42);--color-border-hover: rgba(198, 177, 90, .62);--color-border-strong: #C6B15A;--color-divider: rgba(198, 177, 90, .14);--color-chip: rgba(198, 177, 90, .28);--color-danger: #D47A82;--color-danger-hover: #E08A90;--color-danger-fill: #A34A52;--color-danger-soft: rgba(212, 122, 130, .16);--color-unread-badge: #ED4245;--color-unread-badge-text: #FFFFFF;--color-presence-online: #3EAA70;--color-presence-away: #C2A06A;--color-mention-wash: rgba(198, 177, 90, .14);--color-mention-border: #C6B15A;--color-reply-wash: rgba(160, 130, 80, .18);--color-reply-wash-hover: rgba(160, 130, 80, .3);--font-display: "Cinzel", "Times New Roman", serif;--font-ui: "Source Sans 3", system-ui, sans-serif;--color-scroll-track: #010A13;--color-scroll-thumb: #2A3A4C;--color-scroll-thumb-hover: #C6B15A;color:var(--color-text);font-family:var(--font-ui)}[data-theme=discord]{--color-bg-page: #FBFBFB;--color-bg-deep: #E8E8EA;--color-bg-rail: #F3F3F4;--color-bg-raised: #FFFFFF;--color-bg-sunken: #FFFFFF;--color-bg-overlay: rgba(46, 46, 52, .45);--color-bg-hover: #EBECED;--color-bg-active: #E8E8EA;--color-bg-highlight: #F3F3F4;--color-drop-wash: rgba(251, 251, 251, .84);--color-text: #2E2E34;--color-text-muted: #595A63;--color-text-faint: #6C6D76;--color-text-disabled: rgba(46, 46, 52, .35);--color-text-on-accent: #FFFFFF;--color-text-on-accent-disabled: rgba(255, 255, 255, .45);--color-text-on-fill: #FFFFFF;--color-accent: #5865F2;--color-accent-hover: #6C7FF6;--color-accent-pressed: #4654C0;--color-accent-disabled: rgba(88, 101, 242, .35);--color-accent-soft: rgba(88, 101, 242, .16);--color-accent-soft-hover: rgba(88, 101, 242, .22);--color-accent-border: rgba(88, 101, 242, .55);--color-accent-border-hover: rgba(88, 101, 242, .7);--color-create: #3D9E60;--color-link: #006DD4;--color-link-hover: #0058B0;--color-pill-fill: #5865F2;--color-pill-hover: #6C7FF6;--color-pill-pressed: #4654C0;--color-pill-disabled: rgba(88, 101, 242, .35);--color-secondary: rgba(46, 46, 52, .06);--color-secondary-hover: rgba(46, 46, 52, .1);--color-secondary-pressed: rgba(46, 46, 52, .04);--color-secondary-disabled: rgba(46, 46, 52, .03);--color-border: rgba(46, 46, 52, .16);--color-border-hover: rgba(46, 46, 52, .28);--color-border-strong: #2E2E34;--color-divider: rgba(46, 46, 52, .08);--color-chip: rgba(46, 46, 52, .12);--color-danger: #D6363F;--color-danger-hover: #C12D36;--color-danger-fill: #A2212B;--color-danger-soft: rgba(214, 54, 63, .16);--color-unread-badge: #ED4245;--color-unread-badge-text: #FFFFFF;--color-presence-online: #269153;--color-presence-away: #BB7300;--color-mention-wash: rgba(250, 168, 26, .12);--color-mention-border: #E9A820;--color-reply-wash: rgba(120, 108, 90, .1);--color-reply-wash-hover: rgba(120, 108, 90, .18);--font-display: "Source Sans 3", system-ui, sans-serif;--font-ui: "Source Sans 3", system-ui, sans-serif;--color-scroll-track: #E8E8EA;--color-scroll-thumb: rgba(46, 46, 52, .28);--color-scroll-thumb-hover: #5865F2;color:var(--color-text);font-family:var(--font-ui)}*{box-sizing:border-box}html,body,#app{height:100%;background:var(--color-bg-page);color:var(--color-text)}body{margin:0}:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.server-rail-list,.channel-list,.conversation-list,.message-list,.friends-body,.member-pane,.member-body,.emoji-picker,.expression-picker-body,.pinned-dialog,.dialog,.invite-friend-list,.settings-pane{scrollbar-width:thin;scrollbar-color:var(--color-scroll-thumb) var(--color-scroll-track)}.server-rail-list::-webkit-scrollbar,.channel-list::-webkit-scrollbar,.conversation-list::-webkit-scrollbar,.message-list::-webkit-scrollbar,.friends-body::-webkit-scrollbar,.member-pane::-webkit-scrollbar,.member-body::-webkit-scrollbar,.emoji-picker::-webkit-scrollbar,.expression-picker-body::-webkit-scrollbar,.pinned-dialog::-webkit-scrollbar,.dialog::-webkit-scrollbar,.invite-friend-list::-webkit-scrollbar,.settings-pane::-webkit-scrollbar{width:8px}.server-rail-list::-webkit-scrollbar-track,.channel-list::-webkit-scrollbar-track,.conversation-list::-webkit-scrollbar-track,.message-list::-webkit-scrollbar-track,.friends-body::-webkit-scrollbar-track,.member-pane::-webkit-scrollbar-track,.member-body::-webkit-scrollbar-track,.emoji-picker::-webkit-scrollbar-track,.expression-picker-body::-webkit-scrollbar-track,.pinned-dialog::-webkit-scrollbar-track,.dialog::-webkit-scrollbar-track,.invite-friend-list::-webkit-scrollbar-track,.settings-pane::-webkit-scrollbar-track{background:var(--color-scroll-track)}.server-rail-list::-webkit-scrollbar-thumb,.channel-list::-webkit-scrollbar-thumb,.conversation-list::-webkit-scrollbar-thumb,.message-list::-webkit-scrollbar-thumb,.friends-body::-webkit-scrollbar-thumb,.member-pane::-webkit-scrollbar-thumb,.member-body::-webkit-scrollbar-thumb,.emoji-picker::-webkit-scrollbar-thumb,.expression-picker-body::-webkit-scrollbar-thumb,.pinned-dialog::-webkit-scrollbar-thumb,.dialog::-webkit-scrollbar-thumb,.invite-friend-list::-webkit-scrollbar-thumb,.settings-pane::-webkit-scrollbar-thumb{background:var(--color-scroll-thumb);border-radius:var(--radius-card);transition:background .15s ease}.server-rail-list::-webkit-scrollbar-thumb:hover,.channel-list::-webkit-scrollbar-thumb:hover,.conversation-list::-webkit-scrollbar-thumb:hover,.message-list::-webkit-scrollbar-thumb:hover,.friends-body::-webkit-scrollbar-thumb:hover,.member-pane::-webkit-scrollbar-thumb:hover,.member-body::-webkit-scrollbar-thumb:hover,.emoji-picker::-webkit-scrollbar-thumb:hover,.expression-picker-body::-webkit-scrollbar-thumb:hover,.pinned-dialog::-webkit-scrollbar-thumb:hover,.dialog::-webkit-scrollbar-thumb:hover,.invite-friend-list::-webkit-scrollbar-thumb:hover,.settings-pane::-webkit-scrollbar-thumb:hover{background:var(--color-scroll-thumb-hover)}.auth{display:grid;place-items:center;min-height:100%;height:100%;margin:0;padding:var(--space-5);background:var(--color-bg-page)}.auth-card{width:100%;max-width:26rem;padding:var(--space-5);border:1px solid var(--color-border);border-radius:8px;background:var(--color-bg-raised);box-shadow:var(--shadow-card)}.shell{display:grid;grid-template-columns:312px minmax(0,1fr) 240px;height:100%;max-height:100vh;overflow:hidden;gap:0;background:var(--color-bg-page)}.shell.dm-mode{grid-template-columns:312px minmax(0,1fr)}.left-chrome{display:grid;grid-template-columns:72px 240px;grid-template-rows:minmax(0,1fr) auto;height:100%;min-height:0;overflow:hidden}.server-rail{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);grid-column:1;grid-row:1;height:100%;min-height:0;overflow:hidden;padding:0;background:var(--color-bg-deep)}.server-rail-list{display:flex;flex:1;flex-direction:column;align-items:center;justify-content:flex-start;gap:var(--space-2);width:72px;min-height:0;overflow-y:auto}.server-item{position:relative;display:flex;align-items:center;justify-content:center;width:72px;flex-shrink:0}.server-item:before{content:"";position:absolute;left:0;width:4px;height:8px;border-radius:0 4px 4px 0;background:var(--color-border-strong);opacity:0;transform:scaleY(0);transition:height .15s ease,opacity .15s ease,transform .15s ease,background-color .15s ease}.server-item:hover:before,.server-item:focus-within:not(.active):before{height:1.25rem;opacity:1;transform:scaleY(1)}.server-item.unread:not(.active):before{height:8px;opacity:1;transform:scaleY(1)}.server-item.unread:hover:not(.active):before,.server-item.unread:focus-within:not(.active):before{height:1.25rem;opacity:1;transform:scaleY(1)}.server-item.has-mentions:not(.active):before{height:8px;opacity:1;transform:scaleY(1);background:var(--color-unread-badge)}.server-item.has-mentions:hover:not(.active):before,.server-item.has-mentions:focus-within:not(.active):before{height:1.25rem;opacity:1;transform:scaleY(1);background:var(--color-unread-badge)}.server-item.active:before{height:2.5rem;opacity:1;transform:scaleY(1);background:var(--color-border-strong)}.server-item.is-muted>.server-icon{opacity:.55;transition:border-radius .15s ease,background .15s ease,color .15s ease,opacity .15s ease}.server-item.is-muted:hover>.server-icon,.server-item.is-muted:focus-within>.server-icon,.server-item.is-muted.active>.server-icon{opacity:.7}.server-icon.create,.server-icon.dm-icon{flex-shrink:0}.server-icon.dm-icon{position:relative;display:inline-flex;align-items:center;justify-content:center;overflow:visible}.dm-unread-badge{position:absolute;top:-4px;right:-4px;z-index:1;display:inline-flex;align-items:center;justify-content:center;min-width:16px;height:16px;padding:0 4px;border:2px solid var(--color-bg-rail);border-radius:var(--radius-pill);background:var(--color-unread-badge);color:var(--color-unread-badge-text);font-family:var(--font-ui);font-size:10px;font-weight:700;line-height:16px;text-align:center;transition:opacity .15s ease}.dm-unread-badge.dot{top:-2px;right:-2px;min-width:8px;width:8px;height:8px;padding:0}.dm-glyph{display:block;width:20px;height:20px}.rail-status{margin:0;padding:0 .15rem;color:var(--color-text-faint);font-size:10px;line-height:14px;text-align:center}.server-icon{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;padding:0;border:0;overflow:hidden;border-radius:var(--radius-icon-idle);background:var(--color-bg-raised);color:var(--color-text-muted);font-family:var(--font-ui);font-size:12px;font-weight:600;line-height:1;transition:border-radius .15s ease,background .15s ease,color .15s ease}.server-icon-mark{display:flex;align-items:center;justify-content:center;width:100%;height:100%}.server-icon img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}.server-icon:hover,.server-icon:focus-visible,.server-icon.active{border-radius:1rem;background:var(--color-accent);color:var(--color-text-on-fill)}.server-icon.create{color:var(--color-create);font-size:1.25rem}.server-icon.create:hover,.server-icon.create:focus-visible{background:var(--color-create);color:var(--color-text-on-fill)}.rail-tooltip{position:fixed;z-index:50;max-width:14rem;padding:8px 12px;transform:translateY(-50%);background:var(--color-bg-deep);border:1px solid var(--color-border);border-radius:var(--radius-tooltip);color:var(--color-text);font-family:var(--font-ui);font-size:14px;font-weight:600;line-height:18px;pointer-events:none;box-shadow:var(--shadow-tooltip)}.channel-rail{display:flex;flex-direction:column;grid-column:2;grid-row:1;min-width:0;min-height:0;height:100%;overflow:hidden;padding:0;background:var(--color-bg-rail)}.server-heading{display:flex;flex-shrink:0;align-items:center;height:48px;margin:0;padding:0 16px;border-bottom:1px solid var(--color-divider);font-family:var(--font-ui);font-size:16px;font-weight:600;line-height:24px;color:var(--color-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.channel-rail>.error,.channel-rail>.muted{margin:0;padding:8px 16px 0}.channel-list{display:flex;flex:1;flex-direction:column;gap:var(--space-1);margin:0;padding:8px;list-style:none;min-height:0;overflow-y:auto}.dm-search-cell{position:relative;flex-shrink:0;height:48px;padding:8px;border-bottom:1px solid var(--color-divider)}.dm-search-field{display:block;box-sizing:border-box;width:100%;height:32px;padding:0 8px;border:1px solid var(--color-border);border-radius:8px;background:var(--color-bg-sunken);color:var(--color-text);font-family:var(--font-ui);font-size:14px;font-weight:400;line-height:20px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;transition:border-color .15s ease}.dm-search-field::placeholder{color:var(--color-text-faint)}.dm-friends-wrap{flex-shrink:0;padding:8px 8px 0}.dm-friends-row{display:flex;align-items:center;gap:8px;width:100%;height:42px;padding:0 8px;border:0;border-radius:var(--radius-card);background:transparent;color:var(--color-text-faint);text-align:left;font-family:var(--font-ui);font-size:14px;font-weight:500;line-height:20px;cursor:pointer;transition:background .15s ease,color .15s ease}.dm-friends-row:hover:not(:disabled){background:var(--color-bg-hover);color:var(--color-text-muted)}.dm-friends-row.active,.dm-friends-row.active:hover:not(:disabled){background:var(--color-bg-active);color:var(--color-text)}.dm-friends-glyph{display:block;flex-shrink:0;width:20px;height:20px}.dm-friends-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dm-heading-row{display:flex;flex-shrink:0;align-items:center;justify-content:space-between;gap:8px;height:32px;padding:0 8px 0 16px}.dm-heading{margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--font-ui);font-size:12px;font-weight:600;line-height:16px;letter-spacing:.1em;text-transform:uppercase;color:var(--color-text-faint)}.dm-new{display:inline-flex;flex-shrink:0;align-items:center;justify-content:center;width:24px;height:24px;padding:0;border:0;border-radius:var(--radius-card);background:transparent;color:var(--color-text-faint);cursor:pointer}.dm-new svg{display:block;width:16px;height:16px}.conversation-list{display:flex;flex:1 1 auto;flex-direction:column;gap:var(--space-1);margin:0;padding:8px;list-style:none;min-height:0;overflow-y:auto}.conversation,.dm-finder-result{display:flex;align-items:center;gap:8px;width:100%;height:42px;padding:0 8px;border:0;border-radius:var(--radius-card);background:transparent;color:var(--color-text-faint);text-align:left;font-family:var(--font-ui);font-size:14px;font-weight:500;line-height:20px;cursor:pointer;transition:background .15s ease,color .15s ease}.conversation:hover,.dm-finder-result:hover{background:var(--color-bg-hover);color:var(--color-text-muted)}.conversation.active,.dm-finder-result.active,.dm-finder-result.active:hover{background:var(--color-bg-active);color:var(--color-text)}.conversation-avatar{position:relative;display:inline-flex;flex-shrink:0;width:32px;height:32px}.conversation-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dm-finder-result .conversation-name{flex:1;min-width:0}.dm-finder-action{flex-shrink:0;color:var(--color-accent);font-family:var(--font-ui);font-size:12px;font-weight:600;line-height:16px}.dm-finder-status{flex-shrink:0;color:var(--color-text-faint);font-family:var(--font-ui);font-size:12px;font-weight:400;line-height:16px}.dm-finder-result.is-static{cursor:default}.dm-finder{position:absolute;top:44px;left:8px;z-index:20;box-sizing:border-box;width:224px;max-height:252px;overflow-x:hidden;overflow-y:auto;padding:8px 0;border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-bg-deep);box-shadow:var(--shadow-menu)}.dm-finder.is-copy{padding:12px 16px}.dm-finder-hint{margin:0;color:var(--color-text-faint);font-family:var(--font-ui);font-size:14px;font-weight:400;line-height:20px}.dm-header-avatar{display:inline-flex;flex-shrink:0;width:32px;height:32px}.dm-header-avatar .people-avatar{width:100%;height:100%}.center-header:has(.friends-tabs) .channel-heading{gap:16px}.friends-heading-title{flex:0 1 auto;min-width:0}.friends-tabs{display:flex;flex:1 1 auto;min-width:0;align-items:center;gap:8px;flex-wrap:nowrap}.friends-tab{height:32px;padding:0 12px;border:0;border-radius:var(--radius-card);background:transparent;color:var(--color-text-muted);font-family:var(--font-ui);font-size:14px;font-weight:500;line-height:20px;cursor:pointer;transition:background .15s ease,color .15s ease}.friends-body{flex:1 1 auto;min-height:0;overflow-y:auto}.friends-empty{padding:16px;font-family:var(--font-ui);font-size:14px}.friends-list{display:flex;flex-direction:column;gap:0;margin:0;padding:8px 8px 16px;list-style:none}.friends-row{display:flex;align-items:center;gap:8px;width:100%;height:48px;padding:0 16px;border-radius:var(--radius-card);transition:background .15s ease}.friends-row:hover{background:var(--color-bg-hover)}.friends-row .presence-dot{border-color:var(--color-bg-page)}.friends-row-stack{display:flex;flex:1;min-width:0;flex-direction:column;justify-content:center}.friends-row-tag{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--color-text);font-family:var(--font-ui);font-size:14px;font-weight:500;line-height:20px}.friends-row-sub{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--color-text-faint);font-family:var(--font-ui);font-size:12px;font-weight:400;line-height:16px}.friends-row-actions{display:flex;flex-shrink:0;align-items:center;gap:8px}.friends-message{display:inline-flex;flex-shrink:0;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:0;border-radius:var(--radius-card);background:transparent;color:var(--color-text-muted);cursor:pointer;transition:background .15s ease,color .15s ease}.friends-message svg{display:block;width:16px;height:16px}.friends-message:hover:not(:disabled),.friends-message:focus-visible{background:var(--color-bg-hover);color:var(--color-text)}.friends-accept{height:32px;padding:0 12px;border:0;border-radius:var(--radius-card);background:var(--color-accent);color:var(--color-text-on-accent);font-family:var(--font-ui);font-size:14px;font-weight:600;line-height:20px;cursor:pointer;transition:background .15s ease}.friends-accept:hover:not(:disabled){background:var(--color-accent)}.friends-ignore{height:32px;padding:0 12px;border:0;border-radius:var(--radius-card);background:transparent;color:var(--color-text-muted);font-family:var(--font-ui);font-size:14px;font-weight:500;line-height:20px;cursor:pointer;transition:background .15s ease,color .15s ease}.friends-ignore:hover:not(:disabled){background:var(--color-bg-hover);color:var(--color-text)}.friends-pending-label{flex-shrink:0;color:var(--color-text-faint);font-family:var(--font-ui);font-size:14px;font-weight:400;line-height:20px}.friends-add{display:flex;flex-direction:column;align-items:flex-start;gap:0;max-width:480px;padding:16px}.friends-add-heading{margin:0;color:var(--color-text);font-family:var(--font-display);font-size:20px;font-weight:600;line-height:24px}.friends-add-hint{margin:8px 0 0;color:var(--color-text-muted);font-family:var(--font-ui);font-size:14px;font-weight:400;line-height:20px}.friends-add-field{width:100%;height:40px;margin-top:16px;padding:0 12px}.friends-add-field::placeholder{color:var(--color-text-faint)}.friends-add-submit{margin-top:8px;height:36px}.friends-add-submit:disabled{cursor:not-allowed}.friends-add-success{margin:8px 0 0;color:var(--color-text);font-family:var(--font-ui);font-size:14px;font-weight:400;line-height:20px}.friends-add .error{margin-top:8px}.user-panel-slot{display:flex;flex-direction:column;align-items:flex-start;grid-column:1 / -1;grid-row:2;height:auto;min-height:74px;background:linear-gradient(to right,var(--color-bg-deep) 72px,var(--color-bg-rail) 72px)}.voice-connection{display:flex;align-items:center;box-sizing:border-box;width:296px;min-width:0;min-height:48px;height:auto;margin:8px 8px 0;padding:8px;gap:8px;background:var(--color-bg-raised);border-radius:8px 8px 0 0}.voice-connection-signal{display:inline-flex;flex:0 0 16px;align-self:center;color:var(--color-text-faint)}.voice-connection-signal.connected{color:var(--color-presence-online)}.voice-connection-signal svg{display:block;width:16px;height:16px}.voice-connection-copy{display:flex;flex:1;flex-direction:column;min-width:0;gap:0}.voice-connection-status{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--color-text-faint);font-family:var(--font-ui);font-size:12px;font-weight:600;line-height:16px}.voice-connection-status.connected{color:var(--color-presence-online)}.voice-connection-channel{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--color-text-muted);font-family:var(--font-ui);font-size:12px;font-weight:400;line-height:16px}button.voice-connection-leave{display:inline-flex;flex:0 0 32px;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:0;border-radius:8px;background:var(--color-bg-hover);color:var(--color-text-muted);font-weight:500;cursor:pointer;transition:background .15s ease,color .15s ease}button.voice-connection-leave:hover:not(:disabled),button.voice-connection-leave:focus-visible,button.voice-connection-leave:active:not(:disabled){background:var(--color-danger-soft);color:var(--color-danger)}button.voice-connection-leave:disabled{background:var(--color-bg-hover);color:var(--color-text-disabled);cursor:not-allowed}button.voice-connection-leave svg{display:block;width:16px;height:16px}.user-panel{display:flex;align-items:center;width:296px;height:58px;margin:8px;padding:4px 4px 4px 8px;gap:8px;overflow:hidden;border:0;border-radius:8px;background:var(--color-bg-raised)}.user-panel-slot:has(.voice-connection) .user-panel{margin-top:0;border-radius:0 0 8px 8px;box-shadow:0 -1px 0 var(--color-divider)}.user-panel-identity{display:flex;flex:1;align-items:center;min-width:0;height:50px;min-height:0;gap:8px;padding:0 4px 0 0;border:0;border-radius:var(--radius-card);background:transparent;color:inherit;text-align:left;cursor:pointer}.user-panel-identity:hover:not(:disabled),.user-panel-identity:focus-visible,.user-panel-identity:active:not(:disabled){background:var(--color-bg-hover);color:inherit}.user-panel-avatar{position:relative;display:inline-flex;flex-shrink:0;width:32px;height:32px}.user-panel .presence-dot{border-color:var(--color-bg-raised)}.user-panel-stack{display:flex;flex:1;flex-direction:column;justify-content:center;min-width:0}.user-panel-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--color-text);font-family:var(--font-ui);font-size:14px;font-weight:600;line-height:18px}.user-panel-status{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--color-text-faint);font-family:var(--font-ui);font-size:12px;font-weight:400;line-height:16px}.user-panel-plaques{display:flex;flex-shrink:0;align-items:center;gap:4px}.user-panel-plaque{position:relative;display:inline-flex;flex-shrink:0;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:0;border-radius:var(--radius-input);background:transparent;color:var(--color-text-muted);cursor:pointer;transition:background .15s ease,color .15s ease}.user-panel-plaque:hover:not(:disabled),.user-panel-plaque:focus-visible{background:var(--color-bg-hover);color:var(--color-text)}.user-panel-plaque.is-on{background:var(--color-danger-soft);color:var(--color-danger)}.user-panel-plaque.is-on:hover:not(:disabled),.user-panel-plaque.is-on:focus-visible{background:var(--color-danger-soft);color:var(--color-danger)}.user-panel-plaque svg{display:block;width:1.25rem;height:1.25rem}.channel-section-heading{display:flex;align-items:center;height:24px;margin:0;padding:8px 8px 4px;color:var(--color-text-faint);font-family:var(--font-ui);font-size:11px;font-weight:600;letter-spacing:.04em;line-height:16px;text-transform:uppercase;list-style:none;pointer-events:none;-webkit-user-select:none;user-select:none}.channel-list>.channel-section-heading:first-child{padding-top:0}.channel{display:flex;align-items:center;gap:8px;width:100%;height:32px;padding:0 8px;border:0;border-radius:var(--radius-card);background:transparent;color:var(--color-text-faint);text-align:left;font-family:var(--font-ui);font-size:14px;font-weight:500;line-height:20px;transition:background .15s ease,color .15s ease}.channel-voice-icon{flex-shrink:0;width:16px;height:16px;color:inherit}.channel.channel-voice.connected .channel-voice-icon{color:var(--color-presence-online)}.channel-voice-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.channel-voice-block{display:flex;flex-direction:column;list-style:none}.voice-rail-roster{display:flex;flex-direction:column;gap:0;margin:0;padding:0;list-style:none}.voice-rail-roster-row{display:flex;align-items:center;gap:8px;height:28px;padding:0 8px 0 32px;border-radius:var(--radius-card);cursor:context-menu;transition:background .15s ease}.voice-rail-roster-row.is-self:has(.voice-rail-roster-status){height:auto;min-height:38px;padding-top:4px;padding-bottom:4px}.voice-rail-roster-row:hover{background:var(--color-bg-hover)}.voice-rail-roster-avatar{box-sizing:border-box;position:relative;display:inline-flex;flex-shrink:0;align-items:center;justify-content:center;width:24px;height:24px;border:2px solid transparent;border-radius:50%;transition:border-color .15s ease}.voice-rail-roster-avatar.speaking{border-color:var(--color-presence-online)}.voice-rail-roster-avatar .people-avatar{width:20px;height:20px}.voice-rail-roster-avatar .people-avatar-glyph{width:10px;height:10px}.voice-rail-roster-stack{display:flex;min-width:0;flex:1;flex-direction:column;justify-content:center;gap:0}.voice-rail-roster-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--color-text-muted);font-family:var(--font-ui);font-size:13px;font-weight:500;line-height:16px}.voice-rail-roster-status{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--color-presence-online);font-family:var(--font-ui);font-size:11px;font-weight:600;line-height:14px}.voice-rail-roster-status.connecting{color:var(--color-text-faint);font-weight:400}.channel:hover{background:var(--color-bg-hover);color:var(--color-text-muted)}.channel.unread:not(.active){color:var(--color-text);font-weight:700}.channel.has-mentions:not(.active){color:var(--color-unread-badge);font-weight:700}.channel.active{background:var(--color-bg-active);color:var(--color-text)}.center-pane{position:relative;display:flex;flex-direction:column;min-width:0;min-height:0;height:100%;overflow:hidden;padding:0;background:var(--color-bg-page)}.chat-thread{flex:1;flex-direction:column;min-height:0;overflow:hidden}.chat-thread:not([hidden]){display:flex}.voice-mic-badge{position:absolute;right:-2px;bottom:-2px;display:inline-flex;align-items:center;justify-content:center;width:10px;height:10px;border-radius:4px;background:var(--color-bg-sunken);color:var(--color-danger)}.voice-mic-badge svg{display:block;width:8px;height:8px}.channel-kind-field{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}.channel-kind-label{color:var(--color-text-muted);font-family:var(--font-ui);font-size:12px;font-weight:600;line-height:16px}.channel-kind-toggle{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:4px;border:1px solid var(--color-border);border-radius:var(--radius-input);background:var(--color-bg-sunken)}.channel-kind-toggle>button{height:32px;padding:0 8px;border:0;border-radius:var(--radius-card);background:transparent;color:var(--color-text-muted);font-family:var(--font-ui);font-size:14px;font-weight:500;line-height:1;cursor:pointer;transition:background .15s ease,color .15s ease}.channel-kind-toggle>button:hover:not(:disabled):not(.selected){background:var(--color-bg-hover)}.channel-kind-toggle>button.selected{background:var(--color-bg-active);color:var(--color-text);font-weight:600}.channel-kind-toggle>button:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.center-pane.file-drop-active:after{content:"Drop files to attach";position:absolute;inset:8px;z-index:5;display:grid;place-items:center;border:2px dashed var(--color-accent);background:var(--color-drop-wash);color:var(--color-text);font-family:var(--font-ui);font-size:16px;font-weight:600;pointer-events:none}.center-header{display:flex;flex-shrink:0;align-items:center;justify-content:space-between;gap:var(--space-3);height:48px;padding:0 16px;border-bottom:1px solid var(--color-divider)}.center-header h2{margin:0;font-family:var(--font-display);font-size:16px;font-weight:600;line-height:24px;text-transform:none;letter-spacing:0;color:var(--color-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.channel-heading{display:flex;flex:1;align-items:center;gap:var(--space-2);min-width:0}.header-pin{position:relative;display:inline-flex;flex-shrink:0;align-items:center;justify-content:center;width:2rem;height:2rem;padding:0;border:0;border-radius:var(--radius-card);background:transparent;color:var(--color-text-muted);transition:background .15s ease,color .15s ease}.header-pin:hover:not(:disabled){background:var(--color-bg-hover);color:var(--color-text)}.header-pin:disabled{background:transparent;color:var(--color-text-disabled);cursor:not-allowed}.header-pin svg,.message-pin-mark svg{display:block;width:1.15rem;height:1.15rem}.pin-badge{position:absolute;top:-2px;right:-4px;min-width:16px;height:16px;padding:0 4px;border-radius:var(--radius-badge);background:var(--color-accent);color:var(--color-text-on-fill);font-family:var(--font-ui);font-size:10px;font-weight:600;line-height:16px;text-align:center}.pane-status{flex-shrink:0;padding:8px 16px 0}.center-actions{display:flex;align-items:center;gap:var(--space-2)}.center-header h1{margin:0;font-family:var(--font-display);font-size:18px;font-weight:600;line-height:24px;color:var(--color-text)}.member-pane{display:flex;flex-direction:column;min-height:0;height:100%;overflow:hidden;padding:0;background:var(--color-bg-rail)}.member-spacer{flex-shrink:0;height:48px}.member-body{flex:1;min-height:0;overflow-y:auto;padding:16px 8px}.dialog h2{margin:0 0 16px;font-family:var(--font-display);font-size:20px;font-weight:600;line-height:24px;letter-spacing:0;text-transform:none;color:var(--color-text)}.member-section+.member-section{margin-top:var(--space-3)}.member-section-heading{margin:0 0 8px;font-family:var(--font-ui);font-size:12px;font-weight:600;line-height:16px;letter-spacing:.1em;text-transform:uppercase;color:var(--color-text-faint)}.member-list{margin:0;padding:0;list-style:none}.member{display:flex;justify-content:space-between;align-items:center;gap:8px;min-height:42px;padding:4px 8px;border-radius:var(--radius-card);color:var(--color-text-muted);font-size:14px;font-weight:500}.member:hover{background:var(--color-bg-hover)}.member-offline{opacity:.55}.member-offline .member-name{color:var(--color-text-muted)}.member-identity{display:inline-flex;align-items:center;gap:var(--space-2);min-width:0}.member-avatar-wrap{position:relative;display:inline-flex;flex-shrink:0;width:32px;height:32px}.member-avatar{display:inline-flex;flex-shrink:0;width:32px;height:32px}.member-name-cluster{display:inline-flex;align-items:baseline;gap:6px;min-width:0;max-width:100%}.member-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--font-ui);font-size:14px;font-weight:600;line-height:18px;color:var(--color-text)}.member-timeout-badge{flex-shrink:0;padding:1px 5px;border-radius:4px;background:var(--color-danger-soft);color:var(--color-danger);font-size:10px;font-weight:700;line-height:14px;letter-spacing:.02em;text-transform:uppercase}.composer-timeout-notice{margin:0 16px 8px;color:var(--color-danger);font-size:13px;font-weight:500}.presence-dot{position:absolute;right:-1px;bottom:-1px;display:block;width:10px;height:10px;border:2px solid var(--color-bg-rail);border-radius:50%;box-sizing:border-box;flex-shrink:0}.presence-dot.online{background:var(--color-presence-online)}.presence-dot.away{background:var(--color-presence-away)}.member-role{color:var(--color-text-faint);font-size:12px;font-weight:400}.muted,.todo{color:var(--color-text-faint)}.message-list{--chat-visible-messages: 15;--chat-message-row: 4rem;flex:1 1 auto;margin-top:auto;min-height:0;max-height:calc(var(--chat-visible-messages) * var(--chat-message-row) + 2rem);overflow-x:hidden;overflow-y:auto;padding:16px}.message-list-content{display:flow-root;min-height:min-content}.message{display:grid;grid-template-columns:40px minmax(0,1fr);column-gap:16px;margin:0 0 16px;padding:4px 8px;border-radius:var(--radius-card)}.message-avatar{display:flex;width:40px;height:40px;margin-top:2px}.message-body{min-width:0}.message-highlight{background:var(--color-bg-highlight);outline:1px solid var(--color-accent)}.message.mentioned{background:var(--color-mention-wash);box-shadow:inset 2px 0 0 var(--color-mention-border)}.message.mentioned.message-highlight{background:var(--color-mention-wash);outline:1px solid var(--color-accent)}.message-reply{display:grid;grid-template-columns:2px minmax(0,1fr) auto;column-gap:8px;align-items:center;margin:0 0 4px;padding:2px 6px 2px 4px;min-height:18px;max-width:100%;border-radius:var(--radius-card);background:var(--color-reply-wash)}.message-reply-bar{width:2px;align-self:stretch;border-radius:1px;background:var(--color-accent)}.message-reply-body{display:flex;align-items:baseline;gap:4px;min-width:0;width:auto;height:auto;min-height:0;padding:0;border:0;border-radius:0;background:transparent;color:inherit;font:inherit;font-weight:inherit;line-height:inherit;text-align:left;cursor:pointer}.message-reply-author{flex-shrink:0;font-family:var(--font-ui);font-size:12px;line-height:16px;font-weight:600;color:var(--color-accent)}.message-reply-snippet{min-width:0;overflow:hidden;font-family:var(--font-ui);font-size:12px;line-height:16px;font-weight:400;color:var(--color-text-muted);white-space:nowrap;text-overflow:ellipsis}.message-reply-jump{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;border:0;border-radius:var(--radius-card);background:transparent;color:var(--color-text-faint);cursor:pointer}.message-reply-jump:hover:not(:disabled){background:transparent;color:var(--color-text)}.message-reply-jump svg{width:16px;height:16px}.message-mention{display:inline;vertical-align:baseline;padding:0 4px;border:0;border-radius:3px;background:var(--color-accent-soft);color:var(--color-accent);font-family:inherit;font-size:inherit;font-weight:500;line-height:inherit;text-decoration:none;cursor:pointer;transition:background-color .15s ease,color .15s ease}.message-mention:hover,.message-mention:active{background:var(--color-accent-soft-hover);color:var(--color-accent-hover)}.message-mention:visited{color:var(--color-accent)}.message-mention-everyone{font-weight:600}.message-meta{display:flex;align-items:baseline;gap:var(--space-2)}.message-author{font-size:14px;font-weight:600;color:var(--color-text)}.message-author-tag,.mention-suggest-tag{font-size:14px;font-weight:500;color:var(--color-text-faint)}.message-time{color:var(--color-text-faint);font-size:12px;line-height:16px}.message-content{margin:4px 0 0;color:var(--color-text-muted);font-size:14px;line-height:22px;white-space:pre-wrap;word-break:break-word}.message-emoji{font-size:1.85rem;line-height:1;vertical-align:-.12em}.message-reactions{display:flex;flex-wrap:wrap;gap:var(--space-1);margin:8px 0 0}.message-reaction{display:inline-flex;align-items:center;gap:var(--space-1);min-height:24px;height:auto;padding:4px 8px;border:1px solid var(--color-border);border-radius:var(--radius-reaction);background:var(--color-bg-raised);color:var(--color-text-muted);font-family:var(--font-ui);font-size:12px;font-weight:600;line-height:1;cursor:pointer;transition:background .15s ease,border-color .15s ease}.message-reaction:disabled{cursor:not-allowed;opacity:.55;background:var(--color-bg-raised);color:var(--color-text-muted)}.message-reaction-me{background:var(--color-accent-soft);border-color:var(--color-accent-border);color:var(--color-text)}.message-reaction-emoji{font-size:1.15rem;line-height:1}.message-reaction-count{font-size:12px;font-weight:600}.pinned-row-content .message-emoji{font-size:1.35rem;vertical-align:-.08em}.message-link{color:var(--color-link);text-decoration:underline}.message-link:hover{color:var(--color-link-hover)}.message-edited{color:var(--color-text-faint);font-size:12px;line-height:16px}.message-pin-mark{display:inline-flex;align-items:center;color:var(--color-text-faint)}.message-edit{margin:4px 0 0}.message-edit-actions{display:flex;justify-content:flex-end;gap:var(--space-2);margin-top:8px}.composer{display:flex;flex-shrink:0;flex-direction:column;align-items:stretch;padding:0 16px 16px;border-top:0}.composer-reply{display:flex;align-items:center;gap:8px;height:40px;margin:0 0 4px;padding:0 8px;box-sizing:border-box;border-radius:var(--radius-card);background:var(--color-reply-wash)}.composer-reply-bar{flex-shrink:0;width:2px;height:24px;border-radius:1px;background:var(--color-accent)}.composer-reply-label{flex-shrink:0;font-family:var(--font-ui);font-size:14px;line-height:18px;font-weight:600;color:var(--color-text)}.composer-reply-snippet{min-width:0;flex:1 1 auto;overflow:hidden;font-family:var(--font-ui);font-size:12px;line-height:16px;color:var(--color-text-faint);white-space:nowrap;text-overflow:ellipsis}.composer-reply-dismiss{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:32px;height:32px;padding:0;border:0;border-radius:var(--radius-card);background:transparent;color:var(--color-text-muted);cursor:pointer}.composer-reply-dismiss:hover{background:var(--color-bg-hover);color:var(--color-text)}.composer-reply-dismiss svg{width:14px;height:14px}.composer-row{display:flex;align-items:center;gap:var(--space-2)}.mention-suggest{position:fixed;z-index:40;width:min(320px,calc(100% - 32px));max-height:240px;overflow-x:hidden;overflow-y:auto;padding:8px 0;border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-bg-deep);box-shadow:var(--shadow-menu)}.mention-suggest-item{display:flex;align-items:center;gap:8px;width:100%;height:40px;padding:0 12px;border:0;background:transparent;color:var(--color-text);font-family:var(--font-ui);font-size:14px;line-height:18px;font-weight:500;text-align:left;cursor:pointer}.mention-suggest-item:hover,.mention-suggest-item.active{background:var(--color-bg-hover)}.mention-suggest-item .people-avatar{width:24px;height:24px;flex-shrink:0}.mention-suggest-everyone-mark{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;flex-shrink:0;border-radius:3px;background:var(--color-accent-soft);color:var(--color-accent);font-size:14px;font-weight:700;line-height:1}.mention-suggest-name{min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.mention-suggest-empty,.mention-suggest-loading{padding:12px 16px;color:var(--color-text-faint);font-family:var(--font-ui);font-size:14px;line-height:18px}.composer-attach{display:inline-flex;flex-shrink:0;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:0;border-radius:var(--radius-card);background:transparent;color:var(--color-text-muted);transition:background .15s ease,color .15s ease}.composer-attach:hover:not(:disabled){background:var(--color-bg-hover);color:var(--color-text)}.composer-attach:disabled{background:transparent;color:var(--color-text-disabled);cursor:not-allowed}.composer-attach svg{display:block;width:1.25rem;height:1.25rem}.composer-attach.is-recording{color:var(--color-danger);background:var(--color-bg-hover)}.composer-recording{display:flex;align-items:center;gap:var(--space-2);min-height:28px;padding:0 4px;color:var(--color-text);font-family:var(--font-ui);font-size:13px;line-height:18px}.composer-recording-dot{width:8px;height:8px;flex-shrink:0;border-radius:50%;background:var(--color-danger);animation:composer-recording-pulse 1.1s ease-in-out infinite}.composer-recording-label{min-width:0;flex:1;font-variant-numeric:tabular-nums}.composer-recording-cancel{margin-left:auto}@keyframes composer-recording-pulse{0%,to{opacity:1}50%{opacity:.35}}.attachment-audio-el{display:none}.attachment-audio-play{display:inline-flex;flex-shrink:0;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:0;border-radius:var(--radius-card);background:var(--color-bg-sunken);color:var(--color-text);cursor:pointer;transition:background .15s ease,color .15s ease}.attachment-audio-play:hover:not(:disabled){background:var(--color-bg-hover)}.attachment-audio-play:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.attachment-audio-play svg{display:block;width:1rem;height:1rem}.attachment-audio-duration{flex-shrink:0;min-width:3rem;color:var(--color-text-muted);font-family:var(--font-ui);font-size:13px;font-variant-numeric:tabular-nums;line-height:18px}.message-attachment.audio{gap:var(--space-2)}.composer-box{display:flex;flex:1;flex-direction:column;gap:var(--space-2);min-width:0;min-height:44px;padding:4px 8px;background:var(--color-bg-sunken);border:1px solid var(--color-border);border-radius:8px;transition:border-color .15s ease}.composer-box:hover{border-color:var(--color-border-hover)}.composer-box:focus-within{border-color:var(--color-accent)}.composer-box textarea{min-height:32px;max-height:8rem;border:0;padding:6px 4px;resize:none;line-height:20px;background:transparent;color:var(--color-text);caret-color:var(--color-accent)}.composer-box textarea:focus,.composer-box textarea:focus-visible{outline:none;border:0}.composer-field{position:relative;display:flex;flex:1;align-items:center;min-width:0;margin:0;gap:0}.file-chip-list{display:flex;flex-direction:column;gap:var(--space-2)}.file-chip{display:flex;align-items:center;gap:var(--space-2);padding:8px;border-radius:var(--radius-card);background:var(--color-bg-raised);color:var(--color-text-muted);font-size:14px}.file-chip-preview{width:2.5rem;height:2.5rem;object-fit:cover;flex-shrink:0;border-radius:var(--radius-media);background:var(--color-bg-sunken)}.file-chip-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-chip-size,.attachment-size{color:var(--color-text-faint);white-space:nowrap}.attachment-expired{color:var(--color-danger);white-space:nowrap}.file-chip button{margin-left:auto;height:32px;padding:4px 12px}.message-attachment{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);margin:8px 0 0;padding:8px;border-radius:var(--radius-card);background:var(--color-bg-raised);color:var(--color-text-muted);font-size:14px;cursor:context-menu}.message-attachment.visual{flex-direction:column;align-items:flex-start;padding:0;background:transparent}.message-uploading{opacity:.92}.transfer-progress{display:flex;align-items:center;gap:var(--space-2);flex:1 1 100%;width:100%;max-width:22rem;margin:4px 0 0}.transfer-progress-track{flex:1;height:8px;overflow:hidden;background:var(--color-bg-sunken);border-radius:var(--radius-pill)}.transfer-progress-bar{height:100%;background:var(--color-accent);transition:width .12s linear}.transfer-progress-label{min-width:44px;color:var(--color-text-muted);font-size:12px;text-align:right}.attachment-media-button{display:block;width:fit-content;max-width:100%;height:auto;margin:0;padding:0;border:0;border-radius:var(--radius-media);background:transparent;color:inherit;font:inherit;font-weight:inherit;line-height:0;cursor:zoom-in;text-align:left}.attachment-media-button:hover:not(:disabled),.attachment-media-button:active:not(:disabled){background:transparent}.attachment-media-button:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.attachment-media,.link-preview-media{display:block;max-width:min(100%,22rem);max-height:18rem;width:auto;height:auto;object-fit:contain;border-radius:var(--radius-media);background:var(--color-bg-sunken)}.image-lightbox-backdrop{position:fixed;z-index:60;inset:0;display:grid;place-items:center;padding:2.5rem 1.5rem 1.5rem;background:color-mix(in srgb,var(--color-bg-overlay) 92%,#000 8%);cursor:zoom-out}.image-lightbox-media{display:block;max-width:min(100vw - 3rem,96rem);max-height:calc(100vh - 4rem);width:auto;height:auto;object-fit:contain;border-radius:var(--radius-media);box-shadow:var(--shadow-card);cursor:default;background:var(--color-bg-sunken)}.image-lightbox-close{position:absolute;top:.75rem;right:.75rem;z-index:1;width:2.25rem;height:2.25rem;margin:0;padding:0;border:0;border-radius:var(--radius-pill);background:var(--color-bg-raised);color:var(--color-text);font-size:1.5rem;line-height:1;cursor:pointer}.image-lightbox-close:hover{background:var(--color-bg-sunken)}.image-lightbox-close:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.attachment-meta{display:flex;align-items:center;gap:var(--space-2);max-width:100%}.message-attachment.visual .attachment-meta{padding:8px 0 0;font-size:12px;color:var(--color-text-faint)}.message-link-previews{display:flex;flex-direction:column;gap:var(--space-2);margin:8px 0 0}.link-preview{display:inline-block;max-width:100%;border:1px solid var(--color-border);border-radius:var(--radius-media)}.link-preview:hover{border-color:var(--color-accent)}.link-preview--youtube{align-self:flex-start;width:min(100%,16rem);overflow:hidden;background:var(--color-bg-sunken)}.youtube-preview{display:flex;flex-direction:column;width:100%}.youtube-preview-play{position:relative;display:block;width:100%;height:auto;aspect-ratio:1 / 1;margin:0;padding:0;border:0;border-radius:0;overflow:hidden;background:transparent;cursor:pointer;color:var(--color-text)}.youtube-preview-play .link-preview-media{position:absolute;inset:0;width:100%;height:100%;max-width:none;max-height:none;object-fit:cover;border-radius:0}.youtube-preview-play:focus-visible{outline:2px solid var(--color-accent);outline-offset:-2px}.youtube-preview-play-badge{position:absolute;inset:0;display:grid;place-items:center;pointer-events:none}.youtube-preview-play-badge svg{width:3rem;height:3rem;padding:.65rem .55rem .65rem .75rem;border-radius:var(--radius-card);background:color-mix(in srgb,var(--color-bg-overlay) 72%,#000 28%);color:var(--color-text);box-shadow:var(--shadow-card)}.youtube-preview-play:hover .youtube-preview-play-badge svg{background:color-mix(in srgb,var(--color-bg-overlay) 55%,#000 45%)}.youtube-preview-play:hover:not(:disabled),.youtube-preview-play:active:not(:disabled){background:transparent}.youtube-preview-embed{display:block;width:100%;aspect-ratio:1 / 1;height:auto;max-width:none;max-height:none;border:0;border-radius:0;background:#000}.youtube-preview-open{display:inline-flex;align-self:flex-start;margin:.5rem .65rem .55rem;color:var(--color-text-muted);font-family:var(--font-ui);font-size:.75rem;line-height:1.3;text-decoration:underline;text-underline-offset:.12em}.youtube-preview-open:hover{color:var(--color-text)}.youtube-preview-open:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px;border-radius:2px}.attachment-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.emoji-picker,.expression-picker{position:fixed;z-index:40;display:flex;flex-direction:column;width:448px;height:416px;overflow:hidden;padding:0;background:var(--color-bg-deep);border:1px solid var(--color-border);border-radius:var(--radius-card);box-shadow:var(--shadow-menu)}.expression-picker-tabs{display:flex;flex-shrink:0;align-items:center;gap:8px;height:40px;padding:0 8px;box-shadow:0 1px 0 var(--color-divider)}.expression-picker-tab{height:32px;padding:0 12px;border:0;border-radius:var(--radius-card);background:transparent;color:var(--color-text-faint);font-family:var(--font-ui);font-size:14px;font-weight:500;line-height:20px;transition:background .15s ease,color .15s ease,box-shadow .15s ease}.expression-picker-tab:hover:not([aria-selected=true]){background:var(--color-bg-hover);color:var(--color-text-muted)}.expression-picker-tab[aria-selected=true],.expression-picker-tab[aria-selected=true]:hover{background:var(--color-accent-soft);color:var(--color-text);font-weight:600;box-shadow:inset 0 0 0 1px var(--color-accent-border),inset 0 -2px 0 var(--color-accent)}.expression-picker-tab:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.expression-picker-search{box-sizing:border-box;flex-shrink:0;height:56px;padding:8px 16px}.expression-picker-search input{width:100%;height:40px}.expression-picker-search input:disabled{cursor:not-allowed;caret-color:transparent}.expression-picker-body{flex:1;min-height:0;overflow-y:auto;padding:8px}.expression-picker-empty{margin:0;padding:16px 8px;color:var(--color-text-faint);font-family:var(--font-ui);font-size:14px;font-weight:400;line-height:20px;text-align:center}.expression-picker-body>.error{margin:0 0 8px}.sticker-picker-grid{display:grid;grid-template-columns:repeat(4,96px);gap:8px;justify-content:center}.sticker-picker-tile{box-sizing:border-box;display:flex;align-items:center;justify-content:center;width:96px;height:96px;padding:8px;border:0;border-radius:var(--radius-card);background:transparent;transition:background .15s ease}.sticker-picker-tile:hover:not(:disabled),.sticker-picker-tile:focus{background:var(--color-bg-hover)}.sticker-picker-tile:focus-visible{outline:2px solid var(--color-accent);outline-offset:0}.sticker-picker-tile:disabled{opacity:.55;cursor:wait}.emoji-picker-grid{display:grid;grid-template-columns:repeat(8,1fr);gap:var(--space-1)}.emoji-picker-grid button{display:flex;align-items:center;justify-content:center;width:100%;height:auto;aspect-ratio:1;padding:0;border:0;border-radius:var(--radius-card);background:transparent;color:inherit;font-size:1.7rem;line-height:1}.emoji-picker-grid button:focus-visible{outline:2px solid var(--color-accent);outline-offset:0}.context-menu{position:fixed;z-index:40;min-width:11rem;padding:8px 0;background:var(--color-bg-deep);border:1px solid var(--color-border);border-radius:var(--radius-card);box-shadow:var(--shadow-menu)}.context-menu--voice-volume{min-width:12rem}.context-menu-volume{display:flex;flex-direction:column;gap:8px;padding:8px 16px}.context-menu-volume-label{color:var(--color-text-muted);font-family:var(--font-ui);font-size:12px;font-weight:600;line-height:16px}.context-menu-volume-row{display:flex;align-items:center;gap:8px;width:100%}.context-menu-volume-slider{flex:1 1 auto;min-width:0;width:100%;height:12px;margin:0;appearance:none;background:transparent;cursor:pointer}.context-menu-volume-slider:focus{outline:none}.context-menu-volume-slider:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.context-menu-volume-slider::-webkit-slider-runnable-track{height:4px;border-radius:2px;background:var(--color-bg-sunken)}.context-menu-volume-slider::-webkit-slider-thumb{appearance:none;width:12px;height:12px;margin-top:-4px;border:1px solid var(--color-bg-deep);border-radius:50%;background:var(--color-text);transition:background .15s ease}.context-menu-volume-slider::-webkit-slider-thumb:hover{background:var(--color-accent)}.context-menu-volume-slider::-moz-range-track{height:4px;border:0;border-radius:2px;background:var(--color-bg-sunken)}.context-menu-volume-slider::-moz-range-thumb{width:12px;height:12px;border:1px solid var(--color-bg-deep);border-radius:50%;background:var(--color-text);transition:background .15s ease}.context-menu-volume-slider::-moz-range-thumb:hover{background:var(--color-accent)}.context-menu-volume-value{min-width:2.5rem;color:var(--color-text-faint);font-family:var(--font-ui);font-size:12px;font-variant-numeric:tabular-nums;font-weight:400;line-height:16px;text-align:right}.context-menu [role=menuitem]{display:flex;align-items:center;gap:8px;width:100%;height:auto;padding:8px 16px;border:0;border-radius:0;background:transparent;color:var(--color-text);text-align:left;font-family:var(--font-ui);font-size:14px;font-weight:500;line-height:20px}.context-menu .role-menu-swatch{display:inline-block;flex-shrink:0;width:10px;height:10px;border-radius:50%;border:1px solid var(--color-border)}.context-menu [role=menuitem]:disabled{background:transparent;color:var(--color-text-disabled);cursor:not-allowed}.context-menu .danger-item{color:var(--color-danger)}.context-menu .danger-item:disabled{background:transparent;color:#d47a8259}.context-menu-divider{height:1px;margin:4px 8px;background:var(--color-border)}.context-menu .menu-error{padding:8px 16px 4px}button.danger{background:transparent;color:var(--color-danger);border:1px solid var(--color-border)}button.ghost{height:40px;padding:8px 16px;border:2px solid var(--color-border);border-radius:var(--radius-pill);background:var(--color-secondary);color:var(--color-text);transition:background .15s ease,border-color .15s ease}button.ghost:active:not(:disabled){background:var(--color-secondary-pressed)}button.ghost:disabled{background:var(--color-secondary-disabled);color:var(--color-text-disabled);border-color:var(--color-divider);cursor:not-allowed}.dialog-backdrop{position:fixed;z-index:30;inset:0;display:grid;place-items:center;background:var(--color-bg-overlay)}.dialog{width:min(22rem,calc(100vw - 2rem));padding:var(--space-4);background:var(--color-bg-raised);border:1px solid var(--color-border);border-radius:var(--radius-card);box-shadow:var(--shadow-card)}.dialog-actions{display:flex;justify-content:flex-end;gap:var(--space-2);margin-top:var(--space-3)}form.dialog>.muted{margin:8px 0 0;font-size:14px}.dialog-actions button,.message-edit-actions button{height:36px}.server-icon-picker{display:flex;align-items:center;gap:16px;margin-bottom:16px}.server-icon-preview{box-sizing:border-box;display:flex;flex-shrink:0;align-items:center;justify-content:center;width:64px;height:64px;overflow:hidden;border:1px solid var(--color-border);border-radius:50%;background:var(--color-bg-raised);color:var(--color-text-muted);font-family:var(--font-ui);font-size:16px;font-weight:600;line-height:1}.server-icon-preview img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}.server-icon-actions{display:flex;flex-direction:column;align-items:flex-start;gap:8px}.server-icon-actions button{height:36px}.invite-dialog{position:relative;display:flex;flex-direction:column;width:min(440px,calc(100vw - 2rem));max-height:min(560px,calc(100vh - 4rem));overflow:hidden;padding:0;border-radius:8px}.invite-header{display:flex;flex-shrink:0;align-items:center;justify-content:space-between;gap:16px;height:48px;padding:0 16px}.invite-dialog h2{overflow:hidden;margin:0;text-overflow:ellipsis;white-space:nowrap}.invite-close{position:absolute;top:8px;right:16px;display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:0;border-radius:var(--radius-card);background:transparent;color:var(--color-text-muted);font-family:var(--font-ui);font-size:16px;font-weight:500;line-height:16px;transition:background .15s ease,color .15s ease}.invite-close:hover:not(:disabled),.invite-close:focus-visible{background:var(--color-bg-hover);color:var(--color-text)}.invite-subline{flex-shrink:0;margin:0;padding:0 16px 16px;color:var(--color-text-muted);font-family:var(--font-ui);font-size:14px;font-weight:400;line-height:20px}.invite-search{position:relative;flex-shrink:0;padding:0 16px 16px}.invite-loupe{position:absolute;top:8px;left:28px;width:16px;height:16px;color:var(--color-text-faint);pointer-events:none}.invite-search input{height:32px;padding:0 8px 0 36px;border-radius:8px}.invite-friend-list{flex:1 1 auto;min-height:0;max-height:240px;overflow-y:auto;padding:0 8px 8px}.invite-empty{margin:0;padding:16px}.invite-friend{display:flex;align-items:center;gap:8px;height:48px;padding:0 8px;border-radius:var(--radius-card);transition:background .15s ease}.invite-friend:hover{background:var(--color-bg-hover)}.invite-friend-avatar{display:inline-flex;flex-shrink:0;width:32px;height:32px}.invite-friend-tag{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--color-text);font-family:var(--font-ui);font-size:14px;font-weight:500;line-height:20px}.invite-action,.invite-copy{flex-shrink:0;height:32px;padding:0 12px;border:0;border-radius:var(--radius-input);background:var(--color-accent);color:var(--color-text-on-accent);font-family:var(--font-ui);font-size:14px;font-weight:600;line-height:20px;transition:background .15s ease}.invite-action:hover:not(:disabled),.invite-copy:hover:not(:disabled){background:var(--color-accent-hover)}.invite-action:focus-visible,.invite-copy:focus-visible,.invite-close:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.invite-action:disabled,.invite-copy:disabled{background:var(--color-pill-disabled);color:var(--color-text-on-accent-disabled);cursor:not-allowed}.invite-status{flex-shrink:0;color:var(--color-text-faint);font-family:var(--font-ui);font-size:14px;font-weight:600;line-height:20px}.invite-error{flex-shrink:0;padding:0 16px 8px}.invite-link-block{flex-shrink:0;padding:16px;border-top:1px solid var(--color-divider)}.invite-link-row{display:flex;align-items:center;gap:8px}.invite-link-row input{flex:1;min-width:0;height:40px;padding:0 12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.invite-expire{margin:8px 0 0;color:var(--color-text-faint);font-family:var(--font-ui);font-size:12px;font-weight:400;line-height:16px}.invite-join h1{margin:0;font-size:20px;line-height:24px}.invite-join-subline{margin:8px 0 0;color:var(--color-text-muted);font-family:var(--font-ui);font-size:14px;font-weight:400;line-height:20px}.invite-join .error{margin-top:16px}.invite-join button{width:100%;margin-top:16px}.pinned-dialog{width:min(28rem,calc(100vw - 2rem));max-height:min(32rem,calc(100vh - 4rem));overflow:auto}.pinned-dialog>p:not(.error){color:var(--color-text-faint)}.pinned-list{display:flex;flex-direction:column;gap:var(--space-2);margin:0 0 12px;padding:0;list-style:none}.pinned-row{display:block;width:100%;height:auto;min-height:0;padding:8px;border:0;border-radius:var(--radius-card);background:var(--color-reply-wash);color:inherit;font:inherit;font-weight:inherit;line-height:inherit;text-align:left}.pinned-row-meta{display:flex;align-items:baseline;gap:var(--space-2)}.pinned-row-content{margin:4px 0 0;color:var(--color-text-muted);white-space:pre-wrap;word-break:break-word}.pinned-row-file{display:block;margin-top:4px;color:var(--color-text-faint);font-size:12px}.eyebrow{margin:0 0 8px;color:var(--color-text-faint);letter-spacing:.12em;text-transform:uppercase;font-family:var(--font-ui);font-size:12px;font-weight:600;line-height:16px}h1{margin:0 0 16px;font-family:var(--font-display);font-size:32px;font-weight:600;line-height:40px;color:var(--color-text)}.auth h1{font-family:var(--font-display);font-size:32px;font-weight:600;line-height:40px;color:var(--color-text)}p{margin:0 0 16px;color:var(--color-text-muted)}.meta{margin:8px 0 0;color:var(--color-text-faint);font-size:14px}a,.meta a{color:var(--color-link);text-decoration:underline}a:hover,.meta a:hover{color:var(--color-link-hover)}a:visited,.meta a:visited{color:var(--color-link)}.form{display:grid;gap:var(--space-3);margin:0}label{display:grid;gap:var(--space-2);color:var(--color-text-muted);font-size:14px;font-weight:500;line-height:20px}.remember{display:flex;align-items:center;gap:var(--space-2);font-weight:400}.remember input{width:16px;height:16px;margin:0;padding:0;accent-color:var(--color-accent)}input,select,textarea{width:100%;padding:8px 12px;border:1px solid var(--color-border);border-radius:var(--radius-input);background:var(--color-bg-sunken);color:var(--color-text);caret-color:var(--color-accent);font-family:var(--font-ui);font-size:14px;font-weight:400;line-height:20px;transition:border-color .15s ease}input::placeholder,textarea::placeholder{color:var(--color-text-disabled)}textarea{min-height:2.75rem;max-height:8rem;resize:vertical}input:hover,select:hover,textarea:hover{border-color:var(--color-border-hover)}input:focus,select:focus,textarea:focus,input:focus-visible,select:focus-visible,textarea:focus-visible{border-color:var(--color-accent);outline:2px solid var(--color-accent);outline-offset:2px}input:disabled,select:disabled,textarea:disabled{background:var(--color-bg-sunken);border-color:var(--color-divider);color:var(--color-text-disabled)}input:user-invalid,textarea:user-invalid,.form:has(.error) input,.dialog:has(.error) input,.message-edit:has(.error) textarea{border-color:var(--color-danger)}.form:has(.error) input:focus,.dialog:has(.error) input:focus,.message-edit:has(.error) textarea:focus{outline-color:var(--color-danger)}button{height:40px;padding:8px 20px;border:0;border-radius:var(--radius-pill);background:var(--color-pill-fill);color:var(--color-text-on-accent);font-family:var(--font-ui);font-size:14px;font-weight:600;line-height:1;cursor:pointer;transition:background .15s ease}button:hover:not(:disabled){background:var(--color-pill-hover)}button:active:not(:disabled){background:var(--color-pill-pressed)}button:disabled{background:var(--color-pill-disabled);color:var(--color-text-on-accent-disabled);cursor:wait}.auth input:not([type=checkbox]){height:40px;padding:0 12px}.password-field{position:relative;display:block}.auth .password-field input:not([type=checkbox]){padding-right:44px}.password-toggle{position:absolute;top:50%;right:4px;transform:translateY(-50%);display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;margin:0;padding:0;border:0;border-radius:var(--radius-input);background:transparent;color:var(--color-text-muted);cursor:pointer}.password-toggle:hover:not(:disabled){background:transparent;color:var(--color-text)}.password-toggle:active:not(:disabled){background:transparent}.password-toggle:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.password-toggle svg{width:18px;height:18px;display:block}.auth button[type=submit]{width:100%;height:40px;border-radius:var(--radius-input)}.composer-box button[type=submit],.composer-send{flex-shrink:0;height:32px;padding:0 12px;border-radius:var(--radius-input)}.composer button[type=submit]:disabled{cursor:not-allowed}.server-icon:disabled,.channel:disabled,.header-pin:disabled,.composer-attach:disabled,.emoji-picker-grid button:disabled,.sticker-picker-tile:disabled,.pinned-row:disabled{background:transparent}.sticker-picker-tile:disabled{opacity:.55;color:inherit;cursor:wait}.error{margin:0;color:var(--color-danger);font-size:14px;font-weight:400;line-height:20px}.server-icon:hover:not(:disabled),.server-icon:focus-visible,.server-icon.active{background:var(--color-accent);color:var(--color-text-on-fill)}.server-icon.has-photo:hover:not(:disabled),.server-icon.has-photo:focus-visible,.server-icon.has-photo.active{background:var(--color-bg-raised);color:var(--color-text-muted)}.server-icon.create:not(:hover):not(:focus-visible):not(.active){background:var(--color-bg-raised);color:var(--color-create)}.server-icon.create:hover:not(:disabled),.server-icon.create:focus-visible{background:var(--color-create);color:var(--color-text-on-fill)}.channel:hover:not(:disabled){background:var(--color-bg-hover);color:var(--color-text-muted)}.channel.active,.channel.active:hover:not(:disabled){background:var(--color-bg-active);color:var(--color-text)}.dm-new:hover:not(:disabled),.dm-new:focus-visible{background:var(--color-bg-hover);color:var(--color-text)}.conversation:hover:not(:disabled),.dm-finder-result:hover:not(:disabled),.dm-friends-row:hover:not(:disabled){background:var(--color-bg-hover);color:var(--color-text-muted)}.conversation.active,.conversation.active:hover:not(:disabled),.dm-finder-result.active,.dm-finder-result.active:hover:not(:disabled),.dm-friends-row.active,.dm-friends-row.active:hover:not(:disabled){background:var(--color-bg-active);color:var(--color-text)}.friends-tab:hover:not(:disabled){background:var(--color-bg-hover);color:var(--color-text)}.friends-tab[aria-selected=true],.friends-tab[aria-selected=true]:hover:not(:disabled){background:var(--color-accent);color:var(--color-text-on-accent)}.friends-message:hover:not(:disabled),.friends-ignore:hover:not(:disabled){background:var(--color-bg-hover);color:var(--color-text)}.friends-accept:hover:not(:disabled){background:var(--color-accent);color:var(--color-text-on-accent)}.header-pin:hover:not(:disabled),.composer-attach:hover:not(:disabled){background:var(--color-bg-hover);color:var(--color-text)}.header-pin:disabled,.composer-attach:disabled{background:transparent;color:var(--color-text-disabled)}.message-reply-body,.message-reply-jump,.composer-reply-dismiss{height:auto;background:transparent}.message-reply-body{height:auto;min-height:0;border-radius:0;color:inherit}.message-reply-jump{width:24px;height:24px}.composer-reply-dismiss{width:32px;height:32px}.message-reply-body:hover:not(:disabled),.message-reply-body:active:not(:disabled),.message-reply-jump:hover:not(:disabled),.message-reply-jump:active:not(:disabled){background:transparent}.composer-reply-dismiss:hover:not(:disabled){background:var(--color-bg-hover);color:var(--color-text)}.composer-reply-dismiss:active:not(:disabled){background:var(--color-bg-active)}.message-reaction:hover:not(:disabled){border-color:var(--color-border-hover);background:var(--color-bg-hover)}.message-reaction-me:hover:not(:disabled){background:var(--color-accent-soft-hover);border-color:var(--color-accent-border-hover)}.emoji-picker-grid button:hover,.emoji-picker-grid button:focus{background:var(--color-bg-hover)}.context-menu [role=menuitem]:hover,.context-menu [role=menuitem]:focus{background:var(--color-accent);color:var(--color-text-on-fill)}.context-menu .danger-item:hover,.context-menu .danger-item:focus{background:var(--color-danger-soft);color:var(--color-danger-hover)}.pinned-row{background:var(--color-reply-wash);color:inherit}.pinned-row:hover:not(:disabled),.pinned-row:focus:not(:disabled),.pinned-row:focus-visible:not(:disabled),.pinned-row:active:not(:disabled){background:var(--color-reply-wash-hover);color:inherit}.pinned-row .message-author{color:var(--color-text)}.pinned-row .message-author-tag,.pinned-row .message-time,.pinned-row .pinned-row-file{color:var(--color-text-faint)}.pinned-row .pinned-row-content{color:var(--color-text-muted)}button.ghost:hover:not(:disabled){background:var(--color-secondary-hover);border-color:var(--color-border-hover)}.theme-heading{margin:0 0 var(--space-2);font-family:var(--font-ui);font-size:14px;font-weight:500;line-height:20px;color:var(--color-text-muted)}.theme-list{display:flex;flex-direction:column;gap:var(--space-2)}.theme-row{display:flex;align-items:center;gap:var(--space-3);width:100%;padding:8px 12px;border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-bg-sunken);color:var(--color-text);font-family:var(--font-ui);font-size:14px;font-weight:500;line-height:20px;cursor:pointer}.theme-row[aria-checked=true]{background:var(--color-accent-soft);border-color:var(--color-accent-border)}.theme-swatch{display:flex;width:32px;height:20px;flex-shrink:0;overflow:hidden;border-radius:2px}.theme-swatch>span{flex:1 1 0;min-width:0}.theme-label{flex:1}.theme-radio{display:grid;place-items:center;width:16px;height:16px;flex-shrink:0;box-sizing:border-box;border:2px solid var(--color-text-faint);border-radius:50%}.theme-radio:after{content:"";width:8px;height:8px;border-radius:50%;background:transparent}.theme-row[aria-checked=true] .theme-radio{border-color:var(--color-accent)}.theme-row[aria-checked=true] .theme-radio:after{background:var(--color-accent)}.theme-list+.error{margin-top:var(--space-2)}.settings-help{margin:0 0 var(--space-3);font-family:var(--font-ui);font-size:14px;font-weight:400;line-height:20px;color:var(--color-text-muted)}.user-settings-dialog .settings-column.settings-column-voice{max-width:none}.voice-pane-title{margin:0 0 var(--space-3);font-family:var(--font-ui);font-size:20px;font-weight:600;line-height:24px;color:var(--color-text)}.voice-section-heading{margin:0 0 var(--space-2);font-family:var(--font-ui);font-size:16px;font-weight:600;line-height:20px;color:var(--color-text)}.voice-device-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--space-3);width:100%;margin:0 0 var(--space-3)}.voice-device-field{display:flex;flex-direction:column;gap:var(--space-2);width:100%;margin:0}.voice-device-label{font-family:var(--font-ui);font-size:12px;font-weight:600;line-height:16px;color:var(--color-text)}.voice-device-select{box-sizing:border-box;width:100%;height:40px;padding:8px 12px;border:1px solid var(--color-border);border-radius:8px;background:var(--color-bg-sunken);color:var(--color-text);font-family:var(--font-ui);font-size:14px;font-weight:500;line-height:20px}.voice-device-select:hover:not(:disabled){border-color:var(--color-border-hover);background:var(--color-bg-sunken)}.voice-device-select:focus,.voice-device-select:focus-visible{border-color:var(--color-border);outline:2px solid var(--color-accent);outline-offset:2px;background:var(--color-bg-sunken)}.voice-device-select:disabled{border-color:var(--color-border);background:var(--color-bg-sunken);color:var(--color-text-faint);cursor:default}.voice-device-field .settings-help{margin:var(--space-2) 0 0}button.ghost.voice-refresh{height:32px;margin:0 0 var(--space-3);padding:4px 8px;border:0;border-radius:var(--radius-card);background:transparent;color:var(--color-text-muted);font-family:var(--font-ui);font-size:14px;font-weight:500;line-height:20px;transition:background .15s ease,color .15s ease}button.ghost.voice-refresh:hover:not(:disabled){background:var(--color-bg-hover);border-color:transparent;color:var(--color-text)}button.ghost.voice-refresh:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px;background:transparent}button.ghost.voice-refresh:disabled{background:transparent;border-color:transparent;color:var(--color-text-faint)}.settings-column-voice>.settings-help,.settings-column-voice>.error{margin:0 0 var(--space-3)}.voice-divider{height:0;margin:var(--space-2) 0 var(--space-3);border:0;border-top:1px solid var(--color-divider)}.voice-mode-list{display:flex;flex-direction:column;gap:var(--space-2);margin:0}.voice-mode-option{display:flex;align-items:flex-start;gap:12px;width:100%;padding:var(--space-2) 0;cursor:pointer}.voice-mode-option:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.voice-mode-radio{display:inline-flex;flex-shrink:0;align-items:center;justify-content:center;box-sizing:border-box;width:16px;height:16px;margin-top:2px;border:2px solid var(--color-text-faint);border-radius:50%}.voice-mode-radio:after{content:"";width:8px;height:8px;border-radius:50%;background:transparent}.voice-mode-option:hover .voice-mode-radio{border-color:var(--color-text-muted)}.voice-mode-option[aria-checked=true] .voice-mode-radio{border-color:var(--color-accent)}.voice-mode-option[aria-checked=true] .voice-mode-radio:after{background:var(--color-accent)}.voice-mode-copy{display:flex;flex-direction:column;gap:0;min-width:0}.voice-mode-title{font-family:var(--font-ui);font-size:16px;font-weight:500;line-height:20px;color:var(--color-text)}.voice-mode-desc{font-family:var(--font-ui);font-size:14px;font-weight:400;line-height:20px;color:var(--color-text-muted)}.voice-shortcut{display:flex;flex-direction:column;align-items:stretch;gap:var(--space-2);margin-top:var(--space-3)}.voice-shortcut-copy{min-width:0}.voice-shortcut-title{display:block;font-family:var(--font-ui);font-size:16px;font-weight:600;line-height:20px;color:var(--color-text)}.voice-shortcut-desc{margin:4px 0 0;font-family:var(--font-ui);font-size:14px;font-weight:400;line-height:20px;color:var(--color-text-muted)}.voice-shortcut-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-start;gap:var(--space-2)}.voice-keycap{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;min-width:32px;min-height:32px;padding:4px 8px;border:1px solid var(--color-border);border-radius:8px;background:var(--color-bg-sunken);color:var(--color-text);font-family:var(--font-ui);font-size:14px;font-weight:500;line-height:20px}.voice-keycap.capturing{border-color:var(--color-accent)}.voice-shortcut-row>button.voice-edit-keybind{height:32px;padding:6px 12px;border:1px solid var(--color-border);border-radius:8px;background:var(--color-bg-sunken);color:var(--color-text);font-family:var(--font-ui);font-size:14px;font-weight:500;line-height:20px;transition:background .15s ease,color .15s ease,border-color .15s ease}.voice-shortcut-row>button.voice-edit-keybind:hover{background:var(--color-bg-hover);border-color:var(--color-border-hover)}.voice-shortcut-row>button.voice-edit-keybind[aria-pressed=true]{border-color:var(--color-accent)}.voice-shortcut-row>button.ghost{height:32px;padding:4px 8px;border:0;border-radius:var(--radius-card);background:transparent;color:var(--color-text-muted);font-family:var(--font-ui);font-size:14px;font-weight:500;line-height:20px}.voice-shortcut-row>button.ghost:hover:not(:disabled){background:var(--color-bg-hover);color:var(--color-text)}.voice-shortcut-row>button.ghost:disabled{background:transparent;color:var(--color-text-faint)}.settings-column-voice>.error:last-child{margin-top:var(--space-3);margin-bottom:0}.dialog.user-settings-dialog,.dialog.server-settings-dialog{display:grid;grid-template-columns:200px minmax(0,1fr);grid-template-rows:var(--space-7) minmax(0,1fr);grid-template-areas:"title close" "nav pane";width:min(720px,calc(100vw - 2rem));height:min(480px,calc(100vh - 4rem));padding:0;overflow:hidden;container-type:inline-size}@container (max-width: 639px){.dialog.user-settings-dialog,.dialog.server-settings-dialog{grid-template-columns:176px minmax(0,1fr)}.voice-device-grid{grid-template-columns:minmax(0,1fr)}}@media(max-width:671px){.dialog.user-settings-dialog,.dialog.server-settings-dialog{grid-template-columns:176px minmax(0,1fr)}}.dialog.user-settings-dialog:after,.dialog.server-settings-dialog:after{content:"";grid-area:close;background:var(--color-bg-raised);box-shadow:0 1px 0 var(--color-divider)}.dialog.user-settings-dialog .settings-title,.dialog.server-settings-dialog .settings-title{display:flex;grid-area:title;align-items:center;margin:0;padding-left:var(--space-3);background:var(--color-bg-raised);box-shadow:0 1px 0 var(--color-divider);font-family:var(--font-display);font-size:20px;font-weight:600;line-height:24px;letter-spacing:0;text-transform:none;color:var(--color-text)}.user-settings-dialog .settings-close,.server-settings-dialog .settings-close{display:inline-flex;z-index:1;grid-area:close;align-items:center;justify-content:center;align-self:center;justify-self:end;width:var(--space-5);height:var(--space-5);margin-right:var(--space-3);padding:0;border:0;border-radius:var(--radius-card);background:transparent;color:var(--color-text-muted);font-family:var(--font-ui);font-size:16px;font-weight:500;line-height:16px;transition:background .15s ease,color .15s ease}.user-settings-dialog .settings-close:hover:not(:disabled),.user-settings-dialog .settings-close:active:not(:disabled),.server-settings-dialog .settings-close:hover:not(:disabled),.server-settings-dialog .settings-close:active:not(:disabled){background:var(--color-bg-hover);color:var(--color-text)}.settings-nav{display:flex;grid-area:nav;flex-direction:column;gap:var(--space-1);min-height:0;padding:var(--space-2);overflow:hidden;background:var(--color-bg-deep);box-shadow:1px 0 0 var(--color-divider)}.user-settings-dialog .settings-tab,.server-settings-dialog .settings-tab{display:flex;align-items:center;width:100%;height:36px;padding:8px 12px;border:0;border-radius:var(--radius-card);background:transparent;color:var(--color-text-faint);font-family:var(--font-ui);font-size:14px;font-weight:500;line-height:20px;text-align:left;transition:background .15s ease,color .15s ease,box-shadow .15s ease}.user-settings-dialog .settings-tab:hover:not(:disabled),.user-settings-dialog .settings-tab:active:not(:disabled),.server-settings-dialog .settings-tab:hover:not(:disabled),.server-settings-dialog .settings-tab:active:not(:disabled){background:var(--color-bg-hover);color:var(--color-text-muted)}.user-settings-dialog .settings-tab[aria-selected=true],.user-settings-dialog .settings-tab[aria-selected=true]:hover:not(:disabled),.user-settings-dialog .settings-tab[aria-selected=true]:active:not(:disabled),.server-settings-dialog .settings-tab[aria-selected=true],.server-settings-dialog .settings-tab[aria-selected=true]:hover:not(:disabled),.server-settings-dialog .settings-tab[aria-selected=true]:active:not(:disabled){background:var(--color-accent-soft);color:var(--color-text);box-shadow:inset 3px 0 0 var(--color-accent),inset 0 0 0 1px var(--color-accent-border)}.settings-pane{grid-area:pane;min-width:0;min-height:0;padding:var(--space-4);overflow-x:hidden;overflow-y:auto;background:var(--color-bg-raised)}.user-settings-dialog .settings-column{width:100%;max-width:400px}.server-settings-dialog .settings-column{width:100%}.people-avatar{display:flex;flex-shrink:0;align-items:center;justify-content:center;box-sizing:border-box;overflow:hidden;border:1px solid var(--color-border);border-radius:50%;background:var(--color-bg-sunken);color:var(--color-text-faint)}.user-panel-avatar .people-avatar,.invite-friend-avatar .people-avatar{width:100%;height:100%}.people-avatar img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}.people-avatar-glyph{display:block;flex-shrink:0}.user-panel-avatar .people-avatar-glyph,.member-avatar .people-avatar-glyph,.conversation-avatar .people-avatar-glyph,.dm-header-avatar .people-avatar-glyph,.dm-finder-result .people-avatar-glyph,.friends-row .people-avatar-glyph,.invite-friend .people-avatar-glyph{width:16px;height:16px}.message-avatar .people-avatar-glyph{width:20px;height:20px}.avatar-editor{display:flex;align-items:center;gap:var(--space-3)}.avatar-preview{width:80px;height:80px;flex-shrink:0;overflow:hidden;border-radius:50%}.avatar-preview .people-avatar-glyph{width:40px;height:40px}.avatar-actions{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-2)}.avatar-actions button{height:36px}.avatar-editor+.error{margin-top:var(--space-2)}.sticker-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);margin-bottom:var(--space-3)}.sticker-toolbar .theme-heading{margin:0}.sticker-toolbar-spacer{flex:1 1 auto;min-width:0}.sticker-toolbar>button,.sticker-name-strip>button{height:36px}.sticker-count{color:var(--color-text-muted);font-family:var(--font-ui);font-size:14px;font-weight:500;line-height:20px;white-space:nowrap}.sticker-name-strip{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);margin-bottom:var(--space-3);padding:var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-bg-sunken)}.sticker-name-strip input{flex:1;min-width:0;width:auto;height:40px}.sticker-empty{margin:0;font-family:var(--font-ui);font-size:14px;font-weight:400;line-height:20px}.sticker-grid{display:grid;grid-template-columns:repeat(auto-fill,96px);gap:var(--space-2)}.sticker-tile{display:flex;box-sizing:border-box;flex-direction:column;align-items:stretch;gap:var(--space-2);width:96px;padding:var(--space-2);border:0;border-radius:var(--radius-card);background:transparent;transition:background .15s ease}.sticker-tile:hover{background:var(--color-bg-hover)}.role-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);margin-bottom:var(--space-3)}.role-toolbar .theme-heading{margin:0}.role-create-strip{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);margin-bottom:var(--space-3);padding:var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-bg-sunken)}.role-create-strip>input[type=text]{flex:1;min-width:0;width:auto;height:40px}.role-create-strip>button{height:36px}.role-color-field{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:40px;height:40px;margin:0;overflow:hidden;border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-bg-raised)}.role-color-field input[type=color]{width:48px;height:48px;padding:0;border:0;background:transparent;cursor:pointer}.role-empty{margin:0;font-family:var(--font-ui);font-size:14px;font-weight:400;line-height:20px}.role-list{display:flex;flex-direction:column;gap:var(--space-2);margin:0;padding:0;list-style:none}.role-row{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);padding:var(--space-2);border-radius:var(--radius-card)}.role-row:hover{background:var(--color-bg-hover)}.role-row.selected{background:var(--color-bg-sunken);outline:1px solid var(--color-border)}.role-row>input[type=text]{flex:1;min-width:0;width:auto;height:36px}.role-select{display:inline-flex;flex:1;min-width:0;align-items:center;gap:var(--space-2);height:auto;padding:4px 8px;border:0;border-radius:var(--radius-card);background:transparent;color:inherit;text-align:left;cursor:pointer}.role-select:hover{background:var(--color-bg-hover)}.role-swatch{display:inline-block;flex-shrink:0;width:12px;height:12px;border-radius:50%;border:1px solid var(--color-border)}.role-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--font-ui);font-size:14px;font-weight:600;line-height:20px}.role-row>button{height:32px}.ban-identity{display:flex;flex:1;min-width:0;flex-direction:column;gap:2px}.ban-reason{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--font-ui);font-size:12px;line-height:16px}.role-permissions{display:flex;flex-direction:column;gap:var(--space-3);margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--color-border)}.role-permissions-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2)}.role-permissions-toolbar .theme-heading{flex:1;min-width:0;margin:0;font-size:15px}.permission-group{display:flex;flex-direction:column;gap:var(--space-2)}.permission-group-heading{margin:0;font-family:var(--font-ui);font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--color-text-muted)}.permission-list{display:flex;flex-direction:column;gap:2px;margin:0;padding:0;list-style:none}.permission-row{display:flex;align-items:center;gap:var(--space-2);min-height:40px;padding:6px 10px;border-radius:var(--radius-card)}.permission-row:hover{background:var(--color-bg-hover)}.permission-copy{display:flex;flex:1;min-width:0;flex-direction:column;gap:2px}.permission-name{font-family:var(--font-ui);font-size:14px;font-weight:500;line-height:20px}.permission-soon{font-family:var(--font-ui);font-size:12px;line-height:16px}.permission-switch{position:relative;display:inline-flex;flex-shrink:0;align-items:center;width:40px;height:22px;margin:0;cursor:pointer}.permission-switch input{position:absolute;inset:0;z-index:1;width:100%;height:100%;margin:0;opacity:0;cursor:inherit}.permission-switch-track{display:block;width:40px;height:22px;border-radius:999px;background:var(--color-border);transition:background .12s ease}.permission-switch-track:after{content:"";position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:var(--color-bg-raised);box-shadow:0 1px 2px #00000040;transition:transform .12s ease}.permission-switch input:checked+.permission-switch-track{background:var(--color-accent)}.permission-switch input:checked+.permission-switch-track:after{transform:translate(18px)}.permission-switch input:disabled{cursor:not-allowed}.permission-switch:has(input:disabled){cursor:not-allowed;opacity:.55}.permission-switch input:focus-visible+.permission-switch-track{outline:2px solid var(--color-accent);outline-offset:2px}.sticker-preview{display:flex;flex-shrink:0;align-items:center;justify-content:center;align-self:center;box-sizing:border-box;width:80px;height:80px;overflow:hidden;border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-bg-sunken)}.sticker-preview img{display:block;width:80px;height:80px;object-fit:contain;object-position:center}.sticker-name{overflow:hidden;color:var(--color-text);font-family:var(--font-ui);font-size:14px;font-weight:500;line-height:20px;text-align:center;text-overflow:ellipsis;white-space:nowrap}.sticker-remove{height:auto;width:100%;padding:0;border:0;border-radius:0;background:transparent;color:var(--color-text-muted);font-family:var(--font-ui);font-size:12px;font-weight:500;line-height:16px;cursor:pointer;transition:color .15s ease}.sticker-remove:hover:not(:disabled),.sticker-remove:active:not(:disabled){background:transparent;color:var(--color-danger)}.sticker-remove:disabled{background:transparent;color:var(--color-text-disabled);cursor:not-allowed}.sticker-grid+.error,.sticker-empty+.error,.sticker-name-strip+.error,.sticker-toolbar+.error{margin-top:var(--space-2)}.message-sticker{display:flex;align-items:center;justify-content:center;box-sizing:border-box;max-width:160px;max-height:160px;overflow:hidden;border:1px solid var(--color-border);border-radius:var(--radius-media);background:var(--color-bg-sunken)}.message-sticker .sticker-preview{width:auto;height:auto;max-width:160px;max-height:160px;align-self:stretch;border:0;border-radius:0;background:transparent}.message-sticker .sticker-preview img{width:auto;height:auto;max-width:160px;max-height:160px;object-fit:contain;object-position:center}.shell.mobile{grid-template-columns:minmax(0,1fr);height:100%;height:100dvh;max-height:100%;max-height:100dvh;padding:env(safe-area-inset-top,0px) env(safe-area-inset-right,0px) env(safe-area-inset-bottom,0px) env(safe-area-inset-left,0px);box-sizing:border-box}.shell.mobile.dm-mode{grid-template-columns:minmax(0,1fr)}.shell.mobile[data-mobile-pane=members]{grid-template-rows:auto minmax(0,1fr)}.shell.mobile .left-chrome{grid-template-columns:72px minmax(0,1fr);width:100%;height:100%;min-height:0}.shell.mobile .center-pane,.shell.mobile .member-pane{width:100%;height:100%;min-height:0}.shell.mobile .left-chrome[hidden],.shell.mobile .center-pane[hidden],.shell.mobile .member-pane[hidden],.shell.mobile .chat-thread[hidden]{display:none!important}.shell.mobile .user-panel,.shell.mobile .voice-connection{width:calc(100% - 16px)}.shell.mobile[data-mobile-pane=members] .center-pane{height:auto;overflow:visible}.shell.mobile[data-mobile-pane=members] .member-pane{min-height:0;height:100%}.shell.mobile .mobile-menu,.shell.mobile .header-members{position:relative;display:inline-flex;flex-shrink:0;align-items:center;justify-content:center;width:44px;height:44px;min-width:44px;min-height:44px;padding:0;border:0;border-radius:var(--radius-card);background:transparent;color:var(--color-text-muted);cursor:pointer;transition:background .15s ease,color .15s ease}.shell.mobile .mobile-menu:hover:not(:disabled),.shell.mobile .mobile-menu:focus-visible,.shell.mobile .header-members:hover:not(:disabled),.shell.mobile .header-members:focus-visible{background:var(--color-bg-hover);color:var(--color-text)}.shell.mobile .mobile-menu:active:not(:disabled),.shell.mobile .header-members:active:not(:disabled),.shell.mobile .header-members[aria-pressed=true]{background:var(--color-bg-hover);color:var(--color-text)}.shell.mobile .mobile-menu svg,.shell.mobile .header-members svg{display:block;width:1.25rem;height:1.25rem}.shell.mobile .header-pin{width:44px;height:44px;min-width:44px;min-height:44px}.shell.mobile .channel{height:44px;min-height:44px}.shell.mobile .voice-rail-roster-row{height:40px;min-height:40px}.shell.mobile .conversation,.shell.mobile .dm-friends-row,.shell.mobile .dm-finder-result{height:44px;min-height:44px}.shell.mobile .user-panel-plaque{width:44px;height:44px;min-width:44px;min-height:44px}.shell.mobile .composer-attach{width:44px;min-width:44px;min-height:44px;height:44px}.shell.mobile .composer{padding:0 12px calc(12px + env(safe-area-inset-bottom,0px))}.shell.mobile .composer-reply{min-height:44px;height:auto}.shell.mobile .composer-reply-dismiss,.shell.mobile .message-reply-jump{width:44px;height:44px}.shell.mobile .mention-suggest{width:min(320px,calc(100vw - 24px));max-height:min(240px,40dvh)}.shell.mobile .composer-row{min-width:0}.shell.mobile .composer-field{min-height:44px;align-items:stretch}.shell.mobile .composer-box textarea{min-height:44px;font-size:16px;line-height:22px;padding:11px 4px}.shell.mobile .composer-box button[type=submit]{flex-shrink:0;width:auto;min-width:44px;min-height:44px;height:44px;padding:0 14px;white-space:nowrap}.shell.mobile .dialog{width:min(22rem,calc(100vw - 2rem - env(safe-area-inset-left,0px) - env(safe-area-inset-right,0px)));max-height:min(100%,calc(100dvh - 2rem - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px)));overflow-y:auto}.shell.mobile .dialog.user-settings-dialog,.shell.mobile .dialog.server-settings-dialog{width:min(720px,calc(100vw - 1rem));height:min(480px,calc(100dvh - 1rem - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px)));max-height:min(480px,calc(100dvh - 1rem - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px)))}@media(max-width:359px){.shell.mobile .dialog.user-settings-dialog,.shell.mobile .dialog.server-settings-dialog{grid-template-columns:1fr;grid-template-rows:auto auto minmax(0,1fr);grid-template-areas:"title close" "nav nav" "pane pane"}.shell.mobile .dialog.user-settings-dialog .settings-nav,.shell.mobile .dialog.server-settings-dialog .settings-nav{flex-direction:row;overflow-x:auto;box-shadow:0 1px 0 var(--color-divider)}}.shell.mobile .user-settings-dialog .settings-close,.shell.mobile .server-settings-dialog .settings-close{width:44px;height:44px;min-width:44px;min-height:44px}.shell.mobile .pinned-dialog{width:min(28rem,calc(100vw - 2rem - env(safe-area-inset-left,0px) - env(safe-area-inset-right,0px)));max-height:min(100%,calc(100dvh - 2rem - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px)));overflow-y:auto}.shell.mobile .expression-picker{width:min(448px,calc(100vw - 1rem));height:min(416px,50dvh,calc(100dvh - 8rem - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px)))}.shell.mobile .expression-picker-tabs{overflow-x:auto;flex-wrap:nowrap}.shell.mobile .sticker-grid{grid-template-columns:repeat(auto-fill,minmax(72px,1fr))}.shell.mobile .sticker-tile{width:auto}@media(pointer:coarse){.shell.mobile .rail-tooltip{display:none}}@media(min-width:901px){.shell.mobile{grid-template-columns:312px minmax(0,1fr) 240px;height:100%;max-height:100vh;padding:0}.shell.mobile.dm-mode{grid-template-columns:312px minmax(0,1fr)}}
