/* Panel layout fixes. Keep exterior tabs outside the content clipping area. */
#loginOverlay.main-tab-leaderboard #mainMenuContent {
  overflow: visible !important;
}
#loginOverlay.main-tab-leaderboard #mainMenuPanelTitle.main-leaderboard-title-tabs-v550 {
  display: flex !important;
  top: -42px !important;
  left: 14px !important;
  right: auto !important;
  width: auto !important;
  height: 42px !important;
  max-width: calc(100% - 28px) !important;
  gap: 5px !important;
  transform: none !important;
}
#loginOverlay.main-tab-leaderboard #mainMenuPanelTitle .main-panel-title-tab-v550 {
  flex: 0 1 auto !important;
  width: auto !important;
  min-width: 128px !important;
  max-width: none !important;
  height: 42px !important;
  padding: 0 13px !important;
  font-size: 15px !important;
}

/* Settings use one full-width row per option, with the control on the right. */
#settingsPanel.settings-panel-v480 {
  z-index: 70 !important;
  width: min(500px, calc(100vw - 28px)) !important;
  max-height: calc(100dvh - 48px) !important;
  padding: 18px !important;
  border: 3px solid #3b1500 !important;
  box-shadow: inset 0 0 0 3px #e57900, 0 5px 0 #3b150080 !important;
}
#settingsPanel.settings-panel-v480 .settings-header-v269 {
  display: flex !important;
  justify-content: center !important;
  min-height: 40px !important;
  margin: 0 0 12px !important;
  padding: 0 42px !important;
}
#settingsPanel.settings-panel-v480 .settings-options-v269,
#settingsPanel.settings-panel-v480 .settings-section-v480 {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  width: 100% !important;
  max-width: none !important;
  box-sizing: border-box !important;
  gap: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
#settingsPanel.settings-panel-v480 .settings-section-v480 {
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
#settingsPanel.settings-panel-v480 .settings-section-title-v480 {
  padding: 10px 0 5px !important;
  font-size: 13px !important;
  color: #ffc66f !important;
}
#settingsPanel.settings-panel-v480 .settings-option-v269,
#settingsPanel.settings-panel-v480 .settings-select-v404,
#settingsPanel.settings-panel-v480 .settings-audio-v301,
#settingsPanel.settings-panel-v480 .settings-account-v270 {
  position: relative !important;
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 16px !important;
  width: 100% !important;
  min-height: 49px !important;
  margin: 0 !important;
  padding: 8px 0 !important;
  border: 0 !important;
  border-bottom: 1px solid #a85b25 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  order: 0 !important;
}
#settingsPanel.settings-panel-v480 .settings-account-v270.hidden { display: none !important; }
#settingsPanel.settings-panel-v480 .settings-option-v269 span,
#settingsPanel.settings-panel-v480 .settings-select-v404 span,
#settingsPanel.settings-panel-v480 .settings-audio-v301 span,
#settingsPanel.settings-panel-v480 .settings-account-v270 span {
  position: static !important;
  order: 0 !important;
  flex: 1 1 auto !important;
  text-align: left !important;
  white-space: normal !important;
  overflow: visible !important;
  font-size: 15px !important;
  line-height: 1.3 !important;
}
#settingsPanel.settings-panel-v480 .settings-select-v404 select {
  order: 1 !important;
  width: 150px !important;
  flex: 0 0 150px !important;
  height: 34px !important;
}
#settingsPanel.settings-panel-v480 .settings-option-v269 input {
  display: block !important;
  position: absolute !important;
  right: 0 !important;
  width: 46px !important;
  height: 28px !important;
  margin: 0 !important;
  opacity: 0 !important;
}
#settingsPanel.settings-panel-v480 .settings-option-v269 i {
  display: block !important;
  position: relative !important;
  flex: 0 0 46px !important;
  width: 46px !important;
  height: 28px !important;
  order: 1 !important;
  border: 2px solid #3b1500 !important;
  border-radius: 7px !important;
  background: #4f240b !important;
  box-shadow: inset 0 1px 2px #0004 !important;
}
#settingsPanel.settings-panel-v480 .settings-option-v269 i::before {
  content: none !important;
}
#settingsPanel.settings-panel-v480 .settings-option-v269 i::after,
#settingsPanel.settings-panel-v480 .settings-option-v269 input:checked + i::after {
  content: '' !important;
  display: block !important;
  position: absolute !important;
  top: 3px !important;
  left: 3px !important;
  width: 18px !important;
  height: 18px !important;
  border: 0 !important;
  border-radius: 4px !important;
  background: #ffe6ad !important;
  opacity: 1 !important;
  transform: none !important;
  box-shadow: 0 1px 2px #0004 !important;
}
#settingsPanel.settings-panel-v480 .settings-option-v269 input:checked + i::after {
  transform: translateX(18px) !important;
}
#settingsPanel.settings-panel-v480 .settings-option-v269 input:checked + i {
  background: #67b72c !important;
  border-color: #335718 !important;
}
#settingsPanel.settings-panel-v480 .settings-option-v269 input:focus-visible + i {
  outline: 2px solid #ffe6ad !important;
  outline-offset: 3px !important;
}
#settingsPanel.settings-panel-v480 .settings-account-v270 b {
  max-width: 72% !important;
  margin: 0 !important;
}
#settingsPanel.settings-panel-v480 .settings-audio-v301 {
  flex-wrap: wrap !important;
  gap: 6px !important;
  padding-top: 12px !important;
  border-bottom: 0 !important;
}
#settingsPanel.settings-panel-v480 .settings-audio-v301 span {
  flex-basis: 100% !important;
}
#settingsPanel.settings-panel-v480 .settings-audio-v301 output { float: right !important; }
#settingsPanel.settings-panel-v480 .settings-audio-v301 input[type='range'] {
  order: 1 !important;
  width: 100% !important;
  height: 20px !important;
  margin: 0 !important;
  background: transparent !important;
}
#settingsPanel.settings-panel-v480 .settings-audio-v301 input[type='range']::-webkit-slider-runnable-track {
  height: 8px !important;
  border: 1px solid #3b1500 !important;
  border-radius: 5px !important;
  background: #482008 !important;
}
#settingsPanel.settings-panel-v480 .settings-audio-v301 input[type='range']::-webkit-slider-thumb {
  margin-top: -4px !important;
}
#settingsPanel.settings-panel-v480 .settings-support-v497 {
  order: 2 !important;
  align-self: center !important;
  width: 180px !important;
  min-height: 38px !important;
  height: 38px !important;
  margin: 12px 0 0 !important;
  padding: 0 !important;
  display: grid !important;
  place-items: center !important;
  border: 2px solid #3b1500 !important;
  border-radius: 7px !important;
  background: #ae4a00 !important;
  color: #fff1c7 !important;
  box-shadow: 0 2px 0 #3b1500 !important;
}

