/* Account access and verified email — v14 */
.account-recovery-card { max-width:560px; margin:30px auto; padding:32px; border:1px solid var(--line); background:var(--panel); border-radius:20px; }
.account-recovery-card h1 { font-size:30px; margin:10px 0 16px; letter-spacing:-.035em; }
.account-recovery-card .auth-v4-form { margin-top:24px; }
.account-help,.account-security-card>p { font-size:12px; line-height:1.7; color:var(--muted); }
.account-message,.account-mail-notice { font-size:12px; line-height:1.7; padding:12px; margin:10px 0 0; border:1px solid var(--line); border-radius:9px; background:var(--panel-2); color:var(--soft); overflow-wrap:anywhere; }
.account-message.is-error { color:var(--danger); }
.account-link { border:0; padding:8px 0; background:none; color:var(--accent); font:inherit; font-size:12px; text-align:left; min-height:40px; }
.account-recovery-links { display:flex; flex-wrap:wrap; gap:10px; margin-top:20px; }
.account-recovery-links .ghost-btn { min-height:44px; padding:10px 14px; }
.account-security-card form { margin:18px 0; }
.account-security-card h3 { font-size:15px; margin-top:24px; }
.account-session { display:flex; align-items:center; justify-content:space-between; gap:12px; border-bottom:1px solid var(--line); padding:12px 0; font-size:12px; }
.account-session>div { min-width:0; }
.account-session strong { display:block; overflow-wrap:anywhere; }
.account-session small { display:block; margin-top:5px; color:var(--muted); line-height:1.6; }
.account-session button { flex:none; }
.account-events { margin-top:20px; color:var(--muted); font-size:12px; line-height:1.6; }
.account-events summary { cursor:pointer; min-height:40px; }
.auth-v4-form small,.account-security-card small { color:var(--muted); line-height:1.6; font-size:11px; }
.account-recovery-card label { min-width:0; }
.account-recovery-card input,.account-security-card input { max-width:100%; min-width:0; }
@media(max-width:700px) { .account-recovery-card { padding:22px 18px; margin:15px 0; } .account-recovery-card input,.account-security-card input { font-size:16px; } .account-recovery-links { display:grid; } }

