:root{color-scheme:dark;--bg:#1b1d21;--rail:#141619;--side:#181a1e;--panel:#22252a;--panel-hover:#2a2e34;--border:#30343b;--text:#e9eaed;--muted:#a0a6b0;--faint:#838b98;--mint:#adc4b7;--mint-ink:#1d3028;--violet:#aebed1;--danger:#db9297;--shadow:0 16px 48px #0005;--radius:10px;font-family:Inter,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;font-size:14px;line-height:1.5}
:root[data-theme=light]{color-scheme:light;--bg:#fafaf8;--rail:#e9ece9;--side:#f1f2ef;--panel:#fff;--panel-hover:#e8ece8;--border:#d9ded9;--text:#252c2a;--muted:#5e6862;--faint:#6d7771;--mint:#39634e;--mint-ink:#fff;--violet:#4f6579;--danger:#a44850;--shadow:0 16px 48px #20302820}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);overflow:hidden}button,input,textarea,select{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button{color:inherit;border:0;background:none}a{color:var(--mint);text-decoration:none}a:hover{text-decoration:underline}button:disabled{cursor:not-allowed;opacity:.45}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--mint);outline-offset:3px}svg{flex-shrink:0;vertical-align:middle}h1,h2,h3,h4,p{margin:0}button,input,textarea,a{touch-action:manipulation}input,textarea,select{color:var(--text);background:var(--side);border:1px solid var(--border);border-radius:9px;padding:11px 13px;min-width:0}input::placeholder,textarea::placeholder{color:var(--faint)}input:focus,textarea:focus,select:focus{border-color:var(--mint);outline:none}textarea{resize:vertical}input[type=checkbox]{accent-color:var(--mint);width:16px;height:16px}input[type=file]{display:none}code,pre{font-family:'SFMono-Regular',Consolas,monospace}code{background:var(--rail);padding:2px 5px;border-radius:4px;font-size:.9em}pre{padding:15px;border-radius:9px;border:1px solid var(--border);background:var(--rail);overflow:auto;white-space:pre-wrap;font-size:12px}pre code{padding:0;background:none}::selection{background:color-mix(in srgb,var(--mint) 20.0%,transparent)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-thumb{background:var(--border);border-radius:8px}::-webkit-scrollbar-track{background:transparent}
.muted{color:var(--muted)}
.faint{color:var(--faint)}
.small{font-size:12px}
.eyebrow{font-size:10px;font-weight:750;letter-spacing:1.8px;text-transform:uppercase;color:var(--muted)}
.row{display:flex;align-items:center;gap:10px}
.between{justify-content:space-between}
.stack{display:flex;flex-direction:column;gap:14px}
.grow{flex:1;min-width:0}
.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;font-weight:650;border-radius:9px;padding:11px 16px;white-space:nowrap;transition:background .15s,transform .15s;font-size:13px}
.btn:hover{text-decoration:none;transform:translateY(-1px)}
.btn-primary{background:var(--mint);color:var(--mint-ink)}
.btn-primary:hover{filter:brightness(1.05)}
.btn-secondary{background:var(--panel);border:1px solid var(--border)}
.btn-secondary:hover{background:var(--panel-hover)}
.btn-danger{background:color-mix(in srgb,var(--danger) 10.2%,transparent);color:var(--danger);border:1px solid color-mix(in srgb,var(--danger) 20.0%,transparent)}
.btn-small{font-size:12px;padding:7px 10px}
.icon-btn{width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;color:var(--muted);border-radius:8px;flex-shrink:0;transition:.15s}
.icon-btn:hover,.icon-btn.active{background:var(--panel-hover);color:var(--text)}
.icon-btn.danger{color:var(--danger)}
.badge{border-radius:5px;background:var(--panel);color:var(--muted);padding:3px 7px;font-size:10px;letter-spacing:.7px;font-weight:700}
.dot{width:7px;height:7px;border-radius:50%;display:inline-block;background:#7dcf98}
.dot.idle{background:#e4b469}
.dot.dnd{background:#ed8297}
.dot.invisible,.dot.offline{background:#73798a}
.logo-mark{display:flex;gap:4px;width:35px;height:35px;align-items:flex-end;justify-content:center;transform:rotate(-12deg);padding:5px}
.logo-mark i{display:block;width:6px;border-radius:6px;background:currentColor;height:15px}
.logo-mark i:nth-child(2){height:25px}
.logo-mark i:nth-child(3){height:20px}
.logo-word{font-weight:850;font-size:27px;letter-spacing:-1.8px}
.brand{display:flex;gap:7px;align-items:center;color:var(--mint)}
.avatar{width:36px;height:36px;border-radius:12px;background:#2d2945;color:#c4b6ff;display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-size:13px;flex-shrink:0;position:relative}
.avatar.big{width:76px;height:76px;border-radius:24px;font-size:27px}
.avatar.tiny{width:22px;height:22px;border-radius:7px;font-size:9px;border:2px solid var(--side)}
.color-violet{background:#342c51;color:#c5b6fa}
.color-mint{background:#233b32;color:var(--mint)}
.color-pink{background:#472b3f;color:#f3b4db}
.color-amber{background:#433629;color:#efd6a4}
.color-blue{background:#26364e;color:#b4cdf7}
.avatar .status-dot{position:absolute;bottom:-2px;right:-2px;width:11px;height:11px;border:3px solid var(--side);border-radius:50%}
.boot{min-height:100dvh;display:flex;gap:18px;align-items:center;justify-content:center;color:var(--mint)}
.boot .logo-mark{animation:pulse 2s ease infinite}
.tooltip{position:relative}
.tooltip:after{content:attr(aria-label);position:absolute;left:calc(100% + 12px);top:50%;transform:translateY(-50%);font-size:12px;white-space:nowrap;background:var(--text);color:var(--rail);padding:6px 10px;border-radius:7px;opacity:0;pointer-events:none;z-index:80}
.tooltip:hover:after,.tooltip:focus-visible:after{opacity:1}
.shell{display:grid;grid-template-columns:76px 254px minmax(0,1fr) 234px;height:100dvh}
.shell.no-members{grid-template-columns:76px 254px minmax(0,1fr)}
.shell.no-members .members-panel{display:none}
.rail{background:var(--rail);border-right:1px solid #ffffff03;display:flex;align-items:center;flex-direction:column;padding:21px 10px 15px;gap:12px;z-index:30;overflow-y:auto}
.rail-brand{width:45px;height:45px;background:var(--mint);color:var(--mint-ink);border-radius:15px;margin-bottom:7px}
.rail-brand .logo-mark{margin:auto}
.rail-divider{width:27px;border-top:1px solid var(--border);margin:3px 0 6px}
.server-icon{position:relative;width:45px;height:45px;border-radius:16px;font-size:17px;font-weight:700;flex-shrink:0;transition:all .16s}
.server-icon:hover{border-radius:13px;filter:brightness(1.16)}
.server-icon.active:before{content:'';position:absolute;width:3px;height:28px;border-radius:3px;left:-16px;top:9px;background:var(--mint)}
.server-icon.home{color:var(--muted);background:var(--panel)}
.server-icon.home.active{color:var(--mint)}
.server-icon.add{color:var(--mint);border:1px dashed color-mix(in srgb,var(--mint) 21.2%,transparent);background:color-mix(in srgb,var(--mint) 3.1%,transparent)}
.server-icon .unread-dot{position:absolute;width:9px;height:9px;bottom:-2px;right:-2px;border-radius:50%;background:var(--mint);border:2px solid var(--rail)}
.rail-spacer{flex:1;min-height:35px}
.rail-bottom{display:flex;flex-direction:column;gap:10px}
.sidebar{background:var(--side);display:flex;flex-direction:column;border-right:1px solid var(--border);min-height:0}
.server-header{height:72px;padding:0 21px;border-bottom:1px solid var(--border);font-size:15px;font-weight:700;display:flex;align-items:center;gap:10px}
.server-header button{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;text-align:left;font-weight:inherit}
.sidebar-scroll{padding:18px 15px;overflow-y:auto;flex:1}
.server-banner{padding:16px;border:1px solid color-mix(in srgb,var(--violet) 13.3%,transparent);background:var(--panel);border-radius:12px;position:relative;overflow:hidden;margin-bottom:17px;min-height:110px}
.server-banner:after{content:'';position:absolute;width:80px;height:80px;border-radius:24px;border:1px solid color-mix(in srgb,var(--mint) 14.5%,transparent);transform:rotate(35deg);right:-26px;top:22px;box-shadow:0 0 0 15px color-mix(in srgb,var(--mint) 2.0%,transparent),0 0 0 30px color-mix(in srgb,var(--mint) 1.2%,transparent)}
.server-banner .eyebrow{color:#b3a9d6;font-size:9px;letter-spacing:1.4px}
.server-banner h3{color:#eef2f2;font-size:17px;line-height:1.3;margin:7px 0 10px;max-width:160px;font-weight:700;letter-spacing:-.5px}
.server-banner .small{font-size:10px;color:#b4b8c5}
.invite-btn{display:flex;align-items:center;justify-content:center;gap:7px;width:100%;padding:9px;border:1px solid var(--border);border-radius:8px;font-size:12px;color:var(--muted);margin-bottom:19px}
.invite-btn:hover{color:var(--mint);border-color:color-mix(in srgb,var(--mint) 29.0%,transparent)}
.section-label{display:flex;align-items:center;justify-content:space-between;margin:16px 7px 7px;color:var(--faint);font-size:10px;letter-spacing:1.25px;font-weight:700}
.section-label .icon-btn{width:20px;height:22px}
.channel{display:flex;align-items:center;gap:9px;width:100%;padding:9px 11px;border-radius:7px;color:var(--muted);font-size:13px;margin:2px 0;text-align:left;position:relative;min-height:37px}
.channel svg{color:var(--faint)}
.channel:hover{background:var(--panel);color:var(--text)}
.channel.active{background:color-mix(in srgb,var(--violet) 7.8%,transparent);color:#d5cef4;font-weight:650}
.channel.active svg{color:var(--violet)}
.channel.active:before{content:'';position:absolute;left:0;top:11px;width:2px;height:15px;background:var(--violet);border-radius:2px}
.channel.voice-active{color:var(--mint);background:color-mix(in srgb,var(--mint) 3.9%,transparent)}
.channel.voice-active svg{color:var(--mint)}
.channel .unread{margin-left:auto;border-radius:5px;background:var(--violet);color:#191424;font-size:10px;padding:1px 6px;font-weight:800}
.channel.unread-channel{color:var(--text);font-weight:600}
.voice-users{margin:0 0 8px 37px;display:flex;align-items:center;gap:3px}
.voice-users .small{margin-left:4px;font-size:10px;color:var(--muted)}
.sidebar-hint{margin:23px 9px;display:flex;gap:8px;color:var(--faint);font-size:11px;line-height:1.6}
.sidebar-hint svg{color:#747a8e}
.user-panel{border-top:1px solid var(--border);padding:14px 12px;display:flex;align-items:center;gap:8px}
.user-panel .user-name{font-size:12px;font-weight:650}
.user-panel .small{font-size:10px}
.user-panel .icon-btn{width:27px;height:29px}
.user-info{flex:1;min-width:0}
.connection{margin:0 11px 10px;padding:12px;background:color-mix(in srgb,var(--mint) 2.7%,transparent);border:1px solid color-mix(in srgb,var(--mint) 11.0%,transparent);border-radius:9px}
.connection .label{color:var(--mint);font-size:11px;font-weight:700}
.connection .small{font-size:10px}
.connection .icon-btn{width:25px;height:27px}
.main{min-width:0;min-height:0;display:flex;flex-direction:column;background:var(--bg)}
.topbar{height:72px;flex-shrink:0;display:flex;align-items:center;padding:0 28px;gap:12px;border-bottom:1px solid var(--border)}
.topbar>.channel-symbol{color:var(--faint)}
.topbar h2{font-size:15px;font-weight:700;letter-spacing:-.3px}
.topbar .topic{font-size:11px;color:var(--faint);border-left:1px solid var(--border);padding-left:13px;margin-left:4px;max-width:260px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.topbar .tools{display:flex;gap:5px;align-items:center;margin-left:auto}
.search-trigger{display:flex;align-items:center;gap:8px;color:var(--faint);border:1px solid var(--border);border-radius:7px;padding:6px 8px;width:140px;font-size:11px;margin-right:10px}
.search-trigger kbd{font-size:9px;margin-left:auto;background:var(--panel);padding:1px 4px;border-radius:3px;color:var(--faint)}
.mobile-menu{display:none}
.connection-status{height:25px;display:flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--danger) 8.2%,transparent);color:var(--danger);font-size:11px;flex-shrink:0}
.chat-scroll{overflow-y:auto;min-height:0;flex:1;overscroll-behavior:contain;padding-top:0;scroll-behavior:auto}
.chat-welcome{padding:33px 32px 25px}
.welcome-kicker{display:flex;align-items:center;gap:8px;font-size:9px;letter-spacing:1.7px;font-weight:650;color:var(--faint);margin-bottom:20px}
.welcome-kicker svg{color:var(--violet)}
.welcome-title{display:flex;gap:17px;align-items:center}
.welcome-symbol{width:57px;height:57px;display:flex;align-items:center;justify-content:center;border-radius:18px;border:1px solid color-mix(in srgb,var(--violet) 19.2%,transparent);color:var(--violet);background:color-mix(in srgb,var(--violet) 3.9%,transparent);transform:rotate(-4deg)}
.chat-welcome h1{font-size:28px;font-weight:750;letter-spacing:-1.1px;line-height:1.2}
.chat-welcome p{font-size:12px;color:var(--muted);margin-top:7px}
.welcome-actions{display:flex;gap:9px;margin:18px 0 0 74px}
.welcome-actions button{padding:6px 9px;color:var(--muted);font-size:11px;display:flex;gap:6px;align-items:center;border-radius:6px;border:1px solid var(--border)}
.welcome-actions button:hover{color:var(--mint);border-color:color-mix(in srgb,var(--mint) 29.0%,transparent)}
.date-divider{display:flex;align-items:center;gap:14px;padding:13px 32px 19px;font-size:9px;letter-spacing:.7px;color:var(--faint);font-weight:600}
.date-divider:before,.date-divider:after{content:'';flex:1;border-top:1px solid var(--border)}
.message{display:flex;gap:13px;padding:8px 32px;position:relative;min-height:55px}
.message:hover{background:#ffffff02}
.message.grouped{min-height:30px;padding-top:2px;padding-bottom:3px}
.message .avatar{margin-top:2px;width:35px;height:35px;border-radius:11px}
.message.grouped>.avatar{visibility:hidden;height:20px}
.message-head{display:flex;align-items:baseline;gap:9px;margin-bottom:4px}
.message-head .name{font-size:12px;font-weight:650}
.message-head time{font-size:9px;color:var(--faint)}
.message-head .role-label{font-size:8px;color:var(--violet);border:1px solid color-mix(in srgb,var(--violet) 12.9%,transparent);border-radius:3px;padding:0 4px;letter-spacing:.5px}
.message-body{font-size:13px;line-height:1.7;overflow-wrap:anywhere;color:var(--text);white-space:pre-wrap}
.message-body blockquote{margin:5px 0;padding:2px 12px;border-left:3px solid var(--violet);color:var(--muted)}
.message-body a{color:var(--violet)}
.message-body .mention{color:var(--violet);background:color-mix(in srgb,var(--violet) 7.1%,transparent);padding:0 3px;border-radius:3px}
.message-body .edited{font-size:9px;color:var(--faint);margin-left:5px}
.message-content{min-width:0;flex:1}
.message-actions{position:absolute;right:24px;top:-14px;display:flex;padding:3px;background:var(--side);border:1px solid var(--border);border-radius:8px;opacity:0;z-index:3;box-shadow:0 3px 12px #0002}
.message:hover .message-actions,.message:focus-within .message-actions{opacity:1}
.message-actions .icon-btn{width:28px;height:27px}
.reactions{display:flex;gap:5px;flex-wrap:wrap;margin-top:7px}
.reaction{padding:2px 7px;border-radius:6px;border:1px solid var(--border);font-size:11px;color:var(--muted);background:var(--panel)}
.reaction.mine{border-color:color-mix(in srgb,var(--violet) 41.2%,transparent);color:var(--violet);background:color-mix(in srgb,var(--violet) 6.7%,transparent)}
.reaction:hover{border-color:var(--violet)}
.reply-preview{display:flex;gap:7px;align-items:center;margin-bottom:5px;font-size:10px;color:var(--faint);max-width:100%;overflow:hidden;white-space:nowrap;cursor:pointer}
.reply-preview b{color:var(--muted);font-weight:600}
.message-pinned{font-size:9px;color:var(--violet);display:flex;gap:5px;align-items:center;margin-bottom:4px}
.thread-button{font-size:10px;color:var(--violet);margin-top:6px;display:flex;align-items:center;gap:5px;padding:0}
.deleted-message{font-style:italic;color:var(--faint);font-size:12px}
.message-files{display:flex;gap:9px;flex-wrap:wrap;margin-top:9px}
.image-attachment img{max-width:320px;max-height:250px;object-fit:contain;border-radius:9px;display:block;border:1px solid var(--border)}
.file-attachment{border:1px solid var(--border);background:var(--panel);padding:11px 13px;border-radius:8px;display:flex;gap:11px;align-items:center;min-width:190px;max-width:320px}
.file-attachment .small{font-size:10px}
.file-attachment svg{color:var(--violet)}
.composer-wrap{padding:17px 25px 15px;flex-shrink:0}
.composer{border:1px solid var(--border);background:var(--panel);border-radius:11px;overflow:hidden;transition:border-color .2s}
.composer:focus-within{border-color:color-mix(in srgb,var(--violet) 28.2%,transparent)}
.composer-inner{display:flex;align-items:flex-end;gap:12px;padding:14px 14px 12px}
.composer textarea{border:0;box-shadow:none;outline:none;background:none;resize:none;min-height:24px;max-height:150px;flex:1;padding:0;font-size:13px;line-height:1.75}
.composer textarea:focus{outline:0}
.composer-inner .icon-btn{width:29px;height:29px}
.composer-inner .upload-button{border:1px solid var(--border);border-radius:50%;width:24px;height:24px;margin:0 2px 2px;color:var(--muted)}
.send-button{width:31px;height:31px;border-radius:8px;background:var(--mint);color:var(--mint-ink);display:flex;align-items:center;justify-content:center}
.composer-foot{display:flex;align-items:center;justify-content:space-between;font-size:9px;color:var(--faint);padding:8px 4px 0;min-height:22px}
.composer-foot b{color:var(--muted);font-weight:600}
.composer-reply{display:flex;align-items:center;gap:8px;padding:8px 13px;border-bottom:1px solid var(--border);font-size:11px;color:var(--muted);background:color-mix(in srgb,var(--violet) 3.5%,transparent)}
.composer-reply .icon-btn{width:21px;height:21px;margin-left:auto}
.upload-chips{padding:10px 12px 0;display:flex;gap:8px;flex-wrap:wrap}
.upload-chip{display:flex;align-items:center;gap:6px;padding:5px 7px;background:var(--side);border:1px solid var(--border);border-radius:6px;font-size:10px}
.upload-chip .icon-btn{width:18px;height:18px}
.typing-status{color:var(--violet);min-height:14px}
.members-panel{background:var(--side);border-left:1px solid var(--border);display:flex;flex-direction:column;min-height:0}
.members-heading{height:72px;display:flex;align-items:center;justify-content:space-between;padding:0 20px;border-bottom:1px solid var(--border)}
.members-heading h3{font-size:10px;letter-spacing:1px;color:var(--muted);font-weight:650}
.members-heading .count{font-size:10px;color:var(--faint)}
.members-list{padding:18px 15px;overflow-y:auto;flex:1}
.members-group{font-size:9px;letter-spacing:1.1px;color:var(--faint);margin:12px 6px 13px;font-weight:650}
.member-row{display:flex;align-items:center;gap:10px;width:100%;text-align:left;padding:9px 6px;border-radius:8px}
.member-row:hover{background:var(--panel)}
.member-row .avatar{width:31px;height:31px;font-size:11px;border-radius:10px}
.member-row .name{font-size:11px;font-weight:600}
.member-row .role{font-size:9px;color:var(--faint);margin-top:1px}
.member-row.offline .avatar{filter:saturate(.4);opacity:.6}
.member-row.offline .name{color:var(--muted)}
.member-crown{color:#d8b978;margin-left:auto}
.community-card{margin:15px;padding:16px;border:1px solid var(--border);border-radius:11px;background:#ffffff01}
.community-card>svg{color:var(--violet)}
.community-card h4{font-size:12px;margin:10px 0 5px}
.community-card p{font-size:10px;color:var(--faint);line-height:1.7}
.community-card button{font-size:10px;color:var(--mint);display:flex;gap:5px;align-items:center;padding:0;margin-top:12px}
.empty-chat{margin:16px 32px 30px;padding:21px;display:flex;align-items:center;gap:17px;border:1px dashed var(--border);border-radius:12px;color:var(--muted)}
.empty-chat>svg{color:var(--violet)}
.empty-chat h3{font-size:13px;color:var(--text);margin-bottom:3px}
.empty-chat p{font-size:11px}
.empty-chat .btn{margin-left:auto}
.load-more{display:block;margin:8px auto 17px;font-size:11px;color:var(--muted);border:1px solid var(--border);border-radius:6px;padding:6px 12px}
.dashboard{flex:1;overflow:auto;padding:40px 34px}
.dashboard-hero{border:1px solid color-mix(in srgb,var(--mint) 13.7%,transparent);border-radius:18px;padding:31px;background:var(--panel);position:relative;overflow:hidden}
.dashboard-hero h1{font-size:38px;line-height:1.13;letter-spacing:-1.8px;margin:17px 0 12px;font-weight:750;max-width:400px}
.dashboard-hero h1 em{font-style:normal;color:var(--mint)}
.dashboard-hero p{font-size:12px;color:var(--muted);max-width:370px;line-height:1.8}
.dashboard-hero .row{margin-top:25px;flex-wrap:wrap}
.hero-art{position:absolute;right:25px;top:40px;width:130px;height:160px;opacity:.8;transform:rotate(-12deg);display:flex;align-items:center;gap:12px}
.hero-art i{background:linear-gradient(var(--mint),color-mix(in srgb,var(--mint) 8.2%,transparent));width:30px;height:80px;border:1px solid color-mix(in srgb,var(--mint) 29.0%,transparent);border-radius:15px}
.hero-art i:nth-child(2){height:140px}
.hero-art i:nth-child(3){height:110px}
.dashboard h2{font-size:15px;font-weight:650;margin:30px 0 17px}
.server-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:13px}
.server-card{padding:19px;text-align:left;border:1px solid var(--border);background:var(--panel);border-radius:12px;display:flex;gap:13px;align-items:center}
.server-card:hover{border-color:color-mix(in srgb,var(--violet) 34.5%,transparent)}
.server-card h3{font-size:13px;font-weight:650}
.server-card p{font-size:10px;color:var(--faint);margin-top:4px}
.dashboard-note{margin-top:23px;display:flex;gap:9px;align-items:center;font-size:11px;color:var(--faint)}
.auth{height:100dvh;display:grid;grid-template-columns:1.05fr 1fr;overflow-y:auto;background:var(--rail)}
.auth-story{position:relative;padding:47px 57px;display:flex;flex-direction:column;min-height:650px;background:var(--side)}
.auth-story .brand{font-size:27px}
.auth-story .auth-copy{margin:auto 0 35px;padding:60px 0 20px}
.auth-story .eyebrow{color:var(--violet);font-size:9px;letter-spacing:2.1px}
.auth-story h1{font-size:clamp(40px,4.7vw,69px);line-height:1.06;font-weight:750;letter-spacing:-3.4px;max-width:530px;margin:19px 0 23px}
.auth-story h1 span{color:var(--mint)}
.auth-story p{color:var(--muted);max-width:380px;font-size:13px;line-height:1.9}
.auth-footer{font-size:10px;color:var(--faint);margin-top:auto}
.auth-mini{display:flex;gap:8px;margin:30px 0 33px}
.auth-pill{display:flex;align-items:center;gap:7px;border:1px solid var(--border);border-radius:8px;padding:8px 11px;font-size:10px;color:var(--muted)}
.auth-art{display:flex;gap:10px;max-width:410px;align-items:center;position:relative}
.auth-art .avatar{width:46px;height:46px;border-radius:15px}
.auth-art .mini-message{background:var(--side);padding:14px 18px;border:1px solid var(--border);border-radius:14px;max-width:270px;box-shadow:var(--shadow);transform:rotate(-3deg)}
.auth-art .mini-message .small{font-size:10px;color:var(--mint)}
.auth-art .mini-message p{font-size:11px;margin-top:3px;color:var(--muted)}
.auth-form-side{display:flex;align-items:center;justify-content:center;padding:45px;background:var(--bg);border-left:1px solid var(--border)}
.auth-card{width:100%;max-width:360px}
.auth-card h2{font-size:27px;letter-spacing:-.9px;line-height:1.3;margin:10px 0 7px}
.auth-card>.muted{font-size:12px;margin-bottom:28px}
.auth-tabs{display:flex;gap:4px;border-bottom:1px solid var(--border);margin:23px 0}
.auth-tab{font-size:12px;color:var(--faint);padding:10px 16px;flex:1;position:relative}
.auth-tab.active{color:var(--text)}
.auth-tab.active:after{content:'';position:absolute;bottom:-1px;left:0;right:0;border-bottom:2px solid var(--mint)}
.field{display:flex;flex-direction:column;gap:7px}
.field>label{font-size:11px;color:var(--muted);font-weight:600}
.field small{font-size:10px;color:var(--faint)}
.auth-card .btn{width:100%;margin-top:7px}
.auth-card .fine-print{font-size:10px;color:var(--faint);text-align:center;margin-top:22px;line-height:1.8}
.form-error{padding:10px 12px;border-radius:8px;font-size:11px;border:1px solid color-mix(in srgb,var(--danger) 18.4%,transparent);background:color-mix(in srgb,var(--danger) 4.7%,transparent);color:var(--danger);display:none}
.form-error.visible{display:block}
.invite-notice{margin-bottom:19px;padding:14px;border:1px solid color-mix(in srgb,var(--mint) 16.1%,transparent);border-radius:10px;color:var(--mint);font-size:12px}
.auth-mobile-brand{display:none}
.modal-backdrop{position:fixed;inset:0;z-index:100;background:#080a12b5;backdrop-filter:blur(7px);display:flex;align-items:center;justify-content:center;padding:20px}
.modal{width:100%;max-width:490px;border-radius:17px;border:1px solid var(--border);background:var(--bg);box-shadow:var(--shadow);max-height:90dvh;display:flex;flex-direction:column;animation:appear .15s ease-out}
.modal.wide{max-width:690px}
.modal-header{padding:24px 25px 18px;display:flex;align-items:flex-start;gap:12px}
.modal-header h2{font-size:20px;letter-spacing:-.5px;font-weight:700}
.modal-header p{font-size:11px;color:var(--muted);margin-top:5px}
.modal-header>.icon-btn{margin-left:auto;margin-top:-3px}
.modal-body{padding:0 25px 25px;overflow:auto}
.modal-footer{border-top:1px solid var(--border);padding:16px 25px;display:flex;gap:9px;justify-content:flex-end}
.modal form{display:flex;flex-direction:column;min-height:0}
.modal .tabs{display:flex;border-bottom:1px solid var(--border);gap:17px;margin-bottom:20px}
.modal .tabs button{padding:10px 0;font-size:11px;color:var(--faint);border-bottom:2px solid transparent}
.modal .tabs button.active{color:var(--mint);border-color:var(--mint)}
.color-picker{display:flex;gap:10px}
.color-swatch{width:30px;height:30px;border-radius:10px;border:2px solid transparent}
.color-swatch.selected{border-color:var(--text);outline:2px solid var(--border);outline-offset:2px}
.color-swatch svg{width:14px}
.modal .info{padding:13px 15px;border-radius:9px;border:1px solid var(--border);background:var(--side);font-size:11px;color:var(--muted);line-height:1.8}
.invite-link{display:flex;gap:8px}
.invite-link input{flex:1;font-size:11px}
.profile-header{display:flex;align-items:center;gap:18px;margin-bottom:25px}
.profile-header h3{font-size:19px;letter-spacing:-.5px}
.profile-header p{color:var(--faint);font-size:11px}
.profile-bio{color:var(--muted);font-size:12px;line-height:1.8;margin:14px 0 22px;white-space:pre-wrap}
.profile-controls{border-top:1px solid var(--border);padding-top:17px;margin-top:22px}
.profile-controls label{font-size:11px;color:var(--faint)}
.setting-row{display:flex;align-items:center;justify-content:space-between;padding:14px 0;gap:15px;border-bottom:1px solid var(--border)}
.setting-row h4{font-size:12px;font-weight:600}
.setting-row p{font-size:10px;color:var(--faint);margin-top:4px}
.danger-zone{margin-top:24px;border-top:1px solid var(--border);padding-top:18px}
.danger-zone p{font-size:11px;color:var(--faint);margin:7px 0 13px}
.guide h3{font-size:13px;color:var(--mint);margin:23px 0 9px}
.guide p,.guide li{font-size:12px;line-height:1.85;color:var(--muted)}
.guide ul,.guide ol{padding-left:21px}
.guide p+p{margin-top:11px}
.guide code{font-size:11px}
.guide a{color:var(--mint)}
.list-empty{padding:25px 15px;text-align:center;color:var(--faint);font-size:12px}
.search-form{display:flex;gap:8px;margin-bottom:18px}
.search-form input{flex:1}
.search-results .message{padding:13px 8px;border-bottom:1px solid var(--border)}
.search-results .message .message-actions{display:none}
.search-result-label{font-size:10px;color:var(--violet);margin-bottom:6px}
.emoji-grid{display:grid;grid-template-columns:repeat(8,1fr);gap:7px}
.emoji-grid button{font-size:24px;aspect-ratio:1;border-radius:8px;background:var(--panel)}
.emoji-grid button:hover{background:var(--panel-hover)}
.thread-panel{width:340px;border-left:1px solid var(--border);background:var(--side);display:flex;flex-direction:column}
.thread-panel .message{padding:10px 15px}
.thread-panel .message-actions{right:6px}
.thread-panel .message .avatar{width:29px;height:29px}
.thread-panel .message-body{font-size:12px}
.thread-panel .topbar{height:56px;padding:0 16px}
.thread-panel .topbar h2{font-size:12px}
.thread-panel .composer-wrap{padding:12px}
.thread-chat{flex:1;overflow:auto;padding:10px 0}
.thread-layout{display:flex;min-height:0;flex:1}
.thread-layout>.main-chat{flex:1;min-width:0;display:flex;flex-direction:column}
.voice-page{flex:1;min-height:0;overflow:auto;padding:30px}
.voice-hero{text-align:center;margin:10px 0 27px}
.voice-hero .eyebrow{color:var(--mint);margin:15px 0 12px}
.voice-hero h1{font-size:29px;letter-spacing:-1px}
.voice-hero p{font-size:12px;color:var(--muted);margin-top:9px}
.voice-hero .welcome-symbol{margin:auto;color:var(--mint);background:color-mix(in srgb,var(--mint) 3.5%,transparent);border-color:color-mix(in srgb,var(--mint) 15.7%,transparent);width:70px;height:70px}
.voice-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:13px;max-width:850px;margin:25px auto}
.voice-tile{aspect-ratio:1.5;border:1px solid var(--border);background:var(--panel);border-radius:14px;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}
.voice-tile .avatar{width:65px;height:65px;font-size:22px;border-radius:22px;z-index:1}
.voice-tile.connected{border-color:color-mix(in srgb,var(--mint) 27.8%,transparent)}
.voice-tile.speaking{border-color:var(--mint);box-shadow:0 0 0 1px var(--mint)}
.voice-tile video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;background:var(--rail);z-index:2}
.voice-tile video.hidden{display:none}
.voice-tile .tile-label{position:absolute;left:12px;bottom:10px;background:#101116b0;color:#fff;font-size:11px;padding:4px 8px;border-radius:6px;z-index:3;max-width:calc(100% - 45px)}
.voice-tile .tile-state{position:absolute;right:12px;bottom:12px;color:var(--muted);z-index:3}
.voice-tile .tile-connection{position:absolute;right:12px;top:12px;z-index:3;font-size:9px;color:var(--mint);background:#1011169c;padding:3px 6px;border-radius:4px}
.voice-controls{display:flex;gap:9px;justify-content:center;flex-wrap:wrap;padding:15px;margin:auto}
.voice-controls .control{padding:13px;border:1px solid var(--border);background:var(--panel);border-radius:12px;min-width:48px;height:48px}
.voice-controls .control:hover{background:var(--panel-hover)}
.voice-controls .control.off{background:color-mix(in srgb,var(--danger) 6.3%,transparent);color:var(--danger);border-color:color-mix(in srgb,var(--danger) 20.0%,transparent)}
.voice-controls .control.on{color:var(--mint);border-color:color-mix(in srgb,var(--mint) 35.3%,transparent)}
.voice-controls .control.hangup{background:#b84c60;color:#fff;border-color:transparent;min-width:65px}
.voice-note{text-align:center;font-size:10px;color:var(--faint);margin:13px auto;max-width:440px;line-height:1.8}
.voice-join{display:flex;justify-content:center;margin:27px 0}
.screen-tile{aspect-ratio:1.7;grid-column:1/-1}
.screen-tile video{object-fit:contain}
.toast{background:var(--panel);border:1px solid var(--border);border-radius:10px;padding:13px 17px;box-shadow:var(--shadow);font-size:12px;display:flex;gap:10px;align-items:center;animation:appear .2s;max-width:400px}
.toast>svg{color:var(--mint)}
.toast.error>svg{color:var(--danger)}#toasts{position:fixed;right:23px;bottom:22px;z-index:200;display:flex;flex-direction:column;gap:8px;pointer-events:none}
.spinner{width:15px;height:15px;border:2px solid var(--border);border-top-color:var(--mint);border-radius:50%;display:inline-block;animation:spin .7s linear infinite}
.banned-row{display:flex;align-items:center;gap:10px;border-bottom:1px solid var(--border);padding:10px 0}
.help-shortcuts{display:grid;grid-template-columns:auto 1fr;gap:9px 16px;font-size:12px;color:var(--muted);margin:17px 0}
.help-shortcuts kbd{padding:3px 7px;border:1px solid var(--border);border-radius:5px;background:var(--side);font-size:10px;text-align:center}
.offline-card{padding:40px;max-width:500px;margin:20vh auto;text-align:center}
.offline-card h2{margin:15px 0;font-size:23px}
.offline-card p{font-size:13px;color:var(--muted);margin-bottom:20px}
.thread-parent{padding:10px 15px;font-size:10px;color:var(--faint);border-bottom:1px solid var(--border)}
.invisible{display:none!important}
.radio-options{display:flex;gap:9px}
.radio-option{flex:1;border:1px solid var(--border);border-radius:9px;padding:13px;text-align:center}
.radio-option.selected{border-color:color-mix(in srgb,var(--mint) 39.2%,transparent);background:color-mix(in srgb,var(--mint) 2.7%,transparent);color:var(--mint)}
.radio-option span{display:block;font-size:11px;margin-top:4px}
.search-note{font-size:10px;color:var(--faint);margin-top:12px}
.check-label{display:flex;align-items:center;gap:9px;font-size:12px;color:var(--muted)}
.sidebar-filter{position:relative;margin:10px 0 17px}
.sidebar-filter>svg{position:absolute;left:11px;top:11px;color:var(--faint)}
.sidebar-filter input{width:100%;background:var(--rail);padding:9px 10px 9px 34px;border-color:transparent;font-size:11px}
.sidebar-filter input:focus{border-color:var(--border)}
.account-tag{border:1px solid var(--border);border-radius:7px;padding:7px 9px;font-size:10px;color:var(--faint);display:inline-flex;align-items:center;gap:7px}
.new-dm{display:flex;align-items:center;gap:12px;width:100%;padding:11px 5px;text-align:left;border-bottom:1px solid var(--border)}
.new-dm:hover{background:var(--panel)}
.help-callout{border:1px solid color-mix(in srgb,var(--mint) 14.5%,transparent);border-radius:10px;background:color-mix(in srgb,var(--mint) 2.4%,transparent);padding:16px;margin-top:15px}
.help-callout h4{font-size:12px;color:var(--mint);margin-bottom:6px}
.help-callout p{font-size:11px;color:var(--muted)}
@keyframes spin{to{transform:rotate(360deg)}}
@keyframes pulse{50%{opacity:.4;transform:rotate(-12deg) translateY(-3px)}}
@keyframes appear{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:1450px){.shell{grid-template-columns:80px 270px minmax(0,1fr) 254px}
.shell.no-members{grid-template-columns:80px 270px minmax(0,1fr)}
.topbar{padding:0 36px}
.chat-welcome{padding:38px 40px 29px}
.message{padding-left:40px;padding-right:40px}
.composer-wrap{padding:19px 33px}
.dashboard{padding:46px}}
@media(max-width:1200px){.topbar .topic{display:none}
.search-trigger{width:115px}
.thread-panel{width:290px}
.auth-story{padding:40px}
.hero-art{opacity:.35}
.dashboard-hero h1{position:relative;z-index:1}}
@media(max-width:1050px){.shell{grid-template-columns:70px 234px minmax(0,1fr)}
.shell.no-members{grid-template-columns:70px 234px minmax(0,1fr)}
.members-panel{display:none}
.shell.show-members .members-panel{display:flex;position:fixed;right:0;top:72px;bottom:0;width:235px;z-index:20;box-shadow:-12px 0 40px #0004}
.thread-panel{width:270px}
.topbar{padding:0 22px}
.chat-welcome{padding:27px 24px}
.message{padding-left:24px;padding-right:24px}
.chat-welcome h1{font-size:25px}
.auth-story h1{letter-spacing:-2px}
.auth-form-side{padding:35px}
.empty-chat{margin:15px 24px}
.empty-chat .btn{display:none}}
@media(max-width:800px){.auth{grid-template-columns:1fr}
.auth-story{display:none}
.auth-form-side{border:0;min-height:100dvh;padding:35px 25px}
.auth-mobile-brand{display:flex;margin-bottom:36px}
.shell,.shell.no-members{grid-template-columns:62px minmax(0,1fr)}
.rail{padding:17px 8px;gap:11px}
.server-icon,.rail-brand{width:40px;height:40px;border-radius:14px}
.server-icon.active:before{left:-11px;top:7px}
.sidebar{position:fixed;left:62px;top:0;bottom:0;width:254px;z-index:25;display:none;box-shadow:10px 0 45px #0006}
.shell.mobile-open .sidebar{display:flex}
.mobile-menu{display:inline-flex}
.topbar{padding:0 15px;height:62px;gap:8px}
.topbar .tools{gap:1px}
.topbar .search-trigger{width:30px;padding:6px;border:0;margin:0}
.search-trigger span,.search-trigger kbd{display:none}
.topbar h2{font-size:13px}
.topbar .badge{display:none}
.shell.show-members .members-panel{top:62px}
.chat-welcome{padding:26px 18px 22px}
.chat-welcome h1{font-size:23px}
.chat-welcome p{font-size:11px}
.welcome-title{gap:13px}
.welcome-symbol{width:48px;height:48px;border-radius:15px}
.welcome-actions{margin-left:60px;flex-wrap:wrap}
.message{padding:8px 17px;gap:10px}
.message .avatar{width:30px;height:30px;font-size:11px}
.message-body{font-size:12px}
.date-divider{padding:12px 17px 17px}
.message-actions{right:12px}
.composer-wrap{padding:13px 14px 9px}
.composer-foot{font-size:8px}
.composer-foot .keyboard-hint{display:none}
.composer-inner{gap:9px;padding:12px}
.composer textarea{font-size:12px}
.empty-chat{margin:12px 18px 25px;padding:17px;gap:10px}
.empty-chat p{font-size:10px}
.dashboard{padding:24px 20px}
.dashboard-hero{padding:24px}
.dashboard-hero h1{font-size:31px;letter-spacing:-1.2px}
.dashboard-hero p{font-size:11px}
.hero-art{right:-10px;opacity:.2}
.dashboard-hero .btn{font-size:11px;padding:10px 12px}
.thread-panel{position:fixed;inset:62px 0 0 62px;z-index:22;width:auto}
.voice-page{padding:20px 15px}
.voice-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}
.modal-backdrop{padding:12px}
.modal-header{padding:21px 21px 16px}
.modal-body{padding:0 21px 21px}
.modal-footer{padding:14px 21px}
.image-attachment img{max-width:100%;max-height:210px}
.emoji-grid{grid-template-columns:repeat(4,1fr)}
.server-header{height:62px}#toasts{bottom:14px;right:14px;left:76px}
.toast{padding:11px 13px;font-size:11px}
.message-actions{opacity:.8;top:4px;transform:scale(.85);transform-origin:top right}
.message-actions .icon-btn:nth-child(n+3){display:none}
.message-head{padding-right:60px}
.message .message-actions button[data-action=message-menu]{display:flex!important}
.message.grouped .message-actions{opacity:0}
.message.grouped:hover .message-actions{opacity:1}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
.message-head .name{min-width:0;max-width:210px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.message-head time,.message-head .role-label{flex-shrink:0}
.server-banner h3{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}