/* Quest components are aligned independently of the crafting recipe grids. */
#questsPanel .quest-category-tabs-v603 {
  top: -70px !important;
  left: 10px !important;
  gap: 5px !important;
  overflow: visible !important;
}
#questsPanel .craft-category-tab.quest-category-tab-v603.icon-only {
  flex: 0 0 110px !important;
  width: 110px !important;
  min-width: 110px !important;
  height: 66px !important;
  padding: 5px 6px !important;
  grid-template-rows: 36px 16px !important;
  gap: 2px !important;
  opacity: 1 !important;
  box-shadow: inset 0 2px 0 #ffffff22 !important;
}
#questsPanel .quest-category-icon-v603 {
  display: block !important;
  position: static !important;
  width: 36px !important;
  height: 36px !important;
  margin: 0 !important;
  background-size: contain !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
  transform: none !important;
}
#questsPanel .quest-category-label-v617 {
  display: block !important;
  color: #fff0cb !important;
  font-size: 12px !important;
  line-height: 16px !important;
  white-space: nowrap !important;
}
#questsPanel .craft-shell.quest-shell-v603 {
  grid-template-columns: 42% minmax(0, 1fr) !important;
}
#questsPanel .craft-detail.quest-detail-v603 {
  padding: 18px !important;
  overflow-y: auto !important;
}
#questsPanel .craft-detail-card.quest-detail-card-v603 {
  display: flex !important;
  flex-direction: column !important;
  height: 100% !important;
  min-height: min-content !important;
  gap: 12px !important;
}
#questsPanel .quest-detail-card-v603 .craft-detail-head {
  flex: 0 0 auto !important;
  min-height: 0 !important;
  padding: 0 24px 0 0 !important;
  margin: 0 !important;
  display: block !important;
}
#questsPanel .quest-detail-card-v603 .craft-detail-title {
  font-size: 22px !important;
  line-height: 1.15 !important;
  text-align: left !important;
  margin: 0 !important;
}
#questsPanel .quest-detail-state-v603 { display: none !important; }
#questsPanel .quest-description-v603 {
  flex: 0 0 auto !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  font-size: 14px !important;
  line-height: 1.35 !important;
  text-shadow: 0 1px 0 #3b1500 !important;
}
#questsPanel .quest-progress-box-v603,
#questsPanel .quest-reward-box-v603 {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  justify-content: flex-start !important;
  flex: 0 0 auto !important;
  min-height: 0 !important;
  padding: 10px !important;
  margin: 0 !important;
  gap: 8px !important;
}
#questsPanel .quest-progress-label-v603,
#questsPanel .quest-reward-title-v603 {
  font-size: 14px !important;
  line-height: 18px !important;
  text-align: left !important;
  margin: 0 !important;
  text-shadow: 0 1px 0 #3b1500 !important;
}
#questsPanel .quest-progress-v602 {
  flex: 0 0 10px !important;
  width: 100% !important;
  height: 10px !important;
  box-sizing: border-box !important;
  border: 1px solid #3b1500 !important;
  background: #482008 !important;
}
#questsPanel .quest-reward-v602.quest-reward-icons-v608 {
  width: 100% !important;
  display: flex !important;
  justify-content: flex-start !important;
  gap: 8px !important;
}
#questsPanel .quest-reward-chip-v608 {
  flex: 0 0 62px !important;
  width: 62px !important;
  height: 56px !important;
  box-sizing: border-box !important;
  border: 1px solid #b37331 !important;
  border-radius: 6px !important;
  background: #7a3c0e !important;
  box-shadow: none !important;
}
#questsPanel .quest-reward-chip-v608 i {
  width: 36px !important;
  height: 36px !important;
  margin: -8px 0 0 !important;
}
#questsPanel .quest-reward-chip-v608 b {
  right: 4px !important;
  bottom: 3px !important;
  font-size: 12px !important;
}
#questsPanel .quest-claim-button-v602 {
  color: #fff !important;
  flex: 0 0 42px !important;
  min-height: 42px !important;
  height: 42px !important;
  width: min(100%, 250px) !important;
  margin: auto auto 0 !important;
  align-self: center !important;
}
#questsPanel .quest-list-icon-v603 {
  position: relative;
  flex: 0 0 40px !important;
  width: 40px !important;
  min-width: 40px !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  height: 32px !important;
  border-radius: 0 !important;
}
#questsPanel .quest-list-icon-v603 img { display: block; width: 100%; height: 100%; object-fit: contain; }
#questsPanel .quest-list-icon-v603 span { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; color: #613b00; font-size: 11px; font-weight: 700; text-shadow: none; }
#questsPanel .craft-shell.quest-clan-locked-v617 { grid-template-columns: 1fr !important; }
#questsPanel .quest-clan-locked-v617 > .craft-list-wrap { display: none !important; }
#questsPanel .quest-clan-locked-v617 .craft-detail.quest-detail-v603 {
  border: 0 !important;
  padding: 24px !important;
}
#questsPanel .quest-clan-lock-detail-v612 {
  background: transparent !important;
  box-shadow: none !important;
  min-height: 100% !important;
}
@media (max-width: 600px) {
  #loginOverlay.main-tab-leaderboard #mainMenuPanelTitle .main-panel-title-tab-v550 {
    min-width: 0 !important;
    padding: 0 8px !important;
    font-size: 12px !important;
  }
  #questsPanel .craft-detail.quest-detail-v603 { padding: 12px !important; }
  #questsPanel .quest-detail-card-v603 .craft-detail-title { font-size: 18px !important; }
  #questsPanel .craft-list-name { font-size: 13px !important; }
}

/* v618: continuous profile-style frame and aligned controls. */
#loginOverlay.main-tab-leaderboard #mainMenuContent {
  border: 4px solid #3b1500 !important;
  border-radius: 16px !important;
  padding: 12px !important;
  height: min(500px, calc(100dvh - 180px)) !important;
  background: #f27a12 !important;
  box-shadow: 0 6px 0 #0007, 0 20px 44px #0005 !important;
}
#loginOverlay.main-tab-leaderboard #mainMenuPanelBody {
  box-sizing: border-box !important;
  height: 100% !important;
  max-height: none !important;
  padding: 12px !important;
  border: 3px solid #3b1500 !important;
  border-radius: 0 11px 11px 11px !important;
  background: #5b2100 !important;
  box-shadow: inset 0 2px 0 #ffffff1f, inset 0 -4px 0 #0003 !important;
  overflow-y: auto !important;
}
#loginOverlay.main-tab-leaderboard #mainMenuPanelTitle .main-panel-title-tab-v550.active {
  background: #f27a12 !important;
  box-shadow: none !important;
}
#loginOverlay.main-tab-leaderboard #mainMenuPanelTitle,
#loginOverlay.main-tab-leaderboard #mainMenuPanelTitle .main-panel-title-tab-v550 {
  height: 42px !important;
  min-height: 42px !important;
  max-height: 42px !important;
}
#loginOverlay.main-tab-leaderboard .main-leaderboard-card-v140 {
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  padding: 0 !important;
}
#settingsPanel.settings-panel-v480 .settings-option-v269 i {
  flex-basis: 28px !important;
  width: 28px !important;
  height: 28px !important;
  border-radius: 5px !important;
  box-shadow: inset 0 1px 0 #ffffff22 !important;
}
#settingsPanel.settings-panel-v480 .settings-option-v269 i::after,
#settingsPanel.settings-panel-v480 .settings-option-v269 input:checked + i::after {
  left: 8px !important;
  top: 4px !important;
  width: 7px !important;
  height: 12px !important;
  border: solid #fff4d1 !important;
  border-width: 0 3px 3px 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  transform: rotate(45deg) !important;
  box-shadow: none !important;
  opacity: 0 !important;
}
#settingsPanel.settings-panel-v480 .settings-option-v269 input:checked + i::after {
  opacity: 1 !important;
}
#settingsPanel.settings-panel-v480 .settings-option-v269 input {
  width: 28px !important;
  height: 28px !important;
}
#settingsPanel.settings-panel-v480 .settings-header-v269 { align-items: center !important; }
#settingsPanel.settings-panel-v480 .settings-account-v270 b {
  flex: 1 1 auto !important;
  text-align: right !important;
  font-size: 11px !important;
  padding-right: 30px !important;
}

/* Day/night concept 3: a two-part timeline with a moving sun/moon marker. */
#dayNightTimer.day-night-timer {
  width: 188px !important;
  min-width: 188px !important;
  height: 32px !important;
  display: block !important;
  box-sizing: border-box !important;
  padding: 3px !important;
  border: 3px solid #64330c !important;
  border-radius: 9px !important;
  background: #db811b !important;
  box-shadow: inset 0 1px 0 #ffe09c, 0 3px 0 #321b0aaa !important;
  overflow: visible !important;
}
#dayNightTimer.day-night-timer::before,
#dayNightTimer.day-night-timer::after { content: none !important; }
#dayNightTimer.day-night-timer.hidden { display: none !important; }
#dayNightTimer .day-night-track-v618 {
  position: relative;
  height: 100%;
  border: 1px solid #633608;
  border-radius: 4px;
  background: linear-gradient(90deg, #eeb247 0%, #eeb247 50%, #54321d 50%, #54321d 100%);
  box-shadow: inset 0 2px 3px #0003;
}
#dayNightTimer .day-night-track-v618::after {
  content: '';
  position: absolute;
  left: 5px; right: 5px; bottom: 0;
  height: 5px;
  background: repeating-linear-gradient(90deg, #875020 0 2px, transparent 2px 16px);
  pointer-events: none;
}
#dayNightTimer #dayNightIcon.day-night-icon {
  position: absolute !important;
  left: clamp(12px, var(--cycle-position, 0%), calc(100% - 12px)) !important;
  top: 50% !important;
  transform: translate(-50%, -50%) !important;
  width: 28px !important;
  min-width: 28px !important;
  height: 28px !important;
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: none !important;
  box-shadow: none !important;
  z-index: 2;
}
#dayNightIcon svg { width: 28px; height: 28px; display: block; }
#dayNightTimer .cycle-moon, #dayNightTimer.night .cycle-sun { display: none; }
#dayNightTimer.night .cycle-moon { display: block; }
#dayNightTimer #dayNightTimerLabel {
  position: absolute !important;
  top: 33px !important;
  left: 0 !important;
  width: 100% !important;
  margin: 0 !important;
  color: #fff1cf !important;
  font-size: 12px !important;
  line-height: 16px !important;
  text-align: center !important;
  text-shadow: 0 1px 2px #321b0a, 1px 0 2px #321b0a !important;
}

