:root{--bg-0:#17181c;--bg-1:#1f2126;--bg-2:#282b32;--bg-3:#33373f;--bg-rail:var(--bg-0);--line:#3a3e47;--text:#e6e7ea;--text-strong:#f3f4f6;--muted:#9a9ea8;--text-faint:#888c96;--danger:#e0716a;--ok:#4caf8a;--warn:#d9a441;--on-accent:#fff;--on-warn:#17181c;--auth-glow:#232a3a;--chart-1:#5b8def;--chart-2:#d95926;--chart-3:#9085e9;--chart-4:#d55181;--accent-blue:#5b8def;--accent-blue-strong:#3f74e0;--accent-teal:#25a195;--accent-teal-strong:#1f877d;--accent-green:#52a157;--accent-green-strong:#458749;--accent-orange:#d87722;--accent-orange-strong:#b5641c;--accent-pink:#e0679f;--accent-pink-strong:#d73a82;--accent-purple:#a07ee6;--accent-purple-strong:#895fe0;--accent:var(--accent-blue);--accent-strong:var(--accent-blue-strong);--accent-text:var(--accent);--tint-faint:8%;--tint-soft:16%;--tint-medium:25%;--tint-line:40%;--accent-faint:color-mix(in srgb, var(--accent) var(--tint-faint), transparent);--accent-soft:color-mix(in srgb, var(--accent) var(--tint-soft), transparent);--accent-medium:color-mix(in srgb, var(--accent) var(--tint-medium), transparent);--accent-line:color-mix(in srgb, var(--accent) var(--tint-line), transparent);--warn-faint:color-mix(in srgb, var(--warn) var(--tint-faint), transparent);--warn-soft:color-mix(in srgb, var(--warn) var(--tint-soft), transparent);--warn-medium:color-mix(in srgb, var(--warn) var(--tint-medium), transparent);--warn-line:color-mix(in srgb, var(--warn) var(--tint-line), transparent);--danger-soft:color-mix(in srgb, var(--danger) var(--tint-soft), transparent);--ok-soft:color-mix(in srgb, var(--ok) var(--tint-soft), transparent);--message-hover:#0000001f;--hover-filter:brightness(1.15);--active-filter:brightness(.92);--focus:2px solid var(--accent);--selected-bg:var(--accent-medium);--selected-text:var(--text);--selected-ring:transparent;--composer-bg:var(--bg-3);--composer-line:transparent;--column-edge:transparent;--overlay:#0009;--overlay-soft:#00000073;--overlay-strong:#000000d9;--shadow-1:0 8px 24px #0006;--shadow-2:0 20px 60px #00000080;--shadow-up:0 -8px 24px #0006;--shadow-side:0 0 24px #00000080;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--radius-sm:6px;--radius-md:8px;--radius-lg:12px;--radius:var(--radius-md);--font-2xs:calc(11rem / 15);--font-xs:calc(12rem / 15);--font-sm:calc(13rem / 15);--font-md:calc(14rem / 15);--font-base:1rem;--font-lg:calc(16rem / 15);--font-xl:calc(17rem / 15);--font-2xl:calc(20rem / 15);--font-3xl:calc(22rem / 15);--message-pad-y:1px;--message-head-gap:var(--space-3);--message-line:calc(22rem / 15);--rail-width:64px;--sidebar-width:240px;--members-width:220px;--panel-width:340px;color:var(--text);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-family:-apple-system,Segoe UI,PingFang SC,Microsoft YaHei,Noto Sans SC,sans-serif;font-size:15px}:root[data-theme=light]{--bg-0:#eceef1;--bg-1:#fff;--bg-2:#f6f7f9;--bg-3:#e2e5ea;--bg-rail:#dde1e8;--line:#ccd2db;--text:#1d2026;--text-strong:#0d0f12;--muted:#596070;--text-faint:#687080;--danger:#b62318;--ok:#176b49;--warn:#845400;--on-warn:#fff;--auth-glow:#d6e2fa;--chart-1:#3d78ec;--chart-2:#c14f22;--chart-3:#7b6ee5;--chart-4:#cf3a70;--accent-blue:#3067d5;--accent-blue-strong:#1454d2;--accent-teal:#2c7870;--accent-teal-strong:#186961;--accent-green:#447847;--accent-green-strong:#356939;--accent-orange:#b54c29;--accent-orange-strong:#a8380a;--accent-pink:#b74272;--accent-pink-strong:#ae2464;--accent-purple:#7752db;--accent-purple-strong:#6d39d9;--accent-text:var(--accent-strong);--tint-faint:5%;--tint-soft:10%;--tint-medium:14%;--tint-line:30%;--message-hover:#1018280a;--hover-filter:brightness(.95);--active-filter:brightness(.88);--selected-bg:var(--accent-soft);--selected-text:var(--accent-text);--selected-ring:var(--accent);--composer-bg:#eef1f5;--composer-line:#b9c1cc;--column-edge:var(--line);--overlay:#10141c73;--overlay-soft:#10141c4d;--shadow-1:0 8px 24px #10182824;--shadow-2:0 20px 60px #10182833;--shadow-up:0 -8px 24px #1018281f;--shadow-side:0 0 24px #1018282e;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:light){:root[data-theme=system]{--bg-0:#eceef1;--bg-1:#fff;--bg-2:#f6f7f9;--bg-3:#e2e5ea;--bg-rail:#dde1e8;--line:#ccd2db;--text:#1d2026;--text-strong:#0d0f12;--muted:#596070;--text-faint:#687080;--danger:#b62318;--ok:#176b49;--warn:#845400;--on-warn:#fff;--auth-glow:#d6e2fa;--chart-1:#3d78ec;--chart-2:#c14f22;--chart-3:#7b6ee5;--chart-4:#cf3a70;--accent-blue:#3067d5;--accent-blue-strong:#1454d2;--accent-teal:#2c7870;--accent-teal-strong:#186961;--accent-green:#447847;--accent-green-strong:#356939;--accent-orange:#b54c29;--accent-orange-strong:#a8380a;--accent-pink:#b74272;--accent-pink-strong:#ae2464;--accent-purple:#7752db;--accent-purple-strong:#6d39d9;--accent-text:var(--accent-strong);--tint-faint:5%;--tint-soft:10%;--tint-medium:14%;--tint-line:30%;--message-hover:#1018280a;--hover-filter:brightness(.95);--active-filter:brightness(.88);--selected-bg:var(--accent-soft);--selected-text:var(--accent-text);--selected-ring:var(--accent);--composer-bg:#eef1f5;--composer-line:#b9c1cc;--column-edge:var(--line);--overlay:#10141c73;--overlay-soft:#10141c4d;--shadow-1:0 8px 24px #10182824;--shadow-2:0 20px 60px #10182833;--shadow-up:0 -8px 24px #1018281f;--shadow-side:0 0 24px #1018282e;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}}[data-accent=blue]{--accent:var(--accent-blue);--accent-strong:var(--accent-blue-strong)}[data-accent=teal]{--accent:var(--accent-teal);--accent-strong:var(--accent-teal-strong)}[data-accent=green]{--accent:var(--accent-green);--accent-strong:var(--accent-green-strong)}[data-accent=orange]{--accent:var(--accent-orange);--accent-strong:var(--accent-orange-strong)}[data-accent=pink]{--accent:var(--accent-pink);--accent-strong:var(--accent-pink-strong)}[data-accent=purple]{--accent:var(--accent-purple);--accent-strong:var(--accent-purple-strong)}[data-accent]{--accent-faint:color-mix(in srgb, var(--accent) var(--tint-faint), transparent);--accent-soft:color-mix(in srgb, var(--accent) var(--tint-soft), transparent);--accent-medium:color-mix(in srgb, var(--accent) var(--tint-medium), transparent);--accent-line:color-mix(in srgb, var(--accent) var(--tint-line), transparent);--accent-text:var(--accent);--focus:2px solid var(--accent);accent-color:var(--accent)}:root[data-theme=light] [data-accent]{--accent-text:var(--accent-strong)}@media (prefers-color-scheme:light){:root[data-theme=system] [data-accent]{--accent-text:var(--accent-strong)}}:root[data-size=sm]{font-size:14px}:root[data-size=lg]{font-size:16px}[data-density=compact]{--message-pad-y:0px;--message-head-gap:var(--space-1)}[data-density=cozy]{--message-pad-y:1px;--message-head-gap:var(--space-3)}*{box-sizing:border-box}html,body,#app{height:100%;margin:0}body{background:var(--bg-0);accent-color:var(--accent);overflow:hidden}html,body{overscroll-behavior-y:none}a{color:var(--accent-text)}button,input,select,textarea{font:inherit;color:inherit}input,select,textarea{background:var(--bg-0);border:1px solid var(--line);border-radius:var(--radius-sm);padding:var(--space-2) 10px;outline:none}input:focus,select:focus,textarea:focus{border-color:var(--accent)}:focus-visible{outline:var(--focus);outline-offset:2px}input:not([type=checkbox],[type=radio],[type=range]):focus-visible,select:focus-visible,textarea:focus-visible{box-shadow:0 0 0 3px var(--accent-soft);outline:none}.composer-row textarea:focus-visible,.admin-search input:focus-visible,.home-search input:focus-visible,.search-box input:focus-visible{box-shadow:none}h1,h2,h3{margin:0;font-weight:600}code{font-family:ui-monospace,Cascadia Mono,Consolas,monospace}.button{background:var(--bg-3);border-radius:var(--radius-sm);padding:var(--space-2) 14px;cursor:pointer;white-space:nowrap;border:none}.button:hover:not(:disabled){filter:var(--hover-filter)}.button:active:not(:disabled){filter:var(--active-filter)}.button:disabled{opacity:.5;cursor:default}.button.primary{background:var(--accent);color:var(--on-accent)}.button.danger{color:var(--danger);border:1px solid var(--danger);background:0 0}.button.danger:hover:not(:disabled){background:var(--danger-soft)}.button.small{padding:var(--space-1) 10px;font-size:var(--font-sm)}.button.block{width:100%}.icon-button{border-radius:var(--radius-sm);width:34px;height:34px;color:var(--muted);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;display:inline-flex}.icon-button:hover:not(:disabled){background:var(--bg-3);color:var(--text)}.icon-button:active:not(:disabled){filter:var(--active-filter)}.icon-button:disabled{opacity:.4;cursor:default}.icon-button.small{width:24px;height:24px}.icon-button.off{color:var(--danger)}.icon-button.danger:hover{background:var(--danger);color:var(--on-accent)}.icon-button.accent:not(:disabled){color:var(--accent)}.tag{background:var(--bg-3);color:var(--muted);font-size:var(--font-xs);border-radius:10px;padding:1px 7px;line-height:18px;display:inline-block}.tag.ok{background:var(--ok-soft);color:var(--ok)}.tag.warn{background:var(--warn-soft);color:var(--warn)}.tag.danger{background:var(--danger-soft);color:var(--danger)}.badge{background:var(--danger);min-width:18px;color:var(--on-accent);text-align:center;border-radius:9px;padding:0 5px;font-size:11px;font-weight:600;line-height:18px}.badge.mention{background:var(--warn);color:var(--on-warn)}.avatar{color:var(--on-accent);-webkit-user-select:none;user-select:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-weight:600;transition:box-shadow .1s;display:inline-flex;box-shadow:0 0 0 2px #0000}.avatar.speaking{box-shadow:0 0 0 2px var(--ok)}.tabs{gap:var(--space-1);border-bottom:1px solid var(--line);margin-bottom:18px;display:flex}.tabs button{padding:var(--space-2) var(--space-3);color:var(--muted);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000}.tabs button:hover{color:var(--text)}.tabs button.active{color:var(--text);border-bottom-color:var(--accent)}.form{gap:var(--space-4);flex-direction:column;display:flex}.field{flex-direction:column;gap:6px;display:flex}.field>span{font-size:var(--font-sm);color:var(--muted)}.field small{color:var(--muted);font-size:var(--font-xs)}.field.grow{flex:1}.check{align-items:center;gap:var(--space-2);cursor:pointer;display:flex}.form-error{color:var(--danger);font-size:var(--font-md);margin:0}.form-section+.form-section{border-top:1px solid var(--line);padding-top:18px}.inline-form{gap:var(--space-3);margin-bottom:var(--space-4);background:var(--bg-0);border-radius:var(--radius);flex-wrap:wrap;align-items:flex-end;padding:14px;display:flex}.empty{color:var(--muted);margin:var(--space-2) 0}.callout{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-3) 14px;background:var(--accent-soft);border:1px solid var(--accent);border-radius:var(--radius);margin-bottom:14px;display:flex}.callout p{margin:0}.table{border-collapse:collapse;width:100%;font-size:var(--font-md)}.table th,.table td{padding:var(--space-2) 10px;text-align:left;border-bottom:1px solid var(--line);vertical-align:middle}.table th{color:var(--muted);font-weight:500}.table tr.dim td{color:var(--muted)}.table-scroll{overflow-x:auto}.actions{white-space:nowrap;align-items:center;gap:6px;display:inline-flex}.invite-key{background:var(--bg-0);letter-spacing:.5px;border-radius:4px;padding:2px 6px}.splash{height:100%;color:var(--muted);justify-content:center;align-items:center;display:flex}.auth-page{height:100%;padding:var(--space-4);background:radial-gradient(circle at 30% 20%, var(--auth-glow), var(--bg-0) 60%);flex-direction:column;align-items:center;display:flex;overflow-y:auto}.auth-banner{width:100%;max-width:520px;padding:var(--space-3) 14px;background:var(--warn-soft);border:1px solid var(--warn);border-radius:var(--radius);flex-shrink:0;align-items:flex-start;gap:10px;line-height:1.5;display:flex}.auth-banner p{overflow-wrap:anywhere;margin:0}.auth-banner-icon{color:var(--warn);flex-shrink:0;margin-top:2px}.auth-card{width:100%;max-width:400px;padding:var(--space-6);background:var(--bg-1);border-radius:var(--radius-lg);box-shadow:var(--shadow-2);flex-direction:column;gap:14px;margin:auto;display:flex}.auth-card h1{font-size:var(--font-3xl);color:var(--text-strong);text-align:center}.auth-hint{text-align:center;color:var(--muted);font-size:var(--font-md);margin:-6px 0 6px}.layout{grid-template-columns:var(--rail-width) var(--sidebar-width) 1fr var(--members-width);height:100%;padding:env(safe-area-inset-top) env(safe-area-inset-right) 0 env(safe-area-inset-left);display:grid}.realm-rail{align-items:center;gap:var(--space-2);padding:var(--space-3) 0;background:var(--bg-rail);flex-direction:column;min-height:0;display:flex;overflow-y:auto}.realm-icon{width:44px;height:44px;color:var(--on-accent);cursor:pointer;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;background:0 0;border:none;border-radius:50%;flex-shrink:0;padding:0;font-size:18px;font-weight:600;transition:border-radius .15s;position:relative}.realm-icon:hover,.realm-icon.active{border-radius:14px}.realm-icon.active:before{content:"";background:var(--text);border-radius:2px;width:4px;height:28px;position:absolute;top:8px;left:-10px}.realm-icon.add{background:var(--bg-2);color:var(--ok);justify-content:center;align-items:center;display:flex}.realm-icon.add:hover{background:var(--ok);color:var(--on-accent)}.realm-badge{border:2px solid var(--bg-rail);position:absolute;bottom:-4px;right:-4px}.realm-patrol{border:2px solid var(--bg-rail);background:var(--warn);width:20px;height:20px;color:var(--on-warn);border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;top:-4px;right:-4px}.sidebar-empty{padding:var(--space-5) var(--space-3);color:var(--muted);text-align:center}.sidebar-empty p{margin:0 0 var(--space-3)}.hint{margin:var(--space-2) 0 var(--space-3);font-size:var(--font-sm);color:var(--muted)}.stack-form{gap:var(--space-3);flex-direction:column;display:flex}.member-cell{align-items:center;gap:var(--space-2);display:flex}.tag.accent{background:var(--accent-soft);color:var(--accent-text)}.danger-zone{border-color:var(--danger)}.sidebar{background:var(--bg-1);min-height:0;box-shadow:inset -1px 0 0 var(--column-edge);flex-direction:column;display:flex}.sidebar-header{align-items:center;gap:var(--space-2);height:52px;padding:0 var(--space-4);border-bottom:1px solid var(--line);font-weight:600;display:flex}.server-name{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.sidebar-scroll{padding:var(--space-2);flex:1;overflow-y:auto}.group{margin-bottom:14px}.group h3{padding:var(--space-2) var(--space-2) var(--space-1);font-size:var(--font-xs);color:var(--muted);text-transform:uppercase;letter-spacing:.4px}.row{align-items:center;gap:var(--space-2);padding:6px var(--space-2);border-radius:var(--radius-sm);color:var(--muted);cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;display:flex}.row:hover{background:var(--bg-2);color:var(--text)}.row.active{background:var(--bg-3);color:var(--text)}.row-icon{flex-shrink:0}.row-label{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.row-meta{font-size:var(--font-xs);color:var(--muted)}.row-action{visibility:hidden}.row:hover .row-action{visibility:visible}.voice-member{padding-left:var(--space-5)}.voice-member-row{align-items:center;gap:var(--space-2);padding:3px var(--space-2);border-radius:var(--radius-sm);color:var(--muted);font-size:var(--font-md);-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;display:flex}.voice-member-row.clickable{cursor:pointer}.voice-member-row.clickable:hover{background:var(--bg-2);color:var(--text)}.state-icon{color:var(--danger);flex-shrink:0}.volume-slider{align-items:center;gap:var(--space-2);padding:2px var(--space-2) 6px 38px;font-size:var(--font-xs);color:var(--muted);display:flex}.volume-slider input{background:0 0;border:none;flex:1;padding:0}.mixer{padding:10px var(--space-3);border-top:1px solid var(--line);background:var(--bg-0)}.mixer-status{align-items:center;gap:var(--space-2);margin-bottom:6px;display:flex}.mixer-status-text{font-size:var(--font-sm);flex-direction:column;flex:1;min-width:0;display:flex}.mixer-status-text strong.ok{color:var(--ok)}.mixer-status-text strong.pending{color:var(--warn)}.mixer-status-text span{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.mixer-notice{font-size:var(--font-xs);color:var(--warn);margin:0 0 6px}.mixer-hint{font-size:var(--font-xs);color:var(--muted);margin:0 0 6px}.mixer-buttons{gap:var(--space-1);display:flex}.user-bar{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--bg-0);display:flex}.user-bar-name{flex-direction:column;flex:1;min-width:0;line-height:1.2;display:flex}.user-bar-name strong{text-overflow:ellipsis;white-space:nowrap;font-size:var(--font-md);overflow:hidden}.user-bar-name span{text-overflow:ellipsis;white-space:nowrap;font-size:var(--font-xs);color:var(--muted);overflow:hidden}.user-bar-name .user-bar-role{font-style:normal}.user-bar-name .user-bar-role.staff{color:var(--warn)}.chat{background:var(--bg-2);flex-direction:column;min-width:0;min-height:0;display:flex;position:relative}.chat-empty{color:var(--muted);margin:auto}.chat-header{align-items:center;gap:var(--space-2);border-bottom:1px solid var(--line);height:52px;color:var(--muted);padding:0 18px;display:flex}.chat-header h2{font-size:var(--font-lg);color:var(--text)}.messages-wrap{flex-direction:column;flex:1;min-height:0;display:flex;position:relative}.messages{min-height:0;padding:var(--space-3) 0 var(--space-2);flex:1;overflow-y:auto}.messages-hint{margin:var(--space-2) 18px var(--space-4);color:var(--muted);font-size:var(--font-sm)}.day-divider{align-items:center;gap:var(--space-3);color:var(--muted);font-size:var(--font-xs);margin:14px 18px 6px;display:flex}.day-divider:before,.day-divider:after{content:"";border-top:1px solid var(--line);flex:1}.message{gap:var(--space-3);padding:var(--message-pad-y) 18px;-webkit-touch-callout:none;display:flex;position:relative}@media (pointer:coarse){.message{-webkit-user-select:none;user-select:none}}.message a,.message img{-webkit-touch-callout:default}.message.head{margin-top:var(--message-head-gap)}.message:hover{background:var(--message-hover)}.message.mentioned{background:var(--warn-faint);box-shadow:inset 3px 0 0 var(--warn)}.message.mentioned:hover{background:var(--warn-soft)}.message.highlight{animation:2s ease-out message-flash}@keyframes message-flash{0%,50%{background:var(--accent-medium)}to{background:0 0}}.message-gutter{flex-shrink:0;justify-content:center;width:38px;display:flex}.message-gutter time{visibility:hidden;font-size:var(--font-2xs);color:var(--muted);line-height:var(--message-line)}.message:hover .message-gutter time{visibility:visible}.message-body{flex:1;min-width:0}.message-meta{align-items:baseline;gap:var(--space-2);display:flex}.message-meta time{font-size:var(--font-xs);color:var(--muted)}.reply-ref{font-size:var(--font-xs);color:var(--muted);cursor:pointer;align-items:center;gap:6px;margin:0 64px 2px 0;display:flex}.reply-ref svg{flex-shrink:0}.reply-ref strong{color:var(--text);flex-shrink:0;font-weight:500}.reply-ref span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.reply-ref:hover span{color:var(--text)}.reply-ref.deleted{cursor:default}.reply-ref.deleted span{font-style:italic}.reply-ref.deleted:hover span{color:var(--muted)}.message-text{line-height:var(--message-line);white-space:pre-wrap;overflow-wrap:anywhere;margin:0}.message-text .quote{border-left:3px solid var(--muted);color:var(--muted);margin:2px 0;padding:0 0 0 10px}.mention{padding:0 var(--space-1);background:var(--accent-medium);color:var(--accent-text);cursor:pointer;border-radius:4px;font-weight:500}.mention:hover{background:var(--accent-line)}.mention.me,.mention.everyone{background:var(--warn-medium);color:var(--warn)}.mention.me:hover{background:var(--warn-line)}.mention.everyone{cursor:default}.message-actions{visibility:hidden;background:var(--bg-1);border-radius:var(--radius-sm);gap:2px;display:flex;position:absolute;top:0;right:18px}.message:hover .message-actions{visibility:visible}.edited{margin-left:var(--space-1);font-size:var(--font-xs);color:var(--muted)}.message-edit textarea{resize:none;background:var(--bg-1);width:100%}.message-edit-actions{margin-top:var(--space-1);justify-content:flex-end;align-items:center;gap:6px;display:flex}.message-edit-actions small{font-size:var(--font-xs);color:var(--muted);flex:1}.attachments{gap:var(--space-2);margin-top:var(--space-1);flex-wrap:wrap;display:flex}.attachment-image{border-radius:var(--radius-sm);cursor:zoom-in;background:var(--bg-0);max-width:360px;max-height:300px}.attachment-file{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--bg-1);border-radius:var(--radius-sm);color:var(--text);max-width:360px;text-decoration:none;display:inline-flex}.attachment-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.attachment-size{color:var(--muted);font-size:var(--font-xs);flex-shrink:0}.jump-latest{padding:6px var(--space-3);background:var(--accent);color:var(--on-accent);font-size:var(--font-sm);cursor:pointer;box-shadow:var(--shadow-1);border:none;border-radius:16px;align-items:center;gap:6px;display:inline-flex;position:absolute;bottom:12px;right:24px}.composer{padding:var(--space-2) var(--space-4) var(--space-4);position:relative}.mention-popup{z-index:2;background:var(--bg-1);border:1px solid var(--line);border-radius:var(--radius);width:min(360px,100% - 32px);box-shadow:var(--shadow-1);margin:0;padding:6px;list-style:none;position:absolute;bottom:calc(100% - 8px);left:16px}.mention-popup li{align-items:center;gap:var(--space-2);padding:6px var(--space-2);border-radius:var(--radius-sm);cursor:pointer;display:flex}.mention-popup li.active{background:var(--bg-3)}.mention-popup-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.mention-popup-meta{font-size:var(--font-xs);color:var(--muted);flex-shrink:0}.mention-popup-everyone{background:var(--warn-medium);width:22px;height:22px;color:var(--warn);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.mention-popup li.mention-popup-hint{margin-top:var(--space-1);padding:6px var(--space-2) 2px;border-top:1px solid var(--line);font-size:var(--font-2xs);color:var(--muted);cursor:default;border-radius:0}.reply-bar{background:var(--bg-1);border-radius:var(--radius-md);font-size:var(--font-sm);color:var(--muted);align-items:center;gap:6px;margin-bottom:6px;padding:6px 6px 6px 10px;display:flex}.reply-bar svg,.reply-bar .icon-button{flex-shrink:0}.reply-label{white-space:nowrap;flex-shrink:0}.reply-preview{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--text);flex:1;overflow:hidden}.pending-uploads{margin-bottom:var(--space-2);flex-wrap:wrap;gap:6px;display:flex}.pending-upload{padding:var(--space-1) 6px var(--space-1) 10px;background:var(--bg-1);border-radius:var(--radius-sm);font-size:var(--font-sm);align-items:center;gap:6px;display:inline-flex}.pending-upload em{color:var(--muted);font-style:normal;font-size:var(--font-xs)}.pending-upload.error{color:var(--danger)}.composer-row{background:var(--composer-bg);box-shadow:0 0 0 1px var(--composer-line);border-radius:10px;align-items:flex-end;gap:6px;padding:6px;display:flex}.composer-row textarea{resize:none;padding:var(--space-2) var(--space-1);max-height:200px;line-height:var(--message-line);background:0 0;border:none;flex:1}.drop-hint{background:var(--accent-medium);border:2px dashed var(--accent);pointer-events:none;justify-content:center;align-items:center;font-size:1.2rem;display:flex;position:absolute;inset:0}.lightbox{z-index:50;background:var(--overlay-strong);cursor:zoom-out;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.lightbox img{max-width:95%;max-height:95%}.members{padding:var(--space-2);background:var(--bg-1);min-height:0;box-shadow:inset 1px 0 0 var(--column-edge);overflow-y:auto}.members h3{padding:var(--space-3) var(--space-2) var(--space-1);font-size:var(--font-xs);color:var(--muted)}.member.offline,.member.offline .member-handle{color:var(--text-faint)}.member.offline .avatar{opacity:.5}.member.offline:hover{color:var(--text)}.member.offline:hover .member-handle{color:var(--muted)}.modal-backdrop{z-index:40;padding:var(--space-4);background:var(--overlay);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal{background:var(--bg-1);border-radius:var(--radius-lg);width:100%;max-width:520px;max-height:90vh;box-shadow:var(--shadow-2);flex-direction:column;display:flex}.modal.wide{max-width:960px}.modal-header{padding:var(--space-4) 20px;border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;display:flex}.modal-header h2{font-size:var(--font-xl);color:var(--text-strong)}.modal-body{padding:20px;overflow-y:auto}.mic-test{align-items:center;gap:var(--space-3);display:flex}.level-bar{background:var(--bg-0);border-radius:5px;flex:1;height:10px;overflow:hidden}.level-bar div{background:linear-gradient(90deg, var(--ok), var(--warn) 80%, var(--danger));height:100%;transition:width 50ms}.ptt-key{margin-top:var(--space-1);flex-direction:column;gap:6px;display:flex}.notify-volume{align-items:center;gap:var(--space-3);display:flex}.notify-volume input{background:0 0;border:none;flex:1;padding:0}.notify-volume span{min-width:40px;font-size:var(--font-sm);color:var(--muted)}.structure-group{margin-bottom:18px}.structure-group header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;margin-bottom:6px;padding:6px 0;display:flex}.structure-channel{align-items:center;gap:var(--space-2);padding:6px var(--space-1);color:var(--muted);display:flex}.structure-channel .grow{color:var(--text);flex:1;min-width:0}.structure-channel input,.structure-channel select{padding:5px var(--space-2)}.structure-channel .narrow{width:70px}.toasts{top:calc(16px + env(safe-area-inset-top));z-index:60;gap:var(--space-2);pointer-events:none;flex-direction:column;display:flex;position:fixed;left:50%;transform:translate(-50%)}.toast{padding:10px var(--space-4);border-radius:var(--radius-md);background:var(--bg-3);box-shadow:var(--shadow-1);font-size:var(--font-md)}.toast.error{background:var(--danger);color:var(--on-accent)}.context-menu{z-index:55;background:var(--bg-1);border:1px solid var(--line);border-radius:var(--radius);min-width:180px;max-width:280px;box-shadow:var(--shadow-1);-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;padding:6px;position:fixed}.context-menu:not(.placed){visibility:hidden}.context-menu button{width:100%;padding:var(--space-2) 10px;border-radius:var(--radius-sm);color:var(--text);font-size:var(--font-md);text-align:left;cursor:pointer;background:0 0;border:none;align-items:center;gap:10px;display:flex}.context-menu button:hover:not(:disabled),.context-menu button:focus-visible{background:var(--bg-3)}.context-menu button:disabled{opacity:.4;cursor:default}.context-menu button svg{color:var(--muted);flex-shrink:0}.context-menu button.danger{color:var(--danger)}.context-menu button.danger svg{color:inherit}.context-menu button.danger:hover:not(:disabled){background:var(--danger-soft)}.context-menu hr{margin:var(--space-1) 6px;border:0;border-top:1px solid var(--line)}.context-menu-backdrop{z-index:54;background:var(--overlay-soft);position:fixed;inset:0}.context-menu.sheet{max-width:none;padding:var(--space-2) calc(var(--space-2) + env(safe-area-inset-right)) calc(var(--space-2) + env(safe-area-inset-bottom)) calc(var(--space-2) + env(safe-area-inset-left));box-shadow:var(--shadow-up);border:none;border-radius:14px 14px 0 0;inset:auto 0 0}.context-menu.sheet button{min-height:44px;font-size:var(--font-base);padding:10px 14px}.drawer-left,.drawer-right{display:contents}.nav-toggle,.members-toggle,.voice-bar,.drawer-backdrop,.chat-header.empty{display:none}@media (width<=1024px){.layout{grid-template-columns:var(--rail-width) var(--sidebar-width) 1fr}.drawer-right{z-index:30;width:calc(var(--members-width) + env(safe-area-inset-right));padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) 0;background:var(--bg-1);box-shadow:var(--shadow-side);visibility:hidden;transition:transform .2s,visibility 0s linear .2s;display:block;position:fixed;top:0;bottom:0;right:0;transform:translate(100%)}.drawer-right.open{visibility:visible;transition:transform .2s,visibility;transform:none}.drawer-right .members{height:100%}.drawer-backdrop{z-index:29;background:var(--overlay-soft);display:block;position:fixed;inset:0}.members-toggle{display:inline-flex}.chat-header.empty{display:flex}.chat-header h2{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}}@media (width>=769px) and (width<=1024px){.realm-rail{padding-bottom:calc(var(--space-3) + env(safe-area-inset-bottom))}.user-bar{padding-bottom:calc(var(--space-2) + env(safe-area-inset-bottom))}}@media (width<=768px){.layout{grid-template-columns:1fr;height:100dvh}.drawer-left{z-index:30;width:min(calc(var(--rail-width) + var(--sidebar-width) + env(safe-area-inset-left)), 85vw);padding:env(safe-area-inset-top) 0 env(safe-area-inset-bottom) env(safe-area-inset-left);background:var(--bg-1);box-shadow:var(--shadow-side);visibility:hidden;transition:transform .2s,visibility 0s linear .2s;display:flex;position:fixed;top:0;bottom:0;left:0;transform:translate(-100%)}.drawer-left.open{visibility:visible;transition:transform .2s,visibility;transform:none}.drawer-left .realm-rail{width:var(--rail-width);flex-shrink:0}.drawer-left .sidebar{flex:1;min-width:0}.nav-toggle{display:inline-flex}.chat-header{padding:0 var(--space-2)}.voice-bar{padding:2px var(--space-2) 2px 14px;border-bottom:1px solid var(--line);background:var(--bg-1);font-size:var(--font-sm);flex-wrap:wrap;align-items:center;gap:2px;display:flex}.voice-bar-notice,.voice-bar-hint{margin:0 0 var(--space-1);font-size:var(--font-xs);overflow-wrap:anywhere;flex-basis:100%}.voice-bar-notice{color:var(--warn)}.voice-bar-hint{color:var(--muted)}.voice-bar-icon{flex-shrink:0;margin-right:6px}.voice-bar-icon.ok{color:var(--ok)}.voice-bar-icon.pending{color:var(--warn)}.voice-bar-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-weight:500;overflow:hidden}.voice-bar-state{color:var(--warn);font-size:var(--font-xs);flex-shrink:0;margin-right:6px}.message{padding:var(--message-pad-y) var(--space-3)}.message-actions{right:12px}.messages-hint,.day-divider{margin-left:var(--space-3);margin-right:var(--space-3)}.attachment-image{max-width:100%}.jump-latest{right:16px}.composer{padding-left:var(--space-3);padding-right:var(--space-3)}.mention-popup{width:calc(100% - 24px);left:12px}.tabs{overflow-x:auto}.tabs button{white-space:nowrap;flex-shrink:0}.table th,.table td{white-space:nowrap}.toast{max-width:calc(100vw - 32px)}}@media (width<=768px),(pointer:coarse){.icon-button{width:44px;height:44px}.icon-button.small{width:32px;height:32px}.row{min-height:44px;padding:var(--space-2) 10px}.voice-member-row{min-height:44px;padding:6px var(--space-2)}.mixer-buttons{gap:var(--space-2)}.composer{padding-top:var(--space-2);padding-bottom:calc(var(--space-2) + env(safe-area-inset-bottom))}.message-edit-actions .button{padding:7px 14px}input,select,textarea{font-size:16px}}@media (width<=768px),(height<=500px) and (pointer:coarse){.modal-backdrop{padding:0}.modal,.modal.wide{border-radius:0;max-width:none;height:100%;max-height:none}.modal-header{padding:var(--space-3) var(--space-4);padding:calc(var(--space-3) + env(safe-area-inset-top)) calc(var(--space-4) + env(safe-area-inset-right)) var(--space-3) calc(var(--space-4) + env(safe-area-inset-left))}.modal-body{padding:var(--space-4);padding:var(--space-4) calc(var(--space-4) + env(safe-area-inset-right)) calc(var(--space-4) + env(safe-area-inset-bottom)) calc(var(--space-4) + env(safe-area-inset-left))}}@media (hover:none){.row-action,.message-actions{display:none}.reply-ref{margin-right:0}}@media (prefers-reduced-motion:reduce){.drawer-left,.drawer-right,.drawer-left.open,.drawer-right.open{transition:none}}.member-handle{font-size:var(--font-xs);color:var(--muted);margin-left:6px;font-weight:400}.patrol-banner{align-items:center;gap:var(--space-2);border-bottom:1px solid var(--warn-line);background:var(--warn-soft);color:var(--warn);font-size:var(--font-sm);padding:6px 18px;display:flex}.patrol-banner-icon,.patrol-banner .button{flex-shrink:0}.patrol-banner-text{flex:1;min-width:0}.message-tombstone{line-height:var(--message-line);color:var(--muted);margin:0;font-style:italic}.message.outbox .reply-ref,.message.outbox .message-text,.message.outbox .attachments{opacity:.55}.message-outbox-clock{height:var(--message-line);color:var(--muted);align-items:center;display:flex}.message-outbox-state{align-self:center;align-items:center;gap:var(--space-1);font-size:var(--font-xs);color:var(--muted);display:inline-flex}.message-outbox-failed{font-size:var(--font-sm);color:var(--danger);flex-wrap:wrap;align-items:center;gap:2px 6px;margin-top:2px;line-height:20px;display:flex}.message-outbox-failed svg{flex-shrink:0}.message-outbox-reason{overflow-wrap:anywhere;min-width:0}.message-outbox-failed .link-button{margin-left:var(--space-1);font-size:var(--font-sm)}.ban-reason{resize:vertical}.dialog-actions{justify-content:flex-end;gap:var(--space-2);display:flex}.cell-clip{text-overflow:ellipsis;white-space:nowrap;vertical-align:bottom;max-width:240px;display:inline-block;overflow:hidden}.audit-table td{white-space:nowrap}.audit-table .cell-clip{max-width:180px}.audit-detail{text-overflow:ellipsis;white-space:nowrap;max-width:240px;font-size:var(--font-xs);color:var(--muted);display:block;overflow:hidden}.audit-staff{margin-left:6px}.load-more{margin-top:var(--space-3);justify-content:center;display:flex}@media (width<=768px){.patrol-banner{padding:6px var(--space-3)}}.admin-page{z-index:40;background:var(--bg-1);padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);flex-direction:column;display:flex;position:fixed;inset:0}.admin-header{height:52px;padding:0 var(--space-3) 0 20px;border-bottom:1px solid var(--line);flex-shrink:0;align-items:center;gap:10px;display:flex}.admin-header h2{font-size:var(--font-xl);color:var(--text-strong);white-space:nowrap}.admin-header-icon{color:var(--warn);flex-shrink:0}.admin-header-server{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--muted);font-size:var(--font-sm);flex:1;overflow:hidden}.admin-body{flex:1;min-height:0;display:flex}.admin-nav{width:184px;padding:var(--space-3) var(--space-2);background:var(--bg-0);border-right:1px solid var(--line);flex-direction:column;flex-shrink:0;gap:2px;display:flex;overflow-y:auto}.admin-nav button{padding:9px var(--space-3);border-radius:var(--radius-sm);color:var(--muted);font-size:var(--font-md);text-align:left;cursor:pointer;background:0 0;border:none;align-items:center;gap:10px;display:flex}.admin-nav button:hover{background:var(--bg-2);color:var(--text)}.admin-nav button.active{background:var(--bg-3);color:var(--text)}.admin-content{min-width:0;padding:20px var(--space-5) var(--space-6);flex:1;overflow-y:auto}.admin-toolbar{margin-bottom:var(--space-3);flex-wrap:wrap;align-items:flex-end;gap:10px;display:flex}.admin-search{align-items:center;gap:var(--space-2);background:var(--bg-0);border:1px solid var(--line);border-radius:var(--radius-sm);min-width:200px;max-width:360px;color:var(--muted);flex:1;padding:0 10px;display:flex}.admin-search:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.admin-search input{min-width:0;padding:var(--space-2) 0;background:0 0;border:none;flex:1}.admin-count{color:var(--muted);font-size:var(--font-sm);align-self:center;margin-left:auto}.admin-toolbar-end{margin-left:auto}.admin-count+.admin-toolbar-end{margin-left:0}.admin-filter select{min-width:150px}.admin-toolbar-inline{margin-bottom:6px}.admin-chip{background:var(--accent-soft);color:var(--accent-text);font-size:var(--font-sm);border-radius:14px;align-items:center;gap:2px;padding:0 2px 0 10px;display:inline-flex}.admin-chip .icon-button{color:inherit}.admin-sub{color:var(--muted);font-size:var(--font-xs);margin-top:2px;display:block}.admin-muted{color:var(--muted)}.admin-name{flex-direction:column;align-items:flex-start;line-height:1.3;display:flex}.admin-name>strong{font-weight:500}.admin-name>*+*{color:var(--muted);font-size:var(--font-xs)}.admin-you{border-radius:var(--radius-md);background:var(--bg-3);color:var(--muted);font-size:var(--font-2xs);vertical-align:1px;margin-left:6px;padding:0 6px;font-weight:400}.admin-table th,.admin-table td{padding:var(--space-2);white-space:nowrap}.admin-table td.admin-wrap{white-space:normal;overflow-wrap:anywhere;min-width:120px}.admin-time{white-space:normal}.admin-time>span{white-space:nowrap}.admin-table .button{align-items:center;gap:var(--space-1);display:inline-flex}.admin-table tr.dim .button:not(.danger){color:var(--text)}.button.locked{opacity:.5;cursor:not-allowed}.button.locked:hover{filter:none}.admin-key{white-space:nowrap;align-items:center;gap:2px;display:inline-flex}.admin-key code{margin-right:var(--space-1)}.admin-number{width:110px}.admin-choices{gap:var(--space-2) var(--space-4);flex-wrap:wrap;display:flex}.admin-perms{gap:var(--space-2) var(--space-4);grid-template-columns:repeat(auto-fill,minmax(200px,1fr));display:grid}.check.disabled{opacity:.45;cursor:default}.modal-backdrop.admin-dialog{z-index:45}.admin-dialog-actions{justify-content:flex-end;gap:var(--space-2);flex-wrap:wrap;display:flex}.admin-dialog-text{margin:0}.admin-secret-row{align-items:center;gap:var(--space-2);display:flex}.admin-secret{overflow-wrap:anywhere;-webkit-user-select:all;user-select:all;padding:6px 10px;font-size:1.2rem}.admin-link{color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;padding:0}.admin-link:hover{color:var(--accent-text);text-decoration:underline}.admin-staff-tag{margin-top:var(--space-1)}.admin-more{margin:14px 0 var(--space-1);justify-content:center;display:flex}.admin-section{max-width:560px}.admin-section h3{margin-bottom:var(--space-1);font-size:var(--font-base)}.admin-site>.admin-section+.admin-section{border-top:1px solid var(--line);margin-top:28px;padding-top:20px}.admin-textarea{resize:vertical;min-height:120px}.admin-setting>label{font-size:var(--font-sm);color:var(--muted)}.admin-setting-input{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.field small.form-error{color:var(--danger)}.admin-segment{border:1px solid var(--line);border-radius:var(--radius-sm);flex-shrink:0;display:inline-flex;overflow:hidden}.admin-segment button{background:var(--bg-0);color:var(--muted);cursor:pointer;border:none;padding:7px 14px}.admin-segment button+button{border-left:1px solid var(--line)}.admin-segment button.active{background:var(--bg-3);color:var(--selected-text);box-shadow:inset 0 0 0 1px var(--selected-ring)}.admin-toolbar-button{align-items:center;gap:6px;display:inline-flex}.admin-group-name{font-weight:500}.admin-builtin-tag{margin-left:6px}.admin-table td.admin-perms-cell{min-width:240px}.admin-perm-chips{gap:var(--space-1);flex-wrap:wrap;display:flex}.trash-channel{align-items:center;gap:6px;display:inline-flex}.trash-realm{padding:10px var(--space-3);background:var(--bg-0);border-radius:var(--radius);align-items:center;gap:10px;display:flex}.trash-realm-info{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.trash-realm-info strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.trash-realm-info span{color:var(--muted);font-size:var(--font-xs)}.trash-realm .tag{flex-shrink:0}@media (width<=768px){.admin-header{padding:0 var(--space-2) 0 14px}.admin-body{flex-direction:column}.admin-nav{width:auto;padding:6px var(--space-2);border-right:none;border-bottom:1px solid var(--line);scrollbar-width:none;flex-direction:row;overflow:auto hidden}.admin-nav::-webkit-scrollbar{display:none}.admin-nav button{padding:var(--space-2) var(--space-3);white-space:nowrap;flex-shrink:0}.admin-content{padding:14px var(--space-3) var(--space-5)}.admin-search{max-width:none}}.sidebar-inbox{padding:var(--space-1) var(--space-2);border-top:1px solid var(--line)}button.row{text-align:left;background:0 0;border:none;width:100%}.nav-toggle{position:relative}.nav-toggle-dot{background:var(--danger);width:9px;height:9px;box-shadow:0 0 0 2px var(--bg-2);border-radius:50%;position:absolute;top:7px;right:7px}.undo-toast{z-index:3;align-items:center;gap:var(--space-3);border-radius:var(--radius-md);background:var(--bg-3);max-width:calc(100% - 24px);box-shadow:var(--shadow-1);font-size:var(--font-md);white-space:nowrap;padding:6px 6px 6px 14px;display:flex;position:absolute;bottom:12px;left:50%;transform:translate(-50%)}.undo-toast.raised{bottom:56px}.undo-toast .button,.inbox-toolbar .button{align-items:center;gap:var(--space-1);display:inline-flex}.inbox-toolbar{justify-content:space-between;align-items:center;gap:var(--space-3);margin-bottom:var(--space-3);color:var(--muted);font-size:var(--font-sm);display:flex}.inbox-list{margin:0;padding:0;list-style:none}.inbox-item{gap:var(--space-3);padding:var(--space-3) 10px;border-radius:var(--radius);display:flex}.inbox-item+.inbox-item{margin-top:2px}.inbox-item.unread{background:var(--accent-faint);box-shadow:inset 3px 0 0 var(--accent)}.inbox-item.link{cursor:pointer}.inbox-item.link:hover,.inbox-item.link:focus-visible{background:var(--bg-2)}.inbox-icon{background:var(--bg-3);width:32px;height:32px;color:var(--muted);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.inbox-icon.accent{background:var(--accent-soft);color:var(--accent)}.inbox-icon.warn{background:var(--warn-soft);color:var(--warn)}.inbox-icon.danger{background:var(--danger-soft);color:var(--danger)}.inbox-main{flex:1;min-width:0}.inbox-head{align-items:baseline;gap:10px;display:flex}.inbox-title{overflow-wrap:anywhere;flex:1;min-width:0;font-weight:600;line-height:1.4}.inbox-time{font-size:var(--font-xs);color:var(--muted);white-space:nowrap;flex-shrink:0}.inbox-body{margin:var(--space-1) 0 0;font-size:var(--font-md);white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.5}.inbox-body.clamped{-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.inbox-meta{align-items:center;gap:var(--space-1) var(--space-3);margin-top:var(--space-1);font-size:var(--font-xs);color:var(--muted);flex-wrap:wrap;display:flex}.inbox-toggle{color:var(--accent-text);font-size:var(--font-xs);cursor:pointer;background:0 0;border:none;padding:0}@media (width<=768px),(pointer:coarse){.undo-toast .button{padding:7px 14px}}@media (width<=768px){.inbox-head{flex-direction:column;gap:0}.inbox-title{flex:none;width:100%}}.avatar img{object-fit:cover;pointer-events:none;border-radius:50%;width:100%;height:100%;display:block}.message-author{cursor:pointer}.message-meta strong.message-author:hover{text-decoration:underline}.chat-header-peer{align-items:center;gap:var(--space-2);max-width:100%;padding:var(--space-1) var(--space-2) var(--space-1) var(--space-1);border-radius:var(--radius-md);font-weight:inherit;cursor:pointer;background:0 0;border:none;display:flex}.chat-header-peer:hover{background:var(--bg-3)}.chat-header-peer-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.dialog-actions.wrap{flex-wrap:wrap}.dialog-actions.start{justify-content:flex-start}.dialog-actions .button{justify-content:center;align-items:center;gap:6px;display:inline-flex}.code-input{font-variant-numeric:tabular-nums;letter-spacing:3px}.email-code-sent{overflow-wrap:anywhere;margin:0}.account-email{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.account-email strong{overflow-wrap:anywhere;font-weight:500}.bio-input{resize:vertical;min-height:92px;line-height:1.5}.avatar-current{align-items:center;gap:var(--space-4);flex-wrap:wrap;display:flex}.avatar-buttons{gap:var(--space-2);flex-wrap:wrap;display:flex}.avatar-buttons .button{align-items:center;gap:6px;display:inline-flex}.avatar-cropper{align-items:center;gap:var(--space-3);flex-direction:column;display:flex}.avatar-crop-canvas{background:var(--bg-0);width:200px;max-width:100%;height:200px;box-shadow:0 0 0 3px var(--bg-3);cursor:grab;touch-action:none;border-radius:50%}.avatar-crop-canvas:active{cursor:grabbing}.avatar-crop-canvas:focus-visible{outline:var(--focus);outline-offset:4px}.avatar-zoom{align-items:center;gap:var(--space-2);width:240px;max-width:100%;color:var(--muted);display:flex}.avatar-zoom input{background:0 0;border:none;flex:1;min-width:0;padding:0}.avatar-cropper .dialog-actions{justify-content:center}.session-list{gap:var(--space-2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.session-item{align-items:center;gap:var(--space-3);padding:10px var(--space-3);background:var(--bg-0);border-radius:var(--radius);display:flex}.session-icon{background:var(--bg-3);width:36px;height:36px;color:var(--muted);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.session-icon.current{background:var(--ok-soft);color:var(--ok)}.session-main{flex:1;min-width:0}.session-name{align-items:center;gap:var(--space-2);display:flex}.session-name strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-weight:500;overflow:hidden}.session-name .tag{flex-shrink:0}.session-meta{gap:2px var(--space-3);font-size:var(--font-xs);color:var(--muted);flex-wrap:wrap;margin-top:2px;display:flex}.session-item .button{flex-shrink:0}.security-title{font-size:var(--font-base);align-items:center;gap:6px;display:flex}.security-status{margin:0;line-height:1.5}.passkey-actions{flex-shrink:0;gap:2px;display:flex}.passkey-rename{align-items:center;gap:var(--space-1);flex:1;min-width:0;display:flex}.passkey-rename input{flex:1;min-width:0}.admin-mfa-list{margin:6px 0 0;padding-left:20px;line-height:1.6}.modal-backdrop.bind-email-backdrop{z-index:48}.bind-email-logout{align-items:center;gap:6px;display:inline-flex}.bind-email-why{padding:var(--space-3) 14px;border:1px solid var(--warn-line);border-radius:var(--radius);background:var(--warn-soft);align-items:flex-start;gap:10px;display:flex}.bind-email-why svg{color:var(--warn);flex-shrink:0}.bind-email-why p{font-size:var(--font-md);margin:0;line-height:1.5}.profile-backdrop .modal{max-width:420px}.profile{flex-direction:column;gap:18px;display:flex}.profile-head{align-items:center;gap:var(--space-4);display:flex}.profile-names{align-items:flex-start;gap:var(--space-1);flex-direction:column;min-width:0;display:flex}.profile-name{font-size:var(--font-2xl);overflow-wrap:anywhere;line-height:1.3}.profile-handle{color:var(--muted);font-size:var(--font-md);overflow-wrap:anywhere}.profile-facts{gap:10px var(--space-4);grid-template-columns:auto 1fr;margin:0;display:grid}.profile-facts dt{color:var(--muted);font-size:var(--font-sm);white-space:nowrap;line-height:22px}.profile-facts dd{min-width:0;margin:0;line-height:22px}.profile-bio{white-space:pre-wrap;overflow-wrap:anywhere}.profile-none{color:var(--muted)}.profile-realms{flex-wrap:wrap;gap:6px;display:flex}.profile-realm{border-radius:var(--radius-lg);background:var(--bg-3);max-width:100%;color:var(--text);font-size:var(--font-sm);text-overflow:ellipsis;white-space:nowrap;cursor:pointer;border:none;padding:1px 10px;line-height:20px;overflow:hidden}.profile-realm:hover:not(:disabled){background:var(--accent);color:var(--on-accent)}.profile-realm:disabled{color:var(--muted);cursor:default}.auth-title{font-size:var(--font-xl);text-align:center}.auth-note{color:var(--muted);font-size:var(--font-md);margin:-4px 0 0;line-height:1.5}.auth-card input[readonly]{color:var(--muted)}.auth-links{justify-content:center;gap:var(--space-2) 20px;flex-wrap:wrap;display:flex}.link-button{color:var(--accent-text);font-size:var(--font-md);cursor:pointer;background:0 0;border:none;padding:0}.link-button:hover:not(:disabled){text-decoration:underline}.link-button:disabled{color:var(--muted);cursor:default}.form-notice{color:var(--ok);font-size:var(--font-md);margin:0}@media (width<=768px),(height<=500px) and (pointer:coarse){.profile-backdrop .modal{max-width:none}}@media (width<=768px),(pointer:coarse){.link-button{min-height:36px}}@media (width<=768px){.profile .dialog-actions .button{flex:1}}@media (width>=1025px){.layout.home{grid-template-columns:var(--rail-width) var(--sidebar-width) 1fr}.layout.home .drawer-right{display:none}}.realm-avatar{color:var(--on-accent);-webkit-user-select:none;user-select:none;border-radius:24%;flex-shrink:0;justify-content:center;align-items:center;font-weight:600;display:inline-flex;overflow:hidden}.realm-avatar.fill{border-radius:inherit;width:100%;height:100%;font-size:inherit}.realm-avatar img{object-fit:cover;pointer-events:none;width:100%;height:100%;display:block}.realm-icon.home{background:var(--bg-2);color:var(--accent);justify-content:center;align-items:center;display:flex}.realm-icon.home:hover,.realm-icon.home.active{background:var(--accent);color:var(--on-accent)}.realm-rail-divider{background:var(--line);border-radius:1px;flex-shrink:0;width:32px;height:2px}.avatar-crop-canvas.square{border-radius:24%}.home-view{min-height:0;padding:28px var(--space-6) 40px;flex:1;overflow-y:auto}.home-head{justify-content:space-between;align-items:flex-start;gap:var(--space-3) 20px;margin-bottom:var(--space-4);flex-wrap:wrap;display:flex}.home-heading{flex:1;min-width:240px}.home-heading h2{font-size:var(--font-3xl);color:var(--text-strong)}.home-hint{max-width:720px;color:var(--muted);font-size:var(--font-md);margin:6px 0 0;line-height:1.5}.home-new{flex-shrink:0;align-items:center;gap:6px;display:inline-flex}.home-welcome{margin:0 0 var(--space-4);line-height:1.5;display:block}.home-toolbar{align-items:center;gap:var(--space-2);margin-bottom:var(--space-4);display:flex}.home-search{align-items:center;gap:var(--space-2);background:var(--bg-0);border:1px solid var(--line);border-radius:var(--radius-sm);max-width:420px;color:var(--muted);flex:1;padding:0 10px;display:flex}.home-search:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.home-search input{min-width:0;padding:var(--space-2) 0;background:0 0;border:none;flex:1}.home-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px;margin:0;padding:0;list-style:none;display:grid}.home-card{min-width:0;padding:var(--space-4);background:var(--bg-1);border:1px solid var(--line);border-radius:var(--radius-lg);flex-direction:column;gap:10px;display:flex}.home-card-top{align-items:center;gap:var(--space-3);min-width:0;display:flex}.home-card-title{flex:1;min-width:0}.home-card-title h3{font-size:var(--font-lg);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.home-card-meta{align-items:center;gap:var(--space-1) 10px;margin-top:var(--space-1);color:var(--muted);font-size:var(--font-sm);flex-wrap:wrap;display:flex}.home-card-count{align-items:center;gap:var(--space-1);display:inline-flex}.home-card-count.full{color:var(--warn)}.home-card-desc{-webkit-line-clamp:3;line-clamp:3;font-size:var(--font-md);white-space:pre-wrap;overflow-wrap:anywhere;-webkit-box-orient:vertical;flex:1;margin:0;line-height:1.5;display:-webkit-box;overflow:hidden}.home-card-desc.none{color:var(--muted)}.home-card-actions{justify-content:flex-end;align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.home-card-actions .tag{align-items:center;gap:var(--space-1);margin-right:auto;display:inline-flex}.home-question{padding:10px var(--space-3);background:var(--bg-0);border-radius:var(--radius);white-space:pre-wrap;overflow-wrap:anywhere;margin:0;line-height:1.5}.home-message{resize:vertical;min-height:80px;line-height:1.5}@media (width<=768px){.home-view{padding:var(--space-4) var(--space-3) calc(var(--space-5) + env(safe-area-inset-bottom))}.home-grid{grid-template-columns:1fr}.home-search{max-width:none}.home-new{justify-content:center;width:100%}}.public-tab{flex-direction:column;gap:18px;display:flex}.check.option{align-items:flex-start}.check.option input{margin-top:3px}.public-option-hint,.option-hint{color:var(--muted);font-size:var(--font-xs);margin-top:2px;display:block}.public-status{margin-top:var(--space-3);padding:10px var(--space-3);background:var(--bg-0);border-radius:var(--radius);color:var(--muted);font-size:var(--font-sm);flex-wrap:wrap;align-items:center;gap:6px 10px;display:flex}.public-status .tag{flex-shrink:0}.public-status-text{flex:1;min-width:200px}.public-status-reason{color:var(--text);white-space:pre-wrap;overflow-wrap:anywhere;flex-basis:100%;margin:0}.public-number{width:120px}.realm-me{flex-direction:column;gap:18px;display:flex}.realm-me>.hint{margin:0}.realm-me input:not([type=radio]){width:100%;max-width:360px}.profile-nickname{overflow-wrap:anywhere}.application-list{gap:var(--space-2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.application-item{align-items:flex-start;gap:10px var(--space-3);padding:var(--space-3);background:var(--bg-0);border-radius:var(--radius);flex-wrap:wrap;display:flex}.application-main{flex:1;min-width:200px}.application-head{align-items:baseline;gap:var(--space-1) var(--space-2);flex-wrap:wrap;display:flex}.application-head strong{overflow-wrap:anywhere;font-weight:600}.application-head .member-handle{margin-left:0}.application-time{color:var(--muted);font-size:var(--font-xs);margin-left:auto}.application-message{font-size:var(--font-md);white-space:pre-wrap;overflow-wrap:anywhere;margin:6px 0 0;line-height:1.5}.application-message.none{color:var(--muted)}.application-result{align-items:center;gap:var(--space-1) var(--space-2);color:var(--muted);font-size:var(--font-xs);flex-wrap:wrap;margin:6px 0 0;display:flex}.application-reason{color:var(--text);white-space:pre-wrap;overflow-wrap:anywhere;flex-basis:100%}.application-actions{flex-shrink:0;gap:6px;display:flex}.listing-realm{align-items:center;gap:10px;display:flex}.admin-table td.admin-wrap.listing-text{white-space:pre-wrap;min-width:200px;max-width:360px}.admin-sub.listing-text{white-space:pre-wrap;overflow-wrap:anywhere}.inbox-icon.ok{background:var(--ok-soft);color:var(--ok)}.chat-header-tools{flex-shrink:0;align-items:center;margin-left:auto;display:flex}.chat-header-tools .icon-button.active{background:var(--bg-3);color:var(--text)}.icon-button.header-pins{width:auto;min-width:34px;padding:0 var(--space-2);gap:3px}.header-pins-count{font-size:var(--font-sm);font-weight:600}.date-jump{display:inline-flex;position:relative}.date-jump-input{opacity:0;pointer-events:none;border:0;width:1px;height:1px;padding:0;position:absolute;bottom:0;left:0}.message-pin{color:var(--warn);pointer-events:none;display:flex;position:absolute;top:4px;right:18px}.jump-latest-count{background:var(--on-accent);min-width:18px;color:var(--accent-strong);text-align:center;border-radius:9px;padding:0 5px;font-size:11px;font-weight:700;line-height:18px}@media (width>=1025px){.layout.paneled{grid-template-columns:var(--rail-width) var(--sidebar-width) 1fr var(--panel-width)}}.side-panel{background:var(--bg-1);min-width:0;min-height:0;box-shadow:inset 1px 0 0 var(--column-edge);flex-direction:column;display:flex}.side-panel-header{align-items:center;gap:var(--space-2);height:52px;padding:0 var(--space-2) 0 14px;border-bottom:1px solid var(--line);color:var(--muted);flex-shrink:0;display:flex}.side-panel-header h3{min-width:0;font-size:var(--font-base);color:var(--text);text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.side-panel-count{font-size:var(--font-xs);flex-shrink:0}.side-panel-body{min-height:0;padding:var(--space-2);flex:1;overflow-y:auto}.search-form{gap:var(--space-2);border-bottom:1px solid var(--line);flex-direction:column;flex-shrink:0;padding:10px;display:flex}.search-box{align-items:center;gap:var(--space-2);padding:0 var(--space-1) 0 10px;background:var(--bg-0);border:1px solid var(--line);border-radius:var(--radius-sm);color:var(--muted);display:flex}.search-box:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.search-box input{min-width:0;padding:var(--space-2) 0;background:0 0;border:none;flex:1}.search-box .button{flex-shrink:0}.search-filters{flex-wrap:wrap;gap:6px;display:flex}.search-chip{border:1px solid var(--line);background:var(--bg-2);max-width:100%;height:28px;color:var(--muted);font-size:var(--font-sm);white-space:nowrap;cursor:pointer;border-radius:14px;align-items:center;gap:5px;padding:0 10px;display:inline-flex}.search-chip.active{border-color:var(--accent);background:var(--accent-soft);color:var(--text)}.search-chip svg{flex-shrink:0}.search-chip span{text-overflow:ellipsis;overflow:hidden}.search-chip select{min-width:0;max-width:150px;font-size:var(--font-sm);text-overflow:ellipsis;cursor:pointer;background:0 0;border:none;padding:0}.search-segment{border:1px solid var(--line);border-radius:14px;max-width:100%;display:inline-flex;overflow:hidden}.search-segment button{background:var(--bg-2);min-width:0;height:26px;color:var(--muted);font-size:var(--font-sm);white-space:nowrap;cursor:pointer;border:none;align-items:center;gap:3px;padding:0 10px;display:inline-flex}.search-segment button span{text-overflow:ellipsis;max-width:110px;overflow:hidden}.search-segment button+button{border-left:1px solid var(--line)}.search-segment button.active{background:var(--selected-bg);color:var(--selected-text);box-shadow:inset 0 0 0 1px var(--selected-ring)}.search-dates{align-items:flex-end;gap:var(--space-2);flex-wrap:wrap;display:flex}.search-dates label{gap:var(--space-1);min-width:120px;color:var(--muted);font-size:var(--font-xs);flex-direction:column;flex:1;display:flex}.search-hint{font-size:var(--font-sm);line-height:1.5}.search-error{margin:var(--space-1) var(--space-1) var(--space-2)}.search-results,.pin-list{margin:0;padding:0;list-style:none}.search-hit,.pin-open{width:100%;min-width:0;padding:var(--space-2);border-radius:var(--radius);color:inherit;text-align:left;cursor:pointer;background:0 0;border:none;flex:1;gap:10px;display:flex}.search-hit:hover,.search-hit:focus-visible,.pin-open:hover,.pin-open:focus-visible{background:var(--bg-2)}.search-hit-main,.pin-main{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.search-hit-head,.pin-head{min-width:0;font-size:var(--font-sm);align-items:baseline;gap:6px;display:flex}.search-hit-head strong,.pin-head strong{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.search-hit-channel{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.search-hit-head time,.pin-head time{color:var(--muted);font-size:var(--font-2xs);flex-shrink:0;margin-left:auto}.search-hit-text,.pin-text{-webkit-line-clamp:3;line-clamp:3;font-size:var(--font-md);overflow-wrap:anywhere;-webkit-box-orient:vertical;line-height:1.45;display:-webkit-box;overflow:hidden}.pin-text{-webkit-line-clamp:4;line-clamp:4;white-space:pre-wrap}.search-hit-text mark{background:var(--warn-line);color:var(--text);border-radius:3px;padding:0 1px}.search-hit-files,.pin-files{color:var(--muted);font-size:var(--font-xs);align-items:center;gap:3px;display:inline-flex}.pin-meta{color:var(--muted);font-size:var(--font-xs)}.pin-item{align-items:flex-start;display:flex}.pin-remove{flex-shrink:0;margin:6px 2px 0 0}@media (width<=1024px){.drawer-right.paneled{width:min(calc(var(--panel-width) + env(safe-area-inset-right)), 100vw)}.drawer-right .side-panel{height:100%}}@media (width<=768px){.drawer-right.paneled{width:100%;padding-left:env(safe-area-inset-left);box-shadow:none}.chat-header-hash{display:none}.message-pin{right:12px}.side-panel-header{padding-left:var(--space-3)}}@media (width<=768px),(pointer:coarse){.search-chip{border-radius:22px;height:44px}.search-segment{border-radius:22px}.search-segment button{height:42px}.search-chip select{font-size:16px}.icon-button.header-pins{min-width:44px}}.home-notices{padding:14px var(--space-4) 6px;background:var(--bg-1);border:1px solid var(--line);border-radius:var(--radius-lg);margin-bottom:22px}.home-notices-head{justify-content:space-between;align-items:center;gap:var(--space-3);margin-bottom:var(--space-1);display:flex}.home-notices-head h3{font-size:var(--font-base);align-items:center;gap:6px;display:inline-flex}.home-notices-head h3 svg{color:var(--accent)}.home-notice-list{margin:0;padding:0;list-style:none}.home-notice{padding:10px 0}.home-notice+.home-notice{border-top:1px solid var(--line)}.home-notice-head{align-items:baseline;gap:10px;display:flex}.home-notice-title{overflow-wrap:anywhere;flex:1;min-width:0;font-weight:600;line-height:1.4}.home-notice-time{font-size:var(--font-xs);color:var(--muted);white-space:nowrap;flex-shrink:0}.home-notice-body{margin:var(--space-1) 0 0;font-size:var(--font-md);white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.5}.home-notice-body.clamped{-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.home-notice-meta{align-items:center;gap:var(--space-1) var(--space-3);margin-top:var(--space-1);font-size:var(--font-xs);color:var(--muted);flex-wrap:wrap;display:flex}.admin-callout{margin:0 0 var(--space-3);line-height:1.5;display:block}.admin-key-realm{align-items:center;gap:var(--space-2) var(--space-3);flex-wrap:wrap;flex:100%;display:flex}.admin-key-realm select{min-width:0;max-width:100%}.admin-key-realm .button{margin-left:auto}@media (width<=768px),(pointer:coarse){.admin-key-realm .check{min-height:44px}}@media (width<=768px){.admin-key-realm select{flex:100%}}.admin-site-name{flex:1;min-width:0;max-width:320px}@media (width<=768px),(pointer:coarse){.home-notices .inbox-toggle{min-height:32px}}@media (width<=768px){.home-notices{padding:var(--space-3) var(--space-3) var(--space-1)}.home-notice-head{flex-direction:column;gap:0}.home-notice-title{flex:none;width:100%}.admin-site-name{max-width:none}}.about-facts{gap:6px var(--space-4);grid-template-columns:max-content 1fr;margin:0;display:grid}.about-facts dt{color:var(--muted)}.about-facts dd{overflow-wrap:anywhere;margin:0}.about-release h3,.about-release h4{font-size:var(--font-md);margin:0 0 6px}.about-release h4 small{margin-left:var(--space-2);color:var(--muted);font-weight:400}.about-release ul{margin:0;padding-left:20px;line-height:1.6}.about-release+.about-release{margin-top:var(--space-3)}.about-history summary{cursor:pointer;color:var(--muted)}.about-history>.about-release{margin-top:var(--space-3)}.about-empty{color:var(--muted);margin:0}.settings-button{position:relative}.new-dot{background:var(--danger);border-radius:50%;width:8px;height:8px;position:absolute;top:6px;right:6px}.second-factor,.second-factor-step{flex-direction:column;gap:14px;display:flex}.second-factor-note{overflow-wrap:anywhere;margin:0}.second-factor .link-button,.step-up-backdrop .link-button{min-height:44px;padding:0 var(--space-1)}.passkey-button{justify-content:center;align-items:center;gap:var(--space-2);display:inline-flex}.auth-divider{align-items:center;gap:var(--space-3);color:var(--muted);font-size:var(--font-sm);display:flex}.auth-divider:before,.auth-divider:after{content:"";border-top:1px solid var(--line);flex:1}.modal-backdrop.step-up-backdrop{z-index:49}.step-up-backdrop .modal{max-width:420px}.step-up-why{padding:var(--space-3) 14px;border:1px solid var(--accent-line);border-radius:var(--radius);background:var(--accent-soft);align-items:flex-start;gap:10px;display:flex}.step-up-why svg{color:var(--accent);flex-shrink:0}.step-up-why p{font-size:var(--font-md);margin:0;line-height:1.5}@media (width<=768px),(height<=500px) and (pointer:coarse){.step-up-backdrop .modal{max-width:none}}.admin-storage{flex-direction:column;gap:22px;max-width:960px;display:flex}.storage-head{align-items:flex-start;gap:var(--space-3);display:flex}.storage-head .hint{flex:1;min-width:0;margin:0;line-height:1.5}.storage-cards{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;display:grid}.storage-card{gap:var(--space-1);min-width:0;padding:var(--space-3) 14px;background:var(--bg-0);border:1px solid var(--line);border-radius:var(--radius);flex-direction:column;display:flex}.storage-card h4{color:var(--muted);font-size:var(--font-sm);margin:0;font-weight:400}.storage-value{font-size:var(--font-2xl);overflow-wrap:anywhere;margin:0;font-weight:600;line-height:1.3}.storage-sub{color:var(--muted);font-size:var(--font-xs);margin:0;line-height:1.4}.storage-alert{color:var(--warn);font-size:var(--font-xs);align-items:flex-start;gap:6px;margin:2px 0 0;line-height:1.4;display:flex}.storage-alert svg{flex-shrink:0;margin-top:1px}.storage-meter{margin:6px 0 var(--space-1);position:relative}.storage-meter-track{background:var(--accent-soft);border-radius:4px;height:8px;overflow:hidden}.storage-meter-fill{background:var(--accent);border-radius:0 4px 4px 0;height:100%;display:block}.storage-meter.low .storage-meter-track{background:var(--warn-soft)}.storage-meter.low .storage-meter-fill{background:var(--warn)}.storage-meter-mark{background:var(--text);border-radius:1px;width:2px;margin-left:-1px;position:absolute;top:-3px;bottom:-3px}.storage-section h3{margin:0 0 var(--space-2);font-size:var(--font-base)}.storage-section .hint{line-height:1.5}.storage-bar{border-radius:4px;gap:2px;height:14px;display:flex;overflow:hidden}.storage-bar-segment{flex:0 1 0;min-width:4px}.storage-kind-image{background:var(--chart-1)}.storage-kind-file{background:var(--chart-2)}.storage-kind-avatar{background:var(--chart-3)}.storage-kind-realm-icon{background:var(--chart-4)}.storage-legend{gap:6px var(--space-5);grid-template-columns:repeat(auto-fill,minmax(220px,1fr));margin:10px 0 0;padding:0;list-style:none;display:grid}.storage-legend li{align-items:center;gap:var(--space-2);min-width:0;font-size:var(--font-sm);display:flex}.storage-swatch{border-radius:2px;flex-shrink:0;width:10px;height:10px}.storage-legend-value{min-width:0;color:var(--muted);overflow-wrap:anywhere}.storage-legend-share{color:var(--muted);font-variant-numeric:tabular-nums;margin-left:auto}.storage-top{max-width:640px}.admin-table .storage-num{text-align:right;font-variant-numeric:tabular-nums}.storage-limits{gap:6px var(--space-4);grid-template-columns:max-content 1fr;margin:0;display:grid}.storage-limits dt{color:var(--muted)}.storage-limits dd{margin:0}@media (width<=768px){.storage-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.storage-disk{grid-column:1/-1}.storage-legend{grid-template-columns:minmax(0,1fr)}}.inbox-tabs{margin-bottom:var(--space-3)}.inbox-tab{align-items:center;gap:6px;display:inline-flex}.inbox-hint{margin:-4px 0 10px;line-height:1.5}.inbox-group+.inbox-group{margin-top:10px}.inbox-group-head{align-items:center;gap:var(--space-2);width:100%;padding:6px var(--space-2);border-radius:var(--radius);background:var(--bg-2);color:var(--text);text-align:left;cursor:pointer;border:none;display:flex}.inbox-group-head:hover,.inbox-group-head:focus-visible{background:var(--bg-3)}.inbox-group-chevron{color:var(--muted);flex-shrink:0}.inbox-group-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-weight:600;overflow:hidden}.inbox-group-count{font-size:var(--font-xs);color:var(--muted);flex-shrink:0}.inbox-group .inbox-list{margin-top:var(--space-1)}.realm-notices{border-bottom:1px solid var(--line);background:var(--bg-1);flex-shrink:0}.realm-notices-bar{width:100%;min-height:36px;color:var(--text);font-size:var(--font-sm);text-align:left;cursor:pointer;background:0 0;border:none;align-items:center;gap:10px;padding:6px 18px;display:flex}.realm-notices-bar:hover,.realm-notices-bar:focus-visible{background:var(--bg-2)}.realm-notices-icon{color:var(--accent);flex-shrink:0}.realm-notices-main{align-items:center;gap:var(--space-2);flex:1;min-width:0;display:flex}.realm-notices-main .tag{flex-shrink:0}.realm-notices-title{text-overflow:ellipsis;white-space:nowrap;flex:0 auto;min-width:0;font-weight:600;overflow:hidden}.realm-notices-preview{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--muted);flex:1 1 0;overflow:hidden}.realm-notices-side{align-items:center;gap:var(--space-2);font-size:var(--font-xs);color:var(--muted);white-space:nowrap;flex-shrink:0;display:flex}.realm-notices-panel{max-height:min(50vh,420px);padding:0 18px var(--space-1);overscroll-behavior:contain;border-top:1px solid var(--line);overflow-y:auto}.realm-notice-site{vertical-align:1px;margin-right:6px;font-weight:400}.realm-announce-actions{align-items:center;gap:var(--space-2) 14px;flex-wrap:wrap;display:flex}.realm-announce-quota{font-size:var(--font-sm);color:var(--muted)}.realm-announce-quota.exhausted{color:var(--warn)}.realm-announce-recent{margin:var(--space-2) 0 0;font-size:var(--font-md)}.announce-scopes{flex-wrap:wrap;gap:6px 18px;display:flex}.announce-picks{max-height:240px;padding:var(--space-1) 10px;overscroll-behavior:contain;background:var(--bg-0);border:1px solid var(--line);border-radius:var(--radius-sm);flex-direction:column;display:flex;overflow-y:auto}.announce-pick{min-height:32px}.announce-pick-name{overflow-wrap:anywhere;flex:1;min-width:0}.announce-pick small{flex-shrink:0}.announce-picks .empty{margin:6px 0}@media (width<=768px),(pointer:coarse){.inbox-tabs button,.inbox-group-head,.realm-notices-bar,.announce-pick{min-height:44px}}@media (width<=768px){.realm-notices-bar{padding:6px var(--space-3)}.realm-notices-preview,.realm-notices:not(.expanded) .realm-notices-count{display:none}.realm-notices-panel{max-height:60vh;padding:0 var(--space-3) var(--space-1)}}button.row:focus-visible,.tabs button:focus-visible,.context-menu button:focus-visible,.admin-nav button:focus-visible,.admin-segment button:focus-visible,.search-segment button:focus-visible,.inbox-item.link:focus-visible,.inbox-group-head:focus-visible,.realm-notices-bar:focus-visible,.search-hit:focus-visible,.pin-open:focus-visible{outline-offset:-2px}.admin-segment button:hover:not(.active),.search-segment button:hover:not(.active),.search-chip:hover:not(.active){color:var(--text)}.switch{appearance:none;background:var(--bg-3);cursor:pointer;border:none;border-radius:10px;flex-shrink:0;width:36px;height:20px;margin:0;padding:0;transition:background-color .15s;position:relative}.switch:before{content:"";background:var(--muted);border-radius:50%;width:16px;height:16px;transition:transform .15s,background-color .15s;position:absolute;top:2px;left:2px}.switch:checked{background:var(--accent)}.switch:checked:before{background:var(--on-accent);transform:translate(16px)}.switch:disabled{opacity:.5;cursor:default}@media (prefers-reduced-motion:reduce){.switch,.switch:before{transition:none}}@media (width<=768px),(pointer:coarse){.button:not(.small),.tabs button,.admin-nav button,.admin-segment button,.context-menu button,.mention-popup li:not(.mention-popup-hint),.chat-header-peer,.attachment-file,.profile-realm,.check{min-height:44px}.profile-realm{border-radius:22px}.icon-button.small,.button.small,.link-button,.inbox-toggle,.admin-link{position:relative}.icon-button.small:after,.button.small:after,.link-button:after,.inbox-toggle:after,.admin-link:after{content:"";width:max(100%,44px);height:max(100%,44px);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}}.segmented{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--bg-0);flex-wrap:wrap;align-self:flex-start;gap:2px;max-width:100%;padding:3px;display:inline-flex}.segmented label{border-radius:var(--radius-sm);min-height:32px;color:var(--muted);white-space:nowrap;cursor:pointer;justify-content:center;align-items:center;gap:6px;padding:0 14px;display:inline-flex;position:relative}.segmented label:hover{color:var(--text)}.segmented label.active{background:var(--selected-bg);color:var(--selected-text);box-shadow:inset 0 0 0 1px var(--selected-ring)}.segmented input,.accent-swatch input{opacity:0;pointer-events:none;width:1px;height:1px;margin:0;padding:0;position:absolute}.segmented label:has(input:focus-visible){outline:var(--focus);outline-offset:-2px}.accent-swatches{gap:var(--space-3);flex-wrap:wrap;display:flex}.accent-swatch{background:var(--swatch);width:32px;height:32px;color:var(--on-accent);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;display:inline-flex;position:relative}.accent-swatch:hover{filter:var(--hover-filter)}.accent-swatch.active{box-shadow:0 0 0 2px var(--bg-1), 0 0 0 4px var(--swatch)}.accent-swatch:has(input:focus-visible){outline:var(--focus);outline-offset:6px}@media (width<=768px),(pointer:coarse){.segmented label{min-height:44px}.accent-swatch{width:44px;height:44px}}:root{--realm-tint-blue:#2848c842;--realm-tint-violet:#6a34c842;--realm-tint-sunset:#c828283d;--realm-tint-rose:#8c28a047;--realm-tint-teal:#004c5c52;--realm-tint-green:#0a4e2a57;--realm-ink:#ffffff06;--realm-dot:#ffffff0d;--realm-stripe:#ffffff06}:root[data-theme=light]{--realm-tint-blue:#5b8cff38;--realm-tint-violet:#9a6cff33;--realm-tint-sunset:#ff9a3d3d;--realm-tint-rose:#f0649f38;--realm-tint-teal:#22c4b53d;--realm-tint-green:#45c07838;--realm-ink:#0f172a0f;--realm-dot:#0f172a1f;--realm-stripe:#0f172a0a}@media (prefers-color-scheme:light){:root[data-theme=system]{--realm-tint-blue:#5b8cff38;--realm-tint-violet:#9a6cff33;--realm-tint-sunset:#ff9a3d3d;--realm-tint-rose:#f0649f38;--realm-tint-teal:#22c4b53d;--realm-tint-green:#45c07838;--realm-ink:#0f172a0f;--realm-dot:#0f172a1f;--realm-stripe:#0f172a0a}}.realm-bg{background-color:var(--bg-2)}:root[data-realm-background=g1] .chat,.realm-bg[data-bg=g1]{background-image:linear-gradient(160deg, var(--realm-tint-blue) 0%, var(--realm-tint-violet) 40%, transparent 85%)}:root[data-realm-background=g2] .chat,.realm-bg[data-bg=g2]{background-image:linear-gradient(180deg, var(--realm-tint-sunset) 0%, var(--realm-tint-rose) 35%, transparent 75%)}:root[data-realm-background=g3] .chat,.realm-bg[data-bg=g3]{background-image:radial-gradient(ellipse 70% 55% at 0% 0%, var(--realm-tint-teal), transparent 70%), radial-gradient(ellipse 60% 50% at 100% 0%, var(--realm-tint-violet), transparent 70%), radial-gradient(ellipse 50% 35% at 25% 75%, var(--realm-tint-green), transparent 70%)}:root[data-realm-background=g4] .chat,.realm-bg[data-bg=g4]{background-image:linear-gradient(var(--realm-ink) 1px, transparent 1px), linear-gradient(90deg, var(--realm-ink) 1px, transparent 1px);background-position:-1px -1px;background-size:24px 24px}:root[data-realm-background=g5] .chat,.realm-bg[data-bg=g5]{background-image:radial-gradient(circle, var(--realm-dot) 1.25px, transparent 1.75px);background-size:18px 18px}:root[data-realm-background=g6] .chat,.realm-bg[data-bg=g6]{background-image:repeating-linear-gradient(135deg, var(--realm-stripe) 0, var(--realm-stripe) 8px, transparent 8px, transparent 20px)}:root[data-realm-background] .realm-notices,:root[data-realm-background] .voice-bar{background:color-mix(in srgb, var(--bg-1) 85%, transparent)}:root[data-realm-background] .patrol-banner{background:linear-gradient(var(--warn-soft), var(--warn-soft)), color-mix(in srgb, var(--bg-1) 85%, transparent)}:root[data-realm-background] .composer-row,.realm-bg:not([data-bg=none]) .realm-look-composer{background:color-mix(in srgb, var(--composer-bg) 85%, transparent)}:root[data-realm-accent=blue]{--accent:var(--accent-blue);--accent-strong:var(--accent-blue-strong)}:root[data-realm-accent=teal]{--accent:var(--accent-teal);--accent-strong:var(--accent-teal-strong)}:root[data-realm-accent=green]{--accent:var(--accent-green);--accent-strong:var(--accent-green-strong)}:root[data-realm-accent=orange]{--accent:var(--accent-orange);--accent-strong:var(--accent-orange-strong)}:root[data-realm-accent=pink]{--accent:var(--accent-pink);--accent-strong:var(--accent-pink-strong)}:root[data-realm-accent=purple]{--accent:var(--accent-purple);--accent-strong:var(--accent-purple-strong)}:root[data-realm-density=cozy]{--message-pad-y:1px;--message-head-gap:var(--space-3)}:root[data-realm-density=compact]{--message-pad-y:0px;--message-head-gap:var(--space-1)}.realm-appearance{flex-direction:column;gap:18px;display:flex}.realm-appearance>.hint{margin:0}.realm-look-radio{opacity:0;pointer-events:none;width:1px;height:1px;margin:0;position:absolute}.realm-bg-options{grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:10px;display:grid}.realm-bg-option{color:var(--muted);font-size:var(--font-sm);text-align:center;cursor:pointer;flex-direction:column;gap:6px;display:flex;position:relative}.realm-bg-option.active{color:var(--text)}.realm-bg-swatch{border:1px solid var(--line);border-radius:var(--radius-md);justify-content:center;align-items:center;height:56px;display:flex}.realm-bg-option:hover .realm-bg-swatch{border-color:var(--muted)}.realm-bg-option.active .realm-bg-swatch{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.realm-bg-check{box-sizing:content-box;background:var(--accent);color:var(--on-accent);border-radius:50%;padding:3px}.realm-accent-options{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.realm-accent-follow{cursor:pointer;display:inline-flex;position:relative}.realm-accent-follow-label{border:1px solid var(--line);height:32px;color:var(--muted);font-size:var(--font-sm);border-radius:16px;align-items:center;padding:0 14px;display:inline-flex}.realm-accent-follow:hover .realm-accent-follow-label{border-color:var(--muted);color:var(--text)}.realm-accent-follow.active .realm-accent-follow-label{border-color:var(--accent);background:var(--accent-soft);color:var(--text)}.realm-look-radio:focus-visible+.realm-bg-swatch,.realm-look-radio:focus-visible+.realm-accent-follow-label{outline:var(--focus);outline-offset:2px}.realm-look{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--bg-2);pointer-events:none;-webkit-user-select:none;user-select:none;overflow:hidden}.realm-look-messages{padding:2px 0 var(--space-3)}.realm-look-link{color:var(--accent-text);text-decoration:underline}.realm-look-composer{align-items:center;gap:var(--space-2);margin:0 var(--space-3) var(--space-3);padding:6px 6px 6px var(--space-3);background:var(--composer-bg);box-shadow:0 0 0 1px var(--composer-line);border-radius:10px;display:flex}.realm-look-input{min-width:0;color:var(--muted);font-size:var(--font-md);white-space:nowrap;text-overflow:ellipsis;flex:1;overflow:hidden}@media (width<=768px),(pointer:coarse){.realm-accent-follow-label{border-radius:22px;height:44px}.realm-bg-swatch{height:64px}}.composer-row .icon-button.active{color:var(--accent)}.emoji-picker{z-index:35;width:360px;max-width:calc(100vw - 2 * var(--space-2));background:var(--bg-1);border:1px solid var(--line);border-radius:var(--radius);height:400px;box-shadow:var(--shadow-1);flex-direction:column;display:flex;position:fixed;overflow:hidden}.emoji-picker:not(.placed){visibility:hidden}.emoji-picker:focus{outline:none}.emoji-picker-search{margin:var(--space-2) var(--space-2) 0;flex-shrink:0;align-items:center;display:flex;position:relative}.emoji-picker-search svg{color:var(--muted);pointer-events:none;position:absolute;left:10px}.emoji-picker-search input{flex:1;min-width:0;padding-left:32px}.emoji-picker-tabs{padding:var(--space-1) var(--space-2) 0;border-bottom:1px solid var(--line);flex-shrink:0;gap:2px;display:flex}.emoji-picker-tabs button{border-radius:var(--radius-sm) var(--radius-sm) 0 0;min-width:0;height:34px;color:var(--muted);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;flex:1 1 0;justify-content:center;align-items:center;padding:0;display:inline-flex}@media (hover:hover){.emoji-picker-tabs button:hover{background:var(--bg-2);color:var(--text)}}.emoji-picker-tabs button.active{border-bottom-color:var(--accent);color:var(--accent)}.emoji-picker-tabs button:focus-visible{outline-offset:-2px}.emoji-picker-heading{padding:var(--space-2) var(--space-3) var(--space-1);color:var(--muted);font-size:var(--font-xs);flex-shrink:0;margin:0}.emoji-picker-grid{min-height:0;padding:0 var(--space-2) var(--space-2);overscroll-behavior:contain;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;flex:1;grid-template-columns:repeat(auto-fill,minmax(40px,1fr));align-content:start;display:grid;overflow-y:auto}.emoji-picker-grid button{border-radius:var(--radius-sm);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;height:40px;padding:0;font-family:Apple Color Emoji,Segoe UI Emoji,Noto Color Emoji,sans-serif;font-size:24px;line-height:1;display:flex}.emoji-picker-grid button.active{background:var(--accent-soft)}@media (hover:hover){.emoji-picker-grid button:hover{background:var(--bg-3)}}.emoji-picker-empty{padding:var(--space-5) var(--space-4);color:var(--muted);font-size:var(--font-sm);text-align:center;flex:1;margin:0}.emoji-picker-backdrop{z-index:34;background:var(--overlay-soft);position:fixed;inset:0}.emoji-picker.sheet{width:auto;max-width:none;height:min(420px,60dvh);padding:0 env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);box-shadow:var(--shadow-up);border:none;border-radius:14px 14px 0 0;bottom:0;left:0;right:0}@media (width<=768px),(pointer:coarse){.emoji-picker-tabs{overscroll-behavior-x:contain;scrollbar-width:none;gap:0;padding:0;overflow:auto hidden}.emoji-picker-tabs::-webkit-scrollbar{display:none}.emoji-picker-tabs button{flex:1 0 44px;height:44px}.emoji-picker-grid{grid-template-columns:repeat(auto-fill,minmax(44px,1fr))}.emoji-picker-grid button{height:44px;font-size:28px}}@media (width>=769px){.tabs{flex-wrap:wrap}.tabs button{white-space:nowrap}}.announce-original{white-space:nowrap;flex-shrink:0}@media (width<=768px){.realm-notices-original{display:none}}.announce-langs{gap:var(--space-3);flex-direction:column;display:flex}.announce-langs-row{align-items:flex-end;gap:var(--space-2) var(--space-3);flex-wrap:wrap;display:flex}.announce-langs-row select{min-width:0;max-width:100%}.announce-langs-toggle{align-items:center;gap:6px;display:inline-flex}.announce-translations{gap:var(--space-3);flex-direction:column;display:flex}.announce-translations>.hint{margin:0;line-height:1.5}.announce-translation{gap:var(--space-3);padding:var(--space-3);border:1px solid var(--line);border-radius:var(--radius-md);flex-direction:column;display:flex}.announce-translation.filled{border-color:var(--accent-line);background:var(--accent-faint)}.announce-translation.invalid{border-color:var(--danger)}.announce-translation-head{justify-content:space-between;align-items:center;gap:var(--space-2);display:flex}.announce-translation-name{min-width:0;font-size:var(--font-md);overflow-wrap:anywhere}.announce-translation-body{resize:vertical;min-height:72px}.announce-summary{font-size:var(--font-sm);color:var(--muted);overflow-wrap:anywhere;margin:0;line-height:1.5}.announce-summary.invalid{color:var(--danger)}@media (width<=768px){.announce-translation{padding:var(--space-3) 10px}}@media (width<=768px),(pointer:coarse){.announce-translation .button.small{min-height:44px}}.message-sticker{max-width:160px;max-height:160px;margin-top:var(--space-1);object-fit:contain;display:block}.message.outbox .message-sticker{opacity:.55}.sticker-picker-grid{align-content:start;gap:var(--space-1);min-height:0;padding:0 var(--space-2) var(--space-2);overscroll-behavior:contain;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;flex:1;grid-template-columns:repeat(auto-fill,minmax(76px,1fr));display:grid;overflow-y:auto}.sticker-picker-grid button{height:76px;padding:var(--space-1);border-radius:var(--radius-md);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;display:flex}.sticker-picker-grid img{object-fit:contain;pointer-events:none;max-width:100%;max-height:100%}.sticker-picker-grid button.active{background:var(--accent-soft)}@media (hover:hover){.sticker-picker-grid button:hover{background:var(--bg-3)}}.sticker-picker-empty{align-items:center;gap:var(--space-3);padding:var(--space-5) var(--space-4);color:var(--muted);font-size:var(--font-sm);text-align:center;flex-direction:column;flex:1;display:flex}.sticker-picker-empty p{margin:0}.sticker-picker-hint{font-size:var(--font-xs)}.realm-stickers{gap:var(--space-3);flex-direction:column;display:flex}.realm-stickers>.hint{margin:0}.sticker-upload{align-items:flex-start;gap:var(--space-3) var(--space-4);background:var(--bg-0);border-radius:var(--radius);flex-wrap:wrap;padding:14px;display:flex}.sticker-upload-preview{width:96px;height:96px;padding:var(--space-1);border:1px dashed var(--line);border-radius:var(--radius-md);background:var(--bg-1);color:var(--muted);cursor:pointer;flex-shrink:0;justify-content:center;align-items:center;display:flex}.sticker-upload-preview:hover:not(:disabled){border-color:var(--muted);color:var(--text)}.sticker-upload-preview:disabled{opacity:.6;cursor:default}.sticker-upload-preview img{object-fit:contain;max-width:100%;max-height:100%}.sticker-upload-main{gap:var(--space-2);flex-direction:column;flex:200px;min-width:0;display:flex}.sticker-upload-main input{width:100%;max-width:320px}.sticker-upload-info{color:var(--muted);font-size:var(--font-xs)}.sticker-upload-buttons{gap:var(--space-2);flex-wrap:wrap;display:flex}.sticker-full{padding:10px var(--space-3);border:1px solid var(--warn-line);border-radius:var(--radius);background:var(--warn-soft);color:var(--warn);font-size:var(--font-sm);margin:0}.sticker-list-head{align-items:center;gap:var(--space-2);margin-top:var(--space-2);display:flex}.sticker-grid{gap:var(--space-2);grid-template-columns:repeat(auto-fill,minmax(112px,1fr));margin:0;padding:0;list-style:none;display:grid}.sticker-card{min-width:0;padding:var(--space-3) var(--space-2) var(--space-2);border:1px solid var(--line);border-radius:var(--radius-md);background:var(--bg-0);flex-direction:column;align-items:center;gap:6px;display:flex;position:relative}.sticker-card img{object-fit:contain;width:80px;height:80px}.sticker-card-name{max-width:100%;font-size:var(--font-sm);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.sticker-card .sticker-card-remove{background:var(--bg-1);box-shadow:var(--shadow-1);border-radius:50%;position:absolute;top:2px;right:2px}.sticker-card-remove:hover:not(:disabled){color:var(--danger)}
