.shell-account {
  position: fixed;
  top: max(10px, env(safe-area-inset-top));
  right: calc(max(12px, env(safe-area-inset-right)) + 54px);
  z-index: 1100;
  font: 700 12px Arial, sans-serif;
  color: #a5ffae;
}
.shell-account button, .shell-account a {
  min-height: 44px;
  padding: 10px 14px;
  border: 1px solid #347b3e;
  border-radius: 8px;
  background: #071009;
  color: inherit;
  font: inherit;
  cursor: pointer;
  text-decoration: none;
}
.shell-account button:focus-visible, .shell-account a:focus-visible {
  outline: 2px solid white;
  outline-offset: 3px;
}
.shell-account button:disabled { opacity: .6; cursor: wait; }
#shellAccountButton.is-signed-in { border-color: #83ee91; }
#shellAccountPanel {
  position: absolute;
  right: 0;
  top: 50px;
  width: min(260px, calc(100vw - 80px));
  padding: 12px;
  display: grid;
  gap: 8px;
  border: 1px solid #347b3e;
  border-radius: 10px;
  background: #071009;
  box-shadow: 0 8px 30px #000b;
}
#shellAccountPanel[hidden] { display: none; }
#shellAccountIdentity { padding: 4px; overflow-wrap: anywhere; }
#shellAccountStatus:not(:empty) {
  position: absolute;
  right: 0;
  top: 55px;
  width: 240px;
  padding: 12px;
  background: #071009;
  border: 1px solid #cf9b48;
  color: #ffe3ad;
}
@media (max-height: 520px) {
  .shell-account { top: max(4px, env(safe-area-inset-top)); }
  #shellAccountPanel { max-height: calc(100dvh - 70px); overflow-y: auto; }
}
