/* Discord-style desktop proportions; voice transport and chat behavior unchanged. */
:root{--bg:#313338;--panel:#2b2d31;--rail:#1e1f22;--text:#f2f3f5;--muted:#949ba4}
body{font-family:"gg sans","Noto Sans","Helvetica Neue",Helvetica,Arial,sans-serif;font-size:16px}
.server-rail{flex-basis:72px;gap:8px;padding:12px 0}.server-icon{border-radius:50%;margin-bottom:0;flex-shrink:0}.server-icon.active,.server-icon:hover{border-radius:16px}.server-rail #server-list{display:flex;flex-direction:column;gap:8px}
.sidebar{width:240px}.server-heading{height:48px;min-height:48px;padding:0 16px;font:600 16px inherit}.community-card{display:none}.channel-scroll{padding:16px 8px}.channel-group{margin-bottom:20px}.group-heading{font-size:12px;letter-spacing:0;padding:0 4px 4px;min-height:24px}.channel{height:34px;padding:6px 8px;font-size:16px;gap:6px;border-radius:4px}.channel-icon{font-size:22px;flex-basis:24px}.channel.selected{background:#404249}.channel-people{padding:0 0 4px 32px}.channel-person{height:32px;padding:4px 8px;gap:8px;font-size:14px}.channel-person .avatar.small{width:24px;height:24px;font-size:10px;border-width:0}.channel-person:hover{background:#35373c;border-radius:4px}
.user-panel{height:52px;min-height:52px;padding:0 8px;background:#232428;gap:0}.profile-button{gap:8px}.profile-button .avatar{width:32px;height:32px;font-size:12px;border-width:0}.profile-button strong{font-size:14px;max-width:90px}.profile-button small{font-size:12px;margin-top:1px}.user-panel>button:not(.profile-button){width:28px;height:32px;padding:4px;font-size:18px;flex-shrink:0;border-radius:4px}.user-panel>button:hover{background:#35373c}.voice-panel{padding:10px 8px;background:#232428}.voice-panel strong{font-size:14px}.voice-panel small{font-size:12px}
.channel-header{height:48px;min-height:48px;padding:0 16px;gap:8px;background:#313338}.channel-header strong{font-family:inherit;font-size:16px;font-weight:600}.header-symbol{font-size:24px}.channel-description{font-size:14px}.header-actions{gap:16px}.members-pane{width:240px;background:#2b2d31;padding:24px 8px}.members-pane h2{padding:0 8px;margin-bottom:8px;font-size:12px;font-weight:600;letter-spacing:0}.member{height:44px;padding:6px 8px;gap:12px;border-radius:4px}.member:hover{background:#35373c}.member .avatar.small{width:32px;height:32px;font-size:12px;border:0}.member>div{min-width:0}.member strong{display:block;font-size:16px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.member small{font-size:12px;margin-top:1px}.avatar.speaking{outline:2px solid #23a559;outline-offset:2px;box-shadow:none}
/* Call stage: full-size video-shaped tiles, not small profile chips. */
.voice-view{background:#111214;padding:24px;gap:0;justify-content:center}.voice-glow,.mascot,.eyebrow,.voice-footnote,.participant-stack{display:none}.voice-view h1{font-family:inherit;letter-spacing:0;font-weight:600;font-size:28px;margin:0 0 8px}.voice-view>p{font-size:14px}.voice-view .voice-hint{margin-bottom:20px}.join-button{background:#248046;color:#fff;border-radius:4px;min-width:180px;font-size:14px}.join-button:hover{background:#1a6334;color:#fff}.join-button.leave-button{background:#da373c;color:#fff}.join-button.leave-button:hover{background:#a1282c}
.voice-view:has(.voice-members:not(:empty)){justify-content:center;padding:24px 24px 88px}.voice-view:has(.voice-members:not(:empty)) h1,.voice-view:has(.voice-members:not(:empty)) #voice-subtitle,.voice-view:has(.voice-members:not(:empty)) .voice-hint{display:none}.voice-view:has(.voice-members:not(:empty)) .join-button{position:absolute;bottom:24px;left:50%;transform:translateX(-50%);height:40px;margin:0;z-index:2}
.voice-members{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;width:100%;max-width:960px;margin:0;flex-shrink:0}.voice-members:has(>.voice-member:only-child){grid-template-columns:minmax(0,1fr);max-width:640px}.voice-member{position:relative;aspect-ratio:16/9;min-width:0;padding:16px;background:#2b2d31;border:0;border-radius:8px;display:flex;align-items:center;justify-content:center;gap:0;overflow:hidden}.voice-member .avatar{height:80px;width:80px;border:0;font-size:28px;flex-shrink:0}.voice-member:has(.avatar.speaking){box-shadow:inset 0 0 0 2px #23a559}.voice-member .avatar.speaking{outline:0}.voice-member strong{position:absolute;bottom:8px;left:8px;max-width:calc(100% - 16px);padding:3px 6px;background:#111214b3;border-radius:4px;font-size:14px;line-height:18px;font-weight:500;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.voice-member small{position:absolute;right:8px;top:8px;font-size:11px;padding:3px 6px;border-radius:4px;background:#111214a6;color:#b5bac1}
.messages{padding:16px 16px}.message{gap:16px;padding:8px 0}.message>.avatar{height:40px;width:40px;border:0;font-size:14px}.message-heading strong{font-size:16px;font-weight:500}.message-heading time,.message-heading small{font-size:12px}.message-text{font-size:16px;line-height:1.375;margin:4px 0 0;color:#dbdee1}.composer{margin:0 16px;background:#383a40;min-height:44px}.composer textarea{font-size:16px}.composer-tip{font-size:11px}
@media(min-width:1500px){.members-pane{width:240px}}
@media(max-width:1100px){.members-pane{width:240px}.voice-member .avatar{width:64px;height:64px;font-size:24px}}
@media(max-width:800px){.server-rail{flex-basis:72px}.sidebar{width:240px}.members-pane{top:48px;width:240px}.voice-view:has(.voice-members:not(:empty)){padding:16px 16px 80px}.voice-member .avatar{height:64px;width:64px}}
@media(max-width:650px){.server-rail{width:64px}.sidebar{left:64px;width:240px}.channel-header{padding:0 12px}.channel-header strong{font-size:16px}.header-actions{gap:8px}.voice-view{padding:24px 16px}.voice-members{grid-template-columns:repeat(2,minmax(0,1fr))}.voice-member{width:100%;padding:12px;min-height:120px;aspect-ratio:auto;height:120px}.voice-member .avatar{height:56px;width:56px;font-size:20px}.voice-member strong{font-size:12px;line-height:16px;bottom:6px;left:6px}.voice-member small{font-size:9px;right:6px;top:6px;padding:2px 4px}.voice-members:has(>.voice-member:only-child) .voice-member{min-height:190px}.voice-members:has(>.voice-member:only-child) .avatar{width:80px;height:80px;font-size:28px}.members-pane{top:48px}.messages{padding:12px 16px}.message{gap:12px}.message-actions{flex-direction:column}.message-text{font-size:15px}}
@media(max-height:600px) and (min-width:651px){.voice-members{max-width:720px}.voice-member .avatar{width:56px;height:56px;font-size:20px}}
