#account-gate, .account-prompt {
  position: fixed; inset: 0; z-index: 11000; overflow: auto;
  background: #132923; color: #f3f7f4; touch-action: pan-y;
  user-select: text; -webkit-user-select: text; box-sizing: border-box;
  padding: max(24px, env(safe-area-inset-top)) 24px max(24px, env(safe-area-inset-bottom));
}
.account-content { width: min(100%, 440px); margin: auto; padding: 16px 0; }
.account-content header { border-bottom: 1px solid #527267; padding-bottom: 20px; margin-bottom: 24px; }
.account-content h1 { font-size: 32px; line-height: 1.15; margin: 6px 0; }
.account-content h2 { font-size: 22px; line-height: 1.3; margin: 0 0 16px; }
.account-kicker, .account-version { color: #c9dbd3; font-size: 13px; }
.account-content button, .account-content input, .account-content textarea {
  font: inherit; min-height: 48px; width: 100%; box-sizing: border-box;
  border: 1px solid #88a898; border-radius: 6px; padding: 12px; margin: 6px 0;
}
.account-content button { background: #f5f8f5; color: #16362b; font-weight: 700; cursor: pointer; }
.account-content .account-primary { background: #ffd166; color: #332900; border-color: #ffd166; }
.account-content input, .account-content textarea { background: #fff; color: #182821; font-size: 16px; }
.account-content label { display: block; font-size: 14px; margin-top: 16px; }
.account-content button:disabled { opacity: .5; cursor: wait; }
.account-content .account-master-fallback {
  min-height: 44px; border: 0; background: transparent; color: #a4ebe3;
  font-size: 14px; font-weight: 600; text-decoration: underline;
}
.account-content :focus-visible { outline: 3px solid #70daca; outline-offset: 3px; }
.account-content p { line-height: 1.5; overflow-wrap: anywhere; }
.account-content textarea { resize: vertical; }
#account-status { min-height: 24px; color: #ffe1a0; }
.account-content a { color: #a4ebe3; display: inline-flex; min-height: 44px; align-items: center; }
.account-content [hidden] { display: none; }
.account-active #rotate-hint { display: none; }
.house-panel label { display: block; margin-top: 16px; font-size: 14px; }
.house-panel input, .house-panel textarea {
  display: block; box-sizing: border-box; width: 100%; min-height: 48px; margin: 6px 0;
  border: 1px solid #88a898; border-radius: 6px; padding: 12px; background: #fff; color: #182821;
  font: 16px system-ui; user-select: text; -webkit-user-select: text;
}
