/* Account controls inherit the journal's cream, olive, and native typography. */
.account-panel { display: grid; gap: 12px; }
.account-panel .profile-copy { margin: 0; overflow-wrap: anywhere; }
.account-status { color: var(--muted); font-size: 14px; line-height: 1.65; }
.account-status:empty { display: none; }
.account-actions { display: flex; flex-wrap: wrap; gap: 8px 12px; align-items: center; }
.account-actions > .quiet-button { padding-inline: 4px; }
.account-sheet { position: fixed; inset: 0; width: min(100% - 32px, 440px); max-height: calc(100svh - 32px); margin: auto; padding: 16px 24px 28px; overflow-y: auto; overscroll-behavior: contain; border: 0; border-radius: 16px; background: var(--paper); color: var(--ink); scrollbar-width: thin; scrollbar-color: var(--line) var(--paper); box-shadow: 0 20px 64px -20px rgb(23 29 27 / 38%); }
.account-sheet::backdrop, .account-prompt::backdrop { background: rgb(23 29 27 / 48%); }
html:has(.account-sheet[open], .account-prompt[open]) { overflow: hidden; }
.account-close { display: block; margin: 0 0 8px auto; }
.account-title { font-family: Georgia, "Times New Roman", serif; font-size: 30px; line-height: 1.2; letter-spacing: -.025em; font-weight: 400; text-wrap: balance; }
.account-intro { margin-top: 12px; color: var(--muted); font-size: 15px; line-height: 1.65; }
.account-sheet .account-actions { margin-top: 24px; }
.account-form { display: grid; gap: 16px; margin-top: 24px; }
.account-field { display: grid; gap: 7px; font-size: 14px; font-weight: 600; }
.account-input { width: 100%; min-width: 0; min-height: 48px; padding: 12px 14px; border: 1px solid var(--muted); border-radius: 10px; background: var(--paper); color: var(--ink); font-size: 16px; font-weight: 400; }
.account-input:focus-visible { outline: 2px solid var(--olive); outline-offset: 3px; }
.account-field-hint { margin-top: -8px; color: var(--muted); font-size: 13px; }
.account-reveal { justify-self: start; margin-top: -8px; }
.account-error { color: var(--error); font-size: 14px; line-height: 1.6; }
.account-error:empty { display: none; }
.account-footnote { margin-top: 16px; color: var(--muted); font-size: 13px; line-height: 1.6; }
.account-sheet > .quiet-button:not(.account-close) { display: block; margin-top: 8px; }
.account-providers { display: grid; gap: 10px; margin-top: 24px; }
.account-divider { display: flex; align-items: center; gap: 12px; margin-top: 20px; color: var(--muted); font-size: 13px; }
.account-divider::before, .account-divider::after { content: ''; flex: 1; border-top: 1px solid var(--line); }
.account-prompt { position: fixed; inset: 0; width: min(100% - 32px, 400px); max-height: calc(100svh - 32px); overflow-y: auto; overscroll-behavior: contain; margin: auto; padding: 28px; border: 0; border-radius: 16px; background: var(--paper); color: var(--ink); box-shadow: 0 20px 64px -20px rgb(23 29 27 / 38%); }
.account-prompt h2 { font-family: Georgia, "Times New Roman", serif; font-size: 30px; line-height: 1.2; letter-spacing: -.025em; font-weight: 400; text-wrap: balance; }
.account-prompt p { margin-top: 12px; color: var(--muted); font-size: 15px; line-height: 1.65; }
.account-prompt .account-actions { display: grid; gap: 8px; margin-top: 24px; }
.account-prompt .quiet-button { text-align: center; }
@media (hover: hover) {
  .account-panel .primary-button:hover, .account-sheet .primary-button:hover, .account-prompt .primary-button:hover { background: var(--olive-deep); border-color: var(--olive-deep); }
  .account-panel .secondary-button:hover, .account-sheet .secondary-button:hover { background: var(--wash); }
}
@media (max-width: 360px) {
  .account-sheet, .account-prompt { padding-inline: 20px; }
  .account-title, .account-prompt h2 { font-size: 27px; }
}
