.account-entry { color: #143d32; }
.account-entry button, .account-entry a, .account-entry input { font: inherit; letter-spacing: 0; }
.account-entry-tabs { display: flex; gap: 22px; border-bottom: 1px solid rgba(18, 61, 50, .14); }
.account-entry-tabs button {
  position: relative; min-height: 42px; border: 0; padding: 0 2px 10px; color: #60766f;
  background: transparent; font-weight: 850; cursor: pointer;
}
.account-entry-tabs button::after { content: ""; position: absolute; right: 0; bottom: -1px; left: 0; height: 3px; background: transparent; }
.account-entry-tabs button.is-active { color: #155642; }
.account-entry-tabs button.is-active::after { background: #155642; }
.account-credentials { display: grid; gap: 13px; min-width: 0; padding-top: 16px; }
.account-email-field { width: 100%; }
.account-password-pair { display: grid; grid-template-columns: minmax(0, 1fr); gap: 12px; min-width: 0; }
.account-mode-register .account-password-pair { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.account-field { display: grid; gap: 6px; }
.account-field span { color: #395b51; font-size: 12px; font-weight: 800; }
.account-field input {
  width: 100%; min-height: 48px; box-sizing: border-box; border: 1px solid rgba(18, 61, 50, .17);
  border-radius: 4px; padding: 10px 12px; outline: 2px solid transparent; color: #143d32; background: #fff;
}
.account-field input:focus { border-color: #3b8069; outline-color: rgba(59, 128, 105, .15); }
.account-password-rule { margin: -4px 0 0; color: #6c7f78; font-size: 12px; }
.account-register-profile { display: grid; gap: 18px; min-width: 0; margin-top: 18px; overflow: hidden; }
.account-register-profile .entry-field-row { display: block; }
.account-register-profile .entry-avatar-field { width: 100%; min-width: 0; max-width: 100%; margin-top: 0; overflow: hidden; }
.account-register-profile .entry-avatar-list {
  width: 100%; min-width: 0; max-width: 100%; box-sizing: border-box; overflow-x: scroll; overflow-y: hidden;
  scrollbar-width: auto; scrollbar-color: #4f806d #e3ece7; -webkit-overflow-scrolling: touch;
}
.account-register-profile .entry-avatar-list::-webkit-scrollbar { height: 9px; }
.account-register-profile .entry-avatar-list::-webkit-scrollbar-track { border-radius: 2px; background: #e3ece7; }
.account-register-profile .entry-avatar-list::-webkit-scrollbar-thumb { border: 2px solid #e3ece7; border-radius: 4px; background: #4f806d; }
.account-register-finish { display: grid; gap: 12px; margin-top: 18px; }
.account-code-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: end; gap: 8px; }
.account-send-code, .account-complete { min-height: 48px; border: 0; border-radius: 4px; padding: 10px 16px; font-weight: 850; cursor: pointer; }
.account-send-code { color: #155642; background: #dfece5; }
.account-complete { width: 100%; color: #fff; background: #155642; }
.account-entry button:disabled { cursor: wait; opacity: .55; }
.account-message { min-height: 18px; margin: 12px 0 0; color: #356a59; font-size: 12px; font-weight: 750; }
.account-message.is-error { color: #a24232; }
.account-name-status { display: block; min-height: 0; margin-top: 5px; color: #6b7e77; font-size: 11px; font-weight: 750; }
.account-name-status:empty { display: none; }
.account-name-status.is-error { color: #a24232; }
.account-signed { display: grid; grid-template-columns: 54px minmax(0, 1fr) auto; align-items: center; gap: 12px; min-height: 64px; color: #526d64; font-size: 13px; }
.account-signed-avatar { display: grid; place-items: center; width: 54px; height: 54px; overflow: hidden; border: 1px solid rgba(18, 61, 50, .16); border-radius: 4px; background: #edf4ef; }
.account-signed-avatar .forest-avatar { width: 50px; height: 50px; transform: scale(.76); }
.account-signed-identity { display: grid; min-width: 0; gap: 2px; }
.account-signed-identity span { color: #60766f; font-size: 11px; font-weight: 750; }
.account-signed-identity strong, .account-signed-identity small { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.account-signed-identity strong { color: #143d32; font-size: 16px; }
.account-signed-identity small { color: #60766f; font-size: 11px; }
.account-signed a {
  display: inline-flex;
  min-height: 38px;
  align-items: center;
  justify-content: center;
  margin-left: auto;
  border: 1px solid rgba(21, 86, 66, .2);
  border-radius: 6px;
  padding: 8px 12px;
  color: #fff;
  background: #155642;
  box-shadow: 0 7px 16px rgba(21, 86, 66, .18);
  font-weight: 850;
  text-decoration: none;
  transform: translateY(0);
  transition: transform .18s ease, box-shadow .18s ease, background .18s ease;
}
.account-signed a:hover, .account-signed a:focus-visible { background: #0f4737; box-shadow: 0 10px 21px rgba(21, 86, 66, .24); outline: none; transform: translateY(-2px); }
.account-signed a:active { transform: translateY(1px) scale(.98); }
.account-mode-login .account-register-profile,
.account-mode-login .account-register-finish,
.account-mode-register .entry-language-fieldset,
.account-mode-register .entry-submit,
.account-mode-register .hungry-notes-entry { display: none !important; }
.account-is-signed .account-register-profile,
.account-is-signed .account-register-finish { display: none !important; }
.account-entry [hidden] { display: none !important; }
.account-registration-active .cafe-float { display: none !important; }
@media (max-width: 640px) {
  .account-credentials { gap: 11px; }
  .account-password-pair { gap: 8px; }
  .account-password-pair .account-field span { font-size: 11px; }
  .account-password-pair .account-field input { min-width: 0; padding-inline: 9px; }
  .account-code-row { grid-template-columns: 1fr; }
  .account-send-code { width: 100%; }
  .account-signed { grid-template-columns: 50px minmax(0, 1fr) auto; gap: 9px; }
  .account-signed-avatar { width: 50px; height: 50px; }
}