/* v619: labelled settings controls, connected quest tabs and copy feedback. */
#settingsPanel.settings-panel-v480 .settings-option-v269 i,
#settingsPanel.settings-panel-v480 .settings-option-v269 input {
  width: 76px !important;
  height: 32px !important;
}
#settingsPanel.settings-panel-v480 .settings-option-v269 i {
  flex: 0 0 76px !important;
  border-radius: 6px !important;
}
#settingsPanel.settings-panel-v480 .settings-option-v269 i::after,
#settingsPanel.settings-panel-v480 .settings-option-v269 input:checked + i::after {
  content: var(--toggle-off, 'ВЫКЛ') !important;
  position: absolute !important;
  inset: 0 !important;
  display: grid !important;
  place-items: center !important;
  width: 100% !important;
  height: 100% !important;
  box-sizing: border-box !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  transform: none !important;
  background: none !important;
  opacity: 1 !important;
  color: #fff1ca !important;
  font-style: normal !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  text-shadow: 0 1px 0 #422005 !important;
}
#settingsPanel.settings-panel-v480 .settings-option-v269 input:checked + i::after {
  content: var(--toggle-on, 'ВКЛ') !important;
}
#questsPanel .craft-category-tabs.quest-category-tabs-v603 {
  left: 0 !important;
  top: -78px !important;
  height: 78px !important;
  padding: 0 !important;
  gap: 4px !important;
  align-items: flex-end !important;
  overflow: visible !important;
  z-index: 500 !important;
}
#questsPanel .craft-category-tab.quest-category-tab-v603.icon-only {
  box-sizing: border-box !important;
  flex: 0 0 102px !important;
  width: 102px !important;
  min-width: 102px !important;
  max-width: 102px !important;
  height: 78px !important;
  min-height: 78px !important;
  max-height: 78px !important;
  margin: 0 !important;
  padding: 7px 8px !important;
  gap: 4px !important;
  grid-template-rows: 36px 12px !important;
  align-content: center !important;
  border-radius: 9px 9px 0 0 !important;
  border-width: 2px 2px 0 !important;
  background: #743000 !important;
  box-shadow: inset 0 2px 0 #ffffff21, 0 -1px 0 #0003 !important;
  transform: none !important;
}
#questsPanel .craft-category-tab.quest-category-tab-v603.icon-only.active,
#questsPanel .craft-category-tab.quest-category-tab-v603.icon-only:hover {
  background: var(--ah-flat-orange-row-active, #ae4e00) !important;
}
#questsPanel .quest-category-label-v617 {
  max-width: 86px !important;
  font-size: 10px !important;
  line-height: 12px !important;
}
#questsPanel .quest-reward-chip-v608,
#questsPanel .quest-reward-chip-v608.coin,
#questsPanel .quest-reward-chip-v608.item {
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}
#dayNightIcon img {
  display: block;
  width: 28px;
  height: 28px;
  object-fit: contain;
}
#dayNightTimer .cycle-moon,
#dayNightTimer.night .cycle-sun { display: none; }
#dayNightTimer.night .cycle-moon { display: block; }

.copy-feedback-v619 {
  position: fixed;
  z-index: 20000;
  pointer-events: none;
  padding: 7px 12px;
  border: 2px solid #683305;
  border-radius: 6px;
  background: #ffd252;
  color: #472400;
  font-size: 13px;
  font-weight: 800;
  line-height: 18px;
  white-space: nowrap;
  box-shadow: 0 3px 0 #25130044;
  transform: translateX(-50%);
  animation: copy-feedback-v619 1.6s ease-out both;
}
@keyframes copy-feedback-v619 {
  0% { opacity: 0; transform: translate(-50%, 6px); }
  12%, 75% { opacity: 1; transform: translate(-50%, 0); }
  100% { opacity: 0; transform: translate(-50%, -12px); }
}
@media (prefers-reduced-motion: reduce) {
  .copy-feedback-v619 { animation: none; }
}
#leaveConfirmOverlay .leave-confirm-card.leave-confirm-card-v269 {
  width: min(584px, calc(100vw - 32px)) !important;
  padding: 22px 24px 20px !important;
  display: block !important;
  border: 3px solid #4b2205 !important;
  border-radius: 11px !important;
  background: #a34b0b !important;
  box-shadow: inset 0 2px 0 #ef982d, 0 6px 0 #3b1b08aa !important;
  text-align: left !important;
}
#leaveConfirmOverlay .leave-confirm-card-v269 > b {
  display: block !important;
  font-size: 25px !important;
  line-height: 30px !important;
  text-align: left !important;
}
#leaveConfirmOverlay .leave-confirm-card-v269 > p {
  max-width: none !important;
  margin: 26px 0 28px !important;
  font-size: 17px !important;
  line-height: 24px !important;
  text-align: center !important;
}
#leaveConfirmOverlay .leave-confirm-actions {
  gap: 22px !important;
  margin: 0 !important;
}
#leaveConfirmOverlay .leave-confirm-actions button {
  height: 48px !important;
  border: 2px solid !important;
  border-radius: 7px !important;
  font-size: 20px !important;
  text-align: center !important;
}
#leaveConfirmOverlay #leaveConfirmNo {
  color: #483100 !important;
  background: #ffd32d !important;
  border-color: #bf8c10 !important;
  box-shadow: inset 0 1px 0 #fff294, 0 4px 0 #7d5109 !important;
  text-shadow: none !important;
}
#leaveConfirmOverlay #leaveConfirmYes {
  color: #fff5dc !important;
  background: #d94d32 !important;
  border-color: #942e1c !important;
  box-shadow: inset 0 1px 0 #f98966, 0 4px 0 #6e2819 !important;
  text-shadow: 0 1px 0 #772317 !important;
}
#leaveConfirmOverlay .leave-confirm-actions button:hover { filter: brightness(1.08); }
#leaveConfirmOverlay .leave-confirm-actions button:active { transform: translateY(2px) !important; }
#questsPanel.craft-panel.game-panel { display: block !important; }
#questsPanel.craft-panel.game-panel.hidden { display: none !important; }
#questsPanel .craft-category-tabs.quest-category-tabs-v603 { grid-area: auto !important; }
#questsPanel .craft-category-tab.quest-category-tab-v603.icon-only {
  grid-template-rows: 36px !important;
}
#questsPanel .quest-category-label-v617 { display: none !important; }
#leaveConfirmOverlay #leaveConfirmTitle {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  justify-self: stretch !important;
  text-align: left !important;
}

/* v620: supplied PT Sans and an unframed player level. */
@font-face { font-family: 'PT Sans'; src: url('/assets/fonts/pt-sans/PT_Sans-Web-Regular.ttf?v=620') format('truetype'); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: 'PT Sans'; src: url('/assets/fonts/pt-sans/PT_Sans-Web-Bold.ttf?v=620') format('truetype'); font-weight: 700; font-style: normal; font-display: swap; }
@font-face { font-family: 'PT Sans'; src: url('/assets/fonts/pt-sans/PT_Sans-Web-Italic.ttf?v=620') format('truetype'); font-weight: 400; font-style: italic; font-display: swap; }
@font-face { font-family: 'PT Sans'; src: url('/assets/fonts/pt-sans/PT_Sans-Web-BoldItalic.ttf?v=620') format('truetype'); font-weight: 700; font-style: italic; font-display: swap; }

