.account-page { max-width: 68rem; margin: clamp(32px, 7vw, 96px) auto 5rem; }
.account-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); gap: clamp(24px, 5vw, 64px); align-items: start; }
.account-intro .lede { max-width: 42ch; font-size: 16px; line-height: 1.8; }
.account-intro .section-lead { margin-top: 0; }
.account-access { min-width: 0; }
.account-continue { margin: 20px 0 0; }
.account-continue a { display: flex; justify-content: center; min-height: 48px; padding: 12px 16px; text-align: center; line-height: 1.5; white-space: normal; }
[data-account-surface] .skip-link { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
[data-account-surface] .skip-link:focus { width: auto; height: auto; clip-path: none; top: 12px; left: 12px; z-index: 100; padding: 12px 16px; background: var(--bg); color: var(--accent); border: 2px solid var(--accent); border-radius: 8px; }
@media (max-width: 760px) { .account-layout { grid-template-columns: minmax(0, 1fr); gap: 24px; } }
.account-page h1 { margin-block: .35rem 1rem; }
.account-card { border: 1px solid var(--line); border-radius: 1rem; padding: clamp(1.2rem, 4vw, 2rem); background: var(--surface-raised); }
.account-card h2 { margin-block: 1.2rem .5rem; }
.account-card p { font-size: 14px; line-height: 1.75; }
.account-live-sign-in { display: flex; align-items: center; justify-content: center; text-align: center; text-decoration: none; line-height: 1.5; word-spacing: .12em; }
.account-card #account-signed-out .account-button,
.account-card #account-signed-out .account-button:hover,
.account-card #account-signed-out .account-button:active,
.account-card #account-signed-out .account-button:focus-visible,
.account-card .account-live-sign-in:link,
.account-card .account-live-sign-in:visited,
.account-card .account-live-sign-in:hover,
.account-card .account-live-sign-in:active,
.account-card .account-live-sign-in:focus-visible {
  width: 100%;
  min-height: 48px;
  border: 1px solid var(--accent);
  border-radius: 8px;
  background: var(--accent);
  color: var(--accent-ink);
  text-decoration: none;
}
.account-card #account-signed-out .account-button:focus-visible,
.account-card .account-live-sign-in:focus-visible { outline: 3px solid var(--star); outline-offset: 3px; }
.account-card dl { display: grid; grid-template-columns: minmax(5rem, 8rem) minmax(0, 1fr); gap: .75rem 1rem; }
.account-card dt { font-weight: 700; }
.account-card dd { min-width: 0; margin: 0; overflow-wrap: anywhere; }
.account-button, .account-control { min-height: 44px; padding: .5rem 1rem; border: 1px solid var(--line); border-radius: 12px; background: var(--surface-raised); color: var(--ink); font: 600 .94rem var(--ui); cursor: pointer; }
.account-button:hover, .account-control:hover, .account-button:focus-visible, .account-control:focus-visible { border-color: var(--star); color: var(--star); }
.account-control { max-width: 11rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; margin-inline-start: auto; }
.account-button:disabled, .account-control:disabled { opacity: .6; cursor: wait; }
.account-danger { border-color: var(--danger); }
#account-delete-form { display: grid; gap: .75rem; border-top: 1px solid var(--line); margin-top: 2rem; padding-top: 1.5rem; }
#account-delete-confirm { min-height: 44px; width: min(100%, 25rem); padding: .55rem .7rem; border: 1px solid var(--line); border-radius: .5rem; background: var(--bg); color: var(--ink); font: inherit; }
#account-delete-status { min-height: 1.5rem; }
[hidden] { display: none !important; }
