[hidden] { display: none !important; }
.account-gate { min-height: 100dvh; display: grid; place-items: center; padding: 32px 20px; background: radial-gradient(ellipse at top, #f0e6fb, transparent 65%), #f9f6fa; }
.account-card { max-width: 430px; padding: 34px; border-radius: 24px; border: 1px solid var(--line); background: #fffdfd; box-shadow: var(--shadow); }
.account-brand { margin-bottom: 24px; font-size: 24px; }
.account-card h1 { font-size: 25px; text-align: center; line-height: 1.5; }
.account-intro { color: var(--muted); text-align: center; margin: 12px 0 25px; font-size: 13px; line-height: 1.8; }
.account-error { min-height: 18px; color: #9a3e5a; font-size: 12px; }
.account-switch { display: block; margin: 20px auto 0; }
.account-privacy { margin-top: 24px; color: var(--muted); text-align: center; font-size: 11px; line-height: 1.8; }
.account-row { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.account-row strong { overflow-wrap: anywhere; }
.online-note { color: var(--muted); font-size: 12px; line-height: 1.8; margin: 14px 0; }
@media (max-width: 760px) {
  body { min-width: 320px; }
  #shell { display: block; }
  .sidebar { position: static; height: auto; padding: 0; border: 0; }
  .sidebar .brand, .sidebar .nav-kicker, .sidebar .side-footer { display: none; }
  #nav { position: fixed; inset: auto 0 0; z-index: 5; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 2px; padding: 7px 4px calc(7px + env(safe-area-inset-bottom)); border-top: 1px solid var(--line); background: #fffdfd; box-shadow: 0 -3px 16px #6d4c7d0b; }
  #nav .nav-item { min-width: 0; min-height: 52px; padding: 5px 0; gap: 4px; justify-content: center; flex-direction: column; border-radius: 10px; }
  #nav .nav-item span { display: block; font-size: 10px; white-space: nowrap; }
  #nav .nav-item.active::after { display: none; }
  .workspace { padding-bottom: calc(78px + env(safe-area-inset-bottom)); }
  .page-footer { flex-wrap: wrap; }
  #toasts { bottom: calc(90px + env(safe-area-inset-bottom)); }
  .field input, .field textarea, .composer textarea { font-size: 16px; }
  .topbar { padding-inline: 12px; gap: 8px; }
  .top-right { gap: 8px; }
  .crumb { font-size: 11px; }
  .account-card { padding: 28px 22px; }
  .account-row { align-items: flex-start; }
}