:root { --font-main: 'PT Sans', Arial, sans-serif; }
html, body, body *, body *::before, body *::after {
  font-family: var(--font-main) !important;
}
#levelHud.level-hud {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
}
#levelHud.level-hud::before, #levelHud.level-hud::after { content: none !important; }

/* v621: use the supplied bold face throughout the game interface. */
html body, html body *, html body *::before, html body *::after { font-weight: 700 !important; }
html body .chat-line, html body .chat-text, html body .chat-input,
html body .player-chat-bubble, html body .player-chat-bubble * { font-weight: 700 !important; }

/* v622: a dedicated family always resolves to the real bold font file. */
@font-face { font-family: 'PT Sans Bold'; src: url('/assets/fonts/pt-sans/PT_Sans-Web-Bold.ttf?v=622') format('truetype'); font-weight: 100 1000; font-style: normal; font-display: swap; }
@font-face { font-family: 'PT Sans Bold'; src: url('/assets/fonts/pt-sans/PT_Sans-Web-BoldItalic.ttf?v=622') format('truetype'); font-weight: 100 1000; font-style: italic; font-display: swap; }
:root { --font-main: 'PT Sans Bold', Arial, sans-serif !important; }
html body, html body * { -webkit-text-stroke: .18px currentColor; }
.storage-reward-v622 { display: flex; flex-direction: column; gap: 10px; padding: 14px; background: #773408; border: 2px solid #bd6919; border-radius: 7px; }
.storage-reward-items-v622, .storage-choices-v622 { display: flex; gap: 10px; flex-wrap: wrap; align-items: center; }
.storage-reward-items-v622 span { display: inline-flex; align-items: center; gap: 5px; }
.storage-reward-items-v622 img, .storage-choices-v622 img { width: 42px; height: 42px; object-fit: contain; }
.storage-choices-v622 button { display: flex; flex-direction: column; align-items: center; gap: 4px; flex: 1; min-width: 90px; padding: 8px; background: #562706; color: #fff; border: 2px solid #b96b27; border-radius: 6px; cursor: pointer; }
.storage-choices-v622 button[aria-pressed="true"] { border-color: #ffd04a; background: #a8560b; }
.storage-reward-v622 > button { min-height: 38px; padding: 8px 16px; color: #4a2600; background: #ffcf38; border: 2px solid #d18d12; border-radius: 6px; cursor: pointer; }
.storage-reward-v622 > button:disabled { opacity: .55; cursor: default; }
.storage-error-v622 { color: #ffdabd; margin: 0; }
.main-profile-storage-grid-v604 { display: grid !important; grid-template-columns: 1fr !important; gap: 12px !important; }
.main-leaderboard-rewards-v480 { flex-wrap: wrap; }

/* v623: compact zoom controls, matching the approved orange concept. */
#viewportControls.viewport-controls {
  display: grid !important;
  grid-template-columns: 34px 46px 34px 34px !important;
  grid-template-rows: 36px !important;
  align-items: center !important;
  justify-items: center !important;
  gap: 4px !important;
  width: 160px !important;
  min-width: 160px !important;
  height: 36px !important;
  left: 12px !important;
  bottom: 14px !important;
  padding: 0 !important;
  background: none !important;
  border: 0 !important;
  box-shadow: none !important;
  overflow: visible !important;
}
#viewportControls button, #viewportControls #zoomValue {
  box-sizing: border-box !important;
  display: grid !important;
  place-items: center !important;
  margin: 0 !important;
  padding: 0 !important;
  width: 100% !important;
  min-width: 0 !important;
  height: 36px !important;
  border: 2px solid #ffb43c !important;
  border-radius: 8px !important;
  background: linear-gradient(#ea8618, #bb5008) !important;
  box-shadow: 0 0 0 2px #4b290f, inset 0 2px 0 #ffcf6c, 0 4px 0 #61300c !important;
  color: #fff0c7 !important;
  font: 700 27px/1 var(--font-main) !important;
  text-shadow: 0 2px 0 #783b0a !important;
}
#viewportControls #zoomValue {
  background: #382316 !important;
  border-color: #e38b21 !important;
  box-shadow: 0 0 0 2px #4b290f, inset 0 2px 3px #20160e, 0 4px 0 #61300c !important;
  font-size: 18px !important;
  text-shadow: 0 2px 0 #20160e !important;
}
#viewportControls #zoomReset {
  height: 36px !important;
  background: linear-gradient(#945018, #66320d) !important;
  border-color: #bc7935 !important;
  box-shadow: 0 0 0 2px #4b290f, inset 0 1px 0 #d99a53, 0 3px 0 #48250c !important;
}
#zoomReset svg { width: 19px; height: 19px; fill: none; stroke: #ffcb66; stroke-width: 3; stroke-linecap: round; stroke-linejoin: round; }
#viewportControls button:hover { filter: brightness(1.12); }
#viewportControls button:active { transform: translateY(2px); }
#viewportControls button:focus-visible { outline: 2px solid #fff0b2; outline-offset: 4px; }
@media (max-width: 760px) {
  #viewportControls.viewport-controls { left: 10px !important; bottom: 12px !important; }
}

/* Badge art bypasses reduced-resolution world rendering in FPS modes. */
.player-badges-v624 { position: fixed; display: flex; align-items: center; gap: 6px; pointer-events: none; }
.player-badges-v624 img { display: block; width: var(--badge-size, 36px); height: var(--badge-size, 36px); object-fit: contain; image-rendering: auto; filter: none; }
.player-badges-v624[hidden] { display: none !important; }
/* Keep equipment on its original hotbar baseline. At narrow widths the zoom
   controls use the free space immediately above it instead of moving slots. */
@media (min-width: 761px) and (max-width: 1640px) {
  #viewportControls.viewport-controls { bottom: 12px !important; }
}

/* Account header: one top strip, an attached account card and right-side actions. */
.menu-top-strip { position: fixed; inset: 0 0 auto; height: 106px; background: #151c0db3; pointer-events: none; z-index: 54; }
.menu-top-actions { position: fixed; top: 18px; right: 24px; display: flex; align-items: center; gap: 32px; z-index: 57; }
.menu-balance { display: flex; align-items: center; justify-content: flex-end; gap: 12px; min-width: 160px; height: 66px; padding: 0 18px; box-sizing: border-box; color: #ffda33; font-size: 32px; background: #17200dcc; border-radius: 10px; }
.menu-balance img { width: 40px; height: 40px; object-fit: contain; }
#menuSettingsButton { display: grid; place-items: center; width: 66px; height: 66px; padding: 3px; background: none; border: 0; box-shadow: none; cursor: pointer; }
#menuSettingsButton img { width: 60px; height: 60px; object-fit: contain; }
#menuSettingsButton:hover { filter: brightness(1.15); }
#menuSettingsButton:focus-visible { outline: 3px solid #ffda66; border-radius: 8px; }
.ahardice-main-menu .main-account-bar { width: 448px !important; height: 150px !important; min-height: 0 !important; padding: 14px 18px 22px !important; gap: 14px !important; background: #dd710d !important; border: 0 !important; border-right: 4px solid #67300b !important; border-bottom: 16px solid #a64b08 !important; border-radius: 0 0 16px 0 !important; box-shadow: 0 4px 0 #42260799 !important; overflow: visible !important; }
.main-account-bar .main-account-shield { position: relative; flex: 0 0 80px; width: 80px !important; height: 100px !important; border: 0 !important; background: none !important; box-shadow: none !important; }
.menu-level-shield { width: 80px; height: 100px; }
#menuAccountLevel { position: absolute; inset: 0; display: grid; place-items: center; padding-bottom: 6px; color: #fff5ce; font-size: 34px; text-shadow: 0 2px 0 #6c350c; }
.main-account-bar .main-account-info { min-width: 0; flex: 1; }
.main-account-bar #menuAccountName { margin: 0 0 8px !important; font-size: 32px !important; line-height: 1.1 !important; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: #fff5df !important; }
.menu-account-experience { height: 19px; background: #32271e; border: 2px solid #58300d; border-radius: 6px; overflow: hidden; }
.menu-account-experience > span { display: block; height: 100%; width: 0; background: #ffd242; box-shadow: inset 0 2px 0 #ffe58b; transition: width .2s; }
.main-account-bar #menuAccountId { margin-top: 5px; font-size: 12px !important; line-height: 18px; opacity: .9; }
.main-account-bar #loginButtons, .main-account-bar #loggedButtons { position: absolute; right: 20px; bottom: -40px; margin: 0 !important; }
.main-account-bar #menuLogout, .main-account-bar #accountLogin { min-width: 148px !important; height: 46px; padding: 4px 20px !important; font-size: 25px !important; background: #e99320 !important; border: 2px solid #713a0a !important; box-shadow: inset 0 2px 0 #ffce6b, 0 3px 0 #633009 !important; }
body.menu-open #settingsPanel:not(.hidden) { display: block !important; opacity: 1 !important; pointer-events: auto !important; z-index: 300 !important; }
@media (max-width: 760px) {
  .menu-top-strip { height: 72px; }
  .ahardice-main-menu .main-account-bar { width: min(62vw, 350px) !important; height: 110px !important; padding: 8px !important; gap: 8px !important; border-bottom-width: 10px !important; }
  .main-account-bar .main-account-shield { flex-basis: 52px; width: 52px !important; height: 70px !important; }
  .menu-level-shield { width: 52px; height: 70px; }
  #menuAccountLevel { font-size: 25px; }
  .main-account-bar #menuAccountName { font-size: 21px !important; }
  .main-account-bar #menuAccountId { display: none !important; }
  .menu-top-actions { top: 10px; right: 10px; gap: 10px; }
  .menu-balance { min-width: 70px; height: 44px; padding: 0 8px; gap: 5px; font-size: 21px; }
  .menu-balance img { width: 25px; height: 25px; }
  #menuSettingsButton, #menuSettingsButton img { width: 38px; height: 38px; }
}

/* Selected quests and timed world encounter, matching existing orange panels. */
.main-clan-big-badge-v562 .main-clan-flag-image,
.main-clan-mini-badge-v562 .main-clan-flag-image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}
#loginOverlay.main-tab-clans .main-clan-flag-picker { display: grid; gap: 8px; margin-top: 12px; }
#loginOverlay.main-tab-clans .main-clan-flag-options { display: flex; flex-wrap: wrap; gap: 8px; }
#loginOverlay.main-tab-clans button.main-clan-flag-choice {
  display: grid; place-items: center; width: 54px; height: 52px; padding: 3px;
  border: 2px solid #ac621b !important; border-radius: 7px; background: #5f2b09 !important;
  color: #fff2d3 !important; font-size: 12px !important; line-height: 1.15;
  box-shadow: 0 2px 0 #381706 !important; cursor: pointer;
}
#loginOverlay.main-tab-clans button.main-clan-flag-choice .clan-flag-preview { width: 42px; height: 42px; object-fit: contain; pointer-events: none; }
#loginOverlay.main-tab-clans .main-clan-flag-hint { color: #ffdda1; font-size: 12px; line-height: 1.3; }
.clan-flag-animated {
  display: inline-block;
  flex-shrink: 0;
  background-size: 400% 200%;
  background-repeat: no-repeat;
  animation: clan-flag-frames 1440ms steps(1, end) infinite;
}
/* Eight 64px cells, row-major, exactly 180ms per frame. */
@keyframes clan-flag-frames {
  0% { background-position: 0% 0%; }
  12.5% { background-position: 33.333333% 0%; }
  25% { background-position: 66.666667% 0%; }
  37.5% { background-position: 100% 0%; }
  50% { background-position: 0% 100%; }
  62.5% { background-position: 33.333333% 100%; }
  75% { background-position: 66.666667% 100%; }
  87.5%, 100% { background-position: 100% 100%; }
}
#loginOverlay.main-tab-clans button.main-clan-flag-choice:hover,
#loginOverlay.main-tab-clans button.main-clan-flag-choice.selected { border-color: #ffdb6a !important; background: #975013 !important; }
#loginOverlay.main-tab-clans button.main-clan-flag-choice.selected:disabled { opacity: 1; cursor: default; }
.player-name .clan-flag-icon { width: 25px; height: 24px; object-fit: contain; vertical-align: middle; margin-right: 3px; }
#questsPanel button.craft-create-button.quest-claim-button-v602:not(:disabled) {
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
}
#loginOverlay.main-tab-clans .main-clan-modal-v562 {
  background: #a64f12 !important;
  border-color: #f69a22 !important;
  box-shadow: 0 5px 0 #63300c, 0 20px 60px rgba(0,0,0,.45) !important;
}
#loginOverlay.main-tab-clans .main-clan-find-v562,
#loginOverlay.main-tab-clans .main-clan-back-v562,
#loginOverlay.main-tab-clans .main-clan-submit-v562,
#loginOverlay.main-tab-clans .main-clan-small-green-v565,
#loginOverlay.main-tab-clans .main-clan-modal-ok-v562 {
  border-color: #397823 !important;
  box-shadow: 0 4px 0 #285c19 !important;
}
#loginOverlay.main-tab-clans .main-clan-create-nav-v562,
#loginOverlay.main-tab-clans .main-clan-small-yellow-v565,
#loginOverlay.main-tab-clans .main-clan-submit-v562.with-coin-v562 {
  border-color: #be790f !important;
  box-shadow: 0 4px 0 #8d5507 !important;
}
#loginOverlay.main-tab-clans .main-clan-small-red-v565,
#loginOverlay.main-tab-clans .main-clan-small-red-v565.danger,
#loginOverlay.main-tab-clans .main-clan-submit-v562.pending {
  border-color: #8e2520 !important;
  box-shadow: 0 4px 0 #671a16 !important;
}
.nickname-color-swatch-v343:disabled { opacity: .35; cursor: not-allowed; }
.player-name .nickname-gradient,
.leaderboard-name.nickname-gradient {
  background-clip: text !important;
  -webkit-background-clip: text !important;
  color: transparent !important;
  -webkit-text-fill-color: transparent !important;
  text-shadow: none !important;
  filter: drop-shadow(0 1px 1px #211408);
}
#questsPanel .quest-selection-note { margin-top: 8px; color: #ffe5b4; font-size: 12px; line-height: 1.25; }
.fort-event-notice { position: fixed; left: 50%; top: 108px; transform: translateX(-50%); z-index: 24; max-width: min(340px, 44vw); padding: 7px 12px; border: 2px solid #d87c19; border-radius: 7px; background: #653007; color: #ffdf87; font: 700 13px "PT Sans Bold", Arial, sans-serif; cursor: pointer; }
/* Shared global/clan history, with the selected channel controlling only sending. */
body.game-started #chatBox {
  display: flex !important; flex-direction: column; position: fixed;
  left: 12px !important; bottom: 136px !important; width: 340px !important;
  transform: none !important; right: auto !important; height: 200px !important;
  max-width: calc(100vw - 110px) !important; max-height: 230px !important;
  padding: 0 !important; background: none !important; border: 0 !important;
  box-shadow: none !important; pointer-events: none; z-index: 45 !important;
}
body:not(.game-started) #chatBox { display: none !important; }
#chatBox .chat-channel-label.global { color: #80ed65 !important; }
#chatBox .chat-channel-label.clan { color: #ffab43 !important; }
#chatBox #chatMessages {
  display: block !important; flex: 1 1 0; min-height: 0; max-height: none !important;
  overflow-y: auto; padding: 5px 7px !important; border: 0 !important; border-radius: 0;
  background: #271b0db3 !important; pointer-events: auto; scrollbar-width: thin;
  scrollbar-color: #d89936 #382710; overflow-wrap: anywhere;
}
#chatBox #chatMessages:empty { display: block !important; }
#chatBox .chat-line { display: block !important; padding: 2px 0; margin: 0; background: none !important; border: 0 !important; border-radius: 0 !important; font: 700 14px/1.3 var(--font-main) !important; }
#chatBox .chat-message-content { color: #fff4df !important; white-space: pre-wrap; }
#chatBox .chat-channel-label { font-weight: 700; color: #ffd889; }
#chatBox #chatInput { display: block !important; flex: 0 0 36px; height: 36px !important; border-radius: 0 !important; transform: none !important; padding: 6px 9px !important; box-sizing: border-box; width: 100%; margin-top: 5px; pointer-events: auto; background: #44270ded !important; border: 2px solid #bf812e !important; color: #fff5e3 !important; font: 700 14px var(--font-main) !important; }
#chatBox #chatInput.hidden { display: none !important; }
#chatBox #chatInput::placeholder { color: #dfc293 !important; }
#loginOverlay.main-tab-clans .main-clan-tabs-row-v565.has-clan-v572 { display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)) !important; }
#loginOverlay.main-tab-clans .main-clan-body-v562.mode-manage .main-clan-manage-v565 { grid-template-rows: minmax(0, 1fr) auto !important; overflow-y: auto; }
#loginOverlay.main-tab-clans .main-clan-manage-footer-v565 { grid-column: 1 / -1; }
#loginOverlay.main-tab-clans .main-clan-body-v562.mode-members { overflow: hidden !important; min-height: 0; }
#loginOverlay.main-tab-clans .mode-members > .main-clan-members-v565 { height: 100%; max-height: 100%; box-sizing: border-box; overflow-y: auto !important; margin: 0; }
/* Guest login banner: shield and sign-in, without account data. */
#loginOverlay.guest-menu .main-account-bar {
  top: 0 !important; left: 0 !important; width: min(448px, 62vw) !important; height: 150px !important;
  padding: 14px 18px 22px !important; background: #dd710d !important; border-right: 4px solid #67300b !important; border-bottom: 16px solid #a64b08 !important;
}
#loginOverlay.guest-menu #menuAccountLevel,
#loginOverlay.guest-menu #menuAccountName,
#loginOverlay.guest-menu #menuAccountExperience,
#loginOverlay.guest-menu #menuAccountId,
#loginOverlay.guest-menu .menu-balance { display: none !important; }
#loginOverlay.guest-menu #loginButtons { position: static !important; margin: 0 !important; }
@media (max-width: 760px) {
  body.game-started #chatBox { left: 12px !important; bottom: 128px !important; height: 164px !important; width: 270px !important; max-width: calc(100vw - 86px) !important; }
  #chatBox #chatMessages { max-height: 90px !important; }
  #loginOverlay.main-tab-clans .main-clan-tabs-row-v565 .main-clan-search-tab-v562 { font-size: 13px !important; padding: 0 3px !important; }
  #loginOverlay.main-tab-clans .main-clan-body-v562.mode-manage .main-clan-manage-v565 { grid-template-rows: auto auto auto !important; }
}

