/* Approved authentication presentation, shared by Web and Desktop. */
.auth-discord-button.button {display:flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:48px;border:1px solid #6470ff;border-radius:11px;background:#5865f2;color:#fff;font-size:14px;font-weight:700;box-shadow:inset 0 1px #ffffff12;transition:background .16s,border-color .16s,transform .12s;}
.auth-discord-button.button:hover {background:#4752c4;border-color:#7580ff;color:#fff;}
.auth-discord-button.button:active {transform:scale(.985);}
.auth-discord-button.button:focus-visible {outline:2px solid var(--theme-focus,#a9baff);outline-offset:3px;}
.auth-discord-button .discord-glyph {width:25px;height:25px;flex:none;}
.auth-provider-heading {display:grid;gap:18px;}
.auth-method-divider {display:flex;align-items:center;gap:15px;color:var(--theme-text-secondary,#acb2c1);font-size:12px;line-height:1.4;}
.auth-method-divider::before,.auth-method-divider::after {content:'';height:1px;flex:1;background:var(--theme-border-subtle,#30343d);}
.auth-provider-options {display:flex;justify-content:flex-end;margin:0;}
.auth-provider-options .text-button {min-height:24px;padding:3px 0;font-size:12px;color:var(--theme-accent,#9c8dff);}
.auth-email-hint {margin:-3px 0 1px;color:var(--theme-text-secondary,#afb4c2);font-size:11px;line-height:1.4;}
.nexo-home:is(.mode-login,.mode-register) .home-auth-content {width:min(100%,1280px);grid-template-columns:minmax(0,53%) minmax(0,47%);min-height:0;}
.nexo-home:is(.mode-login,.mode-register) {gap:28px;}
.nexo-home:is(.mode-login,.mode-register) .entry-card-body {padding:32px clamp(24px,3.7vw,64px);gap:20px;}
.nexo-home:is(.mode-login,.mode-register) .entry-card-intro {margin:0;text-align:left;}
.nexo-home .reference-entry-card.mode-login .entry-card-intro {margin:0;text-align:left;}
.nexo-home .reference-entry-card.mode-login .entry-input-shell>svg:first-child {display:block;}
.nexo-home:is(.mode-login,.mode-register) .entry-card-intro p {margin-top:8px;}
.nexo-home:is(.mode-login,.mode-register) .stack-form {gap:7px;}
.nexo-home:is(.mode-login,.mode-register) .stack-form label {margin-top:5px;}
.nexo-home:is(.mode-login,.mode-register) .entry-input-shell {min-height:46px;}
.nexo-home:is(.mode-login,.mode-register) .entry-input-shell input {min-height:44px;height:44px;}
.nexo-home:is(.mode-login,.mode-register) .password-visibility {width:34px;height:34px;min-height:34px;padding:6px;flex:none;}
.nexo-home:is(.mode-login,.mode-register) .entry-card-body .button-primary {min-height:48px;margin-top:7px;}
.nexo-home:is(.mode-login,.mode-register) .entry-signup button,.nexo-home:is(.mode-login,.mode-register) .entry-account-switch button {color:var(--theme-accent,#9c8dff);text-decoration:none;}
.nexo-home:is(.mode-login,.mode-register) .entry-account-switch {margin:0;}
.nexo-home .auth-visitor-entry {display:flex;align-items:center;justify-content:center;gap:10px;min-height:32px;padding:4px;border:0;background:transparent;color:var(--theme-text-secondary,#b5bac8);}
.nexo-home .auth-visitor-entry strong {font-size:12px;font-weight:600;}
.nexo-home .auth-visitor-entry svg {width:19px;height:19px;}
.nexo-home .auth-visitor-entry:hover {color:var(--theme-text-primary,#fff);background:transparent;}
.nexo-home:is(.mode-login,.mode-register) .home-thread-slot {opacity:.35;}
.nexo-home:is(.mode-login,.mode-register) .home-auth-visual {padding:32px 28px;}
.nexo-home:is(.mode-login,.mode-register) .home-auth-visual .reference-entry-copy {gap:16px;}
.nexo-home:is(.mode-login,.mode-register) .home-auth-visual .reference-benefits {margin-top:28px;}
.nexo-home:is(.mode-login,.mode-register) .home-auth-visual .reference-footer {margin-top:24px;}
.account-dialog .auth-provider-heading {margin-bottom:16px;}
.account-dialog .auth-provider-options {margin:8px 0;}
.invite-panel .auth-provider-heading {margin-bottom:18px;}
/* Provider states keep the same silhouette before and after linking. */
.settings-popover .account-access-content {gap:18px;}
.settings-popover .account-identity-group {padding:14px;}
.settings-popover .account-identity-group h2 {font-size:14px;}
.settings-popover .account-identity-group .account-settings-overview {display:flex;align-items:center;gap:11px;padding:12px 0 0;}
.settings-popover .account-identity-group .avatar {width:48px;height:48px;flex:0 0 48px;}
.settings-popover .account-identity-group .account-settings-overview small {margin:4px 0 0;}
.settings-popover .account-identity-group #settings-edit-profile {min-height:34px;padding:6px 10px;font-size:11px;white-space:nowrap;}
.account-identity-details {margin-top:12px;border-top:1px solid var(--settings-line);}
.account-identity-details summary {display:flex;align-items:center;justify-content:space-between;gap:10px;padding-top:10px;list-style:none;cursor:pointer;color:var(--settings-muted);font-size:11px;}
.account-identity-details summary::-webkit-details-marker {display:none;}
.account-identity-details summary svg {width:14px;height:14px;transition:transform .18s;}
.account-identity-details[open] summary svg {transform:rotate(180deg);}
.account-identity-details .account-settings-avatar-actions {margin-top:12px;}
.account-access-group {display:grid;gap:10px;min-width:0;}
.account-access-group>h2 {margin:0;font-size:16px;}
.settings-popover .account-access-group>.settings-caption {margin:-4px 0 2px;font-size:11px;}
.account-provider-card {display:grid;gap:10px;min-width:0;padding:14px;border:1px solid var(--settings-line);border-radius:13px;background:var(--theme-surface-base,#0c0d10);}
.account-provider-card header {display:flex;align-items:center;gap:12px;min-width:0;}
.account-provider-card header>div {flex:1;min-width:0;}
.account-provider-card h3 {margin:0 0 5px;font-size:13px;line-height:1.3;}
.account-provider-symbol {display:grid;place-items:center;flex:0 0 30px;width:30px;height:30px;color:var(--theme-text-primary,#f4f5f8);}
.account-provider-symbol svg {width:25px;height:25px;}
.account-provider-status {display:inline-flex;align-items:center;gap:5px;color:var(--settings-muted);font-size:11px;}
.account-provider-status svg {width:12px;height:12px;}
.account-provider-card.is-linked .account-provider-status {color:var(--theme-success-text,#68d6b2);}
.account-provider-card p {margin:0;color:var(--settings-muted);font-size:11px;line-height:1.5;}
.account-provider-detail {font-size:13px;line-height:1.45;overflow-wrap:anywhere;}
.account-provider-card .button {width:100%;min-height:38px;padding:8px 12px;font-size:12px;}
.account-provider-card .auth-discord-button {color:#fff;}
.account-provider-card .auth-discord-button svg {width:21px;height:21px;}
.account-provider-ready {display:flex;align-items:center;gap:7px;padding-top:9px;border-top:1px solid var(--settings-line);font-size:11px;color:var(--theme-success-text,#68d6b2);}
.account-provider-ready svg {width:15px;height:15px;}
.account-access-group>.account-settings-section {display:flex;align-items:center;padding:13px;border:1px solid var(--settings-line);border-radius:12px;background:var(--theme-surface-base,#0c0d10);gap:10px;}
.account-access-group>.account-settings-section>div {min-width:0;flex:1;}
.account-access-group>.account-settings-section>.button {flex:none;min-height:34px;padding:7px 10px;font-size:11px;}
.account-access-group .account-name-section:has(#change-password-form) {flex-wrap:wrap;align-items:flex-start;}
.account-access-group .account-name-section:has(#change-password-form)>.account-section-copy {flex-basis:calc(100% - 32px);}
/* Volume menus are floating surfaces; the controls retain their bottom dock. */
.call-shell>.call-controls {grid-row:3;align-self:end;}
@media(max-width:760px) {
 .nexo-home:is(.mode-login,.mode-register) .home-auth-content {grid-template-columns:minmax(0,1fr);width:min(100%,520px);}
 .nexo-home:is(.mode-login,.mode-register) .entry-card-body {padding:24px;gap:18px;}
}
@media(max-height:800px) and (min-width:761px) {
 .nexo-home:is(.mode-login,.mode-register) {gap:18px;padding-top:12px;padding-bottom:16px;}
 .nexo-home:is(.mode-login,.mode-register) .entry-header {min-height:38px;padding-bottom:10px;}
 .nexo-home:is(.mode-login,.mode-register) .entry-card-body {padding-block:24px;gap:14px;}
 .nexo-home:is(.mode-login,.mode-register) .entry-card-intro h2 {font-size:29px;}
 .nexo-home:is(.mode-login,.mode-register) .entry-card-intro p {font-size:13px;}
}
@media(max-width:400px) {
 .settings-popover .account-identity-group .account-settings-overview {flex-wrap:wrap;}
 .account-access-group>.account-settings-section {flex-wrap:wrap;}
 .account-access-group>.account-settings-section>.button {margin-left:31px;}
}
@media(prefers-reduced-motion:reduce) {.auth-discord-button.button,.account-identity-details summary svg {transition:none;}}

/* The room canvas retains its original clearance above the bottom dock.
   Reserve that track explicitly, so a floating menu cannot create/remove it.
   Stream and camera viewers keep their existing canvas geometry. */
.call-shell:has(.participant-stage) {grid-template-rows:112px minmax(0,1fr) 136px auto;}
.call-shell:has(.participant-stage)>.call-controls {grid-row:4;}
@media(max-width:760px) {
 .call-shell:has(.participant-stage) {grid-template-rows:70px minmax(0,1fr) 86px auto;}
}
@media(max-width:680px) {
 .call-shell:has(.participant-stage) {grid-template-rows:112px minmax(0,1fr) 0 auto;}
}
