/* Phase G only: compact account controls and authentication forms. */
.auth-header { display:flex; align-items:center; gap:8px; flex-shrink:0; }
.auth-header .brand { padding:0; }
.auth-account { display:flex; align-items:center; gap:2px; min-width:0; }
.auth-account [hidden], .family-auth [hidden] { display:none!important; }
.auth-account .btn { padding-inline:8px; font-size:12px; }
#authAccount { max-width:110px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:var(--crypte-surface-text-primary-family-auth); font-size:12px; }
.family-auth { box-sizing:border-box; width:min(420px,calc(100% - 28px)); padding:28px; border:1px solid var(--crypte-ornament-border-family-auth); border-radius:7px; background:var(--crypte-surface-secondary-guardian-selector); color:var(--crypte-surface-text-primary-collection-ux-3); font:15px/1.5 Inter,"Segoe UI",Arial,sans-serif; box-shadow:0 18px 70px #0008; }
dialog.family-auth { position:fixed; max-height:calc(100dvh - 32px); overflow:auto; }
.family-auth::backdrop { background:var(--crypte-surface-scrim-family-auth); }
.family-auth h1,.family-auth h2 { margin:8px 0 22px; font:500 28px/1.15 Baskerville,Georgia,serif; }
.family-auth .eyebrow { color:var(--crypte-surface-text-heading-explore-cryptes); font-size:11px; letter-spacing:.15em; text-transform:uppercase; }
.family-auth label { display:block; margin:14px 0; }
.family-auth input { box-sizing:border-box; display:block; margin-top:6px; width:100%; height:44px; padding:8px 12px; border:1px solid var(--crypte-ornament-border-historical-base); border-radius:5px; background:var(--crypte-surface-field-brand-2); color:var(--crypte-surface-text-primary-collection-ux-3); font:inherit; }
.family-auth input:focus-visible { outline:2px solid var(--crypte-semantic-focus-ring-collection-ux-2); outline-offset:2px; }
.family-auth .btn { display:inline-flex; align-items:center; justify-content:center; min-height:40px; padding:8px 12px; border:1px solid var(--crypte-ornament-border-historical-base); border-radius:5px; background:transparent; color:inherit; cursor:pointer; font:inherit; }
.family-auth .btn-primary { background:var(--crypte-accent-control-background-historical-base); }
.family-auth button:disabled { opacity:.55; cursor:wait; }
.auth-close { position:absolute; top:8px; right:8px; }
.auth-options { display:flex; flex-wrap:wrap; gap:6px; margin-top:14px; }
.auth-options .btn { font-size:12px; }
#authMessage { overflow-wrap:anywhere; color:var(--crypte-surface-text-primary-family-auth-2); }
#authHint { font-size:12px; color:var(--crypte-surface-text-primary-family-auth); }
.family-auth a { color:var(--crypte-surface-text-primary-explore-cryptes-2); }
.auth-reset-page { margin:0; min-height:100dvh; display:grid; place-items:center; padding:24px 0; }
.auth-reset { position:relative; }
@media (max-width:1100px) {
  #authAccount { max-width:100px; }
  .auth-account { flex-direction:column; align-items:flex-start; gap:0; }
  .auth-account .btn { min-height:26px; padding-block:2px; }
}
@media (max-width:760px) {
  #authAccount { max-width:80px; }
  .family-auth { padding:24px 20px; }
}
@media (max-width:440px) {
  .auth-header { gap:6px; }
  #authAccount { max-width:75px; }
  .auth-account .btn { font-size:11px; padding-inline:4px; }
}
@media (max-width:360px) {
  .auth-header { flex-direction:column; gap:0; }
  #authAccount { max-width:64px; font-size:10px; }
  .auth-account { align-items:center; }
  .auth-account .btn { font-size:10px; padding-inline:2px; min-height:22px; }
}