#loginOverlay.main-tab-clans .main-clan-window-v562.mode-members .main-clan-top-v562 { top: 10px !important; right: 10px !important; }
/* Keep the original v568 clan window dimensions and placement from the base stylesheet. */

/* Local speech is a separate input; shared channels never move when focused. */
#localChatInput { position: fixed; left: 50%; bottom: 202px; transform: translateX(-50%); width: 300px; max-width: calc(100vw - 32px); height: 42px; box-sizing: border-box; padding: 8px 12px; background: #44270ded; color: #fff5e3; border: 2px solid #bf812e; border-radius: 0; font: 700 14px var(--font-main); z-index: 86; }
#localChatInput.hidden, body:not(.game-started) #localChatInput { display: none !important; }
@media (min-width: 1641px) { body.game-started #chatBox { bottom: 68px !important; } }
/* Only inner lists scroll. The same fixed window and tab row serve all modes. */
#loginOverlay.main-tab-clans #mainMenuContent,
#loginOverlay.main-tab-clans #mainMenuPanelBody { overflow: hidden !important; }
#loginOverlay.main-tab-clans .main-clan-window-v562 { display: flex !important; flex-direction: column !important; box-sizing: border-box; overflow: hidden !important; }
#loginOverlay.main-tab-clans .main-clan-tabs-row-v565 { flex: 0 0 40px !important; }
#loginOverlay.main-tab-clans .main-clan-body-v562 { flex: 1 1 0 !important; height: 0 !important; min-height: 0 !important; overflow: hidden !important; box-sizing: border-box; }
#loginOverlay.main-tab-clans .main-clan-body-v562.mode-search,
#loginOverlay.main-tab-clans .main-clan-body-v562.mode-create { overflow-y: auto !important; }
#loginOverlay.main-tab-clans .main-clan-requests-screen-v572 { display: block !important; height: 100% !important; min-height: 0 !important; overflow: hidden !important; }
#loginOverlay.main-tab-clans .main-clan-requests-v566.full-v572 { height: 100% !important; box-sizing: border-box; overflow-y: auto !important; }
#loginOverlay.main-tab-clans .main-clan-logs-screen-v572 { display: flex !important; flex-direction: column; height: 100% !important; min-height: 0 !important; overflow: hidden !important; }
#loginOverlay.main-tab-clans .main-clan-logs-screen-v572 > .main-clan-manage-summary-v565 { flex: 0 0 auto; }
#loginOverlay.main-tab-clans .main-clan-logs-list-v573 { flex: 1 1 0 !important; min-height: 0 !important; max-height: none !important; overflow-y: auto !important; }
#loginOverlay.main-tab-clans :is(.main-clan-members-v565,.main-clan-requests-v566,.main-clan-logs-list-v573) { overscroll-behavior: contain; scrollbar-gutter: stable; }

#loginOverlay.guest-menu .main-account-shield{display:block!important}
#loginOverlay.guest-menu .main-account-info{display:flex;align-items:center;justify-content:center;height:100%}
#gameCoinBalance{background:rgba(0,0,0,.75)!important;border:0!important;box-shadow:none!important;border-radius:0 0 24px 24px!important;color:#ffd600!important}
#gameCoinBalanceValue{color:#ffd600!important;text-shadow:none!important}

#languageSelect{min-width:145px;max-width:65%;font:inherit}

/* v652: compact field-console styling for the optional in-game statistics HUD. */
#statsPanel.stats-panel-v354 {
  top: 218px !important;
  right: 16px !important;
  width: 248px !important;
  max-height: min(45vh, 290px) !important;
  box-sizing: border-box !important;
  padding: 0 !important;
  overflow: hidden !important;
  color: #eff8ff !important;
  background: linear-gradient(155deg, rgba(14, 52, 79, .94), rgba(7, 27, 46, .94)) !important;
  border: 2px solid rgba(92, 184, 231, .78) !important;
  border-radius: 9px !important;
  box-shadow: 0 4px 0 rgba(3, 15, 28, .68), 0 10px 24px rgba(0, 12, 26, .30), inset 0 1px rgba(255,255,255,.13) !important;
  backdrop-filter: blur(7px) !important;
}
#statsPanel.stats-panel-v354 .panel-title {
  min-height: 34px !important;
  box-sizing: border-box !important;
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  margin: 0 !important;
  padding: 0 11px !important;
  color: #fff !important;
  background: linear-gradient(90deg, rgba(32, 130, 183, .88), rgba(20, 83, 126, .80)) !important;
  border-bottom: 1px solid rgba(149, 221, 255, .36) !important;
  font-size: 13px !important;
  line-height: 1 !important;
  font-weight: 800 !important;
  letter-spacing: .02em !important;
  text-shadow: 0 1px 2px rgba(0, 20, 36, .8) !important;
}
#statsPanel.stats-panel-v354 .panel-title::before {
  content: '';
  width: 8px;
  height: 8px;
  flex: 0 0 8px;
  border-radius: 50%;
  background: #7be0ff;
  box-shadow: 0 0 8px rgba(80, 205, 255, .75);
}
#statsPanel .player-stats-grid-v354 {
  padding: 8px !important;
  box-sizing: border-box !important;
}
#statsPanel .player-stats-compact-v355 {
  gap: 4px !important;
}
#statsPanel .player-stat-line-v355 {
  min-height: 29px !important;
  box-sizing: border-box !important;
  padding: 4px 8px !important;
  border: 1px solid rgba(112, 186, 226, .18) !important;
  border-left: 3px solid rgba(72, 173, 222, .82) !important;
  border-radius: 5px !important;
  background: rgba(2, 17, 31, .48) !important;
}
#statsPanel .player-stat-line-v355 > span {
  color: rgba(213, 237, 250, .78) !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  letter-spacing: .025em !important;
}
#statsPanel .player-stat-line-v355 > b {
  color: #fff !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  font-variant-numeric: tabular-nums !important;
}
#statsPanel .player-stat-line-v355 > b em {
  color: #8bc9e9 !important;
  font-weight: 700 !important;
}
#statsPanel .player-stat-line-v355.coordinates-v355 {
  border-left-color: #f6c95b !important;
  background: rgba(43, 47, 47, .45) !important;
}
#statsPanel .player-stat-line-v355.coordinates-v355 > b em {
  color: #f6d77d !important;
}
@media (max-width: 680px) {
  #statsPanel.stats-panel-v354 {
    top: max(112px, calc(env(safe-area-inset-top) + 102px)) !important;
    right: 8px !important;
    width: 212px !important;
  }
}

