body{font-family:var(--ex-font);font-size:14px;line-height:1.5}
button,input,textarea,select{font-family:inherit;accent-color:var(--ex-blue)}
body#explicitApp:not(.explicit-light-theme){background:var(--ex-bg)!important;color:var(--ex-text)!important}
body#explicitApp:not(.explicit-light-theme) :is(#app,main,#nexoPane,#nexoOverlay,.messages,#directMessages,.explicit-dm-main,.explicit-dm-split){background-color:var(--ex-bg)!important;color:var(--ex-text)}
body#explicitApp:not(.explicit-light-theme) :is(#nexoRail,#nexoSidebar,#membersPanel,#membersList,.explicit-dm-sidebar,.explicit-dm-side-list){background:var(--ex-sidebar)!important;border-color:var(--ex-line)!important}
body#explicitApp:not(.explicit-light-theme) :is(#channelTitle,.explicit-dm-header){background:var(--ex-bg)!important;border-color:var(--ex-line)!important;font-size:16px!important;font-weight:600!important;letter-spacing:0!important;min-height:56px;display:flex;align-items:center;margin:0!important;padding:12px 24px!important}
body#explicitApp:not(.explicit-light-theme) #nexoRail{border-right:1px solid var(--ex-line)!important}
body#explicitApp:not(.explicit-light-theme) :is(.channelButton,.voice-heading button,.member-entry){font-size:14px!important;font-weight:500!important;border-radius:var(--ex-radius)!important;color:var(--ex-secondary)!important}
body#explicitApp:not(.explicit-light-theme) #nexoSidebar .channelButton{min-height:34px!important;padding:7px 10px!important;margin:2px 0!important}
body#explicitApp:not(.explicit-light-theme) :is(#nexoSidebar .channelButton,.member-entry):hover{background:var(--ex-hover)!important;color:var(--ex-text)!important}
body#explicitApp:not(.explicit-light-theme) :is(#nexoSidebar .channelButton.active,#nexoSidebar .channelButton.selected,#nexoRail .rail-community.selected){background:var(--ex-selected)!important;color:var(--ex-blue)!important;border-color:transparent!important;box-shadow:none!important}
body#explicitApp:not(.explicit-light-theme) :is(.voice-label,.members-heading){font-size:12px!important;font-weight:600!important;letter-spacing:.02em!important;color:var(--ex-muted)!important}
body#explicitApp:not(.explicit-light-theme) .member-entry{min-height:42px!important;gap:10px!important;padding:7px 8px!important}
body#explicitApp:not(.explicit-light-theme) .voice-person{font-size:13px!important;min-width:0}
/* Chat and DM use the same type rhythm; individual name styles remain inherited from their own rules. */
body#explicitApp:not(.explicit-light-theme) :is(.messages,#directMessages){padding:16px 16px 24px!important}
.explicit-chat-row{padding:10px 12px!important;gap:12px!important;border-bottom:0!important;border-radius:6px;min-width:0}
.explicit-chat-row:hover{background:#ffffff04!important}
.explicit-chat-content{min-width:0;flex:1}
.explicit-chat-meta{gap:8px!important;margin-bottom:2px!important;line-height:20px}
body#explicitApp:not(.explicit-light-theme) :is(.explicit-chat-meta small,.explicit-dm-meta small){font-size:12px!important;color:var(--ex-muted)!important;font-weight:400!important}
body#explicitApp:not(.explicit-light-theme) :is(.explicit-message-body,.explicit-dm-text){font-size:15px!important;line-height:1.6!important;color:var(--ex-text)!important;overflow-wrap:anywhere}
.explicit-message-author,.explicit-dm-meta strong{font-size:14px;font-weight:600}
body#explicitApp:not(.explicit-light-theme) :is(#form.composer,.explicit-dm-compose){background:var(--ex-bg)!important;border-color:transparent!important;gap:8px!important;padding:12px 24px 20px!important}
body#explicitApp:not(.explicit-light-theme) #form :is(#message,#attachImage,#explicitEmojiButton){background:var(--ex-surface)!important;border-color:var(--ex-control-line)!important;color:var(--ex-secondary)!important;border-radius:var(--ex-radius)!important;min-height:42px!important}
body#explicitApp:not(.explicit-light-theme) #form #message{color:var(--ex-text)!important;font-size:14px!important;padding:10px 12px!important}
/* Controls: neutral secondaries, baby blue primary. No global restyling of danger/status buttons. */
body#explicitApp:not(.explicit-light-theme) :is(input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]):not([type=file]),textarea,select){background:var(--ex-surface)!important;border-color:var(--ex-control-line)!important;color:var(--ex-text)!important;border-radius:var(--ex-radius)!important;font-size:14px;caret-color:var(--ex-blue)}
body#explicitApp:not(.explicit-light-theme) :is(input,textarea)::placeholder{color:var(--ex-muted)!important;opacity:1}
body#explicitApp:not(.explicit-light-theme) :is(button,input,textarea,select,[role=button],[tabindex]):focus-visible{outline:2px solid var(--ex-focus)!important;outline-offset:2px!important}
body#explicitApp:not(.explicit-light-theme) :is(input,select,textarea):focus{border-color:var(--ex-blue)!important}
body#explicitApp:not(.explicit-light-theme) :is(.explicit-primary-action,.explicit-auth-submit,.explicit-role-primary,.explicit-acl-primary,.explicit-dm-group-submit,.explicit-private-join,.explicit-settings-action.primary,#form>button:last-child){background:var(--ex-blue)!important;color:var(--ex-on-blue)!important;border:1px solid transparent!important;box-shadow:none!important;font-weight:600!important;border-radius:var(--ex-radius)!important;font-size:14px!important}
body#explicitApp:not(.explicit-light-theme) :is(.explicit-primary-action,.explicit-auth-submit,.explicit-role-primary,.explicit-acl-primary,.explicit-dm-group-submit,.explicit-private-join,.explicit-settings-action.primary,#form>button:last-child):hover:not(:disabled){background:var(--ex-blue-hover)!important;filter:none!important}
body#explicitApp:not(.explicit-light-theme) :is(.explicit-settings-action,.explicit-server-settings-action,.explicit-dm-action):not(.danger):not(.primary){background:var(--ex-hover)!important;border-color:var(--ex-control-line)!important;color:var(--ex-text)!important;font-size:13px!important;min-height:36px;border-radius:var(--ex-radius)!important}
button:disabled{cursor:not-allowed}
/* Floating surfaces: one elevation, padding and row language. */
body#explicitApp:not(.explicit-light-theme) :is(.nexo-context,.explicit-profile-menu,.explicit-audio-quick,.explicit-home-notification-panel,#explicitEmojiPicker,#memberPopover:not([hidden])){background:var(--ex-surface)!important;border:1px solid var(--ex-line)!important;border-radius:var(--ex-popover-radius)!important;box-shadow:var(--ex-floating-shadow)!important;color:var(--ex-text)!important}
body#explicitApp:not(.explicit-light-theme) :is(.nexo-context,.explicit-profile-menu){padding:6px!important;gap:2px!important;max-width:calc(100vw - 16px);scroll-padding:6px}
body#explicitApp:not(.explicit-light-theme) :is(.nexo-context,.explicit-profile-menu) button{min-height:34px!important;padding:7px 10px!important;font-size:13px!important;line-height:1.45!important;border-radius:6px!important;background:transparent!important;color:var(--ex-secondary)!important;white-space:normal;overflow-wrap:anywhere}
body#explicitApp:not(.explicit-light-theme) :is(.nexo-context,.explicit-profile-menu) button:is(:hover,:focus-visible){background:var(--ex-selected)!important;color:var(--ex-blue)!important;filter:none!important}
/* Modals: an opaque foreground on a quiet scrim. Keep native titlebar reachable. */
body#explicitApp:not(.explicit-light-theme) :is(.obsidian-modal-backdrop,.explicit-acl-backdrop){background:rgba(0,0,0,.72)!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;top:var(--explicit-titlebar-height,0px)!important;padding:24px!important;overscroll-behavior:contain}
body#explicitApp:not(.explicit-light-theme) :is(.obsidian-modal,.obsidian-modal-backdrop .obsidian-modal,.explicit-community-choice,.explicit-acl-modal,.explicit-dm-group-modal){background:var(--ex-surface)!important;color:var(--ex-text)!important;border:1px solid var(--ex-line)!important;border-radius:var(--ex-modal-radius)!important;box-shadow:var(--ex-floating-shadow)!important}
body#explicitApp:not(.explicit-light-theme) .obsidian-modal:not(.workspace-modal){max-width:min(480px,calc(100vw - 48px))!important;padding:24px!important;gap:12px!important}
body#explicitApp:not(.explicit-light-theme) .obsidian-modal{max-height:calc(100dvh - var(--explicit-titlebar-height,0px) - 48px);scroll-padding:20px}
body#explicitApp:not(.explicit-light-theme) .obsidian-modal :is(h2,h3){font-weight:600!important;letter-spacing:-.02em}
body#explicitApp:not(.explicit-light-theme) .obsidian-modal>h2{font-size:20px!important;line-height:1.35!important;padding-right:32px}
body#explicitApp:not(.explicit-light-theme) .obsidian-modal>p{font-size:14px!important;color:var(--ex-secondary)!important;line-height:1.6!important;margin:0 0 4px}
body#explicitApp:not(.explicit-light-theme) .obsidian-modal label{font-size:13px!important;font-weight:500;color:var(--ex-secondary)!important}
body#explicitApp:not(.explicit-light-theme) .obsidian-modal-actions{gap:8px!important;margin-top:12px!important}
body#explicitApp:not(.explicit-light-theme) .obsidian-modal-actions button{min-height:36px;font-size:13px!important;border-radius:var(--ex-radius)!important}
body#explicitApp:not(.explicit-light-theme) .obsidian-modal-actions .cancel{background:var(--ex-hover)!important;color:var(--ex-text)!important}
body#explicitApp:not(.explicit-light-theme) .modal-close{width:32px;height:32px;padding:0!important;display:grid;place-items:center;border:0!important;border-radius:var(--ex-radius)!important;background:transparent!important;color:var(--ex-secondary)!important}
body#explicitApp:not(.explicit-light-theme) .modal-close:hover{background:var(--ex-hover)!important;color:var(--ex-text)!important}
/* Settings: readable hierarchy, borderless navigation, evenly spaced groups. */
body#explicitApp:not(.explicit-light-theme) .explicit-settings-window{background:var(--ex-surface)!important;border-radius:var(--ex-modal-radius)!important}
body#explicitApp:not(.explicit-light-theme) .explicit-settings-window>h2{background:var(--ex-surface)!important;border-color:var(--ex-line)!important;padding:20px 24px!important;font-size:18px!important}
body#explicitApp:not(.explicit-light-theme) .explicit-settings-nav{background:var(--ex-sidebar)!important;border-color:var(--ex-line)!important;padding:16px 12px!important;gap:3px!important}
body#explicitApp:not(.explicit-light-theme) :is(.explicit-settings-nav-item,.explicit-settings-account-child){background:transparent!important;border:1px solid transparent!important;border-radius:var(--ex-radius)!important;color:var(--ex-secondary)!important;font-size:13px!important;font-weight:500!important;min-height:36px!important;padding:8px 10px!important;box-shadow:none!important}
body#explicitApp:not(.explicit-light-theme) :is(.explicit-settings-nav-item,.explicit-settings-account-child):hover{background:var(--ex-hover)!important;color:var(--ex-text)!important}
body#explicitApp:not(.explicit-light-theme) :is(.explicit-settings-nav-item,.explicit-settings-account-child).selected{background:var(--ex-selected)!important;color:var(--ex-blue)!important;border-color:transparent!important;box-shadow:none!important}
body#explicitApp:not(.explicit-light-theme) .explicit-settings-nav-item>span:first-child{color:var(--ex-muted)!important}
body#explicitApp:not(.explicit-light-theme) .explicit-settings-nav-separator{font-size:11px!important;letter-spacing:0!important;font-weight:500!important;color:var(--ex-muted)!important;margin:12px 8px 4px!important;border-color:var(--ex-line)!important}
body#explicitApp:not(.explicit-light-theme) .explicit-settings-content{background:var(--ex-bg)!important;padding:24px 28px 32px!important}
body#explicitApp:not(.explicit-light-theme) .explicit-settings-heading{background:transparent!important;margin-bottom:24px!important}
body#explicitApp:not(.explicit-light-theme) .explicit-settings-heading h3{font-size:24px!important;font-weight:600!important;letter-spacing:-.03em!important}
body#explicitApp:not(.explicit-light-theme) :is(.explicit-settings-heading p,.explicit-settings-group-sub,.explicit-settings-hint){font-size:13px!important;line-height:1.6!important;color:var(--ex-secondary)!important}
body#explicitApp:not(.explicit-light-theme) .explicit-settings-group{padding:4px 20px!important;margin-bottom:20px!important;background:var(--ex-surface)!important;border:1px solid var(--ex-line)!important;border-radius:10px!important}
body#explicitApp:not(.explicit-light-theme) .explicit-settings-group h4{font-size:14px!important;font-weight:600!important;margin:16px 0 8px!important}
body#explicitApp:not(.explicit-light-theme) .explicit-settings-row{background:transparent!important;border-radius:0!important;border-color:var(--ex-line)!important;gap:20px!important;padding:16px 0!important;min-height:68px!important}
body#explicitApp:not(.explicit-light-theme) .explicit-settings-row-copy strong{font-size:14px!important;font-weight:500!important;color:var(--ex-text)!important}
body#explicitApp:not(.explicit-light-theme) .explicit-settings-row-copy small{font-size:12px!important;line-height:1.6!important;color:var(--ex-secondary)!important}
body#explicitApp:not(.explicit-light-theme) .explicit-settings-toggle:checked{background:var(--ex-blue)!important;border-color:var(--ex-blue)!important}
body#explicitApp:not(.explicit-light-theme) .explicit-settings-toggle:checked:before{background:var(--ex-on-blue)!important}
body#explicitApp:not(.explicit-light-theme) .explicit-settings-range output{color:var(--ex-blue)!important;font-size:12px!important}
/* Home, roles and administration share surfaces without changing their grid or identity assets. */
body#explicitApp:not(.explicit-light-theme) :is(.explicit-spotlight,.explicit-friends-section,.explicit-communities-section,.explicit-support-card,.explicit-role-card,.explicit-role-perm-section,.explicit-admin-item,.explicit-acl-category){background:var(--ex-surface)!important;border-color:var(--ex-line)!important;border-radius:10px!important}
body#explicitApp.explicit-home:not(.explicit-light-theme):not(.explicit-direct-mode) :is(.explicit-spotlight,.explicit-friends-section,.explicit-communities-section,.explicit-support-card){background:var(--ex-surface)!important;border-color:var(--ex-line)!important}
body#explicitApp:not(.explicit-light-theme) :is(.explicit-server-settings-content,.explicit-admin-content,.explicit-admin-pane){background:var(--ex-bg)!important}
body#explicitApp:not(.explicit-light-theme) :is(.explicit-server-settings-side,.explicit-admin-nav){background:var(--ex-sidebar)!important;border-color:var(--ex-line)!important}
body#explicitApp:not(.explicit-light-theme) #auth{background:var(--ex-surface)!important;border-color:var(--ex-line)!important;box-shadow:none!important}
body#explicitApp:not(.explicit-light-theme) #auth .explicit-auth-label{color:var(--ex-secondary)!important;letter-spacing:.04em!important;font-size:12px!important}
body#explicitApp:not(.explicit-light-theme) #auth :is(.explicit-auth-subtitle,.explicit-auth-bottom){color:var(--ex-secondary)!important}
body#explicitApp:not(.explicit-light-theme) #auth a{color:var(--ex-blue)!important}
body#explicitApp:not(.explicit-light-theme) #auth .explicit-auth-switch button.selected{background:var(--ex-selected)!important;color:var(--ex-blue)!important;border-color:transparent!important}
body#explicitApp:not(.explicit-light-theme) #explicitCaptchaAnswer{letter-spacing:.12em!important;text-transform:none!important;font-size:14px!important}
@media(max-width:760px){
 body#explicitApp:not(.explicit-light-theme) :is(.obsidian-modal-backdrop,.explicit-acl-backdrop){padding:12px!important}
 body#explicitApp:not(.explicit-light-theme) .obsidian-modal:not(.workspace-modal){max-width:calc(100vw - 24px)!important;padding:20px!important}
 body#explicitApp:not(.explicit-light-theme) .explicit-settings-content{padding:20px 16px!important}
 body#explicitApp:not(.explicit-light-theme) .explicit-settings-row{flex-wrap:wrap;gap:12px!important}
 body#explicitApp:not(.explicit-light-theme) .explicit-settings-range{min-width:0!important;max-width:100%}
 body#explicitApp:not(.explicit-light-theme) :is(#form.composer,.explicit-dm-compose){padding:10px 12px 14px!important}
}
@media(prefers-reduced-motion:reduce){body :is(.nexo-context,.obsidian-modal,.explicit-settings-toggle:before){animation:none!important;transition:none!important}}

/* Resolve legacy ID-weighted groups without overriding custom name styles. */
body#explicitApp:not(.explicit-light-theme) .explicit-message-author:not(.explicit-name-gradient):not(.explicit-name-effect):not([style*="color"]){color:var(--ex-text)!important}
body#explicitApp:not(.explicit-light-theme) .explicit-settings-heading{display:block!important}
body#explicitApp:not(.explicit-light-theme) #nexoSidebar .channelButton.active,body#explicitApp:not(.explicit-light-theme) #nexoSidebar .channelButton.selected{background:var(--ex-selected)!important;color:var(--ex-blue)!important}
body#explicitApp:not(.explicit-light-theme) #sendMessage,
body#explicitApp:not(.explicit-light-theme) .obsidian-modal-actions button:not(.cancel):not(.danger){background:var(--ex-blue)!important;color:var(--ex-on-blue)!important;border:1px solid transparent!important;border-radius:var(--ex-radius)!important;font-size:14px!important;font-weight:600!important;min-height:36px;box-shadow:none!important}
body#explicitApp:not(.explicit-light-theme) #sendMessage:hover:not(:disabled),body#explicitApp:not(.explicit-light-theme) .obsidian-modal-actions button:not(.cancel):not(.danger):hover:not(:disabled){background:var(--ex-blue-hover)!important;filter:none!important}
body#explicitApp:not(.explicit-light-theme) #channelList .explicit-sidebar-category{background:transparent!important;border:0!important;box-shadow:none!important;padding:0!important}
body#explicitApp:not(.explicit-light-theme) .explicit-settings-nav-separator{text-transform:none!important}
body#explicitApp:not(.explicit-light-theme) .explicit-settings-nav-item svg{width:18px;height:18px;display:block;flex:none}
/* The old full-width flex selector overrode the DM grid, stacking the sidebar above chat. */
body#explicitApp.explicit-direct-mode #nexoOverlay>div.explicit-dm-split{display:grid!important;grid-template-columns:248px minmax(0,1fr)!important;height:100%!important;min-height:0!important}
body#explicitApp.explicit-direct-mode .explicit-dm-sidebar{min-width:0;height:100%;padding:16px 12px 0!important;gap:12px!important}
body#explicitApp.explicit-direct-mode .explicit-dm-sidebar h3{font-size:14px!important;letter-spacing:0!important;font-weight:600!important;margin:0 4px!important;color:var(--ex-text)!important}
body#explicitApp.explicit-direct-mode .explicit-dm-side-list button{font-size:14px!important;min-height:36px;border-radius:var(--ex-radius)!important}
body#explicitApp.explicit-direct-mode .explicit-dm-side-list button.selected{background:var(--ex-selected)!important;color:var(--ex-blue)!important}
body#explicitApp.explicit-direct-mode .explicit-dm-main{height:100%;min-width:0;min-height:0}
body#explicitApp.explicit-direct-mode .explicit-dm-message{padding:10px 12px!important;gap:12px!important}
body#explicitApp.explicit-direct-mode .explicit-dm-meta strong:not(.explicit-name-gradient):not(.explicit-name-effect):not([style*="color"]){color:var(--ex-text)!important;font-weight:600;font-size:14px}
body#explicitApp.explicit-direct-mode .explicit-dm-report{opacity:1!important;color:var(--ex-muted)!important;font-size:12px!important}
body#explicitApp.explicit-direct-mode .explicit-dm-compose>button[type=submit]{background:var(--ex-blue)!important;color:var(--ex-on-blue)!important;border:1px solid transparent!important;border-radius:var(--ex-radius)!important;font-size:14px!important;font-weight:600!important;min-height:42px}
body#explicitApp.explicit-direct-mode .explicit-dm-compose>button[type=submit]:hover{background:var(--ex-blue-hover)!important;filter:none!important}
body#explicitApp:not(.explicit-light-theme) :is(#attachImage,#explicitEmojiButton,#directAttach,.explicit-dm-mini button){display:inline-flex!important;align-items:center;justify-content:center}
body#explicitApp :is(#attachImage,#explicitEmojiButton,#directAttach,.explicit-dm-mini button) svg{width:20px;height:20px;display:block;flex:none}
body#explicitApp .explicit-dm-mini{background:var(--ex-sidebar)!important;min-width:0;flex-wrap:nowrap}
body#explicitApp .explicit-dm-mini button{flex:0 0 30px;min-width:30px;height:32px;padding:5px!important}
body#explicitApp .explicit-dm-icon{background:transparent!important;color:var(--ex-muted)!important;width:24px;height:24px;flex:0 0 24px;border-radius:0}
body#explicitApp .explicit-dm-icon svg{width:22px;height:22px}
@media(max-width:900px) and (min-width:651px){body#explicitApp.explicit-direct-mode #nexoOverlay>div.explicit-dm-split{grid-template-columns:210px minmax(0,1fr)!important}}
@media(max-width:650px){body#explicitApp.explicit-direct-mode #nexoOverlay>div.explicit-dm-split{grid-template-columns:minmax(0,1fr)!important}}

/* Center authentication in the usable viewport, including the desktop caption.
   Keep an internal scrollbar when the form cannot fit in a short window. */
body#explicitApp #auth.explicit-auth-card{
 position:fixed;
 inset:calc(var(--explicit-titlebar-height,0px) + 16px) 0 16px;
 height:fit-content;
 margin:auto!important;
 max-height:calc(100dvh - var(--explicit-titlebar-height,0px) - 32px)!important;
}
