.account-dialog-open { overflow: hidden; }
.account-modal { width: min(560px, calc(100vw - 28px)); max-height: calc(100dvh - 32px); overflow-y: auto; animation: account-in .16s ease-out; }
.account-copy, .account-modal small { color: #b9adbf; line-height: 1.65; }
.account-copy { margin: 0 0 20px; font-size: .85rem; }
.account-modal .field { margin-bottom: 17px; }
.account-modal .field label { display: block; margin-bottom: 7px; font-size: .82rem; color: #e2d6e8; }
.account-modal .field small { display: block; margin-top: 6px; font-size: .73rem; }
.account-modal input:not([type=checkbox]), .account-modal textarea, .account-modal select { width: 100%; box-sizing: border-box; min-height: 42px; border: 1px solid #55405e; border-radius: 6px; background: #201925; color: #f7ecfb; padding: 10px 12px; font: inherit; }
.account-modal textarea { min-height: 100px; resize: vertical; }
.account-error { color: #ffacbc; min-height: 1.3em; margin: 12px 0 0; font-size: .8rem; }
.account-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 20px; }
.account-grid .btn { text-align: left; min-height: 44px; }
.btn, .user-chip, .new-thread, .nav-link, .post-action { transition: background-color .15s, border-color .15s, color .15s, transform .15s; }
.btn:active, .new-thread:active { transform: translateY(1px); }
.btn:disabled { opacity: .65; cursor: wait; }
:focus-visible { outline: 2px solid #f097d0; outline-offset: 3px; }
[hidden] { display: none !important; }
#account-button { min-width: 76px; }
#account-label { display: inline !important; }
#account-button:not([data-real-account="1"]) #account-avatar { display:none; }
.account-list { display: grid; gap: 12px; padding: 0; list-style: none; }
.account-list li { padding: 12px; border: 1px solid #45324e; border-radius: 6px; overflow-wrap: anywhere; }
.identity-steps { display:flex; flex-wrap:wrap; gap:12px; padding:0; list-style:none; margin:20px 0; counter-reset:steps; }
.identity-steps li { counter-increment:steps; color:#b8a7c4; border-bottom:2px solid #493551; padding:10px 4px; }
.identity-steps li::before { content:counter(steps) '. '; }
.identity-steps .active { color:#f5c5e9; border-color:#d653a6; }
.identity-steps .complete { color:#93d7b1; border-color:#61a881; }
.identity-page { max-width:800px; }
.identity-page .field label { font-size:.85rem; }
.identity-page input { font:inherit; min-height:42px; }
.friends-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.friend-card { display:flex; align-items:flex-start; gap:12px; padding:14px 0; border-bottom:1px solid var(--line); }
.friend-card:last-child { border-bottom:0; }
.friend-card a { color:#edc3e5; font-weight:700; }
.identity-provider { display:flex; gap:12px; justify-content:space-between; align-items:center; padding:14px 0; border-bottom:1px solid var(--line); }
.identity-provider p { color:#bba8c6; font-size:.8rem; margin:6px 0 0; }
.oldweb-contact-grid .btn { height:auto; min-height:36px; font-size:.75rem; white-space:normal; }
@media(max-width:650px) { .friends-grid { grid-template-columns:1fr; } }
.account-style-preview { padding: 16px; border: 2px solid var(--preview-accent, #d653a6); margin: 16px 0; border-radius: 8px; }
@keyframes account-in { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: translateY(0); } }
@media (max-width: 650px) { .header-tools { flex-wrap: wrap; } .account-modal .modal-actions { flex-wrap: wrap; gap: 10px; } .account-grid { grid-template-columns: 1fr; } }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; scroll-behavior: auto !important; } }