/* v656: clear, bold in-world player names and scores. */
.player-nameplate .player-name,
.player-overlay .player-name,
#leaderboardPanel .leaderboard-row .leaderboard-name,
#leaderboardPanel .leaderboard-row.me .leaderboard-name,
#leaderboardPanel .leaderboard-row:not(.me) .leaderboard-name {
  font-weight: 900 !important;
  -webkit-text-stroke: .25px currentColor !important;
  text-shadow: 0 2px 2px rgba(0,0,0,.78), 0 1px 0 rgba(0,0,0,.92) !important;
}

/* Compact horizontal zoom controls, using Ahardice's amber trim. */
.viewport-controls {
  left: 12px !important;
  right: auto !important;
  bottom: 14px !important;
  width: 160px !important;
  min-width: 160px !important;
  max-width: 160px !important;
  height: 36px !important;
  display: grid !important;
  grid-template-columns: 34px 46px 34px 34px !important;
  grid-template-rows: 36px !important;
  align-items: center !important;
  justify-items: center !important;
  gap: 4px !important;
  padding: 0 !important;
  overflow: visible !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
}
.viewport-controls .zoom-slider-wrap,
.viewport-controls #zoomRange {
  display: none !important;
}
.viewport-controls .zoom-step {
  flex: 0 0 34px !important;
  width: 34px !important;
  min-width: 34px !important;
  height: 36px !important;
  padding: 0 !important;
  border: 2px solid #d99436 !important;
  border-radius: 4px !important;
  color: #fff !important;
  background: rgba(24, 36, 48, .91) !important;
  box-shadow: 0 2px 0 rgba(0,0,0,.62), inset 0 1px 0 rgba(255,255,255,.12) !important;
  font: 900 23px/1 var(--font-main) !important;
}
.viewport-controls .zoom-step:hover {
  background: rgba(39, 59, 76, .97) !important;
  border-color: #f3b84f !important;
  filter: none !important;
}

