:root{--ns-bg: #2d2f34;--ns-bg-rail: #1c1d21;--ns-surface: #25272b;--ns-surface-2: #383a40;--ns-surface-hover: #3b3e45;--ns-border: #3c3f46;--ns-border-input: #70747e;--ns-text: #eef0f3;--ns-text-muted: #b4b8c0;--ns-text-faint: #8f949d;--ns-accent: #2ec4a6;--ns-accent-hover: #46d6ba;--ns-on-accent: #04211b;--ns-mention-bg: #3d3622;--ns-mention-text: #f5cf5c;--ns-danger: #f6656a;--ns-on-danger: #2a0707;--ns-success: #3ddc84;--ns-warning: #f2c94c;--ns-link: #5fb9ff;--ns-focus: #5fb9ff;--ns-font-sans: Inter, "Segoe UI Variable", system-ui, -apple-system, Roboto, "Noto Sans", sans-serif;--ns-font-mono: "JetBrains Mono", ui-monospace, "Cascadia Code", Consolas, monospace;--ns-radius-sm: 6px;--ns-radius-md: 10px;--ns-radius-lg: 16px;--ns-radius-shard: 14px;--ns-shadow-card: 0 1px 2px rgba(0,0,0,.3), 0 1px 1px rgba(0,0,0,.2);--ns-shadow-pop: 0 8px 16px rgba(0,0,0,.24), 0 16px 48px rgba(0,0,0,.36);--ns-dur-instant: 80ms;--ns-dur-fast: .12s;--ns-dur-base: .2s;--ns-ease: cubic-bezier(.2,.8,.2,1);color-scheme:dark}@media(prefers-color-scheme:light){:root:not([data-theme]){--ns-bg: #ffffff;--ns-bg-rail: #e9edf2;--ns-surface: #f5f7fa;--ns-surface-2: #edf1f5;--ns-surface-hover: #e3e8ee;--ns-border: #d9dfe6;--ns-border-input: #7a8594;--ns-text: #121820;--ns-text-muted: #4f5a68;--ns-text-faint: #6b7685;--ns-accent: #0a6e5c;--ns-accent-hover: #085a4b;--ns-on-accent: #ffffff;--ns-mention-bg: #fff4d1;--ns-mention-text: #6b4b00;--ns-danger: #c22f2f;--ns-on-danger: #ffffff;--ns-success: #167a46;--ns-warning: #8a6100;--ns-link: #1f63c6;--ns-focus: #1f63c6;color-scheme:light}}@media(prefers-reduced-motion:reduce){:root{--ns-dur-instant: 0ms;--ns-dur-fast: 0ms;--ns-dur-base: 0ms}}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;height:100%}body{background:var(--ns-bg);color:var(--ns-text);font:400 15px/22px var(--ns-font-sans);-webkit-font-smoothing:antialiased;overflow:hidden}button,input,textarea,select{font:inherit;color:inherit}a{color:var(--ns-link);text-decoration:none}a:hover{text-decoration:underline}:focus-visible{outline:2px solid var(--ns-focus);outline-offset:2px}.ns-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.ns-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:40px;padding:0 16px;border:0;border-radius:var(--ns-radius-sm);font-weight:600;font-size:14px;cursor:pointer;user-select:none;transition:background-color var(--ns-dur-fast) var(--ns-ease),transform var(--ns-dur-instant) var(--ns-ease),opacity var(--ns-dur-fast)}.ns-btn:active:not(:disabled){transform:scale(.97)}.ns-btn:disabled{opacity:.5;cursor:not-allowed}.ns-btn[aria-busy=true]{cursor:progress}.ns-btn--sm{height:32px;padding:0 12px}.ns-btn--primary{background:var(--ns-accent);color:var(--ns-on-accent)}.ns-btn--primary:hover:not(:disabled){background:var(--ns-accent-hover)}.ns-btn--secondary{background:var(--ns-surface-2);color:var(--ns-text)}.ns-btn--secondary:hover:not(:disabled){background:var(--ns-surface-hover)}.ns-btn--ghost{background:transparent;color:var(--ns-text-muted)}.ns-btn--ghost:hover:not(:disabled){background:var(--ns-surface-hover);color:var(--ns-text)}.ns-btn--danger{background:var(--ns-danger);color:var(--ns-on-danger)}.ns-icon-btn{width:32px;height:32px;padding:0;border-radius:var(--ns-radius-sm);background:transparent;border:0;color:var(--ns-text-muted);display:inline-grid;place-items:center;cursor:pointer}.ns-icon-btn:hover{background:var(--ns-surface-hover);color:var(--ns-text)}.ns-icon-btn[aria-pressed=true]{color:var(--ns-danger)}.ns-field{display:grid;gap:6px}.ns-label{font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--ns-text-muted)}.ns-input{height:40px;padding:0 12px;border-radius:var(--ns-radius-sm);background:var(--ns-bg);border:1px solid var(--ns-border-input);color:var(--ns-text)}.ns-input:focus{outline:2px solid var(--ns-focus);outline-offset:0;border-color:transparent}.ns-input[aria-invalid=true]{border-color:var(--ns-danger)}.ns-error{color:var(--ns-danger);font-size:13px}.ns-avatar{position:relative;flex:none;border-radius:50%;display:inline-grid;place-items:center;font-weight:700;color:#fff;overflow:visible}.ns-avatar img{width:100%;height:100%;border-radius:50%;object-fit:cover}.ns-status{position:absolute;right:-2px;bottom:-2px;width:12px;height:12px;border-radius:50%;border:3px solid var(--ns-surface)}.ns-status--online{background:var(--ns-success)}.ns-status--idle{background:var(--ns-warning)}.ns-status--dnd{background:var(--ns-danger)}.ns-status--offline{background:var(--ns-text-faint)}.ns-backdrop{position:fixed;inset:0;background:#0009;display:grid;place-items:center;z-index:50}.ns-modal{width:min(440px,calc(100vw - 32px));max-height:calc(100vh - 64px);overflow:auto;background:var(--ns-surface);border-radius:var(--ns-radius-lg);box-shadow:var(--ns-shadow-pop);padding:24px;display:grid;gap:16px}.ns-modal h2{margin:0;font-size:20px;line-height:26px}.ns-toasts{position:fixed;right:16px;bottom:16px;display:grid;gap:8px;z-index:60}.ns-toast{background:var(--ns-surface-2);color:var(--ns-text);padding:12px 16px;border-radius:var(--ns-radius-md);box-shadow:var(--ns-shadow-pop);min-width:240px;max-width:360px}.ns-toast--error{border-left:4px solid var(--ns-danger)}.ns-spinner{width:20px;height:20px;border-radius:50%;border:2px solid var(--ns-border);border-top-color:var(--ns-accent);animation:ns-spin .8s linear infinite}@keyframes ns-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.ns-spinner{animation:none}}.ns-avatar-deco{position:absolute;inset:calc(var(--ns-avatar-size) * -.17);pointer-events:none;display:block}.ns-avatar-deco svg{width:100%;height:100%;display:block;overflow:visible}.ns-avatar .ns-status{z-index:1}.ns-textarea{height:auto;padding:8px 12px;resize:vertical;line-height:20px}.ns-field-hint{font-size:12px;color:var(--ns-text-faint);text-align:right}.ns-field-hint.over{color:var(--ns-danger)}.ns-color{display:inline-flex;align-items:center;gap:10px;cursor:pointer}.ns-color input{width:44px;height:44px;padding:0;border:2px solid var(--ns-border);border-radius:var(--ns-radius-md);background:none;cursor:pointer}.ns-color input::-webkit-color-swatch-wrapper{padding:3px}.ns-color input::-webkit-color-swatch{border:0;border-radius:6px}.ns-color span{display:grid;font-size:14px}.ns-color small{color:var(--ns-text-faint);font-family:var(--ns-font-mono);font-size:12px}.ns-popover{position:fixed;z-index:70;background:var(--ns-surface-2);color:var(--ns-text);border:1px solid var(--ns-border);border-radius:var(--ns-radius-md);box-shadow:var(--ns-shadow-pop);outline:none;max-height:calc(100vh - 16px);overflow:auto}.ns-menu{min-width:200px;padding:6px}.ns-menu-item{all:unset;box-sizing:border-box;width:100%;display:flex;align-items:center;gap:8px;min-height:32px;padding:6px 8px;border-radius:var(--ns-radius-sm);font-size:14px;cursor:pointer;color:var(--ns-text-muted)}.ns-menu-item:hover,.ns-menu-item:focus-visible{background:var(--ns-accent);color:var(--ns-on-accent);outline:none}.ns-menu-item.danger{color:var(--ns-danger)}.ns-menu-item.danger:hover,.ns-menu-item.danger:focus-visible{background:var(--ns-danger);color:var(--ns-on-danger)}.ns-menu-item[aria-disabled=true]{opacity:.45;cursor:not-allowed}.ns-menu-item[aria-checked=true] .ns-menu-label:after{content:" ✓"}.ns-menu-label{flex:1}.ns-menu-item small{opacity:.8;font-size:12px}.ns-menu-icon{display:inline-grid}.ns-menu-sep{height:1px;background:var(--ns-border);margin:4px 6px}.ns-tip-host{display:inline-flex}.ns-tooltip{position:fixed;z-index:80;pointer-events:none;background:var(--ns-bg-rail);color:var(--ns-text);padding:6px 10px;border-radius:var(--ns-radius-sm);font-size:13px;font-weight:600;box-shadow:var(--ns-shadow-pop);max-width:260px}.ns-switch-row{all:unset;box-sizing:border-box;display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;padding:8px 0;cursor:pointer}.ns-switch-row:focus-visible{outline:2px solid var(--ns-focus);outline-offset:2px;border-radius:4px}.ns-switch-row:disabled{opacity:.5;cursor:not-allowed}.ns-switch-text{display:grid;gap:2px}.ns-switch-text small{color:var(--ns-text-muted);font-size:13px}.ns-switch{flex:none;width:40px;height:24px;border-radius:12px;background:var(--ns-border-input);position:relative;transition:background-color var(--ns-dur-fast) var(--ns-ease)}.ns-switch span{position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;transition:transform var(--ns-dur-fast) var(--ns-ease)}.ns-switch-row[aria-checked=true] .ns-switch{background:var(--ns-accent)}.ns-switch-row[aria-checked=true] .ns-switch span{transform:translate(16px)}#app{height:100%}.shell{display:grid;grid-template-columns:72px 240px minmax(0,1fr) 240px;height:100dvh}.shell.no-members{grid-template-columns:72px 240px minmax(0,1fr)}@media(max-width:1100px){.shell{grid-template-columns:72px 240px minmax(0,1fr)}.members{display:none}}.rail{background:var(--ns-bg-rail);display:flex;flex-direction:column;align-items:center;gap:8px;padding:12px 0;overflow-y:auto;scrollbar-width:none}.rail-sep{width:32px;height:2px;border-radius:1px;background:var(--ns-border);flex:none}.guild{position:relative;width:72px;display:grid;place-items:center;flex:none;touch-action:none}.guild-btn{width:48px;height:48px;border:0;padding:0;cursor:pointer;display:grid;place-items:center;background:var(--ns-surface-2);color:var(--ns-text);font-weight:700;font-size:16px;border-radius:50%;overflow:hidden;transition:border-radius var(--ns-dur-fast) var(--ns-ease),background-color var(--ns-dur-fast)}.guild-btn:hover,.guild[aria-current=true] .guild-btn{border-radius:var(--ns-radius-shard);background:var(--ns-accent);color:var(--ns-on-accent);clip-path:polygon(0 0,78% 0,100% 22%,100% 100%,0 100%)}.guild-btn img{width:100%;height:100%;object-fit:cover}.pill{position:absolute;left:0;top:50%;width:4px;height:40px;margin-top:-20px;border-radius:0 4px 4px 0;background:var(--ns-text);transform-origin:left center;transform:scaleY(0);transition:transform var(--ns-dur-fast) var(--ns-ease)}.guild.unread .pill{transform:scaleY(.2)}.guild:hover .pill{transform:scaleY(.5)}.guild[aria-current=true] .pill{transform:scaleY(1)}.badge{position:absolute;right:10px;bottom:-2px;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:var(--ns-danger);color:var(--ns-on-danger);font-size:11px;font-weight:700;display:grid;place-items:center;border:3px solid var(--ns-bg-rail)}.guild-add .guild-btn{color:var(--ns-accent);background:var(--ns-surface)}.sidebar{background:var(--ns-surface);display:flex;flex-direction:column;min-width:0}.sidebar-head{height:48px;padding:0 16px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--ns-border);font-weight:700}.channels{flex:1;overflow-y:auto;padding:8px}.category{margin:16px 0 4px;padding:0 8px;font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--ns-text-muted)}.channel{display:flex;align-items:center;gap:6px;height:34px;padding:0 8px;border-radius:var(--ns-radius-sm);color:var(--ns-text-muted);text-decoration:none!important;position:relative}.channel:hover,.channel[aria-current=page]{background:var(--ns-surface-hover);color:var(--ns-text)}.channel.unread{color:var(--ns-text);font-weight:600}.channel.unread:before{content:"";position:absolute;left:-8px;width:4px;height:8px;border-radius:0 4px 4px 0;background:var(--ns-text)}.channel .name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.channel .mentions{background:var(--ns-danger);color:var(--ns-on-danger);font-size:11px;font-weight:700;padding:0 6px;border-radius:9px}.voice-users{padding-left:28px;display:grid;gap:2px;margin-bottom:4px;font-size:13px;color:var(--ns-text-muted)}.voice-users span{display:flex;gap:6px;align-items:center}.userbar{height:52px;padding:0 8px;background:var(--ns-bg);display:flex;align-items:center;gap:8px}.userbar .who{flex:1;min-width:0;line-height:16px}.userbar .who b{display:block;font-size:14px;overflow:hidden;text-overflow:ellipsis}.userbar .who small{color:var(--ns-text-muted);font-size:12px}.main{display:flex;flex-direction:column;min-width:0;background:var(--ns-bg)}.topbar{height:48px;flex:none;display:flex;align-items:center;gap:12px;padding:0 16px;border-bottom:1px solid var(--ns-border)}.topbar h1{font-size:16px;margin:0;white-space:nowrap}.topbar .topic{color:var(--ns-text-muted);font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.conn-banner{background:var(--ns-warning);color:#241a00;text-align:center;font-size:13px;padding:4px}.feed{flex:1;overflow-y:auto;overflow-anchor:none;contain:strict}.feed-inner{position:relative;width:100%}.msg{position:absolute;left:0;right:0;padding:2px 16px 2px 72px}.msg.head{padding-top:12px}.msg:hover{background:var(--ns-surface)}.msg .avatar{position:absolute;left:16px;top:14px}.msg .meta{display:flex;gap:8px;align-items:baseline}.msg .meta b{font-weight:600}.msg .meta time,.msg .edited{color:var(--ns-text-faint);font-size:12px}.msg.pending{opacity:.55}.msg.failed .body{color:var(--ns-danger)}.msg.mention{background:var(--ns-mention-bg);box-shadow:inset 2px 0 0 var(--ns-mention-text)}.msg .actions{position:absolute;right:16px;top:-12px;display:none;background:var(--ns-surface-2);border-radius:var(--ns-radius-sm);box-shadow:var(--ns-shadow-card)}.msg:hover .actions,.msg:focus-within .actions{display:flex}.reply-ref{font-size:13px;color:var(--ns-text-muted);margin-bottom:2px}.reactions{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}.reaction{border:1px solid transparent;background:var(--ns-surface-2);color:var(--ns-text);border-radius:8px;height:26px;padding:0 8px;cursor:pointer;font-size:14px}.reaction[aria-pressed=true]{border-color:var(--ns-accent)}.embed{margin-top:6px;max-width:520px;border-left:4px solid var(--ns-border);background:var(--ns-surface);border-radius:var(--ns-radius-sm);padding:8px 12px}.embed a{font-weight:600}.attachment img{max-width:min(400px,100%);max-height:300px;border-radius:var(--ns-radius-md);margin-top:6px;display:block}.history-edge{padding:16px 72px;color:var(--ns-text-muted)}.empty{margin:auto;text-align:center;color:var(--ns-text-muted);padding:32px}.composer{padding:0 16px 20px;flex:none}.composer-box{display:flex;align-items:flex-end;gap:8px;background:var(--ns-surface-2);border-radius:var(--ns-radius-md);padding:6px 8px}.composer textarea{flex:1;resize:none;background:transparent;border:0;outline:0;max-height:40vh;min-height:22px;padding:6px 4px;line-height:22px}.composer textarea:disabled{cursor:not-allowed}.composer .replying{font-size:13px;color:var(--ns-text-muted);padding:4px 8px;display:flex;justify-content:space-between}.typing{height:20px;font-size:13px;color:var(--ns-text-muted);padding:0 16px;display:flex;align-items:center;gap:6px}.dots span{display:inline-block;width:5px;height:5px;border-radius:50%;background:currentColor;margin-right:2px;animation:ns-blink 1.2s infinite both}.dots span:nth-child(2){animation-delay:.2s}.dots span:nth-child(3){animation-delay:.4s}@keyframes ns-blink{0%,80%,to{opacity:.2}40%{opacity:1}}@media(prefers-reduced-motion:reduce){.dots span{animation:none;opacity:.7}}.md-p{white-space:pre-wrap;word-wrap:break-word}.md-code{font-family:var(--ns-font-mono);font-size:13px;background:var(--ns-surface-2);padding:1px 4px;border-radius:4px}.md-pre{font-family:var(--ns-font-mono);font-size:13px;background:var(--ns-surface);border:1px solid var(--ns-border);padding:8px;border-radius:var(--ns-radius-sm);overflow-x:auto;margin:4px 0}.md-quote{margin:2px 0;padding-left:10px;border-left:4px solid var(--ns-border)}.md-mention{background:color-mix(in srgb,var(--ns-accent) 18%,transparent);color:var(--ns-accent);border-radius:4px;padding:0 2px;font-weight:500}.md-mention.me{background:var(--ns-mention-bg);color:var(--ns-mention-text)}.md-spoiler{background:var(--ns-text-faint);color:transparent;border-radius:4px;cursor:pointer}.md-spoiler.shown{background:var(--ns-surface-2);color:inherit;cursor:auto}.members{background:var(--ns-surface);overflow-y:auto;padding:16px 8px}.members h3{font-size:12px;text-transform:uppercase;color:var(--ns-text-muted);margin:8px;letter-spacing:.04em}.member{display:flex;gap:10px;align-items:center;padding:4px 8px;border-radius:var(--ns-radius-sm)}.member.offline{opacity:.5}.member small{display:block;color:var(--ns-text-muted);font-size:12px}.auth{min-height:100dvh;display:grid;place-items:center;padding:16px;background:radial-gradient(1200px 600px at 20% 10%,color-mix(in srgb,var(--ns-accent) 18%,transparent),transparent),var(--ns-bg);overflow-y:auto}.auth-card{width:min(420px,100%);background:var(--ns-surface);border-radius:var(--ns-radius-lg);padding:32px;display:grid;gap:16px;box-shadow:var(--ns-shadow-pop)}.auth-card header{text-align:center;display:grid;gap:8px;justify-items:center}.auth-card h1{margin:0;font-size:24px}.auth-card p{margin:0;color:var(--ns-text-muted)}.auth-switch{text-align:center;font-size:14px;color:var(--ns-text-muted)}.auth-switch button{all:unset;color:var(--ns-link);cursor:pointer}.splash{height:100dvh;display:grid;place-items:center;gap:16px;align-content:center;color:var(--ns-text-muted)}.voice{flex:1;display:grid;grid-template-rows:1fr auto;min-height:0;background:radial-gradient(900px 500px at 50% 35%,color-mix(in srgb,var(--ns-accent) 7%,transparent),transparent 70%)}.tiles{display:grid;gap:14px;padding:24px;grid-template-columns:repeat(auto-fit,minmax(240px,360px));justify-content:center;align-content:center;overflow:auto}.tile{aspect-ratio:16/9;background:linear-gradient(160deg,var(--ns-surface-2),var(--ns-bg-rail));border:1px solid var(--ns-border);border-radius:var(--ns-radius-lg);display:grid;place-items:center;position:relative;overflow:hidden;transition:box-shadow var(--ns-dur-fast)}.tile-letter{font-size:40px;font-weight:700}.tile.speaking{box-shadow:0 0 0 3px var(--ns-accent)}.tile video{width:100%;height:100%;object-fit:cover}.tile .label{position:absolute;left:10px;bottom:10px;display:flex;align-items:center;gap:4px;background:#0000008c;color:#fff;padding:3px 9px;border-radius:8px;font-size:13px;font-weight:600}.voice-controls{display:flex;justify-content:center;gap:8px;padding:12px;background:var(--ns-surface)}.mobile-only{display:none!important}.nav-drawer{display:contents}.member-name{flex:1;min-width:0}.member-actions{display:flex;gap:2px;opacity:0;transition:opacity var(--ns-dur-fast, .12s)}.member:hover .member-actions,.member:focus-within .member-actions{opacity:1}@media(hover:none){.member-actions{opacity:1}}.e2ee-badge{display:inline-flex;color:var(--ns-success);margin-left:auto}.guild-btn>span{pointer-events:none}.guild-home{background:var(--ns-surface-2)}.guild[aria-current=true] .guild-home{background:var(--ns-accent);color:var(--ns-on-accent)}.sidebar-head{padding:0}.server-head{all:unset;box-sizing:border-box;display:flex;align-items:center;gap:8px;width:100%;height:100%;padding:0 16px;cursor:pointer;font-weight:700}.server-head:hover{background:var(--ns-surface-hover)}.server-head:focus-visible{outline:2px solid var(--ns-focus);outline-offset:-2px}.server-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dm-head{padding:0 16px}.category-row{all:unset;box-sizing:border-box;display:flex;align-items:center;gap:4px;width:100%;margin:14px 0 2px;padding:2px 4px;font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--ns-text-muted);cursor:pointer}.category-row:hover{color:var(--ns-text)}.category-row:focus-visible{outline:2px solid var(--ns-focus)}.category-row.static{cursor:default;margin-top:8px;padding-left:8px}.channel .channel-hover{display:none;margin-left:auto}.channel:hover .channel-hover,.channel:focus-within .channel-hover{display:inline-flex}.ns-icon-btn.mini{width:22px;height:22px}.channel.dm{height:44px;gap:10px;margin-bottom:2px}.dm-text{flex:1;min-width:0;display:grid;line-height:17px}.dm-text small{color:var(--ns-text-muted);font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:400}.voice-users{gap:0}.voice-user{all:unset;display:flex;gap:8px;align-items:center;padding:3px 6px;border-radius:var(--ns-radius-sm);cursor:pointer;font-size:13px;color:var(--ns-text-muted)}.voice-user:hover{background:var(--ns-surface-hover);color:var(--ns-text)}.userbar{gap:2px}.userbar-me{all:unset;box-sizing:border-box;flex:1;min-width:0;display:flex;align-items:center;gap:8px;padding:4px;border-radius:var(--ns-radius-sm);cursor:pointer}.userbar-me:hover{background:var(--ns-surface-hover)}.userbar-me:focus-visible{outline:2px solid var(--ns-focus)}.userbar-me .who{flex:1;min-width:0;line-height:16px}.userbar-me .who b{display:block;font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.userbar-me .who small{display:block;color:var(--ns-text-muted);font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.status-pop{width:280px;padding:0}.status-card{display:grid;padding:8px;gap:2px}.status-card-head{all:unset;display:flex;gap:10px;align-items:center;padding:8px;border-radius:var(--ns-radius-sm);cursor:pointer}.status-card-head:hover{background:var(--ns-surface-hover)}.status-card-head>span{display:grid;min-width:0;font-weight:700}.status-item{all:unset;box-sizing:border-box;display:flex;align-items:center;gap:10px;min-height:34px;padding:6px 10px;border-radius:var(--ns-radius-sm);cursor:pointer;font-size:14px;color:var(--ns-text-muted)}.status-item:hover,.status-item:focus-visible{background:var(--ns-accent);color:var(--ns-on-accent);outline:none}.status-item[aria-pressed=true]{color:var(--ns-text);font-weight:600}.status-item.subtle{font-size:13px;padding-left:36px;min-height:26px}.ns-status-dot{width:10px;height:10px;border-radius:50%;flex:none}.ns-status-dot.ns-status--online{background:var(--ns-success)}.ns-status-dot.ns-status--idle{background:var(--ns-warning)}.ns-status-dot.ns-status--dnd{background:var(--ns-danger)}.ns-status-dot.ns-status--offline{background:transparent;box-shadow:inset 0 0 0 2px var(--ns-text-faint)}.members{padding:8px 8px 16px}.members h3{margin:16px 8px 4px}.member{all:unset;box-sizing:border-box;width:100%;display:flex;gap:10px;align-items:center;padding:5px 8px;border-radius:var(--ns-radius-sm);cursor:pointer;margin-bottom:1px}.member:focus-visible{outline:2px solid var(--ns-focus)}.member.offline{opacity:.45}.member.offline:hover{opacity:.8}.member-line{display:flex;align-items:center;min-width:0;gap:2px}.member-line .uname{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500}.member-name small{display:block;color:var(--ns-text-muted);font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topbar{gap:8px}.topbar h1{display:flex;align-items:center}.topbar-user{all:unset;cursor:pointer}.topbar-user:hover{text-decoration:underline}.topbar-sep{width:1px;height:24px;background:var(--ns-border);margin:0 4px}.topbar .topic{flex:0 1 auto}.topbar-spacer{flex:1}.ns-icon-btn.toggle[aria-pressed=true]{color:var(--ns-text)}.pins-pop{width:420px}.pins{padding:12px;display:grid;gap:8px}.pins h3{margin:0 0 4px;font-size:14px}.pin{background:var(--ns-bg);border-radius:var(--ns-radius-md);padding:10px 12px}.pin-body{font-size:14px;margin-top:4px}.welcome{margin:auto;display:grid;justify-items:center;gap:8px;text-align:center;padding:32px;max-width:420px}.welcome h2{margin:8px 0 0}.e2ee-badge{margin-left:0}.channel .e2ee-badge{margin-left:auto}.main{position:relative}.msg{padding:2px 48px 2px 72px}.msg.head{padding-top:14px}.msg:hover{background:color-mix(in srgb,var(--ns-surface) 70%,transparent)}.msg .avatar{all:unset;position:absolute;left:16px;top:auto;margin-top:2px;cursor:pointer;border-radius:50%}.msg.head .avatar{transform:translateY(0)}.msg .avatar:focus-visible{outline:2px solid var(--ns-focus);outline-offset:2px}.msg .meta{display:flex;gap:6px;align-items:baseline;min-height:22px}.msg .author{all:unset;cursor:pointer;font-weight:600}.msg .author:hover .uname{text-decoration:underline}.msg .author:focus-visible{outline:2px solid var(--ns-focus)}.msg .tag-chip.bot{background:var(--ns-accent);color:var(--ns-on-accent)}.msg .hover-time{position:absolute;left:0;width:64px;text-align:right;font-size:11px;color:var(--ns-text-faint);line-height:22px;opacity:0}.msg:hover .hover-time{opacity:1}.msg.pinned{box-shadow:inset 2px 0 0 var(--ns-warning)}.msg .actions{top:-16px;right:16px;padding:2px;border:1px solid var(--ns-border);align-items:center}.msg .actions .ns-icon-btn{width:32px;height:32px}.quick-react{font-size:18px}.actions-sep{width:1px;height:20px;background:var(--ns-border);margin:0 2px}.day-divider,.new-divider{position:relative;display:flex;align-items:center;margin:14px -32px 6px -56px;height:0;border-top:1px solid var(--ns-border)}.day-divider span,.new-divider span{position:absolute;left:50%;transform:translate(-50%,-50%);padding:0 6px;font-size:12px;font-weight:600;color:var(--ns-text-muted);background:var(--ns-bg)}.new-divider{border-color:var(--ns-danger);margin-left:-56px}.new-divider span{left:auto;right:0;transform:translateY(-50%);background:var(--ns-danger);color:var(--ns-on-danger);border-radius:4px;text-transform:uppercase;font-size:10px;letter-spacing:.04em;padding:1px 6px}.msg:hover .day-divider span{background:transparent}.reply-ref{all:unset;position:relative;display:flex;align-items:center;gap:6px;margin:0 0 4px -2px;font-size:13px;color:var(--ns-text-muted);cursor:pointer;max-width:100%}.reply-ref:hover{color:var(--ns-text)}.reply-ref b{font-weight:600;white-space:nowrap}.reply-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.reply-spine{position:absolute;left:-38px;top:50%;width:32px;height:12px;border-left:2px solid var(--ns-border-input);border-top:2px solid var(--ns-border-input);border-top-left-radius:6px}.reaction{display:inline-flex;align-items:center;gap:4px}.reaction span{font-size:13px;font-weight:600}.reaction[aria-pressed=true]{background:color-mix(in srgb,var(--ns-accent) 18%,var(--ns-surface-2))}.reaction:hover{border-color:var(--ns-border-input)}.history-edge{padding:32px 16px 8px;display:grid;gap:6px;justify-items:start}.history-edge h2{margin:6px 0 0;font-size:28px;line-height:34px}.history-edge p{margin:0}.start-icon{width:68px;height:68px;border-radius:50%;background:var(--ns-surface-2);display:grid;place-items:center;font-size:40px;font-weight:300}.jump-present{z-index:5;all:unset;position:absolute;left:16px;right:16px;bottom:96px;padding:6px 12px;border-radius:var(--ns-radius-md) var(--ns-radius-md) 0 0;background:var(--ns-accent);color:var(--ns-on-accent);font-size:13px;font-weight:600;text-align:center;cursor:pointer}.composer{position:relative}.composer-box{align-items:center}.char-count{font-size:12px;color:var(--ns-text-muted)}.char-count.over{color:var(--ns-danger)}.composer-emoji{position:absolute;right:16px;bottom:64px;width:340px;z-index:6;box-shadow:var(--ns-shadow-pop);border:1px solid var(--ns-border);background:var(--ns-bg);border-radius:var(--ns-radius-md)}.composer-emoji .emoji-grid{box-shadow:none;border:0}.feed{contain:strict}.sidebar-head .server-head{padding:0 16px}.upload-tray{display:flex;gap:8px;overflow-x:auto;padding:8px;margin-bottom:4px;background:var(--ns-surface-2);border-radius:var(--ns-radius-md) var(--ns-radius-md) 0 0}.upload-card{position:relative;flex:none;width:160px;height:150px;display:grid;grid-template-rows:1fr auto auto;gap:4px;padding:8px;border-radius:var(--ns-radius-md);background:var(--ns-bg);overflow:hidden}.upload-card img{width:100%;height:88px;object-fit:cover;border-radius:var(--ns-radius-sm)}.upload-icon{display:grid;place-items:center;color:var(--ns-text-muted)}.upload-name{font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.upload-card small{font-size:12px;color:var(--ns-text-muted)}.upload-card.failed small{color:var(--ns-danger)}.upload-bar{position:absolute;left:0;bottom:0;height:3px;width:calc(var(--p) * 100%);background:var(--ns-accent);transition:width var(--ns-dur-fast) linear}.upload-remove{position:absolute;top:4px;right:4px;background:#0000008c;color:#fff;width:26px;height:26px}.upload-tray+.composer-box{border-top-left-radius:0;border-top-right-radius:0}.att-images{display:grid;gap:4px;margin-top:6px;max-width:min(520px,100%)}.att-images.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.att-image{all:unset;cursor:zoom-in;border-radius:var(--ns-radius-md);overflow:hidden;display:block}.att-image:focus-visible{outline:2px solid var(--ns-focus)}.att-image img{display:block;max-width:100%;max-height:350px;width:auto;height:auto;object-fit:cover}.att-images.grid .att-image img{width:100%;height:200px}.att-file{display:flex;align-items:center;gap:10px;margin-top:6px;padding:10px 12px;max-width:420px;border-radius:var(--ns-radius-md);background:var(--ns-surface);border:1px solid var(--ns-border);color:var(--ns-text);text-decoration:none!important}.att-file svg{color:var(--ns-accent);flex:none}.att-file span{display:grid;min-width:0}.att-file b{font-weight:600;color:var(--ns-link);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.att-file small{color:var(--ns-text-muted);font-size:12px}.lightbox{position:fixed;inset:0;z-index:90;background:#000000d9;display:grid;place-items:center;outline:none;animation:settings-in var(--ns-dur-base) var(--ns-ease)}.lightbox img{max-width:92vw;max-height:84vh;border-radius:var(--ns-radius-md);box-shadow:var(--ns-shadow-pop)}.lightbox-bar{position:fixed;top:12px;right:12px;left:12px;display:flex;align-items:center;gap:8px;color:#fff}.lightbox-bar span{flex:1;font-weight:600}.lightbox-bar .ns-icon-btn{color:#fff;background:#ffffff1a}.drop-hint{position:absolute;inset:48px 0 0;z-index:8;display:grid;place-items:center;background:#0000008c;pointer-events:none}.drop-hint div{display:grid;gap:4px;text-align:center;padding:28px 36px;border-radius:var(--ns-radius-lg);background:var(--ns-accent);color:var(--ns-on-accent);box-shadow:var(--ns-shadow-pop)}.drop-hint b{font-size:18px}.shell.wide-right{grid-template-columns:72px 240px minmax(0,1fr) 420px}@media(max-width:1100px){.shell.wide-right{grid-template-columns:72px 240px minmax(0,1fr)}.search-panel{position:fixed;right:0;top:48px;bottom:0;width:min(420px,100vw);z-index:20;box-shadow:var(--ns-shadow-pop)}}.search-box{display:flex;align-items:center;gap:4px;height:28px;width:200px;padding:0 8px;border-radius:var(--ns-radius-sm);background:var(--ns-bg-rail);color:var(--ns-text-muted);transition:width var(--ns-dur-base) var(--ns-ease)}.search-box:focus-within{width:260px;outline:2px solid var(--ns-focus)}.search-box input{flex:1;min-width:0;border:0;background:transparent;outline:none;font-size:14px}.search-clear{all:unset;cursor:pointer;display:inline-grid}.search-panel{background:var(--ns-surface);display:flex;flex-direction:column;min-width:0}.search-panel header{height:48px;flex:none;display:flex;align-items:center;justify-content:space-between;padding:0 8px 0 16px;border-bottom:1px solid var(--ns-border);font-size:14px}.search-results{flex:1;overflow-y:auto;padding:8px;display:grid;gap:8px;align-content:start}.search-hit{all:unset;box-sizing:border-box;display:grid;gap:6px;padding:10px 12px;border-radius:var(--ns-radius-md);background:var(--ns-bg);cursor:pointer;border:1px solid transparent}.search-hit:hover{border-color:var(--ns-border-input)}.search-hit:focus-visible{outline:2px solid var(--ns-focus)}.search-hit-channel{font-size:12px;font-weight:700;color:var(--ns-text-muted)}.search-hit-body{display:flex;gap:10px;min-width:0}.search-hit-body>span:last-child{display:grid;min-width:0}.search-hit-meta{display:flex;gap:8px;align-items:baseline}.search-hit-meta small{color:var(--ns-text-faint);font-size:12px}.search-hit-text{font-size:14px;overflow-wrap:anywhere}.msg.flash{animation:msg-flash 2s ease-out}@keyframes msg-flash{0%,40%{background:color-mix(in srgb,var(--ns-accent) 22%,transparent)}to{background:transparent}}@media(prefers-reduced-motion:reduce){.msg.flash{animation:none;background:color-mix(in srgb,var(--ns-accent) 15%,transparent)}}.md-emoji{width:22px;height:22px;object-fit:contain;vertical-align:-5px;margin:0 1px}.emoji-tabs{display:flex;gap:4px;padding:4px 4px 0}.emoji-tabs button{all:unset;padding:4px 10px;border-radius:var(--ns-radius-sm);font-size:13px;cursor:pointer;color:var(--ns-text-muted)}.emoji-tabs button[aria-selected=true]{background:var(--ns-surface-hover);color:var(--ns-text)}.emoji-grid img{width:26px;height:26px;object-fit:contain}.dm-section{display:flex;align-items:center;justify-content:space-between;padding-right:4px}.gdm-list{max-height:280px;overflow-y:auto;display:grid;gap:2px}.gdm-row{display:flex;align-items:center;gap:10px;padding:6px 8px;border-radius:var(--ns-radius-sm);cursor:pointer}.gdm-row:hover{background:var(--ns-surface-hover)}.gdm-row input{width:18px;height:18px;accent-color:var(--ns-accent)}.conn-retry{all:unset;text-decoration:underline;cursor:pointer;font-weight:700;margin-left:6px}.friends{flex:1;display:flex;flex-direction:column;min-height:0}.friends-bar{gap:10px}.friends-tabs{display:flex;gap:6px;align-items:center;overflow-x:auto;scrollbar-width:none}.friends-tabs button{all:unset;padding:3px 10px;border-radius:var(--ns-radius-sm);font-size:15px;font-weight:500;color:var(--ns-text-muted);cursor:pointer;white-space:nowrap;display:inline-flex;align-items:center;gap:6px;transition:background-color var(--ns-dur-fast),color var(--ns-dur-fast)}.friends-tabs button:hover,.friends-tabs button[aria-selected=true]{background:var(--ns-surface-hover);color:var(--ns-text)}.friends-tabs button:focus-visible{outline:2px solid var(--ns-focus)}.friends-tabs .friends-add-tab{background:var(--ns-accent);color:var(--ns-on-accent)}.friends-tabs .friends-add-tab:hover{background:var(--ns-accent-hover);color:var(--ns-on-accent)}.friends-tabs .friends-add-tab[aria-selected=true]{background:transparent;color:var(--ns-accent)}.friends-badge{background:var(--ns-danger);color:var(--ns-on-danger);border-radius:9px;padding:0 6px;font-size:11px;font-weight:700;line-height:16px}.friends-body{flex:1;overflow-y:auto;padding:16px 20px 24px 30px}.friends-search input{width:100%;height:36px;border-radius:var(--ns-radius-sm);border:0;background:var(--ns-bg-rail);padding:0 12px;outline:none}.friends-search input:focus{outline:2px solid var(--ns-focus)}.friends-count{margin:20px 0 8px;font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--ns-text-muted)}.friend-row{display:flex;align-items:center;gap:12px;min-height:62px;padding:0 10px;margin:0 -10px;border-top:1px solid var(--ns-border);border-radius:var(--ns-radius-md);cursor:pointer;outline:none;transition:background-color var(--ns-dur-fast)}.friend-row:hover,.friend-row:focus-visible{background:var(--ns-surface-hover);border-top-color:transparent}.friend-row:hover+.friend-row{border-top-color:transparent}.friend-text{flex:1;min-width:0;display:grid}.friend-name{display:flex;align-items:baseline;gap:4px;font-weight:600;min-width:0}.friend-name small{opacity:0;transition:opacity var(--ns-dur-fast)}.friend-row:hover .friend-name small{opacity:1}.friend-actions{display:flex;gap:8px}.ns-icon-btn.round{width:36px;height:36px;border-radius:50%;background:var(--ns-surface)}.friend-row:hover .ns-icon-btn.round{background:var(--ns-bg-rail)}.ns-icon-btn.round.accept:hover{color:var(--ns-success)}.ns-icon-btn.round.decline:hover{color:var(--ns-danger)}.friends-empty{display:grid;justify-items:center;gap:12px;padding:60px 0;text-align:center}.add-title{margin:4px 0 6px;font-size:16px;text-transform:uppercase;letter-spacing:.02em}.add-friend{display:flex;align-items:center;gap:8px;margin-top:14px;padding:0 8px 0 14px;height:52px;border-radius:var(--ns-radius-md);background:var(--ns-bg-rail);border:1px solid var(--ns-border)}.add-friend:focus-within{border-color:var(--ns-focus)}.add-friend input{flex:1;min-width:0;border:0;background:transparent;outline:none;font-size:15px}.add-art{display:grid;justify-items:center;margin-top:60px;opacity:.8}.friends-link{height:42px;margin-bottom:4px;font-weight:500}.msg-sticker{display:block;width:160px;height:160px;object-fit:contain;margin-top:4px}.sticker-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(76px,1fr));gap:6px;padding:6px;max-height:260px;overflow:auto}.sticker-grid button{all:unset;aspect-ratio:1;border-radius:var(--ns-radius-md);display:grid;place-items:center;cursor:pointer}.sticker-grid button:hover,.sticker-grid button:focus-visible{background:var(--ns-surface-hover)}.sticker-grid img{width:90%;height:90%;object-fit:contain}.att-locked{display:inline-block;padding:24px;border-radius:var(--ns-radius-md);background:var(--ns-surface);color:var(--ns-text-muted);font-size:14px}button.att-file{all:unset;box-sizing:border-box;display:flex;align-items:center;gap:10px;margin-top:6px;padding:10px 12px;max-width:420px;border-radius:var(--ns-radius-md);background:var(--ns-surface);border:1px solid var(--ns-border);cursor:pointer}.call-incoming{position:fixed;top:16px;left:50%;z-index:60;transform:translate(-50%);display:flex;align-items:center;gap:12px;padding:12px 14px;min-width:300px;max-width:calc(100vw - 32px);border-radius:var(--ns-radius-lg);background:var(--ns-surface);border:1px solid var(--ns-border);box-shadow:var(--ns-shadow-pop);animation:call-in var(--ns-dur-base) var(--ns-ease)}.call-incoming-avatar{border-radius:50%;animation:call-pulse 1.4s ease-out infinite}.call-incoming-text{display:grid;flex:1;min-width:0}.call-incoming-text b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.call-incoming-text span{color:var(--ns-text-muted);font-size:13px}.call-btn{all:unset;box-sizing:border-box;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;cursor:pointer;transition:transform var(--ns-dur-fast) var(--ns-ease),filter var(--ns-dur-fast)}.call-btn:hover{filter:brightness(1.1);transform:scale(1.06)}.call-btn:focus-visible{outline:2px solid var(--ns-focus);outline-offset:2px}.call-btn--accept{background:var(--ns-success);color:#fff}.call-btn--decline{background:var(--ns-danger);color:var(--ns-on-danger)}.ns-icon-btn.call-live{color:var(--ns-success)}@keyframes call-in{0%{opacity:0;transform:translate(-50%,-8px)}}@keyframes call-pulse{0%{box-shadow:0 0 color-mix(in srgb,var(--ns-success) 55%,transparent)}to{box-shadow:0 0 0 14px transparent}}@media(prefers-reduced-motion:reduce){.call-incoming,.call-incoming-avatar{animation:none}}.auth-version{margin:8px 0 0;text-align:center;font-size:12px;color:var(--ns-text-faint)}.add-tabs{display:flex;gap:4px;padding:4px;border-radius:var(--ns-radius-md);background:var(--ns-bg-rail)}.add-tabs button{all:unset;flex:1;text-align:center;padding:8px 10px;border-radius:var(--ns-radius-sm);cursor:pointer;font-weight:600;font-size:14px;color:var(--ns-text-muted);transition:background var(--ns-dur-fast),color var(--ns-dur-fast)}.add-tabs button:hover{color:var(--ns-text)}.add-tabs button[aria-selected=true]{background:var(--ns-surface-hover);color:var(--ns-text)}.add-tabs button:focus-visible{outline:2px solid var(--ns-focus)}.add-list{display:grid;gap:6px;max-height:320px;overflow:auto}.add-row{display:flex;align-items:center;gap:12px;padding:10px;border-radius:var(--ns-radius-md);background:var(--ns-surface)}.add-icon{flex:none;width:44px;height:44px;border-radius:14px;display:grid;place-items:center;overflow:hidden;background:var(--ns-bg-rail);font-weight:700;color:var(--ns-text)}.add-icon img{width:100%;height:100%;object-fit:cover}.add-meta{flex:1;min-width:0;display:grid}.add-meta b,.add-meta small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.add-meta small{color:var(--ns-text-muted)}.invite-link{width:100%;user-select:all;-webkit-user-select:all}.invite-actions{display:flex;gap:8px;flex-wrap:wrap}.auth-server{display:flex;align-items:center;gap:8px;padding:8px 12px;border-radius:var(--ns-radius-md);background:var(--ns-bg-rail);font-size:14px;min-width:0}.auth-server span{color:var(--ns-text-muted)}.auth-server b{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600}.auth-server button{all:unset;cursor:pointer;color:var(--ns-link);font-weight:600}.auth-server button:hover{text-decoration:underline}.auth-server button:focus-visible{outline:2px solid var(--ns-focus);outline-offset:2px;border-radius:4px}.auth-hint{margin:-4px 0 0;font-size:13px;color:var(--ns-text-muted)}.deco-spin-slow{animation:deco-spin 24s linear infinite}.deco-flicker{transform-origin:50% 90%;animation:deco-flicker 1.6s ease-in-out infinite alternate}.deco-pulse{animation:deco-pulse 2.4s ease-in-out infinite}.deco-twinkle{transform-box:fill-box;transform-origin:center;animation:deco-twinkle 2.2s ease-in-out infinite}@keyframes deco-spin{to{transform:rotate(360deg)}}@keyframes deco-flicker{0%{transform:scale(1);opacity:.9}to{transform:scale(1.02,1.05);opacity:1}}@keyframes deco-pulse{50%{opacity:.65}}@keyframes deco-twinkle{0%,to{opacity:.35;transform:scale(.7)}50%{opacity:1;transform:scale(1.1)}}.fx{position:absolute;inset:0;overflow:hidden;pointer-events:none;border-radius:inherit;z-index:3}.fx-p{position:absolute;display:block;top:-10%}.fx-snowfall .fx-p{width:calc(3px + var(--s) * 4px);height:calc(3px + var(--s) * 4px);border-radius:50%;background:#fff;opacity:.85;animation:fx-fall calc(7s + var(--s) * 6s) linear infinite}.fx-rain .fx-p{width:1px;height:calc(10px + var(--s) * 14px);background:linear-gradient(transparent,#9fd3ff);opacity:.7;animation:fx-fall calc(.9s + var(--s) * .8s) linear infinite}.fx-confetti .fx-p{width:6px;height:9px;border-radius:1px;animation:fx-fall-spin calc(5s + var(--s) * 5s) linear infinite}.fx-confetti .fx-k0{background:#ff6b6b}.fx-confetti .fx-k1{background:#f2c94c}.fx-confetti .fx-k2{background:#2ec4a6}.fx-confetti .fx-k3{background:#6cb6ff}.fx-confetti .fx-k4{background:#c08bff}.fx-bubbles .fx-p,.fx-embers .fx-p{top:auto;bottom:-10%}.fx-bubbles .fx-p{width:calc(6px + var(--s) * 10px);height:calc(6px + var(--s) * 10px);border-radius:50%;border:1.5px solid rgb(190 235 255 / .8);background:radial-gradient(circle at 30% 30%,rgb(255 255 255 / .6),transparent 60%);animation:fx-rise calc(6s + var(--s) * 6s) ease-in infinite}.fx-embers .fx-p{width:calc(2px + var(--s) * 3px);height:calc(2px + var(--s) * 3px);border-radius:50%;background:#ffb03a;box-shadow:0 0 6px #ff7a1a;animation:fx-rise calc(3s + var(--s) * 4s) ease-out infinite}.fx-sparkles .fx-p,.fx-starfield .fx-p{animation:fx-twinkle calc(1.6s + var(--s) * 2.4s) ease-in-out infinite}.fx-sparkles .fx-p{width:calc(6px + var(--s) * 8px);height:calc(6px + var(--s) * 8px);background:#fff3b0;clip-path:polygon(50% 0,60% 40%,100% 50%,60% 60%,50% 100%,40% 60%,0 50%,40% 40%)}.fx-starfield .fx-p{width:calc(1px + var(--s) * 2px);height:calc(1px + var(--s) * 2px);border-radius:50%;background:#fff}.fx-aurora span{position:absolute;width:140%;height:70%;left:-20%;filter:blur(28px);opacity:.55;border-radius:50%}.fx-aurora-a{top:-30%;background:linear-gradient(90deg,#2ec4a6,#6cb6ff,#9d7bff);animation:fx-drift 9s ease-in-out infinite alternate}.fx-aurora-b{top:-10%;background:linear-gradient(90deg,#9d7bff,#ff6fa8,#2ec4a6);opacity:.35;animation:fx-drift 13s ease-in-out infinite alternate-reverse}@keyframes fx-fall{to{transform:translate(calc(var(--s) * 30px - 15px),125cqh)}}@keyframes fx-fall-spin{to{transform:translate(calc(var(--s) * 40px - 20px),125cqh) rotate(720deg)}}@keyframes fx-rise{to{transform:translate(calc(var(--s) * 24px - 12px),-125cqh);opacity:0}}@keyframes fx-twinkle{0%,to{opacity:.15;transform:scale(.6)}50%{opacity:1;transform:scale(1)}}@keyframes fx-drift{to{transform:translate(14%) skew(-8deg)}}.fx{container-type:size}.np{position:relative;isolation:isolate}.np:before{content:"";position:absolute;inset:0;z-index:-1;border-radius:inherit;opacity:.55;pointer-events:none}.np-dusk:before{background:linear-gradient(90deg,transparent 15%,#f28b5b 70%,#7b5ea7)}.np-lagoon:before{background:linear-gradient(90deg,transparent 15%,#1f8a9e 70%,#2ec4a6)}.np-ember:before{background:linear-gradient(90deg,transparent 15%,#b5361d 65%,#ffb03a)}.np-forest:before{background:linear-gradient(90deg,transparent 15%,#2f6b3a 70%,#8bc34a)}.np-nebula:before{background:radial-gradient(circle at 85% 50%,#ff6fa8 0,transparent 40%),linear-gradient(90deg,transparent 15%,#3d2a7a 65%,#6cb6ff)}.np-paper:before{background:repeating-linear-gradient(0deg,rgb(255 255 255 / .08) 0 1px,transparent 1px 6px),linear-gradient(90deg,transparent 20%,#c9b48a)}.np-grid:before{background:linear-gradient(90deg,var(--ns-bg) 15%,transparent),repeating-linear-gradient(90deg,rgb(108 182 255 / .4) 0 1px,transparent 1px 10px),repeating-linear-gradient(0deg,rgb(108 182 255 / .4) 0 1px,transparent 1px 10px)}.np-waves:before{background:radial-gradient(ellipse 30% 60% at 70% 120%,#2ec4a6 40%,transparent 41%),radial-gradient(ellipse 30% 60% at 95% 120%,#6cb6ff 40%,transparent 41%),linear-gradient(90deg,transparent 20%,#1b3f5e)}.nm-solid{color:var(--n1)}.nm-gradient,.nm-shimmer{background:linear-gradient(90deg,var(--n1),var(--n2),var(--n1));background-size:200% 100%;-webkit-background-clip:text;background-clip:text;color:transparent}.nm-shimmer{animation:nm-shimmer 3s linear infinite}.nm-neon{color:var(--n1);text-shadow:0 0 4px var(--n1),0 0 12px var(--n2)}.nm-toon{color:var(--n1);text-shadow:-1px -1px 0 var(--n2),1px -1px 0 var(--n2),-1px 1px 0 var(--n2),1px 1px 0 var(--n2)}.nm-pop{color:var(--n1);text-shadow:2px 2px 0 var(--n2)}@keyframes nm-shimmer{to{background-position:-200% 0}}.tag-chip{display:inline-flex;align-items:center;gap:3px;height:18px;padding:0 5px;margin-left:4px;border-radius:5px;background:var(--ns-surface-hover);color:var(--ns-text);font-size:11px;font-weight:700;letter-spacing:.02em;vertical-align:1px;line-height:1}.tag-chip svg{color:var(--ns-accent)}@media(prefers-reduced-motion:reduce){.deco-spin-slow,.deco-flicker,.deco-pulse,.deco-twinkle,.nm-shimmer,.fx .fx-p,.fx span{animation:none!important}.fx-snowfall .fx-p,.fx-rain .fx-p,.fx-confetti .fx-p,.fx-bubbles .fx-p,.fx-embers .fx-p{display:none}}.pcard{--pc-bg: var(--ns-surface);--pc-text: var(--ns-text);position:relative;width:340px;border-radius:var(--ns-radius-lg);background:var(--pc-bg);color:var(--pc-text);overflow:hidden}.pcard.themed{padding:4px;background:linear-gradient(180deg,var(--pc-1),var(--pc-2))}.pcard.themed .pcard-inner{background:color-mix(in srgb,var(--ns-surface) 78%,var(--pc-1));border-radius:calc(var(--ns-radius-lg) - 4px)}.pcard-inner{position:relative;overflow:hidden}.pcard-banner{height:110px;background:var(--pc-banner, var(--ns-surface-2));background-size:cover;background-position:center}.pcard-banner.tall{height:140px}.pcard-av{position:absolute;left:16px;top:66px;border-radius:50%;padding:6px;background:inherit;z-index:2}.pcard.themed .pcard-av{background:color-mix(in srgb,var(--ns-surface) 78%,var(--pc-1))}.pcard:not(.themed) .pcard-av{background:var(--pc-bg)}.pcard-status{position:absolute;left:118px;top:120px;max-width:calc(100% - 134px);background:var(--ns-surface-2);border-radius:12px;padding:6px 10px;font-size:13px;line-height:18px;box-shadow:var(--ns-shadow-card);z-index:2;overflow-wrap:anywhere}.pcard-status:before{content:"";position:absolute;left:-6px;top:10px;width:10px;height:10px;border-radius:50%;background:inherit}.pcard-body{padding:48px 16px 16px;display:grid;gap:12px}.pcard-names h2{margin:0;font-size:20px;line-height:26px;overflow-wrap:anywhere}.pcard-names .sub{color:var(--ns-text-muted);font-size:14px;display:flex;flex-wrap:wrap;gap:4px;align-items:center}.pcard-section{display:grid;gap:6px}.pcard-section h3{margin:0;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--ns-text-muted)}.pcard-bio{font-size:14px;line-height:20px;overflow-wrap:anywhere}.pcard-box{background:color-mix(in srgb,var(--ns-bg) 55%,transparent);border-radius:var(--ns-radius-md);padding:12px;display:grid;gap:12px}.pcard-roles{display:flex;flex-wrap:wrap;gap:4px}.role-chip{display:inline-flex;align-items:center;gap:5px;padding:2px 8px;border-radius:6px;background:var(--ns-surface-2);font-size:12px;font-weight:500}.role-chip i{width:10px;height:10px;border-radius:50%;background:var(--rc, var(--ns-text-faint))}.pcard-links{display:grid;gap:6px}.pcard-links a{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--ns-text)}.pcard-links a .verified{color:var(--ns-success)}.pcard-note{width:100%;resize:none;border:0;background:transparent;padding:4px 0;font-size:13px;color:var(--ns-text);min-height:22px;border-radius:4px}.pcard-note:focus{outline:2px solid var(--ns-focus);background:var(--ns-bg);padding:4px 6px}.pcard-dm{width:100%;height:40px;border-radius:var(--ns-radius-sm);border:1px solid var(--ns-border);background:var(--ns-bg);padding:0 12px;color:var(--ns-text)}.pcard-tabs{display:flex;gap:16px;border-bottom:1px solid var(--ns-border)}.pcard-tabs button{all:unset;cursor:pointer;padding:8px 0;font-size:14px;color:var(--ns-text-muted);border-bottom:2px solid transparent}.pcard-tabs button[aria-selected=true]{color:var(--ns-text);border-color:var(--ns-text)}.pcard-tabs button:focus-visible{outline:2px solid var(--ns-focus)}.pcard.full{width:min(600px,calc(100vw - 32px))}.pcard.full .pcard-banner{height:180px}.pcard.full .pcard-av{top:116px}.pcard.full .pcard-status{top:170px}.pcard-actions{position:absolute;right:12px;top:12px;display:flex;gap:6px;z-index:4}.pcard-actions .ns-icon-btn{background:#00000073;color:#fff}.mutual-row{display:flex;align-items:center;gap:10px;padding:6px 8px;border-radius:var(--ns-radius-sm)}.mutual-row:hover{background:var(--ns-surface-hover)}.guild-mini{width:32px;height:32px;border-radius:var(--ns-radius-md);background:var(--ns-surface-2);display:grid;place-items:center;font-weight:700;font-size:12px;overflow:hidden;flex:none}.guild-mini img{width:100%;height:100%;object-fit:cover}.ns-popover.pcard-pop{background:none;border:0;box-shadow:var(--ns-shadow-pop);border-radius:var(--ns-radius-lg)}.emoji-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(36px,1fr));gap:4px;max-height:168px;overflow:auto;padding:4px;background:var(--ns-bg);border-radius:var(--ns-radius-md)}.emoji-grid button{all:unset;height:36px;display:grid;place-items:center;font-size:22px;border-radius:var(--ns-radius-sm);cursor:pointer}.emoji-grid button:hover,.emoji-grid button:focus-visible{background:var(--ns-surface-hover)}.emoji-grid button[aria-pressed=true]{background:color-mix(in srgb,var(--ns-accent) 30%,transparent)}.status-input{display:flex;align-items:center;gap:8px;background:var(--ns-bg);border:1px solid var(--ns-border-input);border-radius:var(--ns-radius-sm);padding:0 8px}.status-input input{flex:1;height:40px;border:0;background:transparent;outline:none}.status-input .emoji-btn{all:unset;cursor:pointer;font-size:20px;width:28px;text-align:center}.ns-select{height:40px;border-radius:var(--ns-radius-sm);background:var(--ns-bg);border:1px solid var(--ns-border-input);color:var(--ns-text);padding:0 10px}.fx.fx-aurora{z-index:1}.pcard-body,.pcard-av,.pcard-status{position:relative;z-index:2}.pcard-av,.pcard-status{position:absolute}.pcard-note{overflow:hidden}.pcard-since{display:flex;align-items:center;gap:10px;font-size:14px;flex-wrap:wrap}.pcard-since>span{display:inline-flex;align-items:center;gap:6px}.pcard-since-sep{width:4px;height:4px;border-radius:50%;background:var(--ns-text-faint)}.guild-mini.tiny{width:16px;height:16px;border-radius:5px;font-size:9px}.status-card-head small{font-weight:400}.deco{overflow:visible}.deco .deco-orbit-spin,.deco .deco-comet,.deco .deco-spin-slow{transform-box:view-box;transform-origin:50% 50%}.deco-orbit-spin{animation:deco-spin 9s linear infinite}.deco-comet{animation:deco-spin 6s linear infinite}.deco .deco-spin-slow{animation:deco-spin 30s linear infinite}.deco-twinkle.d2{animation-delay:-.7s}.deco-twinkle.d3{animation-delay:-1.4s}.deco-spin-flake{transform-box:fill-box;transform-origin:center;animation:deco-spin 12s linear infinite}.deco-spin-flake.d2{animation-direction:reverse;animation-duration:16s}.deco-fall{animation:deco-fall 5s ease-in infinite}.deco-fall.d2{animation-delay:-2.5s;animation-duration:6s}@keyframes deco-fall{0%{transform:translateY(-6px) rotate(0);opacity:0}15%{opacity:1}to{transform:translate(-8px,40px) rotate(160deg);opacity:0}}.deco-flick{transform-box:fill-box;transform-origin:50% 100%;animation:deco-flick 1.1s ease-in-out infinite alternate}.deco-flick.f1{animation-duration:.9s;animation-delay:-.3s}.deco-flick.f2{animation-duration:1.3s;animation-delay:-.6s}@keyframes deco-flick{0%{transform:scale(.94,.9) skew(-3deg)}to{transform:scale(1.04,1.08) skew(3deg)}}.deco-rise{animation:deco-rise 2.4s ease-out infinite}.deco-rise.d2{animation-delay:-.8s}.deco-rise.d3{animation-delay:-1.6s}@keyframes deco-rise{0%{transform:translateY(6px);opacity:0}30%{opacity:1}to{transform:translateY(-10px);opacity:0}}.deco-pulse-run{animation:deco-run 3s linear infinite}@keyframes deco-run{to{stroke-dashoffset:-254}}.deco-neon{animation:deco-neon 5s steps(1) infinite}@keyframes deco-neon{0%,46%,50%,to{opacity:1}47%,49%{opacity:.55}}.deco-buzz{animation:deco-buzz 2.6s ease-in-out infinite}@keyframes deco-buzz{50%{opacity:.35}}@media(prefers-reduced-motion:reduce){.deco *,.deco{animation:none!important}}.deco .deco-burn{transform-box:view-box;transform-origin:50% 50%;animation:deco-burn 1.4s ease-in-out infinite alternate}.deco .deco-burn.b2{animation-duration:1.1s;animation-delay:-.4s}.deco .deco-burn.b3{animation-duration:.9s;animation-delay:-.2s}@keyframes deco-burn{0%{transform:scale(.985) rotate(-1.2deg)}to{transform:scale(1.02) rotate(1.2deg)}}.deco .deco-ear-l,.deco .deco-ear-r{transform-box:view-box;transform-origin:50% 30%}.deco-ear-l{animation:deco-twitch 6s ease-in-out infinite}.deco-ear-r{animation:deco-twitch 6s ease-in-out -3s infinite reverse}@keyframes deco-twitch{0%,90%,to{transform:rotate(0)}93%{transform:rotate(-3deg)}96%{transform:rotate(2deg)}}.deco-hover{animation:deco-hover 3s ease-in-out infinite}@keyframes deco-hover{50%{transform:translateY(1.5px)}}.deco-beat{transform-box:fill-box;transform-origin:center;animation:deco-beat 1.6s ease-in-out infinite}.deco-beat.d2{animation-delay:-.5s}.deco-beat.d3{animation-delay:-1s}@keyframes deco-beat{0%,60%,to{transform:scale(1)}20%{transform:scale(1.15)}35%{transform:scale(.96)}}.settings-layer{position:fixed;inset:0;z-index:40;display:grid;grid-template-columns:minmax(220px,1fr) minmax(0,2.2fr);background:var(--ns-bg);animation:settings-in var(--ns-dur-base) var(--ns-ease)}@keyframes settings-in{0%{opacity:0;transform:scale(1.02)}}@media(prefers-reduced-motion:reduce){.settings-layer{animation:none}}.settings-nav{background:var(--ns-surface);display:flex;justify-content:flex-end;overflow-y:auto}.settings-nav-inner{width:232px;padding:60px 8px 32px 20px;display:grid;gap:2px;align-content:start}.settings-nav h2{margin:12px 10px 6px;font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--ns-text-muted)}.settings-nav-item{all:unset;box-sizing:border-box;display:flex;align-items:center;gap:10px;height:34px;padding:0 10px;border-radius:var(--ns-radius-sm);color:var(--ns-text-muted);cursor:pointer;font-size:15px}.settings-nav-item:hover{background:var(--ns-surface-hover);color:var(--ns-text)}.settings-nav-item[aria-current=page]{background:var(--ns-surface-hover);color:var(--ns-text);font-weight:600}.settings-nav-item:focus-visible{outline:2px solid var(--ns-focus)}.settings-nav-item.danger{color:var(--ns-danger)}.settings-sep{height:1px;background:var(--ns-border);margin:8px 10px}.settings-version{margin:12px 10px;font-size:12px;color:var(--ns-text-faint)}.settings-content{position:relative;overflow-y:auto;display:flex}.settings-content-inner{flex:1;max-width:980px;padding:60px 40px 120px}.settings-close{position:sticky;top:60px;align-self:flex-start;display:grid;justify-items:center;gap:6px;padding-right:24px;color:var(--ns-text-muted)}.settings-close-btn{all:unset;width:36px;height:36px;border-radius:50%;border:2px solid var(--ns-text-muted);display:grid;place-items:center;cursor:pointer;color:var(--ns-text-muted)}.settings-close-btn:hover{border-color:var(--ns-text);color:var(--ns-text)}.settings-close-btn:focus-visible{outline:2px solid var(--ns-focus);outline-offset:2px}.settings-close small{font-size:12px;font-weight:700}.settings-page h1{margin:0 0 20px;font-size:20px}.settings-h2{margin:24px 0 8px;font-size:16px}.settings-stack{display:grid;gap:12px;max-width:660px}@media(max-width:860px){.settings-layer{grid-template-columns:1fr;grid-template-rows:auto 1fr}.settings-nav{justify-content:stretch;max-height:40vh}.settings-nav-inner{width:100%;padding:16px}.settings-content-inner{padding:24px 16px 120px}.settings-close{position:fixed;top:12px;right:12px;padding:0;z-index:2}}.acct-card{background:var(--ns-surface);border-radius:var(--ns-radius-lg);overflow:hidden;max-width:660px}.acct-banner{height:100px;background:linear-gradient(120deg,color-mix(in srgb,var(--ns-accent) 70%,#000),#3d2a7a)}.acct-head{display:flex;align-items:flex-end;gap:16px;padding:0 16px;margin-top:-40px;flex-wrap:wrap}.acct-head .ns-avatar{box-shadow:0 0 0 6px var(--ns-surface);background-clip:padding-box}.acct-head h2{margin:0;font-size:20px}.acct-fields{margin:16px;background:var(--ns-surface-2);border-radius:var(--ns-radius-md);padding:16px;display:grid;gap:20px}.acct-field{display:flex;align-items:center;justify-content:space-between;gap:12px}.acct-field h3{margin:0 0 2px;font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--ns-text-muted)}.mono{font-family:var(--ns-font-mono);font-size:13px}.device-row{display:flex;align-items:center;gap:14px;padding:12px;border-radius:var(--ns-radius-md);background:var(--ns-surface)}.keys{display:grid;gap:2px;max-width:560px}.keys-row{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;border-radius:var(--ns-radius-sm);background:var(--ns-surface)}kbd{font-family:var(--ns-font-mono);font-size:12px;background:var(--ns-surface-2);border:1px solid var(--ns-border);border-bottom-width:2px;border-radius:4px;padding:2px 6px}.pe-grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:32px;align-items:start}@media(max-width:1180px){.pe-grid{grid-template-columns:1fr}.pe-preview{position:static!important}}.pe-form{display:grid;gap:0}.pe-section{padding:20px 0;border-bottom:1px solid var(--ns-border);display:grid;gap:10px}.pe-section:first-child{padding-top:0}.pe-section h3{margin:0;font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--ns-text-muted)}.pe-hint{margin:0;font-size:13px;color:var(--ns-text-muted);line-height:18px}.pe-row{display:flex;flex-wrap:wrap;align-items:center;gap:12px}.pe-preview{position:sticky;top:0;display:grid;gap:12px}.pe-preview h3{margin:0;font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--ns-text-muted)}.pe-preview .pcard{box-shadow:var(--ns-shadow-pop)}.pe-tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:8px}.pe-tile{all:unset;box-sizing:border-box;display:grid;justify-items:center;gap:6px;padding:10px 6px 8px;border-radius:var(--ns-radius-md);background:var(--ns-surface);border:2px solid transparent;cursor:pointer;font-size:12px;text-align:center;color:var(--ns-text-muted)}.pe-tile:hover{background:var(--ns-surface-hover);color:var(--ns-text)}.pe-tile[aria-checked=true]{border-color:var(--ns-accent);color:var(--ns-text)}.pe-tile:focus-visible{outline:2px solid var(--ns-focus);outline-offset:2px}.pe-tile-art{width:64px;height:56px;display:grid;place-items:center}.pe-none{font-size:22px;color:var(--ns-text-faint)}.pe-fx-mini{position:relative;width:64px;height:56px;border-radius:8px;background:linear-gradient(160deg,var(--ns-surface-2),var(--ns-bg));overflow:hidden}.pe-np{width:80px;height:28px;display:flex;align-items:center;padding:0 6px;border-radius:6px;font-size:11px;overflow:hidden;white-space:nowrap;background:var(--ns-bg);color:var(--ns-text)}.pe-chips{display:flex;flex-wrap:wrap;gap:6px}.pe-chip{all:unset;padding:6px 12px;border-radius:999px;background:var(--ns-surface);border:2px solid transparent;cursor:pointer;font-size:14px}.pe-chip:hover{background:var(--ns-surface-hover)}.pe-chip[aria-checked=true]{border-color:var(--ns-accent)}.pe-chip:focus-visible{outline:2px solid var(--ns-focus);outline-offset:2px}.pe-link{display:grid;grid-template-columns:140px minmax(0,1fr) auto auto;gap:8px;align-items:center}.pe-link .verified{color:var(--ns-success);display:inline-grid}.pe-member-preview{background:var(--ns-surface);max-width:260px}.pe-savebar{position:sticky;bottom:20px;grid-column:1 / -1;display:flex;align-items:center;gap:10px;padding:10px 12px 10px 16px;border-radius:var(--ns-radius-md);background:var(--ns-bg-rail);box-shadow:var(--ns-shadow-pop);animation:savebar-in var(--ns-dur-base) var(--ns-ease);z-index:5}.pe-savebar span{flex:1;font-weight:600}@keyframes savebar-in{0%{transform:translateY(16px);opacity:0}}@media(prefers-reduced-motion:reduce){.pe-savebar{animation:none}}.settings-stack.wide{max-width:920px}.srv-overview{display:flex;gap:20px;align-items:flex-start}.srv-icon-pick{all:unset;position:relative;width:96px;height:96px;border-radius:50%;background:var(--ns-surface-2);display:grid;place-items:center;font-size:28px;font-weight:700;cursor:pointer;overflow:hidden;flex:none}.srv-icon-pick img{width:100%;height:100%;object-fit:cover}.srv-icon-hover{position:absolute;inset:0;display:grid;place-items:center;background:#0000008c;color:#fff;opacity:0;transition:opacity var(--ns-dur-fast)}.srv-icon-pick:hover .srv-icon-hover,.srv-icon-pick:focus-visible .srv-icon-hover{opacity:1}.srv-icon-pick:focus-visible{outline:2px solid var(--ns-focus);outline-offset:3px}.roles-layout{display:grid;grid-template-columns:240px minmax(0,1fr);gap:24px;align-items:start}@media(max-width:900px){.roles-layout{grid-template-columns:1fr}}.roles-list{display:grid;gap:2px;position:sticky;top:0}.roles-list>.ns-btn{margin-bottom:8px}.role-row{display:flex;align-items:center;gap:2px;border-radius:var(--ns-radius-sm)}.role-row.selected{background:var(--ns-surface-hover)}.role-row.category .role-pick{font-size:12px;text-transform:uppercase;letter-spacing:.04em;font-weight:700;color:var(--ns-text-muted)}.role-pick{all:unset;box-sizing:border-box;flex:1;min-width:0;display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:var(--ns-radius-sm);cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.role-pick:hover{background:var(--ns-surface-hover)}.role-pick:focus-visible{outline:2px solid var(--ns-focus)}.role-pick i{width:12px;height:12px;border-radius:50%;flex:none}.role-editor{display:grid;gap:12px;min-width:0}.perm-group{display:grid;gap:0;border-top:1px solid var(--ns-border);padding-top:8px}.perm-group h3{margin:4px 0;font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--ns-text-muted)}.perm-group .ns-switch-row{border-bottom:1px solid color-mix(in srgb,var(--ns-border) 50%,transparent)}.swatch{all:unset;width:28px;height:28px;border-radius:6px;cursor:pointer;box-shadow:inset 0 0 0 2px #ffffff1a}.swatch[aria-pressed=true]{box-shadow:0 0 0 2px var(--ns-bg),0 0 0 4px var(--ns-text)}.swatch:focus-visible{outline:2px solid var(--ns-focus);outline-offset:2px}.tri-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:6px 0;border-bottom:1px solid color-mix(in srgb,var(--ns-border) 50%,transparent)}.tri{display:inline-flex;border:1px solid var(--ns-border-input);border-radius:var(--ns-radius-sm);overflow:hidden;flex:none}.tri button{all:unset;width:32px;height:28px;display:grid;place-items:center;cursor:pointer;color:var(--ns-text-muted);font-weight:700}.tri button+button{border-left:1px solid var(--ns-border-input)}.tri button:focus-visible{outline:2px solid var(--ns-focus);outline-offset:-2px}.tri button[aria-checked=true]{background:var(--ns-surface-hover);color:var(--ns-text)}.tri .tri-deny[aria-checked=true]{background:var(--ns-danger);color:var(--ns-on-danger)}.tri .tri-allow[aria-checked=true]{background:var(--ns-success);color:#062a14}.admin-table{display:grid;gap:4px}.admin-row{display:grid;grid-template-columns:minmax(160px,1.2fr) minmax(0,1.5fr) auto;gap:12px;align-items:center;padding:10px 12px;border-radius:var(--ns-radius-md);background:var(--ns-surface)}.admin-row.audit{grid-template-columns:minmax(0,1fr) auto}.admin-who{display:grid;min-width:0}.admin-roles{display:flex;flex-wrap:wrap;gap:4px;align-items:center;min-width:0}.admin-actions{display:flex;gap:4px;flex-wrap:wrap;justify-content:flex-end}@media(max-width:900px){.admin-row{grid-template-columns:1fr}.admin-actions{justify-content:flex-start}}.emoji-admin{display:grid;gap:4px;max-width:520px}.emoji-admin-row{display:flex;align-items:center;gap:12px;padding:8px 12px;border-radius:var(--ns-radius-md);background:var(--ns-surface)}.emoji-admin-img{font-family:var(--ns-font-mono);color:var(--ns-text-muted);min-width:120px}.rule-card{display:flex;align-items:center;gap:16px;padding:12px 16px;border-radius:var(--ns-radius-md);background:var(--ns-surface)}.rule-card>div{display:grid}.rule-card .ns-switch-row{width:auto}.emoji-admin-pic{width:32px;height:32px;object-fit:contain}.sticker-admin{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px;margin-top:12px}.sticker-admin-item{display:grid;justify-items:center;gap:6px;padding:12px;border-radius:var(--ns-radius-md);background:var(--ns-surface);position:relative}.sticker-admin-item img{width:96px;height:96px;object-fit:contain}.sticker-admin-item .ns-icon-btn{position:absolute;top:4px;right:4px}.rule-card code{display:block;margin:6px 0}body{font-size:16px;line-height:1.375}.rail{background:var(--ns-bg-rail);padding-top:12px;gap:8px}.sidebar,.members,.search-panel{background:var(--ns-surface)}.main{background:var(--ns-bg)}.sidebar-head,.topbar{border-bottom:0;box-shadow:0 1px #00000038,0 1.5px #0000000f,0 2px #0000000d;position:relative;z-index:2}.channels{padding:8px}.channel{height:32px;border-radius:4px;padding:0 8px;gap:6px;font-weight:500;color:var(--ns-text-faint);margin-bottom:2px;transition:background-color var(--ns-dur-fast),color var(--ns-dur-fast)}.channel svg{color:var(--ns-text-faint);flex:none}.channel:hover,.channel[aria-current=page]{color:var(--ns-text)}.channel:hover svg,.channel[aria-current=page] svg{color:var(--ns-text-muted)}.channel[aria-current=page]{background:color-mix(in srgb,var(--ns-surface-hover) 90%,white 4%)}.channel.dm{height:42px}.category-row{margin-top:16px;font-size:12px;color:var(--ns-text-faint)}.category-row:hover{color:var(--ns-text-muted)}.userbar{height:54px;background:color-mix(in srgb,var(--ns-bg-rail) 55%,var(--ns-surface));padding:0 8px 1px}.composer{padding:0 16px 24px}.composer-box{background:var(--ns-surface-2);border-radius:8px;min-height:44px;padding:0 8px}.composer textarea{padding:11px 4px;line-height:22px}.msg{padding-right:48px}.msg:hover{background:#00000012}.msg.mention{background:color-mix(in srgb,var(--ns-mention-bg) 70%,transparent);box-shadow:inset 2px 0 0 var(--ns-mention-text)}.msg .meta b,.msg .author{font-weight:600}.msg .meta time{font-size:12px}.members h3{font-size:12px;font-weight:700;letter-spacing:.02em;margin-top:20px;color:var(--ns-text-faint)}.member{padding:4px 8px;margin-bottom:1px}.member:hover{background:var(--ns-surface-hover)}.ns-popover{background:var(--ns-bg-rail);border-color:color-mix(in srgb,var(--ns-border) 60%,transparent)}.ns-menu-item{color:var(--ns-text-muted);font-weight:500}.ns-modal{background:var(--ns-bg);border:1px solid color-mix(in srgb,var(--ns-border) 50%,transparent)}.ns-tooltip{background:var(--ns-bg-rail);font-size:14px}.pcard{background:var(--ns-bg-rail)}.pcard-box{background:color-mix(in srgb,var(--ns-surface) 80%,transparent)}*{scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--ns-bg-rail) 70%,black) transparent}.feed{scrollbar-width:auto;scrollbar-color:var(--ns-bg-rail) var(--ns-surface)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-thumb{background:var(--ns-bg-rail);border-radius:4px}::-webkit-scrollbar-track{background:transparent}.feed::-webkit-scrollbar{width:14px}.feed::-webkit-scrollbar-thumb{border:4px solid transparent;background-clip:padding-box;border-radius:8px}.feed::-webkit-scrollbar-track{background:color-mix(in srgb,var(--ns-surface) 80%,transparent);border:4px solid transparent;background-clip:padding-box;border-radius:8px}:root{--ns-spring: cubic-bezier(.34, 1.56, .64, 1)}.guild-btn{transition:border-radius var(--ns-dur-base) var(--ns-ease),background-color var(--ns-dur-fast),color var(--ns-dur-fast),transform var(--ns-dur-base) var(--ns-spring)}.guild-btn:active{transform:translateY(1px) scale(.96)}.guild .pill{transition:transform var(--ns-dur-base) var(--ns-spring)}.badge,.mentions,.friends-badge{animation:pop-in var(--ns-dur-base) var(--ns-spring) both}@keyframes pop-in{0%{transform:scale(.4);opacity:0}}.msg.enter>:not(.day-divider):not(.new-divider){animation:msg-in .26s var(--ns-ease) both}@keyframes msg-in{0%{opacity:0;transform:translateY(8px)}}.feed,.friends-body,.settings-content-inner{animation:fade-in .18s var(--ns-ease) both}@keyframes fade-in{0%{opacity:0;transform:translateY(4px)}}.reaction{transition:background-color var(--ns-dur-fast),border-color var(--ns-dur-fast),transform var(--ns-dur-fast) var(--ns-spring)}.reaction:active{transform:scale(.9)}.reaction span{display:inline-block;animation:pop-in .22s var(--ns-spring)}.friend-row,.search-hit,.admin-row,.mutual-row{animation:row-in .24s var(--ns-ease) both}.friend-row:nth-child(2),.search-hit:nth-child(2),.admin-row:nth-child(2){animation-delay:20ms}.friend-row:nth-child(3),.search-hit:nth-child(3),.admin-row:nth-child(3){animation-delay:40ms}.friend-row:nth-child(4),.search-hit:nth-child(4),.admin-row:nth-child(4){animation-delay:60ms}.friend-row:nth-child(5),.search-hit:nth-child(5),.admin-row:nth-child(5){animation-delay:80ms}.friend-row:nth-child(n+6),.search-hit:nth-child(n+6),.admin-row:nth-child(n+6){animation-delay:.1s}@keyframes row-in{0%{opacity:0;transform:translate(-6px)}}.msg .actions{display:flex!important;opacity:0;transform:translateY(4px);pointer-events:none;transition:opacity var(--ns-dur-fast),transform var(--ns-dur-fast) var(--ns-ease)}.msg:hover .actions,.msg:focus-within .actions{opacity:1;transform:none;pointer-events:auto}.ns-icon-btn{transition:background-color var(--ns-dur-fast),color var(--ns-dur-fast),transform var(--ns-dur-instant)}.ns-icon-btn:active:not(:disabled){transform:scale(.9)}.dots span{animation:dot-bounce 1.2s infinite ease-in-out both}@keyframes dot-bounce{0%,80%,to{transform:translateY(0);opacity:.35}40%{transform:translateY(-3px);opacity:1}}.tile.speaking{animation:speak 1.2s ease-in-out infinite alternate}@keyframes speak{0%{box-shadow:0 0 0 2px var(--ns-accent)}to{box-shadow:0 0 0 4px color-mix(in srgb,var(--ns-accent) 60%,transparent)}}.settings-nav-item{transition:background-color var(--ns-dur-fast),color var(--ns-dur-fast),padding-left var(--ns-dur-base) var(--ns-ease)}.settings-nav-item[aria-current=page]{padding-left:14px}.ns-toast{border:1px solid color-mix(in srgb,var(--ns-border) 60%,transparent)}@media(prefers-reduced-motion:reduce){.badge,.mentions,.friends-badge,.msg.enter>*,.feed,.friends-body,.settings-content-inner,.reaction span,.friend-row,.search-hit,.admin-row,.mutual-row,.dots span,.tile.speaking{animation:none!important}.msg .actions{transition:none}}.shell.m3{--m3-nav-h: 80px;--m3-container: color-mix(in srgb, var(--ns-accent) 22%, var(--ns-surface));--m3-on-container: var(--ns-text);--m3-ease: cubic-bezier(.2, 0, 0, 1);--m3-ease-out: cubic-bezier(.05, .7, .1, 1);display:block;position:relative;height:100dvh;font-family:Roboto,Segoe UI Variable,system-ui,sans-serif;overflow:hidden}.shell.m3 .nav-drawer{display:none}.shell.m3[data-screen=chats] .nav-drawer{display:grid;grid-template-columns:72px minmax(0,1fr);position:absolute;inset:0 0 var(--m3-nav-h) 0;animation:m3-in-left .3s var(--m3-ease-out) both}.shell.m3[data-screen=chats] .main{display:none}.shell.m3 .main{position:absolute;inset:0;display:flex;flex-direction:column}.shell.m3[data-screen=friends] .main,.shell.m3[data-screen=you] .main{bottom:var(--m3-nav-h);animation:m3-fade-through .25s var(--m3-ease) both}.shell.m3[data-screen=chat] .main{animation:m3-in-right .3s var(--m3-ease-out) both}.shell.m3 .sidebar{min-width:0}.shell.m3 .userbar{display:none}@keyframes m3-in-right{0%{transform:translate(30%);opacity:0}}@keyframes m3-in-left{0%{transform:translate(-12%);opacity:0}}@keyframes m3-fade-through{0%{opacity:0;transform:scale(.98)}}.shell.m3 .topbar{height:64px;padding:0 4px;gap:4px;background:var(--ns-bg);box-shadow:none;border-bottom:1px solid var(--ns-border)}.shell.m3 .topbar h1{font-size:20px;font-weight:500;overflow:hidden;text-overflow:ellipsis}.shell.m3 .topbar .topic,.shell.m3 .topbar-sep,.shell.m3 .search-box{display:none}.shell.m3 .ns-icon-btn{width:48px;height:48px;border-radius:50%}.shell.m3 .sidebar-head{height:64px;font-size:18px}.shell.m3 .channel{height:48px;border-radius:24px;padding:0 16px;font-size:16px}.shell.m3 .channel.dm{height:56px;border-radius:28px;padding:0 12px}.shell.m3 .channel[aria-current=page]{background:var(--m3-container);color:var(--m3-on-container)}.shell.m3 .rail{padding-top:16px}.shell.m3 .composer{padding:8px 8px calc(8px + env(safe-area-inset-bottom));background:var(--ns-bg)}.shell.m3 .composer-box{border-radius:28px;min-height:52px;padding:0 4px 0 6px}.shell.m3 .msg{padding-left:64px;padding-right:12px}.shell.m3 .msg .avatar{left:12px}.shell.m3 .msg .actions{display:none!important}.m3-navbar{position:absolute;left:0;right:0;bottom:0;height:var(--m3-nav-h);padding-bottom:env(safe-area-inset-bottom);display:flex;background:color-mix(in srgb,var(--ns-surface) 85%,var(--ns-accent) 4%);box-shadow:0 -1px 0 var(--ns-border);z-index:10}.m3-nav-item{all:unset;flex:1;display:grid;justify-items:center;align-content:center;gap:4px;cursor:pointer;color:var(--ns-text-muted);-webkit-tap-highlight-color:transparent}.m3-nav-indicator{position:relative;width:64px;height:32px;border-radius:16px;display:grid;place-items:center;transition:background-color .2s var(--m3-ease)}.m3-nav-item[aria-current=page]{color:var(--ns-text)}.m3-nav-item[aria-current=page] .m3-nav-indicator{background:var(--m3-container);animation:m3-indicator .3s var(--m3-ease-out)}@keyframes m3-indicator{0%{transform:scaleX(.4)}}.m3-nav-label{font-size:12px;font-weight:500;letter-spacing:.5px}.m3-nav-item[aria-current=page] .m3-nav-label{font-weight:700}.m3-nav-item:focus-visible .m3-nav-indicator{outline:2px solid var(--ns-focus)}.m3-nav-badge{position:absolute;top:0;right:14px;min-width:16px;height:16px;padding:0 4px;border-radius:8px;background:var(--ns-danger);color:var(--ns-on-danger);font-size:11px;font-weight:700;display:grid;place-items:center}.m3-fab{all:unset;position:absolute;right:16px;bottom:calc(var(--m3-nav-h) + 16px);width:56px;height:56px;border-radius:16px;display:grid;place-items:center;background:var(--ns-accent);color:var(--ns-on-accent);box-shadow:0 3px 5px #0000004d,0 6px 14px #00000040;cursor:pointer;z-index:11;animation:m3-fab-in .3s var(--m3-ease-out) both;transition:transform .15s var(--m3-ease),box-shadow .15s}.m3-fab:active{transform:scale(.94);box-shadow:0 1px 3px #0000004d}.m3-fab:focus-visible{outline:2px solid var(--ns-focus);outline-offset:3px}@keyframes m3-fab-in{0%{transform:scale(.3);opacity:0}}.shell.m3 .members{position:absolute;top:0;right:0;bottom:0;width:min(320px,86vw);z-index:30;border-radius:16px 0 0 16px;box-shadow:var(--ns-shadow-pop);animation:m3-sheet-right .3s var(--m3-ease-out) both;display:block}@keyframes m3-sheet-right{0%{transform:translate(100%)}}.m3-scrim{position:absolute;inset:0;background:#0006;z-index:29;animation:fade-in .2s both}.m3-you{flex:1;overflow-y:auto;padding:24px 16px;display:grid;gap:16px;align-content:start}.m3-you-card{all:unset;display:flex;align-items:center;gap:16px;padding:16px;border-radius:28px;background:var(--ns-surface);cursor:pointer}.m3-you-card>span{display:grid;gap:2px;font-size:20px;font-weight:500;min-width:0}.m3-list{display:grid;border-radius:28px;overflow:hidden;background:var(--ns-surface)}.m3-list-item{all:unset;display:flex;align-items:center;justify-content:space-between;min-height:56px;padding:0 24px;font-size:16px;cursor:pointer;border-bottom:1px solid var(--ns-border)}.m3-list-item:last-child{border-bottom:0}.m3-ripple-host{position:relative;overflow:hidden}.m3-ripple{position:absolute;border-radius:50%;background:currentColor;opacity:.14;transform:scale(0);pointer-events:none;animation:m3-ripple .45s var(--m3-ease-out) forwards}@keyframes m3-ripple{to{transform:scale(1);opacity:0}}@media(max-width:767px){.ns-backdrop{align-items:end}.ns-modal{width:100%;max-width:none;max-height:92dvh;border-radius:28px 28px 0 0;padding:12px 20px calc(24px + env(safe-area-inset-bottom));animation:m3-sheet-up .32s cubic-bezier(.05,.7,.1,1) both}.ns-modal:before{content:"";justify-self:center;width:32px;height:4px;border-radius:2px;background:var(--ns-text-faint);opacity:.6;margin-bottom:4px}.ns-toasts{left:16px;right:16px;bottom:96px}.ns-toast{min-width:0;max-width:none;background:var(--ns-text);color:var(--ns-bg);border-radius:4px;border:0;padding:14px 16px;font-size:14px}.ns-toast--error{border-left:4px solid var(--ns-danger)}.ns-btn{height:40px;border-radius:20px;padding:0 24px}.ns-btn--sm{height:36px;border-radius:18px;padding:0 16px}.ns-input{height:56px;border-radius:4px 4px 0 0;border:0;border-bottom:1px solid var(--ns-border-input);background:var(--ns-surface-2);padding:0 16px}.ns-input:focus{outline:0;border-bottom:2px solid var(--ns-accent)}.ns-textarea{height:auto;padding:12px 16px}.ns-popover.pcard-pop{position:fixed;left:0!important;right:0;top:auto!important;bottom:0;border-radius:28px 28px 0 0;max-height:90dvh;animation:m3-sheet-up .32s cubic-bezier(.05,.7,.1,1) both}.ns-popover.pcard-pop .pcard{width:100%;border-radius:28px 28px 0 0}.lightbox img{max-width:100vw;border-radius:0}.settings-layer{animation:m3-in-right .3s cubic-bezier(.05,.7,.1,1) both}}@keyframes m3-sheet-up{0%{transform:translateY(100%)}}@media(prefers-reduced-motion:reduce){.shell.m3 .nav-drawer,.shell.m3 .main,.m3-fab,.shell.m3 .members,.m3-nav-indicator,.ns-modal,.ns-popover.pcard-pop,.settings-layer{animation:none!important}}.shell.m3 .friends-bar h1,.shell.m3 .friends-bar .topbar-sep,.shell.m3 .friends-bar>svg{display:none}.shell.m3 .friends-bar{padding-left:8px}.shell.m3 .friends-body{padding:12px 16px 24px}.feed{overflow-x:hidden}
