/* Wspólny pasek narzędzi świata: pionowy na desktopie, dolny na telefonie. */
.account-widget.guardian-dock {
  position: fixed;
  z-index: 120;
  left: auto;
  right: 16px;
  top: 50%;
  display: flex;
  width: 68px;
  padding: 7px;
  flex-direction: column;
  gap: 7px;
  transform: translateY(-50%);
  border: 1px solid #b9aa7f66;
  border-radius: 19px;
  background: #07130ded;
  color: #f4ecd7;
  box-shadow: 0 12px 34px #000a;
  backdrop-filter: blur(8px);
}
.account-widget.guardian-dock[hidden] { display: none; }
body:not([data-active-view="hub"]):not([data-active-view="forest"]):not([data-active-view="swamp"]):not([data-active-view="cave"]) .guardian-dock {
  display: none !important;
}
body[data-active-view="hub"] .guardian-home-button { display: none; }

.guardian-dock .account-profile-button,
.guardian-dock-button {
  position: relative;
  display: grid;
  place-items: center;
  width: 52px;
  min-width: 52px;
  min-height: 52px;
  margin: 0;
  padding: 4px 3px;
  border: 1px solid #8e856d66;
  border-radius: 13px;
  background: #14241de8;
  color: #f4ecd7;
  box-shadow: none;
  cursor: pointer;
  transition: border-color .18s, background .18s, transform .18s, box-shadow .18s;
}
.guardian-dock .account-profile-button[hidden] { display: none; }
.guardian-dock-button[hidden] { display: none; }
.guardian-dock .account-profile-button:hover,
.guardian-dock-button:hover,
.guardian-dock .account-profile-button:focus-visible,
.guardian-dock-button:focus-visible {
  z-index: 2;
  border-color: #e3c774;
  background: #20352ae8;
  outline: none;
  transform: translateX(-2px);
  box-shadow: 0 0 18px #d4b85c30;
}
.guardian-dock .account-avatar { width: 34px; height: 34px; border-width: 1px; }
.guardian-dock .account-avatar i { right: -7px; bottom: -5px; transform: scale(.8); }
.guardian-dock .account-profile-caption,
.guardian-dock-label {
  display: block;
  overflow: hidden;
  max-width: 47px;
  margin: 1px 0 0;
  color: #dbc985;
  font-size: .48rem;
  font-weight: 950;
  line-height: 1;
  letter-spacing: 0;
  text-align: center;
  text-overflow: ellipsis;
  text-transform: uppercase;
  white-space: nowrap;
}
.guardian-dock-icon { font-size: 1.22rem; line-height: 1; }
.guardian-dock-badge {
  position: absolute;
  right: -4px;
  top: -4px;
  min-width: 25px;
  padding: 3px 4px;
  border: 1px solid #d6bb6966;
  border-radius: 999px;
  background: #315c43;
  color: #fff9e8;
  font-size: .48rem;
  line-height: 1;
  text-align: center;
  box-shadow: 0 3px 9px #0008;
}
.guardian-dock .account-sync-dot { right: 3px; top: 3px; width: 8px; height: 8px; }
.guardian-dock .account-local-login {
  width: 52px;
  padding: 8px 3px;
  font-size: .55rem;
}
.guardian-chronicle-button.ready { border-color: #e8cd73; box-shadow: 0 0 18px #e7c66155; }
.guardian-chronicle-button.complete .guardian-dock-badge { background: #3b8a5a; }
.guardian-heal-button { border-color: #b9686877; }
.guardian-heal-button .guardian-dock-badge { background: #8f3e48; }
.guardian-heal-button:disabled { opacity: .48; cursor: not-allowed; filter: grayscale(.55); }
.guardian-heal-button:disabled:hover { transform: none; box-shadow: none; }
body[data-active-view="forest"] .guardian-home-button,
body[data-active-view="swamp"] .guardian-home-button,
body[data-active-view="cave"] .guardian-home-button { border-color: #c9b87588; }

@media (hover: hover) and (min-width: 721px) {
  .guardian-dock-button::after {
    content: attr(data-tooltip);
    position: absolute;
    right: calc(100% + 11px);
    top: 50%;
    width: max-content;
    max-width: 180px;
    padding: 7px 9px;
    transform: translate(6px, -50%);
    border: 1px solid #b9aa7f66;
    border-radius: 9px;
    background: #07130df4;
    color: #f4ecd7;
    font-size: .67rem;
    font-weight: 850;
    opacity: 0;
    pointer-events: none;
    transition: opacity .16s, transform .16s;
  }
  .guardian-dock-button:hover::after,
  .guardian-dock-button:focus-visible::after { opacity: 1; transform: translate(0, -50%); }
}

/* Profil nie zajmuje już lewego górnego narożnika — drużyna wraca na wspólną oś. */
.world-team-hud { left: 18px; }

@media (max-width: 720px) {
  .account-widget.guardian-dock {
    left: 50%;
    right: auto;
    top: auto;
    bottom: calc(8px + env(safe-area-inset-bottom, 0px));
    width: auto;
    max-width: calc(100vw - 16px);
    padding: 6px;
    flex-direction: row;
    transform: translateX(-50%);
    border-radius: 16px;
  }
  .guardian-dock .account-profile-button,
  .guardian-dock-button {
    width: 50px;
    min-width: 50px;
    min-height: 48px;
    border-radius: 11px;
  }
  .guardian-dock .account-profile-button:hover,
  .guardian-dock-button:hover,
  .guardian-dock .account-profile-button:focus-visible,
  .guardian-dock-button:focus-visible { transform: translateY(-2px); }
  .guardian-dock .account-avatar { width: 31px; height: 31px; }
  .guardian-dock-icon { font-size: 1.08rem; }
  .guardian-dock-label,
  .guardian-dock .account-profile-caption { font-size: .44rem; }
  .guardian-dock .account-local-login { width: 50px; }
  .world-team-hud { left: 8px; }
  #hub-view .world-team-hud,
  #forest-view .world-team-hud,
  #swamp-view .world-team-hud { top: calc(8px + env(safe-area-inset-top, 0px)); }
  #hub-view .hint,
  #forest-view .hint,
  #swamp-view .swamp-live-message,
  .cave-message { bottom: calc(72px + env(safe-area-inset-bottom, 0px)); }
}