/* Settings and local password feedback — v15 */
#view-settings { --settings-gap:24px; }
.settings-jump-nav { display:flex; flex-wrap:wrap; gap:8px; margin:24px 0; }
.settings-jump-nav button { display:inline-flex; align-items:center; gap:8px; min-height:44px; padding:10px 16px; background:var(--panel); border:1px solid var(--line); border-radius:12px; color:var(--text); font:inherit; font-size:13px; transition:background .18s,border-color .18s; }
.settings-jump-nav button svg { width:17px; height:17px; color:var(--accent); }
.settings-jump-nav button:hover { background:var(--panel-2); border-color:var(--accent); }
.settings-jump-nav button:focus-visible { outline:2px solid var(--accent); outline-offset:3px; }
.settings-preferences-grid,.settings-security-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:var(--settings-gap); align-items:start; }
.settings-preferences-grid { grid-template-columns:minmax(0,1.3fr) minmax(0,1fr); }
.settings-preferences-grid>.settings-save-bar { grid-column:1/-1; margin:0; padding:18px 0; }
.settings-preferences-grid>.settings-card,.settings-security-grid>.settings-card { min-width:0; align-content:start; }
.settings-section { margin:32px 0; }
.settings-section-heading { display:flex; justify-content:space-between; gap:20px; margin-bottom:20px; }
.settings-section-heading h2 { font-size:26px; letter-spacing:-.03em; margin:8px 0; }
.settings-section-heading p:last-child { color:var(--muted); font-size:13px; line-height:1.6; }
.settings-section-heading>svg { width:28px; height:28px; color:var(--accent); }
.settings-security-grid h3 { font-size:19px; margin:0; letter-spacing:-.02em; }
.settings-security-wide { grid-column:1/-1; }
#view-settings [id^="settings-"] { scroll-margin-top:90px; }
#view-settings h2[tabindex]:focus { outline:none; }
#view-settings .settings-card-head div>p:last-child:not(.eyebrow) { font-size:12px; line-height:1.6; }
#view-settings .auth-form { margin:0; display:grid; gap:16px; }
#view-settings .auth-form>button[type=submit] { justify-self:start; min-height:44px; padding:10px 18px; }
#view-settings .auth-form>.account-help { margin:0; }
#view-settings .auth-form>[data-security-discord] { justify-self:start; padding:0; margin-top:-12px; }
#view-settings .discord-connection { padding:0; margin:0; }
#view-settings .settings-session-card .session-meta { display:grid; grid-template-columns:auto minmax(0,1fr) auto minmax(0,1fr) auto minmax(0,1fr); gap:8px 16px; padding:16px 0; margin:0; border-block:1px solid var(--line); }
#view-settings .settings-session-card .session-meta strong { min-width:0; overflow-wrap:anywhere; text-align:left; }
#view-settings #sessionState { font-size:13px; overflow-wrap:anywhere; }
.settings-session-actions { display:flex; flex-wrap:wrap; align-items:center; gap:12px; }
.settings-session-actions button { min-height:44px; }
#view-settings .account-session { padding:16px 0; }
#view-settings .account-session strong { max-width:760px; }
#view-settings .account-events { margin-top:16px; }
#view-settings .account-events summary { color:var(--text); }
#view-settings .account-events p { padding:8px 0; margin:0; border-bottom:1px solid var(--line); overflow-wrap:anywhere; }
#accountDiscordProof { padding-top:20px; border-top:1px solid var(--line); }
.settings-activity-card { margin-bottom:24px; }
.settings-activity-card .profile-activity-list h3 { font-size:14px; }
.password-feedback { display:grid; gap:8px; font-weight:400; margin-top:3px; color:var(--muted); }
.password-feedback[hidden],.password-feedback-hint[hidden],[data-password-mismatch][hidden] { display:none; }
.password-feedback-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; font-size:11px; }
.password-feedback-heading strong { font-size:11px; font-weight:600; color:var(--strength-color); }
.password-feedback[data-level="1"] { --strength-color:var(--danger); }
.password-feedback[data-level="2"] { --strength-color:var(--warning); }
.password-feedback:is([data-level="3"],[data-level="4"]) { --strength-color:var(--success); }
.password-strength-track { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:5px; }
.password-strength-track i { height:4px; border-radius:3px; background:var(--line); transition:background-color .18s ease; }
.password-strength-track i.is-filled { background:var(--strength-color); }
.password-feedback .password-feedback-hint { color:var(--muted); font-size:11px; line-height:1.6; margin:0; }
[data-password-mismatch] { color:var(--danger) !important; font-weight:400; }
@media(max-width:1000px) {
 .settings-preferences-grid,.settings-security-grid { grid-template-columns:minmax(0,1fr); }
 #view-settings .settings-session-card .session-meta { grid-template-columns:auto minmax(0,1fr); }
}
@media(max-width:700px) {
 #view-settings { --settings-gap:16px; }
 .settings-jump-nav { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; margin:20px 0; }
 .settings-jump-nav button { padding:10px; font-size:12px; }
 .settings-jump-nav button svg { flex:none; width:16px; height:16px; }
 .settings-section { margin:24px 0; }
 .settings-section-heading h2 { font-size:24px; }
 .settings-section-heading>svg { display:none; }
 .settings-session-actions { display:grid; grid-template-columns:minmax(0,1fr); }
 .settings-session-actions>button { width:100%; text-align:center; justify-content:center; }
 .settings-preferences-grid>.settings-save-bar { display:grid; gap:12px; }
 .settings-preferences-grid>.settings-save-bar p { margin:0; font-size:11px; }
 .settings-preferences-grid>.settings-save-bar>button { width:100%; }
 #view-settings .auth-form input { font-size:16px; }
 .password-feedback-heading { gap:6px; }
}
@media(prefers-reduced-motion:reduce) { .password-strength-track i,.settings-jump-nav button { transition:none; } }

#view-settings .settings-session-actions>.danger { width:auto; }
@media(max-width:700px) { #view-settings .settings-session-actions>.danger { width:100%; } }
