:root{--bg-app: #121926;--bg-app-glow-1: #2b3b59;--bg-app-glow-2: #205067;--bg-guild: #0e131d;--bg-rail: #1d2535;--bg-pane: #2f394a;--bg-card: #242d3d;--bg-input: #171f2d;--line: #314055;--line-strong: #3a4c67;--line-soft: #35465f;--ink: #f1f5ff;--ink-muted: #afbdd4;--ink-on-accent: #ffffff;--ink-on-tint: #f5f8ff;--mention-badge-ink: #d9e3ff;--realtime-pill-ink: #d5d9e3;--realtime-pill-connected-bg: #204838;--realtime-pill-connected-border: #46b982;--accent: #2f77c6;--accent-strong: #4294df;--accent-border: #4d9be4;--accent-2: #4da7df;--danger: #e04e6b;--ok: #34a878;--warn: #d7a04b;--surface-header: #151d2b;--surface-elev-1: #212b3d;--surface-elev-2: #1c2535;--surface-elev-3: #202a3b;--surface-elev-4: #1f2737;--surface-elev-5: #222c3d;--surface-elev-6: #263245;--auth-error-border: rgba(240, 65, 93, .75);--auth-error-bg: rgba(240, 65, 93, .16);--auth-error-ink: #ffdce3;--message-item-edit-bg: rgba(52, 60, 79, .55);--message-item-hover-bg: rgba(40, 44, 56, .6);--server-table-head-bg: #232938;--server-table-head-ink: #c9d1e0;--overlay-backdrop: rgba(9, 12, 20, .72);--focus: #6aa8e8;--radius: 14px;--radius-sm: 10px;--avatar-corner-ratio: 30%;--radius-pill: 999px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--control-height: 40px;--control-height-sm: 32px;--control-font-size: .78rem;--heading-font-size: 1rem;--pill-height: 32px;--album-reaction-rows-per-column: 4;--attachment-file-width: 348px;--attachment-image-size: calc((var(--attachment-file-width) - (var(--space-2) * 2)) / 3);--mobile-header-height: 60px;--mobile-nav-height: 0px;--shadow: 0 18px 40px rgba(0, 0, 0, .35);--font-body: "IBM Plex Sans JP", "Segoe UI", sans-serif;--font-head: "Bahnschrift", "Segoe UI Variable Display", "Segoe UI", sans-serif}:root[data-theme=light]{--bg-app: #f4f8ff;--bg-app-glow-1: #c9dcff;--bg-app-glow-2: #b8e2ff;--bg-guild: #f7fbff;--bg-rail: #eaf2ff;--bg-pane: #ffffff;--bg-card: #ffffff;--bg-input: #f7fbff;--line: #cbd9eb;--line-strong: #bdcfe6;--line-soft: #c4d4e9;--ink: #1f2f47;--ink-muted: #5b708f;--ink-on-accent: #ffffff;--ink-on-tint: #1f3f68;--mention-badge-ink: #264a84;--realtime-pill-ink: #f2f7ff;--realtime-pill-connected-bg: #2f8a63;--realtime-pill-connected-border: #42aa7a;--accent: #2f77c6;--accent-strong: #5aa7e2;--accent-border: #67afe5;--accent-2: #6bb7ec;--danger: #d54a66;--ok: #2c9a6c;--warn: #c88f35;--surface-header: #e4efff;--surface-elev-1: #edf4ff;--surface-elev-2: #f4f8ff;--surface-elev-3: #ffffff;--surface-elev-4: #f7fbff;--surface-elev-5: #edf5ff;--surface-elev-6: #e7f1ff;--auth-error-border: rgba(213, 74, 102, .5);--auth-error-bg: rgba(213, 74, 102, .14);--auth-error-ink: #8a1735;--message-item-edit-bg: rgba(78, 127, 186, .22);--message-item-hover-bg: rgba(78, 127, 186, .16);--server-table-head-bg: #e8f2ff;--server-table-head-ink: #254166;--overlay-backdrop: rgba(45, 73, 111, .22);--focus: #2f77c6;--shadow: 0 16px 36px rgba(42, 74, 112, .16)}*{box-sizing:border-box}html,body,#root{min-height:100%}:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.skip-link{position:absolute;left:var(--space-3);top:-40px;padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);background:var(--surface-elev-4);color:var(--ink-on-accent);border:1px solid var(--line-strong);font-size:.8rem;z-index:100}.skip-link:focus{top:var(--space-3)}body{margin:0;color:var(--ink);font-family:var(--font-body);background:radial-gradient(circle at 8% 14%,var(--bg-app-glow-1) 0,transparent 32%),radial-gradient(circle at 92% 86%,var(--bg-app-glow-2) 0,transparent 36%),var(--bg-app)}.mobile-long-press-guard,.mobile-long-press-guard *{-webkit-touch-callout:none}.mobile-long-press-guard :where(*):not(input):not(textarea):not([contenteditable=true]):not([contenteditable=""]){-webkit-user-select:none;user-select:none}.mobile-long-press-guard .message-body,.mobile-long-press-guard .pending-message-body,.mobile-long-press-guard .profile-status,.mobile-long-press-guard .profile-status-display .status-display-text{-webkit-user-select:text;user-select:text;-webkit-touch-callout:default}h1,h2,h3{font-family:var(--font-head);margin:0;font-size:var(--heading-font-size)!important}p{margin:0}form{display:grid;gap:var(--space-2)}label{display:grid;gap:var(--space-1);color:var(--ink-muted);font-size:.78rem}input,textarea,select,button{font:inherit;color:var(--ink);border:1px solid var(--line-strong);border-radius:var(--radius-sm)}input,textarea,select{width:100%;background:var(--bg-input);min-height:var(--control-height);padding:var(--space-2) var(--space-3);align-content:center}textarea{line-height:1.45}button{min-height:var(--control-height);padding:0 var(--space-4);background:linear-gradient(150deg,var(--accent) 0%,var(--accent-strong) 100%);border-color:var(--accent-border);color:var(--ink-on-accent);font-weight:700;cursor:pointer}button:hover{filter:brightness(1.08)}button:disabled{cursor:default;opacity:.68}button,input,textarea,select{font-size:var(--control-font-size)!important}.pane-hidden{display:none!important}.pane-host,.pane-track{display:contents}.app-shell{display:grid;grid-template-columns:280px minmax(420px,1fr);min-height:100vh;animation:app-fade .45s ease}.app-shell:not(.auth-only){height:100vh;overflow:hidden}.app-shell.auth-only{grid-template-columns:minmax(320px,560px);justify-content:center}@keyframes app-fade{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.channel-rail{background:var(--bg-rail);border-right:1px solid var(--line);display:grid;grid-template-rows:auto 1fr auto;min-height:100vh;height:100vh;min-width:0}.channel-rail.auth-only-pane{border-right:none}.server-header{padding:var(--space-4) var(--space-4) var(--space-3);min-height:84px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:var(--surface-header);gap:var(--space-3)}.server-title{display:flex;align-items:center;gap:var(--space-3);min-width:0}.server-title h1{font-size:1.28rem}.app-logo{width:34px;height:34px;border-radius:10px;border:1px solid var(--line-soft);box-shadow:0 4px 12px #0000003d;background:var(--bg-card);flex-shrink:0}.rail-scroll{overflow:auto;overflow-x:hidden;padding:var(--space-2) var(--space-3) var(--space-3);display:grid;gap:var(--space-3);min-height:0;min-width:0}.app-shell.auth-only .server-header{border-bottom:0;padding-bottom:0}.app-shell.auth-only .rail-scroll{align-content:start;padding-top:var(--space-4)}.app-shell.auth-only .auth-card{margin-top:var(--space-2)}.card,.auth-card,.channel-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--bg-card);box-shadow:var(--shadow);padding:var(--space-3)}.auth-card h2,.channel-card h2,.card h2{margin-bottom:var(--space-2);font-size:.95rem}.auth-grid,.auth-tabs{display:grid;gap:var(--space-2)}.auth-error{margin:0 0 var(--space-2);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);border:1px solid var(--auth-error-border);background:var(--auth-error-bg);color:var(--auth-error-ink);font-size:.78rem;line-height:1.4}.auth-tabs{grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:var(--space-2)}.auth-entry-toggle{display:flex;justify-content:flex-end;margin-bottom:var(--space-2)}.auth-tab{min-height:var(--control-height-sm);background:var(--surface-elev-5);border:1px solid var(--line-soft);border-radius:var(--radius-sm);font-size:.78rem;font-weight:700;color:var(--ink-muted);padding:0 var(--space-2)}.auth-tab.active{background:linear-gradient(150deg,#2f77c63d,#5aa7e23d);border-color:var(--accent-border);color:var(--ink-on-tint)}.auth-tab.secondary{min-height:28px;padding:0 10px;font-size:.72rem;width:auto;justify-self:end}.icon-btn{min-height:var(--control-height-sm);background:var(--surface-elev-5);border:1px solid var(--line-soft);border-radius:var(--radius-sm);padding:0 var(--space-3);font-size:.62rem;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}.icon-btn.ghost,.ghost{min-height:var(--control-height-sm);padding:0 var(--space-2);background:transparent;border-color:transparent;color:var(--ink-muted);font-weight:600}.ghost.tiny{min-height:28px;font-size:.68rem}.icon-btn.ghost:hover,.ghost:hover{color:var(--ink);background:var(--surface-elev-6);border-color:var(--line-soft)}.icon-btn.danger{color:#ffb4ba}.icon-btn.ghost.danger:hover{color:#ffd4d8;background:#3a2730;border-color:#5f3e44}.channel-card-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);margin-bottom:var(--space-2)}.channel-head-actions{display:flex;align-items:center;gap:var(--space-2)}.channel-headline{display:flex;align-items:center;gap:var(--space-2);min-width:0}.channel-create-form{grid-template-columns:1fr auto;align-items:center;margin-bottom:var(--space-2);gap:var(--space-2)}.channel-create-button{min-width:72px}.channel-group{display:grid;gap:var(--space-2);min-width:0}.channel-tab-list{display:grid;gap:6px;min-width:0;overflow:hidden}.channel-tab-group{display:grid;gap:6px}.channel-tab-group+.channel-tab-group{margin-top:var(--space-1);padding-top:var(--space-1);border-top:1px solid var(--line-soft)}.channel-tab-group-title{margin:0;padding:0 var(--space-1);font-size:.68rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-muted)}.channel-tab-group-empty{margin:0;padding:0 var(--space-2);font-size:.74rem;color:var(--ink-muted)}.channel-tab{width:100%;min-width:0;min-height:44px;border:1px solid var(--line-soft);border-radius:var(--radius-sm);padding:0 var(--space-3) 0 var(--space-4);background:var(--surface-elev-4);color:var(--ink-muted);text-align:left;display:flex;justify-content:space-between;align-items:center;gap:var(--space-2);position:relative;overflow:hidden}.channel-tab:before{display:none}.channel-tab:hover{color:var(--ink);background:var(--surface-elev-5);border-color:var(--line-strong)}.channel-tab.active{background:linear-gradient(150deg,#2f77c63d,#5aa7e23d);border-color:var(--accent-border);color:var(--ink-on-tint)}.channel-tab-label{display:inline-flex;align-items:center;gap:.42em;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.channel-tab .badge{flex-shrink:0}.channel-inline-label{display:inline-flex;align-items:center;gap:.42em;min-width:0;max-width:100%}.channel-inline-label-text{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.channel-type-icon{width:.95em;height:.95em;flex:0 0 auto;display:block}.channel-type-icon-shell{position:relative;display:inline-flex;align-items:center;justify-content:center;width:1.05em;height:1.05em;flex:0 0 auto}.channel-type-icon-shell.bot-bound .channel-type-icon{color:var(--accent-strong)}.channel-type-icon-bot-badge{position:absolute;right:-.36em;bottom:-.3em;width:.7em;height:.7em;border-radius:.24em;border:1px solid var(--accent-border);background:linear-gradient(155deg,var(--accent) 0%,var(--accent-strong) 100%);box-shadow:0 0 0 1px var(--surface-elev-2);pointer-events:none}.channel-type-icon-bot-badge:before{content:"";position:absolute;left:1px;top:2px;width:2px;height:2px;border-radius:50%;background:var(--ink-on-accent);box-shadow:3px 0 0 var(--ink-on-accent)}.channel-type-icon-bot-badge:after{content:"";position:absolute;left:1px;top:5px;width:5px;height:1px;border-radius:1px;background:var(--ink-on-accent)}.channel-tab-skeleton{pointer-events:none;justify-content:space-between}.channel-group-title-skeleton{width:72px;height:10px;display:inline-block}.channel-tab-label-skeleton{width:62%;max-width:180px;height:12px;display:inline-block}.channel-tab-badge-skeleton{width:24px;height:16px;border-radius:999px;display:inline-block}.badge{display:inline-grid;place-items:center;min-width:24px;padding:2px 9px;border-radius:var(--radius-pill);font-size:.68rem;font-weight:700;background:#4f5566;color:var(--ink-on-accent)}.badge.subtle{background:#2c3240;color:var(--ink-muted)}.badge.good{background:var(--ok)}.badge.warn{background:var(--warn)}.badge.bad{background:var(--danger)}.badge.muted{background:#596277}.skeleton-block{position:relative;overflow:hidden;border-radius:999px;background:#6c799742}.skeleton-block:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;transform:translate(-100%);background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.2) 48%,transparent 100%);animation:skeleton-wave 1.2s ease-in-out infinite}@keyframes skeleton-wave{to{transform:translate(100%)}}.card-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);margin-bottom:var(--space-2)}.card-head h2{margin-bottom:0}.user-footer{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);min-height:calc((var(--space-2) * 2) + var(--control-height) + 2px);border-top:1px solid var(--line);background:var(--surface-elev-2)}.user-footer-open-settings{cursor:pointer}.user-footer-open-settings:focus-visible{outline:2px solid var(--accent-border);outline-offset:-2px}.user-footer-meta{display:grid;min-width:0;margin:0 var(--space-2)}.user-name{font-size:.88rem;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-status{font-size:.72rem;color:var(--ink-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.status-display{display:inline-flex;align-items:center;gap:6px;min-width:0;max-width:100%}.status-display-text{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.status-display-markdown.message-body{margin-top:0;display:block}.status-display-markdown.message-body .md-p{margin:0}.status-display-stamp{width:14px;height:14px;object-fit:contain;flex:0 0 14px}.status-display-fallback{font-size:.72rem;color:var(--ink-muted)}.chat-pane{background:var(--bg-pane);display:flex;flex-direction:column;min-width:0;min-height:100vh;height:100vh;position:relative;overflow:hidden}.chat-pane:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 20% 10%,rgba(88,101,242,.08),transparent 40%),radial-gradient(circle at 85% 85%,rgba(58,160,255,.08),transparent 40%);pointer-events:none}.chat-header,.mode-banner,.message-viewport,.composer{position:relative;z-index:1}.chat-header{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--space-2);align-items:center;padding:var(--space-3) var(--space-5);border-bottom:1px solid var(--line);background:var(--surface-elev-4)}.chat-title{display:grid;gap:2px;min-width:0}.chat-title-row{display:flex;align-items:baseline;flex-wrap:nowrap;gap:var(--space-2);min-width:0}.chat-header h2{font-size:1.12rem;display:block;min-width:0}.chat-channel-title{display:inline-flex;align-items:center;gap:var(--space-2);min-width:0;max-width:100%;flex:0 0 auto}.chat-channel-title .channel-inline-label-text{overflow:visible;text-overflow:clip;white-space:nowrap;flex:0 0 auto}.chat-channel-key-badge{border:1px solid var(--line-strong);background:var(--surface-elev-6);color:var(--ink-muted);font-size:.64rem;letter-spacing:.06em;text-transform:none;flex-shrink:0}button.channel-key-copy-badge{min-height:0;padding:2px 9px;border-radius:var(--radius-pill);border:1px solid var(--line-strong);background:var(--surface-elev-6);color:var(--ink-muted);line-height:1.2}button.channel-key-copy-badge:hover{filter:none;background:var(--surface-elev-5);color:var(--ink)}.channel-topic{display:block;flex:1 1 auto;min-width:0;max-width:100%;font-size:.78rem;color:var(--ink-muted);line-height:1.4;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-title-skeleton{display:grid;gap:8px;width:min(420px,90%)}.chat-title-main-skeleton{width:220px;max-width:100%;height:18px;display:inline-block}.chat-title-sub-skeleton{width:320px;max-width:100%;height:11px;display:inline-block}.chat-meta{display:grid;justify-items:end;gap:6px;min-width:0}.chat-actions,.header-status{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-2);flex-wrap:wrap}.album-selection-toggle{width:34px;height:34px;min-height:34px;min-width:34px;padding:0;border-radius:var(--radius-sm);display:inline-flex;align-items:center;justify-content:center;background:transparent;border:1px solid var(--line-strong);color:var(--ink-muted);line-height:1}.album-selection-toggle.active{color:var(--ink-on-tint);border-color:var(--accent-border);background:linear-gradient(150deg,#2f77c63d,#5aa7e23d)}.album-selection-toggle:hover{color:var(--ink);border-color:var(--line-strong);background:var(--surface-elev-6);filter:none}.mode-banner{margin:var(--space-3) var(--space-5) 0;padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);border:1px solid var(--line-soft);background:var(--surface-elev-6);font-size:.8rem;color:var(--ink-muted);line-height:1.45}.mode-banner.degraded{border-color:#d05573;background:#d0557329;color:#f6d5dc}.search-panel{margin:var(--space-2) var(--space-5) 0;padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);border:1px solid var(--line-strong);background:var(--surface-elev-6);display:grid;gap:var(--space-1);flex-shrink:0}.search-form{display:grid;gap:var(--space-1)}.search-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--space-2)}.search-row>input[type=search],.search-row>button[type=submit]{min-height:40px;height:40px;padding:0 var(--space-2);font-size:1rem}.search-row>button[type=submit]{min-width:88px}.search-row>input[type=search]{background:transparent}.search-controls{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-2)}.search-controls>select,.search-controls>input,.search-type-btn{min-height:28px;height:28px;padding:0 var(--space-2);font-size:.68rem}.search-type-toggle{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-1)}.search-type-btn{background:transparent;border:1px solid transparent;color:var(--ink-muted);font-weight:600}.search-type-btn:hover{border-color:var(--line-strong);background:var(--surface-elev-6);color:var(--ink)}.search-type-btn.active{border-color:var(--accent-border);color:var(--ink-on-tint);background:linear-gradient(150deg,#2f77c63d,#5aa7e23d)}.search-error{margin:0;font-size:.75rem;color:#ffc8d3}.search-empty{margin:0;padding:10px 12px;font-size:.74rem;color:var(--ink-muted)}.search-results-lane{min-height:240px;border-radius:12px;border:1px solid var(--line-strong);background:var(--surface-elev-4);padding:8px;display:grid;align-content:start}.attachment-action-error{margin:var(--space-1) var(--space-5) 0;padding:6px var(--space-3);border-radius:var(--radius-sm);border:1px solid rgba(240,65,93,.7);background:#f0415d1f;color:#ffd5de;font-size:.74rem}.attachment-action-error.in-dialog{margin:0}.search-results{margin:0;padding:0;list-style:none;display:grid;gap:6px;max-height:min(44vh,420px);overflow:auto}.search-result-item{display:block;padding:0;border-radius:10px;border:1px solid var(--line-strong);background:var(--surface-elev-4);overflow:hidden}.search-result-button{width:100%;min-height:0;border:0;border-radius:0;background:transparent;text-align:left;padding:10px 12px;display:grid;gap:4px;color:inherit}.search-result-button:hover{filter:none;background:var(--surface-elev-6)}.search-result-headline{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-2);min-width:0}.search-result-channel{font-size:.7rem;font-weight:700;color:var(--ink-on-tint);min-width:0}.search-result-author{font-size:.76rem;font-weight:600;color:var(--ink-muted)}.search-result-title{font-size:.82rem;line-height:1.4;color:var(--ink);overflow-wrap:anywhere}.search-result-meta{font-size:.67rem;letter-spacing:.02em;color:var(--ink-muted);flex-shrink:0}.search-overlay{position:fixed;top:0;right:0;bottom:0;left:0;display:none;place-items:center;background:var(--overlay-backdrop);z-index:26;padding:24px}.search-overlay.open{display:grid}.search-dialog{width:min(920px,calc(100vw - 48px));min-height:min(560px,calc(100vh - 48px));max-height:min(760px,calc(100vh - 48px));border-radius:16px;border:1px solid var(--line-strong);background:var(--surface-elev-3);box-shadow:var(--shadow);display:grid;grid-template-rows:auto 1fr;overflow:hidden;will-change:transform,opacity,filter;transform-origin:center top}.search-dialog-head{padding:var(--space-4);border-bottom:1px solid var(--line);display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3);background:var(--surface-elev-1)}.search-dialog-head p{color:var(--ink-muted);font-size:.76rem;margin-top:2px}.search-dialog-body{padding:var(--space-4);overflow:auto;display:grid;gap:var(--space-2);grid-template-rows:auto auto minmax(0,1fr);min-height:0}.mode-pill,.realtime-pill{display:inline-flex;align-items:center;justify-content:center;min-width:118px;height:var(--pill-height);border-radius:var(--radius-pill);padding:0 var(--space-3);font-size:.72rem;border:1px solid var(--line-soft);background:var(--surface-elev-6);white-space:nowrap;font-variant-numeric:tabular-nums}.mode-pill{letter-spacing:.03em}.mode-pill.degraded{background:#4b2a36;border-color:#d05573}.realtime-pill{letter-spacing:.01em;color:var(--realtime-pill-ink)}.realtime-pill.connected{border-color:var(--realtime-pill-connected-border);background:var(--realtime-pill-connected-bg)}.realtime-pill.connecting{border-color:#ddb15a;background:#524024}.realtime-pill.disconnected,.realtime-pill.idle{border-color:#6f7487;background:#383d4b}.settings-status-line{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2)}.message-viewport{overflow:auto;padding:var(--space-4) var(--space-5);min-height:0;flex:1 1 auto}.message-list{margin:0;padding:0;list-style:none;display:grid;gap:var(--space-2)}.message-empty{border:1px dashed var(--line-strong);border-radius:12px;background:var(--surface-elev-3);color:var(--ink-muted);padding:var(--space-4);text-align:center;font-size:.82rem}.message-skeleton-item{display:grid;grid-template-columns:44px minmax(0,1fr);gap:var(--space-2);align-items:start;padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);background:var(--surface-elev-3);border:1px solid var(--line-soft)}.message-skeleton-avatar{width:38px;height:38px;border-radius:var(--avatar-corner-ratio);display:inline-block}.message-skeleton-content{display:grid;gap:8px;padding-top:3px}.message-skeleton-line{height:10px;display:inline-block}.message-skeleton-line-lg{width:min(420px,92%)}.message-skeleton-line-md{width:min(360px,74%)}.message-skeleton-line-sm{width:min(240px,54%)}.message-item{display:grid;grid-template-columns:44px minmax(0,1fr);gap:var(--space-2);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);transition:background .2s ease}.message-list.message-list-album{gap:4px}.message-item.message-item-album{grid-template-columns:74px minmax(0,1fr);align-items:start;justify-content:start;gap:10px;padding:6px 8px}.message-item.message-item-album.message-item-album-with-reactions{grid-template-columns:74px minmax(0,1fr) auto}.message-item.message-item-album .message-content{justify-self:stretch;width:100%;min-width:0;max-width:min(86vw,1200px)}.message-item.is-editing{background:var(--message-item-edit-bg)}.message-item:hover{background:var(--message-item-hover-bg)}.message-item.message-item-pending{background:#4e7fba24;border:1px dashed rgba(122,168,223,.52)}.message-item.message-item-pending .entity-avatar-fallback{color:var(--ink-muted)}.pending-message-body{margin:6px 0 0;color:var(--ink);white-space:pre-wrap;overflow-wrap:anywhere}.pending-message-attachment{margin:4px 0 0;color:var(--ink-muted);font-size:.78rem}.pending-message-status{margin:6px 0 0;color:#8db7ef;font-size:.72rem;font-weight:600;letter-spacing:.01em;animation:pending-message-pulse .9s ease-in-out infinite alternate}@keyframes pending-message-pulse{0%{opacity:.52}to{opacity:1}}.message-item.message-jump-target{background:#2f77c633;box-shadow:inset 0 0 0 1px #8299ff80}.message-content,.message-leading,.message-leading-main{min-width:0}.message-leading-album{display:flex;flex-direction:column;justify-content:space-between;align-items:center;align-self:stretch;min-height:100%}.message-leading-main-album{display:grid;align-content:start;justify-items:center;gap:4px}.entity-avatar{display:inline-grid;place-items:center;overflow:hidden;border:1px solid #4f586f;border-radius:var(--avatar-corner-ratio);background:var(--surface-elev-4);flex-shrink:0}.entity-avatar-sm{width:24px;height:24px;min-width:24px;min-height:24px}.entity-avatar-md{width:38px;height:38px;min-width:38px;min-height:38px}.entity-avatar-xl{width:64px;height:64px;min-width:64px;min-height:64px}.entity-avatar-fill{width:100%;height:100%;min-width:100%;min-height:100%}.entity-avatar-image{width:100%;height:100%;object-fit:cover;display:block}.entity-avatar-fallback{width:100%;height:100%;display:grid;place-items:center;font-size:.74rem;font-weight:700}.entity-avatar-sm .entity-avatar-fallback{font-size:.58rem}.avatar-btn{width:38px;height:38px;min-height:38px;border-radius:var(--avatar-corner-ratio);border:0;background:transparent;overflow:hidden;padding:0}.avatar-btn.small{width:34px;height:34px;min-height:34px}.avatar-btn:disabled{cursor:default;opacity:.9}.message-item.message-item-album .avatar-btn{width:44px;height:44px;min-height:44px}.message-head{display:flex;gap:var(--space-2);align-items:center;justify-content:space-between}.message-head-meta{display:flex;gap:var(--space-2);align-items:baseline;flex-wrap:wrap;min-width:0}.message-head-meta.message-head-meta-album{display:grid;gap:1px;justify-items:center;text-align:center;width:100%}.message-head-album{justify-content:flex-end}.message-author{font-weight:700}.message-author-btn{min-height:0;padding:0;border:0;background:transparent;color:inherit;cursor:pointer;text-align:left}.message-author-btn:hover{text-decoration:underline}.message-head-meta-album .message-author{display:block;width:100%;font-size:.68rem;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.message-head-meta-album .message-author-btn{width:100%;text-align:center}.message-head-meta-album .message-author-btn h3{margin:0;font-family:inherit;font-size:.68rem!important;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.message-time{color:var(--ink-muted);font-size:.72rem}.message-head-meta-album .message-time{font-size:.62rem}.message-edited{color:#9aa3b9;font-size:.68rem}.message-head-meta-album .message-edited{font-size:.6rem}.message-author-bot-icon{width:.9rem;height:.9rem;color:var(--accent-strong);flex:0 0 auto}.message-owner-actions{display:flex;align-items:center;gap:4px;opacity:0;pointer-events:none;transition:opacity .15s ease}.message-edit-menu-trigger,.message-edit-close-trigger{min-width:30px;padding:0 8px;font-weight:700;line-height:1}.message-item:hover .message-owner-actions,.message-item.is-editing .message-owner-actions,.message-owner-actions.always-visible{opacity:1;pointer-events:auto}.message-leading-album .message-owner-actions{width:100%;justify-content:center}.message-body{margin-top:var(--space-1);display:grid;gap:2px;overflow-wrap:anywhere;line-height:1.5}.message-item.message-item-album .message-body{margin-top:2px}.message-edit-panel{margin-top:var(--space-1);display:grid;gap:var(--space-2);padding:var(--space-2);border-radius:10px;border:1px solid #3f4556;background:var(--surface-elev-3);animation:message-edit-panel-enter .22s cubic-bezier(.22,1,.36,1);transform-origin:top left}.message-edit-panel textarea{resize:vertical;min-height:88px}.message-edit-attachments{display:grid;gap:6px}.message-edit-attachment-chip{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);padding:6px 8px;border-radius:8px;border:1px solid #3b4253;background:var(--surface-elev-5)}.message-edit-attachment-name{font-size:.74rem;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.message-edit-actions{display:flex;align-items:center;gap:var(--space-2)}.message-edit-actions-spacer{flex:1 1 auto}.message-edit-hint{margin:0;color:var(--ink-muted);font-size:.68rem}@keyframes message-edit-panel-enter{0%{opacity:0;transform:translateY(8px) scale(.985);filter:blur(4px)}to{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}}.message-action-error{margin:6px 0 0;color:#ff9aa4;font-size:.72rem}.message-body .md-list{margin:.1rem 0;padding-left:1.25rem}.message-body .md-list+.md-list{margin-top:2px}.message-body .md-list-item{margin:.15rem 0}.message-body .md-list-item>.md-list{margin-top:2px}.message-body .md-list-item.task-list-item{list-style:none;margin-left:-.2rem}.message-body .md-task-checkbox{width:.92rem;height:.92rem;margin-right:.42rem;accent-color:#5865f2;pointer-events:none;vertical-align:text-bottom}.message-body .md-p{margin:0}.message-body .md-p+.md-p{margin-top:2px}.message-body .md-heading{margin:.18rem 0;font-weight:700;letter-spacing:.01em;color:var(--ink);line-height:1.35}.message-body .md-h1{font-size:1.05em}.message-body .md-h2{font-size:1em}.message-body .md-h3{font-size:.95em}.message-body .md-h4,.message-body .md-h5,.message-body .md-h6{font-size:.9em}.message-body .md-blockquote{margin:.15rem 0;padding-left:10px;border-left:3px solid #5865f2;color:#cfd6e8}.message-body .md-blockquote>.md-p{margin:0}.message-body .md-hr{margin:.35rem 0;border:0;border-top:1px solid #3b4356}.message-body .md-inline-code{padding:1px 6px;border-radius:6px;border:1px solid #3b4356;background:var(--surface-elev-2);font-size:.9em;font-family:Consolas,Courier New,monospace}.message-body .md-code-block{margin:2px 0;padding:10px 12px;border-radius:10px;border:1px solid #3b4356;background:var(--surface-elev-2);color:#e5ebff;white-space:pre-wrap;overflow-wrap:anywhere}.message-body .md-code-block code{font-family:Consolas,Courier New,monospace;font-size:.9em}.message-body .md-del{text-decoration-color:#ff97a8;text-decoration-thickness:1.5px;opacity:.92}.message-body .md-table-wrap{margin:.35rem 0;max-width:100%;overflow-x:auto;border-radius:10px;border:1px solid #3b4356;background:var(--surface-elev-2)}.message-body .md-table{width:100%;border-collapse:collapse;min-width:360px}.message-body .md-th,.message-body .md-td{padding:.42rem .55rem;text-align:left;vertical-align:top;border-bottom:1px solid #313a4a;border-right:1px solid #313a4a}.message-body .md-th:last-child,.message-body .md-td:last-child{border-right:0}.message-body .md-th{font-weight:700;color:var(--ink);background:#7b8db824;white-space:nowrap}.message-body .md-tbody .md-tr:last-child .md-td{border-bottom:0}.message-body .md-table .md-p{margin:0}.message-body .md-invalid-link{text-decoration:underline dotted}.message-body .mention-badge{display:inline-flex;align-items:center;max-width:100%;padding:1px 7px;border-radius:6px;border:1px solid rgba(134,165,255,.5);background:#5865f242;color:var(--mention-badge-ink);font-weight:700;font-size:.9em}.message-body .mention-badge.mention-badge-self{outline:1px solid rgba(255,195,84,.9);outline-offset:1px}.message-link-preview-list{margin-top:8px;display:grid;gap:6px}.message-link-preview{display:grid;gap:3px;padding:8px 10px;border-radius:10px;border:1px solid var(--line-soft);background:var(--surface-elev-2);color:inherit;text-decoration:none;min-width:0}.message-link-preview:hover{border-color:var(--line-strong);background:var(--surface-elev-6)}.message-link-preview-host{font-size:.66rem;line-height:1.2;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-muted)}.message-link-preview-title{font-size:.8rem;font-weight:700;line-height:1.35;overflow-wrap:anywhere}.message-link-preview-url{font-size:.7rem;line-height:1.3;color:var(--ink-muted);overflow-wrap:anywhere}.message-attachments{margin-top:var(--space-2);display:flex;flex-wrap:wrap;align-items:flex-start;gap:var(--space-2)}.message-item.message-item-album .message-attachments{margin-top:4px;gap:6px}.message-attachments.message-attachments-album-image-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px;width:100%;max-width:100%;justify-content:flex-start}.message-attachments.message-attachments-album-image-grid .attachment-card-image{width:100%;max-width:none;min-width:0;flex:none}.message-attachments.message-attachments-album-image-grid .attachment-card-image.attachment-card-button{border:1px solid rgba(59,66,83,.35);border-radius:8px}.message-attachments.message-attachments-album-image-grid .attachment-card-image.album-attachment-selection-enabled{position:relative;overflow:hidden}.message-attachments.message-attachments-album-image-grid .attachment-card-image.album-attachment-selection-enabled.is-selected.attachment-card-button{border-color:var(--accent-border)}.album-attachment-select-indicator{position:absolute;top:8px;right:8px;width:20px;height:20px;border:1px solid rgba(255,255,255,.84);border-radius:4px;background:#121926ad;color:#fff;font-size:.74rem;font-weight:700;line-height:1;display:inline-grid;place-items:center;pointer-events:none}.attachment-card-image.is-selected .album-attachment-select-indicator{border-color:var(--accent-border);background:color-mix(in srgb,var(--accent) 78%,transparent)}.message-attachments.message-attachments-album-image-grid .attachment-card-image.attachment-card-button.disabled,.message-attachments.message-attachments-album-image-grid .attachment-card-image.attachment-card-button.disabled:hover{border:1px solid rgba(59,66,83,.35);border-radius:8px}.message-attachments.message-attachments-album-image-grid .attachment-thumbnail{border-radius:7px}.message-attachments.message-attachments-album-files{margin-top:var(--space-2)}.attachment-card{border-radius:12px;border:1px solid #3b4253;background:var(--surface-elev-5);min-width:0}.attachment-card-button{color:var(--ink);border-color:#3b4253;border-radius:12px;background:var(--surface-elev-5);text-align:left;padding:0;cursor:pointer;min-height:0}.attachment-card-button:hover{filter:none}.attachment-card-button.interactive:hover{border-color:#5d6680;background:#262b38}.attachment-card-button.disabled{cursor:not-allowed;opacity:.82}.attachment-card-button.disabled,.attachment-card-button.disabled:hover{border-color:#3b4253;background:var(--surface-elev-5)}.attachment-card-file{display:grid;grid-template-columns:72px minmax(0,1fr) auto;gap:var(--space-2);align-items:center;padding:var(--space-2);width:min(100%,var(--attachment-file-width));max-width:var(--attachment-file-width);flex:0 1 var(--attachment-file-width)}.attachment-card-file.attachment-card-file-compact{grid-template-columns:56px minmax(0,1fr) auto;width:min(100%,272px);max-width:272px;flex:0 1 272px;padding:var(--space-1) var(--space-2)}.attachment-card-file.attachment-card-file-compact .attachment-preview{width:56px;height:42px}.attachment-card-image{display:block;width:min(100%,var(--attachment-image-size));max-width:var(--attachment-image-size);flex:0 0 var(--attachment-image-size);padding:0;border:0;background:transparent;overflow:hidden;aspect-ratio:1 / 1}.attachment-card-image.attachment-card-button,.attachment-card-image.attachment-card-button.disabled,.attachment-card-image.attachment-card-button.disabled:hover{background:transparent;border:0}.attachment-card-image:hover{filter:brightness(1.03)}.attachment-thumbnail{width:100%;height:100%;object-fit:cover;display:block}.attachment-card.pending{opacity:.7}.attachment-preview{width:72px;height:56px;border-radius:var(--radius-sm);border:1px solid var(--line-soft);background:var(--surface-elev-2);object-fit:cover}.attachment-preview.file{display:grid;place-items:center;font-size:.7rem;letter-spacing:.08em;color:var(--ink-muted)}.attachment-meta{display:grid;gap:2px;font-size:.75rem;min-width:0}.attachment-name{font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.attachment-size{color:var(--ink-muted);font-size:.7rem}.attachment-link{display:inline-flex;align-items:center;justify-content:center;min-height:var(--control-height-sm);border:1px solid #3b4253;border-radius:var(--radius-sm);padding:0 var(--space-2);font-size:.7rem;color:#9bb4ff;text-decoration:none;text-align:center;white-space:nowrap}.attachment-link:hover{color:var(--ink-on-accent);border-color:var(--accent-border)}.attachment-link.muted{color:var(--ink-muted);border-color:#3b4253;cursor:default}.message-actions,.reaction-list{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.message-actions{margin-top:6px;position:relative;width:100%}.message-reaction-column{display:flex;align-items:flex-start;justify-content:flex-start;align-self:start}.message-actions.message-actions-album{margin-top:0;width:auto;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:4px}.message-actions.message-actions-album .reaction-list{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:4px}.message-actions.message-actions-album .reaction-picker{left:auto;right:0;max-width:min(440px,calc(100vw - 24px));transform-origin:right top}.reaction-history-anchor{position:relative;width:auto;max-width:100%;display:inline-flex;align-items:center;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;touch-action:manipulation}.reaction-history-popover{position:fixed;top:auto;left:auto;right:auto;bottom:auto;z-index:90;width:min(360px,calc(100vw - 24px));max-height:min(320px,56vh);overflow:auto;border:1px solid var(--line-strong);border-radius:10px;background:var(--surface-elev-3);box-shadow:0 14px 30px #00000061;padding:var(--space-2);display:grid;gap:var(--space-2)}.reaction-history-title{margin:0;font-size:.72rem;color:var(--ink-muted)}.reaction-history-list{list-style:none;margin:0;padding:0;display:grid;gap:6px;-webkit-user-select:none;user-select:none}.reaction-history-item{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:8px;min-height:24px}.reaction-history-actor{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.74rem;color:var(--ink)}.reaction-history-stamp{display:inline-flex;align-items:center;justify-content:center;gap:4px;font-size:.74rem;color:var(--ink-muted)}.reaction-history-stamp-image{width:16px;height:16px;object-fit:contain}.reaction-history-time{font-size:.7rem;color:var(--ink-muted);font-variant-numeric:tabular-nums}.reaction-pill{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:inline-flex;align-items:center;gap:var(--space-1);min-height:0;padding:3px var(--space-2);border-radius:var(--radius-pill);border:1px solid #424a5d;background:var(--surface-elev-6);font-size:.7rem;color:var(--ink-muted);cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.reaction-pill.active{border-color:var(--accent-border);background:#2f77c633;color:var(--ink)}.reaction-pill-image{width:16px;height:16px;object-fit:contain;flex:0 0 16px}.reaction-pill.reaction-pill-album{gap:3px;min-height:0;padding:2px 6px;border-radius:10px;border-color:#56617a;background:#242d3d;font-size:.62rem}.reaction-pill.reaction-pill-album.active{border-color:#76a9e8;background:#4d9be433}.reaction-pill-image.reaction-pill-image-album{width:13px;height:13px;flex-basis:13px}.reaction-pill-count-album{line-height:1;font-weight:700}.reaction-add-button{min-width:28px;padding:0 8px;font-size:1rem;line-height:1}.reaction-list-overflow{display:inline-flex;align-items:center;justify-content:center;min-height:24px;min-width:30px;padding:0 8px;border-radius:var(--radius-pill);border:1px dashed #55617b;color:var(--ink-muted);font-size:.72rem;font-weight:700;letter-spacing:.02em}.reaction-list-overflow.reaction-list-overflow-album{min-height:20px;min-width:24px;padding:0 6px;border-radius:10px;font-size:.64rem}.reaction-picker{position:absolute;top:calc(100% + 8px);left:0;z-index:30;width:min(440px,calc(100vw - 32px));max-width:calc(100vw - 32px);max-height:min(420px,56vh);overflow:hidden;border:1px solid var(--line-strong);border-radius:12px;background:var(--surface-elev-3);box-shadow:0 16px 36px #00000073;padding:var(--space-2);display:grid;grid-template-rows:auto auto minmax(0,1fr);gap:var(--space-2);animation:reaction-picker-enter .24s cubic-bezier(.22,1,.36,1);transform-origin:left top}.reaction-picker.floating{position:fixed;top:auto;right:auto;bottom:auto;left:auto;z-index:70;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;transform-origin:center bottom}.reaction-picker.floating .reaction-picker-grid,.reaction-picker.floating .reaction-picker-grid.history{max-height:none;overflow:visible;padding-right:0}.reaction-picker input[type=search]{width:100%}.reaction-picker-section{display:grid;gap:6px}.reaction-picker-section p{margin:0;font-size:.72rem;color:var(--ink-muted)}.reaction-picker-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(38px,1fr));gap:8px;overflow:auto;min-height:0;max-height:220px;padding-right:4px}.reaction-picker-grid.history{grid-template-columns:repeat(auto-fill,minmax(38px,1fr));max-height:96px}.reaction-picker-item{display:flex;align-items:center;justify-content:center;min-height:38px;min-width:38px;aspect-ratio:1 / 1;padding:4px;border-radius:8px;border:1px solid var(--line-strong);background:var(--surface-elev-5);color:var(--ink);font-size:.72rem;text-align:center;cursor:pointer}.reaction-picker-item img{width:22px;height:22px;object-fit:contain}.reaction-picker-item .fallback{font-size:.9rem;font-weight:700;color:var(--ink-muted)}.reaction-picker-item:hover{border-color:#6274ff;background:#2a3040}.reaction-picker-item.active{border-color:#6274ff;background:#2d3550}.reaction-picker-empty{margin:0;font-size:.72rem;color:var(--ink-muted)}@keyframes reaction-picker-enter{0%{opacity:0;transform:translateY(10px) scale(.97);filter:blur(6px)}to{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}}.new-divider{display:flex;align-items:center;gap:var(--space-2);color:#ffc9d2;font-size:.74rem;margin:var(--space-3) 0;text-transform:uppercase;letter-spacing:.08em}.date-divider{display:flex;align-items:center;gap:var(--space-2);color:#d5d9e3;font-size:.74rem;margin:var(--space-2) 0}.divider-line{flex:1;height:1px;background:linear-gradient(90deg,transparent,#cf627b,transparent)}.divider-label{padding:var(--space-1) var(--space-2);border-radius:var(--radius-pill);background:#cf627b26;border:1px solid rgba(207,98,123,.6);font-size:.7rem;letter-spacing:.1em}:root[data-theme=light] .divider-label{color:var(--ink-on-tint)}.composer{padding:var(--space-2) var(--space-3);border-top:1px solid var(--line);background:var(--surface-elev-4);display:grid;gap:var(--space-2);margin-top:auto;position:relative;z-index:3;flex-shrink:0;min-height:calc((var(--space-2) * 2) + var(--control-height) + 12px)}.composer-selection-bar{display:grid;gap:var(--space-2);border:1px solid var(--line-strong);border-radius:12px;background:var(--surface-elev-5);padding:var(--space-2)}.composer-selection-count{font-size:.74rem;color:var(--ink-muted)}.composer-selection-actions{display:flex;flex-wrap:wrap;gap:var(--space-2)}.composer-selection-actions .ghost.tiny{background:var(--surface-elev-6);border-color:var(--line-strong);color:var(--ink)}.typing-indicator{margin:0;padding:0 var(--space-3);color:var(--ink-muted);font-size:.74rem;min-height:1.2em}.composer-shell{display:grid;grid-template-columns:40px minmax(0,1fr) auto;gap:var(--space-2);align-items:end;background:var(--surface-elev-3);border:1px solid var(--line-strong);border-radius:12px;position:relative;overflow:visible;height:fit-content}.composer-shell.solo{align-items:end}.composer-plus{width:40px;min-width:40px;min-height:40px;height:40px;border-radius:10px;padding:0;letter-spacing:0;font-size:1rem}.composer-file-input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.composer-input-wrap{position:relative;min-height:40px;height:40px;align-self:stretch}.composer-input-preview,.composer textarea{margin:0;padding:8px 0;min-height:40px;max-height:220px;width:100%;border:none;font:inherit;line-height:1.45;letter-spacing:inherit;font-kerning:none;font-variant-ligatures:none;white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word}.composer-input-preview{display:none;position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;color:transparent;overflow-y:auto;overflow-x:hidden;z-index:0}.composer textarea{position:absolute;top:0;right:0;bottom:0;left:0;resize:none;height:auto;background:transparent;overflow-y:auto;overflow-x:hidden;color:var(--ink);-webkit-text-fill-color:var(--ink);caret-color:var(--ink);z-index:1;border-radius:0}.composer textarea::selection{color:inherit}.composer textarea::placeholder{color:var(--ink-muted);opacity:.82}.composer-input-preview .composer-mention-badge{display:inline;padding:0;border-radius:0;background:#5865f247;color:transparent;font:inherit;font-kerning:none;font-variant-ligatures:none}.composer-mention-picker{position:absolute;left:46px;right:54px;bottom:calc(100% + 8px);display:grid;gap:4px;max-height:min(240px,46vh);overflow-y:auto;padding:6px;border-radius:12px;border:1px solid var(--line-strong);background:var(--surface-elev-3);box-shadow:var(--shadow);z-index:20}.composer-mention-option{min-height:34px;border:1px solid transparent;border-radius:8px;padding:0 10px;display:flex;align-items:center;justify-content:flex-start;background:transparent;color:var(--ink-muted);font-weight:600;line-height:1.3}.composer-mention-option:hover,.composer-mention-option.active{border-color:#5f8cdc7a;background:#5865f233;color:var(--ink-on-tint);filter:none}.composer-mention-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.composer-attachment-chip{position:relative;display:block;border:1px solid var(--line-soft);background:var(--surface-elev-5);border-radius:10px;overflow:hidden;min-height:90px;aspect-ratio:1 / 1}.composer-attachment-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:8px}.composer-attachment-thumbnail{width:100%;height:100%;object-fit:cover;display:block}.composer-attachment-file-fallback{width:100%;height:100%;display:grid;place-items:center;font-size:.74rem;letter-spacing:.08em;color:var(--ink-muted)}.composer-attachment-meta{position:absolute;left:0;right:0;bottom:0;display:grid;gap:1px;padding:4px 6px;background:linear-gradient(180deg,#090c1400,#090c14d6 42%)}.composer-attachment-name{font-size:.66rem;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#f6f9ff}.composer-attachment-size{font-size:.62rem;color:#f6f9ffc7}.composer-attachment-remove{position:absolute;top:4px;right:4px;width:22px;height:22px;border-radius:999px;border:1px solid rgba(255,255,255,.3);background:#0c101ab8;color:#f6f9ff;display:grid;place-items:center;padding:0;font-size:.88rem;line-height:1}.composer-attachment-remove:disabled{opacity:.55;cursor:not-allowed}.composer-attachment-chip.file .composer-attachment-meta{background:linear-gradient(180deg,#090c1433,#090c14d6 54%)}.composer-note,.composer-error{margin:0;font-size:.74rem}.composer-note{color:var(--ink-muted)}.composer-error{color:#ffc8d3}.composer-actions{display:grid;grid-template-columns:1fr auto;gap:var(--space-2)}.composer .send-inline{min-width:74px;min-height:var(--control-height);height:var(--control-height);align-self:end;border-radius:10px}.profile-form{display:grid;gap:var(--space-3)}.profile-form.single-column{grid-template-columns:1fr}.profile-status-stamp-field{display:grid;gap:var(--space-2);position:relative}.profile-status-stamp-label{color:var(--ink-muted);font-size:.78rem}.profile-status-stamp-actions{display:flex;gap:var(--space-1);align-items:center}.profile-status-stamp-toggle{width:100%;min-height:36px;display:inline-flex;align-items:center;gap:8px;justify-content:space-between;background:var(--surface-elev-5);border:1px solid var(--line-strong);border-radius:10px;padding:6px 10px;color:var(--ink)}.profile-status-stamp-toggle.open{border-color:#6274ff;background:#2b3242}.profile-status-stamp-toggle-image{width:20px;height:20px;object-fit:contain;flex:0 0 20px}.profile-status-stamp-toggle-text{flex:1;text-align:left;font-size:.76rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.profile-status-stamp-toggle-caret{color:var(--ink-muted);font-size:.8rem;line-height:1}.profile-status-picker-popover-anchor{position:fixed;z-index:45}.profile-status-picker-popover-anchor.above{transform:translateY(calc(-100% - 8px))}.profile-status-picker-popover-anchor.below{transform:translateY(8px)}.profile-status-picker-popover{border:1px solid var(--line-strong);border-radius:12px;background:var(--surface-elev-3);box-shadow:0 18px 36px #00000073;padding:var(--space-2);display:grid;gap:var(--space-2)}.profile-status-picker-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2)}.profile-status-picker-head p{margin:0;font-size:.72rem;color:var(--ink-muted)}.profile-status-picker{position:static;top:auto;left:auto;right:auto;bottom:auto;width:100%;max-width:100%;max-height:300px;box-shadow:none}.profile-status-picker.floating{padding:0;border:0;background:transparent;max-height:min(420px,56vh)}.profile-name{font-size:.95rem;font-weight:700;overflow-wrap:anywhere}.profile-status{margin-top:var(--space-1);color:var(--ink-muted);font-size:.8rem;line-height:1.4;min-height:1.2em;overflow-wrap:anywhere}.helper-text{font-size:.72rem;color:var(--ink-muted)}.inline-actions{display:flex;flex-wrap:wrap;gap:var(--space-2)}.inline-actions button{white-space:nowrap}button.compact,.compact{min-height:var(--control-height-sm);padding:0 var(--space-3)}.settings-overlay{position:fixed;top:0;right:0;bottom:0;left:0;display:none;place-items:center;background:var(--overlay-backdrop);z-index:24;padding:24px}.settings-overlay.open{display:grid}.settings-dialog{width:min(980px,calc(100vw - 48px));height:min(760px,calc(100vh - 48px));max-height:min(760px,calc(100vh - 48px));border-radius:16px;border:1px solid var(--line-strong);background:var(--surface-elev-3);box-shadow:var(--shadow);display:grid;grid-template-rows:auto 1fr;overflow:hidden;will-change:transform,opacity,filter;transform-origin:center top}.settings-dialog-head{padding:var(--space-4);border-bottom:1px solid var(--line);display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3);background:var(--surface-elev-1)}.settings-dialog-head p{color:var(--ink-muted);font-size:.76rem;margin-top:2px}.settings-dialog-actions{display:flex;align-items:center;gap:var(--space-2)}.settings-dialog-body{display:grid;grid-template-columns:220px minmax(0,1fr);min-height:0}.settings-folder-nav{border-right:1px solid var(--line);background:var(--surface-elev-2);display:grid;align-content:start;gap:var(--space-1);padding:var(--space-3)}.settings-folder{width:100%;text-align:left;justify-content:flex-start;min-height:34px;padding:0 var(--space-3);border:1px solid transparent;border-radius:var(--radius-sm);background:transparent;color:var(--ink-muted);font-weight:600}.settings-folder:hover{border-color:var(--line-strong);background:var(--surface-elev-6)}.settings-folder.active{border-color:var(--accent-border);color:var(--ink-on-tint);background:linear-gradient(150deg,#2f77c63d,#5aa7e23d)}.settings-dialog-content{padding:var(--space-4);overflow:auto;display:grid;gap:var(--space-3);align-content:start;min-height:0;margin-bottom:var(--space-4)}.settings-dialog-content:after{content:"";display:block}.confirm-dialog-overlay{position:fixed;top:0;right:0;bottom:0;left:0;display:none;place-items:center;background:var(--overlay-backdrop);z-index:32;padding:24px}.confirm-dialog-overlay.open{display:grid}.confirm-dialog{width:min(460px,calc(100vw - 32px));border-radius:16px;border:1px solid var(--line-strong);background:var(--surface-elev-3);box-shadow:var(--shadow);padding:var(--space-4);display:grid;gap:var(--space-3)}.confirm-dialog h3{margin:0;font-size:.96rem}.confirm-dialog p{margin:0;color:var(--ink-muted);line-height:1.5;white-space:pre-wrap}.confirm-dialog-actions{justify-content:flex-end}.confirm-dialog .confirm-danger{background:linear-gradient(150deg,#bf4c64,#e04e6b);border-color:#e06f87}.share-target-overlay{position:fixed;top:0;right:0;bottom:0;left:0;display:none;place-items:center;background:var(--overlay-backdrop);z-index:33;padding:24px}.share-target-overlay.open{display:grid}.share-target-dialog{width:min(560px,calc(100vw - 32px));max-height:calc(100vh - 32px);border-radius:16px;border:1px solid var(--line-strong);background:var(--surface-elev-3);box-shadow:var(--shadow);padding:var(--space-4);display:grid;gap:var(--space-3);overflow:auto}.share-target-head{display:grid;gap:4px}.share-target-head h3{margin:0;font-size:.96rem}.share-target-head p{margin:0;color:var(--ink-muted);font-size:.75rem;line-height:1.45}.share-target-form{display:grid;gap:var(--space-2)}.share-target-body-input{min-height:140px;max-height:50vh;resize:vertical}.share-target-source-title{margin:0;font-size:.72rem;color:var(--ink-muted)}.share-target-source-link{font-size:.72rem;color:var(--accent-strong);overflow-wrap:anywhere}.share-target-error{margin:0;color:#ff9aa4;font-size:.72rem}.share-target-actions{justify-content:flex-end}.avatar-crop-overlay{position:fixed;top:0;right:0;bottom:0;left:0;display:none;place-items:center;background:var(--overlay-backdrop);z-index:34;padding:24px}.avatar-crop-overlay.open{display:grid}.avatar-crop-dialog{width:min(720px,calc(100vw - 32px));max-height:calc(100vh - 32px);border-radius:16px;border:1px solid var(--line-strong);background:var(--surface-elev-3);box-shadow:var(--shadow);padding:var(--space-4);display:grid;gap:var(--space-3);overflow:auto}.avatar-crop-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-2)}.avatar-crop-head h3{margin:0;font-size:.96rem}.avatar-crop-head p{margin:4px 0 0;color:var(--ink-muted);font-size:.74rem}.avatar-crop-grid{display:grid;grid-template-columns:minmax(0,1fr) 180px;gap:var(--space-3);align-items:start}.avatar-crop-stage{position:relative;width:min(100%,360px);aspect-ratio:1 / 1;justify-self:center;border-radius:var(--radius);border:1px solid var(--line-strong);background:linear-gradient(45deg,rgba(255,255,255,.03) 25%,transparent 25%),linear-gradient(-45deg,rgba(255,255,255,.03) 25%,transparent 25%),linear-gradient(45deg,transparent 75%,rgba(255,255,255,.03) 75%),linear-gradient(-45deg,transparent 75%,rgba(255,255,255,.03) 75%),var(--surface-elev-6);background-size:18px 18px;background-position:0 0,0 9px,9px -9px,-9px 0;overflow:hidden;touch-action:none;cursor:grab;-webkit-user-select:none;user-select:none}.avatar-crop-stage.dragging{cursor:grabbing}.avatar-crop-image{position:absolute;top:0;left:0;max-width:none;pointer-events:none;-webkit-user-select:none;user-select:none}.avatar-crop-guides{position:absolute;top:0;right:0;bottom:0;left:0;border:2px solid rgba(255,255,255,.78);box-shadow:inset 0 0 0 1px #00000057,0 0 0 1px #0000002e;pointer-events:none}.avatar-crop-guides:before,.avatar-crop-guides:after{content:"";position:absolute;background:#ffffff94}.avatar-crop-guides:before{top:33.3333%;left:0;right:0;height:1px;box-shadow:0 calc(33.3333% + 1px) 0 #ffffff94}.avatar-crop-guides:after{left:33.3333%;top:0;bottom:0;width:1px;box-shadow:calc(33.3333% + 1px) 0 0 #ffffff94}.avatar-crop-side{display:grid;gap:var(--space-2);align-content:start}.avatar-crop-preview{position:relative;width:104px;height:104px;border-radius:50%;border:1px solid var(--line-strong);background:var(--surface-elev-6);overflow:hidden}.avatar-crop-zoom-control{display:grid;gap:6px;font-size:.74rem}.avatar-crop-zoom-control input[type=range]{min-height:auto;height:28px;padding:0}.avatar-crop-actions{justify-content:flex-end}.settings-section-block{border:0;border-radius:0;background:transparent;padding:0;display:grid;gap:var(--space-3);min-height:100%;align-content:start}.settings-dialog-content>.settings-section-block{margin-bottom:0}.settings-section-block>.server-settings-stack,.settings-section-block>.settings-channel-stack,.settings-section-block>.stamp-settings-block,.settings-section-block>.profile-form,.settings-section-block>.theme-option-list{min-height:100%;padding-bottom:var(--space-2)}.settings-about-list{display:grid;gap:var(--space-2);border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--surface-elev-4);padding:var(--space-3)}.settings-appearance-group{display:grid;gap:var(--space-2);align-content:start}.settings-appearance-group h4{margin:0;font-size:.84rem;font-weight:700;line-height:1.35}.settings-appearance-divider{border:0;border-top:1px solid var(--line-soft);margin:0}.settings-about-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-2)}.settings-about-label{font-size:.76rem;color:var(--ink-muted)}.settings-about-value{display:inline-flex;align-items:center;border:1px solid var(--line-soft);border-radius:var(--radius-sm);background:var(--surface-elev-6);min-height:30px;padding:0 var(--space-2);font-size:.74rem}.settings-about-connection{display:grid;gap:var(--space-2)}.settings-about-connection h4{margin:0;font-size:.82rem}.theme-option-list{display:grid;gap:var(--space-2)}.theme-option{min-height:72px;padding:var(--space-2) var(--space-3);border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--surface-elev-4);display:grid;gap:2px;align-content:center;justify-items:start;text-align:left;color:var(--ink)}.theme-option:hover{border-color:var(--accent-border);background:var(--surface-elev-6)}.theme-option.active{border-color:var(--accent-border);background:linear-gradient(150deg,#2f77c633,#5aa7e233)}.theme-option-title{font-size:.86rem;font-weight:700}.theme-option-description{font-size:.75rem;color:var(--ink-muted)}.theme-current-indicator{font-size:.75rem}.channel-settings-block{gap:var(--space-3)}.settings-channel-stack{display:grid;gap:var(--space-3);align-content:start;padding-bottom:var(--space-2)}.settings-channel-group{display:grid;gap:var(--space-2);align-content:start}.settings-channel-divider{border:0;border-top:1px solid var(--line-soft);margin:0}.settings-channel-edit-layout{display:grid;gap:var(--space-3);grid-template-columns:220px minmax(0,1fr)}.settings-channel-target-list{border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--surface-elev-4);padding:var(--space-2);display:grid;gap:var(--space-2);align-content:start;max-height:420px;overflow:auto}.settings-channel-target{width:100%;min-width:0;min-height:34px;border:1px solid transparent;border-radius:var(--radius-sm);background:transparent;color:var(--ink-muted);display:grid;align-content:center;justify-items:start;gap:1px;text-align:left;padding:4px var(--space-2);font-weight:400;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.settings-channel-target-row .settings-channel-target>span{font-weight:700}.settings-channel-target-group{display:block;margin-top:2px;font-size:.68rem;color:var(--ink-muted)}.settings-channel-target:hover{border-color:var(--line-strong);background:var(--surface-elev-6);color:var(--ink)}.settings-channel-target.active{border-color:var(--accent-border);color:var(--ink-on-tint);background:linear-gradient(150deg,#2f77c63d,#5aa7e23d)}.settings-channel-create-entry{margin-top:var(--space-2);border-style:dashed;font-size:.74rem;font-weight:400}.settings-channel-form{border:0;border-radius:0;background:transparent;padding:0;display:grid;gap:var(--space-2);align-content:start}.settings-channel-form h4{margin:0;font-size:.84rem}.settings-channel-form .helper-text{margin-top:-2px}.settings-channel-form .inline-actions{margin-top:var(--space-1)}.settings-channel-name-row{display:flex;align-items:center;gap:var(--space-2)}.settings-channel-name-row .settings-channel-composite-input{flex:1 1 auto;min-width:0}.settings-channel-composite-input{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:stretch;gap:0}.settings-channel-composite-input>input,.settings-channel-composite-input>select{border-radius:0}.settings-channel-composite-input>:first-child{border-top-left-radius:var(--radius-sm);border-bottom-left-radius:var(--radius-sm)}.settings-channel-composite-input>:last-child{border-top-right-radius:var(--radius-sm);border-bottom-right-radius:var(--radius-sm)}.settings-channel-composite-prefix{width:68px;min-width:68px;text-align:center;text-align-last:center;font-weight:700}.settings-channel-composite-input>:first-child+:last-child{margin-left:-1px}.settings-channel-group-create-form,.settings-channel-group-list,.settings-channel-reorder-list{display:grid;gap:var(--space-2)}.settings-channel-target-group-block{border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--surface-elev-5);overflow:hidden}.settings-channel-group-row{background:var(--surface-elev-6);padding:6px var(--space-2);display:flex;align-items:center;justify-content:space-between;gap:var(--space-2)}.settings-channel-group-row.active{background:linear-gradient(150deg,#2f77c633,#5aa7e233)}.settings-channel-group-name-btn{min-height:0;padding:0;border:0;background:transparent;color:inherit;font-weight:700;text-align:left}.settings-channel-group-name-btn:hover{filter:none}.settings-channel-group-name-btn:disabled{cursor:not-allowed;opacity:.7}.settings-channel-group-name-btn:disabled .settings-channel-group-name{color:var(--ink-muted)}.settings-channel-group-name-btn.active .settings-channel-group-name{color:var(--ink-on-tint)}.settings-channel-group-name{font-size:.68rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.settings-channel-input-readonly,.settings-channel-input-readonly:disabled{background:var(--surface-elev-2);border-color:var(--line-soft);color:var(--ink-muted);cursor:not-allowed}.settings-channel-uppercase-label{font-weight:700;letter-spacing:.08em;text-transform:uppercase}.settings-channel-target-group-header{border-bottom:1px solid var(--line-soft)}.settings-channel-target-group-channels{display:grid}.settings-channel-target-row{display:flex;align-items:stretch;gap:6px;padding:6px;border-top:1px solid var(--line-soft)}.settings-channel-target-row:first-child{border-top:0}.settings-channel-target-row-actions{flex-shrink:0;align-self:center}.settings-channel-target-group-empty{margin:0;padding:6px var(--space-2)}.settings-channel-target-skeleton{pointer-events:none;border-color:transparent}.settings-channel-group-name-skeleton{width:92px;height:10px;display:inline-block}.settings-channel-target-main-skeleton{width:68%;max-width:180px;height:11px;display:inline-block}.settings-channel-target-sub-skeleton{margin-top:4px;width:44%;max-width:120px;height:8px;display:inline-block}.settings-channel-form-skeleton{pointer-events:none}.settings-channel-form-heading-skeleton{width:136px;height:13px;display:inline-block}.settings-channel-form-subheading-skeleton{width:58%;height:10px;display:inline-block}.settings-channel-form-field-skeleton{width:100%;height:36px;border-radius:var(--radius-sm);display:inline-block}.settings-channel-form-textarea-skeleton{width:100%;height:82px;border-radius:var(--radius-sm);display:inline-block}.settings-channel-group-create-entry{margin:0;border-radius:0;border-top:1px dashed var(--line-strong);font-size:.74rem;font-weight:400}.stamp-settings-block{display:grid;gap:var(--space-2);padding-bottom:var(--space-2)}.stamp-settings-block h4{margin:0;font-size:.84rem}.stamp-create-form{display:grid;gap:var(--space-2)}.stamp-list-block{display:grid;gap:var(--space-1)}.stamp-list{margin:0;padding:0;list-style:none;border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--surface-elev-4);max-height:132px;overflow:auto}.stamp-list li{padding:6px var(--space-2);border-bottom:1px solid var(--line-soft);font-size:.76rem;color:var(--ink-muted)}.stamp-list li:last-child{border-bottom:0}.stamp-row{display:flex;align-items:center;gap:8px}.stamp-row-main{display:inline-flex;align-items:center;gap:8px;min-width:0}.stamp-row-image{width:18px;height:18px;object-fit:contain}.stamp-row-fallback{font-size:.72rem}.stamp-row-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.stamp-row-spacer{flex:1}.server-settings-block{gap:var(--space-3)}.server-settings-stack{display:grid;gap:var(--space-3);grid-template-columns:minmax(0,1fr);border:0;border-radius:0;background:transparent;padding:0;align-content:start;min-width:0;min-height:100%;padding-bottom:var(--space-2)}.server-settings-group{display:grid;gap:var(--space-2);align-content:start;min-width:0}.server-settings-group:last-child{margin-bottom:var(--space-1)}.server-settings-group h4{margin:0;font-size:.84rem;font-weight:700;line-height:1.35}.server-settings-divider{border:0;border-top:1px solid var(--line-soft);margin:0}.server-manage-info{color:#a6f2cf}.server-readonly-field textarea{min-height:fit-content!important;resize:none}.server-table-wrap{overflow:auto;border:1px solid var(--line-strong);border-radius:var(--radius-sm)}.server-management-table{width:100%;border-collapse:collapse;background:var(--surface-elev-4);min-width:420px}.server-management-table th,.server-management-table td{padding:8px 10px;border-bottom:1px solid var(--line-soft);font-size:.74rem;text-align:left;vertical-align:middle}.server-management-table th{color:var(--server-table-head-ink);background:var(--server-table-head-bg);white-space:nowrap}.server-management-table td{color:var(--ink-muted)}.server-management-table tr:last-child td{border-bottom:0}.server-user-cell{display:flex;align-items:center;gap:8px;min-width:0}.server-user-name{line-height:1.2;overflow-wrap:anywhere}.settings-notifications-stack{display:grid;gap:var(--space-3);align-content:start;min-height:100%;padding-bottom:var(--space-2)}.settings-notifications-group{display:grid;gap:var(--space-2);align-content:start;min-width:0}.settings-notifications-group h4{margin:0;font-size:.84rem;font-weight:700;line-height:1.35}.settings-pwa-install-guide{display:grid;gap:6px;padding:var(--space-2);border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-elev-4)}.settings-notification-table{min-width:640px}.settings-notification-event-column{text-align:center;white-space:nowrap}.settings-notification-table th.settings-notification-event-column{text-align:center}.settings-notification-toggle{display:inline-flex;align-items:center;justify-content:center;gap:6px;width:100%}.settings-notification-toggle input[type=checkbox]{width:16px;min-height:16px;height:16px;padding:0;margin:0}.settings-notification-toggle.is-saving{opacity:.76}.settings-notification-saving-indicator{display:inline-flex;align-items:center;justify-content:center;min-width:12px;color:var(--ink-muted);font-size:.68rem;line-height:1;letter-spacing:.02em}.settings-notification-group-actions{display:grid;grid-template-columns:1fr;gap:4px;justify-items:center}.settings-notification-group-action{min-height:20px;width:100%;max-width:86px;border:1px solid var(--line);border-radius:999px;background:var(--surface-elev-3);color:var(--ink-muted);font-size:.62rem;line-height:1;padding:0 6px;cursor:pointer}.settings-notification-group-action.active{border-color:var(--accent-border);color:var(--ink);background:linear-gradient(160deg,#4478b842,#4f97d03d)}.settings-notification-group-action:disabled{opacity:.58;cursor:default}.settings-notification-status{margin-top:4px}.settings-notification-tree-entry{display:inline-flex;align-items:center;gap:6px;min-width:0}.settings-notification-tree-channel{position:relative;padding-left:22px}.settings-notification-tree-channel:before{content:"";position:absolute;left:8px;top:50%;width:8px;border-top:1px solid var(--line-soft);transform:translateY(-50%)}.settings-notification-row-group td{background:var(--surface-elev-5)}.settings-notification-row-group td:first-child{color:var(--ink);font-weight:700}.settings-notification-row-channel td:first-child{color:var(--ink-muted)}.settings-notification-row-empty td{text-align:center;color:var(--ink-muted);font-style:italic}.server-bot-create-form{display:grid;gap:var(--space-2)}.server-channel-checklist{border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--surface-elev-4);padding:var(--space-2);display:grid;gap:6px;max-height:180px;overflow:auto}.server-channel-option{display:flex;align-items:center;gap:var(--space-2);font-size:.74rem;color:var(--ink-muted)}.server-channel-option input[type=checkbox]{width:16px;min-height:16px;height:16px;padding:0}.server-bot-manage-layout{display:grid;grid-template-columns:minmax(220px,260px) minmax(0,1fr);gap:var(--space-3);align-items:start}.server-bot-manage-layout>.helper-text{margin-bottom:var(--space-4)}.server-bot-target-list{border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--surface-elev-4);padding:var(--space-2);display:grid;gap:6px;align-content:start;max-height:min(58vh,560px);overflow:auto}.server-bot-target{min-height:36px;width:100%;border:1px solid transparent;border-radius:var(--radius-sm);background:transparent;color:var(--ink-muted);display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);text-align:left;padding:0 var(--space-2)}.server-bot-target-main{display:inline-flex;align-items:center;gap:8px;min-width:0}.server-webhook-target-url{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.server-webhook-target{flex-direction:column;align-items:start;justify-content:center;gap:0}.server-webhook-target-events{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.server-bot-target:hover{border-color:var(--line-strong);background:var(--surface-elev-6);color:var(--ink)}.server-bot-target.active{border-color:var(--accent-border);color:var(--ink-on-tint);background:linear-gradient(150deg,#2f77c63d,#5aa7e23d)}.server-bot-target-create{justify-content:flex-start}.server-bot-create-plus{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:8px;border:1px dashed var(--line-strong);font-size:.86rem;line-height:1}.server-bot-detail{display:grid;gap:var(--space-2);align-content:start;min-width:0}.server-bot-detail-section{display:grid;gap:var(--space-2);align-content:start}.server-bot-detail-heading{margin:0;font-size:.84rem;font-weight:700;line-height:1.35}.server-bot-bottom-actions{flex-wrap:nowrap}.server-bot-key-form{display:grid;gap:var(--space-2)}.server-bot-create-dialog-overlay{z-index:120}.server-bot-create-dialog{width:min(820px,calc(100vw - 48px));max-height:min(86vh,900px);overflow:auto;display:grid;gap:var(--space-2)}.server-bot-create-methods{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2)}.server-bot-create-json-panel{max-width:100%}.server-webhook-detail-meta{margin:0}.form-error{margin:0;font-size:.74rem;color:#ffc8d3}.settings-section-block h3{margin:0;font-size:.9rem}.settings-section-block textarea{min-height:96px;align-content:start}.avatar-picker{display:grid;gap:var(--space-2);justify-items:start;cursor:pointer}.avatar-picker input[type=file]{position:absolute;opacity:0;width:1px;height:1px;overflow:hidden}.avatar-picker-label{font-size:.76rem;color:var(--ink-muted)}.avatar-preset-block{display:grid;grid-template-columns:180px minmax(0,1fr);align-items:start;gap:var(--space-2)}.avatar-preset-guide{display:block}.avatar-preset-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(54px,1fr));gap:var(--space-2)}.avatar-preset-btn{width:54px;height:54px;border:1px solid #4a5162;border-radius:50%;padding:0;background:var(--surface-elev-4);overflow:hidden}.avatar-preset-btn.active{border-color:#8fb5ff;box-shadow:0 0 0 2px #8fb5ff40}.avatar-preset-btn img{width:100%;height:100%;object-fit:cover;display:block}pre{margin:0;min-height:120px;max-height:220px;overflow:auto;border:1px solid #3f4555;border-radius:var(--radius-sm);padding:var(--space-2);background:#1c1f28;font-size:.74rem;color:#c9d0dd}.attachment-action-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000094;display:none;place-items:center;z-index:28;padding:16px}.attachment-action-overlay.open{display:grid}.attachment-action-dialog{width:min(640px,calc(100vw - 32px));max-height:calc(100vh - 32px);border-radius:16px;border:1px solid #4a5266;background:var(--surface-elev-3);box-shadow:var(--shadow);padding:var(--space-4);display:grid;gap:var(--space-3);will-change:transform,opacity,filter;transform-origin:center top}.attachment-action-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-2)}.attachment-action-head h3{margin:0;font-size:.92rem;line-height:1.4;overflow-wrap:anywhere}.profile-status-display .status-display-text{white-space:normal;overflow-wrap:anywhere}.attachment-action-preview{border:1px solid #3b4253;border-radius:12px;overflow:hidden;min-height:140px;display:grid;position:relative}.attachment-action-preview.is-sliding{isolation:isolate}.attachment-action-preview.is-loading>img,.attachment-action-preview.is-loading .attachment-preview-slide-to,.attachment-action-preview.is-loading .attachment-preview-slide-from{opacity:0}.attachment-preview-slide-to,.attachment-preview-slide-from{width:100%;max-height:min(70vh,520px);object-fit:contain;display:block;will-change:transform,opacity}.attachment-preview-slide-from{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:none}.attachment-preview-slide-to.next{animation:attachment-slide-in-next .28s cubic-bezier(.22,1,.36,1)}.attachment-preview-slide-to.previous{animation:attachment-slide-in-previous .28s cubic-bezier(.22,1,.36,1)}.attachment-preview-slide-from.next{animation:attachment-slide-out-next .28s cubic-bezier(.22,1,.36,1)}.attachment-preview-slide-from.previous{animation:attachment-slide-out-previous .28s cubic-bezier(.22,1,.36,1)}@keyframes attachment-slide-in-next{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes attachment-slide-out-next{0%{transform:translate(0)}to{transform:translate(-100%)}}@keyframes attachment-slide-in-previous{0%{transform:translate(-100%)}to{transform:translate(0)}}@keyframes attachment-slide-out-previous{0%{transform:translate(0)}to{transform:translate(100%)}}.attachment-action-preview-shell{position:relative}.attachment-image-loading-modal{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-content:center;gap:var(--space-2);justify-items:center;overflow:hidden;background:color-mix(in srgb,var(--surface-elev-2) 28%,transparent);pointer-events:none}.attachment-image-loading-modal:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,color-mix(in srgb,var(--surface-elev-2) 12%,transparent),color-mix(in srgb,var(--surface-elev-2) 32%,transparent))}.attachment-image-loading-thumbnail{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:contain;transform:none;filter:none;opacity:1}.attachment-image-loading-spinner{position:relative;z-index:1;width:24px;height:24px;border-radius:999px;border:2px solid color-mix(in srgb,var(--ink) 30%,transparent);border-top-color:var(--ink);animation:attachment-image-loading-spin .8s linear infinite}.attachment-image-loading-text{position:relative;z-index:1;font-size:.72rem;color:var(--ink-muted)}@keyframes attachment-image-loading-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.attachment-nav-rail{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:space-between;padding:0 8px;pointer-events:none}.attachment-action-preview img{width:100%;max-height:min(70vh,520px);object-fit:contain;display:block}.attachment-nav-btn{position:relative;transform:none;width:42px;height:42px;min-height:42px;padding:0;border-radius:999px;border:1px solid var(--line-strong);background:color-mix(in srgb,var(--surface-elev-2) 90%,transparent);color:var(--ink);display:flex;align-items:center;justify-content:center;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);transition:background .12s ease,border-color .12s ease,transform .12s ease;pointer-events:auto}.attachment-nav-btn svg{display:block}.attachment-nav-btn:hover:not(:disabled){background:color-mix(in srgb,var(--surface-elev-1) 92%,transparent);border-color:var(--accent-border)}.attachment-nav-btn:active:not(:disabled){transform:scale(.97)}.attachment-nav-btn:disabled{opacity:.72;color:var(--ink-muted)}.attachment-select-toggle{position:absolute;top:10px;right:10px;display:inline-grid;place-items:center;padding:0;background:transparent;border:none}.attachment-select-toggle input[type=checkbox]{width:18px;height:18px;min-height:18px;margin:0;padding:0;border-radius:4px;accent-color:var(--accent)}.attachment-action-file-summary{display:grid;gap:var(--space-1);font-size:.74rem;color:var(--ink-muted);padding:var(--space-2);border-radius:var(--radius-sm);border:1px solid #3b4253;background:#212735}.attachment-selection-bar{display:grid;gap:var(--space-2);border:1px solid var(--line-strong);border-radius:12px;background:var(--surface-elev-5);padding:var(--space-2)}.attachment-selection-count{font-size:.74rem;color:var(--ink-muted)}.attachment-selection-actions{display:flex;flex-wrap:wrap;gap:var(--space-2)}.attachment-selection-actions .ghost.tiny{background:var(--surface-elev-6);border-color:var(--line-strong);color:var(--ink)}.attachment-selection-actions .ghost.tiny:hover:not(:disabled){filter:brightness(1.04)}:root[data-theme=light] .attachment-nav-btn{border-color:#9db7d6;background:#f8fcffeb;color:#24466f}:root[data-theme=light] .attachment-select-toggle{background:transparent}.attachment-action-buttons{display:flex;justify-content:flex-end;gap:var(--space-2)}.attachment-action-buttons button{min-width:92px}.user-card-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--overlay-backdrop);display:none;place-items:center;z-index:30;padding:24px}.user-card-overlay.open{display:grid}.user-card{width:min(560px,calc(100vw - 48px));max-height:min(620px,calc(100vh - 48px));border-radius:16px;border:1px solid var(--line-strong);background:var(--surface-elev-3);box-shadow:var(--shadow);display:grid;grid-template-rows:auto 1fr;overflow:hidden;will-change:transform,opacity,filter;transform-origin:center top}.user-card-head{padding:var(--space-4);border-bottom:1px solid var(--line);display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3);background:var(--surface-elev-1)}.user-card-body{padding:var(--space-4);display:grid;align-content:start;overflow:auto}.user-card-profile{display:grid;justify-items:center;gap:var(--space-2);border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--surface-elev-4);padding:var(--space-4)}.user-card-profile .entity-avatar{width:72px;height:72px;min-width:72px;min-height:72px}.user-card-profile .profile-name,.user-card-profile .profile-status{text-align:center}.user-card-profile .profile-status{margin-top:0;width:min(420px,100%)}.profile-name-row{display:inline-flex;align-items:center;gap:8px}.profile-actor-bot-icon{width:.92rem;height:.92rem;color:var(--accent-strong);flex:0 0 auto}.user-card-actions{width:100%;display:flex;justify-content:center;margin-top:var(--space-1)}.close-btn{justify-self:end;width:34px;height:34px;min-height:34px;border-radius:var(--radius-sm);padding:0;display:flex;align-items:center;justify-content:center;background:var(--surface-elev-6);border-color:var(--line-strong);color:var(--ink);line-height:1}.close-btn svg{display:block}.mobile-layout{margin-bottom:var(--space-3)}.mobile-app-header,.mobile-pane-nav{display:none}.mobile-pane-btn{min-height:42px;background:var(--surface-elev-4);border:1px solid var(--line-soft);border-radius:var(--radius-sm);font-size:.75rem;font-weight:700;color:var(--ink-muted)}.mobile-pane-btn.active{color:var(--ink-on-tint);border-color:var(--accent-border);background:linear-gradient(150deg,#2f77c63d,#5aa7e23d)}@media(max-width:1280px){.app-shell{grid-template-columns:260px 1fr}.app-shell.auth-only{grid-template-columns:minmax(320px,560px)}}@media(max-width:960px){:root{--mobile-viewport-max-height: 100vh;--mobile-bottom-clearance: 12px}@supports (height: 100svh){:root{--mobile-viewport-max-height: 100svh}}html{font-size:14px}.mobile-app-header{position:fixed;top:0;left:0;right:0;z-index:14;display:flex;align-items:center;border-bottom:1px solid var(--line);background:var(--surface-header);height:calc(var(--mobile-header-height) + env(safe-area-inset-top,0px));padding:calc(env(safe-area-inset-top,0px) + var(--space-2)) var(--space-4) var(--space-2);justify-content:space-between}.mobile-app-header .server-title h1{font-size:1.08rem}.mobile-app-header .app-logo{width:30px;height:30px;border-radius:8px}.mobile-header-actions{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-2)}.mobile-header-settings-button{min-width:34px;min-height:34px;padding:0;display:inline-flex;align-items:center;justify-content:center;font-size:1rem;line-height:1}.mobile-header-settings-icon{width:20px;height:20px;display:block}.app-shell{grid-template-columns:1fr;min-height:calc(var(--mobile-viewport-max-height) - var(--mobile-nav-height) - env(safe-area-inset-bottom,0px) - var(--mobile-bottom-clearance));height:calc(var(--mobile-viewport-max-height) - var(--mobile-nav-height) - env(safe-area-inset-bottom,0px) - var(--mobile-bottom-clearance))}.app-shell.mobile-layout.auth-only{margin-bottom:0;min-height:var(--mobile-viewport-max-height);height:var(--mobile-viewport-max-height)}.app-shell.mobile-layout.auth-only .channel-rail.auth-only-pane{min-height:100%;height:100%}.app-shell.mobile-session{position:fixed;left:0;right:0;top:calc(var(--mobile-header-height) + env(safe-area-inset-top,0px));bottom:0;min-height:0;height:auto;max-height:none;display:block;overflow:hidden}.app-shell.mobile-layout.mobile-session{margin-bottom:0}.app-shell.mobile-session .pane-host.mobile-pane-viewport{display:block;position:relative;width:100%;max-width:100vw;height:100%;min-height:0;overflow:hidden;touch-action:pan-y}.app-shell.mobile-session .rail-scroll,.app-shell.mobile-session .chat-header,.app-shell.mobile-session .message-viewport,.app-shell.mobile-session .search-dialog.pane,.app-shell.mobile-session .search-dialog-body,.app-shell.mobile-session .search-results{touch-action:pan-y}.app-shell.mobile-session .rail-scroll,.app-shell.mobile-session .message-viewport,.app-shell.mobile-session .search-dialog-body,.app-shell.mobile-session .search-results{overscroll-behavior-x:contain}.app-shell.mobile-session .pane-track.mobile-pane-track{display:flex;width:100%;min-width:100%;height:100%;min-height:0;will-change:transform;transition:transform .32s cubic-bezier(.22,1,.36,1)}.app-shell.mobile-session .pane-track.mobile-pane-track.swiping{transition:none}.app-shell.mobile-session .mobile-pane{flex:0 0 100%;width:100%;min-width:100%;max-width:100%}.app-shell:not(.auth-only){padding-bottom:calc(var(--mobile-nav-height) + env(safe-area-inset-bottom,0px))}.channel-rail,.chat-pane{border:0;min-height:calc(var(--mobile-viewport-max-height) - var(--mobile-nav-height) - env(safe-area-inset-bottom,0px) - var(--mobile-bottom-clearance));height:calc(var(--mobile-viewport-max-height) - var(--mobile-nav-height) - env(safe-area-inset-bottom,0px) - var(--mobile-bottom-clearance))}.app-shell.mobile-session .channel-rail,.app-shell.mobile-session .chat-pane{min-height:100%;height:100%}.app-shell.mobile-session .channel-rail{grid-template-rows:1fr auto}.server-header,.rail-scroll,.chat-header,.message-viewport,.composer{padding-left:var(--space-4);padding-right:var(--space-4)}.server-header{min-height:72px;padding-top:var(--space-3);padding-bottom:var(--space-2)}.server-title h1{font-size:1.14rem}.app-logo{width:30px;height:30px;border-radius:8px}.rail-scroll{padding-top:var(--space-2);padding-bottom:var(--space-4);gap:var(--space-3)}.user-footer{position:static;padding-top:var(--space-3);padding-bottom:calc(var(--space-3) + env(safe-area-inset-bottom,0px))}.chat-header{grid-template-columns:1fr;gap:var(--space-3);align-items:start;padding-top:var(--space-3);padding-bottom:var(--space-3)}.chat-header.has-album-selection{grid-template-columns:max-content minmax(0,1fr) auto;grid-template-areas:"title description actions";align-items:center;column-gap:var(--space-2)}.chat-header.has-album-selection .chat-title{display:contents}.chat-header.has-album-selection .chat-title-row{grid-area:title;min-width:0}.chat-header.has-album-selection h2{min-width:0;max-width:min(46vw,360px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-header.has-album-selection .chat-channel-title{max-width:100%}.chat-header.has-album-selection .chat-channel-title .channel-inline-label-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1 1 auto}.chat-header.has-album-selection .channel-topic{grid-area:description;min-width:0;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;align-self:center}.chat-channel-key-badge{display:none}.chat-title-row{align-items:center;gap:var(--space-2)}.chat-meta{justify-items:start;width:100%;gap:var(--space-2)}.chat-actions,.header-status{justify-content:flex-start;width:100%}.chat-header.has-album-selection .chat-actions{grid-area:actions;justify-content:flex-end;width:auto;align-self:center;justify-self:end}.mode-banner{margin:var(--space-2) var(--space-4) 0}.search-overlay.overlay,.user-card-overlay{padding:12px}.user-card{width:min(680px,calc(100vw - 24px));max-height:calc(var(--mobile-viewport-max-height) - 24px)}.search-dialog.overlay{width:min(980px,calc(100vw - 24px));min-height:min(480px,calc(var(--mobile-viewport-max-height) - 24px));max-height:calc(var(--mobile-viewport-max-height) - 24px)}.search-dialog-body{padding:var(--space-3)}.attachment-action-error{margin-left:var(--space-4);margin-right:var(--space-4)}.search-controls{grid-template-columns:1fr 1fr}.search-results-lane{min-height:180px}.search-row{grid-template-columns:minmax(0,1fr) auto}.search-row>button[type=submit]{width:auto;justify-self:end}.message-viewport{padding-top:var(--space-2);padding-bottom:var(--space-2)}.message-author{font-size:.9rem}.message-list{gap:4px}.message-item{gap:6px;padding:6px var(--space-2)}.message-item.message-item-album{grid-template-columns:66px max-content;gap:8px;padding:4px 6px}.message-item.message-item-album.message-item-album-with-reactions{grid-template-columns:66px max-content max-content}.message-item.message-item-album .message-content{max-width:min(88vw,760px)}.message-item.message-item-album .avatar-btn{width:40px;height:40px;min-height:40px}.message-head-meta-album .message-author-btn h3,.message-head-meta-album .message-author{font-size:.62rem!important}.message-head-meta-album .message-time{font-size:.58rem}.message-attachments.message-attachments-album-image-grid{gap:6px}.message-attachments.message-attachments-album-image-grid .attachment-card-image{width:100%;max-width:none;flex-basis:auto}.message-head,.message-head-meta{gap:6px}.message-body{margin-top:2px;gap:1px;font-size:.92rem;line-height:1.45}.message-attachments{margin-top:6px;gap:6px}.channel-tab{min-height:40px;font-size:.84rem}.chat-header h2{font-size:1.02rem}.message-actions{margin-top:4px;width:100%}.reaction-picker{position:absolute;top:auto;left:auto;right:0;bottom:calc(100% + 8px);z-index:40;width:min(440px,calc(100vw - 32px));max-width:calc(100vw - 32px);max-height:min(62svh,calc(var(--mobile-viewport-max-height) - var(--mobile-header-height) - var(--mobile-nav-height) - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px) - 20px));border-radius:12px}.reaction-picker.floating{position:fixed;top:auto;right:auto;bottom:auto;left:auto;z-index:70}.profile-status-picker.reaction-picker{position:static;left:auto;right:auto;bottom:auto;width:100%;max-height:300px}.reaction-picker-grid{grid-template-columns:repeat(auto-fill,minmax(42px,1fr));max-height:none}.reaction-picker-grid.history{grid-template-columns:repeat(auto-fill,minmax(42px,1fr));max-height:96px}.message-owner-actions{opacity:1;pointer-events:auto}.composer{padding-top:var(--space-3);padding-bottom:calc(var(--space-3) + env(safe-area-inset-bottom,0px))}.composer-shell{align-items:end}.composer-input-wrap{min-height:36px;height:36px}.composer-input-preview,.composer textarea{min-height:36px;height:auto;max-height:180px;padding:7px 0;align-content:center}.search-overlay.inline{top:calc(var(--mobile-header-height) + env(safe-area-inset-top,0px));bottom:auto;left:0;right:0;z-index:11;padding:0;height:calc(var(--mobile-viewport-max-height) - var(--mobile-header-height) - var(--mobile-nav-height) - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px) - var(--mobile-bottom-clearance));max-height:calc(var(--mobile-viewport-max-height) - var(--mobile-header-height) - var(--mobile-nav-height) - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px) - var(--mobile-bottom-clearance));background:transparent;place-items:unset}.search-overlay.inline.open{display:block}.search-dialog.inline{width:100%;min-height:100%;max-height:100%;border-radius:0;border:0;box-shadow:none}.search-dialog-head,.settings-dialog-head{min-height:calc((var(--space-2) * 2) + 28px);padding-top:var(--space-2);padding-bottom:var(--space-2);padding-left:var(--space-4);padding-right:var(--space-4);align-items:center}.app-shell.mobile-session .search-overlay.pane{position:relative;inset:auto;display:block;height:100%;background:var(--bg-pane);z-index:0;padding:0}.app-shell.mobile-session .search-dialog.pane{width:100%;height:100%;min-height:100%;max-height:100%;border-radius:0;border:0;box-shadow:none}.mobile-pane-nav{position:fixed;left:0;right:0;bottom:0;z-index:12;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-2);padding:var(--space-2) var(--space-3) calc(var(--space-2) + env(safe-area-inset-bottom,0px));border-top:1px solid #2e3342;background:#10131ceb;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.settings-overlay.inline{top:calc(var(--mobile-header-height) + env(safe-area-inset-top,0px));bottom:auto;left:0;right:0;z-index:11;padding:0;height:calc(var(--mobile-viewport-max-height) - var(--mobile-header-height) - var(--mobile-nav-height) - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px) - var(--mobile-bottom-clearance));max-height:calc(var(--mobile-viewport-max-height) - var(--mobile-header-height) - var(--mobile-nav-height) - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px) - var(--mobile-bottom-clearance));background:transparent;place-items:unset}.settings-overlay.inline.open{display:block}.settings-dialog:not(.inline){width:min(680px,calc(100vw - 24px));height:calc(var(--mobile-viewport-max-height) - var(--mobile-nav-height) - env(safe-area-inset-bottom,0px) - var(--mobile-bottom-clearance));max-height:calc(var(--mobile-viewport-max-height) - var(--mobile-nav-height) - env(safe-area-inset-bottom,0px) - var(--mobile-bottom-clearance));border-radius:16px;border:1px solid var(--line-strong)}.settings-overlay.inline .settings-dialog{width:100%;height:100%;max-height:100%;border-radius:0;border:0;box-shadow:none}.avatar-crop-overlay{padding:10px}.avatar-crop-dialog{width:min(100%,calc(100vw - 20px));max-height:calc(var(--mobile-viewport-max-height) - 20px);padding:var(--space-3)}.avatar-crop-grid{grid-template-columns:1fr}.avatar-crop-stage{width:min(100%,320px)}.avatar-crop-side{grid-template-columns:auto 1fr;align-items:center}.avatar-crop-preview{width:92px;height:92px}.avatar-crop-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.share-target-overlay{padding:10px}.share-target-dialog{width:min(100%,calc(100vw - 20px));max-height:calc(var(--mobile-viewport-max-height) - 20px);padding:var(--space-3)}.share-target-body-input{min-height:120px;max-height:42vh}.app-shell.mobile-session:not(.auth-only){padding-bottom:0}.settings-dialog-body{grid-template-columns:1fr;grid-template-rows:auto 1fr}.settings-folder-nav{border-right:0;border-bottom:1px solid var(--line);grid-template-columns:repeat(auto-fit,minmax(110px,1fr));display:grid;align-content:stretch}.settings-folder{text-align:center;justify-content:center}.settings-notifications-group .server-table-wrap{width:100%;margin-left:auto;margin-right:auto}.settings-notification-table{min-width:100%;table-layout:fixed}.settings-notification-table th,.settings-notification-table td{padding:6px 4px;font-size:.68rem;text-align:center}.settings-notification-table th{white-space:normal;line-height:1.2}.settings-notification-table th:first-child,.settings-notification-table td:first-child{width:40%;text-align:center}.settings-notification-table .settings-notification-tree-entry{width:100%;justify-content:center}.settings-notification-table .settings-notification-tree-channel{padding-left:0}.settings-notification-table .settings-notification-tree-channel:before{display:none}.settings-notification-table .settings-notification-toggle input[type=checkbox]{width:14px;min-height:14px;height:14px}.settings-pwa-install-guide .inline-actions,.settings-pwa-install-guide .inline-actions button{width:100%}.avatar-preset-block,.settings-channel-edit-layout,.server-settings-stack,.server-bot-manage-layout{grid-template-columns:1fr}.attachment-card-file{width:100%;max-width:100%;flex-basis:100%}.attachment-card-file.attachment-card-file-compact{width:min(100%,240px);max-width:240px;flex-basis:min(100%,240px)}.attachment-card-image{width:calc((100% - (var(--space-2) * 2)) / 3);max-width:140px;flex-basis:calc((100% - (var(--space-2) * 2)) / 3)}.composer-attachment-list{grid-template-columns:repeat(auto-fill,minmax(88px,1fr))}.composer-attachment-chip{min-height:82px}.attachment-action-dialog{width:min(100%,calc(100vw - 16px));max-height:calc(var(--mobile-viewport-max-height) - 16px);padding:var(--space-3)}.attachment-action-overlay.mobile-album-image{padding:0}.attachment-action-dialog.mobile-album-image{width:100vw;max-width:100vw;max-height:var(--mobile-viewport-max-height);border-radius:0;border-left:0;border-right:0;padding-left:var(--space-2);padding-right:var(--space-2)}.attachment-action-preview-shell.mobile-album-image{touch-action:pan-y}.attachment-action-dialog.mobile-album-image .attachment-action-preview{border-left:0;border-right:0;border-radius:0;margin-left:calc(var(--space-2) * -1);margin-right:calc(var(--space-2) * -1)}.attachment-action-buttons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2)}.attachment-selection-actions,.composer-selection-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.attachment-action-buttons button,.attachment-selection-actions button,.composer-selection-actions button{width:100%}}@media(max-width:720px){.message-viewport{overflow-x:hidden}.message-item.message-item-album{grid-template-columns:56px minmax(0,1fr);justify-content:stretch;gap:6px;padding:4px 6px}.message-item.message-item-album.message-item-album-with-reactions{grid-template-columns:56px minmax(0,1fr) auto}.message-item.message-item-album .message-content{width:100%;min-width:0;max-width:100%}.message-leading-album{justify-content:flex-start;align-items:flex-start}.message-leading-main-album{width:100%}.message-item.message-item-album .message-body{min-width:0}.message-item.message-item-album .message-attachments{width:100%;max-width:100%}.message-attachments.message-attachments-album-image-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%}.message-attachments.message-attachments-album-image-grid .attachment-card-image{width:100%;max-width:none;min-width:0;flex:none}.message-attachments.message-attachments-album-image-grid .attachment-card-image:only-child{grid-column:1 / span 2}.message-reaction-column{min-width:0;justify-content:flex-end}.message-actions.message-actions-album{width:100%;align-items:flex-end}.message-actions.message-actions-album .reaction-history-anchor{width:100%;justify-content:flex-end}.message-actions.message-actions-album .reaction-list{align-items:flex-end}}@media(prefers-reduced-motion:reduce){.app-shell{animation:none}.message-item{transition:none}.message-edit-panel,.reaction-picker{animation:none}}