/* The ammo counter uses the same tile surface as hotbar slots 1–10. */
#hotbar .ammo-slot-v601 {
  width: 68px !important;
  height: 68px !important;
  border: 2px solid rgba(0,0,0,.92) !important;
  border-radius: 6px !important;
  background-color: rgba(53, 82, 42, .70) !important;
  background-size: 74% !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08) !important;
  filter: none !important;
}
#hotbar .ammo-slot-v601.empty-ammo-v601 {
  border-color: rgba(0,0,0,.92) !important;
  background-color: rgba(53, 82, 42, .70) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08) !important;
  filter: none !important;
}
#hotbar .ammo-slot-v601::after {
  content: none !important;
  display: none !important;
}

/* Quest rows keep the familiar two-column quest/reward flow, with a clear ready-to-claim state. */
#questsPanel .quest-list-item-v603 { border-radius: 5px !important; }
#questsPanel .quest-list-item-v603.can-afford:not(.claimed) {
  border-color: #78d451 !important;
  box-shadow: inset 3px 0 0 #78d451, 0 0 0 1px rgba(120,212,81,.20) !important;
}
#questsPanel .quest-claim-ready-v656 {
  color: #fff !important;
  background: linear-gradient(180deg, #78d443, #4aa928) !important;
  border-color: #3d8d22 !important;
  box-shadow: 0 3px 0 rgba(31,91,22,.78), inset 0 1px 0 rgba(255,255,255,.25) !important;
}
#questsPanel .quest-claim-ready-v656:hover { filter: brightness(1.06) !important; }

/* Full map can be navigated like the Dynast.io map window. */
#fullMapCanvas { cursor: grab; touch-action: none; }
#fullMapCanvas.map-dragging-v656 { cursor: grabbing; }

/* World map overview: compact black pixel map, matching the game's own scale. */
#minimap.minimap {
  left: 8px !important;
  right: auto !important;
  top: 8px !important;
  width: clamp(110px, 12.5vw, 220px) !important;
  max-width: calc(100vw - 16px) !important;
  padding: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  gap: 1px !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
}
#minimap #minimapCanvas {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 1 / 1 !important;
  box-sizing: border-box !important;
  margin: 0 !important;
  border: 1px solid rgba(183, 145, 185, .88) !important;
  border-radius: 0 !important;
  background: #030507 !important;
  box-shadow: none !important;
  image-rendering: pixelated;
}
#minimap .minimap-server-label {
  display: block !important;
  width: 100% !important;
  min-height: 14px !important;
  color: rgba(235, 235, 235, .88) !important;
  font: 700 11px/14px var(--font-main, Arial, sans-serif) !important;
  text-align: center !important;
  text-shadow: 0 1px 1px rgba(0, 0, 0, .85) !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  user-select: none !important;
}
#minimapTools.minimap-tools {
  left: calc(8px + clamp(110px, 12.5vw, 220px) + 8px) !important;
  right: auto !important;
  top: 8px !important;
}

/* The full map uses the same black overview, inside a simple cyan frame. */
.full-map-overlay {
  background: transparent !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}
.full-map-card {
  position: relative !important;
  width: min(32vw, 57vh, 620px) !important;
  height: min(32vw, 57vh, 620px) !important;
  min-width: 280px !important;
  min-height: 280px !important;
  box-sizing: border-box !important;
  padding: 0 !important;
  overflow: visible !important;
  background: #030507 !important;
  border: 4px solid #238fbd !important;
  border-radius: 7px !important;
  box-shadow: none !important;
}
.full-map-card > .inventory-title { display: none !important; }
#fullMapCanvas {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  box-sizing: border-box !important;
  margin: 0 !important;
  border: 0 !important;
  border-radius: 3px !important;
  background: #030507 !important;
  box-shadow: none !important;
  image-rendering: pixelated;
}
#fullMapClose {
  position: absolute !important;
  z-index: 2 !important;
  top: -36px !important;
  right: -36px !important;
  width: 38px !important;
  height: 38px !important;
  min-width: 38px !important;
  padding: 0 !important;
  border: 3px solid #12688f !important;
  border-radius: 5px !important;
  background: #42b3d8 !important;
  box-shadow: none !important;
  color: transparent !important;
  font-size: 0 !important;
}
#fullMapClose::before {
  content: "×" !important;
  color: #effbff !important;
  font: 900 32px/30px Arial, sans-serif !important;
  text-shadow: none !important;
}
@media (max-width: 900px) {
  #minimap.minimap { left: 8px !important; top: 8px !important; width: clamp(110px, 12.5vw, 170px) !important; padding: 0 !important; }
  #minimapTools.minimap-tools { left: calc(8px + clamp(110px, 12.5vw, 170px) + 8px) !important; top: 8px !important; }
  .full-map-card { width: min(56vw, 57vh, 620px) !important; height: min(56vw, 57vh, 620px) !important; }
}
@media (max-width: 520px) {
  #minimapTools.minimap-tools { left: 8px !important; top: calc(8px + clamp(110px, 12.5vw, 170px) + 22px) !important; }
  .full-map-card { width: min(76vw, 57vh) !important; height: min(76vw, 57vh) !important; min-width: 0 !important; min-height: 0 !important; }
  #fullMapClose { top: -30px !important; right: -6px !important; width: 32px !important; height: 32px !important; min-width: 32px !important; }
  #fullMapClose::before { font-size: 27px !important; line-height: 25px !important; }
}

/* v676: Dynast.io-inspired in-game HUD. */
#localChatInput:not(.hidden) {
  position: fixed !important;
  left: 50% !important;
  right: auto !important;
  bottom: 196px !important;
  transform: translateX(-50%) !important;
  width: 350px !important;
  max-width: calc(100vw - 32px) !important;
  height: 40px !important;
  box-sizing: border-box !important;
  padding: 8px 12px !important;
  border: 1px solid rgba(133, 173, 169, .48) !important;
  border-radius: 4px !important;
  background: rgba(8, 14, 18, .84) !important;
  color: #f4f7ed !important;
  font: 700 14px/1.2 var(--font-main) !important;
  outline: none !important;
  box-shadow: 0 2px 12px rgba(0, 0, 0, .34), inset 0 1px 0 rgba(255, 255, 255, .06) !important;
  z-index: 86 !important;
}
#localChatInput:not(.hidden)::placeholder { color: transparent !important; }
#localChatInput:not(.hidden):focus {
  border-color: rgba(147, 201, 187, .72) !important;
  box-shadow: 0 0 0 1px rgba(109, 169, 155, .18), 0 2px 12px rgba(0, 0, 0, .34) !important;
}

#leaderboardPanel.leaderboard-panel {
  top: 12px !important;
  right: 12px !important;
  width: 300px !important;
  max-width: min(300px, calc(100vw - 24px)) !important;
  max-height: calc(100vh - 24px) !important;
  box-sizing: border-box !important;
  padding: 0 !important;
  overflow: hidden !important;
  border: 1px solid rgba(202, 142, 196, .88) !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
}
#leaderboardPanel .leaderboard-title { display: none !important; }
#leaderboardPanel .leaderboard-list {
  display: grid !important;
  gap: 0 !important;
  max-height: inherit !important;
  overflow: hidden !important;
}
#leaderboardPanel .leaderboard-row {
  display: grid !important;
  grid-template-columns: 44px minmax(0, 1fr) auto !important;
  gap: 2px !important;
  align-items: center !important;
  min-height: 34px !important;
  height: 34px !important;
  box-sizing: border-box !important;
  padding: 1px 6px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
}
#leaderboardPanel .leaderboard-rank {
  display: flex !important;
  justify-content: flex-start !important;
  align-items: center !important;
  gap: 4px !important;
  width: auto !important;
  min-width: 0 !important;
  height: 30px !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: #f2f2f2 !important;
  font-size: 18px !important;
  font-weight: 700 !important;
}
#leaderboardPanel .leaderboard-rank-star-v676 {
  color: #75777c;
  font: 700 19px/1 Arial, sans-serif;
  text-shadow: none;
}
#leaderboardPanel .leaderboard-rank-first-v676 .leaderboard-rank-star-v676 { color: #ed354b; }
#leaderboardPanel .leaderboard-name {
  max-width: 100% !important;
  overflow: hidden !important;
  font-size: 20px !important;
  line-height: 1.05 !important;
}
#leaderboardPanel .leaderboard-meta {
  min-width: 0 !important;
  margin: 0 !important;
  color: #c8c8d0 !important;
  font-size: 19px !important;
  line-height: 1 !important;
  text-align: right !important;
}
#leaderboardPanel .leaderboard-row.me .leaderboard-name,
#leaderboardPanel .leaderboard-row.me .leaderboard-meta,
#leaderboardPanel .leaderboard-row.me .leaderboard-rank { color: #17d74d !important; }
#leaderboardPanel .leaderboard-row.me .leaderboard-rank-star-v676 { color: #75777c !important; }

#pingPanel.ping-panel {
  position: fixed !important;
  right: 0 !important;
  bottom: 0 !important;
  z-index: 96 !important;
  display: flex !important;
  align-items: center !important;
  gap: 5px !important;
  min-width: 0 !important;
  height: auto !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  color: rgba(24, 55, 37, .94) !important;
  font: 700 20px/1.1 var(--font-main) !important;
  opacity: 1 !important;
}
#pingPanel .ping-dot, #pingPanel .ping-label { display: none !important; }
#pingPanel #pingValue, #pingPanel #fpsValue {
  margin: 0 !important;
  color: inherit !important;
  font: inherit !important;
  text-shadow: none !important;
}
#pingPanel .ping-separator { opacity: .7; }

#levelHud.level-hud {
  left: 50% !important;
  bottom: 106px !important;
  transform: translateX(-50%) !important;
  width: 250px !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
}
#levelHud .level-hud-title {
  margin: 0 0 4px !important;
  color: #f6f6f1 !important;
  font-size: 16px !important;
  line-height: 1.15 !important;
  font-weight: 700 !important;
  text-shadow: 0 1px 2px rgba(0, 0, 0, .88) !important;
}
#levelHud .level-hud-exp {
  position: relative !important;
  width: 100% !important;
  height: 47px !important;
  overflow: hidden !important;
  border: 2px solid #152516 !important;
  border-radius: 5px !important;
  background: rgba(25, 63, 29, .88) !important;
  box-shadow: none !important;
}
#levelHud .level-hud-exp::before { content: none !important; display: none !important; }
#levelHud .level-hud-fill {
  border-radius: 3px !important;
  background: #7ecb35 !important;
  box-shadow: none !important;
}
#levelHud .level-hud-text {
  color: #f7f7f7 !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  text-shadow: 0 1px 2px rgba(0, 0, 0, .9) !important;
}

.player-nameplate .player-name,
.player-overlay .player-name {
  max-width: 260px !important;
  font-size: 20px !important;
  line-height: 1.05 !important;
  font-weight: 700 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  text-shadow: 0 1px 2px rgba(0, 0, 0, .78) !important;
}
@media (max-width: 1500px) {
  #leaderboardPanel.leaderboard-panel {
    width: 244px !important;
    max-width: min(244px, calc(100vw - 20px)) !important;
  }
  #leaderboardPanel .leaderboard-row {
    grid-template-columns: 38px minmax(0, 1fr) auto !important;
    min-height: 29px !important;
    height: 29px !important;
  }
  #leaderboardPanel .leaderboard-rank { font-size: 16px !important; }
  #leaderboardPanel .leaderboard-rank-star-v676 { font-size: 17px; }
  #leaderboardPanel .leaderboard-name { font-size: 16px !important; }
  #leaderboardPanel .leaderboard-meta { font-size: 15px !important; }
  #pingPanel.ping-panel { right: 3px !important; bottom: 3px !important; font-size: 17px !important; }
}
@media (max-width: 760px) {
  #localChatInput:not(.hidden) { bottom: 184px !important; width: min(350px, calc(100vw - 32px)) !important; }
  #leaderboardPanel.leaderboard-panel {
    top: 6px !important;
    right: 6px !important;
    width: min(190px, calc(100vw - 12px)) !important;
    max-width: min(190px, calc(100vw - 12px)) !important;
  }
  #leaderboardPanel .leaderboard-row {
    grid-template-columns: 33px minmax(0, 1fr) auto !important;
    min-height: 25px !important;
    height: 25px !important;
    padding: 1px 3px !important;
  }
  #leaderboardPanel .leaderboard-rank { font-size: 13px !important; }
  #leaderboardPanel .leaderboard-rank-star-v676 { font-size: 14px; }
  #leaderboardPanel .leaderboard-name { font-size: 13px !important; }
  #leaderboardPanel .leaderboard-meta { font-size: 12px !important; }
  #pingPanel.ping-panel { right: 1px !important; bottom: 1px !important; font-size: 13px !important; }
  #levelHud.level-hud { bottom: 96px !important; width: 212px !important; }
  #levelHud .level-hud-exp { height: 42px !important; }
  #levelHud .level-hud-title, #levelHud .level-hud-text { font-size: 14px !important; }
  .player-nameplate .player-name, .player-overlay .player-name { font-size: 17px !important; }
}
