html, body {
  margin: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
  background: #10131a;
  font-family: var(--font-main);
}

#game {
  width: 100vw;
  height: 100vh;
  display: block;
}

#hud {
  position: fixed;
  left: 14px;
  top: 14px;
  min-width: 300px;
  padding: 12px;
  color: #eaf0ff;
  background: rgba(10, 14, 24, 0.74);
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 14px;
  backdrop-filter: blur(8px);
  user-select: none;
}

.title {
  font-size: 20px;
  font-weight: 800;
  margin-bottom: 6px;
}

#status {
  color: #ffcf7a;
  margin-bottom: 8px;
}

.row {
  display: flex;
  gap: 6px;
}

input, button {
  border: 0;
  border-radius: 8px;
  padding: 8px 10px;
  outline: none;
}

input {
  width: 150px;
  background: rgba(255,255,255,0.12);
  color: white;
}

button {
  cursor: pointer;
  background: #ffd36a;
  color: #171717;
  font-weight: 700;
}

.hint {
  margin-top: 8px;
  opacity: 0.72;
  font-size: 13px;
}

#debug {
  margin: 8px 0 0;
  font-size: 12px;
  line-height: 1.25;
  color: #b9c6ee;
  white-space: pre-wrap;
}

.hotbar {
  position: fixed;
  left: 50%;
  bottom: 22px;
  transform: translateX(-50%);
  display: grid;
  grid-template-columns: repeat(10, 58px);
  gap: 7px;
  padding: 9px;
  background: rgba(8, 12, 20, 0.58);
  border: 1px solid rgba(255,255,255,0.15);
  border-radius: 16px;
  backdrop-filter: blur(8px);
  user-select: none;
}

.hotbar-slot,
.inventory-slot {
  position: relative;
  width: 58px;
  height: 58px;
  padding: 0;
  border-radius: 11px;
  border: 1px solid rgba(255,255,255,0.18);
  background-color: rgba(20, 27, 38, 0.74);
  background-size: 78%;
  background-position: center;
  background-repeat: no-repeat;
  box-shadow: inset 0 0 0 1px rgba(0,0,0,0.24);
  color: #eaf0ff;
  overflow: hidden;
}

.hotbar-slot:hover,
.inventory-slot:hover {
  border-color: rgba(255, 211, 106, 0.75);
}

.hotbar-slot.selected {
  border-color: #ffd36a;
  box-shadow: 0 0 0 2px rgba(255, 211, 106, 0.40), inset 0 0 0 1px rgba(0,0,0,0.35);
  background-color: rgba(58, 45, 21, 0.78);
}

.slot-hotkey {
  position: absolute;
  left: 5px;
  top: 4px;
  font-size: 11px;
  color: rgba(255,255,255,0.62);
  text-shadow: 0 1px 2px black;
}

.slot-label {
  position: absolute;
  left: 4px;
  right: 4px;
  bottom: 4px;
  padding: 1px 3px;
  border-radius: 5px;
  background: rgba(0,0,0,0.42);
  font-size: 10px;
  text-align: center;
  color: #ffffff;
  text-shadow: 0 1px 2px black;
  pointer-events: none;
}

.slot-count {
  position: absolute;
  right: 5px;
  top: 4px;
  min-width: 16px;
  padding: 1px 4px;
  border-radius: 7px;
  background: rgba(0,0,0,0.55);
  color: #fff4b0;
  font-size: 11px;
  font-weight: 800;
  text-align: center;
  text-shadow: 0 1px 2px black;
}

.inventory {
  position: fixed;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 452px;
  padding: 16px;
  background: rgba(9, 13, 22, 0.86);
  border: 1px solid rgba(255,255,255,0.17);
  border-radius: 18px;
  backdrop-filter: blur(10px);
  box-shadow: 0 22px 80px rgba(0,0,0,0.45);
  user-select: none;
}

.inventory.hidden {
  display: none;
}

.inventory-title {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 12px;
  color: #eaf0ff;
  font-weight: 800;
  font-size: 18px;
}

.inventory-title span {
  padding: 3px 8px;
  border-radius: 8px;
  background: rgba(255,255,255,0.12);
  color: #ffdf84;
  font-size: 13px;
}

.inventory-grid {
  display: grid;
  grid-template-columns: repeat(6, 58px);
  gap: 8px;
}

.viewport-controls {
  position: fixed;
  right: 18px;
  bottom: 24px;
  display: flex;
  align-items: center;
  gap: 7px;
  padding: 8px;
  background: rgba(8, 12, 20, 0.62);
  border: 1px solid rgba(255,255,255,0.15);
  border-radius: 16px;
  backdrop-filter: blur(8px);
  user-select: none;
}

.viewport-controls button {
  min-width: 38px;
  height: 38px;
  padding: 0 10px;
  border-radius: 11px;
  font-size: 16px;
  line-height: 1;
}

#zoomValue {
  min-width: 52px;
  color: #ffdf84;
  font-size: 13px;
  font-weight: 800;
  text-align: center;
}

.login-overlay {
  position: fixed;
  inset: 0;
  z-index: 50;
  display: flex;
  align-items: center;
  justify-content: center;
  background: radial-gradient(circle at center, rgba(44, 57, 91, 0.54), rgba(5, 7, 13, 0.92));
  backdrop-filter: blur(6px);
}

.login-overlay.hidden {
  display: none;
}

.login-card {
  width: 360px;
  padding: 26px;
  border-radius: 22px;
  background: rgba(9, 13, 22, 0.88);
  border: 1px solid rgba(255,255,255,0.16);
  box-shadow: 0 28px 100px rgba(0,0,0,0.55);
  color: #eaf0ff;
  text-align: center;
}

.login-logo {
  font-size: 32px;
  line-height: 1;
  font-weight: 900;
  margin-bottom: 12px;
  color: #ffd36a;
}

.login-subtitle,
.login-note {
  color: rgba(234, 240, 255, 0.72);
  font-size: 13px;
  line-height: 1.4;
}

.login-card input {
  box-sizing: border-box;
  width: 100%;
  margin-top: 18px;
  margin-bottom: 10px;
  text-align: center;
}

.primary-login,
.secondary-login {
  box-sizing: border-box;
  display: block;
  width: 100%;
  margin-top: 10px;
  padding: 12px 14px;
  font-size: 15px;
}

.primary-login {
  background: #5865f2;
  color: white;
}

.secondary-login {
  background: rgba(255,255,255,0.12);
  color: #eaf0ff;
}

.login-note {
  margin-top: 14px;
  font-size: 12px;
  opacity: 0.78;
}

.account-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin-bottom: 8px;
  padding: 7px 8px;
  border-radius: 10px;
  background: rgba(255,255,255,0.08);
  color: #dce6ff;
  font-size: 13px;
}

#logout {
  padding: 5px 8px;
  border-radius: 7px;
  background: rgba(255,255,255,0.14);
  color: #eaf0ff;
  font-size: 12px;
}

/* v11 main menu + skin selection */
.main-menu-card {
  width: min(520px, calc(100vw - 32px));
}

.menu-section {
  margin-top: 14px;
  padding: 12px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 14px;
  background: rgba(255,255,255,0.055);
}

.menu-section-title {
  color: #ffd36a;
  font-weight: 800;
  margin-bottom: 8px;
}

.menu-account {
  color: #dfe8ff;
  font-size: 13px;
  margin-bottom: 8px;
  opacity: 0.9;
}

.menu-buttons {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  margin-top: 8px;
}

.skin-selected {
  font-size: 13px;
  color: #b9c6ee;
  margin-bottom: 10px;
}

.skin-choices {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(118px, 1fr));
  gap: 8px;
  max-height: 210px;
  overflow-y: auto;
  padding-right: 3px;
}

.skin-choice {
  min-height: 92px;
  padding: 8px;
  border-radius: 13px;
  border: 1px solid rgba(255,255,255,0.14);
  background: rgba(11, 16, 28, 0.72);
  color: #eaf0ff;
  text-align: center;
  display: grid;
  align-content: center;
  gap: 6px;
}

.skin-choice.selected {
  border-color: #ffd36a;
  box-shadow: 0 0 0 2px rgba(255, 211, 106, 0.28), 0 0 22px rgba(255, 211, 106, 0.16);
}

.skin-thumb {
  width: 52px;
  height: 52px;
  margin: 0 auto;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  filter: drop-shadow(0 5px 5px rgba(0,0,0,0.45));
}

.skin-name {
  font-size: 12px;
  font-weight: 800;
  overflow: hidden;
  text-overflow: ellipsis;
}

.play-button {
  width: 100%;
  margin-top: 14px;
  padding: 13px 16px;
  border-radius: 14px;
  font-size: 18px;
  background: linear-gradient(135deg, #ffd36a, #ff9f43);
}

.play-button:disabled {
  cursor: not-allowed;
  opacity: 0.55;
  filter: grayscale(0.35);
}

body.menu-open #hud,
body.menu-open #hotbar,
body.menu-open #inventory,
body.menu-open #viewportControls,
body.menu-open #actionDock,
body.menu-open #minimap,
body.menu-open #statsPanel {
  pointer-events: none;
  opacity: 0.35;
}

/* v12 login-state fixes + modular skin previews */
.hidden {
  display: none !important;
}

.account-ready {
  background: rgba(86, 196, 120, 0.20);
  color: #bfffd0;
  border: 1px solid rgba(86, 196, 120, 0.35);
  cursor: default;
}

.skin-choice {
  min-height: 128px;
}

.skin-preview {
  position: relative;
  width: 112px;
  height: 88px;
  margin: 0 auto;
  overflow: visible;
  pointer-events: none;
  filter: drop-shadow(0 7px 7px rgba(0,0,0,0.50));
}

.skin-preview-part {
  position: absolute;
  left: 50%;
  top: 50%;
  object-fit: contain;
  transform-origin: 50% 50%;
  image-rendering: auto;
}

.skin-preview-static {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
  image-rendering: auto;
}

.skin-choice.no-preview .skin-preview::after {
  content: "РЅРµС‚ preview";
  position: absolute;
  left: 0;
  right: 0;
  top: 32px;
  color: rgba(234,240,255,0.55);
  font-size: 11px;
}

/* v15: stats / minimap / game panels */
.stats-panel {
  position: fixed;
  right: 18px;
  top: 218px;
  width: 340px;
  max-height: 52vh;
  padding: 12px;
  color: #eaf0ff;
  background: rgba(8, 12, 20, 0.78);
  border: 1px solid rgba(255,255,255,0.14);
  border-radius: 16px;
  backdrop-filter: blur(10px);
  box-shadow: 0 18px 60px rgba(0,0,0,0.35);
  user-select: none;
  z-index: 20;
  overflow: auto;
}

.stats-panel.hidden,
.game-panel.hidden,
.settings-panel.hidden,
.full-map-overlay.hidden {
  display: none;
}

.compact-title {
  margin-bottom: 8px;
}

.minimap {
  position: fixed;
  right: 18px;
  top: 18px;
  width: 188px;
  padding: 10px;
  color: #eaf0ff;
  background: rgba(8, 12, 20, 0.65);
  border: 1px solid rgba(255,255,255,0.14);
  border-radius: 16px;
  backdrop-filter: blur(8px);
  box-shadow: 0 16px 50px rgba(0,0,0,0.30);
  user-select: none;
  z-index: 18;
}

.minimap-title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 8px;
  font-size: 13px;
  font-weight: 800;
  color: #ffdc7a;
}

.minimap-title span,
.inventory-title span {
  padding: 2px 7px;
  border-radius: 7px;
  background: rgba(255,255,255,0.12);
  color: #ffdf84;
  font-size: 12px;
}

#minimapCanvas {
  width: 168px;
  height: 168px;
  display: block;
  border-radius: 12px;
  border: 1px solid rgba(255,255,255,0.12);
}

.game-panel,
.settings-panel {
  position: fixed;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: min(760px, calc(100vw - 40px));
  max-height: min(680px, calc(100vh - 110px));
  padding: 16px;
  background: rgba(9, 13, 22, 0.90);
  border: 1px solid rgba(255,255,255,0.17);
  border-radius: 18px;
  backdrop-filter: blur(10px);
  box-shadow: 0 22px 80px rgba(0,0,0,0.45);
  user-select: none;
  z-index: 30;
  color: #eaf0ff;
  overflow: auto;
}

/* old inventory width override */
.inventory.game-panel {
  width: 452px;
}

.catalog-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: 10px;
}

.catalog-card {
  display: flex;
  gap: 10px;
  min-height: 72px;
  padding: 10px;
  text-align: left;
  color: #eaf0ff;
  background: rgba(24, 31, 44, 0.84);
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 13px;
}

.catalog-card:hover {
  border-color: rgba(255, 211, 106, 0.72);
  background: rgba(42, 46, 58, 0.88);
}

.catalog-icon {
  flex: 0 0 52px;
  width: 52px;
  height: 52px;
  border-radius: 11px;
  background: rgba(255,255,255,0.08);
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  border: 1px solid rgba(255,255,255,0.12);
}

.catalog-body {
  min-width: 0;
}

.catalog-title {
  font-size: 13px;
  font-weight: 900;
  color: #ffdc7a;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.catalog-meta,
.catalog-price,
.catalog-empty {
  margin-top: 5px;
  font-size: 12px;
  color: #b9c6ee;
  line-height: 1.3;
}

.catalog-price {
  color: #d9f2c0;
}

.action-dock {
  position: fixed;
  left: 18px;
  bottom: 24px;
  display: flex;
  gap: 8px;
  padding: 8px;
  background: rgba(8, 12, 20, 0.62);
  border: 1px solid rgba(255,255,255,0.15);
  border-radius: 16px;
  backdrop-filter: blur(8px);
  user-select: none;
  z-index: 19;
}

.dock-button {
  position: relative;
  width: 48px;
  height: 48px;
  padding: 7px;
  background: rgba(25, 33, 46, 0.88);
  border: 1px solid rgba(255,255,255,0.16);
  color: #ffdf84;
  border-radius: 12px;
}

.dock-button.active,
.dock-button:hover {
  border-color: #ffd36a;
  background: rgba(58, 45, 21, 0.90);
}

.dock-button img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
}

.dock-button span {
  position: absolute;
  right: 3px;
  bottom: 2px;
  min-width: 16px;
  padding: 1px 4px;
  border-radius: 6px;
  background: rgba(0,0,0,0.55);
  color: #fff4b0;
  font-size: 10px;
  font-weight: 900;
}

.text-dock {
  font-size: 22px;
  line-height: 1;
}

.setting-row {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 12px;
  border-radius: 12px;
  background: rgba(255,255,255,0.08);
  margin-bottom: 12px;
}

.setting-row input {
  width: 18px;
  height: 18px;
}

.wide-button {
  width: 100%;
}

.full-map-overlay {
  position: fixed;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(0,0,0,0.42);
  backdrop-filter: blur(5px);
  z-index: 60;
}

.full-map-card {
  width: min(650px, calc(100vw - 60px));
  padding: 16px;
  background: rgba(9, 13, 22, 0.94);
  border: 1px solid rgba(255,255,255,0.18);
  border-radius: 20px;
  box-shadow: 0 24px 90px rgba(0,0,0,0.55);
  color: #eaf0ff;
}

#fullMapCanvas {
  width: min(560px, calc(100vw - 110px));
  height: min(560px, calc(100vh - 190px));
  display: block;
  margin: 0 auto 12px;
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,0.14);
}

@media (max-width: 900px) {
  .minimap { width: 150px; }
  #minimapCanvas { width: 130px; height: 130px; }
  .stats-panel { width: 300px; top: 180px; }
  .hotbar { bottom: 86px; }
}

/* v16: upgraded inventory + right-side crafting */
.panel-close {
  width: 42px;
  height: 42px;
  padding: 0;
  border-radius: 10px;
  background: linear-gradient(180deg, #53a6cf, #3188b7);
  color: #dff6ff;
  font-size: 28px;
  line-height: 1;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.16);
}
.panel-close:hover {
  background: linear-gradient(180deg, #66b5dc, #3b95c5);
}
.floating-close {
  position: absolute;
  right: 14px;
  top: 14px;
  z-index: 3;
}
.panel-tabs {
  position: absolute;
  left: 14px;
  top: -22px;
  display: flex;
  gap: 8px;
  z-index: 2;
}
.panel-tab {
  width: 48px;
  height: 44px;
  padding: 8px;
  border-radius: 14px 14px 0 0;
  background: rgba(95, 72, 124, 0.88);
  border: 1px solid rgba(255,255,255,0.12);
  box-shadow: 0 10px 24px rgba(0,0,0,0.20);
}
.panel-tab.active {
  background: rgba(128, 101, 164, 0.96);
}
.panel-tab img,
.craft-tab img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
}

.inventory.game-panel.modern-panel {
  width: 560px;
  padding: 0;
  overflow: visible;
  background: transparent;
  border: none;
  box-shadow: none;
  backdrop-filter: none;
}
.inventory-shell {
  padding: 18px 22px 22px;
  border-radius: 18px;
  background: linear-gradient(180deg, #0d688d 0%, #095776 100%);
  border: 4px solid #084e6b;
  box-shadow: 0 18px 70px rgba(0,0,0,0.42), inset 0 2px 0 rgba(255,255,255,0.10);
}
.inventory-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 14px;
}
.large-title {
  margin: 0;
  color: #edf8ff;
  font-size: 28px;
  font-weight: 900;
  text-shadow: 0 2px 0 rgba(0,0,0,0.20);
}
.inventory-grid.fancy-grid {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: 10px;
}
.inventory-grid.fancy-grid .inventory-slot {
  width: 64px;
  height: 64px;
  border: none;
  border-radius: 12px;
  background-color: rgba(145, 207, 226, 0.38);
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.12), 0 1px 0 rgba(0,0,0,0.10);
}
.inventory-grid.fancy-grid .inventory-slot:hover {
  box-shadow: 0 0 0 2px rgba(255,255,255,0.12), inset 0 1px 0 rgba(255,255,255,0.18);
}
.inventory-grid.fancy-grid .slot-hotkey {
  display: none;
}
.inventory-grid.fancy-grid .slot-label {
  left: 5px;
  right: 5px;
  bottom: 5px;
  background: rgba(0,0,0,0.28);
}
.inventory-grid.fancy-grid .slot-count {
  background: rgba(255,255,255,0.16);
  color: #fff8cf;
}

.craft-panel.game-panel {
  left: auto;
  top: 74px;
  right: 18px;
  transform: none;
  width: min(660px, calc(100vw - 42px));
  height: min(540px, calc(100vh - 120px));
  padding: 12px;
  overflow: hidden;
  background: linear-gradient(180deg, #0c6f96 0%, #085877 100%);
  border: 4px solid #06465f;
  box-shadow: 0 22px 90px rgba(0,0,0,0.50);
}
.craft-top-tabs {
  display: flex;
  gap: 8px;
  padding-right: 56px;
  margin-bottom: 10px;
}
.craft-tab {
  width: 52px;
  height: 52px;
  padding: 10px;
  border-radius: 12px;
  background: rgba(6, 26, 37, 0.55);
  border: 1px solid rgba(255,255,255,0.12);
}
.craft-tab.active {
  background: rgba(96, 75, 124, 0.88);
  border-color: rgba(255,255,255,0.18);
}
.craft-shell {
  display: grid;
  grid-template-columns: 286px 1fr;
  gap: 0;
  height: calc(100% - 64px);
  overflow: hidden;
  border-radius: 14px;
  background: rgba(7, 33, 45, 0.18);
  border: 1px solid rgba(255,255,255,0.08);
}
.craft-list-wrap {
  min-width: 0;
  display: flex;
  flex-direction: column;
  border-right: 4px solid rgba(4, 43, 59, 0.80);
  background: rgba(0,0,0,0.12);
}
.craft-list-title {
  padding: 12px 14px 8px;
  color: #dff7ff;
  font-size: 18px;
  font-weight: 900;
}
.craft-list {
  overflow-y: auto;
  padding: 0 6px 10px 10px;
}
.craft-list-item {
  width: 100%;
  display: grid;
  grid-template-columns: 42px 1fr;
  gap: 10px;
  align-items: center;
  margin-bottom: 6px;
  padding: 10px 10px;
  border-radius: 12px;
  background: rgba(196, 202, 217, 0.88);
  color: #233744;
  border: 2px solid rgba(8, 57, 77, 0.35);
  text-align: left;
}
.craft-list-item.selected {
  background: rgba(228, 232, 243, 0.98);
  border-color: #2f8fc1;
  box-shadow: inset 4px 0 0 #44b2f0;
}
.craft-list-icon {
  width: 36px;
  height: 36px;
  border-radius: 9px;
  background: rgba(255,255,255,0.45);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  border: 1px solid rgba(8,57,77,0.18);
}
.craft-list-name {
  font-weight: 900;
  font-size: 13px;
  color: #4b5057;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.craft-list-meta {
  margin-top: 4px;
  font-size: 11px;
  text-transform: capitalize;
  color: #5f7682;
}
.craft-detail {
  padding: 18px;
  overflow: auto;
  color: #eaf6ff;
}
.craft-detail-empty {
  display: grid;
  place-items: center;
  height: 100%;
  color: rgba(255,255,255,0.68);
  font-size: 18px;
}
.craft-detail-card {
  min-height: 100%;
}
.craft-detail-head {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 12px;
}
.craft-detail-title {
  color: #f2fbff;
  font-size: 22px;
  font-weight: 900;
}
.craft-detail-stars {
  margin-top: 6px;
  color: #ffd24d;
  letter-spacing: 2px;
  font-size: 18px;
}
.craft-detail-desc {
  margin-top: 12px;
  font-size: 15px;
  line-height: 1.45;
  color: #ddf4ff;
}
.craft-recipe-box {
  margin-top: 18px;
  padding: 16px;
  border-radius: 12px;
  background: linear-gradient(180deg, rgba(0, 89, 122, 0.60), rgba(0, 64, 89, 0.72));
  display: grid;
  grid-template-columns: 1fr 160px;
  gap: 12px;
  align-items: center;
}
.craft-ingredients {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.craft-ingredient {
  display: grid;
  grid-template-columns: 34px 1fr;
  gap: 10px;
  align-items: center;
}
.craft-ingredient-icon {
  width: 34px;
  height: 34px;
  border-radius: 9px;
  background: rgba(255,255,255,0.12);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  border: 1px solid rgba(255,255,255,0.10);
}
.craft-ingredient-text {
  color: #ffe6dd;
  font-size: 16px;
  font-weight: 800;
}
.craft-preview-icon {
  width: 100%;
  height: 140px;
  border-radius: 14px;
  background: radial-gradient(circle at center, rgba(20, 225, 211, 0.20), rgba(0,0,0,0.0) 70%);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  filter: drop-shadow(0 10px 12px rgba(0,0,0,0.38));
}
.craft-create-button {
  display: block;
  width: 220px;
  margin: 20px auto 0;
  padding: 16px 18px;
  border-radius: 16px;
  background: linear-gradient(180deg, #9b1420 0%, #6f0e17 100%);
  color: #fff3f5;
  font-size: 18px;
  font-weight: 900;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.14), 0 8px 18px rgba(0,0,0,0.26);
}
.craft-create-button:hover {
  background: linear-gradient(180deg, #b51927 0%, #82111c 100%);
}

@media (max-width: 980px) {
  .craft-panel.game-panel {
    left: 50%;
    right: auto;
    top: 50%;
    transform: translate(-50%, -50%);
    width: min(680px, calc(100vw - 28px));
    height: min(620px, calc(100vh - 60px));
  }
  .craft-shell {
    grid-template-columns: 1fr;
    height: calc(100% - 64px);
  }
  .craft-list-wrap {
    border-right: none;
    border-bottom: 4px solid rgba(4, 43, 59, 0.80);
    max-height: 220px;
  }
}

/* v296 inventory fit: five rows stay fully inside the craft-sized frame. */
#inventory #inventoryGrid.inventory-grid,
#inventory .inventory-grid.fancy-grid,
body.chest-open-v198 #inventory #inventoryGrid.inventory-grid,
body.chest-open-v198 #inventory .inventory-grid.fancy-grid {
  grid-template-columns: repeat(7, 45px) !important;
  grid-auto-rows: 45px !important;
}

#inventory .inventory-slot,
body.chest-open-v198 #inventory .inventory-slot {
  width: 45px !important;
  height: 45px !important;
}

/* v296: inventory, personal chest and trade now use the same compact
   orange/dark-brown visual language as the crafting panel. */
#inventory.inventory.game-panel,
#chestPanel.chest-panel.game-panel,
body.trade-active #tradePanel.social-panel {
  box-sizing: border-box !important;
  padding: 9px !important;
  border: 4px solid var(--ah-orange-deep) !important;
  border-radius: 18px !important;
  background: linear-gradient(180deg, #ffb14c 0%, #fe7700 46%, #b94b00 100%) !important;
  color: #fff6d6 !important;
  box-shadow:
    0 7px 0 rgba(56, 18, 0, .45),
    0 24px 55px rgba(0, 0, 0, .36),
    inset 0 2px 0 rgba(255, 255, 255, .24) !important;
  opacity: .92 !important;
}

#inventory.inventory.game-panel:hover,
#inventory.inventory.game-panel:focus-within,
#chestPanel.chest-panel.game-panel:hover,
#chestPanel.chest-panel.game-panel:focus-within,
body.trade-active #tradePanel.social-panel:hover,
body.trade-active #tradePanel.social-panel:focus-within {
  opacity: 1 !important;
}

#inventory .inventory-shell,
#chestPanel .inventory-shell,
body.trade-active #tradePanel .social-body,
body.trade-active #tradePanel .ahardice-trade-body-v148 {
  box-sizing: border-box !important;
  height: 100% !important;
  padding: 10px !important;
  border: 3px solid rgba(52, 16, 0, .98) !important;
  border-radius: 11px !important;
  background: linear-gradient(180deg, rgba(88, 34, 0, .96), rgba(45, 15, 0, .97)) !important;
  color: #fff6d6 !important;
  overflow: hidden !important;
}

#inventory .inventory-header,
#chestPanel .inventory-header,
body.trade-active #tradePanel .social-head {
  box-sizing: border-box !important;
  min-height: 38px !important;
  margin: 0 42px 6px 4px !important;
  padding: 2px 6px !important;
  border: 0 !important;
  background: transparent !important;
}

#inventory .inventory-title,
#chestPanel .inventory-title,
body.trade-active #tradePanel .social-title {
  color: #fff7d8 !important;
  font-size: 21px !important;
  line-height: 1.15 !important;
  text-shadow: 0 3px 0 rgba(60, 18, 0, .72), 0 0 12px rgba(255, 177, 76, .45) !important;
}

#inventory .inventory-title span,
#chestPanel .inventory-title span {
  display: inline-block !important;
  padding: 3px 7px !important;
  border: 1px solid rgba(255, 205, 115, .28) !important;
  border-radius: 8px !important;
  background: rgba(55, 18, 0, .62) !important;
  color: #ffe6ad !important;
  font-size: 11px !important;
  text-shadow: none !important;
}

#inventory .panel-close,
#chestPanel .panel-close,
body.trade-active #tradePanel .social-close {
  width: 34px !important;
  height: 34px !important;
  border: 2px solid #3b1700 !important;
  border-radius: 9px !important;
  background: linear-gradient(180deg, #ffd06a 0%, #fe7700 48%, #ae4400 100%) !important;
  color: #351100 !important;
  box-shadow: 0 3px 0 rgba(48, 14, 0, .48), inset 0 1px 0 rgba(255, 255, 255, .42) !important;
  text-shadow: 0 1px 0 rgba(255, 255, 255, .45) !important;
}

#inventory .inventory-grid,
#chestPanel .inventory-grid,
body.trade-active #tradePanel .trade-offer-grid {
  box-sizing: border-box !important;
  padding: 7px !important;
  border: 2px solid rgba(42, 14, 0, .98) !important;
  border-radius: 10px !important;
  background: linear-gradient(180deg, rgba(72, 25, 0, .98), rgba(38, 13, 0, .98)) !important;
}

#inventory .inventory-slot,
#chestPanel .inventory-slot,
body.trade-active #tradePanel .trade-offer-slot {
  box-sizing: border-box !important;
  border: 2px solid rgba(65, 23, 0, .96) !important;
  border-radius: 9px !important;
  background: linear-gradient(145deg, rgba(143, 60, 0, .92), rgba(78, 29, 0, .94)) !important;
  box-shadow: inset 0 1px 0 rgba(255, 206, 120, .18), 0 2px 0 rgba(30, 9, 0, .42) !important;
}

#inventory .inventory-slot:hover,
#chestPanel .inventory-slot:hover,
body.trade-active #tradePanel .trade-offer-slot:hover {
  border-color: #ffd06a !important;
  background: linear-gradient(145deg, rgba(254, 119, 0, .98), rgba(139, 55, 0, .96)) !important;
}

#inventory .inventory-slot.selected,
#inventory .inventory-slot.picked,
#chestPanel .inventory-slot.selected,
#chestPanel .inventory-slot.picked {
  border-color: #9ef053 !important;
  box-shadow: inset 0 0 0 2px rgba(158, 240, 83, .35), 0 0 12px rgba(120, 220, 60, .48) !important;
}

#inventory.inventory.game-panel {
  width: 550px !important;
  max-width: 550px !important;
  height: 350px !important;
  max-height: 350px !important;
}

#inventory #inventoryGrid.inventory-grid,
#inventory .inventory-grid.fancy-grid {
  grid-template-columns: repeat(7, 50px) !important;
  grid-auto-rows: 50px !important;
  justify-content: center !important;
  align-content: start !important;
  gap: 7px !important;
}

#inventory .inventory-slot {
  width: 50px !important;
  height: 50px !important;
}

#chestPanel.chest-panel.game-panel {
  width: 550px !important;
  max-width: 550px !important;
  height: 380px !important;
  max-height: 380px !important;
}

#chestPanel #chestGrid.inventory-grid,
#chestPanel .chest-grid.fancy-grid {
  grid-template-columns: repeat(6, 48px) !important;
  grid-auto-rows: 48px !important;
  justify-content: center !important;
  align-content: start !important;
  gap: 6px !important;
}

#chestPanel .inventory-slot {
  width: 48px !important;
  height: 48px !important;
}

#chestPanel .chest-note {
  margin: 7px 5px 0 !important;
  color: #ffe2a4 !important;
  font-size: 11px !important;
  line-height: 1.25 !important;
  text-align: center !important;
}

body.chest-open-v198 #inventory.inventory.game-panel {
  left: 94px !important;
  right: auto !important;
  top: 330px !important;
  width: 550px !important;
  max-width: 550px !important;
  height: 380px !important;
  max-height: 380px !important;
  transform: none !important;
  transform-origin: left top !important;
}

body.chest-open-v198 #chestPanel.chest-panel.game-panel {
  left: auto !important;
  right: 94px !important;
  top: 330px !important;
  width: 550px !important;
  max-width: 550px !important;
  height: 380px !important;
  max-height: 380px !important;
  transform: none !important;
  transform-origin: right top !important;
}

body.chest-open-v198 #inventory #inventoryGrid.inventory-grid,
body.chest-open-v198 #inventory .inventory-grid.fancy-grid {
  grid-template-columns: repeat(7, 50px) !important;
  grid-auto-rows: 50px !important;
  gap: 7px !important;
}

body.chest-open-v198 #chestPanel #chestGrid.inventory-grid,
body.chest-open-v198 #chestPanel .chest-grid.fancy-grid {
  grid-template-columns: repeat(6, 48px) !important;
  grid-auto-rows: 48px !important;
  gap: 6px !important;
}

body.chest-open-v198 #chestPanel .chest-note {
  display: block !important;
}

body.trade-active #tradePanel .trade-modern-offer {
  border: 2px solid rgba(52, 16, 0, .98) !important;
  background: linear-gradient(180deg, rgba(88, 34, 0, .96), rgba(45, 15, 0, .97)) !important;
  box-shadow: inset 0 1px 0 rgba(255, 202, 105, .12) !important;
}

body.trade-active #tradePanel .trade-confirm-modern,
body.trade-active #tradePanel .trade-cancel-modern {
  border: 2px solid #3b1700 !important;
  background: linear-gradient(180deg, #ffd06a 0%, #fe7700 48%, #ae4400 100%) !important;
  color: #351100 !important;
  box-shadow: 0 3px 0 rgba(48, 14, 0, .48), inset 0 1px 0 rgba(255, 255, 255, .42) !important;
}

.auth-provider-mark {
  overflow: hidden !important;
  background: transparent !important;
}

.auth-provider-mark img {
  display: block;
  width: 100%;
  height: 100%;
  border-radius: 10px;
  object-fit: contain;
}

#menuAccountAvatar.account-avatar-loaded {
  width: 76px;
  height: 76px;
  border: 2px solid rgba(255, 255, 255, .72);
  border-radius: 18px;
  background: rgba(22, 12, 4, .55);
  object-fit: cover;
  box-shadow: 0 3px 10px rgba(0, 0, 0, .38);
}

@media (max-width: 1200px) and (min-width: 901px) {
  body.chest-open-v198 #inventory.inventory.game-panel,
  body.chest-open-v198 #chestPanel.chest-panel.game-panel {
    top: 300px !important;
    transform: scale(.86) !important;
  }
  body.chest-open-v198 #inventory.inventory.game-panel {
    left: 72px !important;
    transform-origin: left top !important;
  }
  body.chest-open-v198 #chestPanel.chest-panel.game-panel {
    right: 72px !important;
    transform-origin: right top !important;
  }
}

@media (max-width: 900px) {
  #inventory.inventory.game-panel,
  #chestPanel.chest-panel.game-panel {
    width: calc(100vw - 32px) !important;
    max-width: 550px !important;
    transform: translate(-50%, -50%) scale(.82) !important;
  }
  body.chest-open-v198 #inventory.inventory.game-panel,
  body.chest-open-v198 #chestPanel.chest-panel.game-panel {
    left: 16px !important;
    right: auto !important;
    width: calc(100vw - 32px) !important;
    max-width: calc(100vw - 32px) !important;
    height: 350px !important;
    transform: scale(.78) !important;
    transform-origin: left top !important;
  }
  body.chest-open-v198 #inventory.inventory.game-panel {
    top: 62px !important;
  }
  body.chest-open-v198 #chestPanel.chest-panel.game-panel {
    top: calc(50% + 22px) !important;
  }
}
@media (max-width: 700px) {
  .inventory.game-panel.modern-panel { width: min(560px, calc(100vw - 20px)); }
  .inventory-shell { padding: 16px; }
  .inventory-grid.fancy-grid { grid-template-columns: repeat(5, 1fr); }
  .inventory-grid.fancy-grid .inventory-slot { width: 100%; aspect-ratio: 1; height: auto; }
  .large-title { font-size: 24px; }
  .craft-recipe-box { grid-template-columns: 1fr; }
}

/* v17: craft categories on the left + inventory item moving */
.craft-panel.game-panel {
  left: 18px;
  right: auto;
  top: 74px;
  transform: none;
}
.craft-category-tabs {
  display: flex;
  gap: 8px;
  padding-right: 56px;
  margin-bottom: 10px;
  overflow-x: auto;
  scrollbar-width: thin;
}
.craft-category-tab {
  min-width: 74px;
  height: 56px;
  padding: 7px 8px;
  display: grid;
  grid-template-rows: 28px 1fr;
  align-items: center;
  justify-items: center;
  border-radius: 12px;
  background: rgba(6, 26, 37, 0.55);
  border: 1px solid rgba(255,255,255,0.12);
  color: #dbcfa6;
  font-size: 10px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: 0.2px;
}
.craft-category-tab.active,
.craft-category-tab:hover {
  background: rgba(96, 75, 124, 0.90);
  border-color: rgba(255, 211, 106, 0.58);
  color: #fff1bb;
}
.craft-category-icon {
  width: 28px;
  height: 28px;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  filter: drop-shadow(0 2px 2px rgba(0,0,0,0.35));
}
.inventory-grid.fancy-grid .inventory-slot {
  cursor: grab;
}
.inventory-grid.fancy-grid .inventory-slot:active {
  cursor: grabbing;
}
.inventory-grid.fancy-grid .inventory-slot.picked {
  outline: 3px solid rgba(255, 211, 106, 0.95);
  box-shadow: 0 0 0 5px rgba(255, 211, 106, 0.22), inset 0 1px 0 rgba(255,255,255,0.18);
  transform: translateY(-1px);
}
.inventory-grid.fancy-grid .inventory-slot[draggable="true"] {
  user-select: none;
}

@media (max-width: 980px) {
  .craft-panel.game-panel {
    left: 50%;
    right: auto;
    top: 50%;
    transform: translate(-50%, -50%);
  }
}


/* v31 chat */
.chat-box {
  position: fixed;
  left: 16px;
  bottom: 102px;
  width: 430px;
  max-width: calc(100vw - 32px);
  pointer-events: none;
  z-index: 18;
}

.chat-messages {
  display: flex;
  flex-direction: column;
  gap: 5px;
  max-height: 190px;
  overflow: hidden;
  margin-bottom: 8px;
}

.chat-line {
  width: fit-content;
  padding: 6px 9px;
  border-radius: 10px;
  background: rgba(8, 12, 20, 0.68);
  border: 1px solid rgba(255,255,255,0.10);
  color: #eaf0ff;
  font-size: 13px;
  line-height: 1.25;
  text-shadow: 0 1px 2px rgba(0,0,0,0.65);
  backdrop-filter: blur(5px);
}

.chat-name {
  color: #ffd36a;
  font-weight: 800;
  margin-right: 5px;
}

.chat-input {
  pointer-events: auto;
  width: 100%;
  box-sizing: border-box;
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(8, 12, 20, 0.86);
  border: 1px solid rgba(255, 211, 106, 0.50);
  color: #fff;
  box-shadow: 0 10px 28px rgba(0,0,0,0.32);
}

.chat-input.hidden {
  display: none;
}


.pickup-hint {
  position: fixed;
  transform: translate(-50%, -100%);
  z-index: 22;
  padding: 0;
  border-radius: 0;
  background: transparent;
  border: 0;
  color: #ffffff;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0.2px;
  text-shadow: 0 2px 3px rgba(0,0,0,0.95), 0 0 6px rgba(0,0,0,0.55);
  pointer-events: none;
  user-select: none;
  white-space: nowrap;
  box-shadow: none;
}

.pickup-hint.hidden {
  display: none;
}


.item-toast-box {
  position: fixed;
  right: 22px;
  bottom: 92px;
  z-index: 24;
  display: flex;
  flex-direction: column-reverse;
  gap: 8px;
  pointer-events: none;
  user-select: none;
}

.item-toast {
  display: flex;
  align-items: center;
  gap: 9px;
  min-width: 150px;
  max-width: 230px;
  padding: 8px 11px;
  border-radius: 12px;
  background: rgba(8, 12, 20, 0.82);
  border: 1px solid rgba(255, 211, 106, 0.38);
  color: #fff4c8;
  box-shadow: 0 10px 26px rgba(0,0,0,0.28);
  backdrop-filter: blur(7px);
  animation: itemToastIn 140ms ease-out;
}

.item-toast-icon {
  width: 28px;
  height: 28px;
  flex: 0 0 auto;
  border-radius: 8px;
  background-color: rgba(255,255,255,0.10);
  background-size: 82%;
  background-position: center;
  background-repeat: no-repeat;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,0.08);
}

.item-toast-label {
  font-size: 13px;
  font-weight: 850;
  text-shadow: 0 1px 2px rgba(0,0,0,0.8);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.cursor-item {
  position: fixed;
  z-index: 100;
  width: 58px;
  height: 58px;
  transform: translate(0, 0);
  pointer-events: none;
  border-radius: 11px;
  border: 1px solid rgba(255, 211, 106, 0.82);
  background-color: rgba(20, 27, 38, 0.86);
  background-size: 78%;
  background-position: center;
  background-repeat: no-repeat;
  box-shadow: 0 10px 30px rgba(0,0,0,0.35), inset 0 0 0 1px rgba(0,0,0,0.24);
  color: #eaf0ff;
  overflow: hidden;
}

.cursor-item.hidden {
  display: none;
}

@keyframes itemToastIn {
  from { opacity: 0; transform: translateX(12px); }
  to { opacity: 1; transform: translateX(0); }
}

@keyframes itemToastLifecycle {
  0% { opacity: 0; transform: translateX(14px) scale(0.96); }
  9% { opacity: 1; transform: translateX(0) scale(1); }
  82% { opacity: 1; transform: translateX(0) scale(1); }
  100% { opacity: 0; transform: translateX(14px) scale(0.96); }
}


/* v40 craft from craft.json + scroll */
.craft-panel.game-panel {
  overflow: hidden;
}

.craft-category-tabs {
  overflow-x: auto;
  overflow-y: hidden;
  flex-wrap: nowrap;
  scrollbar-width: thin;
  overscroll-behavior: contain;
  padding-bottom: 4px;
}

.craft-category-tab {
  flex: 0 0 auto;
  min-width: 92px;
}

.craft-shell {
  min-height: 0;
}

.craft-list-wrap {
  min-height: 0;
}

.craft-list {
  flex: 1 1 auto;
  min-height: 0;
  max-height: 100%;
  overflow-y: auto;
  overflow-x: hidden;
  overscroll-behavior: contain;
  scrollbar-width: thin;
  padding-bottom: 16px;
}

.craft-list::-webkit-scrollbar,
.craft-detail::-webkit-scrollbar,
.craft-category-tabs::-webkit-scrollbar {
  width: 8px;
  height: 8px;
}

.craft-list::-webkit-scrollbar-thumb,
.craft-detail::-webkit-scrollbar-thumb,
.craft-category-tabs::-webkit-scrollbar-thumb {
  background: rgba(255, 211, 106, 0.42);
  border-radius: 999px;
}

.craft-list::-webkit-scrollbar-track,
.craft-detail::-webkit-scrollbar-track,
.craft-category-tabs::-webkit-scrollbar-track {
  background: rgba(0,0,0,0.16);
  border-radius: 999px;
}

.craft-detail {
  min-height: 0;
  max-height: 100%;
  overflow-y: auto;
  overscroll-behavior: contain;
}


/* v41 clans + trade */
.social-buttons {
  position: fixed;
  right: 18px;
  top: 96px;
  z-index: 23;
  display: flex;
  flex-direction: column;
  gap: 7px;
  pointer-events: auto;
  user-select: none;
}

.social-buttons button {
  min-width: 92px;
  padding: 9px 11px;
  border-radius: 12px;
  background: rgba(255, 211, 106, 0.92);
  box-shadow: 0 8px 24px rgba(0,0,0,0.22);
}

.social-panel {
  position: fixed;
  right: 18px;
  top: 186px;
  width: min(420px, calc(100vw - 36px));
  max-height: min(660px, calc(100vh - 220px));
  z-index: 35;
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 14px;
  border-radius: 18px;
  background: rgba(8, 12, 20, 0.88);
  border: 1px solid rgba(255,255,255,0.14);
  box-shadow: 0 24px 90px rgba(0,0,0,0.48);
  backdrop-filter: blur(10px);
  color: #eaf0ff;
  overflow: hidden;
}

.social-panel.hidden {
  display: none;
}

.social-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.social-title {
  font-size: 20px;
  font-weight: 900;
  color: #ffdf84;
}

.social-close {
  width: 34px;
  height: 34px;
  padding: 0;
  border-radius: 10px;
  font-size: 22px;
  line-height: 1;
  background: rgba(255,255,255,0.12);
  color: #fff;
}

.social-tabs {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
}

.social-tabs button {
  background: rgba(255,255,255,0.10);
  color: #eaf0ff;
}

.social-tabs button.active {
  background: #ffd36a;
  color: #151515;
}

.social-body {
  overflow-y: auto;
  padding-right: 4px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  overscroll-behavior: contain;
}

.social-card {
  padding: 12px;
  border-radius: 14px;
  background: rgba(255,255,255,0.08);
  border: 1px solid rgba(255,255,255,0.10);
}

.social-label {
  color: #ffdf84;
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: 0.4px;
  margin-bottom: 8px;
}

.social-big {
  font-size: 22px;
  font-weight: 900;
  margin-bottom: 6px;
}

.social-muted {
  color: rgba(234,240,255,0.68);
  font-size: 13px;
  line-height: 1.35;
}

.social-form {
  display: grid;
  gap: 8px;
}

.social-form input {
  box-sizing: border-box;
  width: 100%;
}

.social-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 8px 0;
  border-top: 1px solid rgba(255,255,255,0.08);
}

.social-row:first-of-type {
  border-top: 0;
}

.social-row span {
  color: rgba(234,240,255,0.62);
  font-size: 12px;
}

.trade-row button {
  padding: 7px 9px;
  border-radius: 10px;
}

.trade-offers {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}

.social-subtitle {
  margin-bottom: 6px;
  color: #dff7ff;
  font-weight: 900;
}

.trade-stack-list {
  min-height: 74px;
  padding: 8px;
  border-radius: 12px;
  background: rgba(0,0,0,0.20);
  border: 1px solid rgba(255,255,255,0.08);
}

.trade-stack {
  margin-bottom: 5px;
  padding: 5px 7px;
  border-radius: 8px;
  background: rgba(255,255,255,0.10);
  color: #fff4c8;
  font-size: 13px;
  font-weight: 800;
}

.social-actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
}

.social-actions button {
  min-height: 38px;
}

.social-actions button.danger {
  background: #b51927;
  color: #fff;
}


/* v42 dock-integrated clan/trade buttons */
.social-buttons {
  display: none !important;
}

#clanButton img,
#tradeButton img {
  object-fit: contain;
}

/* Panel still opens as normal content, but buttons now live in actionDock. */
.social-panel {
  top: 140px;
}


/* v44 player nameplates */
.player-overlay {
  position: fixed;
  inset: 0;
  z-index: 17;
  pointer-events: none;
  user-select: none;
}

.player-nameplate {
  position: fixed;
  width: 122px;
  transform: translate(-50%, -100%);
  text-align: center;
  filter: drop-shadow(0 2px 3px rgba(0,0,0,0.72));
}

.player-name {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  max-width: 150px;
  margin: 0 auto 3px;
  padding: 2px 7px;
  border-radius: 9px;
  background: rgba(8, 12, 20, 0.58);
  color: #58d7ff;
  font-size: 12px;
  font-weight: 900;
  line-height: 1.1;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  text-shadow: 0 1px 2px rgba(0,0,0,0.88);
  border: 1px solid rgba(88, 215, 255, 0.22);
}

.player-nameplate.me .player-name {
  color: #8feeff;
  border-color: rgba(143, 238, 255, 0.42);
}

.player-clan {
  margin-right: 4px;
  color: #ffd36a;
}

.player-bar {
  position: relative;
  width: 86px;
  height: 6px;
  margin: 2px auto;
  border-radius: 999px;
  overflow: hidden;
  background: rgba(0,0,0,0.58);
  border: 1px solid rgba(255,255,255,0.18);
  box-shadow: inset 0 1px 2px rgba(0,0,0,0.55);
}

.player-bar span {
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  border-radius: inherit;
}

.player-bar.hp span {
  background: linear-gradient(90deg, #22d35f, #b8ff68);
}

.player-bar.exp {
  width: 62px;
  height: 5px;
  margin: 0;
}

.player-bar.exp span {
  background: linear-gradient(90deg, #40a7ff, #9b6dff);
}

.player-exp-row {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
}

.player-level {
  min-width: 26px;
  color: #d7efff;
  font-size: 9px;
  font-weight: 900;
  text-shadow: 0 1px 2px rgba(0,0,0,0.88);
}

body.menu-open #playerOverlay { display: none; }


/* v45 level HUD above active slots */
.level-hud {
  position: fixed;
  left: 50%;
  bottom: 106px;
  transform: translateX(-50%);
  z-index: 20;
  width: 330px;
  padding: 8px 10px 10px;
  border-radius: 14px;
  background: rgba(8, 12, 20, 0.68);
  border: 1px solid rgba(120, 255, 130, 0.30);
  box-shadow: 0 10px 32px rgba(0,0,0,0.28);
  backdrop-filter: blur(8px);
  pointer-events: none;
  user-select: none;
}

.level-hud.hidden {
  display: none;
}

.level-hud-title {
  margin-bottom: 5px;
  color: #89ff91;
  font-size: 13px;
  font-weight: 950;
  text-align: center;
  text-shadow: 0 1px 2px rgba(0,0,0,0.86);
}

.level-hud-exp {
  position: relative;
  width: 100%;
  height: 20px;
  overflow: hidden;
  border-radius: 8px;
  background: rgba(0,0,0,0.58);
  border: 1px solid rgba(255,255,255,0.18);
  box-shadow: inset 0 2px 4px rgba(0,0,0,0.48);
}

.level-hud-fill {
  position: absolute;
  inset: 0 auto 0 0;
  width: 0%;
  border-radius: inherit;
  background: linear-gradient(90deg, #1fbf5b, #8cff6a, #d6ff78);
  box-shadow: 0 0 18px rgba(100,255,120,0.38);
}

.level-hud-text {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  color: #ffffff;
  font-size: 12px;
  font-weight: 950;
  text-shadow: 0 1px 3px rgba(0,0,0,0.9);
}

body.menu-open #levelHud {
  display: none;
}


/* v46 nameplate clean + green XP */
.player-name {
  background: transparent !important;
  border: 0 !important;
  padding: 0 !important;
  border-radius: 0 !important;
}

.player-nameplate.me .player-name {
  border-color: transparent !important;
}


/* v47 craft-style tabs for shop/build/clan/trade */
.catalog-panel.game-panel,
.craft-social-panel.social-panel {
  left: auto;
  top: 74px;
  right: 18px;
  transform: none;
  width: min(660px, calc(100vw - 42px));
  height: min(540px, calc(100vh - 120px));
  max-height: min(540px, calc(100vh - 120px));
  padding: 12px;
  overflow: hidden;
  background: linear-gradient(180deg, #0c6f96 0%, #085877 100%);
  border: 4px solid #06465f;
  border-radius: 18px;
  box-shadow: 0 22px 90px rgba(0,0,0,0.50);
  color: #eaf6ff;
  backdrop-filter: none;
}

.catalog-panel .simple-catalog-tabs {
  margin-bottom: 10px;
}

.catalog-panel .single-catalog-shell {
  display: block;
  height: calc(100% - 64px);
}

.catalog-panel .craft-list-wrap {
  height: 100%;
  border-right: 0;
}

.catalog-panel .catalog-grid {
  display: flex;
  flex-direction: column;
  gap: 0;
  min-height: 0;
  overflow-y: auto;
  overflow-x: hidden;
  padding: 0 6px 10px 10px;
}

.catalog-panel .catalog-card {
  width: 100%;
  min-height: 62px;
  display: grid;
  grid-template-columns: 42px 1fr;
  gap: 10px;
  align-items: center;
  margin-bottom: 6px;
  padding: 10px;
  border-radius: 12px;
  background: rgba(196, 202, 217, 0.88);
  color: #233744;
  border: 2px solid rgba(8, 57, 77, 0.35);
  text-align: left;
}

.catalog-panel .catalog-card:hover {
  background: rgba(228, 232, 243, 0.98);
  border-color: #2f8fc1;
  box-shadow: inset 4px 0 0 #44b2f0;
}

.catalog-panel .catalog-icon {
  width: 36px;
  height: 36px;
  border-radius: 9px;
  background-color: rgba(255,255,255,0.45);
  border: 1px solid rgba(8,57,77,0.18);
}

.catalog-panel .catalog-title {
  color: #4b5057;
  font-weight: 900;
}

.catalog-panel .catalog-meta {
  color: #5f7682;
}

.catalog-panel .catalog-price {
  color: #236c47;
  font-weight: 900;
}

.craft-social-panel .social-head {
  height: 54px;
  margin-bottom: 10px;
  padding-right: 44px;
}

.craft-social-panel .social-title {
  min-width: 120px;
  min-height: 48px;
  display: inline-grid;
  place-items: center;
  padding: 0 16px;
  border-radius: 12px;
  background: rgba(96, 75, 124, 0.88);
  border: 1px solid rgba(255,255,255,0.18);
  color: #f2fbff;
  font-size: 18px;
}

.craft-social-panel .social-close {
  position: absolute;
  right: 12px;
  top: 12px;
  width: 34px;
  height: 34px;
  border-radius: 10px;
  background: rgba(6, 26, 37, 0.55);
  border: 1px solid rgba(255,255,255,0.12);
  color: #dff7ff;
}

.craft-social-panel .social-body {
  height: calc(100% - 64px);
  overflow-y: auto;
  padding: 12px;
  border-radius: 14px;
  background: rgba(7, 33, 45, 0.18);
  border: 1px solid rgba(255,255,255,0.08);
}

.craft-social-panel .social-card {
  background: rgba(196, 202, 217, 0.88);
  color: #233744;
  border: 2px solid rgba(8, 57, 77, 0.35);
  border-radius: 12px;
}

.craft-social-panel .social-label {
  color: #06465f;
}

.craft-social-panel .social-big,
.craft-social-panel .social-subtitle,
.craft-social-panel .trade-stack {
  color: #233744;
}

.craft-social-panel .social-muted,
.craft-social-panel .social-row span {
  color: #526a75;
}

.craft-social-panel input {
  background: rgba(255,255,255,0.72);
  color: #233744;
  border: 2px solid rgba(8, 57, 77, 0.28);
}

.craft-social-panel .trade-stack-list {
  background: rgba(7, 33, 45, 0.12);
  border: 1px solid rgba(8, 57, 77, 0.22);
}

.craft-social-panel .trade-stack {
  background: rgba(255,255,255,0.40);
}


/* v50 admin panel */
.admin-panel {
  position: fixed;
  right: 18px;
  top: 132px;
  width: min(720px, calc(100vw - 36px));
  max-height: min(720px, calc(100vh - 170px));
  z-index: 36;
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 14px;
  border-radius: 20px;
  background: rgba(8, 12, 20, 0.90);
  border: 1px solid rgba(255, 211, 106, 0.24);
  box-shadow: 0 26px 95px rgba(0,0,0,0.52);
  backdrop-filter: blur(12px);
  color: #eaf0ff;
  overflow: hidden;
}

.admin-panel.hidden {
  display: none;
}

.admin-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.admin-title {
  font-size: 20px;
  font-weight: 950;
  color: #ffd36a;
  text-shadow: 0 1px 2px rgba(0,0,0,0.7);
}

.admin-crown {
  color: #ffef9e;
  margin-right: 5px;
}

.admin-tabs {
  flex: 0 0 auto;
}

.admin-body {
  min-height: 0;
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  gap: 10px;
  overflow: hidden;
}

.admin-help,
.admin-target {
  color: rgba(234,240,255,0.70);
  font-size: 13px;
}

.admin-list,
.admin-item-list {
  min-height: 0;
  flex: 1 1 auto;
  overflow-y: auto;
  display: grid;
  gap: 8px;
  padding-right: 4px;
  overscroll-behavior: contain;
  scrollbar-width: thin;
}

.admin-row,
.admin-item-row {
  width: 100%;
  border: 1px solid rgba(255,255,255,0.10);
  border-radius: 14px;
  background: rgba(255,255,255,0.08);
  color: #eaf0ff;
  padding: 10px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  text-align: left;
}

.admin-row:hover,
.admin-item-row:hover,
.admin-row.selected,
.admin-item-row.selected {
  background: rgba(255, 211, 106, 0.18);
  border-color: rgba(255, 211, 106, 0.45);
}

.admin-row-main {
  display: grid;
  gap: 3px;
}

.admin-row-main span,
.admin-item-label span {
  color: rgba(234,240,255,0.62);
  font-size: 12px;
}

.admin-row-side {
  color: #ffd36a;
  font-size: 20px;
}

.admin-tools {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 10px;
  align-items: center;
}

.admin-tools input {
  width: 100%;
  box-sizing: border-box;
}

.admin-item-list {
  grid-template-columns: repeat(auto-fill, minmax(185px, 1fr));
}

.admin-item-row {
  min-height: 62px;
  justify-content: flex-start;
}

.admin-item-icon {
  width: 38px;
  height: 38px;
  flex: 0 0 auto;
  border-radius: 12px;
  background-color: rgba(255,255,255,0.10);
  background-size: 82%;
  background-position: center;
  background-repeat: no-repeat;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,0.08);
}

.admin-item-label {
  min-width: 0;
  display: grid;
  gap: 3px;
}

.admin-item-label b {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.admin-give-controls {
  flex: 0 0 auto;
  display: grid;
  grid-template-columns: 1fr 110px 120px;
  gap: 10px;
  align-items: center;
  padding: 10px;
  border-radius: 16px;
  background: rgba(255,255,255,0.08);
  border: 1px solid rgba(255,255,255,0.10);
}

.admin-selected-item {
  color: #fff4c8;
  font-weight: 900;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.admin-give-controls input {
  width: 100%;
  box-sizing: border-box;
}

.admin-give-controls button {
  height: 38px;
  border-radius: 12px;
  background: linear-gradient(135deg, #ffd36a, #ff9f43);
  font-weight: 950;
}

#adminButton.hidden {
  display: none !important;
}

body.menu-open #adminPanel {
  display: none;
}


/* v51 admin panel polish */
.admin-panel {
  right: 50%;
  top: 88px;
  transform: translateX(50%);
  width: min(900px, calc(100vw - 34px));
  max-height: min(760px, calc(100vh - 132px));
  padding: 16px;
  border-radius: 24px;
  background:
    radial-gradient(circle at 18% 0%, rgba(255, 211, 106, 0.16), transparent 32%),
    radial-gradient(circle at 95% 18%, rgba(88, 215, 255, 0.12), transparent 34%),
    rgba(7, 11, 19, 0.92);
  border: 1px solid rgba(255, 211, 106, 0.32);
}

.admin-head {
  padding: 4px 2px 2px;
}

.admin-title {
  display: flex;
  align-items: center;
  gap: 10px;
}

.admin-title b {
  display: block;
  font-size: 22px;
  line-height: 1.05;
}

.admin-title small {
  display: block;
  margin-top: 3px;
  color: rgba(234,240,255,0.60);
  font-size: 12px;
  font-weight: 800;
}

.admin-crown {
  width: 42px;
  height: 42px;
  display: inline-grid;
  place-items: center;
  border-radius: 15px;
  background: linear-gradient(135deg, rgba(255,211,106,0.28), rgba(255,159,67,0.12));
  box-shadow: inset 0 0 0 1px rgba(255, 211, 106, 0.22), 0 10px 25px rgba(0,0,0,0.25);
}

.admin-tabs {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  overflow: visible;
}

.admin-tabs .craft-category-tab {
  min-height: 46px;
  justify-content: center;
  font-size: 14px;
}

.admin-body {
  gap: 12px;
}

.admin-tools {
  grid-template-columns: minmax(240px, 1fr) 220px;
  gap: 12px;
}

.admin-search-wrap,
.admin-target,
.admin-amount-box,
.admin-selected-item {
  border-radius: 16px;
  background: rgba(255,255,255,0.075);
  border: 1px solid rgba(255,255,255,0.10);
}

.admin-search-wrap {
  display: grid;
  gap: 5px;
  padding: 9px 12px;
}

.admin-search-wrap span,
.admin-target span,
.admin-amount-box span,
.admin-selected-item span {
  color: rgba(255, 211, 106, 0.80);
  font-size: 11px;
  font-weight: 950;
  text-transform: uppercase;
  letter-spacing: 0.4px;
}

.admin-search-wrap input {
  padding: 0;
  border: 0;
  background: transparent;
  color: #fff;
  outline: none;
}

.admin-target {
  padding: 9px 12px;
  color: #fff;
  display: grid;
  gap: 4px;
  text-align: left;
}

.admin-target b {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.admin-item-list,
.admin-list {
  padding: 8px;
  border-radius: 18px;
  background: rgba(0,0,0,0.18);
  border: 1px solid rgba(255,255,255,0.08);
  scrollbar-width: thin;
  overscroll-behavior: contain;
  scroll-behavior: auto;
}

.admin-item-list::-webkit-scrollbar,
.admin-list::-webkit-scrollbar {
  width: 9px;
}

.admin-item-list::-webkit-scrollbar-thumb,
.admin-list::-webkit-scrollbar-thumb {
  background: rgba(255, 211, 106, 0.42);
  border-radius: 999px;
}

.admin-item-list::-webkit-scrollbar-track,
.admin-list::-webkit-scrollbar-track {
  background: rgba(0,0,0,0.20);
  border-radius: 999px;
}

.admin-item-row {
  min-height: 68px;
  padding: 10px;
  background: rgba(255,255,255,0.070);
  transition: transform 80ms ease, border-color 120ms ease, background 120ms ease;
}

.admin-item-row:hover {
  transform: translateY(-1px);
}

.admin-item-row.selected {
  background: linear-gradient(135deg, rgba(255,211,106,0.22), rgba(88,215,255,0.10));
  border-color: rgba(255, 211, 106, 0.62);
}

.admin-item-row.hidden {
  display: none !important;
}

.admin-item-icon {
  width: 44px;
  height: 44px;
  border-radius: 14px;
  background-color: rgba(0,0,0,0.20);
}

.admin-item-label b {
  color: #fff7d6;
}

.admin-give-controls {
  grid-template-columns: minmax(180px, 1fr) 250px 132px;
  gap: 12px;
  padding: 12px;
  border-radius: 20px;
  background: linear-gradient(135deg, rgba(255,211,106,0.12), rgba(255,255,255,0.065));
  border-color: rgba(255, 211, 106, 0.22);
  box-shadow: 0 -10px 32px rgba(0,0,0,0.18);
}

.admin-selected-item {
  padding: 10px 12px;
  display: grid;
  gap: 4px;
}

.admin-selected-item b {
  color: #fff4c8;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.admin-selected-item em {
  color: #8cff6a;
  font-size: 12px;
  font-style: normal;
}

.admin-amount-box {
  padding: 8px 10px;
  display: grid;
  gap: 7px;
}

.admin-amount-box input {
  width: 100%;
  border: 0;
  background: rgba(0,0,0,0.24);
  color: #fff;
  border-radius: 10px;
  padding: 8px 10px;
  outline: none;
}

.admin-quick-amounts {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 5px;
}

.admin-quick-amounts button {
  min-height: 26px;
  padding: 3px;
  border-radius: 8px;
  background: rgba(255,255,255,0.10);
  color: rgba(234,240,255,0.86);
  font-size: 11px;
}

.admin-give-button {
  height: 100%;
  min-height: 70px;
  border-radius: 16px !important;
  background: linear-gradient(135deg, #ffd36a, #ff9f43) !important;
  box-shadow: 0 12px 28px rgba(255,159,67,0.20);
}

.admin-give-button:disabled {
  opacity: 0.58;
  cursor: not-allowed;
  filter: grayscale(0.15);
}

@media (max-width: 680px) {
  .admin-panel {
    top: 74px;
    max-height: calc(100vh - 106px);
  }

  .admin-tools,
  .admin-give-controls {
    grid-template-columns: 1fr;
  }

  .admin-give-button {
    min-height: 44px;
  }
}


/* v59 build mode */
.catalog-card.selected {
  border-color: rgba(94, 255, 128, 0.65);
  background: linear-gradient(135deg, rgba(94,255,128,0.18), rgba(255,255,255,0.08));
  box-shadow: 0 0 0 1px rgba(94,255,128,0.22), 0 14px 34px rgba(0,0,0,0.26);
}

.catalog-action {
  margin-top: 6px;
  display: inline-flex;
  align-items: center;
  width: fit-content;
  border-radius: 999px;
  padding: 4px 8px;
  font-size: 11px;
  font-weight: 900;
  color: #d7ffe1;
  background: rgba(94,255,128,0.14);
  border: 1px solid rgba(94,255,128,0.24);
}

.catalog-card.selected .catalog-action {
  color: #101914;
  background: linear-gradient(135deg, #8cff9d, #48e8ff);
  border-color: transparent;
}


/* v61 craft/build resource states */
.craft-ingredient-text.ok {
  color: #9dff9d;
}

.craft-ingredient-text.missing {
  color: #ff9a9a;
}

.craft-create-button:disabled {
  opacity: 0.55;
  cursor: not-allowed;
  filter: grayscale(0.25);
}

.build-panel.game-panel {
  left: 18px;
  right: auto;
  top: 74px;
  transform: none;
}


/* v62 centered craft/build panels with vertical category tabs */
.craft-panel.game-panel:not(.hidden) {
  display: grid;
}

.craft-panel.game-panel {
  left: 54%;
  top: 53%;
  right: auto;
  transform: translate(-50%, -50%);
  width: min(860px, calc(100vw - 48px));
  height: min(620px, calc(100vh - 92px));
  grid-template-columns: 112px minmax(0, 1fr);
  grid-template-rows: minmax(0, 1fr);
  gap: 12px;
  padding: 14px;
  overflow: visible;
}

.build-panel.game-panel {
  left: 54%;
  top: 53%;
  right: auto;
  transform: translate(-50%, -50%);
}

.craft-panel.game-panel.hidden {
  display: none;
}

.craft-panel.game-panel .floating-close {
  right: 14px;
  top: 14px;
}

.craft-panel.game-panel .craft-category-tabs {
  grid-column: 1;
  grid-row: 1;
  display: flex;
  flex-direction: column;
  gap: 8px;
  height: 100%;
  min-width: 0;
  padding: 10px 8px;
  margin: 0;
  overflow-x: hidden;
  overflow-y: auto;
  border-radius: 14px;
  background: rgba(4, 33, 47, 0.55);
  border: 1px solid rgba(255,255,255,0.10);
  box-shadow: inset -3px 0 0 rgba(4, 43, 59, 0.55);
  scrollbar-width: thin;
}

.craft-panel.game-panel .craft-category-tab {
  width: 100%;
  min-width: 0;
  height: 64px;
  flex: 0 0 auto;
  display: grid;
  grid-template-columns: 30px minmax(0, 1fr);
  grid-template-rows: 1fr;
  gap: 7px;
  align-items: center;
  justify-items: start;
  padding: 8px 9px;
  text-align: left;
  text-transform: none;
  line-height: 1.05;
}

.craft-panel.game-panel .craft-category-tab span {
  display: block;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: normal;
  font-size: 10px;
}

.craft-panel.game-panel .craft-category-icon {
  width: 30px;
  height: 30px;
}

.craft-panel.game-panel .craft-shell {
  grid-column: 2;
  grid-row: 1;
  height: 100%;
  min-width: 0;
  grid-template-columns: 286px minmax(0, 1fr);
}

.craft-panel.game-panel .craft-list {
  padding-bottom: 14px;
}

@media (max-width: 980px) {
  .craft-panel.game-panel {
    left: 50%;
    top: 52%;
    transform: translate(-50%, -50%);
    width: min(760px, calc(100vw - 24px));
    height: min(640px, calc(100vh - 42px));
    grid-template-columns: 96px minmax(0, 1fr);
  }

  .craft-panel.game-panel .craft-shell {
    grid-template-columns: minmax(220px, 0.9fr) minmax(0, 1.1fr);
    height: 100%;
  }

  .craft-panel.game-panel .craft-list-wrap {
    max-height: none;
    border-right: 4px solid rgba(4, 43, 59, 0.80);
    border-bottom: none;
  }
}

@media (max-width: 720px) {
  .craft-panel.game-panel {
    grid-template-columns: 1fr;
    grid-template-rows: 92px minmax(0, 1fr);
  }

  .craft-panel.game-panel .craft-category-tabs {
    grid-column: 1;
    grid-row: 1;
    flex-direction: row;
    overflow-x: auto;
    overflow-y: hidden;
    height: auto;
  }

  .craft-panel.game-panel .craft-category-tab {
    width: 96px;
  }

  .craft-panel.game-panel .craft-shell {
    grid-column: 1;
    grid-row: 2;
    grid-template-columns: 1fr;
  }
}


/* v63 left vertical main dock + slight-right craft/build panels */
.action-dock {
  left: 16px;
  top: 96px;
  bottom: auto;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  max-height: calc(100vh - 190px);
  overflow-y: auto;
  overflow-x: hidden;
  padding: 8px;
  border-radius: 18px;
  z-index: 32;
  scrollbar-width: thin;
}

.action-dock .dock-button {
  flex: 0 0 auto;
}

.craft-panel.game-panel {
  left: 104px;
  top: 96px;
  right: auto;
  transform: none;
  width: min(860px, calc(100vw - 132px));
  height: min(620px, calc(100vh - 124px));
}

.build-panel.game-panel {
  left: 104px;
  top: 96px;
  right: auto;
  transform: none;
}

@media (max-width: 980px) {
  .action-dock {
    left: 10px;
    top: 84px;
    max-height: calc(100vh - 170px);
  }

  .dock-button {
    width: 44px;
    height: 44px;
  }

  .craft-panel.game-panel,
  .build-panel.game-panel {
    left: 70px;
    top: 78px;
    transform: none;
    width: calc(100vw - 84px);
    height: min(640px, calc(100vh - 104px));
  }
}

@media (max-width: 720px) {
  .action-dock {
    left: 8px;
    top: auto;
    bottom: 86px;
    flex-direction: row;
    max-width: calc(100vw - 16px);
    max-height: none;
    overflow-x: auto;
    overflow-y: hidden;
  }

  .craft-panel.game-panel,
  .build-panel.game-panel {
    left: 50%;
    top: 52%;
    transform: translate(-50%, -50%);
    width: min(760px, calc(100vw - 24px));
    height: min(640px, calc(100vh - 42px));
  }
}


/* v64 main dock lower + craft/build inner tabs restored to top */
.action-dock {
  top: 126px;
}

.craft-panel.game-panel:not(.hidden) {
  display: block;
}

.craft-panel.game-panel .craft-category-tabs {
  display: flex;
  flex-direction: row;
  gap: 8px;
  height: auto;
  min-width: 0;
  padding: 0 56px 0 0;
  margin: 0 0 10px 0;
  overflow-x: auto;
  overflow-y: hidden;
  border-radius: 0;
  background: transparent;
  border: 0;
  box-shadow: none;
  scrollbar-width: thin;
}

.craft-panel.game-panel .craft-category-tab {
  width: auto;
  min-width: 74px;
  height: 56px;
  flex: 0 0 auto;
  padding: 7px 8px;
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: 28px 1fr;
  gap: 0;
  align-items: center;
  justify-items: center;
  text-align: center;
  text-transform: uppercase;
  line-height: 1.05;
}

.craft-panel.game-panel .craft-category-tab span {
  display: block;
  max-width: 82px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 10px;
}

.craft-panel.game-panel .craft-category-icon {
  width: 28px;
  height: 28px;
}

.craft-panel.game-panel .craft-shell {
  height: calc(100% - 66px);
  grid-template-columns: 286px minmax(0, 1fr);
}

@media (max-width: 980px) {
  .action-dock {
    top: 112px;
  }

  .craft-panel.game-panel .craft-category-tabs {
    flex-direction: row;
    overflow-x: auto;
    overflow-y: hidden;
    height: auto;
  }

  .craft-panel.game-panel .craft-list-wrap {
    max-height: none;
    border-right: 4px solid rgba(4, 43, 59, 0.80);
    border-bottom: none;
  }
}

@media (max-width: 720px) {
  .action-dock {
    top: auto;
    bottom: 86px;
  }

  .craft-panel.game-panel:not(.hidden) {
    display: grid;
  }

  .craft-panel.game-panel .craft-category-tabs {
    grid-column: 1;
    grid-row: 1;
  }

  .craft-panel.game-panel .craft-shell {
    grid-column: 1;
    grid-row: 2;
    height: 100%;
  }
}


/* v65 compact craft/build/shop and shop balance */
.craft-panel.game-panel {
  left: 104px;
  top: 96px;
  right: auto;
  transform: none;
  width: min(645px, calc(100vw - 132px));
  height: min(465px, calc(100vh - 124px));
  padding: 12px;
}

.craft-panel.game-panel .craft-shell {
  grid-template-columns: 218px minmax(0, 1fr);
  height: calc(100% - 64px);
}

.craft-panel.game-panel .craft-list-title {
  padding: 10px 12px 6px;
  font-size: 16px;
}

.craft-panel.game-panel .craft-list-item {
  grid-template-columns: 36px 1fr;
  gap: 8px;
  padding: 8px;
}

.craft-panel.game-panel .craft-list-icon {
  width: 32px;
  height: 32px;
}

.craft-panel.game-panel .craft-detail {
  padding: 14px;
}

.craft-panel.game-panel .craft-detail-title {
  font-size: 19px;
}

.craft-panel.game-panel .craft-detail-desc {
  margin-top: 9px;
  font-size: 13px;
}

.craft-panel.game-panel .craft-recipe-box {
  margin-top: 12px;
  padding: 12px;
  grid-template-columns: 1fr 120px;
}

.craft-panel.game-panel .craft-preview-icon {
  height: 112px;
}

.craft-panel.game-panel .craft-create-button {
  width: 190px;
  padding: 13px 14px;
  font-size: 16px;
}

.panel-balance {
  position: absolute;
  top: 14px;
  right: 64px;
  z-index: 4;
  padding: 9px 12px;
  border-radius: 12px;
  background: rgba(6, 26, 37, 0.72);
  border: 1px solid rgba(255, 211, 106, 0.38);
  color: #ffdf84;
  font-size: 13px;
  font-weight: 950;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.10), 0 8px 18px rgba(0,0,0,0.20);
}

.coin-icon {
  background-image: url('/assets/items/coin.png');
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  box-shadow: none;
}

@media (max-width: 980px) {
  .craft-panel.game-panel,
  .build-panel.game-panel,
  .shop-panel.game-panel {
    left: 70px;
    top: 78px;
    transform: none;
    width: calc(100vw - 84px);
    height: min(520px, calc(100vh - 104px));
  }

  .craft-panel.game-panel .craft-shell {
    grid-template-columns: 210px minmax(0, 1fr);
  }
}

@media (max-width: 720px) {
  .craft-panel.game-panel,
  .build-panel.game-panel,
  .shop-panel.game-panel {
    left: 50%;
    top: 52%;
    transform: translate(-50%, -50%);
    width: min(645px, calc(100vw - 24px));
    height: min(520px, calc(100vh - 42px));
  }

  .craft-panel.game-panel .craft-shell {
    grid-template-columns: 1fr;
  }
}


/* v66 shop usability + taller panels + centered side dock */
.action-dock {
  top: 50%;
  bottom: auto;
  transform: translateY(-50%);
}

.craft-panel.game-panel,
.build-panel.game-panel,
.shop-panel.game-panel {
  height: min(558px, calc(100vh - 124px));
}

.shop-panel .craft-category-tabs {
  padding-right: 200px;
  position: relative;
  z-index: 5;
}

.shop-panel .panel-balance {
  pointer-events: none;
  z-index: 4;
}

.shop-panel .craft-shell {
  position: relative;
  z-index: 2;
}

.shop-panel .craft-list-item,
.shop-panel .craft-category-tab,
.shop-panel .craft-create-button {
  pointer-events: auto;
}

.shop-panel .craft-list {
  max-height: none;
}

@media (max-width: 980px) {
  .action-dock {
    top: 50%;
    bottom: auto;
    transform: translateY(-50%);
  }

  .craft-panel.game-panel,
  .build-panel.game-panel,
  .shop-panel.game-panel {
    height: min(624px, calc(100vh - 104px));
  }

  .shop-panel .craft-category-tabs {
    padding-right: 160px;
  }
}

@media (max-width: 720px) {
  .action-dock {
    top: auto;
    bottom: 86px;
    transform: none;
  }

  .craft-panel.game-panel,
  .build-panel.game-panel,
  .shop-panel.game-panel {
    height: min(624px, calc(100vh - 42px));
  }

  .shop-panel .craft-category-tabs {
    padding-right: 56px;
  }
}


/* v67 shop interaction fix + compact zoom */
.shop-panel {
  pointer-events: auto;
}

.shop-panel .floating-close {
  z-index: 80;
  pointer-events: auto;
}

.shop-panel .craft-category-tabs {
  position: relative;
  z-index: 20;
  pointer-events: auto;
}

.shop-panel .craft-category-tab {
  pointer-events: auto;
  cursor: pointer;
}

.shop-panel .craft-shell {
  position: relative;
  z-index: 10;
  pointer-events: auto;
}

.shop-panel .craft-list,
.shop-panel .craft-list-item,
.shop-panel .craft-detail,
.shop-panel .craft-create-button {
  pointer-events: auto;
}

.shop-panel .panel-balance {
  pointer-events: none;
  z-index: 12;
}

/* Zoom controls: prettier and ~30% smaller */
.viewport-controls {
  right: 14px;
  bottom: 18px;
  gap: 5px;
  padding: 5px;
  border-radius: 13px;
  background: linear-gradient(180deg, rgba(14, 27, 44, 0.74), rgba(5, 10, 18, 0.70));
  border: 1px solid rgba(255, 211, 106, 0.24);
  box-shadow: 0 12px 34px rgba(0,0,0,0.32), inset 0 1px 0 rgba(255,255,255,0.10);
}

.viewport-controls button {
  min-width: 27px;
  width: 27px;
  height: 27px;
  padding: 0;
  border-radius: 9px;
  font-size: 13px;
  font-weight: 950;
  background: linear-gradient(180deg, rgba(42, 55, 76, 0.92), rgba(22, 31, 47, 0.92));
  border: 1px solid rgba(255,255,255,0.14);
  color: #ffe18a;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.12);
}

.viewport-controls button:hover {
  background: linear-gradient(180deg, rgba(71, 86, 111, 0.94), rgba(33, 45, 67, 0.94));
  border-color: rgba(255, 211, 106, 0.48);
}

#zoomValue {
  min-width: 36px;
  padding: 0 4px;
  color: #fff2b6;
  font-size: 10px;
  font-weight: 950;
  text-align: center;
  letter-spacing: 0.2px;
}

#zoomReset {
  font-size: 14px;
}


/* v74 privatechest personal chest */
.chest-panel.game-panel {
  width: min(760px, calc(100vw - 40px));
}

.chest-grid {
  grid-template-columns: repeat(10, 58px);
  max-height: min(470px, calc(100vh - 250px));
  overflow-y: auto;
  padding-right: 6px;
}

.chest-note {
  margin-top: 10px;
  color: rgba(234, 240, 255, 0.72);
  font-size: 12px;
  line-height: 1.35;
}



/* v78 main menu tabs */
.main-menu-card {
  width: min(760px, calc(100vw - 32px));
  max-height: calc(100vh - 40px);
  overflow-y: auto;
}

.main-menu-tabs {
  display: grid;
  grid-template-columns: repeat(5, minmax(96px, 1fr));
  gap: 10px;
  margin-top: 18px;
}

.main-menu-tab {
  min-height: 118px;
  padding: 12px 8px;
  border-radius: 18px;
  border: 1px solid rgba(255,255,255,0.14);
  background: linear-gradient(180deg, rgba(32, 45, 67, 0.92), rgba(12, 18, 31, 0.86));
  color: #eaf0ff;
  display: grid;
  place-items: center;
  gap: 8px;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.10), 0 12px 34px rgba(0,0,0,0.25);
}

.main-menu-tab:hover {
  border-color: rgba(255, 211, 106, 0.46);
  transform: translateY(-1px);
}

.main-menu-tab.active {
  border-color: #ffd36a;
  background: linear-gradient(180deg, rgba(72, 56, 25, 0.96), rgba(24, 20, 14, 0.88));
  box-shadow: 0 0 0 2px rgba(255, 211, 106, 0.22), 0 16px 42px rgba(0,0,0,0.32);
}

.main-menu-tab img {
  width: 58px;
  height: 58px;
  object-fit: contain;
  image-rendering: auto;
  filter: drop-shadow(0 6px 7px rgba(0,0,0,0.48));
}

.main-menu-tab span {
  font-size: 13px;
  font-weight: 950;
  text-align: center;
  text-shadow: 0 2px 4px rgba(0,0,0,0.55);
}

.main-menu-content {
  margin-top: 10px;
  padding: 9px 12px;
  border-radius: 13px;
  background: rgba(255,255,255,0.06);
  color: rgba(234, 240, 255, 0.82);
  font-size: 13px;
  border: 1px solid rgba(255,255,255,0.10);
}

@media (max-width: 760px) {
  .main-menu-tabs {
    grid-template-columns: repeat(2, minmax(120px, 1fr));
  }

  .main-menu-tab {
    min-height: 96px;
  }
}

/* v560: main-menu clan system, replacing the temporary solo placeholder. */
#clanButton {
  display: inline-grid !important;
}

.main-clan-panel-v560 {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 340px) !important;
  gap: 16px !important;
  width: 100% !important;
  min-height: min(560px, 62vh) !important;
  color: #fff1c8 !important;
}

.main-clan-browser-v560,
.main-clan-create-v560 {
  min-width: 0 !important;
  min-height: 0 !important;
  border-radius: 16px !important;
  border: 2px solid rgba(255, 209, 111, .42) !important;
  background: linear-gradient(180deg, rgba(62, 35, 13, .86), rgba(28, 17, 9, .88)) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.12), 0 12px 26px rgba(25, 9, 0, .20) !important;
}

.main-clan-browser-v560 {
  display: grid !important;
  grid-template-rows: auto minmax(0, 1fr) !important;
  gap: 10px !important;
  padding: 12px !important;
}

.main-clan-search-v560 {
  display: grid !important;
  gap: 6px !important;
}

.main-clan-search-v560 span,
.main-clan-create-v560 > b {
  color: #ffd76e !important;
  font: 950 18px/1.1 Arial, Helvetica, sans-serif !important;
  text-shadow: 0 2px 0 rgba(74, 29, 0, .75) !important;
}

.main-clan-search-v560 input,
.main-clan-create-v560 input {
  width: 100% !important;
  min-height: 42px !important;
  box-sizing: border-box !important;
  border-radius: 11px !important;
  border: 1px solid rgba(255, 218, 141, .28) !important;
  background: rgba(0,0,0,.22) !important;
  color: #fff6da !important;
  padding: 0 12px !important;
  font: 900 14px/1 Arial, Helvetica, sans-serif !important;
  outline: none !important;
}

.main-clan-banner-list-v560 {
  min-height: 0 !important;
  overflow: auto !important;
  display: grid !important;
  align-content: start !important;
  gap: 10px !important;
  padding-right: 4px !important;
}

.main-clan-banner-v560 {
  display: grid !important;
  grid-template-columns: 58px minmax(0, 1fr) auto !important;
  gap: 12px !important;
  align-items: center !important;
  min-height: 86px !important;
  padding: 12px !important;
  border-radius: 15px !important;
  border: 1px solid rgba(255, 218, 141, .22) !important;
  background:
    radial-gradient(circle at 8% 18%, rgba(255, 216, 105, .18), transparent 35%),
    rgba(51, 30, 14, .78) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.10) !important;
}

.main-clan-banner-v560.current {
  border-color: rgba(101, 255, 158, .72) !important;
  background:
    radial-gradient(circle at 8% 18%, rgba(101, 255, 158, .18), transparent 35%),
    rgba(44, 52, 22, .80) !important;
}

.main-clan-banner-badge-v560 {
  width: 58px !important;
  height: 58px !important;
  display: grid !important;
  place-items: center !important;
  border-radius: 16px !important;
  color: #341700 !important;
  background: linear-gradient(180deg, #ffe08e, #e59625) !important;
  box-shadow: 0 4px 0 rgba(67, 29, 0, .72), inset 0 1px 0 rgba(255,255,255,.38) !important;
  font: 950 20px/1 Arial, Helvetica, sans-serif !important;
}

.main-clan-banner-info-v560 {
  min-width: 0 !important;
  display: grid !important;
  gap: 4px !important;
}

.main-clan-banner-info-v560 b {
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
  color: #ffe69d !important;
  font: 950 17px/1.12 Arial, Helvetica, sans-serif !important;
}

.main-clan-banner-info-v560 span,
.main-clan-banner-info-v560 em,
.main-clan-create-v560 > span,
.main-clan-create-status-v560 {
  color: rgba(255, 239, 199, .84) !important;
  font: 800 13px/1.35 Arial, Helvetica, sans-serif !important;
}

.main-clan-banner-info-v560 em,
.main-clan-create-status-v560 {
  font-style: normal !important;
  color: #ffd984 !important;
}

.main-clan-banner-actions-v560 {
  display: grid !important;
  gap: 7px !important;
  min-width: 112px !important;
}

.main-clan-action-v560,
.main-clan-create-button-v560 {
  min-height: 40px !important;
  border-radius: 11px !important;
  font: 950 13px/1 Arial, Helvetica, sans-serif !important;
}

.main-clan-empty-v560 {
  display: grid !important;
  place-items: center !important;
  min-height: 160px !important;
  padding: 18px !important;
  text-align: center !important;
  border-radius: 14px !important;
  border: 1px dashed rgba(255, 218, 141, .32) !important;
  color: #f8dfae !important;
  font: 850 14px/1.4 Arial, Helvetica, sans-serif !important;
}

.main-clan-create-v560 {
  align-self: start !important;
  position: sticky !important;
  top: 0 !important;
  display: grid !important;
  gap: 10px !important;
  padding: 14px !important;
}

.ahardice-clan-upgrade-v560 {
  min-height: 36px !important;
  align-self: center !important;
  border-radius: 10px !important;
  font: 950 12px/1 Arial, Helvetica, sans-serif !important;
}

@media (max-width: 860px) {
  .main-clan-panel-v560 {
    grid-template-columns: 1fr !important;
  }

  .main-clan-create-v560 {
    position: static !important;
  }

  .main-clan-banner-v560 {
    grid-template-columns: 48px minmax(0, 1fr) !important;
  }

  .main-clan-banner-badge-v560 {
    width: 48px !important;
    height: 48px !important;
    font-size: 17px !important;
  }

  .main-clan-banner-actions-v560 {
    grid-column: 1 / -1 !important;
    grid-template-columns: repeat(auto-fit, minmax(120px, 1fr)) !important;
  }
}


/* v79 Ahardice-like main menu */
.ahardice-main-menu.login-overlay {
  align-items: center;
  justify-content: center;
  background:
    linear-gradient(90deg, rgba(222, 191, 96, 0.48) 0 23%, transparent 23%),
    radial-gradient(circle at 52% 48%, rgba(113, 165, 58, 0.48), rgba(30, 55, 28, 0.72));
  backdrop-filter: blur(1.5px);
}

.ahardice-main-menu .main-account-bar {
  position: fixed;
  left: 0;
  top: 0;
  width: 470px;
  min-height: 118px;
  padding: 16px 20px;
  box-sizing: border-box;
  display: flex;
  align-items: center;
  gap: 18px;
  background: linear-gradient(180deg, rgba(18, 132, 172, 0.97), rgba(9, 104, 145, 0.97));
  border-right: 4px solid rgba(0,0,0,0.35);
  border-bottom: 4px solid rgba(0,0,0,0.35);
  border-bottom-right-radius: 18px;
  box-shadow: 0 6px 0 rgba(0,0,0,0.22), 0 20px 45px rgba(0,0,0,0.25);
  z-index: 56;
}

.main-account-shield {
  width: 84px;
  height: 84px;
  border-radius: 20px;
  display: grid;
  place-items: center;
}

.main-account-shield img {
  width: 78px;
  height: 78px;
  object-fit: contain;
  filter: drop-shadow(0 4px 4px rgba(0,0,0,0.35));
}

.main-account-info {
  flex: 1;
  text-align: left;
}

.ahardice-main-menu .menu-account {
  margin: 0 0 8px;
  color: #eaf8ff;
  font-weight: 900;
  text-shadow: 0 2px 3px rgba(0,0,0,0.32);
}

.ahardice-main-menu .menu-buttons {
  display: flex;
  gap: 8px;
  margin: 0;
}

.main-login-button,
.ahardice-main-menu .secondary-login,
.ahardice-main-menu .account-ready {
  min-width: 130px;
  width: auto;
  margin: 0;
  padding: 12px 22px;
  border-radius: 8px;
  font-size: 21px;
  color: white;
  text-shadow: 0 2px 3px rgba(0,0,0,0.42);
  background: linear-gradient(180deg, #92d0ec, #4b99c0);
  border: 1px solid rgba(255,255,255,0.45);
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.45), 0 4px 0 rgba(0,0,0,0.22);
}

.main-settings-button {
  position: fixed;
  right: 24px;
  top: 22px;
  width: 76px;
  height: 76px;
  border-radius: 50%;
  z-index: 57;
  font-size: 46px;
  line-height: 1;
  display: grid;
  place-items: center;
  background: rgba(255,255,255,0.92);
  color: #132318;
  border: 3px solid rgba(0,0,0,0.26);
  box-shadow: 0 6px 0 rgba(0,0,0,0.24), 0 14px 30px rgba(0,0,0,0.25);
}

.main-settings-popup {
  position: fixed;
  right: 24px;
  top: 112px;
  width: 270px;
  padding: 14px;
  border-radius: 14px;
  z-index: 58;
  background: rgba(8, 12, 20, 0.92);
  border: 1px solid rgba(255,255,255,0.14);
  color: #eaf0ff;
  box-shadow: 0 18px 50px rgba(0,0,0,0.42);
}

.main-menu-left-tabs {
  position: fixed;
  left: 0;
  top: 150px;
  z-index: 55;
  width: 162px;
  display: grid;
  grid-template-columns: 1fr;
  gap: 18px;
  margin: 0;
}

.main-menu-left-tabs .main-menu-tab {
  width: 160px;
  min-height: 104px;
  padding: 9px 8px;
  border-radius: 0 8px 8px 0;
  border: 3px solid rgba(0,0,0,0.72);
  border-left: none;
  background: rgba(58, 56, 30, 0.94);
  color: #fff;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.12), 0 5px 0 rgba(0,0,0,0.26);
  gap: 5px;
}

.main-menu-left-tabs .main-menu-tab.active,
.main-menu-left-tabs .main-menu-tab:hover {
  background: linear-gradient(180deg, #1197c6, #0874a3);
  border-color: rgba(0,0,0,0.76);
  transform: none;
}

.main-menu-left-tabs .main-menu-tab img {
  width: 54px;
  height: 54px;
}

.main-menu-left-tabs .main-menu-tab span {
  font-size: 22px;
  font-weight: 950;
}

.ahardice-center-card.login-card {
  position: fixed;
  left: 50%;
  top: 51%;
  transform: translate(-50%, -50%);
  width: min(520px, calc(100vw - 420px));
  padding: 0;
  background: transparent;
  border: none;
  box-shadow: none;
  overflow: visible;
}

.ahardice-logo {
  font-size: 56px;
  color: #55ff7e;
  -webkit-text-stroke: 2px #063d1b;
  text-shadow: 0 5px 0 #042513, 0 8px 14px rgba(0,0,0,0.48);
  margin-bottom: 36px;
}

.center-play-form {
  width: 340px;
  margin: 0 auto;
  display: grid;
  gap: 13px;
  text-align: left;
}

.main-field-label {
  color: #fff;
  font-size: 15px;
  font-weight: 950;
  text-shadow: 0 2px 4px rgba(0,0,0,0.55);
}

.ahardice-main-menu .login-card input,
.main-server-select {
  width: 100%;
  height: 44px;
  margin: 0;
  padding: 0 12px;
  box-sizing: border-box;
  border-radius: 8px;
  border: 3px solid rgba(0,0,0,0.72);
  background: rgba(31, 55, 20, 0.94);
  color: #eaf0ff;
  font-size: 18px;
  font-weight: 900;
  text-align: left;
  outline: none;
  box-shadow: inset 0 2px 0 rgba(255,255,255,0.08);
}

.main-server-select {
  appearance: auto;
}

.main-play-button.play-button {
  height: 74px;
  margin-top: 10px;
  border-radius: 12px;
  font-size: 32px;
  color: #fff;
  background: linear-gradient(180deg, #80d446, #4ea928);
  border: 3px solid rgba(0,0,0,0.45);
  text-shadow: 0 3px 3px rgba(0,0,0,0.38);
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.25), 0 6px 0 rgba(0,0,0,0.28);
}

.main-side-panel {
  position: fixed;
  left: 182px;
  top: 150px;
  width: 430px;
  max-height: calc(100vh - 190px);
  overflow-y: auto;
  padding: 16px;
  z-index: 56;
  border-radius: 16px;
  background: rgba(8, 12, 20, 0.88);
  border: 1px solid rgba(255,255,255,0.14);
  box-shadow: 0 18px 60px rgba(0,0,0,0.42);
  color: #eaf0ff;
}

.main-menu-panel-body {
  color: rgba(234,240,255,0.82);
  font-size: 14px;
  line-height: 1.45;
  text-align: left;
}

.main-cosmetics-content .skin-choices {
  max-height: 420px;
  grid-template-columns: repeat(2, minmax(150px, 1fr));
}

.ahardice-main-menu .login-subtitle,
.ahardice-main-menu .login-note {
  text-align: center;
  color: #fff;
  text-shadow: 0 2px 4px rgba(0,0,0,0.55);
}

@media (max-width: 900px) {
  .ahardice-main-menu .main-account-bar {
    width: 360px;
  }

  .main-menu-left-tabs {
    top: 130px;
    width: 126px;
  }

  .main-menu-left-tabs .main-menu-tab {
    width: 124px;
    min-height: 82px;
  }

  .main-menu-left-tabs .main-menu-tab span {
    font-size: 15px;
  }

  .ahardice-center-card.login-card {
    width: min(420px, calc(100vw - 180px));
    left: 60%;
  }
}


/* v80 Ahardice transparent main menu */
.ahardice-main-menu.login-overlay {
  background: transparent !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

/* Do not darken/hide the live game view behind the main menu. */
body.menu-open #hud,
body.menu-open #hotbar,
body.menu-open #inventory,
body.menu-open #viewportControls,
body.menu-open #actionDock,
body.menu-open #minimap,
body.menu-open #statsPanel {
  opacity: 1 !important;
}

/* Keep menu UI readable without a full-screen background. */
.ahardice-center-card.login-card {
  pointer-events: auto;
}

.main-menu-left-tabs,
.main-account-bar,
.main-settings-button,
.main-settings-popup,
.main-side-panel {
  pointer-events: auto;
}


/* v81 hide in-game UI while main menu is open */
/* Canvas stays visible, but gameplay UI appears only after the player enters the game. */
body.menu-open #hud,
body.menu-open #hotbar,
body.menu-open #inventory,
body.menu-open #chestPanel,
body.menu-open #craftPanel,
body.menu-open #shopPanel,
body.menu-open #buildPanel,
body.menu-open #settingsPanel,
body.menu-open #viewportControls,
body.menu-open #actionDock,
body.menu-open #minimap,
body.menu-open #statsPanel,
body.menu-open #fullMapOverlay,
body.menu-open #chatBox,
body.menu-open #levelHud,
body.menu-open #pickupHint,
body.menu-open #itemToastBox,
body.menu-open #playerOverlay,
body.menu-open #clanPanel,
body.menu-open #tradePanel,
body.menu-open #adminPanel {
  display: none !important;
  opacity: 0 !important;
  pointer-events: none !important;
}


/* v82 no menu UI flash before JS */
/* These elements are hidden by default, before JavaScript has time to add body.menu-open. */
body:not(.game-started) #hud,
body:not(.game-started) #hotbar,
body:not(.game-started) #inventory,
body:not(.game-started) #chestPanel,
body:not(.game-started) #craftPanel,
body:not(.game-started) #shopPanel,
body:not(.game-started) #buildPanel,
body:not(.game-started) #settingsPanel,
body:not(.game-started) #viewportControls,
body:not(.game-started) #actionDock,
body:not(.game-started) #minimap,
body:not(.game-started) #statsPanel,
body:not(.game-started) #fullMapOverlay,
body:not(.game-started) #chatBox,
body:not(.game-started) #levelHud,
body:not(.game-started) #pickupHint,
body:not(.game-started) #itemToastBox,
body:not(.game-started) #playerOverlay,
body:not(.game-started) #clanPanel,
body:not(.game-started) #tradePanel,
body:not(.game-started) #adminPanel {
  display: none !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

/* Canvas must stay visible in the main menu. */
body:not(.game-started) #game {
  display: block !important;
}


/* v83 hide legacy debug HUD */
/* РЎС‚Р°СЂС‹Р№ Р±Р»РѕРє РІ Р»РµРІРѕРј РІРµСЂС…РЅРµРј СѓРіР»Сѓ РЅСѓР¶РµРЅ С‚РѕР»СЊРєРѕ РґР»СЏ РІРЅСѓС‚СЂРµРЅРЅРёС… JS-СЃСЃС‹Р»РѕРє.
   Р’ РёРЅС‚РµСЂС„РµР№СЃРµ РёРіСЂРѕРєР° РѕРЅ Р±РѕР»СЊС€Рµ РЅРµ РїРѕРєР°Р·С‹РІР°РµС‚СЃСЏ: РЅРµС‚ legacy logout/connect. */
#hud {
  display: none !important;
  opacity: 0 !important;
  pointer-events: none !important;
}


/* v84 Ahardice-like minimap and full map */

/* Mini map: left side, no title/P, compact image-like frame */
.minimap {
  left: 18px !important;
  right: auto !important;
  top: 18px !important;
  width: 245px !important;
  padding: 8px !important;
  color: #eaf0ff;
  background: linear-gradient(180deg, rgba(36, 56, 32, 0.96), rgba(21, 31, 20, 0.96)) !important;
  border: 4px solid rgba(11, 26, 18, 0.92) !important;
  border-radius: 8px !important;
  box-shadow:
    0 5px 0 rgba(0,0,0,0.30),
    0 16px 34px rgba(0,0,0,0.32),
    inset 0 1px 0 rgba(255,255,255,0.10) !important;
  backdrop-filter: none !important;
  user-select: none;
  z-index: 18;
}

.minimap-title {
  display: none !important;
}

#minimapCanvas {
  width: 229px !important;
  height: 229px !important;
  display: block;
  margin: 0 !important;
  border-radius: 2px !important;
  border: 3px solid rgba(6, 16, 10, 0.95) !important;
  background: #070a08 !important;
  box-shadow:
    inset 0 0 0 2px rgba(74, 132, 77, 0.28),
    inset 0 0 18px rgba(0,0,0,0.44) !important;
}

/* Full map: big blue frame like Ahardice.io map window */
.full-map-overlay {
  background: transparent !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  z-index: 60;
}

.full-map-card {
  position: relative !important;
  width: min(720px, calc(100vw - 58px)) !important;
  height: min(720px, calc(100vh - 58px)) !important;
  padding: 10px !important;
  overflow: visible !important;
  background: linear-gradient(180deg, #1393bd 0%, #0a6e98 100%) !important;
  border: 4px solid #064b69 !important;
  border-radius: 10px !important;
  box-shadow:
    0 6px 0 rgba(0,0,0,0.30),
    0 22px 70px rgba(0,0,0,0.42),
    inset 0 2px 0 rgba(255,255,255,0.20) !important;
  color: #eaf0ff;
}

/* Hide old title "РљР°СЂС‚Р° P" */
.full-map-card > .inventory-title {
  display: none !important;
}

#fullMapCanvas {
  width: 100% !important;
  height: 100% !important;
  display: block;
  margin: 0 !important;
  border-radius: 4px !important;
  border: 4px solid rgba(5, 22, 15, 0.95) !important;
  background: #050705 !important;
  box-sizing: border-box;
  box-shadow:
    inset 0 0 0 2px rgba(77, 151, 91, 0.18),
    inset 0 0 24px rgba(0,0,0,0.52) !important;
}

/* Full map close: blue square in the top-right corner */
#fullMapClose {
  position: absolute !important;
  right: -54px !important;
  top: -4px !important;
  width: 54px !important;
  height: 54px !important;
  min-width: 0 !important;
  padding: 0 !important;
  border-radius: 0 8px 8px 0 !important;
  border: 4px solid #064b69 !important;
  border-left: none !important;
  background: linear-gradient(180deg, #54acd3, #2785b6) !important;
  color: transparent !important;
  font-size: 0 !important;
  line-height: 1 !important;
  box-shadow:
    0 5px 0 rgba(0,0,0,0.30),
    inset 0 1px 0 rgba(255,255,255,0.22) !important;
}

#fullMapClose::before {
  content: "X";
  color: #dff7ff;
  font-size: 48px;
  font-weight: 950;
  line-height: 44px;
  text-shadow: 0 2px 0 rgba(0,0,0,0.25);
}

#fullMapClose:hover {
  filter: brightness(1.08);
}

@media (max-width: 900px) {
  .minimap {
    left: 12px !important;
    top: 12px !important;
    width: 180px !important;
    padding: 6px !important;
  }

  #minimapCanvas {
    width: 166px !important;
    height: 166px !important;
  }

  .full-map-card {
    width: min(620px, calc(100vw - 70px)) !important;
    height: min(620px, calc(100vh - 70px)) !important;
  }

  #fullMapClose {
    right: -48px !important;
    width: 48px !important;
    height: 48px !important;
  }

  #fullMapClose::before {
    font-size: 42px;
    line-height: 38px;
  }
}


/* v86 safe client leaderboard */
.leaderboard-panel {
  position: fixed;
  right: 18px;
  top: 18px;
  width: 245px;
  padding: 10px;
  z-index: 18;
  color: #fff;
  user-select: none;
  background: linear-gradient(180deg, rgba(38, 58, 33, 0.94), rgba(17, 27, 17, 0.94));
  border: 4px solid rgba(10, 24, 16, 0.94);
  border-radius: 8px;
  box-shadow:
    0 5px 0 rgba(0,0,0,0.30),
    0 16px 34px rgba(0,0,0,0.32),
    inset 0 1px 0 rgba(255,255,255,0.10);
}

.leaderboard-title {
  margin-bottom: 8px;
  color: #ffd36a;
  font-size: 16px;
  font-weight: 950;
  text-shadow: 0 2px 0 rgba(0,0,0,0.55);
}

.leaderboard-list {
  display: grid;
  gap: 5px;
}

.leaderboard-row {
  display: grid;
  grid-template-columns: 28px 1fr;
  gap: 8px;
  align-items: center;
  min-height: 36px;
  padding: 5px 7px;
  border-radius: 6px;
  background: rgba(4, 8, 6, 0.54);
  border: 1px solid rgba(100, 205, 95, 0.20);
}

.leaderboard-rank {
  width: 24px;
  height: 24px;
  display: grid;
  place-items: center;
  border-radius: 6px;
  background: rgba(255, 211, 106, 0.18);
  color: #ffe49a;
  font-weight: 950;
  font-size: 12px;
}

.leaderboard-main {
  min-width: 0;
}

.leaderboard-name {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: #eaffdc;
  font-size: 13px;
  font-weight: 950;
  text-shadow: 0 1px 0 rgba(0,0,0,0.55);
}

.leaderboard-meta {
  margin-top: 2px;
  color: rgba(226, 245, 210, 0.78);
  font-size: 11px;
  font-weight: 800;
}

.leaderboard-empty {
  padding: 9px;
  border-radius: 6px;
  color: rgba(226, 245, 210, 0.72);
  background: rgba(4, 8, 6, 0.44);
  font-size: 12px;
}

body.menu-open #leaderboardPanel,
body:not(.game-started) #leaderboardPanel {
  display: none !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

@media (max-width: 900px) {
  .leaderboard-panel {
    right: 12px;
    top: 12px;
    width: 210px;
  }
}


/* v87 leaderboard points */
.leaderboard-meta {
  color: #ffe49a !important;
  font-size: 12px !important;
}


/* v88 session leaderboard */
.leaderboard-title::after {
  content: " Р·Р° СЃРµСЃСЃРёСЋ";
  color: rgba(255, 228, 154, 0.72);
  font-size: 11px;
  font-weight: 800;
}


#accountReady {
  display: none !important;
}

#menuAccountName:empty {
  display: none !important;
}


/* v94 compact leaderboard */
.leaderboard-panel {
  padding: 7px !important;
}

.leaderboard-title {
  display: none !important;
}

.leaderboard-title::after {
  content: none !important;
  display: none !important;
}

.leaderboard-list {
  gap: 4px !important;
}

.leaderboard-row {
  min-height: 27px !important;
  padding: 3px 6px !important;
  grid-template-columns: 22px 1fr !important;
  gap: 6px !important;
}

.leaderboard-rank {
  width: 20px !important;
  height: 20px !important;
  border-radius: 5px !important;
  font-size: 11px !important;
}

.leaderboard-name {
  font-size: 12px !important;
}

.leaderboard-meta {
  margin-top: 1px !important;
  font-size: 10.5px !important;
}

.leaderboard-empty {
  padding: 6px !important;
  font-size: 11px !important;
}


/* v95 equipment slots */
.equipment-slots {
  position: fixed;
  left: calc(50% - 455px);
  bottom: 22px;
  display: grid;
  grid-template-columns: repeat(2, 58px);
  gap: 7px;
  padding: 9px;
  background: rgba(8, 12, 20, 0.58);
  border: 1px solid rgba(255,255,255,0.15);
  border-radius: 16px;
  backdrop-filter: blur(8px);
  user-select: none;
  z-index: 20;
}

.equipment-slot {
  position: relative;
}

.equipment-slot::after {
  position: absolute;
  right: 5px;
  bottom: 4px;
  font-size: 10px;
  line-height: 1;
  opacity: 0.72;
  text-shadow: 0 1px 2px black;
  pointer-events: none;
}

.equipment-hat::after {
  content: "hat";
}

.equipment-shield::after {
  content: "shield";
}

body:not(.game-started) #equipmentSlots,
body.menu-open #equipmentSlots {
  display: none !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

@media (max-width: 980px) {
  .equipment-slots {
    left: 14px;
    bottom: 98px;
  }
}


/* v96 equipment folders */
.equipment-slot .slot-hotkey {
  display: none !important;
}

.equipment-hat::after,
.equipment-shield::after {
  content: "" !important;
  display: none !important;
}


/* v60: heavier left dock + minimap polish + in-game logs */
.action-dock {
  left: 16px;
  bottom: 20px;
  gap: 10px;
  padding: 12px 10px;
  border-radius: 22px;
  background: linear-gradient(180deg, rgba(16, 23, 34, 0.94), rgba(7, 11, 18, 0.88));
  border: 1px solid rgba(0, 0, 0, 0.72);
  box-shadow: 0 18px 40px rgba(0,0,0,0.42), inset 0 1px 0 rgba(255,255,255,0.10), inset 0 -1px 0 rgba(0,0,0,0.42);
  backdrop-filter: blur(10px);
}

.action-dock .dock-button {
  width: 56px;
  height: 56px;
  padding: 8px;
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(53, 68, 90, 0.98), rgba(21, 28, 40, 0.98));
  border: 1px solid rgba(0,0,0,0.72);
  box-shadow: 0 8px 18px rgba(0,0,0,0.30), inset 0 1px 0 rgba(255,255,255,0.16), inset 0 -2px 0 rgba(0,0,0,0.35);
  transition: transform 120ms ease, box-shadow 120ms ease, filter 120ms ease, background 120ms ease;
}

.action-dock .dock-button img {
  width: 100%;
  height: 100%;
  filter: drop-shadow(0 2px 4px rgba(0,0,0,0.36));
}

.action-dock .dock-button span {
  right: 4px;
  bottom: 4px;
  min-width: 18px;
  padding: 1px 5px;
  border-radius: 999px;
  background: rgba(0,0,0,0.76);
  border: 1px solid rgba(255,255,255,0.12);
  color: #fff4b0;
  font-size: 10px;
  box-shadow: 0 2px 6px rgba(0,0,0,0.26);
}

.action-dock .dock-button:hover,
.action-dock .dock-button.active {
  transform: translateY(-2px) scale(1.04);
  background: linear-gradient(180deg, rgba(92, 68, 28, 1), rgba(50, 34, 14, 1));
  border-color: rgba(255, 211, 106, 0.82);
  box-shadow: 0 12px 24px rgba(0,0,0,0.38), 0 0 0 1px rgba(255, 211, 106, 0.22), inset 0 1px 0 rgba(255,255,255,0.15), inset 0 -2px 0 rgba(0,0,0,0.28);
}

.action-dock .dock-button.text-dock {
  font-size: 28px;
  font-weight: 900;
}

.minimap {
  right: 16px;
  top: 16px;
  width: 196px;
  padding: 10px;
  border-radius: 18px;
  background: linear-gradient(180deg, rgba(18, 25, 35, 0.95), rgba(8, 12, 20, 0.88));
  border: 1px solid rgba(0,0,0,0.74);
  box-shadow: 0 18px 42px rgba(0,0,0,0.36), inset 0 1px 0 rgba(255,255,255,0.08);
}

#minimapCanvas {
  width: 174px;
  height: 174px;
  border-radius: 13px;
  border: 1px solid rgba(0,0,0,0.82);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,0.08);
  background: rgba(0,0,0,0.14);
}

.chat-box {
  left: 16px;
  bottom: 98px;
  width: 390px;
  max-width: calc(100vw - 32px);
  pointer-events: auto;
  user-select: none;
}

.chat-box-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 8px;
  padding: 8px 10px;
  border-radius: 12px;
  background: linear-gradient(180deg, rgba(16, 23, 34, 0.94), rgba(8, 12, 20, 0.90));
  border: 1px solid rgba(0,0,0,0.72);
  color: #f1f5ff;
  font-size: 13px;
  font-weight: 900;
  box-shadow: 0 10px 24px rgba(0,0,0,0.22), inset 0 1px 0 rgba(255,255,255,0.08);
}

.chat-box-hint {
  color: #a9bdd8;
  font-size: 11px;
  font-weight: 700;
}

.chat-messages {
  max-height: 230px;
  overflow-y: auto;
  padding: 10px;
  border-radius: 14px;
  background: rgba(8, 12, 20, 0.72);
  border: 1px solid rgba(0,0,0,0.72);
  box-shadow: 0 14px 28px rgba(0,0,0,0.22), inset 0 1px 0 rgba(255,255,255,0.06);
  backdrop-filter: blur(8px);
  scrollbar-width: thin;
}

.chat-messages::-webkit-scrollbar { width: 7px; }
.chat-messages::-webkit-scrollbar-thumb { background: rgba(255,255,255,0.18); border-radius: 999px; }
.chat-messages::-webkit-scrollbar-track { background: transparent; }

.chat-line {
  width: 100%;
  box-sizing: border-box;
  padding: 8px 10px;
  border-radius: 12px;
  background: rgba(20, 27, 38, 0.72);
  border: 1px solid rgba(255,255,255,0.08);
}

.chat-meta {
  display: flex;
  align-items: center;
  gap: 7px;
  margin-bottom: 4px;
  font-size: 11px;
  font-weight: 800;
}

.chat-time {
  color: #90a4bf;
  letter-spacing: 0.02em;
}

.chat-text {
  color: #eff5ff;
  font-size: 13px;
  line-height: 1.3;
  word-break: break-word;
}

.chat-line.log-admin {
  background: rgba(58, 41, 15, 0.82);
  border-color: rgba(255, 211, 106, 0.24);
}
.chat-line.log-admin .chat-name { color: #ffd36a; }

.chat-line.log-system {
  background: rgba(15, 42, 58, 0.78);
  border-color: rgba(88, 215, 255, 0.18);
}
.chat-line.log-system .chat-name { color: #58d7ff; }

.chat-line.log-clan {
  background: rgba(29, 44, 23, 0.82);
  border-color: rgba(145, 235, 110, 0.20);
}
.chat-line.log-clan .chat-name { color: #9aef71; }

.chat-line.log-player .chat-name { color: #d8e6ff; }

.chat-input {
  margin-top: 8px;
  border-radius: 12px;
  border: 1px solid rgba(0,0,0,0.72);
  background: rgba(12, 17, 25, 0.96);
  box-shadow: 0 10px 28px rgba(0,0,0,0.28), inset 0 1px 0 rgba(255,255,255,0.06);
}


/* v61: dock restyle like reference + no minimap outline + player chat bubbles */
.action-dock {
  left: 14px;
  top: 50%;
  bottom: auto;
  transform: translateY(-50%);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  padding: 0 2px 0 0;
  background: transparent;
  border: 0;
  box-shadow: none;
  backdrop-filter: none;
  border-radius: 0;
  max-height: calc(100vh - 130px);
  overflow-y: auto;
  overflow-x: hidden;
  scrollbar-width: thin;
  scrollbar-color: rgba(255,255,255,0.90) rgba(17,24,35,0.72);
  z-index: 32;
}

.action-dock::-webkit-scrollbar { width: 8px; }
.action-dock::-webkit-scrollbar-track { background: rgba(12,18,27,0.72); border-radius: 999px; }
.action-dock::-webkit-scrollbar-thumb { background: rgba(255,255,255,0.90); border-radius: 999px; }

.action-dock .dock-button {
  position: relative;
  width: 56px;
  height: 56px;
  padding: 6px;
  border-radius: 12px;
  background: linear-gradient(180deg, #2e4666 0%, #223550 46%, #162435 100%);
  border: 2px solid #0c1624;
  box-shadow: 0 5px 0 #0a111c, 0 10px 16px rgba(0,0,0,0.28), inset 0 1px 0 rgba(255,255,255,0.18);
  overflow: visible;
}

.action-dock .dock-button::before {
  content: '';
  position: absolute;
  inset: 2px;
  border-radius: 9px;
  border: 1px solid rgba(255,255,255,0.05);
  pointer-events: none;
}

.action-dock .dock-button img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  filter: drop-shadow(0 2px 1px rgba(0,0,0,0.28));
}

.action-dock .dock-button span {
  right: 5px;
  bottom: 2px;
  min-width: 0;
  padding: 0;
  background: transparent;
  border: 0;
  box-shadow: none;
  color: #ffffff;
  font-size: 23px;
  line-height: 1;
  font-weight: 900;
  text-shadow: 0 2px 0 rgba(0,0,0,0.62), 0 0 6px rgba(0,0,0,0.24);
}

.action-dock .dock-button:hover,
.action-dock .dock-button.active {
  transform: translateY(-1px);
  background: linear-gradient(180deg, #38557c 0%, #29415f 46%, #1d2f47 100%);
  border-color: #101b2c;
  box-shadow: 0 6px 0 #0a111c, 0 12px 18px rgba(0,0,0,0.30), inset 0 1px 0 rgba(255,255,255,0.18);
}

#craftButton::after,
#buildButton::after {
  content: '!';
  position: absolute;
  top: -6px;
  right: -5px;
  color: #ffb400;
  font-size: 24px;
  font-weight: 900;
  line-height: 1;
  text-shadow: 0 2px 0 rgba(110,55,0,0.72), 0 0 3px rgba(0,0,0,0.35);
}

.minimap {
  right: 18px;
  top: 18px;
}

#minimapCanvas {
  border: none !important;
  box-shadow: none !important;
  outline: none !important;
  background: transparent;
}

.chat-line.log-player {
  display: none !important;
}

.player-nameplate {
  width: 150px;
}

.player-chat-bubble {
  display: inline-block;
  max-width: 180px;
  margin: 0 auto 5px;
  padding: 6px 10px;
  border-radius: 12px;
  background: rgba(255,255,255,0.96);
  color: #222a35;
  font-size: 12px;
  font-weight: 800;
  line-height: 1.25;
  text-align: center;
  word-break: break-word;
  box-shadow: 0 5px 14px rgba(0,0,0,0.20);
  border: 1px solid rgba(0,0,0,0.08);
}

.player-chat-bubble::after {
  content: '';
  display: block;
  width: 10px;
  height: 10px;
  margin: 4px auto -10px;
  background: rgba(255,255,255,0.96);
  transform: rotate(45deg);
  border-right: 1px solid rgba(0,0,0,0.06);
  border-bottom: 1px solid rgba(0,0,0,0.06);
}

@media (max-width: 720px) {
  .action-dock {
    top: auto;
    bottom: 86px;
    transform: none;
    flex-direction: row;
    gap: 8px;
    max-width: calc(100vw - 12px);
  }
  .action-dock .dock-button {
    width: 52px;
    height: 52px;
  }
  .action-dock .dock-button span {
    font-size: 20px;
  }
}


/* v62: hide bottom-left logs, input only on chat open, dynamic dock alerts, admin gear swap */
.chat-box {
  display: none !important;
}

.chat-box.chat-open {
  display: block !important;
  left: 16px;
  bottom: 98px;
  width: 360px;
  max-width: calc(100vw - 32px);
  pointer-events: none;
  z-index: 40;
}

.chat-box.chat-open .chat-box-head,
.chat-box.chat-open .chat-messages {
  display: none !important;
}

.chat-box.chat-open .chat-input {
  display: block !important;
  pointer-events: auto;
}

.action-dock .dock-button.has-alert::after {
  content: '!';
  position: absolute;
  top: -6px;
  right: -5px;
  color: #ffb400;
  font-size: 24px;
  font-weight: 900;
  line-height: 1;
  text-shadow: 0 2px 0 rgba(110,55,0,0.72), 0 0 3px rgba(0,0,0,0.35);
}

#craftButton::after,
#buildButton::after {
  content: none !important;
}

#settingsButton.hidden,
#adminButton.hidden {
  display: none !important;
}


/* v63: admin gear visibility + lower left dock + blue dock buttons */
.action-dock {
  top: 318px !important;
  bottom: auto !important;
  transform: none !important;
}

.action-dock .dock-button {
  background: linear-gradient(180deg, #7cc0ff 0%, #5ea8f2 42%, #346fc9 100%) !important;
  border: 2px solid #17386d !important;
  box-shadow: 0 5px 0 #102546, 0 10px 16px rgba(0,0,0,0.26), inset 0 1px 0 rgba(255,255,255,0.28) !important;
}

.action-dock .dock-button:hover,
.action-dock .dock-button.active {
  background: linear-gradient(180deg, #90ccff 0%, #6db5fa 42%, #427bd1 100%) !important;
  border-color: #1a427e !important;
  box-shadow: 0 6px 0 #102546, 0 12px 18px rgba(0,0,0,0.28), inset 0 1px 0 rgba(255,255,255,0.32) !important;
}

.action-dock .dock-button span {
  color: #ffffff !important;
  text-shadow: 0 2px 0 rgba(0,0,0,0.56), 0 0 6px rgba(0,0,0,0.22) !important;
}

@media (max-width: 980px) {
  .action-dock {
    top: 286px !important;
    transform: none !important;
  }
}

@media (max-width: 720px) {
  .action-dock {
    top: auto !important;
    bottom: 86px !important;
    transform: none !important;
  }
}


/* v64: bubble stacking fix + minimap outer frame removed + darker blue left dock */
.player-nameplate {
  width: 170px !important;
}

.player-chat-bubble {
  display: block !important;
  width: fit-content;
  max-width: 190px;
  margin: 0 auto 8px !important;
}

.player-name {
  display: flex !important;
  clear: both;
}

.minimap {
  width: auto !important;
  padding: 0 !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  backdrop-filter: none !important;
}

#minimapCanvas {
  width: 174px;
  height: 174px;
  border: none !important;
  box-shadow: none !important;
  outline: none !important;
}

.action-dock .dock-button {
  background: linear-gradient(180deg, #5f9ee7 0%, #4a88d7 44%, #2f60b3 100%) !important;
  border: 2px solid #16386e !important;
  box-shadow: 0 5px 0 #11294f, 0 10px 16px rgba(0,0,0,0.26), inset 0 1px 0 rgba(255,255,255,0.22) !important;
}

.action-dock .dock-button:hover,
.action-dock .dock-button.active {
  background: linear-gradient(180deg, #70acef 0%, #5795e0 44%, #3669be 100%) !important;
  border-color: #1a4482 !important;
}

.action-dock .dock-button span {
  font-size: 17px !important;
}

@media (max-width: 720px) {
  .action-dock .dock-button span {
    font-size: 15px !important;
  }
}


/* v65: miners, PvP/death window */
.miner-counter {
  position: fixed;
  transform: translate(-50%, -50%);
  z-index: 18;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  min-width: 72px;
  padding: 5px 8px;
  border-radius: 10px;
  background: rgba(255,255,255,0.92);
  border: 1px solid rgba(0,0,0,0.18);
  color: #1e2630;
  font-size: 12px;
  font-weight: 950;
  box-shadow: 0 5px 14px rgba(0,0,0,0.22);
  pointer-events: none;
  user-select: none;
}

.miner-counter-icon {
  width: 20px;
  height: 20px;
  flex: 0 0 auto;
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
}

.player-nameplate.dead {
  opacity: 0.72;
  filter: grayscale(0.7) drop-shadow(0 2px 3px rgba(0,0,0,0.72));
}

.death-overlay {
  position: fixed;
  inset: 0;
  z-index: 90;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(0,0,0,0.68);
  backdrop-filter: blur(3px);
  color: #fff;
  pointer-events: auto;
  user-select: none;
}

.death-overlay.hidden {
  display: none;
}

.death-card {
  width: min(420px, calc(100vw - 36px));
  padding: 28px 26px;
  border-radius: 22px;
  background: linear-gradient(180deg, rgba(17, 22, 31, 0.96), rgba(8, 11, 18, 0.96));
  border: 1px solid rgba(255,255,255,0.12);
  box-shadow: 0 30px 90px rgba(0,0,0,0.55), inset 0 1px 0 rgba(255,255,255,0.08);
  text-align: center;
}

.death-title {
  font-size: 36px;
  font-weight: 950;
  color: #ff5d5d;
  text-shadow: 0 3px 0 rgba(0,0,0,0.42);
  margin-bottom: 10px;
}

.death-countdown {
  color: #d8e6ff;
  font-size: 15px;
  font-weight: 850;
  margin-bottom: 18px;
}

.death-respawn-button {
  width: 100%;
  padding: 14px 16px;
  border-radius: 14px;
  background: linear-gradient(180deg, #7cc0ff, #346fc9);
  border: 2px solid #17386d;
  color: #fff;
  font-size: 17px;
  font-weight: 950;
  box-shadow: 0 5px 0 #102546, 0 12px 24px rgba(0,0,0,0.24), inset 0 1px 0 rgba(255,255,255,0.28);
}

.death-respawn-button:disabled {
  opacity: 0.55;
  cursor: not-allowed;
  filter: grayscale(0.5);
}


/* v66: admin modes UI */
.admin-mode-list {
  display: flex;
  flex-direction: column;
  gap: 8px;
  min-height: 0;
  overflow-y: auto;
  padding-right: 4px;
}

.admin-mode-row {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: 10px;
  width: 100%;
  padding: 10px;
  border-radius: 13px;
  background: rgba(18, 28, 42, 0.86);
  border: 1px solid rgba(255,255,255,0.10);
  color: #eaf0ff;
  text-align: left;
}

.admin-mode-row.enabled {
  background: rgba(34, 75, 56, 0.88);
  border-color: rgba(117, 255, 155, 0.34);
}

.admin-mode-main b {
  display: block;
  font-size: 14px;
  font-weight: 950;
  color: #fff;
}

.admin-mode-main span {
  display: block;
  margin-top: 2px;
  color: #aebbd0;
  font-size: 12px;
  line-height: 1.25;
}

.admin-mode-toggle {
  min-width: 58px;
  padding: 8px 9px;
  border-radius: 10px;
  background: rgba(255,255,255,0.12);
  color: #fff4b0;
  font-size: 12px;
  font-weight: 950;
  text-align: center;
}

.admin-mode-row.enabled .admin-mode-toggle {
  background: rgba(114, 255, 136, 0.18);
  color: #94ff9b;
}

.admin-speed-controls {
  display: flex;
  align-items: center;
  gap: 8px;
}

.admin-speed-controls input {
  width: 72px;
  padding: 8px 9px;
  border-radius: 10px;
  background: rgba(0,0,0,0.24);
  border: 1px solid rgba(255,255,255,0.12);
  color: #fff;
  font-weight: 900;
}

.admin-action-message {
  margin-top: 8px;
  padding: 8px 10px;
  border-radius: 10px;
  background: rgba(255, 211, 106, 0.14);
  border: 1px solid rgba(255, 211, 106, 0.24);
  color: #ffdf84;
  font-size: 12px;
  font-weight: 900;
}


/* v117: speed presets */
.admin-speed-controls.preset-speeds {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
}

.admin-speed-controls.preset-speeds .admin-mode-toggle {
  min-width: 42px;
  border: 1px solid rgba(255,255,255,0.12);
}

.admin-speed-controls.preset-speeds .admin-mode-toggle.selected {
  background: rgba(114, 255, 136, 0.24);
  border-color: rgba(114, 255, 136, 0.42);
  color: #a9ffad;
}


/* v118 leaderboard colors */
.leaderboard-row .leaderboard-name {
  color: #ffffff !important;
}

.leaderboard-row.me .leaderboard-name {
  color: #6dff7a !important;
  text-shadow: 0 0 6px rgba(109, 255, 122, 0.22);
}

/* v119 PvP/clan/trade polish */
.player-nameplate.enemy .player-bar.hp span {
  background: linear-gradient(90deg, #ff3434, #ff8a54) !important;
}

#tradeButton.has-alert::after {
  content: '!';
  position: absolute;
  top: -6px;
  right: -5px;
  color: #ffb400;
  font-size: 24px;
  font-weight: 900;
  line-height: 1;
  text-shadow: 0 2px 0 rgba(110,55,0,0.72), 0 0 3px rgba(0,0,0,0.35);
}

.clan-panel #clanTagInput {
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-weight: 900;
}

/* v120: modern trade UI */
.trade-modern {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.trade-modern-title {
  padding: 12px 14px;
  border-radius: 14px;
  background: linear-gradient(180deg, rgba(22,34,50,.94), rgba(12,18,28,.94));
  border: 1px solid rgba(255,255,255,.1);
}
.trade-modern-title b { display:block; color:#fff; font-size:16px; font-weight:950; }
.trade-modern-title span { display:block; color:#aebbd0; font-size:12px; margin-top:3px; }
.trade-modern-offers {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}
.trade-modern-offer {
  min-height: 84px;
  padding: 10px;
  border-radius: 14px;
  background: rgba(9, 14, 22, .74);
  border: 1px solid rgba(255,255,255,.08);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.06);
}
.trade-modern-offer.confirmed {
  border-color: rgba(111,255,136,.32);
  background: rgba(20, 54, 34, .72);
}
.trade-offer-head { font-size: 12px; font-weight: 900; color: #ffd36a; margin-bottom: 8px; }
.trade-modern-inventory {
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 10px;
  border-radius: 16px;
  background: rgba(7, 11, 18, .58);
  border: 1px solid rgba(255,255,255,.08);
}
.trade-inventory-title { color:#dce7ff; font-size:12px; font-weight:950; margin-bottom:6px; }
.trade-slot-grid {
  display: grid;
  grid-template-columns: repeat(9, 42px);
  gap: 7px;
}
.trade-slot-grid.hotbar-grid { grid-template-columns: repeat(10, 42px); }
.trade-item-slot {
  width: 42px;
  height: 42px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,.1);
  background-color: rgba(21, 32, 46, .95);
  background-position: center;
  background-repeat: no-repeat;
  background-size: 72%;
  box-shadow: 0 4px 0 rgba(0,0,0,.3), inset 0 1px 0 rgba(255,255,255,.08);
  position: relative;
}
.trade-item-slot.filled:hover {
  transform: translateY(-1px);
  border-color: rgba(255,211,106,.65);
  box-shadow: 0 5px 0 rgba(0,0,0,.32), 0 0 0 2px rgba(255,211,106,.16), inset 0 1px 0 rgba(255,255,255,.1);
}
.trade-item-slot.selected { border-color: rgba(111,255,136,.75); }
.trade-slot-count {
  position:absolute;
  right:4px;
  bottom:2px;
  color:#fff;
  font-size:10px;
  font-weight:950;
  text-shadow:0 2px 2px rgba(0,0,0,.8);
}
.trade-modern-controls {
  display:flex;
  gap:10px;
}
.trade-modern-controls button {
  flex:1;
  padding: 12px 14px;
  border-radius: 13px;
  border: 1px solid rgba(255,255,255,.12);
  color:#fff;
  font-weight:950;
}
.trade-confirm-modern { background: linear-gradient(180deg, #37d46e, #168a45); }
.trade-cancel-modern { background: linear-gradient(180deg, #db5252, #922323); }
@media (max-width: 780px) {
  .trade-modern-offers { grid-template-columns: 1fr; }
  .trade-slot-grid, .trade-slot-grid.hotbar-grid { grid-template-columns: repeat(6, 42px); }
}

/* v121: restore HUD/overlays, stable drops, respawn button */
.player-overlay {
  z-index: 42 !important;
}

.player-nameplate {
  opacity: 1;
  visibility: visible;
}

.leaderboard-panel {
  z-index: 43 !important;
  display: block;
}

.leaderboard-panel.hidden {
  display: none !important;
}

.leaderboard-row {
  color: #ffffff;
}

.leaderboard-row.me .leaderboard-name {
  color: #7cff8c !important;
  text-shadow: 0 0 6px rgba(124,255,140,0.24);
}

.leaderboard-row:not(.me) .leaderboard-name {
  color: #ffffff !important;
}

.death-overlay {
  z-index: 90 !important;
  pointer-events: auto !important;
}

.death-respawn-button {
  pointer-events: auto !important;
}


/* v122 dark panel override removed in v129: panels must keep blue inventory-style colors */
.player-overlay {
  z-index: 12 !important;
}

.full-map-overlay,
.death-overlay {
  z-index: 90 !important;
}


/* v122: trade mini-inventory offer slots */
.trade-offer-grid {
  display: grid;
  grid-template-columns: repeat(4, 38px);
  gap: 7px;
}

.trade-offer-slot {
  width: 38px;
  height: 38px;
  border-radius: 10px;
  background: rgba(0,0,0,0.25);
  border: 1px solid rgba(255,255,255,0.10);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  position: relative;
}

.trade-offer-slot.empty {
  opacity: 0.55;
}

.trade-offer-slot span {
  position: absolute;
  right: 3px;
  bottom: 2px;
  padding: 1px 4px;
  border-radius: 999px;
  background: rgba(0,0,0,0.72);
  color: #fff;
  font-size: 10px;
  font-weight: 950;
}


/* v123: trade layout + FPS safety */
body.trade-active #hotbar {
  display: none !important;
}

body.trade-active #leaderboardPanel {
  display: none !important;
}

body.trade-active #inventory {
  left: 32% !important;
  top: 50% !important;
  transform: translate(-50%, -50%) !important;
  z-index: 42 !important;
}

body.trade-active #tradePanel {
  left: calc(32% + 270px) !important;
  right: auto !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  width: min(470px, calc(100vw - 560px)) !important;
  max-height: min(720px, calc(100vh - 70px)) !important;
  z-index: 43 !important;
}

@media (max-width: 1180px) {
  body.trade-active #inventory {
    left: 28px !important;
    transform: translate(0, -50%) !important;
  }

  body.trade-active #tradePanel {
    left: 500px !important;
    width: calc(100vw - 530px) !important;
  }
}

@media (max-width: 860px) {
  body.trade-active #inventory,
  body.trade-active #tradePanel {
    left: 50% !important;
    width: min(470px, calc(100vw - 30px)) !important;
    transform: translate(-50%, -50%) !important;
  }

  body.trade-active #tradePanel {
    top: 62% !important;
  }

  body.trade-active #inventory {
    top: 34% !important;
  }
}

.trade-offer-slot.can-place {
  cursor: pointer;
  border-color: rgba(255, 211, 106, 0.48);
  background-color: rgba(255, 211, 106, 0.12);
}

.trade-offer-slot.can-place:hover {
  box-shadow: 0 0 0 2px rgba(255, 211, 106, 0.28);
}


/* v124: trade close/layout + request toast */
body.trade-active #hotbar,
body.trade-active #equipmentSlots {
  display: none !important;
}

body.trade-active #inventory {
  left: 24px !important;
  top: 50% !important;
  transform: translate(0, -50%) !important;
  height: min(640px, calc(100vh - 88px)) !important;
  max-height: min(640px, calc(100vh - 88px)) !important;
  z-index: 42 !important;
}

body.trade-active #tradePanel {
  left: calc(24px + 470px + 18px) !important;
  right: auto !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  width: min(520px, calc(100vw - 540px)) !important;
  height: min(640px, calc(100vh - 88px)) !important;
  max-height: min(640px, calc(100vh - 88px)) !important;
  z-index: 44 !important;
  overflow: auto !important;
}

body.trade-active #tradePanel .social-body {
  height: calc(100% - 52px);
  overflow: auto;
}

body.trade-active #tradePanel .trade-modern {
  min-height: 100%;
}

body.trade-active #leaderboardPanel {
  display: none !important;
}

@media (max-width: 1080px) {
  body.trade-active #inventory {
    left: 12px !important;
    width: min(430px, calc(50vw - 18px)) !important;
  }

  body.trade-active #tradePanel {
    left: calc(50vw + 6px) !important;
    width: calc(50vw - 18px) !important;
  }
}

@media (max-width: 760px) {
  body.trade-active #inventory,
  body.trade-active #tradePanel {
    left: 50% !important;
    width: min(460px, calc(100vw - 24px)) !important;
    transform: translate(-50%, -50%) !important;
  }

  body.trade-active #inventory {
    top: 34% !important;
    height: 42vh !important;
  }

  body.trade-active #tradePanel {
    top: 72% !important;
    height: 42vh !important;
  }
}

.trade-toast {
  position: fixed;
  left: 50%;
  bottom: 108px;
  transform: translateX(-50%);
  z-index: 88;
  min-width: min(420px, calc(100vw - 30px));
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: 12px;
  padding: 12px 14px;
  border-radius: 18px;
  background: linear-gradient(180deg, rgba(18,27,42,.96), rgba(8,12,20,.96));
  border: 1px solid rgba(255,255,255,.14);
  box-shadow: 0 22px 70px rgba(0,0,0,.45), inset 0 1px 0 rgba(255,255,255,.08);
  color: #eaf0ff;
  pointer-events: auto;
}

.trade-toast.hidden {
  display: none !important;
}

.trade-toast-text {
  font-size: 14px;
  font-weight: 850;
}

.trade-toast-text b {
  color: #ffd36a;
}

.trade-toast-actions {
  display: flex;
  gap: 8px;
}

.trade-toast-btn {
  width: 46px;
  height: 46px;
  padding: 5px;
  border-radius: 14px;
  background: rgba(255,255,255,.10);
  border: 1px solid rgba(255,255,255,.12);
  display: grid;
  place-items: center;
}

.trade-toast-btn img {
  width: 34px;
  height: 34px;
  object-fit: contain;
  display: block;
}

.trade-toast-btn span {
  display: none;
  color: #fff;
  font-size: 12px;
  font-weight: 950;
}

.trade-toast-btn.accept {
  background: rgba(72, 206, 106, .20);
  border-color: rgba(72, 206, 106, .35);
}

.trade-toast-btn.cancel {
  background: rgba(233, 72, 72, .20);
  border-color: rgba(233, 72, 72, .35);
}

.trade-toast-btn:hover {
  transform: translateY(-1px);
  box-shadow: 0 8px 20px rgba(0,0,0,.28);
}

/* v124: modern clan panel */
.clan-hero {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 14px;
  align-items: center;
  padding: 16px;
  border-radius: 18px;
  background: linear-gradient(135deg, rgba(44,111,207,.24), rgba(20,31,48,.92));
  border: 1px solid rgba(128,189,255,.18);
}

.clan-tag-badge {
  min-width: 76px;
  height: 56px;
  border-radius: 16px;
  display: grid;
  place-items: center;
  background: linear-gradient(180deg, rgba(116,190,255,.92), rgba(54,112,204,.92));
  border: 2px solid rgba(18,54,108,.92);
  color: #fff;
  font-size: 22px;
  font-weight: 950;
  letter-spacing: .06em;
  text-shadow: 0 2px 0 rgba(0,0,0,.35);
}

.clan-modern-form {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 10px;
}

.clan-modern-form input {
  width: 100%;
  min-width: 0;
  text-transform: uppercase;
  letter-spacing: .08em;
  font-weight: 950;
}

.clan-list-grid {
  display: grid;
  gap: 8px;
}

.clan-list-row {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 10px;
  padding: 10px;
  border-radius: 14px;
  background: rgba(20, 29, 43, .82);
  border: 1px solid rgba(255,255,255,.09);
}

.clan-list-row.active {
  border-color: rgba(116,190,255,.45);
  background: rgba(44,111,207,.18);
}

.clan-list-row .clan-tag-badge {
  min-width: 54px;
  height: 38px;
  font-size: 15px;
  border-radius: 12px;
}

.clan-list-row button {
  white-space: nowrap;
}


/* v125: trade not overlapping inventory + bottom HP bars */
body.trade-active #leaderboardPanel {
  display: block !important;
}

body.trade-active #inventory {
  left: 22px !important;
  top: 50% !important;
  transform: translate(0, -50%) !important;
  width: 420px !important;
  height: min(640px, calc(100vh - 88px)) !important;
  max-height: min(640px, calc(100vh - 88px)) !important;
  z-index: 42 !important;
}

body.trade-active #tradePanel {
  left: 470px !important;
  right: auto !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  width: min(430px, calc(100vw - 760px)) !important;
  height: min(640px, calc(100vh - 88px)) !important;
  max-height: min(640px, calc(100vh - 88px)) !important;
  z-index: 44 !important;
  overflow: auto !important;
}

body.trade-active #tradePanel .trade-modern-inventory {
  display: none !important;
}

body.trade-active .trade-modern-offers {
  grid-template-columns: 1fr !important;
}

body.trade-active .trade-modern-offer {
  min-height: 128px;
}

body.trade-active .trade-offer-grid {
  grid-template-columns: repeat(4, 44px);
  gap: 9px;
}

body.trade-active .trade-offer-slot {
  width: 44px;
  height: 44px;
}

@media (max-width: 1160px) {
  body.trade-active #inventory {
    width: 390px !important;
  }

  body.trade-active #tradePanel {
    left: 430px !important;
    width: min(410px, calc(100vw - 650px)) !important;
  }
}

@media (max-width: 940px) {
  body.trade-active #leaderboardPanel {
    display: none !important;
  }

  body.trade-active #inventory,
  body.trade-active #tradePanel {
    left: 50% !important;
    width: min(450px, calc(100vw - 24px)) !important;
    transform: translate(-50%, -50%) !important;
  }

  body.trade-active #inventory {
    top: 34% !important;
    height: 42vh !important;
  }

  body.trade-active #tradePanel {
    top: 72% !important;
    height: 42vh !important;
  }
}

/* request toast should sit left of leaderboard instead of covering it */
.trade-toast {
  left: auto !important;
  right: 374px !important;
  bottom: 112px !important;
  transform: none !important;
  min-width: 360px !important;
  max-width: 420px !important;
}

@media (max-width: 1120px) {
  .trade-toast {
    right: 18px !important;
    bottom: 112px !important;
    min-width: min(360px, calc(100vw - 36px)) !important;
  }
}

.player-nameplate {
  width: 170px !important;
  pointer-events: none !important;
}

.player-name {
  color: #ffffff !important;
  -webkit-text-stroke: 0.55px rgba(0,0,0,0.82);
  text-shadow:
    0 1px 0 rgba(0,0,0,0.85),
    1px 0 0 rgba(0,0,0,0.62),
    -1px 0 0 rgba(0,0,0,0.62),
    0 -1px 0 rgba(0,0,0,0.62) !important;
}

.player-bottom-hp {
  position: fixed;
  transform: translate(-50%, -50%);
  width: 96px;
  z-index: 12;
  pointer-events: none;
}

.player-bottom-hp .player-bar.hp {
  width: 78px;
  height: 8px;
  margin: 0 auto;
  border-radius: 999px;
  background: rgba(0,0,0,0.55);
  box-shadow: 0 1px 4px rgba(0,0,0,0.55);
  overflow: hidden;
}

.player-bottom-hp .player-bar.hp span {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, #26d86d, #b8ff6a);
}

.player-bottom-hp.enemy .player-bar.hp span {
  background: linear-gradient(90deg, #ff3434, #ff8a54) !important;
}

/* old HP above nameplate is no longer used */
.player-nameplate > .player-bar.hp {
  display: none !important;
}


/* v126: final trade layout/notification/minimap sizes */
body.trade-active #inventory {
  left: 92px !important;
  top: 50% !important;
  transform: translate(0, -50%) !important;
  width: 420px !important;
  height: min(640px, calc(100vh - 88px)) !important;
  max-height: min(640px, calc(100vh - 88px)) !important;
  z-index: 42 !important;
}

body.trade-active #tradePanel {
  left: auto !important;
  right: 342px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  width: min(430px, calc(100vw - 910px)) !important;
  min-width: 380px !important;
  height: min(640px, calc(100vh - 88px)) !important;
  max-height: min(640px, calc(100vh - 88px)) !important;
  z-index: 44 !important;
  overflow: auto !important;
}

body.trade-active #tradePanel .trade-modern-inventory {
  display: none !important;
}

body.trade-active #tradePanel .social-body {
  height: calc(100% - 52px) !important;
  overflow: auto !important;
}

body.trade-active .trade-modern-offers {
  grid-template-columns: 1fr !important;
}

body.trade-active .trade-modern-offer {
  min-height: 132px !important;
}

body.trade-active .trade-offer-grid {
  grid-template-columns: repeat(4, 46px) !important;
  gap: 10px !important;
}

body.trade-active .trade-offer-slot {
  width: 46px !important;
  height: 46px !important;
}

body.trade-active #leaderboardPanel {
  display: block !important;
}

.trade-toast {
  top: 92px !important;
  bottom: auto !important;
  left: auto !important;
  right: 342px !important;
  transform: none !important;
  min-width: 360px !important;
  max-width: 430px !important;
  z-index: 88 !important;
}

@media (max-width: 1320px) {
  body.trade-active #inventory {
    left: 76px !important;
    width: 390px !important;
  }

  body.trade-active #tradePanel {
    right: 260px !important;
    width: 380px !important;
    min-width: 360px !important;
  }

  .trade-toast {
    right: 260px !important;
  }
}

@media (max-width: 1120px) {
  body.trade-active #leaderboardPanel {
    display: none !important;
  }

  body.trade-active #inventory {
    left: 74px !important;
    width: min(390px, calc(50vw - 90px)) !important;
  }

  body.trade-active #tradePanel {
    right: 18px !important;
    width: min(390px, calc(50vw - 30px)) !important;
    min-width: 320px !important;
  }

  .trade-toast {
    right: 18px !important;
    top: 86px !important;
    min-width: min(360px, calc(100vw - 36px)) !important;
  }
}

@media (max-width: 820px) {
  body.trade-active #inventory,
  body.trade-active #tradePanel {
    left: 50% !important;
    right: auto !important;
    width: min(450px, calc(100vw - 24px)) !important;
    min-width: 0 !important;
    transform: translate(-50%, -50%) !important;
  }

  body.trade-active #inventory {
    top: 34% !important;
    height: 42vh !important;
  }

  body.trade-active #tradePanel {
    top: 72% !important;
    height: 42vh !important;
  }
}


/* v127: trade height equals inventory, remove top trade text, buttons clickable */
body.trade-active #inventory {
  left: 92px !important;
  top: 50% !important;
  transform: translate(0, -50%) !important;
  width: 420px !important;
  height: 462px !important;
  max-height: 462px !important;
  min-height: 0 !important;
  z-index: 42 !important;
}

body.trade-active #tradePanel {
  left: auto !important;
  right: 342px !important;
  top: 50% !important;
  bottom: auto !important;
  transform: translateY(-50%) !important;
  width: min(430px, calc(100vw - 910px)) !important;
  min-width: 380px !important;
  height: 462px !important;
  max-height: 462px !important;
  min-height: 0 !important;
  z-index: 60 !important;
  overflow: hidden !important;
  pointer-events: auto !important;
}

body.trade-active #tradePanel .social-head {
  justify-content: flex-end !important;
  min-height: 34px !important;
  margin-bottom: 4px !important;
}

body.trade-active #tradePanel .social-title,
body.trade-active #tradePanel .trade-modern-title {
  display: none !important;
}

body.trade-active #tradePanel .social-close,
body.trade-active #tradePanel button {
  pointer-events: auto !important;
}

body.trade-active #tradePanel .social-body {
  height: calc(100% - 42px) !important;
  max-height: calc(100% - 42px) !important;
  overflow: auto !important;
  padding-right: 2px !important;
}

body.trade-active #tradePanel .trade-modern {
  min-height: 0 !important;
  height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
}

body.trade-active #tradePanel .trade-modern-offers {
  grid-template-columns: 1fr !important;
  gap: 10px !important;
  flex: 1 1 auto !important;
  min-height: 0 !important;
}

body.trade-active #tradePanel .trade-modern-offer {
  min-height: 0 !important;
  padding: 10px !important;
}

body.trade-active #tradePanel .trade-stack-list {
  min-height: 102px !important;
}

body.trade-active #tradePanel .trade-modern-controls {
  flex: 0 0 auto !important;
  margin-top: 2px !important;
}

body.trade-active #tradePanel .trade-confirm-modern,
body.trade-active #tradePanel .trade-cancel-modern {
  pointer-events: auto !important;
  min-height: 42px !important;
}

@media (max-width: 1320px) {
  body.trade-active #tradePanel {
    right: 260px !important;
    width: 380px !important;
    min-width: 360px !important;
    height: 462px !important;
    max-height: 462px !important;
  }
}

@media (max-width: 1120px) {
  body.trade-active #inventory {
    left: 74px !important;
    width: min(390px, calc(50vw - 90px)) !important;
    height: 462px !important;
    max-height: 462px !important;
  }

  body.trade-active #tradePanel {
    right: 18px !important;
    width: min(390px, calc(50vw - 30px)) !important;
    min-width: 320px !important;
    height: 462px !important;
    max-height: 462px !important;
  }
}

@media (max-width: 820px) {
  body.trade-active #inventory,
  body.trade-active #tradePanel {
    left: 50% !important;
    right: auto !important;
    width: min(450px, calc(100vw - 24px)) !important;
    min-width: 0 !important;
    transform: translate(-50%, -50%) !important;
    height: 42vh !important;
    max-height: 42vh !important;
  }

  body.trade-active #inventory {
    top: 34% !important;
  }

  body.trade-active #tradePanel {
    top: 72% !important;
  }
}


/* v128: restore inventory size, show active slots during trade, hard-clickable trade buttons */
body.trade-active #inventory {
  left: 92px !important;
  top: 50% !important;
  transform: translate(0, -50%) !important;
  width: 560px !important;
  height: auto !important;
  max-height: none !important;
  min-height: 0 !important;
  z-index: 42 !important;
  overflow: visible !important;
  pointer-events: auto !important;
}

body.trade-active #inventory .inventory-shell {
  width: auto !important;
  height: auto !important;
  overflow: visible !important;
}

body.trade-active #inventoryGrid.fancy-grid,
body.trade-active #inventory .inventory-grid.fancy-grid {
  grid-template-columns: repeat(7, 64px) !important;
  gap: 10px !important;
}

body.trade-active #inventory .inventory-slot {
  width: 64px !important;
  height: 64px !important;
}

/* Show active slots during trade, but move them to the left side instead of the old bottom center. */
body.trade-active #hotbar {
  display: grid !important;
  left: 92px !important;
  top: calc(50% + 258px) !important;
  bottom: auto !important;
  transform: none !important;
  z-index: 43 !important;
  pointer-events: auto !important;
  opacity: 1 !important;
}

body.trade-active #equipmentSlots {
  display: none !important;
}

body.trade-active #tradePanel {
  left: auto !important;
  right: 342px !important;
  top: 50% !important;
  bottom: auto !important;
  transform: translateY(-50%) !important;
  width: 430px !important;
  min-width: 430px !important;
  height: 462px !important;
  max-height: 462px !important;
  min-height: 0 !important;
  z-index: 70 !important;
  overflow: hidden !important;
  pointer-events: auto !important;
}

body.trade-active #tradePanel,
body.trade-active #tradePanel * {
  pointer-events: auto !important;
}

body.trade-active #tradePanel .social-head {
  justify-content: flex-end !important;
  min-height: 34px !important;
  margin-bottom: 4px !important;
}

body.trade-active #tradePanel .social-title,
body.trade-active #tradePanel .trade-modern-title {
  display: none !important;
}

body.trade-active #tradePanel .social-close {
  position: relative !important;
  z-index: 75 !important;
  cursor: pointer !important;
}

body.trade-active #tradePanel .social-body {
  height: calc(100% - 42px) !important;
  max-height: calc(100% - 42px) !important;
  overflow: auto !important;
  padding-right: 2px !important;
}

body.trade-active #tradePanel .trade-modern {
  min-height: 0 !important;
  height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
}

body.trade-active #tradePanel .trade-modern-offers {
  grid-template-columns: 1fr !important;
  gap: 10px !important;
  flex: 1 1 auto !important;
  min-height: 0 !important;
}

body.trade-active #tradePanel .trade-modern-offer {
  min-height: 0 !important;
  padding: 10px !important;
}

body.trade-active #tradePanel .trade-stack-list {
  min-height: 102px !important;
}

body.trade-active #tradePanel .trade-modern-controls {
  flex: 0 0 auto !important;
  margin-top: 2px !important;
  position: relative !important;
  z-index: 75 !important;
}

body.trade-active #tradePanel .trade-confirm-modern,
body.trade-active #tradePanel .trade-cancel-modern {
  pointer-events: auto !important;
  min-height: 42px !important;
  cursor: pointer !important;
  position: relative !important;
  z-index: 76 !important;
}

body.trade-active #tradePanel .trade-offer-slot {
  cursor: pointer !important;
}

@media (max-width: 1460px) {
  body.trade-active #tradePanel {
    right: 260px !important;
  }
}

@media (max-width: 1320px) {
  body.trade-active #inventory {
    left: 76px !important;
    width: 540px !important;
  }

  body.trade-active #hotbar {
    left: 76px !important;
  }

  body.trade-active #tradePanel {
    right: 220px !important;
    width: 410px !important;
    min-width: 410px !important;
  }
}

@media (max-width: 1160px) {
  body.trade-active #leaderboardPanel {
    display: none !important;
  }

  body.trade-active #tradePanel {
    right: 18px !important;
    width: 390px !important;
    min-width: 390px !important;
  }
}

@media (max-width: 980px) {
  body.trade-active #inventory,
  body.trade-active #tradePanel {
    left: 50% !important;
    right: auto !important;
    width: min(540px, calc(100vw - 24px)) !important;
    min-width: 0 !important;
    transform: translate(-50%, -50%) !important;
  }

  body.trade-active #inventory {
    top: 34% !important;
  }

  body.trade-active #tradePanel {
    top: 74% !important;
    height: 42vh !important;
    max-height: 42vh !important;
  }

  body.trade-active #hotbar {
    left: 50% !important;
    top: calc(34% + 250px) !important;
    transform: translateX(-50%) !important;
  }
}


/* v129: restore blue inventory-style panels and admin panel */
.game-panel:not(.inventory),
.settings-panel,
.social-panel,
.admin-panel,
.craft-social-panel {
  background: linear-gradient(180deg, #0d688d 0%, #095776 100%) !important;
  border: 4px solid #084e6b !important;
  box-shadow: 0 22px 90px rgba(0,0,0,0.48), inset 0 2px 0 rgba(255,255,255,0.10) !important;
  color: #edf8ff !important;
  backdrop-filter: none !important;
}

.social-panel.hidden,
.admin-panel.hidden,
.game-panel.hidden,
.settings-panel.hidden {
  display: none !important;
}

.social-card,
.admin-row,
.admin-item-row,
.admin-target,
.admin-mode-row,
.catalog-card,
.detail-panel,
.trade-modern-title,
.trade-modern-offer,
.trade-stack-list {
  background: rgba(145, 207, 226, 0.22) !important;
  border: 1px solid rgba(255,255,255,0.18) !important;
  color: #edf8ff !important;
}

.social-title,
.admin-title,
.social-label,
.admin-mode-main b,
.admin-row-main b,
.admin-item-label b,
.catalog-title,
.detail-title {
  color: #ffffff !important;
  text-shadow: 0 2px 0 rgba(0,0,0,0.18) !important;
}

.social-muted,
.admin-help,
.admin-target,
.admin-row-main span,
.admin-item-label span,
.admin-mode-main span,
.catalog-desc,
.detail-desc {
  color: rgba(237,248,255,0.78) !important;
}

.social-close,
.admin-close,
.panel-close,
[data-close-panel] {
  background: rgba(92, 171, 214, 0.78) !important;
  border: 1px solid rgba(255,255,255,0.18) !important;
  color: #ffffff !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.15), 0 6px 14px rgba(0,0,0,0.18) !important;
}

.social-tabs button,
.admin-tabs button,
.craft-category-tab,
.build-category-tab,
.shop-category-tab,
.admin-mode-toggle {
  background: rgba(6, 44, 63, 0.55) !important;
  border: 1px solid rgba(255,255,255,0.16) !important;
  color: #eaf7ff !important;
}

.social-tabs button.active,
.admin-tabs button.active,
.craft-category-tab.active,
.build-category-tab.active,
.shop-category-tab.active,
.admin-row.selected,
.admin-item-row.selected,
.admin-mode-row.enabled {
  background: rgba(116, 190, 255, 0.34) !important;
  border-color: rgba(255, 211, 106, 0.58) !important;
  color: #ffffff !important;
}

/* Admin panel must not be affected by trade-specific positioning. */
.admin-panel {
  right: 18px !important;
  top: 132px !important;
  left: auto !important;
  transform: none !important;
  width: min(720px, calc(100vw - 36px)) !important;
  max-height: min(720px, calc(100vh - 170px)) !important;
  z-index: 82 !important;
  display: flex;
  flex-direction: column;
  overflow: hidden !important;
}

.admin-panel.hidden {
  display: none !important;
}

.admin-body {
  min-height: 0 !important;
  overflow: hidden !important;
}

.admin-list,
.admin-item-list,
.admin-mode-list {
  min-height: 0 !important;
  overflow-y: auto !important;
}

.admin-mode-row {
  cursor: pointer !important;
}

.admin-mode-toggle {
  cursor: pointer !important;
}

/* Craft/build/shop should keep blue panels, not black panels. */
.craft-panel.game-panel,
.build-panel.game-panel,
.shop-panel.game-panel,
.settings-panel.game-panel {
  background: linear-gradient(180deg, #0d688d 0%, #095776 100%) !important;
  border: 4px solid #084e6b !important;
}

/* Keep inventory original style untouched. */
.inventory.game-panel.modern-panel {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
}

/* Trade remains functional but blue, not black. */
#tradePanel.social-panel {
  background: linear-gradient(180deg, #0d688d 0%, #095776 100%) !important;
  border: 4px solid #084e6b !important;
}

#tradePanel .trade-modern-offer,
#tradePanel .trade-stack-list {
  background: rgba(6, 44, 63, 0.38) !important;
}

#tradePanel .trade-confirm-modern {
  background: linear-gradient(180deg, #34d073 0%, #16a956 100%) !important;
}

#tradePanel .trade-cancel-modern {
  background: linear-gradient(180deg, #e04f4f 0%, #a92228 100%) !important;
}


/* v130: trade buttons above everything + restore normal hotbar/equipment during trade */
body.trade-active #tradePanel {
  z-index: 420 !important;
  pointer-events: auto !important;
}

body.trade-active #tradePanel,
body.trade-active #tradePanel * {
  pointer-events: auto !important;
}

body.trade-active #tradePanel .social-head,
body.trade-active #tradePanel .social-close,
body.trade-active #tradePanel .trade-modern-controls,
body.trade-active #tradePanel .trade-confirm-modern,
body.trade-active #tradePanel .trade-cancel-modern {
  position: relative !important;
  z-index: 430 !important;
  pointer-events: auto !important;
  cursor: pointer !important;
}

body.trade-active #tradePanel .social-close {
  width: 34px !important;
  height: 34px !important;
}

/* Restore active slots to their normal game position during trade. */
body.trade-active #hotbar {
  display: grid !important;
  left: 50% !important;
  right: auto !important;
  top: auto !important;
  bottom: 22px !important;
  transform: translateX(-50%) !important;
  z-index: 80 !important;
  pointer-events: auto !important;
  opacity: 1 !important;
}

body.trade-active #equipmentSlots {
  display: grid !important;
  left: calc(50% - 455px) !important;
  right: auto !important;
  top: auto !important;
  bottom: 22px !important;
  transform: none !important;
  z-index: 80 !important;
  pointer-events: auto !important;
  opacity: 1 !important;
}

/* Keep inventory away from the left dock, but don't let it break the original grid. */
body.trade-active #inventory {
  left: 92px !important;
  top: 50% !important;
  transform: translate(0, -50%) !important;
  width: 560px !important;
  height: auto !important;
  max-height: none !important;
  overflow: visible !important;
}

body.trade-active #inventoryGrid.fancy-grid,
body.trade-active #inventory .inventory-grid.fancy-grid {
  grid-template-columns: repeat(7, 64px) !important;
  gap: 10px !important;
}

@media (max-width: 980px) {
  body.trade-active #hotbar {
    left: 50% !important;
    bottom: 86px !important;
    transform: translateX(-50%) !important;
  }

  body.trade-active #equipmentSlots {
    left: 14px !important;
    bottom: 98px !important;
  }
}


/* v131: clean left dock buttons, no cut/chipped edges */
.action-dock {
  overflow: visible !important;
  overflow-x: visible !important;
  overflow-y: visible !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  padding: 4px 8px 14px 8px !important;
  gap: 10px !important;
  contain: none !important;
}

.action-dock .dock-button {
  width: 54px !important;
  height: 54px !important;
  padding: 7px !important;
  border-radius: 13px !important;
  overflow: visible !important;
  contain: none !important;
  background: linear-gradient(180deg, #75bcff 0%, #4e92e0 52%, #2e62b9 100%) !important;
  border: 2px solid #11366c !important;
  box-shadow:
    0 5px 0 #0e2a55,
    0 10px 14px rgba(0,0,0,0.26),
    inset 0 1px 0 rgba(255,255,255,0.30),
    inset 0 -2px 0 rgba(0,0,0,0.18) !important;
  transform: none !important;
  transition: transform 120ms ease, filter 120ms ease, box-shadow 120ms ease, background 120ms ease !important;
}

.action-dock .dock-button:hover,
.action-dock .dock-button.active {
  transform: translateY(-1px) !important;
  background: linear-gradient(180deg, #8ccbff 0%, #5ca1ec 52%, #356dc9 100%) !important;
  border-color: #173f7d !important;
  box-shadow:
    0 6px 0 #0e2a55,
    0 12px 16px rgba(0,0,0,0.28),
    0 0 0 2px rgba(255,211,106,0.20),
    inset 0 1px 0 rgba(255,255,255,0.34),
    inset 0 -2px 0 rgba(0,0,0,0.16) !important;
}

.action-dock .dock-button img {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  display: block !important;
  filter: drop-shadow(0 2px 4px rgba(0,0,0,0.35)) !important;
}

.action-dock .dock-button span {
  right: 3px !important;
  bottom: 2px !important;
  min-width: 16px !important;
  padding: 1px 4px !important;
  font-size: 10px !important;
  line-height: 1.1 !important;
  border-radius: 999px !important;
  background: rgba(0,0,0,0.68) !important;
  color: #fff4b0 !important;
  border: 1px solid rgba(255,255,255,0.16) !important;
}

.action-dock .dock-button.text-dock {
  font-size: 24px !important;
  line-height: 1 !important;
}

/* Inner tabs in admin/trade/settings must have room for 3D bottom shadow. */
.social-tabs,
.admin-tabs,
.settings-tabs,
.panel-tabs,
.craft-category-tabs,
.build-category-tabs,
.shop-category-tabs {
  overflow: visible !important;
  padding-top: 4px !important;
  padding-bottom: 10px !important;
}

.social-tabs button,
.admin-tabs button,
.settings-tabs button,
.panel-tab,
.craft-category-tab,
.build-category-tab,
.shop-category-tab {
  overflow: visible !important;
  contain: none !important;
  margin-bottom: 4px !important;
}

/* Avoid active/hover tab being cut at the top or bottom. */
.social-tabs button:hover,
.social-tabs button.active,
.admin-tabs button:hover,
.admin-tabs button.active,
.settings-tabs button:hover,
.settings-tabs button.active,
.panel-tab:hover,
.panel-tab.active {
  transform: translateY(-1px) !important;
}


/* v132: environment indicators near minimap */
.env-indicators {
  position: fixed;
  right: 16px;
  top: 238px;
  width: 188px;
  display: grid;
  gap: 7px;
  z-index: 20;
  pointer-events: none;
  user-select: none;
}

.env-indicators.hidden {
  display: none !important;
}

.env-row {
  display: grid;
  grid-template-columns: 1fr auto;
  grid-template-rows: auto 8px;
  gap: 3px 8px;
  padding: 7px 9px;
  border-radius: 12px;
  background: rgba(8, 12, 20, 0.66);
  border: 1px solid rgba(255,255,255,0.12);
  box-shadow: 0 8px 18px rgba(0,0,0,0.22), inset 0 1px 0 rgba(255,255,255,0.08);
  opacity: 0.58;
}

.env-row.active {
  opacity: 1;
}

.env-row span,
.env-row b {
  font-size: 11px;
  font-weight: 950;
  color: #edf8ff;
  text-shadow: 0 1px 0 rgba(0,0,0,0.45);
}

.env-row b {
  text-align: right;
}

.env-row i {
  grid-column: 1 / -1;
  height: 8px;
  border-radius: 999px;
  overflow: hidden;
  background: rgba(0,0,0,0.45);
  box-shadow: inset 0 1px 3px rgba(0,0,0,0.45);
}

.env-row em {
  display: block;
  width: 0%;
  height: 100%;
  border-radius: inherit;
  transition: width 160ms linear;
}

.env-row.heat em {
  background: linear-gradient(90deg, #ffba45, #ff573d);
}

.env-row.cold em {
  background: linear-gradient(90deg, #78ecff, #4b8dff);
}

.env-row.radiation em {
  background: linear-gradient(90deg, #a7ff5b, #39d75c);
}

@media (max-width: 900px) {
  .env-indicators {
    right: 10px;
    top: 202px;
    width: 160px;
  }
}


/* v133: asset loading screen */
.loading-overlay {
  position: fixed;
  inset: 0;
  z-index: 999;
  display: grid;
  place-items: center;
  background:
    radial-gradient(circle at 50% 35%, rgba(53, 153, 215, 0.22), transparent 32%),
    linear-gradient(180deg, rgba(7, 18, 28, 0.98), rgba(3, 8, 14, 0.98));
  color: #edf8ff;
  user-select: none;
  pointer-events: auto;
}

.loading-overlay.hidden {
  display: none !important;
}

.loading-card {
  width: min(440px, calc(100vw - 36px));
  padding: 28px 26px 24px;
  border-radius: 24px;
  background: linear-gradient(180deg, #0d688d 0%, #095776 100%);
  border: 4px solid #084e6b;
  box-shadow:
    0 22px 90px rgba(0,0,0,0.52),
    inset 0 2px 0 rgba(255,255,255,0.13),
    inset 0 -4px 0 rgba(0,0,0,0.18);
  text-align: center;
}

.loading-logo {
  font-size: 42px;
  line-height: 1;
  font-weight: 1000;
  letter-spacing: 1px;
  color: #ffffff;
  text-shadow: 0 4px 0 rgba(0,0,0,0.18), 0 0 20px rgba(117,203,255,0.25);
  margin-bottom: 14px;
}

.loading-title {
  font-size: 18px;
  font-weight: 950;
  margin-bottom: 6px;
}

.loading-status {
  min-height: 20px;
  font-size: 13px;
  font-weight: 750;
  color: rgba(237,248,255,0.78);
  margin-bottom: 14px;
}

.loading-bar {
  width: 100%;
  height: 18px;
  border-radius: 999px;
  overflow: hidden;
  background: rgba(0,0,0,0.38);
  border: 1px solid rgba(255,255,255,0.18);
  box-shadow: inset 0 2px 5px rgba(0,0,0,0.42);
}

.loading-fill {
  width: 0%;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, #7cc0ff, #5cffb0);
  transition: width 160ms linear;
  box-shadow: 0 0 18px rgba(92,255,176,0.42);
}

.loading-percent {
  margin-top: 8px;
  font-size: 13px;
  font-weight: 950;
  color: #ffffff;
}

.loading-hint {
  margin-top: 14px;
  font-size: 12px;
  line-height: 1.35;
  color: rgba(237,248,255,0.62);
}

body.assets-loading #loginOverlay,
body.assets-loading #hotbar,
body.assets-loading #equipmentSlots,
body.assets-loading #inventory,
body.assets-loading #actionDock,
body.assets-loading #minimap,
body.assets-loading #envIndicators,
body.assets-loading #leaderboardPanel {
  pointer-events: none !important;
}


/* v138: zoom moved to left, ping panel moved to right bottom */
.viewport-controls {
  left: 18px !important;
  right: auto !important;
  bottom: 24px !important;
  z-index: 95 !important;
}

.ping-panel {
  position: fixed;
  right: 18px;
  bottom: 24px;
  z-index: 96;
  display: flex;
  align-items: center;
  gap: 7px;
  min-width: 112px;
  height: 38px;
  box-sizing: border-box;
  padding: 0 12px;
  border-radius: 14px;
  background: rgba(8, 12, 20, 0.70);
  border: 1px solid rgba(255,255,255,0.16);
  box-shadow: 0 10px 24px rgba(0,0,0,0.28), inset 0 1px 0 rgba(255,255,255,0.08);
  backdrop-filter: blur(8px);
  color: #edf8ff;
  user-select: none;
  pointer-events: none;
  font-weight: 950;
}

.ping-dot {
  width: 9px;
  height: 9px;
  border-radius: 999px;
  background: #8d99a8;
  box-shadow: 0 0 10px rgba(141,153,168,0.45);
}

.ping-label {
  font-size: 10px;
  letter-spacing: 0.7px;
  color: rgba(237,248,255,0.70);
}

#pingValue {
  margin-left: auto;
  font-size: 12px;
  color: #ffffff;
}

.ping-panel.good .ping-dot {
  background: #5cff9d;
  box-shadow: 0 0 12px rgba(92,255,157,0.58);
}

.ping-panel.warn .ping-dot {
  background: #ffd36a;
  box-shadow: 0 0 12px rgba(255,211,106,0.54);
}

.ping-panel.bad .ping-dot {
  background: #ff5b5b;
  box-shadow: 0 0 12px rgba(255,91,91,0.58);
}

.ping-panel.offline {
  opacity: 0.68;
}

.ping-panel.offline #pingValue {
  color: rgba(237,248,255,0.62);
}

@media (max-width: 760px) {
  .viewport-controls {
    left: 10px !important;
    bottom: 12px !important;
  }

  .ping-panel {
    right: 10px;
    bottom: 12px;
    min-width: 98px;
    padding: 0 9px;
  }

  .ping-label {
    display: none;
  }
}

/* v139: account profile menu with persistent statistics */
.main-profile-card-v139 {
  display: flex;
  flex-direction: column;
  gap: 14px;
  color: #edf8ff;
}

.main-profile-head-v139 {
  display: grid;
  grid-template-columns: 78px 1fr auto;
  align-items: center;
  gap: 14px;
  padding: 14px;
  border-radius: 18px;
  background: linear-gradient(180deg, rgba(31,75,104,0.88), rgba(15,40,61,0.88));
  border: 1px solid rgba(255,255,255,0.14);
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.10);
}

.main-profile-avatar-v139 {
  width: 74px;
  height: 74px;
  border-radius: 22px;
  background: rgba(255,255,255,0.10) center/cover no-repeat;
  border: 2px solid rgba(255,255,255,0.20);
  display: grid;
  place-items: center;
  color: #fff2b6;
  font-size: 28px;
  font-weight: 1000;
  box-shadow: 0 10px 22px rgba(0,0,0,0.25);
}

.main-profile-info-v139 {
  min-width: 0;
}

.main-profile-name-v139 {
  font-size: 20px;
  font-weight: 1000;
  color: #ffffff;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.main-profile-sub-v139,
.main-profile-id-v139 {
  margin-top: 3px;
  font-size: 12px;
  font-weight: 750;
  color: rgba(237,248,255,0.68);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.main-profile-refresh-v139 {
  padding: 9px 12px;
  border-radius: 12px;
  font-size: 12px;
  font-weight: 950;
}

.main-profile-summary-v139 {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
}

.main-profile-summary-tile-v139 {
  padding: 10px;
  border-radius: 14px;
  background: rgba(255,255,255,0.09);
  border: 1px solid rgba(255,255,255,0.11);
  text-align: center;
}

.main-profile-summary-tile-v139 span {
  display: block;
  font-size: 11px;
  font-weight: 850;
  color: rgba(237,248,255,0.64);
}

.main-profile-summary-tile-v139 b {
  display: block;
  margin-top: 5px;
  color: #fff2b6;
  font-size: 15px;
  font-weight: 1000;
}

.main-profile-expbar-v139 {
  height: 12px;
  overflow: hidden;
  border-radius: 999px;
  background: rgba(0,0,0,0.35);
  border: 1px solid rgba(255,255,255,0.12);
}

.main-profile-expbar-v139 > div {
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, #65b7ff, #5cff9d);
  box-shadow: 0 0 16px rgba(92,255,157,0.35);
}

.main-profile-badges-v139,
.main-profile-stat-card-v139,
.main-profile-empty {
  padding: 12px;
  border-radius: 16px;
  background: rgba(8, 12, 20, 0.43);
  border: 1px solid rgba(255,255,255,0.10);
}

.main-profile-section-title-v139,
.main-profile-stat-head-v139 {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 9px;
  color: #ffd36a;
  font-size: 13px;
  font-weight: 1000;
}

.main-profile-stat-head-v139 span {
  padding: 3px 8px;
  border-radius: 9px;
  background: rgba(255,211,106,0.12);
  color: #fff2b6;
}

.main-profile-badge-grid-v139 {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.main-profile-badge-v139 {
  width: 42px;
  height: 42px;
  border-radius: 12px;
  background: rgba(255,255,255,0.10) center/contain no-repeat;
  border: 1px solid rgba(255,255,255,0.14);
  display: grid;
  place-items: center;
  color: #fff2b6;
  font-size: 12px;
  font-weight: 1000;
}

.main-profile-stats-grid-v139 {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.main-profile-stat-row-v139 {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 6px 0;
  border-top: 1px solid rgba(255,255,255,0.07);
  font-size: 12px;
  font-weight: 800;
  color: rgba(237,248,255,0.76);
}

.main-profile-stat-row-v139 span {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.main-profile-stat-row-v139 b {
  color: #ffffff;
  font-weight: 1000;
}

.main-profile-empty,
.main-profile-empty-line-v139,
.main-profile-subtitle-v139 {
  color: rgba(237,248,255,0.58);
  font-size: 12px;
  line-height: 1.35;
}

.main-profile-empty {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.main-profile-subtitle-v139 {
  margin-top: 8px;
  padding-top: 8px;
  border-top: 1px solid rgba(255,255,255,0.08);
  color: rgba(255,211,106,0.78);
  font-weight: 900;
}

@media (max-width: 760px) {
  .main-profile-head-v139 {
    grid-template-columns: 58px 1fr;
  }

  .main-profile-avatar-v139 {
    width: 56px;
    height: 56px;
    border-radius: 16px;
  }

  .main-profile-refresh-v139 {
    grid-column: 1 / -1;
  }

  .main-profile-summary-v139,
  .main-profile-stats-grid-v139 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}


/* v140: main menu tab cleanup + leaderboard tab */
.ahardice-main-menu:not(.main-tab-play) .ahardice-center-card {
  display: none !important;
}

.ahardice-main-menu.main-tab-leaderboard .main-side-panel {
  left: 188px;
  top: 132px;
  width: min(960px, calc(100vw - 226px));
  max-height: calc(100vh - 164px);
}

.ahardice-main-menu.main-tab-profile .main-side-panel,
.ahardice-main-menu.main-tab-shop .main-side-panel,
.ahardice-main-menu.main-tab-clans .main-side-panel,
.ahardice-main-menu.main-tab-skins .main-side-panel {
  left: 188px;
  width: min(650px, calc(100vw - 226px));
}

.main-leaderboard-root-v140 {
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.main-leaderboard-toolbar-v140 {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 12px;
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(31,75,104,0.86), rgba(15,40,61,0.86));
  border: 1px solid rgba(255,255,255,0.13);
}

.main-leaderboard-toolbar-v140 b {
  display: block;
  color: #ffffff;
  font-size: 18px;
  font-weight: 1000;
}

.main-leaderboard-toolbar-v140 span {
  display: block;
  margin-top: 3px;
  color: rgba(237,248,255,0.65);
  font-size: 12px;
  font-weight: 750;
}

.main-leaderboard-refresh-v140 {
  min-width: 104px;
  padding: 9px 13px;
  border-radius: 12px;
  font-size: 13px;
  font-weight: 950;
}

.main-leaderboard-grid-v140 {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.main-leaderboard-card-v140 {
  min-height: 360px;
  padding: 12px;
  border-radius: 18px;
  background: rgba(8, 12, 20, 0.56);
  border: 1px solid rgba(255,255,255,0.12);
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.08);
}

.main-leaderboard-card-title-v140 {
  margin-bottom: 10px;
  color: #fff2b6;
  font-size: 17px;
  font-weight: 1000;
  text-shadow: 0 2px 5px rgba(0,0,0,0.35);
}

.main-leaderboard-list-v140 {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.main-leaderboard-row-v140 {
  display: grid;
  grid-template-columns: 42px 46px minmax(0, 1fr) auto;
  align-items: center;
  gap: 9px;
  padding: 9px;
  border-radius: 14px;
  background: rgba(255,255,255,0.075);
  border: 1px solid rgba(255,255,255,0.085);
}

.main-leaderboard-row-v140.top-1 {
  background: linear-gradient(180deg, rgba(255,211,106,0.22), rgba(255,211,106,0.08));
  border-color: rgba(255,211,106,0.34);
}

.main-leaderboard-row-v140.top-2 {
  background: linear-gradient(180deg, rgba(210,230,255,0.18), rgba(210,230,255,0.07));
  border-color: rgba(210,230,255,0.26);
}

.main-leaderboard-row-v140.top-3 {
  background: linear-gradient(180deg, rgba(224,137,73,0.19), rgba(224,137,73,0.07));
  border-color: rgba(224,137,73,0.28);
}

.main-leaderboard-rank-v140 {
  color: #ffffff;
  font-size: 16px;
  font-weight: 1000;
  text-align: center;
}

.main-leaderboard-avatar-v140 {
  width: 42px;
  height: 42px;
  border-radius: 13px;
  background: rgba(255,255,255,0.10) center/cover no-repeat;
  display: grid;
  place-items: center;
  color: #fff2b6;
  font-size: 17px;
  font-weight: 1000;
  border: 1px solid rgba(255,255,255,0.15);
}

.main-leaderboard-info-v140 {
  min-width: 0;
}

.main-leaderboard-name-v140 {
  color: #ffffff;
  font-size: 14px;
  font-weight: 1000;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.main-leaderboard-sub-v140 {
  margin-top: 2px;
  color: rgba(237,248,255,0.62);
  font-size: 11px;
  font-weight: 750;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.main-leaderboard-value-v140 {
  min-width: 76px;
  text-align: right;
}

.main-leaderboard-value-v140 b {
  display: block;
  color: #5cff9d;
  font-size: 15px;
  font-weight: 1000;
}

.main-leaderboard-value-v140 span {
  display: block;
  margin-top: 1px;
  color: rgba(237,248,255,0.58);
  font-size: 10px;
  font-weight: 850;
}

.main-leaderboard-empty-v140,
.main-leaderboard-hint-v140 {
  padding: 12px;
  border-radius: 14px;
  background: rgba(255,255,255,0.055);
  color: rgba(237,248,255,0.68);
  font-size: 12px;
  font-weight: 750;
}

.main-leaderboard-hint-v140 {
  text-align: center;
}

@media (max-width: 980px) {
  .ahardice-main-menu.main-tab-leaderboard .main-side-panel,
  .ahardice-main-menu.main-tab-profile .main-side-panel,
  .ahardice-main-menu.main-tab-shop .main-side-panel,
  .ahardice-main-menu.main-tab-clans .main-side-panel,
  .ahardice-main-menu.main-tab-skins .main-side-panel {
    left: 138px;
    width: calc(100vw - 152px);
    top: 128px;
  }

  .main-leaderboard-grid-v140 {
    grid-template-columns: 1fr;
  }
}


/* v141: leaderboard/menu polish */
.main-leaderboard-toolbar-v140,
.main-leaderboard-hint-v140 {
  display: none !important;
}

.ahardice-main-menu.main-tab-leaderboard .main-side-panel {
  left: 50% !important;
  top: 132px !important;
  transform: translateX(-50%) !important;
  width: min(960px, calc(100vw - 220px)) !important;
  max-height: calc(100vh - 164px) !important;
}

.ahardice-main-menu.main-tab-profile .main-side-panel {
  left: 50% !important;
  top: 132px !important;
  transform: translateX(-50%) !important;
  width: min(720px, calc(100vw - 220px)) !important;
  max-height: calc(100vh - 164px) !important;
}

.ahardice-main-menu.main-tab-leaderboard .main-menu-content,
.ahardice-main-menu.main-tab-profile .main-menu-content {
  text-align: left;
}

.main-menu-panel-switching-v141 {
  animation: mainMenuPanelFadeSlideV141 180ms ease-out both;
}

@keyframes mainMenuPanelFadeSlideV141 {
  from {
    opacity: 0;
    transform: translateX(-50%) translateY(10px) scale(0.985);
    filter: blur(2px);
  }
  to {
    opacity: 1;
    transform: translateX(-50%) translateY(0) scale(1);
    filter: blur(0);
  }
}

.main-menu-content:not(.hidden) {
  transition: opacity 180ms ease, transform 180ms ease, filter 180ms ease;
}

.ahardice-main-menu.main-tab-play .main-side-panel {
  opacity: 0;
  pointer-events: none;
}

.main-leaderboard-root-v140 {
  gap: 0;
}

.main-leaderboard-grid-v140 {
  align-items: stretch;
}

.main-leaderboard-sub-v140:empty {
  display: none;
}

@media (max-width: 980px) {
  .ahardice-main-menu.main-tab-leaderboard .main-side-panel,
  .ahardice-main-menu.main-tab-profile .main-side-panel {
    left: 50% !important;
    width: calc(100vw - 150px) !important;
    top: 128px !important;
    transform: translateX(-50%) !important;
  }
}

@media (max-width: 760px) {
  .ahardice-main-menu.main-tab-leaderboard .main-side-panel,
  .ahardice-main-menu.main-tab-profile .main-side-panel {
    left: 50% !important;
    width: calc(100vw - 24px) !important;
    top: 116px !important;
    transform: translateX(-50%) !important;
  }
}


/* v142: shop/cosmetics coming soon panels */
.ahardice-main-menu.main-tab-shop .main-side-panel,
.ahardice-main-menu.main-tab-skins .main-side-panel {
  left: 50% !important;
  top: 132px !important;
  transform: translateX(-50%) !important;
  width: min(650px, calc(100vw - 220px)) !important;
  max-height: calc(100vh - 164px) !important;
}

.main-coming-soon-v142 {
  min-height: 260px;
  display: grid;
  place-items: center;
  text-align: center;
  border-radius: 20px;
  background: rgba(8, 12, 20, 0.42);
  border: 1px solid rgba(255,255,255,0.10);
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.08);
}

.main-coming-soon-v142 b {
  color: #fff2b6;
  font-size: clamp(28px, 4vw, 46px);
  font-weight: 1000;
  letter-spacing: 0.2px;
  text-shadow: 0 4px 10px rgba(0,0,0,0.42);
}

@media (max-width: 980px) {
  .ahardice-main-menu.main-tab-shop .main-side-panel,
  .ahardice-main-menu.main-tab-skins .main-side-panel {
    left: 50% !important;
    width: calc(100vw - 150px) !important;
    top: 128px !important;
    transform: translateX(-50%) !important;
  }
}

@media (max-width: 760px) {
  .ahardice-main-menu.main-tab-shop .main-side-panel,
  .ahardice-main-menu.main-tab-skins .main-side-panel {
    left: 50% !important;
    width: calc(100vw - 24px) !important;
    top: 116px !important;
    transform: translateX(-50%) !important;
  }
}


/* v143: minimap tabs + environment bars with endpoint icons */
.minimap-tools {
  position: fixed;
  right: 206px;
  top: 18px;
  width: 190px;
  z-index: 21;
  display: grid;
  gap: 8px;
  pointer-events: auto;
  user-select: none;
}

.minimap-tool-tabs {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 7px;
  padding: 7px;
  border-radius: 15px;
  background: rgba(8, 12, 20, 0.58);
  border: 1px solid rgba(255,255,255,0.12);
  box-shadow: 0 12px 28px rgba(0,0,0,0.25), inset 0 1px 0 rgba(255,255,255,0.08);
  backdrop-filter: blur(8px);
}

.minimap-tool-tab {
  width: 52px;
  height: 46px;
  padding: 8px;
  border-radius: 12px;
  display: grid;
  place-items: center;
  background: linear-gradient(180deg, rgba(82, 162, 226, 0.96), rgba(48, 104, 191, 0.96));
  border: 2px solid rgba(16, 48, 101, 0.92);
  box-shadow: 0 4px 0 rgba(10, 31, 65, 0.80), inset 0 1px 0 rgba(255,255,255,0.28);
  cursor: pointer;
}

.minimap-tool-tab:hover,
.minimap-tool-tab.active {
  transform: translateY(-1px);
  background: linear-gradient(180deg, rgba(104, 184, 244, 0.98), rgba(59, 125, 211, 0.98));
}

.minimap-tool-tab.danger {
  background: linear-gradient(180deg, rgba(255, 126, 103, 0.98), rgba(201, 60, 61, 0.98));
  border-color: rgba(112, 28, 36, 0.92);
  box-shadow: 0 4px 0 rgba(86, 22, 29, 0.82), inset 0 1px 0 rgba(255,255,255,0.26);
}

.minimap-tool-tab img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
  pointer-events: none;
  filter: drop-shadow(0 2px 2px rgba(0,0,0,0.38));
}

.minimap-tools .env-indicators {
  position: static !important;
  width: 100% !important;
  display: grid;
  gap: 7px;
  z-index: auto;
  pointer-events: none;
}

.minimap-tools .env-indicators.hidden {
  display: none !important;
}

.minimap-tools .env-row {
  position: relative;
  grid-template-columns: 1fr auto;
  grid-template-rows: auto 12px;
  gap: 4px 8px;
  padding: 7px 10px 9px;
  border-radius: 13px;
  background: rgba(8, 12, 20, 0.64);
  border: 1px solid rgba(255,255,255,0.12);
  box-shadow: 0 8px 18px rgba(0,0,0,0.22), inset 0 1px 0 rgba(255,255,255,0.08);
}

.minimap-tools .env-row i {
  position: relative;
  grid-column: 1 / -1;
  height: 12px;
  overflow: visible;
  border-radius: 999px;
  background: rgba(0,0,0,0.45);
  box-shadow: inset 0 1px 3px rgba(0,0,0,0.48);
}

.minimap-tools .env-row em {
  height: 100%;
  min-width: 0;
  border-radius: inherit;
}

.env-progress-icon {
  position: absolute;
  top: 50%;
  left: calc(var(--env-pct, 0%) - 9px);
  width: 18px;
  height: 18px;
  transform: translateY(-50%);
  object-fit: contain;
  filter: drop-shadow(0 2px 2px rgba(0,0,0,0.58));
  pointer-events: none;
  transition: left 160ms linear;
}

.env-row:not(.active) .env-progress-icon {
  opacity: 0.46;
}

.hud-hidden-in-menu {
  display: none !important;
}

body.menu-open .minimap-tools {
  display: none !important;
}

@media (max-width: 980px) {
  .minimap-tools {
    right: 170px;
    top: 16px;
    width: 166px;
  }

  .minimap-tool-tab {
    width: 45px;
    height: 40px;
    padding: 7px;
  }
}

@media (max-width: 720px) {
  .minimap-tools {
    right: 10px;
    top: 172px;
    width: 160px;
  }
}


/* v146: exact layout - tools on the RIGHT SIDE of the minimap */
.minimap {
  position: fixed !important;
  left: 18px !important;
  right: auto !important;
  top: 18px !important;
  width: auto !important;
  padding: 0 !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  backdrop-filter: none !important;
  z-index: 24 !important;
}

#minimapCanvas {
  width: 174px !important;
  height: 174px !important;
  border: none !important;
  box-shadow: none !important;
  outline: none !important;
  background: transparent !important;
}

.minimap-tools {
  position: fixed !important;
  left: 204px !important;
  right: auto !important;
  top: 18px !important;
  width: 188px !important;
  z-index: 25 !important;
  display: grid !important;
  gap: 8px !important;
  pointer-events: auto !important;
  user-select: none !important;
}

.minimap-tool-tabs {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 7px !important;
  padding: 0 !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
}

.minimap-tool-tab {
  width: auto !important;
  height: 44px !important;
  padding: 8px !important;
  border-radius: 12px !important;
}

.minimap-tools .env-indicators {
  position: static !important;
  left: auto !important;
  right: auto !important;
  top: auto !important;
  width: 100% !important;
  display: grid !important;
  gap: 7px !important;
  z-index: auto !important;
  pointer-events: none !important;
}

.minimap-tools .env-indicators.hidden {
  display: none !important;
}

body.menu-open .minimap,
body.menu-open .minimap-tools {
  display: none !important;
}

@media (max-width: 900px) {
  .minimap {
    left: 10px !important;
    top: 12px !important;
  }

  #minimapCanvas {
    width: 150px !important;
    height: 150px !important;
  }

  .minimap-tools {
    left: 168px !important;
    top: 12px !important;
    width: 160px !important;
  }

  .minimap-tool-tab {
    height: 40px !important;
    padding: 7px !important;
  }
}

@media (max-width: 520px) {
  .minimap-tools {
    left: 10px !important;
    top: 170px !important;
    width: 150px !important;
  }
}


/* v147: restore minimap size and add thin black outline */
.minimap {
  position: fixed !important;
  left: 18px !important;
  right: auto !important;
  top: 18px !important;
  width: auto !important;
  padding: 0 !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  backdrop-filter: none !important;
  z-index: 24 !important;
}

/* Do not force new minimap size here. These values restore the old game minimap size. */
#minimapCanvas {
  width: 228px !important;
  height: 228px !important;
  display: block !important;
  border: 1px solid rgba(0, 0, 0, 0.92) !important;
  box-sizing: border-box !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  outline: none !important;
  background: transparent !important;
}

/* Buttons start after restored minimap width: 18px + 228px + 12px */
.minimap-tools {
  position: fixed !important;
  left: 258px !important;
  right: auto !important;
  top: 18px !important;
  width: 188px !important;
  z-index: 25 !important;
  display: grid !important;
  gap: 8px !important;
  pointer-events: auto !important;
  user-select: none !important;
}

@media (max-width: 900px) {
  .minimap {
    left: 10px !important;
    top: 12px !important;
  }

  #minimapCanvas {
    width: 180px !important;
    height: 180px !important;
  }

  .minimap-tools {
    left: 202px !important;
    top: 12px !important;
    width: 160px !important;
  }
}

@media (max-width: 520px) {
  .minimap-tools {
    left: 10px !important;
    top: 202px !important;
    width: 180px !important;
  }
}


/* v148: Ahardice-like panels redesign for craft/build/shop, clans and trade */
:root {
  --dyn-panel-blue: #087fa5;
  --dyn-panel-blue-2: #076f96;
  --dyn-panel-dark: #0a628c;
  --dyn-panel-border: #053244;
  --dyn-black-border: rgba(0,0,0,0.78);
  --dyn-row-grey: #666472;
  --dyn-row-selected: #b9a9b8;
  --dyn-scroll: #8fd0ee;
  --dyn-green: #83dd3e;
  --dyn-green-dark: #55aa2a;
  --dyn-yellow: #ffcb33;
  --dyn-yellow-dark: #c68a12;
}

/* Common blue frame */
#craftPanel.craft-panel.game-panel,
#buildPanel.craft-panel.game-panel,
#shopPanel.craft-panel.game-panel,
#clanPanel.social-panel,
#tradePanel.social-panel {
  background: linear-gradient(180deg, var(--dyn-panel-blue), var(--dyn-panel-blue-2)) !important;
  border: 3px solid var(--dyn-black-border) !important;
  border-radius: 10px !important;
  box-shadow: 0 4px 0 rgba(0,0,0,0.55), 0 18px 48px rgba(0,0,0,0.38) !important;
  color: #f0fbff !important;
  font-family: var(--font-main) !important;
  text-shadow: 0 2px 1px rgba(0,0,0,0.42);
}

/* Craft / Build / Shop like first screenshot */
#craftPanel.craft-panel.game-panel,
#buildPanel.craft-panel.game-panel,
#shopPanel.craft-panel.game-panel {
  left: 50% !important;
  top: 50% !important;
  right: auto !important;
  transform: translate(-50%, -50%) !important;
  width: min(640px, calc(100vw - 24px)) !important;
  height: min(384px, calc(100vh - 34px)) !important;
  padding: 10px 16px 10px 10px !important;
  overflow: hidden !important;
}

#craftPanel .floating-close,
#buildPanel .floating-close,
#shopPanel .floating-close,
#clanPanel .social-close,
#tradePanel .social-close {
  position: absolute !important;
  right: 12px !important;
  top: 12px !important;
  width: 32px !important;
  height: 32px !important;
  min-width: 32px !important;
  padding: 0 !important;
  border-radius: 6px !important;
  display: grid !important;
  place-items: center !important;
  background: linear-gradient(180deg, #3ba4cf, #1780ae) !important;
  border: 1px solid rgba(0,0,0,0.55) !important;
  color: #d9f5ff !important;
  font-size: 30px !important;
  font-weight: 1000 !important;
  line-height: 1 !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.28) !important;
  z-index: 6 !important;
}

#craftPanel .craft-category-tabs,
#buildPanel .craft-category-tabs,
#shopPanel .craft-category-tabs,
#shopPanel #shopBalance {
  display: none !important;
}

#craftPanel .craft-shell,
#buildPanel .craft-shell,
#shopPanel .craft-shell {
  display: grid !important;
  grid-template-columns: 288px minmax(0, 1fr) !important;
  gap: 0 !important;
  width: 100% !important;
  height: 100% !important;
  border: none !important;
  border-radius: 0 !important;
  background: transparent !important;
  overflow: hidden !important;
}

#craftPanel .craft-list-wrap,
#buildPanel .craft-list-wrap,
#shopPanel .craft-list-wrap {
  min-width: 0 !important;
  display: block !important;
  background: #0b6490 !important;
  border-right: 9px solid #062839 !important;
  border-radius: 2px 0 0 2px !important;
  overflow: hidden !important;
  height: 100% !important;
}

#craftPanel .craft-list-title,
#buildPanel .craft-list-title,
#shopPanel .craft-list-title {
  display: none !important;
}

#craftPanel .craft-list,
#buildPanel .craft-list,
#shopPanel .craft-list {
  height: 100% !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  padding: 0 7px 0 0 !important;
  scrollbar-width: auto !important;
  scrollbar-color: var(--dyn-scroll) transparent !important;
}

#craftPanel .craft-list::-webkit-scrollbar,
#buildPanel .craft-list::-webkit-scrollbar,
#shopPanel .craft-list::-webkit-scrollbar,
#clanPanel .social-body::-webkit-scrollbar,
#tradePanel .social-body::-webkit-scrollbar,
#tradePanel .ahardice-trade-list-v148::-webkit-scrollbar,
#clanPanel .ahardice-clan-list-v148::-webkit-scrollbar {
  width: 18px !important;
}

#craftPanel .craft-list::-webkit-scrollbar-track,
#buildPanel .craft-list::-webkit-scrollbar-track,
#shopPanel .craft-list::-webkit-scrollbar-track,
#clanPanel .social-body::-webkit-scrollbar-track,
#tradePanel .social-body::-webkit-scrollbar-track,
#tradePanel .ahardice-trade-list-v148::-webkit-scrollbar-track,
#clanPanel .ahardice-clan-list-v148::-webkit-scrollbar-track {
  background: transparent !important;
}

#craftPanel .craft-list::-webkit-scrollbar-thumb,
#buildPanel .craft-list::-webkit-scrollbar-thumb,
#shopPanel .craft-list::-webkit-scrollbar-thumb,
#clanPanel .social-body::-webkit-scrollbar-thumb,
#tradePanel .social-body::-webkit-scrollbar-thumb,
#tradePanel .ahardice-trade-list-v148::-webkit-scrollbar-thumb,
#clanPanel .ahardice-clan-list-v148::-webkit-scrollbar-thumb {
  background: var(--dyn-scroll) !important;
  border-radius: 12px !important;
  border: 4px solid transparent !important;
  background-clip: content-box !important;
}

#craftPanel .craft-list-item,
#buildPanel .craft-list-item,
#shopPanel .craft-list-item {
  width: 100% !important;
  min-height: 39px !important;
  margin: 0 !important;
  padding: 4px 10px 4px 12px !important;
  border-radius: 0 !important;
  border: none !important;
  border-bottom: 3px solid #064b64 !important;
  display: grid !important;
  grid-template-columns: 28px 1fr !important;
  gap: 8px !important;
  align-items: center !important;
  text-align: left !important;
  background: var(--dyn-row-grey) !important;
  color: #e8e8e8 !important;
  box-shadow: none !important;
}

#craftPanel .craft-list-item.selected,
#buildPanel .craft-list-item.selected,
#shopPanel .craft-list-item.selected {
  background: var(--dyn-row-selected) !important;
  border-color: #064b64 !important;
  box-shadow: none !important;
}

#craftPanel .craft-list-icon,
#buildPanel .craft-list-icon,
#shopPanel .craft-list-icon {
  width: 28px !important;
  height: 28px !important;
  border: none !important;
  border-radius: 0 !important;
  background-color: transparent !important;
  background-size: contain !important;
  filter: drop-shadow(0 2px 1px rgba(0,0,0,0.45));
}

#craftPanel .craft-list-name,
#buildPanel .craft-list-name,
#shopPanel .craft-list-name {
  font-size: 16px !important;
  font-weight: 950 !important;
  color: #e6e6e6 !important;
  text-shadow: 0 2px 1px rgba(0,0,0,0.45) !important;
}

#craftPanel .craft-list-meta,
#buildPanel .craft-list-meta,
#shopPanel .craft-list-meta {
  display: none !important;
}

#craftPanel .craft-detail,
#buildPanel .craft-detail,
#shopPanel .craft-detail {
  padding: 16px 20px 12px 28px !important;
  overflow: auto !important;
  color: #f1fbff !important;
  background: transparent !important;
}

#craftPanel .craft-detail-card,
#buildPanel .craft-detail-card,
#shopPanel .craft-detail-card {
  min-height: auto !important;
}

#craftPanel .craft-detail-head,
#buildPanel .craft-detail-head,
#shopPanel .craft-detail-head {
  display: block !important;
  text-align: center !important;
  padding-right: 30px !important;
}

#craftPanel .craft-detail-title,
#buildPanel .craft-detail-title,
#shopPanel .craft-detail-title {
  font-size: 26px !important;
  font-weight: 1000 !important;
  color: white !important;
  text-shadow: 0 3px 1px rgba(0,0,0,0.48) !important;
}

#craftPanel .craft-detail-stars,
#buildPanel .craft-detail-stars,
#shopPanel .craft-detail-stars {
  margin-top: 4px !important;
  font-size: 17px !important;
  color: #ffd43f !important;
  letter-spacing: 1px !important;
  text-align: center !important;
}

#craftPanel .craft-detail-desc,
#buildPanel .craft-detail-desc,
#shopPanel .craft-detail-desc {
  margin: 9px 0 0 !important;
  font-size: 15px !important;
  line-height: 1.22 !important;
  color: #e9faff !important;
  font-weight: 900 !important;
}

#craftPanel .craft-recipe-box,
#buildPanel .craft-recipe-box,
#shopPanel .craft-recipe-box {
  margin-top: 12px !important;
  min-height: 97px !important;
  padding: 10px 14px !important;
  border-radius: 4px !important;
  background: #06587b !important;
  display: grid !important;
  grid-template-columns: 1fr 132px !important;
  gap: 10px !important;
  align-items: center !important;
}

#craftPanel .craft-ingredient,
#buildPanel .craft-ingredient,
#shopPanel .craft-ingredient {
  grid-template-columns: 34px 1fr !important;
  gap: 8px !important;
}

#craftPanel .craft-ingredient-text,
#buildPanel .craft-ingredient-text,
#shopPanel .craft-ingredient-text {
  font-size: 18px !important;
  font-weight: 1000 !important;
  color: #77ff87 !important;
  text-shadow: 0 2px 1px rgba(0,0,0,0.48) !important;
}

#craftPanel .craft-ingredient-text.missing,
#buildPanel .craft-ingredient-text.missing,
#shopPanel .craft-ingredient-text.missing {
  color: #ff6a5f !important;
}

#craftPanel .craft-preview-icon,
#buildPanel .craft-preview-icon,
#shopPanel .craft-preview-icon {
  height: 82px !important;
  background-size: contain !important;
  filter: drop-shadow(0 8px 10px rgba(0,0,0,0.52)) !important;
}

#craftPanel .craft-create-button,
#buildPanel .craft-create-button,
#shopPanel .craft-create-button {
  width: 178px !important;
  min-height: 48px !important;
  margin: 16px auto 0 !important;
  padding: 10px 14px !important;
  border-radius: 11px !important;
  background: linear-gradient(180deg, #9fed58, #63c234) !important;
  border: 2px solid rgba(26,95,24,0.86) !important;
  color: #fff !important;
  font-size: 20px !important;
  font-weight: 1000 !important;
  text-shadow: 0 2px 1px rgba(0,0,0,0.42) !important;
  box-shadow: 0 5px 0 #357e23, 0 8px 12px rgba(0,0,0,0.30), inset 0 1px 0 rgba(255,255,255,0.24) !important;
}

#craftPanel .craft-create-button:disabled,
#buildPanel .craft-create-button:disabled {
  filter: grayscale(0.35) brightness(0.86) !important;
  opacity: 0.82 !important;
}

/* Clans like second screenshot */
#clanPanel.social-panel {
  left: 50% !important;
  top: 50% !important;
  right: auto !important;
  transform: translate(-50%, -50%) !important;
  width: min(462px, calc(100vw - 26px)) !important;
  height: min(516px, calc(100vh - 26px)) !important;
  padding: 12px 10px 14px !important;
  overflow: hidden !important;
}

#clanPanel .social-head,
#tradePanel .social-head {
  position: relative !important;
  height: 46px !important;
  display: grid !important;
  place-items: center !important;
  margin: 0 0 8px !important;
}

#clanPanel .social-title,
#tradePanel .social-title {
  color: #fff !important;
  font-size: 28px !important;
  font-weight: 1000 !important;
  text-align: center !important;
  text-shadow: 0 3px 1px rgba(0,0,0,0.48) !important;
}

#clanPanel .social-body {
  position: relative !important;
  height: calc(100% - 54px) !important;
  padding: 0 0 70px !important;
  overflow: hidden !important;
  display: block !important;
}

.ahardice-clan-list-v148 {
  position: absolute !important;
  left: 0 !important;
  right: 28px !important;
  top: 0 !important;
  bottom: 62px !important;
  padding: 10px 10px !important;
  overflow-y: auto !important;
  border-radius: 8px !important;
  background: #0b6391 !important;
}

.ahardice-clan-row-v148 {
  min-height: 50px !important;
  display: grid !important;
  grid-template-columns: 1fr 98px !important;
  align-items: center !important;
  gap: 8px !important;
  color: #fff !important;
}

.ahardice-clan-row-v148 b {
  font-size: 20px !important;
  font-weight: 1000 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
  text-shadow: 0 3px 1px rgba(0,0,0,0.48) !important;
}

.ahardice-clan-form-v148 {
  position: absolute !important;
  left: 4px !important;
  right: 4px !important;
  bottom: 0 !important;
  display: grid !important;
  grid-template-columns: 1fr 210px !important;
  gap: 14px !important;
  align-items: center !important;
}

.ahardice-clan-form-v148 input {
  height: 40px !important;
  box-sizing: border-box !important;
  padding: 0 12px !important;
  border-radius: 8px !important;
  border: none !important;
  background: #424043 !important;
  color: #e9e9e9 !important;
  font-size: 16px !important;
  font-weight: 900 !important;
  font-style: italic !important;
  box-shadow: inset 0 2px 0 rgba(0,0,0,0.28) !important;
}

.ahardice-yellow-button-v148 {
  min-height: 44px !important;
  padding: 8px 14px !important;
  border-radius: 8px !important;
  background: linear-gradient(180deg, #ffd744, #ffbf25) !important;
  border: 2px solid #9e6b08 !important;
  color: #8a4e0a !important;
  font-size: 15px !important;
  font-weight: 1000 !important;
  text-shadow: 0 1px 0 rgba(255,255,255,0.35) !important;
  box-shadow: 0 4px 0 #9b6507, 0 6px 10px rgba(0,0,0,0.28), inset 0 1px 0 rgba(255,255,255,0.36) !important;
}

.ahardice-yellow-button-v148:disabled {
  opacity: 0.72 !important;
  filter: grayscale(0.25) !important;
}

.ahardice-green-button-v148 {
  min-height: 52px !important;
  padding: 8px 16px !important;
  border-radius: 10px !important;
  background: linear-gradient(180deg, #9fed58, #63c234) !important;
  border: 2px solid rgba(26,95,24,0.86) !important;
  color: #fff !important;
  font-size: 21px !important;
  font-weight: 1000 !important;
  text-shadow: 0 2px 1px rgba(0,0,0,0.42) !important;
  box-shadow: 0 5px 0 #357e23, 0 8px 12px rgba(0,0,0,0.30), inset 0 1px 0 rgba(255,255,255,0.24) !important;
}

/* Trade nearby like third screenshot */
#tradePanel.social-panel {
  left: 50% !important;
  top: 50% !important;
  right: auto !important;
  transform: translate(-50%, -50%) !important;
  width: min(462px, calc(100vw - 26px)) !important;
  height: min(516px, calc(100vh - 26px)) !important;
  padding: 12px 10px 14px !important;
  overflow: hidden !important;
}

#tradePanel .social-body {
  height: calc(100% - 54px) !important;
  padding: 0 !important;
  overflow: hidden !important;
  display: block !important;
}

.ahardice-trade-list-v148 {
  height: 100% !important;
  padding: 12px 12px !important;
  overflow-y: auto !important;
  border-radius: 8px !important;
  background: #0b6391 !important;
}

.ahardice-trade-row-v148 {
  min-height: 52px !important;
  display: grid !important;
  grid-template-columns: 1fr 110px !important;
  align-items: center !important;
  gap: 10px !important;
}

.ahardice-trade-row-v148 b {
  color: #fff !important;
  font-size: 20px !important;
  font-weight: 1000 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
  text-shadow: 0 3px 1px rgba(0,0,0,0.48) !important;
}

.ahardice-trade-row-v148 span {
  display: none !important;
}

/* Active trade keeps functional layout but uses same blue frame */
#tradePanel .trade-modern {
  height: 100% !important;
  overflow: auto !important;
}

#tradePanel .trade-modern-offer,
#tradePanel .trade-modern-inventory {
  background: #0b6391 !important;
  border-radius: 8px !important;
  border: none !important;
}

/* Mobile fallback */
@media (max-width: 760px) {
  #craftPanel.craft-panel.game-panel,
  #buildPanel.craft-panel.game-panel,
  #shopPanel.craft-panel.game-panel,
  #clanPanel.social-panel,
  #tradePanel.social-panel {
    left: 50% !important;
    top: 50% !important;
    transform: translate(-50%, -50%) !important;
    width: calc(100vw - 16px) !important;
    height: calc(100vh - 24px) !important;
  }

  #craftPanel .craft-shell,
  #buildPanel .craft-shell,
  #shopPanel .craft-shell {
    grid-template-columns: 44% 1fr !important;
  }

  .ahardice-clan-form-v148 {
    grid-template-columns: 1fr 140px !important;
    gap: 8px !important;
  }
}


/* v149: auto-scale ingredients + top center coin balance */
.craft-panel.game-panel,
.build-panel.game-panel,
.shop-panel.game-panel {
  overflow: visible !important;
}

.craft-panel.game-panel .craft-detail {
  overflow: hidden !important;
  min-height: 0;
}

.craft-panel.game-panel .craft-detail-card {
  height: 100%;
  min-height: 0 !important;
  display: flex;
  flex-direction: column;
}

.craft-panel.game-panel .craft-detail-desc {
  flex: 0 0 auto;
  max-height: 88px;
  overflow: hidden;
}

.craft-panel.game-panel .craft-recipe-box {
  flex: 1 1 auto;
  min-height: 0;
  align-items: center;
  overflow: hidden;
}

.craft-panel.game-panel .craft-ingredients {
  min-height: 0;
  max-height: 100%;
  overflow: visible;
}

.craft-ingredient-text {
  min-width: 0;
  display: flex;
  align-items: baseline;
  gap: 6px;
  line-height: 1.05;
  white-space: normal;
}

.craft-ingredient-count {
  flex: 0 0 auto;
  font-weight: 1000;
}

.craft-ingredient-name {
  min-width: 0;
  overflow: visible;
  white-space: normal;
  word-break: normal;
  overflow-wrap: anywhere;
  font-weight: 1000;
}

.craft-ingredient-name.long {
  font-size: 14px;
}

.craft-ingredient-name.very-long {
  font-size: 12px;
  line-height: 1.02;
}

.craft-ingredient-name.tiny {
  font-size: 10.5px;
  line-height: 1;
}

.craft-ingredients.compact {
  gap: 7px !important;
}

.craft-ingredients.compact .craft-ingredient {
  grid-template-columns: 30px minmax(0, 1fr) !important;
  gap: 8px !important;
}

.craft-ingredients.compact .craft-ingredient-icon {
  width: 30px !important;
  height: 30px !important;
  border-radius: 8px !important;
}

.craft-ingredients.compact .craft-ingredient-text {
  font-size: 14px !important;
}

.craft-ingredients.dense {
  gap: 5px !important;
}

.craft-ingredients.dense .craft-ingredient {
  grid-template-columns: 26px minmax(0, 1fr) !important;
  gap: 7px !important;
}

.craft-ingredients.dense .craft-ingredient-icon {
  width: 26px !important;
  height: 26px !important;
  border-radius: 7px !important;
}

.craft-ingredients.dense .craft-ingredient-text {
  font-size: 12.5px !important;
}

.craft-ingredients.ultra {
  gap: 3px !important;
}

.craft-ingredients.ultra .craft-ingredient {
  grid-template-columns: 22px minmax(0, 1fr) !important;
  gap: 6px !important;
}

.craft-ingredients.ultra .craft-ingredient-icon {
  width: 22px !important;
  height: 22px !important;
  border-radius: 6px !important;
}

.craft-ingredients.ultra .craft-ingredient-text {
  font-size: 11px !important;
}

.craft-panel.game-panel .craft-ingredients.dense ~ .craft-preview-icon {
  height: 92px !important;
}

.craft-panel.game-panel .craft-ingredients.ultra ~ .craft-preview-icon {
  height: 74px !important;
}

.panel-balance.panel-coin-balance {
  position: absolute !important;
  left: 50% !important;
  top: -2px !important;
  right: auto !important;
  transform: translate(-50%, -50%) !important;
  z-index: 90 !important;
  min-width: 128px;
  height: 38px;
  box-sizing: border-box;
  padding: 6px 18px 7px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  border-radius: 0 0 18px 18px !important;
  background: linear-gradient(180deg, #0b5d83 0%, #0877a7 100%) !important;
  border: 3px solid #043447 !important;
  border-top: none !important;
  color: #fff2b6 !important;
  font-size: 18px !important;
  font-weight: 1000 !important;
  text-shadow: 0 2px 0 rgba(0,0,0,0.35);
  box-shadow: 0 5px 0 rgba(0,0,0,0.24), inset 0 -1px 0 rgba(255,255,255,0.14) !important;
  pointer-events: none !important;
}

.panel-coin-icon {
  width: 24px;
  height: 24px;
  flex: 0 0 auto;
  border-radius: 999px;
  background:
    radial-gradient(circle at 34% 28%, #fff7b9 0 16%, #ffd86b 17% 44%, #d68a22 45% 72%, #8b4d12 73% 100%);
  border: 2px solid #6f3b0f;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.45), 0 2px 4px rgba(0,0,0,0.35);
}

.panel-coin-value {
  line-height: 1;
}


/* v150: global in-game coin balance between minimap and leaderboard */
.craft-panel.game-panel > .panel-balance,
.build-panel.game-panel > .panel-balance,
.shop-panel.game-panel > .panel-balance {
  display: none !important;
}

.game-coin-balance {
  position: fixed;
  left: 50%;
  top: 0;
  transform: translateX(-50%);
  z-index: 38;
  min-width: 138px;
  height: 42px;
  box-sizing: border-box;
  padding: 6px 20px 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  border-radius: 0 0 20px 20px;
  background: linear-gradient(180deg, #0b5d83 0%, #0877a7 100%);
  border: 3px solid #043447;
  border-top: none;
  color: #fff2b6;
  font-size: 20px;
  font-weight: 1000;
  text-shadow: 0 2px 0 rgba(0,0,0,0.35);
  box-shadow: 0 5px 0 rgba(0,0,0,0.24), inset 0 -1px 0 rgba(255,255,255,0.14);
  pointer-events: none;
  user-select: none;
}

.game-coin-balance.hidden,
body.menu-open .game-coin-balance {
  display: none !important;
}

.game-coin-icon {
  width: 26px;
  height: 26px;
  flex: 0 0 auto;
  border-radius: 999px;
  background:
    radial-gradient(circle at 34% 28%, #fff7b9 0 16%, #ffd86b 17% 44%, #d68a22 45% 72%, #8b4d12 73% 100%);
  border: 2px solid #6f3b0f;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.45), 0 2px 4px rgba(0,0,0,0.35);
}

#gameCoinBalanceValue {
  line-height: 1;
}

@media (max-width: 760px) {
  .game-coin-balance {
    min-width: 118px;
    height: 36px;
    font-size: 17px;
    padding: 5px 16px 7px;
  }

  .game-coin-icon {
    width: 22px;
    height: 22px;
  }
}


/* v151: quantity-only ingredients + icon-only craft categories */
.craft-ingredient-text {
  display: block !important;
  white-space: nowrap !important;
  overflow: visible !important;
  text-align: left;
}

.craft-ingredient-count,
.craft-ingredient-name {
  display: none !important;
}

.craft-ingredient-text.ok,
.craft-ingredient-text.missing {
  font-size: inherit;
}

.craft-category-tabs {
  align-items: center;
}

.craft-category-tab.icon-only {
  min-width: 54px !important;
  width: 54px !important;
  height: 50px !important;
  padding: 8px !important;
  display: grid !important;
  grid-template-rows: 1fr !important;
  place-items: center !important;
}

.craft-category-tab.icon-only span {
  display: none !important;
}

.craft-category-tab.icon-only .craft-category-icon {
  width: 34px !important;
  height: 34px !important;
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
}

.craft-panel.game-panel .craft-category-tabs {
  gap: 7px !important;
}


/* v152: visible craft category icon tabs */
.craft-panel.game-panel {
  padding-top: 52px !important;
}

.craft-panel.game-panel .craft-category-tabs {
  position: absolute !important;
  left: 16px !important;
  top: 10px !important;
  right: 64px !important;
  z-index: 70 !important;
  display: flex !important;
  flex-wrap: nowrap !important;
  gap: 7px !important;
  padding: 0 !important;
  margin: 0 !important;
  overflow-x: auto !important;
  overflow-y: visible !important;
  scrollbar-width: thin;
}

.craft-panel.game-panel .craft-category-tabs::-webkit-scrollbar {
  height: 6px;
}

.craft-panel.game-panel .craft-category-tabs::-webkit-scrollbar-thumb {
  background: rgba(150,220,255,0.70);
  border-radius: 999px;
}

.craft-panel.game-panel .craft-category-tab.icon-only {
  flex: 0 0 46px !important;
  min-width: 46px !important;
  width: 46px !important;
  height: 38px !important;
  padding: 6px !important;
  display: grid !important;
  place-items: center !important;
  border-radius: 10px 10px 0 0 !important;
  background: #5d5d6d !important;
  border: 2px solid #07384e !important;
  border-bottom: none !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.16), 0 3px 0 rgba(0,0,0,0.18) !important;
}

.craft-panel.game-panel .craft-category-tab.icon-only.active,
.craft-panel.game-panel .craft-category-tab.icon-only:hover {
  background: #b9adbd !important;
  transform: translateY(-1px);
}

.craft-panel.game-panel .craft-category-tab.icon-only .craft-category-icon {
  width: 28px !important;
  height: 28px !important;
  background-size: contain !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
  filter: drop-shadow(0 2px 2px rgba(0,0,0,0.35));
}

.craft-panel.game-panel .craft-category-tab.icon-only span {
  display: none !important;
}

.craft-panel.game-panel .craft-shell {
  height: calc(100% - 0px) !important;
}

.craft-list-wrap {
  min-height: 0;
}


/* v153: dark purple + gold theme for main in-game panels */
:root {
  --dyn-panel-blue: #4b2f6f;
  --dyn-panel-blue-2: #3a2459;
  --dyn-panel-dark: #32204d;
  --dyn-panel-border: #211433;
  --dyn-black-border: rgba(0,0,0,0.82);
  --dyn-row-grey: #5d536b;
  --dyn-row-selected: #b9a2c9;
  --dyn-scroll: #d7b7ff;
  --dyn-green: #87dc45;
  --dyn-green-dark: #55a72d;
  --dyn-yellow: #ffcc4d;
  --dyn-yellow-dark: #b97918;
  --dyn-gold: #ffd36a;
  --dyn-gold-light: #fff0a8;
}

/* Purple frame panels */
#craftPanel.craft-panel.game-panel,
#buildPanel.craft-panel.game-panel,
#shopPanel.craft-panel.game-panel,
#clanPanel.social-panel,
#tradePanel.social-panel {
  background: linear-gradient(180deg, #5a3880 0%, #4b2f6f 52%, #3a2459 100%) !important;
  border-color: rgba(0,0,0,0.84) !important;
  box-shadow:
    0 9px 0 rgba(18, 9, 29, 0.90),
    0 22px 55px rgba(0,0,0,0.42),
    inset 0 2px 0 rgba(255,255,255,0.12) !important;
}

/* Dark inner content blocks */
#craftPanel .craft-shell,
#buildPanel .craft-shell,
#shopPanel .craft-shell,
#clanPanel .social-list,
#tradePanel .social-list,
#clanPanel .social-body,
#tradePanel .social-body,
#clanPanel .clan-list,
#tradePanel .trade-list,
#clanPanel .players-list,
#tradePanel .players-list {
  background: #32204d !important;
  border-color: rgba(35, 20, 52, 0.95) !important;
}

/* Left list rows */
#craftPanel .craft-list-item,
#buildPanel .craft-list-item,
#shopPanel .craft-list-item {
  background: #5d536b !important;
  border-bottom-color: #1f1730 !important;
  color: #f5edff !important;
}

#craftPanel .craft-list-item.selected,
#buildPanel .craft-list-item.selected,
#shopPanel .craft-list-item.selected {
  background: #b9a2c9 !important;
  color: #ffffff !important;
}

#craftPanel .craft-list-name,
#buildPanel .craft-list-name,
#shopPanel .craft-list-name,
#craftPanel .craft-list-meta,
#buildPanel .craft-list-meta,
#shopPanel .craft-list-meta {
  color: #fff6c6 !important;
  text-shadow: 0 2px 0 rgba(0,0,0,0.38) !important;
}

/* Detail title and text */
#craftPanel .craft-detail-title,
#buildPanel .craft-detail-title,
#shopPanel .craft-detail-title,
#clanPanel .social-title,
#tradePanel .social-title {
  color: #fff6c6 !important;
  text-shadow: 0 3px 0 rgba(0,0,0,0.45) !important;
}

#craftPanel .craft-detail-stars,
#buildPanel .craft-detail-stars,
#shopPanel .craft-detail-stars {
  color: #ffcc4d !important;
  text-shadow: 0 2px 0 rgba(0,0,0,0.42) !important;
}

#craftPanel .craft-detail-desc,
#buildPanel .craft-detail-desc,
#shopPanel .craft-detail-desc {
  color: #f6eaff !important;
}

/* Recipe box */
#craftPanel .craft-recipe-box,
#buildPanel .craft-recipe-box,
#shopPanel .craft-recipe-box {
  background: linear-gradient(180deg, #342052 0%, #28183f 100%) !important;
}

/* Category icon tabs */
#craftPanel .craft-category-tab,
#buildPanel .craft-category-tab,
#shopPanel .craft-category-tab {
  background: #5d536b !important;
  border-color: #211433 !important;
}

#craftPanel .craft-category-tab.active,
#craftPanel .craft-category-tab:hover,
#buildPanel .craft-category-tab.active,
#buildPanel .craft-category-tab:hover,
#shopPanel .craft-category-tab.active,
#shopPanel .craft-category-tab:hover {
  background: #ffcc4d !important;
  border-color: #7a4a12 !important;
}

/* Buttons */
#craftPanel .craft-create-button,
#buildPanel .craft-create-button,
#shopPanel .craft-create-button,
#clanPanel .social-action,
#tradePanel .social-action,
#clanPanel button:not(.social-close),
#tradePanel button:not(.social-close) {
  background: linear-gradient(180deg, #ffdc70 0%, #ffcc4d 45%, #d19122 100%) !important;
  border: 2px solid #7a4a12 !important;
  color: #4b2c08 !important;
  text-shadow: 0 1px 0 rgba(255,255,255,0.28) !important;
  box-shadow:
    0 5px 0 #7a4a12,
    0 10px 18px rgba(0,0,0,0.28),
    inset 0 1px 0 rgba(255,255,255,0.35) !important;
}

#craftPanel .craft-create-button:disabled,
#buildPanel .craft-create-button:disabled,
#shopPanel .craft-create-button:disabled {
  background: linear-gradient(180deg, #7d7a85, #5f5c67) !important;
  color: #d8d4de !important;
  border-color: #3b3548 !important;
  box-shadow: 0 5px 0 #3b3548, inset 0 1px 0 rgba(255,255,255,0.12) !important;
}

/* Close buttons */
#craftPanel .panel-close,
#buildPanel .panel-close,
#shopPanel .panel-close,
#clanPanel .social-close,
#tradePanel .social-close {
  background: linear-gradient(180deg, #8c65b7, #5b3b86) !important;
  border: 2px solid #211433 !important;
  color: #fff6c6 !important;
  text-shadow: 0 2px 0 rgba(0,0,0,0.45) !important;
}

/* Scrollbar */
#craftPanel *::-webkit-scrollbar-thumb,
#buildPanel *::-webkit-scrollbar-thumb,
#shopPanel *::-webkit-scrollbar-thumb,
#clanPanel *::-webkit-scrollbar-thumb,
#tradePanel *::-webkit-scrollbar-thumb {
  background: #d7b7ff !important;
}

#craftPanel *::-webkit-scrollbar-track,
#buildPanel *::-webkit-scrollbar-track,
#shopPanel *::-webkit-scrollbar-track,
#clanPanel *::-webkit-scrollbar-track,
#tradePanel *::-webkit-scrollbar-track {
  background: rgba(0,0,0,0.22) !important;
}

/* Coin HUD also matches purple/gold */
.game-coin-balance {
  background: linear-gradient(180deg, #5a3880 0%, #4b2f6f 100%) !important;
  border-color: #211433 !important;
  color: #fff6c6 !important;
}


/* v154: show craft/build/shop category tabs ABOVE the panel like reference */
#craftPanel.craft-panel.game-panel,
#buildPanel.craft-panel.game-panel,
#shopPanel.craft-panel.game-panel {
  top: 82px !important;
  overflow: visible !important;
  padding-top: 14px !important;
}

/* The tab row must be outside/above the blue-purple window, not hidden inside it */
#craftPanel .craft-category-tabs,
#buildPanel .craft-category-tabs,
#shopPanel .craft-category-tabs {
  position: absolute !important;
  left: 0 !important;
  top: -72px !important;
  right: auto !important;
  z-index: 120 !important;
  height: 70px !important;
  max-width: calc(100vw - 140px) !important;
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: flex-end !important;
  gap: 10px !important;
  padding: 0 0 4px 0 !important;
  margin: 0 !important;
  overflow-x: auto !important;
  overflow-y: visible !important;
  scrollbar-width: none !important;
  pointer-events: auto !important;
}

#craftPanel .craft-category-tabs::-webkit-scrollbar,
#buildPanel .craft-category-tabs::-webkit-scrollbar,
#shopPanel .craft-category-tabs::-webkit-scrollbar {
  display: none !important;
}

#craftPanel .craft-category-tab,
#buildPanel .craft-category-tab,
#shopPanel .craft-category-tab,
#craftPanel .craft-category-tab.icon-only,
#buildPanel .craft-category-tab.icon-only,
#shopPanel .craft-category-tab.icon-only {
  flex: 0 0 90px !important;
  width: 90px !important;
  min-width: 90px !important;
  height: 64px !important;
  padding: 10px !important;
  display: grid !important;
  place-items: center !important;
  border-radius: 9px 9px 0 0 !important;
  background: linear-gradient(180deg, #31451f 0%, #1d3217 100%) !important;
  border: 3px solid #050906 !important;
  border-bottom-width: 2px !important;
  box-shadow:
    inset 0 2px 0 rgba(255,255,255,0.12),
    0 5px 0 rgba(0,0,0,0.45) !important;
  transform: none !important;
  opacity: 0.78;
}

#craftPanel .craft-category-tab.active,
#buildPanel .craft-category-tab.active,
#shopPanel .craft-category-tab.active,
#craftPanel .craft-category-tab:hover,
#buildPanel .craft-category-tab:hover,
#shopPanel .craft-category-tab:hover {
  background: linear-gradient(180deg, #8767a6 0%, #6c4a91 100%) !important;
  border-color: #050906 !important;
  opacity: 1;
  transform: translateY(-1px) !important;
}

#craftPanel .craft-category-tab .craft-category-icon,
#buildPanel .craft-category-tab .craft-category-icon,
#shopPanel .craft-category-tab .craft-category-icon,
#craftPanel .craft-category-tab.icon-only .craft-category-icon,
#buildPanel .craft-category-tab.icon-only .craft-category-icon,
#shopPanel .craft-category-tab.icon-only .craft-category-icon {
  width: 44px !important;
  height: 44px !important;
  background-size: contain !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
  filter: drop-shadow(0 3px 2px rgba(0,0,0,0.45)) !important;
}

#craftPanel .craft-category-tab span,
#buildPanel .craft-category-tab span,
#shopPanel .craft-category-tab span {
  display: none !important;
}

/* Keep the panel content from jumping under the tab row */
#craftPanel .craft-shell,
#buildPanel .craft-shell,
#shopPanel .craft-shell {
  height: 100% !important;
}

/* On smaller screens keep tabs visible but narrower */
@media (max-width: 900px) {
  #craftPanel.craft-panel.game-panel,
  #buildPanel.craft-panel.game-panel,
  #shopPanel.craft-panel.game-panel {
    top: 78px !important;
  }

  #craftPanel .craft-category-tabs,
  #buildPanel .craft-category-tabs,
  #shopPanel .craft-category-tabs {
    top: -64px !important;
    height: 62px !important;
    max-width: calc(100vw - 36px) !important;
    gap: 8px !important;
  }

  #craftPanel .craft-category-tab,
  #buildPanel .craft-category-tab,
  #shopPanel .craft-category-tab,
  #craftPanel .craft-category-tab.icon-only,
  #buildPanel .craft-category-tab.icon-only,
  #shopPanel .craft-category-tab.icon-only {
    flex-basis: 70px !important;
    width: 70px !important;
    min-width: 70px !important;
    height: 56px !important;
  }

  #craftPanel .craft-category-tab .craft-category-icon,
  #buildPanel .craft-category-tab .craft-category-icon,
  #shopPanel .craft-category-tab .craft-category-icon {
    width: 36px !important;
    height: 36px !important;
  }
}


/* v155: move craft/build/shop panel to the LEFT under the category tabs, like reference */
#craftPanel.craft-panel.game-panel,
#buildPanel.craft-panel.game-panel,
#shopPanel.craft-panel.game-panel {
  position: fixed !important;
  left: 94px !important;
  right: auto !important;
  top: 330px !important;
  transform: none !important;
  margin: 0 !important;
  z-index: 70 !important;
}

/* Tabs must sit directly above the panel and align from its left edge */
#craftPanel .craft-category-tabs,
#buildPanel .craft-category-tabs,
#shopPanel .craft-category-tabs {
  position: absolute !important;
  left: 0 !important;
  right: auto !important;
  top: -60px !important;
  width: max-content !important;
  max-width: 640px !important;
  z-index: 120 !important;
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: flex-end !important;
  gap: 10px !important;
  padding: 0 0 4px 0 !important;
  margin: 0 !important;
  overflow-x: auto !important;
  overflow-y: visible !important;
  scrollbar-width: none !important;
}

#craftPanel .craft-category-tabs::-webkit-scrollbar,
#buildPanel .craft-category-tabs::-webkit-scrollbar,
#shopPanel .craft-category-tabs::-webkit-scrollbar {
  display: none !important;
}

/* Keep panel width like reference on desktop */
#craftPanel.craft-panel.game-panel,
#buildPanel.craft-panel.game-panel,
#shopPanel.craft-panel.game-panel {
  width: 560px !important;
  max-width: 560px !important;
  height: 315px !important;
  max-height: 315px !important;
}

/* Smaller screens */
@media (max-width: 1200px) {
  #craftPanel.craft-panel.game-panel,
  #buildPanel.craft-panel.game-panel,
  #shopPanel.craft-panel.game-panel {
    left: 72px !important;
    top: 300px !important;
    width: 520px !important;
    max-width: 520px !important;
  }

  #craftPanel .craft-category-tabs,
  #buildPanel .craft-category-tabs,
  #shopPanel .craft-category-tabs {
    max-width: 560px !important;
    top: -56px !important;
  }
}

@media (max-width: 900px) {
  #craftPanel.craft-panel.game-panel,
  #buildPanel.craft-panel.game-panel,
  #shopPanel.craft-panel.game-panel {
    left: 24px !important;
    top: 240px !important;
    width: calc(100vw - 48px) !important;
    max-width: calc(100vw - 48px) !important;
    height: 300px !important;
    max-height: 300px !important;
  }

  #craftPanel .craft-category-tabs,
  #buildPanel .craft-category-tabs,
  #shopPanel .craft-category-tabs {
    max-width: calc(100vw - 72px) !important;
    gap: 8px !important;
    top: -54px !important;
  }
}


/* v156: bigger orange panels, tabs gap, no ingredient/right scrollbar */
:root {
  --dyn-panel-blue: #b85d17;
  --dyn-panel-blue-2: #8f4211;
  --dyn-panel-dark: #6f310d;
  --dyn-panel-border: #3b1b08;
  --dyn-black-border: rgba(0,0,0,0.84);
  --dyn-row-grey: #67584d;
  --dyn-row-selected: #d6a96a;
  --dyn-scroll: #ffbd62;
  --dyn-green: #87dc45;
  --dyn-green-dark: #55a72d;
  --dyn-yellow: #ffc14a;
  --dyn-yellow-dark: #a55a12;
  --dyn-gold: #ffd36a;
  --dyn-gold-light: #fff0a8;
}

/* Orange game panels */
#craftPanel.craft-panel.game-panel,
#buildPanel.craft-panel.game-panel,
#shopPanel.craft-panel.game-panel,
#clanPanel.social-panel,
#tradePanel.social-panel {
  background: linear-gradient(180deg, #c96b1f 0%, #a94e14 52%, #7c350d 100%) !important;
  border-color: rgba(0,0,0,0.86) !important;
  box-shadow:
    0 9px 0 rgba(50, 20, 5, 0.92),
    0 24px 58px rgba(0,0,0,0.44),
    inset 0 2px 0 rgba(255,255,255,0.14) !important;
}

/* Bigger craft/build/shop panel like reference, left under tabs */
#craftPanel.craft-panel.game-panel,
#buildPanel.craft-panel.game-panel,
#shopPanel.craft-panel.game-panel {
  left: 94px !important;
  top: 330px !important;
  width: 650px !important;
  max-width: 650px !important;
  height: 375px !important;
  max-height: 375px !important;
  overflow: visible !important;
}

/* Make tabs float above panel with a small gap, not glued to it */
#craftPanel .craft-category-tabs,
#buildPanel .craft-category-tabs,
#shopPanel .craft-category-tabs {
  top: -74px !important;
  height: 64px !important;
  gap: 10px !important;
  max-width: 720px !important;
  overflow-x: auto !important;
  overflow-y: visible !important;
}

/* Slightly bigger tabs, orange selected */
#craftPanel .craft-category-tab,
#buildPanel .craft-category-tab,
#shopPanel .craft-category-tab,
#craftPanel .craft-category-tab.icon-only,
#buildPanel .craft-category-tab.icon-only,
#shopPanel .craft-category-tab.icon-only {
  flex: 0 0 82px !important;
  width: 82px !important;
  min-width: 82px !important;
  height: 58px !important;
  border-radius: 10px 10px 4px 4px !important;
  background: linear-gradient(180deg, #465c2c 0%, #293d1e 100%) !important;
  border: 3px solid #111306 !important;
  opacity: 0.82;
}

#craftPanel .craft-category-tab.active,
#buildPanel .craft-category-tab.active,
#shopPanel .craft-category-tab.active,
#craftPanel .craft-category-tab:hover,
#buildPanel .craft-category-tab:hover,
#shopPanel .craft-category-tab:hover {
  background: linear-gradient(180deg, #ffa842 0%, #d66c1a 100%) !important;
  border-color: #2c1304 !important;
  opacity: 1;
}

#craftPanel .craft-category-tab .craft-category-icon,
#buildPanel .craft-category-tab .craft-category-icon,
#shopPanel .craft-category-tab .craft-category-icon {
  width: 42px !important;
  height: 42px !important;
}

/* Inner layout scales with bigger panel */
#craftPanel .craft-shell,
#buildPanel .craft-shell,
#shopPanel .craft-shell {
  grid-template-columns: 285px minmax(0, 1fr) !important;
  height: 100% !important;
  background: #6f310d !important;
}

#craftPanel .craft-list-wrap,
#buildPanel .craft-list-wrap,
#shopPanel .craft-list-wrap {
  background: #6f310d !important;
}

#craftPanel .craft-list-item,
#buildPanel .craft-list-item,
#shopPanel .craft-list-item {
  background: #67584d !important;
  border-bottom-color: #2b1608 !important;
}

#craftPanel .craft-list-item.selected,
#buildPanel .craft-list-item.selected,
#shopPanel .craft-list-item.selected {
  background: #d6a96a !important;
}

#craftPanel .craft-detail,
#buildPanel .craft-detail,
#shopPanel .craft-detail {
  overflow: hidden !important;
  padding: 18px 20px !important;
}

#craftPanel .craft-detail-card,
#buildPanel .craft-detail-card,
#shopPanel .craft-detail-card {
  overflow: hidden !important;
}

/* No scrollbar in right ingredient/detail side */
#craftPanel .craft-detail::-webkit-scrollbar,
#buildPanel .craft-detail::-webkit-scrollbar,
#shopPanel .craft-detail::-webkit-scrollbar {
  display: none !important;
}

#craftPanel .craft-recipe-box,
#buildPanel .craft-recipe-box,
#shopPanel .craft-recipe-box {
  background: linear-gradient(180deg, #733711 0%, #552709 100%) !important;
  grid-template-columns: minmax(0, 1fr) 145px !important;
  max-height: 135px !important;
  overflow: hidden !important;
}

#craftPanel .craft-ingredients,
#buildPanel .craft-ingredients,
#shopPanel .craft-ingredients {
  overflow: hidden !important;
  max-height: 128px !important;
}

#craftPanel .craft-preview-icon,
#buildPanel .craft-preview-icon,
#shopPanel .craft-preview-icon {
  height: 120px !important;
}

/* Text colors for orange theme */
#craftPanel .craft-detail-title,
#buildPanel .craft-detail-title,
#shopPanel .craft-detail-title,
#clanPanel .social-title,
#tradePanel .social-title {
  color: #fff1bd !important;
  text-shadow: 0 3px 0 rgba(0,0,0,0.45) !important;
}

#craftPanel .craft-detail-desc,
#buildPanel .craft-detail-desc,
#shopPanel .craft-detail-desc {
  color: #fff6de !important;
}

#craftPanel .craft-create-button,
#buildPanel .craft-create-button,
#shopPanel .craft-create-button,
#clanPanel button:not(.social-close),
#tradePanel button:not(.social-close) {
  background: linear-gradient(180deg, #ffd56f 0%, #ffa92e 45%, #c76413 100%) !important;
  border-color: #683006 !important;
  color: #4b2003 !important;
  box-shadow:
    0 5px 0 #683006,
    0 10px 18px rgba(0,0,0,0.28),
    inset 0 1px 0 rgba(255,255,255,0.36) !important;
}

.game-coin-balance {
  background: linear-gradient(180deg, #c96b1f 0%, #8f4211 100%) !important;
  border-color: #3b1b08 !important;
  color: #fff1bd !important;
}

/* Responsive */
@media (max-width: 1200px) {
  #craftPanel.craft-panel.game-panel,
  #buildPanel.craft-panel.game-panel,
  #shopPanel.craft-panel.game-panel {
    left: 72px !important;
    top: 300px !important;
    width: 610px !important;
    max-width: 610px !important;
    height: 360px !important;
    max-height: 360px !important;
  }

  #craftPanel .craft-shell,
  #buildPanel .craft-shell,
  #shopPanel .craft-shell {
    grid-template-columns: 265px minmax(0, 1fr) !important;
  }
}

@media (max-width: 900px) {
  #craftPanel.craft-panel.game-panel,
  #buildPanel.craft-panel.game-panel,
  #shopPanel.craft-panel.game-panel {
    left: 24px !important;
    top: 240px !important;
    width: calc(100vw - 48px) !important;
    max-width: calc(100vw - 48px) !important;
    height: 340px !important;
    max-height: 340px !important;
  }

  #craftPanel .craft-category-tabs,
  #buildPanel .craft-category-tabs,
  #shopPanel .craft-category-tabs {
    top: -66px !important;
    max-width: calc(100vw - 48px) !important;
  }

  #craftPanel .craft-category-tab,
  #buildPanel .craft-category-tab,
  #shopPanel .craft-category-tab {
    flex-basis: 66px !important;
    width: 66px !important;
    min-width: 66px !important;
    height: 54px !important;
  }
}


/* v157: lime palette + aligned tabs + no tab shadow */
:root {
  --dyn-panel-blue: #65a832;
  --dyn-panel-blue-2: #4f8527;
  --dyn-panel-dark: #34641e;
  --dyn-panel-border: #1d3a12;
  --dyn-black-border: rgba(0,0,0,0.84);
  --dyn-row-grey: #5e6c4d;
  --dyn-row-selected: #b7d66a;
  --dyn-scroll: #cfff6a;
  --dyn-green: #9cff3b;
  --dyn-green-dark: #5ea821;
  --dyn-yellow: #e6ff5a;
  --dyn-yellow-dark: #83a516;
  --dyn-gold: #e6ff5a;
  --dyn-gold-light: #f4ffad;
}

/* Lime / salad-green panels */
#craftPanel.craft-panel.game-panel,
#buildPanel.craft-panel.game-panel,
#shopPanel.craft-panel.game-panel,
#clanPanel.social-panel,
#tradePanel.social-panel {
  background: linear-gradient(180deg, #7ac943 0%, #65a832 48%, #4f8527 100%) !important;
  border-color: rgba(0,0,0,0.86) !important;
  box-shadow:
    0 9px 0 rgba(20, 45, 10, 0.92),
    0 24px 58px rgba(0,0,0,0.40),
    inset 0 2px 0 rgba(255,255,255,0.18) !important;
}

/* Inner blocks */
#craftPanel .craft-shell,
#buildPanel .craft-shell,
#shopPanel .craft-shell,
#clanPanel .social-list,
#tradePanel .social-list,
#clanPanel .social-body,
#tradePanel .social-body,
#clanPanel .clan-list,
#tradePanel .trade-list,
#clanPanel .players-list,
#craftPanel .craft-list-wrap,
#buildPanel .craft-list-wrap,
#shopPanel .craft-list-wrap {
  background: #34641e !important;
  border-color: #1d3a12 !important;
}

/* List rows */
#craftPanel .craft-list-item,
#buildPanel .craft-list-item,
#shopPanel .craft-list-item {
  background: #5e6c4d !important;
  border-bottom-color: #233017 !important;
  color: #fffbd0 !important;
}

#craftPanel .craft-list-item.selected,
#buildPanel .craft-list-item.selected,
#shopPanel .craft-list-item.selected {
  background: #b7d66a !important;
  color: #ffffff !important;
}

/* Details */
#craftPanel .craft-detail-title,
#buildPanel .craft-detail-title,
#shopPanel .craft-detail-title,
#clanPanel .social-title,
#tradePanel .social-title {
  color: #fffbd0 !important;
  text-shadow: 0 3px 0 rgba(0,0,0,0.45) !important;
}

#craftPanel .craft-detail-desc,
#buildPanel .craft-detail-desc,
#shopPanel .craft-detail-desc {
  color: #faffdf !important;
}

#craftPanel .craft-detail-stars,
#buildPanel .craft-detail-stars,
#shopPanel .craft-detail-stars {
  color: #e6ff5a !important;
}

#craftPanel .craft-recipe-box,
#buildPanel .craft-recipe-box,
#shopPanel .craft-recipe-box {
  background: linear-gradient(180deg, #315f1c 0%, #254915 100%) !important;
}

/* Align tabs exactly with panel left edge and lift them slightly */
#craftPanel .craft-category-tabs,
#buildPanel .craft-category-tabs,
#shopPanel .craft-category-tabs {
  left: 0 !important;
  top: -78px !important;
  padding-left: 0 !important;
  margin-left: 0 !important;
  gap: 10px !important;
}

/* Remove tab shadow and make lime selected tab */
#craftPanel .craft-category-tab,
#buildPanel .craft-category-tab,
#shopPanel .craft-category-tab,
#craftPanel .craft-category-tab.icon-only,
#buildPanel .craft-category-tab.icon-only,
#shopPanel .craft-category-tab.icon-only {
  background: linear-gradient(180deg, #4a672c 0%, #2e451f 100%) !important;
  border: 3px solid #111306 !important;
  box-shadow: none !important;
  opacity: 0.86 !important;
}

#craftPanel .craft-category-tab.active,
#buildPanel .craft-category-tab.active,
#shopPanel .craft-category-tab.active,
#craftPanel .craft-category-tab:hover,
#buildPanel .craft-category-tab:hover,
#shopPanel .craft-category-tab:hover {
  background: linear-gradient(180deg, #cfff6a 0%, #8cd936 100%) !important;
  border-color: #1d3a12 !important;
  box-shadow: none !important;
  opacity: 1 !important;
}

/* Lime buttons */
#craftPanel .craft-create-button,
#buildPanel .craft-create-button,
#shopPanel .craft-create-button,
#clanPanel button:not(.social-close),
#tradePanel button:not(.social-close) {
  background: linear-gradient(180deg, #d8ff77 0%, #9cff3b 45%, #5ea821 100%) !important;
  border-color: #2a5518 !important;
  color: #183006 !important;
  box-shadow:
    0 5px 0 #2a5518,
    0 10px 18px rgba(0,0,0,0.25),
    inset 0 1px 0 rgba(255,255,255,0.40) !important;
}

#craftPanel .craft-create-button:disabled,
#buildPanel .craft-create-button:disabled,
#shopPanel .craft-create-button:disabled {
  background: linear-gradient(180deg, #8c977d, #66715c) !important;
  color: #dce8cf !important;
  border-color: #394533 !important;
  box-shadow: 0 5px 0 #394533, inset 0 1px 0 rgba(255,255,255,0.12) !important;
}

/* Close buttons */
#craftPanel .panel-close,
#buildPanel .panel-close,
#shopPanel .panel-close,
#clanPanel .social-close,
#tradePanel .social-close {
  background: linear-gradient(180deg, #97d66a, #5b9b34) !important;
  border: 2px solid #1d3a12 !important;
  color: #fffbd0 !important;
}

/* Coin HUD */
.game-coin-balance {
  background: linear-gradient(180deg, #7ac943 0%, #4f8527 100%) !important;
  border-color: #1d3a12 !important;
  color: #fffbd0 !important;
}

/* Scrollbar */
#craftPanel *::-webkit-scrollbar-thumb,
#buildPanel *::-webkit-scrollbar-thumb,
#shopPanel *::-webkit-scrollbar-thumb,
#clanPanel *::-webkit-scrollbar-thumb,
#tradePanel *::-webkit-scrollbar-thumb {
  background: #cfff6a !important;
}

/* On small screens also keep tab alignment */
@media (max-width: 900px) {
  #craftPanel .craft-category-tabs,
  #buildPanel .craft-category-tabs,
  #shopPanel .craft-category-tabs {
    left: 0 !important;
    top: -70px !important;
  }
}


/* v158: attach tabs to panel width, keep icons inside, fit more ingredients, add shop assortment */
#craftPanel.craft-panel.game-panel,
#buildPanel.craft-panel.game-panel,
#shopPanel.craft-panel.game-panel {
  width: 680px !important;
  max-width: 680px !important;
  height: 395px !important;
  max-height: 395px !important;
}

/* Tabs must be attached to panel and never overflow outside */
#craftPanel .craft-category-tabs,
#buildPanel .craft-category-tabs,
#shopPanel .craft-category-tabs {
  left: 0 !important;
  right: 0 !important;
  top: -72px !important;
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
  padding: 0 !important;
  margin: 0 !important;
  display: grid !important;
  grid-auto-flow: column !important;
  grid-auto-columns: minmax(0, 1fr) !important;
  gap: 8px !important;
  overflow: visible !important;
  justify-content: stretch !important;
  align-items: end !important;
}

#craftPanel .craft-category-tab,
#buildPanel .craft-category-tab,
#shopPanel .craft-category-tab,
#craftPanel .craft-category-tab.icon-only,
#buildPanel .craft-category-tab.icon-only,
#shopPanel .craft-category-tab.icon-only {
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
  flex: none !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
}

/* Keep icon fully inside the tab */
#craftPanel .craft-category-tab .craft-category-icon,
#buildPanel .craft-category-tab .craft-category-icon,
#shopPanel .craft-category-tab .craft-category-icon {
  width: 34px !important;
  height: 34px !important;
  max-width: 100% !important;
  max-height: 100% !important;
}

/* Better inner space for more ingredients */
#craftPanel .craft-shell,
#buildPanel .craft-shell,
#shopPanel .craft-shell {
  grid-template-columns: 285px minmax(0, 1fr) !important;
}

#craftPanel .craft-detail,
#buildPanel .craft-detail,
#shopPanel .craft-detail {
  padding: 14px 16px !important;
}

#craftPanel .craft-detail-title,
#buildPanel .craft-detail-title,
#shopPanel .craft-detail-title {
  font-size: 28px !important;
  line-height: 1.12 !important;
}

#craftPanel .craft-detail-desc,
#buildPanel .craft-detail-desc,
#shopPanel .craft-detail-desc {
  font-size: 14px !important;
  line-height: 1.15 !important;
  margin-bottom: 8px !important;
}

#craftPanel .craft-recipe-box,
#buildPanel .craft-recipe-box,
#shopPanel .craft-recipe-box {
  grid-template-columns: minmax(0, 1fr) 118px !important;
  gap: 10px !important;
  min-height: 168px !important;
  max-height: none !important;
  overflow: hidden !important;
  padding: 10px 12px !important;
}

#craftPanel .craft-ingredients,
#buildPanel .craft-ingredients,
#shopPanel .craft-ingredients {
  display: flex !important;
  flex-direction: column !important;
  gap: 7px !important;
  max-height: none !important;
  overflow: hidden !important;
}

#craftPanel .craft-ingredient,
#buildPanel .craft-ingredient,
#shopPanel .craft-ingredient {
  grid-template-columns: 28px 1fr !important;
  gap: 8px !important;
  min-height: 28px !important;
}

#craftPanel .craft-ingredient-icon,
#buildPanel .craft-ingredient-icon,
#shopPanel .craft-ingredient-icon {
  width: 28px !important;
  height: 28px !important;
  border-radius: 8px !important;
}

#craftPanel .craft-ingredient-text,
#buildPanel .craft-ingredient-text,
#shopPanel .craft-ingredient-text {
  font-size: 11px !important;
  line-height: 1.05 !important;
}

#craftPanel .craft-preview-icon,
#buildPanel .craft-preview-icon,
#shopPanel .craft-preview-icon {
  width: 100px !important;
  height: 100px !important;
  justify-self: center !important;
  align-self: center !important;
}

#craftPanel .craft-create-button,
#buildPanel .craft-create-button,
#shopPanel .craft-create-button {
  margin-top: 10px !important;
  min-height: 58px !important;
}

/* Responsive keep everything within bounds */
@media (max-width: 900px) {
  #craftPanel.craft-panel.game-panel,
  #buildPanel.craft-panel.game-panel,
  #shopPanel.craft-panel.game-panel {
    width: calc(100vw - 48px) !important;
    max-width: calc(100vw - 48px) !important;
    height: 360px !important;
    max-height: 360px !important;
  }
  #craftPanel .craft-category-tabs,
  #buildPanel .craft-category-tabs,
  #shopPanel .craft-category-tabs {
    gap: 6px !important;
    top: -68px !important;
  }
  #craftPanel .craft-category-tab .craft-category-icon,
  #buildPanel .craft-category-tab .craft-category-icon,
  #shopPanel .craft-category-tab .craft-category-icon {
    width: 28px !important;
    height: 28px !important;
  }
}


/* v159: attached square tabs + shop auth requirement + shop click/recipe fix */

/* Panel stays large enough */
#craftPanel.craft-panel.game-panel,
#buildPanel.craft-panel.game-panel,
#shopPanel.craft-panel.game-panel {
  width: 680px !important;
  max-width: 680px !important;
  height: 395px !important;
  max-height: 395px !important;
  overflow: visible !important;
}

/* Top tabs are attached to the panel top border */
#craftPanel .craft-category-tabs,
#buildPanel .craft-category-tabs,
#shopPanel .craft-category-tabs {
  position: absolute !important;
  left: 0 !important;
  right: auto !important;
  top: -58px !important;
  height: 58px !important;
  width: auto !important;
  max-width: 100% !important;
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: flex-end !important;
  justify-content: flex-start !important;
  gap: 8px !important;
  padding: 0 !important;
  margin: 0 !important;
  overflow: visible !important;
  pointer-events: auto !important;
  z-index: 130 !important;
}

/* Every panel tab is square; no long stretched build/shop tabs */
#craftPanel .craft-category-tab,
#buildPanel .craft-category-tab,
#shopPanel .craft-category-tab,
#craftPanel .craft-category-tab.icon-only,
#buildPanel .craft-category-tab.icon-only,
#shopPanel .craft-category-tab.icon-only {
  flex: 0 0 64px !important;
  width: 64px !important;
  min-width: 64px !important;
  max-width: 64px !important;
  height: 58px !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
  border-radius: 10px 10px 0 0 !important;
  border-bottom-width: 0 !important;
  box-shadow: none !important;
  transform: none !important;
}

#craftPanel .craft-category-tab .craft-category-icon,
#buildPanel .craft-category-tab .craft-category-icon,
#shopPanel .craft-category-tab .craft-category-icon,
#craftPanel .craft-category-tab.icon-only .craft-category-icon,
#buildPanel .craft-category-tab.icon-only .craft-category-icon,
#shopPanel .craft-category-tab.icon-only .craft-category-icon {
  width: 36px !important;
  height: 36px !important;
  max-width: 36px !important;
  max-height: 36px !important;
  background-size: contain !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  overflow: hidden !important;
}

/* Keep close button above detail blocks */
#craftPanel .panel-close,
#buildPanel .panel-close,
#shopPanel .panel-close {
  z-index: 200 !important;
  position: absolute !important;
  right: 12px !important;
  top: 12px !important;
  display: grid !important;
  place-items: center !important;
}

/* Make list rows always clickable */
#craftPanel .craft-list-item,
#buildPanel .craft-list-item,
#shopPanel .craft-list-item {
  position: relative !important;
  z-index: 3 !important;
  pointer-events: auto !important;
}

#craftPanel .craft-shell,
#buildPanel .craft-shell,
#shopPanel .craft-shell {
  position: relative !important;
  z-index: 1 !important;
  grid-template-columns: 285px minmax(0, 1fr) !important;
  height: 100% !important;
}

/* Fit more ingredients in the recipe box */
#craftPanel .craft-detail,
#buildPanel .craft-detail,
#shopPanel .craft-detail {
  overflow: hidden !important;
  padding: 14px 16px !important;
}

#craftPanel .craft-detail-card,
#buildPanel .craft-detail-card,
#shopPanel .craft-detail-card {
  display: flex !important;
  flex-direction: column !important;
  min-height: 0 !important;
  height: 100% !important;
  overflow: hidden !important;
}

#craftPanel .craft-detail-desc,
#buildPanel .craft-detail-desc,
#shopPanel .craft-detail-desc {
  flex: 0 0 auto !important;
  max-height: 58px !important;
  overflow: hidden !important;
  margin-bottom: 8px !important;
}

#craftPanel .craft-recipe-box,
#buildPanel .craft-recipe-box,
#shopPanel .craft-recipe-box {
  flex: 1 1 auto !important;
  min-height: 154px !important;
  max-height: 176px !important;
  grid-template-columns: minmax(0, 1fr) 118px !important;
  gap: 10px !important;
  overflow: hidden !important;
  padding: 10px 12px !important;
}

#craftPanel .craft-ingredients,
#buildPanel .craft-ingredients,
#shopPanel .craft-ingredients {
  overflow: hidden !important;
  max-height: none !important;
  gap: 6px !important;
}

#craftPanel .craft-ingredient,
#buildPanel .craft-ingredient,
#shopPanel .craft-ingredient {
  grid-template-columns: 26px 1fr !important;
  gap: 7px !important;
  min-height: 25px !important;
}

#craftPanel .craft-ingredient-icon,
#buildPanel .craft-ingredient-icon,
#shopPanel .craft-ingredient-icon {
  width: 26px !important;
  height: 26px !important;
  border-radius: 7px !important;
}

#craftPanel .craft-ingredient-text,
#buildPanel .craft-ingredient-text,
#shopPanel .craft-ingredient-text {
  font-size: 11px !important;
  line-height: 1 !important;
}

#craftPanel .craft-preview-icon,
#buildPanel .craft-preview-icon,
#shopPanel .craft-preview-icon {
  width: 100px !important;
  height: 100px !important;
  justify-self: center !important;
  align-self: center !important;
}

#craftPanel .craft-create-button,
#buildPanel .craft-create-button,
#shopPanel .craft-create-button {
  margin-top: 10px !important;
  min-height: 56px !important;
}

/* Shop auth message */
.shop-auth-required-v159 {
  height: 100%;
  min-height: 245px;
  display: grid;
  place-items: center;
  align-content: center;
  gap: 12px;
  padding: 22px;
  text-align: center;
  color: #fffbd0;
  text-shadow: 0 3px 0 rgba(0,0,0,0.45);
}

.shop-auth-required-v159 b {
  font-size: 30px;
  font-weight: 1000;
}

.shop-auth-required-v159 span {
  max-width: 360px;
  font-size: 18px;
  font-weight: 900;
  line-height: 1.25;
}

/* On smaller screens keep square tabs */
@media (max-width: 900px) {
  #craftPanel .craft-category-tabs,
  #buildPanel .craft-category-tabs,
  #shopPanel .craft-category-tabs {
    top: -54px !important;
    height: 54px !important;
    gap: 6px !important;
  }

  #craftPanel .craft-category-tab,
  #buildPanel .craft-category-tab,
  #shopPanel .craft-category-tab,
  #craftPanel .craft-category-tab.icon-only,
  #buildPanel .craft-category-tab.icon-only,
  #shopPanel .craft-category-tab.icon-only {
    flex-basis: 54px !important;
    width: 54px !important;
    min-width: 54px !important;
    max-width: 54px !important;
    height: 54px !important;
  }

  #craftPanel .craft-category-tab .craft-category-icon,
  #buildPanel .craft-category-tab .craft-category-icon,
  #shopPanel .craft-category-tab .craft-category-icon {
    width: 30px !important;
    height: 30px !important;
  }
}


/* v160: restore craft/shop tab length, shorten only build tabs, shop works like craft */
#craftPanel .craft-category-tabs,
#shopPanel .craft-category-tabs {
  position: absolute !important;
  left: 0 !important;
  right: auto !important;
  top: -58px !important;
  height: 58px !important;
  width: auto !important;
  max-width: 100% !important;
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: flex-end !important;
  justify-content: flex-start !important;
  gap: 8px !important;
  overflow: visible !important;
}

#craftPanel .craft-category-tab,
#shopPanel .craft-category-tab,
#craftPanel .craft-category-tab.icon-only,
#shopPanel .craft-category-tab.icon-only {
  flex: 0 0 82px !important;
  width: 82px !important;
  min-width: 82px !important;
  max-width: 82px !important;
  height: 58px !important;
  border-radius: 10px 10px 0 0 !important;
  border-bottom-width: 0 !important;
  box-shadow: none !important;
}

/* Only build panel tabs are shortened so they don't stretch huge */
#buildPanel .craft-category-tabs {
  position: absolute !important;
  left: 0 !important;
  right: auto !important;
  top: -58px !important;
  height: 58px !important;
  width: auto !important;
  max-width: 100% !important;
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: flex-end !important;
  justify-content: flex-start !important;
  gap: 8px !important;
  overflow: visible !important;
}

#buildPanel .craft-category-tab,
#buildPanel .craft-category-tab.icon-only {
  flex: 0 0 64px !important;
  width: 64px !important;
  min-width: 64px !important;
  max-width: 64px !important;
  height: 58px !important;
  border-radius: 10px 10px 0 0 !important;
  border-bottom-width: 0 !important;
  box-shadow: none !important;
}

#craftPanel .craft-category-tab .craft-category-icon,
#shopPanel .craft-category-tab .craft-category-icon,
#buildPanel .craft-category-tab .craft-category-icon {
  width: 36px !important;
  height: 36px !important;
  max-width: 36px !important;
  max-height: 36px !important;
}

/* Shop button behaves visually like craft button */
#shopPanel .shop-buy-button:disabled {
  cursor: not-allowed !important;
  opacity: 0.78 !important;
}

#shopPanel .craft-list-item {
  pointer-events: auto !important;
  z-index: 5 !important;
}

/* Keep close button visible */
#shopPanel .panel-close,
#craftPanel .panel-close,
#buildPanel .panel-close {
  position: absolute !important;
  right: 12px !important;
  top: 12px !important;
  z-index: 250 !important;
}


/* v161: exact attached tabs + build same size + robust shop clicking */
#craftPanel .craft-category-tabs,
#buildPanel .craft-category-tabs,
#shopPanel .craft-category-tabs {
  position: absolute !important;
  left: 0 !important;
  right: auto !important;
  top: auto !important;
  bottom: calc(100% - 1px) !important;
  height: 58px !important;
  width: auto !important;
  max-width: 100% !important;
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: flex-end !important;
  justify-content: flex-start !important;
  gap: 8px !important;
  padding: 0 !important;
  margin: 0 !important;
  overflow: visible !important;
  pointer-events: auto !important;
  z-index: 500 !important;
}

/* All three panels now use the same tab size */
#craftPanel .craft-category-tab,
#buildPanel .craft-category-tab,
#shopPanel .craft-category-tab,
#craftPanel .craft-category-tab.icon-only,
#buildPanel .craft-category-tab.icon-only,
#shopPanel .craft-category-tab.icon-only {
  flex: 0 0 82px !important;
  width: 82px !important;
  min-width: 82px !important;
  max-width: 82px !important;
  height: 58px !important;
  box-sizing: border-box !important;
  border-radius: 10px 10px 0 0 !important;
  border-bottom-width: 0 !important;
  box-shadow: none !important;
  transform: none !important;
  overflow: hidden !important;
  pointer-events: auto !important;
}

#craftPanel .craft-category-tab .craft-category-icon,
#buildPanel .craft-category-tab .craft-category-icon,
#shopPanel .craft-category-tab .craft-category-icon,
#craftPanel .craft-category-tab.icon-only .craft-category-icon,
#buildPanel .craft-category-tab.icon-only .craft-category-icon,
#shopPanel .craft-category-tab.icon-only .craft-category-icon {
  width: 36px !important;
  height: 36px !important;
  max-width: 36px !important;
  max-height: 36px !important;
  background-size: contain !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
}

/* Shop panel click safety: list/items/buttons must be above inner detail layer */
#shopPanel,
#shopPanel * {
  pointer-events: auto;
}

#shopPanel .craft-shell {
  position: relative !important;
  z-index: 1 !important;
}

#shopPanel .craft-list-wrap {
  position: relative !important;
  z-index: 40 !important;
  pointer-events: auto !important;
}

#shopPanel #shopGrid,
#shopPanel .craft-list,
#shopPanel .craft-list-item,
#shopPanel .craft-list-item * {
  position: relative !important;
  z-index: 45 !important;
  pointer-events: auto !important;
}

#shopPanel .craft-detail {
  position: relative !important;
  z-index: 20 !important;
  pointer-events: auto !important;
}

#shopPanel .shop-buy-button,
#shopPanel [data-shop-buy] {
  position: relative !important;
  z-index: 70 !important;
  pointer-events: auto !important;
}

#shopPanel .panel-close {
  z-index: 800 !important;
  pointer-events: auto !important;
}

/* Panel top border visually merges with tab bottom */
#craftPanel.craft-panel.game-panel,
#buildPanel.craft-panel.game-panel,
#shopPanel.craft-panel.game-panel {
  overflow: visible !important;
  border-top-left-radius: 0 !important;
}

/* On smaller screens keep same proportions but narrower only if needed */
@media (max-width: 900px) {
  #craftPanel .craft-category-tab,
  #buildPanel .craft-category-tab,
  #shopPanel .craft-category-tab,
  #craftPanel .craft-category-tab.icon-only,
  #buildPanel .craft-category-tab.icon-only,
  #shopPanel .craft-category-tab.icon-only {
    flex-basis: 64px !important;
    width: 64px !important;
    min-width: 64px !important;
    max-width: 64px !important;
    height: 54px !important;
  }

  #craftPanel .craft-category-tabs,
  #buildPanel .craft-category-tabs,
  #shopPanel .craft-category-tabs {
    height: 54px !important;
    bottom: calc(100% - 1px) !important;
    gap: 6px !important;
  }
}


/* v164: restore old layout, lime palette only for inventory/admin/trade */
#inventory.inventory.game-panel,
#chestPanel.inventory.game-panel,
#adminPanel.admin-panel,
#tradePanel.social-panel,
#clanPanel.social-panel {
  background: linear-gradient(180deg, #7ac943 0%, #65a832 48%, #4f8527 100%) !important;
  border-color: rgba(0,0,0,0.86) !important;
  color: #fffbd0 !important;
  text-shadow: 0 2px 0 rgba(0,0,0,0.38) !important;
}

/* Р’РЅСѓС‚СЂРµРЅРЅРёРµ Р±Р»РѕРєРё: С‚РѕР»СЊРєРѕ С†РІРµС‚, Р±РµР· РёР·РјРµРЅРµРЅРёСЏ СЂР°Р·РјРµСЂРѕРІ */
#inventory .inventory-shell,
#chestPanel .inventory-shell,
#adminPanel .admin-body,
#tradePanel .social-body,
#clanPanel .social-body,
#tradePanel .ahardice-trade-body-v148,
#clanPanel .ahardice-clan-body-v148 {
  background: rgba(52, 100, 30, 0.96) !important;
  border-color: #1d3a12 !important;
  color: #fffbd0 !important;
}

/* Р—Р°РіРѕР»РѕРІРєРё */
#inventory .inventory-title,
#chestPanel .inventory-title,
#inventory .large-title,
#chestPanel .large-title,
#adminPanel .admin-title,
#adminPanel .admin-title b,
#tradePanel .social-title,
#clanPanel .social-title {
  color: #fffbd0 !important;
  text-shadow: 0 3px 0 rgba(0,0,0,0.45) !important;
}

/* РЎРїРёСЃРєРё Рё СЃС‚СЂРѕРєРё вЂ” С‚РѕР»СЊРєРѕ РїР°Р»РёС‚СЂР° */
#adminPanel .admin-list,
#adminPanel .admin-item-list,
#adminPanel .admin-mode-list,
#tradePanel .ahardice-trade-list-v148,
#clanPanel .ahardice-clan-list-v148 {
  background: rgba(37, 73, 21, 0.96) !important;
  border-color: #1d3a12 !important;
}

#adminPanel .admin-row,
#adminPanel .admin-item-row,
#adminPanel .admin-mode-row,
#tradePanel .ahardice-trade-row-v148,
#clanPanel .ahardice-clan-row-v148 {
  background: #5e6c4d !important;
  border-color: #233017 !important;
  color: #fffbd0 !important;
}

#adminPanel .admin-row:hover,
#adminPanel .admin-item-row:hover,
#adminPanel .admin-mode-row:hover,
#adminPanel .admin-row.selected,
#adminPanel .admin-item-row.selected,
#adminPanel .admin-mode-row.enabled,
#tradePanel .ahardice-trade-row-v148:hover,
#clanPanel .ahardice-clan-row-v148:hover {
  background: #b7d66a !important;
  color: #ffffff !important;
}

/* РђРґРјРёРЅСЃРєРёРµ РІРєР»Р°РґРєРё: С‚РѕР»СЊРєРѕ С†РІРµС‚, РІРєР»Р°РґРєСѓ РРіСЂРѕРєРё РЅРµ СѓР±РёСЂР°СЋ */
#adminPanel .admin-tabs .craft-category-tab {
  background: linear-gradient(180deg, #4a672c 0%, #2e451f 100%) !important;
  border-color: #111306 !important;
  color: #fffbd0 !important;
  box-shadow: none !important;
}

#adminPanel .admin-tabs .craft-category-tab.active,
#adminPanel .admin-tabs .craft-category-tab:hover {
  background: linear-gradient(180deg, #cfff6a 0%, #8cd936 100%) !important;
  border-color: #1d3a12 !important;
  color: #183006 !important;
}

/* РљРЅРѕРїРєРё */
#adminPanel button,
#tradePanel button,
#clanPanel button,
#inventory .panel-close,
#chestPanel .panel-close,
.ahardice-yellow-button-v148,
.ahardice-green-button-v148,
.trade-confirm-modern,
.trade-cancel-modern,
.admin-give-button,
.admin-mode-toggle {
  border-color: #2a5518 !important;
}

.ahardice-yellow-button-v148,
.ahardice-green-button-v148,
.trade-confirm-modern,
.trade-cancel-modern,
.admin-give-button,
.admin-mode-toggle,
.admin-speed-controls button,
#clanCreateBtn {
  background: linear-gradient(180deg, #d8ff77 0%, #9cff3b 45%, #5ea821 100%) !important;
  color: #183006 !important;
  text-shadow: 0 1px 0 rgba(255,255,255,0.35) !important;
}

/* РџРѕР»СЏ РІРІРѕРґР° */
#adminPanel input,
#clanPanel input {
  background-color: #1b2417 !important;
  border-color: #0d1608 !important;
  color: #fffbd0 !important;
}

#adminPanel input:focus,
#clanPanel input:focus {
  border-color: #cfff6a !important;
  box-shadow: 0 0 0 3px rgba(207,255,106,0.22) !important;
}

/* РўСЂРµР№Рґ РІРЅСѓС‚СЂРё: С‚РѕР»СЊРєРѕ С†РІРµС‚Р°, Р±РµР· РёР·РјРµРЅРµРЅРёСЏ СЃРµС‚РєРё Рё СЂР°Р·РјРµСЂРѕРІ */
.trade-modern-offer {
  background: rgba(37, 73, 21, 0.96) !important;
  border-color: #1d3a12 !important;
  color: #fffbd0 !important;
}

.trade-modern-offer.confirmed {
  border-color: #cfff6a !important;
  box-shadow: 0 0 0 3px rgba(207,255,106,0.22) !important;
}

.trade-offer-head {
  color: #fffbd0 !important;
}

/* РЎР»РѕС‚С‹: РќР• РјРµРЅСЏСЋ background-image, С‚РѕР»СЊРєРѕ СЂР°РјРєСѓ/С†РІРµС‚ С„РѕРЅР° */
.inventory-slot,
.hotbar-slot,
.trade-offer-slot {
  background-color: #1b2417 !important;
  border-color: #0d1608 !important;
}

.inventory-slot:hover,
.hotbar-slot:hover,
.trade-offer-slot.can-place:hover {
  border-color: #cfff6a !important;
}

.inventory-slot.selected,
.hotbar-slot.selected,
.inventory-slot.picked,
.hotbar-slot.picked {
  outline-color: #cfff6a !important;
}

/* РЎРєСЂРѕР»Р»С‹ */
#inventory *::-webkit-scrollbar-thumb,
#chestPanel *::-webkit-scrollbar-thumb,
#adminPanel *::-webkit-scrollbar-thumb,
#tradePanel *::-webkit-scrollbar-thumb,
#clanPanel *::-webkit-scrollbar-thumb {
  background: #cfff6a !important;
}


/* v166: ONLY inventory panel lime color fix. Do not touch hotbar/equipment/chest/admin/trade. */
#inventory.inventory.game-panel {
  background: linear-gradient(180deg, #9bef4f 0%, #77cf3d 48%, #5bad2e 100%) !important;
  border-color: #16350d !important;
  color: #fffbd0 !important;
}

#inventory .inventory-shell {
  background: linear-gradient(180deg, #74bf3f 0%, #5fa832 100%) !important;
  border-color: #244f16 !important;
}

#inventory .inventory-grid {
  background: linear-gradient(180deg, #4f8d2f 0%, #3e7725 100%) !important;
  border-color: #244f16 !important;
}

/* Only slots inside inventory window */
#inventory .inventory-slot {
  background-color: #315f1f !important;
  border-color: #16350d !important;
  box-shadow:
    inset 0 2px 0 rgba(255,255,255,0.13),
    0 3px 0 rgba(0,0,0,0.35) !important;
}

/* Preserve item images: do not override background-image on filled slots */
#inventory .inventory-slot:not([style*="background-image"]) {
  background-image: linear-gradient(180deg, #4b7c31 0%, #315f1f 100%) !important;
}

#inventory .inventory-slot:hover {
  border-color: #cfff6a !important;
}

#inventory .inventory-slot.selected,
#inventory .inventory-slot.picked {
  outline-color: #e6ff5a !important;
  border-color: #244f16 !important;
}

#inventory .slot-label {
  background: rgba(22, 53, 13, 0.78) !important;
  color: #fffbd0 !important;
}

#inventory .slot-count {
  background: rgba(22, 53, 13, 0.88) !important;
  color: #fffbd0 !important;
  border: 1px solid rgba(207,255,106,0.35) !important;
}


/* v167: trade lime palette + visible trade item icons */
#tradePanel.social-panel {
  background: linear-gradient(180deg, #9bef4f 0%, #77cf3d 48%, #5bad2e 100%) !important;
  border-color: #16350d !important;
  color: #fffbd0 !important;
}

#tradePanel .social-body,
#tradePanel .ahardice-trade-body-v148,
#tradePanel .ahardice-trade-list-v148,
#tradePanel .trade-modern-offer,
#tradePanel .trade-stack-list {
  background: linear-gradient(180deg, #4f8d2f 0%, #3e7725 100%) !important;
  border-color: #244f16 !important;
  color: #fffbd0 !important;
}

#tradePanel .ahardice-trade-row-v148 {
  background: #5e6c4d !important;
  border-color: #233017 !important;
  color: #fffbd0 !important;
}

#tradePanel .ahardice-trade-row-v148:hover,
#tradePanel .ahardice-trade-row-v148.pending,
#tradePanel .ahardice-trade-row-v148.incoming {
  background: #b7d66a !important;
  color: #ffffff !important;
}

#tradePanel .social-title,
#tradePanel .trade-offer-head {
  color: #fffbd0 !important;
  text-shadow: 0 3px 0 rgba(0,0,0,0.45) !important;
}

#tradePanel .ahardice-yellow-button-v148,
#tradePanel .trade-confirm-modern,
#tradePanel .trade-cancel-modern {
  background: linear-gradient(180deg, #d8ff77 0%, #9cff3b 45%, #5ea821 100%) !important;
  border-color: #2a5518 !important;
  color: #183006 !important;
  text-shadow: 0 1px 0 rgba(255,255,255,0.35) !important;
}

#tradePanel .trade-cancel-modern {
  background: linear-gradient(180deg, #ffd56f 0%, #ffa92e 45%, #c76413 100%) !important;
  border-color: #683006 !important;
  color: #4b2003 !important;
}

#tradePanel .trade-offer-slot {
  background-color: #315f1f !important;
  border-color: #16350d !important;
  background-size: contain, auto !important;
  background-position: center, center !important;
  background-repeat: no-repeat, no-repeat !important;
}

#tradePanel .trade-offer-slot.filled {
  background-image: var(--trade-item-image, none), linear-gradient(180deg, #4b7c31 0%, #315f1f 100%) !important;
}

#tradePanel .trade-offer-slot.empty,
#tradePanel .trade-offer-slot.can-place {
  background-image: linear-gradient(180deg, #4b7c31 0%, #315f1f 100%) !important;
}

#tradePanel .trade-offer-slot.can-place:hover {
  border-color: #cfff6a !important;
  background-image: linear-gradient(180deg, #6ca846 0%, #3f7c25 100%) !important;
}

#tradePanel .trade-offer-slot span {
  background: rgba(22, 53, 13, 0.88) !important;
  color: #fffbd0 !important;
  border: 1px solid rgba(207,255,106,0.35) !important;
}


/* v168: manual trade slots and reliable item icons */
#tradePanel .trade-offer-slot {
  position: relative !important;
  display: grid !important;
  place-items: center !important;
  overflow: hidden !important;
}

#tradePanel .trade-offer-icon {
  position: absolute !important;
  inset: 5px !important;
  display: block !important;
  background-size: contain !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
  pointer-events: none !important;
  z-index: 2 !important;
}

#tradePanel .trade-offer-slot span {
  position: absolute !important;
  right: 3px !important;
  bottom: 2px !important;
  z-index: 5 !important;
}

#tradePanel .trade-offer-slot.can-remove {
  cursor: pointer !important;
}

#tradePanel .trade-offer-slot.can-remove::after {
  content: 'в†©' !important;
  position: absolute !important;
  left: 3px !important;
  top: 2px !important;
  z-index: 6 !important;
  font-size: 12px !important;
  color: #e6ff5a !important;
  text-shadow: 0 2px 0 rgba(0,0,0,0.75) !important;
  opacity: 0;
}

#tradePanel .trade-offer-slot.can-remove:hover::after {
  opacity: 1;
}

#tradePanel .trade-offer-slot.empty.can-place {
  cursor: copy !important;
}

#tradePanel .trade-offer-slot.empty.can-place:hover {
  box-shadow: inset 0 0 0 3px rgba(207,255,106,0.55), 0 3px 0 rgba(0,0,0,0.35) !important;
}


/* v169: reliable clickable mini trade inventory */
#tradePanel .trade-offer-slot {
  pointer-events: auto !important;
}

#tradePanel .trade-offer-slot.empty.can-place {
  cursor: copy !important;
}

#tradePanel .trade-offer-slot.filled.can-remove {
  cursor: pointer !important;
}

#tradePanel .trade-offer-icon {
  position: absolute !important;
  inset: 5px !important;
  display: block !important;
  background-size: contain !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
  z-index: 2 !important;
  pointer-events: none !important;
}


/* v170: leave confirmation modal */
.leave-confirm-overlay {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: grid;
  place-items: center;
  background: rgba(0, 0, 0, 0.44);
  backdrop-filter: blur(2px);
}

.leave-confirm-overlay.hidden {
  display: none !important;
}

.leave-confirm-card {
  width: min(420px, calc(100vw - 32px));
  box-sizing: border-box;
  padding: 24px;
  border-radius: 16px;
  background: linear-gradient(180deg, #9bef4f 0%, #77cf3d 48%, #5bad2e 100%);
  border: 4px solid #16350d;
  color: #fffbd0;
  text-align: center;
  text-shadow: 0 2px 0 rgba(0,0,0,0.42);
  box-shadow: 0 10px 0 rgba(20,45,10,0.9), 0 22px 60px rgba(0,0,0,0.42);
}

.leave-confirm-card b {
  display: block;
  font-size: 30px;
  font-weight: 1000;
  margin-bottom: 10px;
}

.leave-confirm-card p {
  margin: 0 0 20px;
  font-size: 16px;
  font-weight: 800;
  line-height: 1.35;
}

.leave-confirm-actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}

.leave-confirm-actions button {
  min-height: 54px;
  border-radius: 12px;
  border: 3px solid #2a5518;
  background: linear-gradient(180deg, #d8ff77 0%, #9cff3b 45%, #5ea821 100%);
  color: #183006;
  font-size: 18px;
  font-weight: 1000;
  cursor: pointer;
  text-shadow: 0 1px 0 rgba(255,255,255,0.35);
  box-shadow: 0 5px 0 #2a5518, inset 0 1px 0 rgba(255,255,255,0.4);
}

#leaveConfirmYes {
  background: linear-gradient(180deg, #ffd56f 0%, #ffa92e 45%, #c76413 100%);
  border-color: #683006;
  color: #4b2003;
}


/* v171: rectangular player HP bar and cursor above trade panel */
.player-bottom-hp .player-bar.hp,
.player-bar.hp {
  border-radius: 3px !important;
  height: 9px !important;
  overflow: hidden !important;
}

.player-bottom-hp .player-bar.hp span,
.player-bar.hp span {
  border-radius: 2px !important;
}

.cursor-item,
#cursorItem {
  z-index: 10050 !important;
  pointer-events: none !important;
}


/* v171: trade mini inventory 5x4 */
#tradePanel .trade-offer-grid {
  grid-template-columns: repeat(5, 48px) !important;
  grid-auto-rows: 48px !important;
  gap: 7px !important;
  justify-content: center !important;
}

#tradePanel .trade-offer-slot {
  width: 48px !important;
  height: 48px !important;
}

#tradePanel .trade-offer-icon {
  inset: 4px !important;
}


/* v172: fit 5x4 trade offers and keep cursor visible */
body.trade-active #tradePanel {
  height: min(760px, calc(100vh - 48px)) !important;
  max-height: min(760px, calc(100vh - 48px)) !important;
  overflow: hidden !important;
}

body.trade-active #tradePanel .social-body {
  height: calc(100% - 52px) !important;
  overflow: hidden !important;
}

body.trade-active #tradePanel .trade-modern {
  height: 100% !important;
  min-height: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
}

body.trade-active #tradePanel .trade-modern-offers {
  flex: 1 1 auto !important;
  min-height: 0 !important;
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 10px !important;
  overflow: hidden !important;
}

body.trade-active #tradePanel .trade-modern-offer {
  min-height: 0 !important;
  height: 100% !important;
  overflow: hidden !important;
  display: grid !important;
  grid-template-rows: auto 1fr !important;
}

body.trade-active #tradePanel .trade-offer-grid,
#tradePanel .trade-offer-grid {
  grid-template-columns: repeat(5, 42px) !important;
  grid-auto-rows: 42px !important;
  gap: 7px !important;
  justify-content: center !important;
  align-content: center !important;
}

body.trade-active #tradePanel .trade-offer-slot,
#tradePanel .trade-offer-slot {
  width: 42px !important;
  height: 42px !important;
}

body.trade-active #tradePanel .trade-offer-icon,
#tradePanel .trade-offer-icon {
  inset: 4px !important;
}

body.trade-active #cursorItem.cursor-item:not(.hidden),
#cursorItem.cursor-item:not(.hidden) {
  display: block !important;
  opacity: 1 !important;
  visibility: visible !important;
  position: fixed !important;
  z-index: 2147483647 !important;
  pointer-events: none !important;
}

/* v172: rectangular HP bar */
.player-bottom-hp .player-bar.hp,
.player-bar.hp {
  border-radius: 3px !important;
}

.player-bottom-hp .player-bar.hp span,
.player-bar.hp span {
  border-radius: 2px !important;
}


/* v173: shorter trade/request windows, compact 5x4 trade slots */
body.trade-active #tradePanel,
#tradePanel.social-panel.trade-panel {
  height: auto !important;
  max-height: min(560px, calc(100vh - 70px)) !important;
  min-height: 0 !important;
}

body.trade-active #tradePanel .social-body,
#tradePanel .social-body,
#tradePanel .ahardice-trade-body-v148 {
  max-height: min(488px, calc(100vh - 142px)) !important;
  height: auto !important;
  overflow: hidden !important;
}

body.trade-active #tradePanel .trade-modern {
  height: auto !important;
  max-height: none !important;
  gap: 8px !important;
}

body.trade-active #tradePanel .trade-modern-offers,
#tradePanel .trade-modern-offers {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 8px !important;
  overflow: visible !important;
}

body.trade-active #tradePanel .trade-modern-offer,
#tradePanel .trade-modern-offer {
  min-height: 0 !important;
  height: auto !important;
  padding: 8px !important;
  overflow: visible !important;
}

body.trade-active #tradePanel .trade-offer-head,
#tradePanel .trade-offer-head {
  margin-bottom: 5px !important;
  font-size: 14px !important;
  line-height: 1 !important;
}

body.trade-active #tradePanel .trade-offer-grid,
#tradePanel .trade-offer-grid {
  grid-template-columns: repeat(5, 38px) !important;
  grid-auto-rows: 38px !important;
  gap: 6px !important;
  justify-content: center !important;
  align-content: center !important;
}

body.trade-active #tradePanel .trade-offer-slot,
#tradePanel .trade-offer-slot {
  width: 38px !important;
  height: 38px !important;
  border-radius: 9px !important;
}

body.trade-active #tradePanel .trade-offer-icon,
#tradePanel .trade-offer-icon {
  inset: 3px !important;
}

body.trade-active #tradePanel .trade-modern-controls,
#tradePanel .trade-modern-controls {
  gap: 10px !important;
  margin-top: 4px !important;
}

body.trade-active #tradePanel .trade-confirm-modern,
body.trade-active #tradePanel .trade-cancel-modern,
#tradePanel .trade-confirm-modern,
#tradePanel .trade-cancel-modern {
  min-height: 48px !important;
  padding: 8px 12px !important;
}

/* Request list panel is also too high: make it content-sized */
#tradePanel.social-panel.trade-panel:not(.hidden) {
  height: auto !important;
}

#tradePanel .ahardice-trade-list-v148 {
  min-height: 0 !important;
  max-height: min(420px, calc(100vh - 190px)) !important;
  overflow-y: auto !important;
}

/* Rectangular HP bar with slightly rounded corners only */
.player-bottom-hp .player-bar.hp,
.player-bar.hp {
  border-radius: 3px !important;
}

.player-bottom-hp .player-bar.hp span,
.player-bar.hp span {
  border-radius: 2px !important;
}

/* Cursor must stay above trade panel */
.cursor-item,
#cursorItem {
  z-index: 2147483647 !important;
  pointer-events: none !important;
}


/* v175: restore inventory window to the blue design only (#inventory opened by I/TAB) */
#inventory.inventory.game-panel {
  background: linear-gradient(180deg, #0b86b5 0%, #08779e 48%, #05607d 100%) !important;
  border-color: rgba(0,0,0,0.86) !important;
  color: #ffffff !important;
}

#inventory .inventory-shell {
  background: linear-gradient(180deg, #0d6f96 0%, #085a78 100%) !important;
  border-color: #06384d !important;
}

#inventory .inventory-grid {
  background: linear-gradient(180deg, #07506b 0%, #063f56 100%) !important;
  border-color: #052f41 !important;
}

#inventory .inventory-title,
#inventory .large-title {
  color: #ffffff !important;
  text-shadow: 0 3px 0 rgba(0,0,0,0.45) !important;
}

#inventory .inventory-slot {
  background-color: #1d2b31 !important;
  border-color: #071b24 !important;
  box-shadow:
    inset 0 2px 0 rgba(255,255,255,0.10),
    0 3px 0 rgba(0,0,0,0.36) !important;
}

#inventory .inventory-slot:not([style*="background-image"]) {
  background-image: linear-gradient(180deg, #263842 0%, #17252c 100%) !important;
}

#inventory .inventory-slot:hover {
  border-color: #74dfff !important;
}

#inventory .slot-label {
  background: rgba(5, 24, 33, 0.78) !important;
  color: #ffffff !important;
}

#inventory .slot-count {
  background: rgba(5, 24, 33, 0.88) !important;
  color: #ffffff !important;
  border: 1px solid rgba(116,223,255,0.35) !important;
}

#inventory .panel-close {
  background: linear-gradient(180deg, #58c7ff, #2381bd) !important;
  border-color: #06384d !important;
  color: #ffffff !important;
}


/* v175: trade explicit return chip and red player damage numbers */
#tradePanel .trade-return-chip {
  position: absolute !important;
  left: 2px !important;
  top: 2px !important;
  z-index: 9 !important;
  width: 17px !important;
  height: 17px !important;
  display: grid !important;
  place-items: center !important;
  border-radius: 6px !important;
  background: rgba(15, 55, 18, 0.92) !important;
  border: 1px solid rgba(207,255,106,0.75) !important;
  color: #e9ff88 !important;
  font-style: normal !important;
  font-size: 12px !important;
  font-weight: 1000 !important;
  line-height: 1 !important;
  text-shadow: 0 2px 0 rgba(0,0,0,0.7) !important;
  pointer-events: auto !important;
}

#tradePanel .trade-offer-slot.can-remove:hover .trade-return-chip {
  background: rgba(170, 255, 52, 0.96) !important;
  color: #16350d !important;
  text-shadow: none !important;
}

.damage-number-player {
  position: fixed;
  z-index: 80;
  transform: translate(-50%, -50%);
  pointer-events: none;
  user-select: none;
  color: #ff3434;
  font-size: 22px;
  font-weight: 1000;
  -webkit-text-stroke: 1.2px rgba(60, 0, 0, 0.92);
  text-shadow:
    0 3px 0 rgba(80,0,0,0.85),
    0 0 10px rgba(255,40,40,0.62);
  animation: damageNumberFadeV175 1s ease-out forwards;
}

@keyframes damageNumberFadeV175 {
  0% { opacity: 1; transform: translate(-50%, -50%) scale(1.05); }
  55% { opacity: 1; transform: translate(-50%, -75%) scale(1.0); }
  100% { opacity: 0; transform: translate(-50%, -115%) scale(0.92); }
}


/* v176: stricter cursor follow / startup / server-authoritative HP */
#status {
  transition: opacity .15s ease;
}

.player-bottom-hp .player-bar.hp,
.player-bar.hp {
  border-radius: 3px !important;
}

.player-bottom-hp .player-bar.hp span,
.player-bar.hp span {
  border-radius: 2px !important;
}


/* v178: death lock, clan ally colors, clan panel polish */
body.player-dead-v178 #hotbar,
body.player-dead-v178 #inventory,
body.player-dead-v178 #chestPanel,
body.player-dead-v178 #craftPanel,
body.player-dead-v178 #buildPanel,
body.player-dead-v178 #shopPanel,
body.player-dead-v178 #settingsPanel,
body.player-dead-v178 #clanPanel,
body.player-dead-v178 #tradePanel,
body.player-dead-v178 #adminPanel,
body.player-dead-v178 #fullMapOverlay {
  pointer-events: none !important;
}

body.player-dead-v178 .death-overlay {
  z-index: 2147483000 !important;
  pointer-events: auto !important;
}

body.player-dead-v178 .death-respawn-button {
  pointer-events: auto !important;
}

.player-nameplate.ally .player-name {
  color: #8eff5f !important;
  text-shadow:
    0 1px 0 rgba(0,0,0,0.9),
    0 0 10px rgba(95, 255, 95, 0.38),
    1px 0 0 rgba(0,0,0,0.62),
    -1px 0 0 rgba(0,0,0,0.62) !important;
}

.player-nameplate.enemy .player-name,
.player-nameplate.me .player-name {
  color: #ffffff !important;
}

.player-nameplate.me .player-name {
  text-shadow:
    0 1px 0 rgba(0,0,0,0.9),
    1px 0 0 rgba(0,0,0,0.62),
    -1px 0 0 rgba(0,0,0,0.62) !important;
}

.player-clan {
  margin-right: 4px !important;
  color: #ffdf60 !important;
}

.player-bottom-hp.ally .player-bar.hp span {
  background: linear-gradient(90deg, #24e86c, #baff55) !important;
}

.player-bottom-hp.me .player-bar.hp span {
  background: linear-gradient(90deg, #6fd7ff, #e9fbff) !important;
}

.ahardice-clan-row-info-v178 {
  display: block;
  max-width: 210px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: rgba(225, 246, 210, 0.72);
  font-size: 12px;
  margin-top: 3px;
}

.ahardice-red-button-v178 {
  border: 0;
  border-radius: 10px;
  padding: 10px 14px;
  font-weight: 900;
  color: #fff;
  background: linear-gradient(180deg, #db5447, #a42a25);
  box-shadow: 0 4px 0 rgba(74, 15, 15, 0.75), 0 10px 18px rgba(0,0,0,0.22);
  cursor: pointer;
}

/* v180: clan server-ack status */
.ahardice-clan-pending-v180 {
  margin-top: 8px;
  padding: 8px 10px;
  border-radius: 10px;
  background: rgba(255, 210, 64, 0.13);
  border: 1px solid rgba(255, 220, 92, 0.34);
  color: #ffe28a;
  font-size: 12px;
  font-weight: 800;
  text-shadow: 0 1px 0 rgba(0,0,0,0.55);
}

/* v183: clan leader crown and fixed neutral HP after leaving a clan */
.player-clan-crown {
  position: relative;
  display: block;
  width: 100%;
  height: 17px;
  margin: 0 auto 1px;
  font-size: 17px;
  line-height: 17px;
  text-align: center;
  filter: drop-shadow(0 2px 2px rgba(0,0,0,0.85));
  transform: translateY(2px);
}

.player-bottom-hp.me .player-bar.hp span {
  background: linear-gradient(90deg, #24e86c, #baff55) !important;
}

#clanButton.has-alert::after {
  content: '!';
  position: absolute;
  right: -5px;
  top: -7px;
  width: 20px;
  height: 20px;
  border-radius: 999px;
  display: grid;
  place-items: center;
  background: linear-gradient(180deg, #ffdd4b, #ff7a18);
  color: #451800;
  font-size: 14px;
  font-weight: 1000;
  border: 2px solid rgba(40, 15, 0, .85);
  box-shadow: 0 3px 8px rgba(0,0,0,.38);
}
#clanButton { position: relative; }

/* v184: strict clan panel layout and request flow */
#clanPanel .ahardice-clan-row-v184 {
  grid-template-columns: minmax(0, 1fr) 112px !important;
  padding: 8px 10px !important;
  border-radius: 10px !important;
  margin-bottom: 8px !important;
}

#clanPanel .ahardice-clan-row-v184.active {
  background: rgba(124, 148, 96, 0.72) !important;
}

.ahardice-clan-titlebox-v184 {
  min-width: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 2px !important;
}

.ahardice-clan-titlebox-v184 > b {
  display: block !important;
}

.ahardice-clan-member-row-v184,
.ahardice-clan-request-row-v184 {
  min-height: 48px !important;
  display: grid !important;
  grid-template-columns: 44px minmax(0, 1fr) !important;
  align-items: center !important;
  gap: 10px !important;
  margin: 8px 0 !important;
  padding: 8px 10px !important;
  border-radius: 10px !important;
  background: rgba(10, 42, 20, 0.55) !important;
  color: #fffbd0 !important;
}

.ahardice-clan-request-row-v184 {
  grid-template-columns: minmax(0, 1fr) 150px !important;
  background: rgba(255, 201, 45, 0.16) !important;
  border: 1px solid rgba(255, 224, 92, 0.25) !important;
}

.ahardice-clan-eye-v184 {
  width: 42px !important;
  height: 42px !important;
  border-radius: 8px !important;
  display: grid !important;
  place-items: center !important;
  background: rgba(5, 23, 15, 0.82) !important;
  color: #fff !important;
  font-size: 20px !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08), 0 2px 4px rgba(0,0,0,.35) !important;
}

.ahardice-clan-member-row-v184 b,
.ahardice-clan-request-row-v184 b {
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
  font-size: 20px !important;
  font-weight: 1000 !important;
  text-shadow: 0 3px 1px rgba(0,0,0,0.48) !important;
}

.ahardice-clan-request-actions-v184 {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 8px !important;
}

#clanPanel .ahardice-clan-form-v184.in-clan {
  grid-template-columns: 1fr !important;
}

#clanPanel .ahardice-clan-leave-v184 {
  width: min(240px, 100%) !important;
  justify-self: center !important;
  min-height: 44px !important;
}

/* v185: 30s reconnect grace visual marker */
.player-nameplate.afk .player-name {
  opacity: 0.82;
}
.player-afk {
  color: #ffd95a;
  text-shadow: 0 2px 0 rgba(0,0,0,.55);
  margin-right: 4px;
}

/* v189: clan request status + leader kick controls */
#clanPanel .ahardice-clan-sent-v189 {
  min-width: 110px !important;
  min-height: 46px !important;
  border-radius: 10px !important;
  border: 2px solid rgba(255,255,255,.20) !important;
  background: linear-gradient(180deg, #b8d57d, #6e9449) !important;
  color: rgba(20,55,18,.86) !important;
  font-weight: 1000 !important;
  text-shadow: 0 1px 0 rgba(255,255,255,.40) !important;
  opacity: .88 !important;
  cursor: default !important;
  pointer-events: none !important;
}

#clanPanel .ahardice-clan-member-row-v184.can-kick-v189 {
  grid-template-columns: 44px minmax(0, 1fr) 110px !important;
}

#clanPanel .ahardice-clan-kick-v189 {
  min-height: 38px !important;
  padding: 6px 10px !important;
  border-radius: 10px !important;
  border: 2px solid rgba(60, 13, 13, .65) !important;
  background: linear-gradient(180deg, #ff6b4a, #b91818) !important;
  color: #fff8d4 !important;
  font-size: 14px !important;
  font-weight: 1000 !important;
  text-shadow: 0 2px 0 rgba(0,0,0,.35) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.25), 0 4px 0 rgba(63,17,13,.65) !important;
  cursor: pointer !important;
}

#clanPanel .ahardice-clan-kick-v189:hover {
  transform: translateY(-1px) !important;
}

.trade-toast,
.trade-toast * {
  pointer-events: auto !important;
}

.trade-toast .trade-toast-btn {
  cursor: pointer !important;
  touch-action: manipulation !important;
}

/* v190: cleaner clan panel layout + reliable leader kick button */
#clanPanel.social-panel {
  width: min(500px, calc(100vw - 24px)) !important;
  max-height: min(650px, calc(100vh - 80px)) !important;
}

#clanPanel .ahardice-clan-body-v184 {
  padding-bottom: 76px !important;
}

#clanPanel .ahardice-clan-list-v184 {
  right: 18px !important;
  left: 10px !important;
  top: 8px !important;
  bottom: 66px !important;
  padding: 10px !important;
  border-radius: 12px !important;
  box-sizing: border-box !important;
}

#clanPanel .ahardice-clan-browser-row-v190,
#clanPanel .ahardice-clan-row-v184:not(.active) {
  min-height: 70px !important;
  grid-template-columns: minmax(0, 1fr) 116px !important;
  gap: 12px !important;
  align-items: center !important;
  padding: 10px 12px !important;
  box-sizing: border-box !important;
}

#clanPanel .ahardice-clan-titlebox-v184 {
  justify-content: center !important;
  overflow: hidden !important;
}

#clanPanel .ahardice-clan-titlebox-v184 > b {
  line-height: 1.05 !important;
}

#clanPanel .ahardice-clan-row-info-v178 {
  max-width: 100% !important;
  font-size: 13px !important;
  color: rgba(255, 255, 220, .76) !important;
}

#clanPanel .ahardice-clan-current-header-v190 {
  min-height: 78px !important;
  display: grid !important;
  place-items: center !important;
  margin: 0 0 10px !important;
  padding: 10px 14px !important;
  border-radius: 12px !important;
  background: linear-gradient(90deg, rgba(113, 135, 85, .88), rgba(89, 111, 68, .58)) !important;
  border: 1px solid rgba(255,255,255,.08) !important;
  box-sizing: border-box !important;
}

#clanPanel .ahardice-clan-current-titlebox-v190 {
  width: 100% !important;
  display: grid !important;
  place-items: center !important;
  gap: 4px !important;
  text-align: center !important;
}

#clanPanel .ahardice-clan-current-titlebox-v190 > b {
  display: block !important;
  max-width: 100% !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
  font-size: 30px !important;
  font-weight: 1000 !important;
  color: #fffbd0 !important;
  text-shadow: 0 3px 1px rgba(0,0,0,.48) !important;
}

#clanPanel .ahardice-clan-current-info-v190 {
  display: block !important;
  max-width: 100% !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  color: rgba(255,255,220,.75) !important;
}

#clanPanel .ahardice-clan-member-row-v184 {
  min-height: 58px !important;
  margin: 8px 0 !important;
  padding: 8px 10px !important;
  box-sizing: border-box !important;
  pointer-events: auto !important;
}

#clanPanel .ahardice-clan-member-row-v184.can-kick-v189 {
  grid-template-columns: 44px minmax(0, 1fr) 118px !important;
}

#clanPanel .ahardice-clan-kick-v189 {
  position: relative !important;
  z-index: 2 !important;
  pointer-events: auto !important;
  min-width: 104px !important;
  min-height: 40px !important;
  touch-action: manipulation !important;
}

#clanPanel .ahardice-clan-form-v184 {
  left: 14px !important;
  right: 14px !important;
  bottom: 8px !important;
  grid-template-columns: minmax(0, 1fr) minmax(160px, 210px) !important;
  gap: 14px !important;
}

#clanPanel .ahardice-clan-form-v184.in-clan {
  grid-template-columns: 1fr !important;
}

#clanPanel .ahardice-clan-form-v184 input {
  min-width: 0 !important;
}

#clanPanel .ahardice-clan-leave-v184 {
  width: min(250px, 100%) !important;
}


/* v191 Ahardice logo + polished main title */
.main-brand {
  display: grid;
  justify-items: center;
  gap: 8px;
  margin-bottom: 28px;
  pointer-events: none;
}

.main-brand-logo {
  width: min(260px, 42vw);
  max-height: 210px;
  object-fit: contain;
  image-rendering: auto;
  filter:
    drop-shadow(0 10px 0 rgba(0,0,0,0.24))
    drop-shadow(0 20px 22px rgba(0,0,0,0.34));
  transform-origin: center bottom;
  animation: ahardiceLogoFloat 3.2s ease-in-out infinite;
}

.main-brand-logo.logo-missing,
.loading-logo-img.logo-missing {
  display: none !important;
}

.ahardice-logo {
  margin: 0 !important;
  font-size: clamp(58px, 7.2vw, 92px) !important;
  line-height: 0.92;
  font-weight: 1000;
  letter-spacing: 1px;
  color: #fff7a6 !important;
  -webkit-text-stroke: 3px #43210b !important;
  text-shadow:
    0 4px 0 #8b4d15,
    0 8px 0 #3b1c09,
    0 13px 16px rgba(0,0,0,0.45),
    0 0 28px rgba(255, 228, 89, 0.35) !important;
}

.ahardice-logo::first-letter {
  color: #ffcf45;
}

.loading-logo-img {
  width: 138px;
  height: 138px;
  object-fit: contain;
  margin: 0 auto 10px;
  display: block;
  filter:
    drop-shadow(0 7px 0 rgba(0,0,0,0.22))
    drop-shadow(0 14px 18px rgba(0,0,0,0.35));
}

.loading-text-logo-img {
  display: block;
  width: min(310px, 76vw);
  max-height: 74px;
  object-fit: contain;
  margin: 0 auto 16px;
  filter: drop-shadow(0 5px 0 rgba(0,0,0,0.20)) drop-shadow(0 9px 14px rgba(0,0,0,0.26));
}

.loading-logo {
  color: #fff7a6 !important;
  -webkit-text-stroke: 1.5px #43210b;
  text-shadow:
    0 3px 0 #8b4d15,
    0 6px 0 #3b1c09,
    0 10px 18px rgba(0,0,0,0.32) !important;
}

@keyframes ahardiceLogoFloat {
  0%, 100% { transform: translateY(0) scale(1); }
  50% { transform: translateY(-7px) scale(1.015); }
}

@media (max-height: 760px) {
  .main-brand {
    gap: 4px;
    margin-bottom: 18px;
  }
  .main-brand-logo {
    width: min(190px, 36vw);
    max-height: 150px;
  }
  .ahardice-logo {
    font-size: clamp(48px, 6vw, 70px) !important;
  }
}

/* v192: orange #FE7700 panel palette + map/trade/clan cleanup */
:root {
  --ah-orange: #FE7700;
  --ah-orange-light: #ffb14c;
  --ah-orange-mid: #df6400;
  --ah-orange-dark: #8f3c00;
  --ah-orange-deep: #3b1700;
  --ah-panel-text: #fff7d8;
}

/* Main game panels now share the Ahardice orange palette. */
#inventory.inventory.game-panel,
#chestPanel.game-panel,
#craftPanel.game-panel,
#buildPanel.game-panel,
#shopPanel.game-panel,
#settingsPanel.game-panel,
#leaderboardPanel.game-panel,
#adminPanel.game-panel,
#clanPanel.social-panel,
#tradePanel.social-panel,
#tradePanel.social-panel.trade-panel,
.full-map-card {
  background: linear-gradient(180deg, var(--ah-orange-light) 0%, var(--ah-orange) 42%, var(--ah-orange-mid) 100%) !important;
  border-color: var(--ah-orange-deep) !important;
  color: var(--ah-panel-text) !important;
  box-shadow:
    0 6px 0 rgba(56, 18, 0, .46),
    0 22px 60px rgba(0,0,0,.38),
    inset 0 2px 0 rgba(255,255,255,.25) !important;
}

#inventory .inventory-shell,
#chestPanel .inventory-shell,
#craftPanel .craft-body,
#buildPanel .craft-body,
#shopPanel .craft-body,
#settingsPanel .settings-body,
#adminPanel .admin-body,
#tradePanel .social-body,
#clanPanel .social-body,
#tradePanel .ahardice-trade-body-v148,
#clanPanel .ahardice-clan-body-v148 {
  background: linear-gradient(180deg, rgba(148, 58, 0, .96), rgba(74, 27, 0, .96)) !important;
  border-color: rgba(56, 18, 0, .95) !important;
  color: var(--ah-panel-text) !important;
}

#inventory .inventory-title,
#chestPanel .inventory-title,
#craftPanel .craft-title,
#buildPanel .craft-title,
#shopPanel .craft-title,
#settingsPanel .settings-title,
#adminPanel .admin-title,
#tradePanel .social-title,
#clanPanel .social-title,
.full-map-card > .inventory-title {
  color: #fff7d8 !important;
  text-shadow: 0 3px 0 rgba(60, 18, 0, .72), 0 0 12px rgba(255, 177, 76, .45) !important;
}

#tradePanel .ahardice-trade-list-v148,
#clanPanel .ahardice-clan-list-v148,
#adminPanel .admin-list,
#adminPanel .admin-item-list,
#adminPanel .admin-mode-list,
#craftPanel .craft-grid,
#buildPanel .craft-grid,
#shopPanel .craft-grid,
#inventory .inventory-grid,
#chestPanel .inventory-grid {
  background: linear-gradient(180deg, rgba(72, 25, 0, .98), rgba(46, 17, 0, .98)) !important;
  border-color: rgba(42, 14, 0, .98) !important;
}

#tradePanel .ahardice-trade-row-v148,
#clanPanel .ahardice-clan-row-v148,
#clanPanel .ahardice-clan-current-header-v190,
#clanPanel .ahardice-clan-member-row-v184,
#adminPanel .admin-row,
#adminPanel .admin-item-row,
#adminPanel .admin-mode-row {
  background: linear-gradient(90deg, rgba(139, 58, 0, .92), rgba(96, 39, 0, .72)) !important;
  border-color: rgba(50, 18, 0, .92) !important;
  color: #fff7d8 !important;
}

#tradePanel .ahardice-trade-row-v148:hover,
#clanPanel .ahardice-clan-row-v148:hover,
#clanPanel .ahardice-clan-member-row-v184:hover,
#adminPanel .admin-row:hover,
#adminPanel .admin-item-row:hover,
#adminPanel .admin-mode-row:hover {
  background: linear-gradient(90deg, rgba(254,119,0,.95), rgba(255,177,76,.78)) !important;
  color: #fff !important;
}

#adminPanel button,
#tradePanel button,
#clanPanel button,
#craftPanel button,
#buildPanel button,
#shopPanel button,
.ahardice-yellow-button-v148,
.ahardice-green-button-v148,
.trade-confirm-modern,
.trade-cancel-modern,
.admin-give-button,
.admin-mode-toggle,
#clanCreateBtn {
  background: linear-gradient(180deg, #ffd16f 0%, var(--ah-orange) 48%, #b44b00 100%) !important;
  border-color: rgba(65, 22, 0, .96) !important;
  color: #321100 !important;
  text-shadow: 0 1px 0 rgba(255,255,255,.38) !important;
}

#adminPanel button:hover,
#tradePanel button:hover,
#clanPanel button:hover,
#craftPanel button:hover,
#buildPanel button:hover,
#shopPanel button:hover,
.ahardice-yellow-button-v148:hover,
.ahardice-green-button-v148:hover,
#clanCreateBtn:hover {
  filter: brightness(1.08) saturate(1.05) !important;
}

#adminPanel input,
#clanPanel input,
#settingsPanel input {
  background: rgba(40, 14, 0, .96) !important;
  border-color: rgba(28, 9, 0, .98) !important;
  color: #fff7d8 !important;
}

#adminPanel input:focus,
#clanPanel input:focus,
#settingsPanel input:focus {
  border-color: var(--ah-orange-light) !important;
  box-shadow: 0 0 0 3px rgba(254,119,0,.28) !important;
}

.inventory-slot,
.hotbar-slot,
.trade-offer-slot {
  background-color: rgba(44, 15, 0, .96) !important;
  border-color: rgba(27, 8, 0, .98) !important;
}

.inventory-slot:hover,
.hotbar-slot:hover,
.trade-offer-slot.can-place:hover,
.inventory-slot.selected,
.hotbar-slot.selected,
.inventory-slot.picked,
.hotbar-slot.picked {
  border-color: var(--ah-orange-light) !important;
  outline-color: var(--ah-orange-light) !important;
}

/* Trade empty state instead of a dead-looking blank panel. */
#tradePanel .ahardice-trade-empty-v192 {
  min-height: 86px;
  display: grid;
  place-items: center;
  padding: 18px;
  color: #fff7d8;
  font-size: 22px;
  font-weight: 1000;
  text-align: center;
  text-shadow: 0 2px 0 rgba(50, 15, 0, .7);
  background: rgba(72, 25, 0, .62);
  border: 2px solid rgba(255, 177, 76, .32);
  border-radius: 14px;
}

/* Full map: orange frame, no feeling of a duplicated blue back panel. */
.full-map-card {
  background: linear-gradient(180deg, #ffab46 0%, #FE7700 48%, #b84f00 100%) !important;
  border-color: #3b1700 !important;
}

#fullMapCanvas {
  border-color: rgba(42, 14, 0, .98) !important;
  box-shadow: inset 0 0 0 2px rgba(255,177,76,.20), inset 0 0 24px rgba(0,0,0,.56) !important;
}

#fullMapClose {
  background: linear-gradient(180deg, #ffd16f 0%, #FE7700 48%, #a94500 100%) !important;
  border-color: #3b1700 !important;
}

#inventory *::-webkit-scrollbar-thumb,
#chestPanel *::-webkit-scrollbar-thumb,
#adminPanel *::-webkit-scrollbar-thumb,
#tradePanel *::-webkit-scrollbar-thumb,
#clanPanel *::-webkit-scrollbar-thumb,
#craftPanel *::-webkit-scrollbar-thumb,
#buildPanel *::-webkit-scrollbar-thumb,
#shopPanel *::-webkit-scrollbar-thumb {
  background: linear-gradient(180deg, #ffd16f, #FE7700) !important;
}


/* v193: finish orange palette, restore active slots, fix main menu tabs, stronger map layer */
:root {
  --ah-orange: #FE7700;
  --ah-orange-2: #ff9b22;
  --ah-orange-3: #c85000;
  --ah-orange-dark: #3b1700;
  --ah-orange-panel: #5a2100;
  --ah-orange-panel-2: #331100;
}

/* Craft / Build / Shop had old late CSS overriding v192. Force the whole catalog shell to orange. */
#craftPanel.craft-panel.game-panel,
#buildPanel.craft-panel.game-panel,
#shopPanel.craft-panel.game-panel,
#craftPanel.game-panel:not(.hidden),
#buildPanel.game-panel:not(.hidden),
#shopPanel.game-panel:not(.hidden) {
  background: linear-gradient(180deg, #ffb14c 0%, #FE7700 46%, #b94b00 100%) !important;
  border-color: #3b1700 !important;
  color: #fff6d6 !important;
  box-shadow: 0 7px 0 rgba(56,18,0,.45), 0 24px 55px rgba(0,0,0,.36), inset 0 2px 0 rgba(255,255,255,.24) !important;
}

#craftPanel .craft-shell,
#buildPanel .craft-shell,
#shopPanel .craft-shell,
#craftPanel .craft-list-wrap,
#buildPanel .craft-list-wrap,
#shopPanel .craft-list-wrap,
#craftPanel .craft-detail,
#buildPanel .craft-detail,
#shopPanel .craft-detail,
#craftPanel .craft-list,
#buildPanel .craft-list,
#shopPanel .craft-list {
  background: linear-gradient(180deg, rgba(88,34,0,.96), rgba(45,15,0,.97)) !important;
  border-color: rgba(52,16,0,.98) !important;
  color: #fff6d6 !important;
}

#craftPanel .craft-category-tabs,
#buildPanel .craft-category-tabs,
#shopPanel .craft-category-tabs,
#craftPanel .simple-catalog-tabs,
#buildPanel .simple-catalog-tabs,
#shopPanel .simple-catalog-tabs {
  background: linear-gradient(180deg, rgba(74,26,0,.94), rgba(38,12,0,.96)) !important;
  border-color: rgba(46,14,0,.98) !important;
}

#craftPanel .craft-category-tab,
#buildPanel .craft-category-tab,
#shopPanel .craft-category-tab,
#craftPanel .catalog-tab,
#buildPanel .catalog-tab,
#shopPanel .catalog-tab,
#craftPanel .craft-create-button,
#buildPanel .craft-create-button,
#shopPanel .craft-create-button,
#craftPanel .catalog-action,
#buildPanel .catalog-action,
#shopPanel .catalog-action {
  background: linear-gradient(180deg, #ffd06a 0%, #FE7700 48%, #ae4400 100%) !important;
  border-color: #3b1700 !important;
  color: #351100 !important;
  text-shadow: 0 1px 0 rgba(255,255,255,.45) !important;
}

#craftPanel .craft-category-tab.active,
#buildPanel .craft-category-tab.active,
#shopPanel .craft-category-tab.active,
#craftPanel .catalog-tab.active,
#buildPanel .catalog-tab.active,
#shopPanel .catalog-tab.active,
#craftPanel .craft-list-item.selected,
#buildPanel .craft-list-item.selected,
#shopPanel .craft-list-item.selected,
#craftPanel .catalog-card.selected,
#buildPanel .catalog-card.selected,
#shopPanel .catalog-card.selected {
  background: linear-gradient(180deg, #ffb347 0%, #FE7700 52%, #9c3d00 100%) !important;
  border-color: #ffd46e !important;
  color: #fff9df !important;
  box-shadow: inset 0 0 0 2px rgba(255,214,110,.28), 0 5px 12px rgba(72,24,0,.25) !important;
}

#craftPanel .craft-list-item,
#buildPanel .craft-list-item,
#shopPanel .craft-list-item,
#craftPanel .catalog-card,
#buildPanel .catalog-card,
#shopPanel .catalog-card,
#craftPanel .craft-recipe-box,
#buildPanel .craft-recipe-box,
#shopPanel .craft-recipe-box {
  background: linear-gradient(90deg, rgba(132,52,0,.88), rgba(83,30,0,.82)) !important;
  border-color: rgba(55,18,0,.96) !important;
  color: #fff6d6 !important;
}

/* The user did not ask to recolor active inventory/hotbar slots. Restore the old readable highlight. */
.hotbar-slot.selected,
.inventory-slot.selected,
.hotbar-slot.picked,
.inventory-slot.picked {
  border-color: #ffe66e !important;
  outline-color: #ffe66e !important;
  box-shadow: 0 0 0 2px rgba(255,230,110,.46), inset 0 0 0 2px rgba(255,255,255,.08) !important;
}

.hotbar-slot:hover,
.inventory-slot:hover {
  border-color: rgba(255,255,255,.42) !important;
  outline-color: transparent !important;
}

/* Main menu tabs: no more blue active state; use the Ahardice orange gradient. */
.main-menu-tab.active,
.main-menu-tab:hover,
.main-menu-left-tabs .main-menu-tab.active,
.main-menu-left-tabs .main-menu-tab:hover {
  background: linear-gradient(180deg, #ffd36b 0%, #FE7700 47%, #ad4400 100%) !important;
  border-color: #3b1700 !important;
  color: #351100 !important;
  box-shadow: 0 5px 0 rgba(69,22,0,.55), 0 10px 18px rgba(0,0,0,.20), inset 0 2px 0 rgba(255,255,255,.34) !important;
}

.main-menu-tab.active span,
.main-menu-left-tabs .main-menu-tab.active span,
.main-menu-tab:hover span,
.main-menu-left-tabs .main-menu-tab:hover span {
  color: #351100 !important;
  text-shadow: 0 1px 0 rgba(255,255,255,.42) !important;
}

/* Big map object layer is back and stronger; keep frame orange and canvas clean. */
.full-map-card {
  background: linear-gradient(180deg, #ffb14c 0%, #FE7700 47%, #a74100 100%) !important;
}

#fullMapCanvas {
  background: rgba(15, 9, 4, .72) !important;
}

/* v194: catalog action buttons stay green, catalog rows clearly show available recipes/builds/items. */
#craftPanel .craft-create-button,
#buildPanel .craft-create-button,
#shopPanel .craft-create-button,
#craftPanel button.craft-create-button,
#buildPanel button.craft-create-button,
#shopPanel button.craft-create-button {
  position: relative !important;
  isolation: isolate !important;
  overflow: hidden !important;
  width: 192px !important;
  min-height: 48px !important;
  border-radius: 10px !important;
  background: linear-gradient(180deg, #d9ff75 0%, #75e92f 48%, #37a915 100%) !important;
  border: 2px solid #1d650d !important;
  color: #123500 !important;
  font-weight: 1000 !important;
  text-shadow: 0 1px 0 rgba(255,255,255,.45) !important;
  box-shadow:
    0 5px 0 #1e6e0b,
    0 9px 15px rgba(0,0,0,.30),
    inset 0 2px 0 rgba(255,255,255,.42) !important;
  background-clip: padding-box !important;
}

#craftPanel .craft-create-button:hover,
#buildPanel .craft-create-button:hover,
#shopPanel .craft-create-button:hover {
  filter: brightness(1.06) saturate(1.08) !important;
}

#craftPanel .craft-create-button:disabled,
#buildPanel .craft-create-button:disabled,
#shopPanel .craft-create-button:disabled {
  background: linear-gradient(180deg, #8a8375 0%, #665c52 100%) !important;
  border-color: #30241b !important;
  color: #ddd2c5 !important;
  box-shadow: 0 5px 0 #30241b, inset 0 1px 0 rgba(255,255,255,.13) !important;
  opacity: .86 !important;
}

#craftPanel .craft-list-item,
#buildPanel .craft-list-item,
#shopPanel .craft-list-item,
#craftPanel .catalog-card,
#buildPanel .catalog-card,
#shopPanel .catalog-card {
  position: relative !important;
}

#craftPanel .craft-list-item.can-afford:not(.selected),
#buildPanel .craft-list-item.can-afford:not(.selected),
#shopPanel .craft-list-item.can-afford:not(.selected),
#craftPanel .catalog-card.can-afford:not(.selected),
#buildPanel .catalog-card.can-afford:not(.selected),
#shopPanel .catalog-card.can-afford:not(.selected) {
  background: linear-gradient(90deg, rgba(79,126,34,.94), rgba(64,92,31,.88)) !important;
  box-shadow: inset 4px 0 0 #9dff45, inset 0 0 0 1px rgba(180,255,110,.20) !important;
}

#craftPanel .craft-list-item.can-afford.selected,
#buildPanel .craft-list-item.can-afford.selected,
#shopPanel .craft-list-item.can-afford.selected,
#craftPanel .catalog-card.can-afford.selected,
#buildPanel .catalog-card.can-afford.selected,
#shopPanel .catalog-card.can-afford.selected {
  background: linear-gradient(90deg, #aee86a 0%, #e2b96d 100%) !important;
  box-shadow: inset 4px 0 0 #76ff2c, inset 0 0 0 2px rgba(255,238,156,.32), 0 5px 12px rgba(72,24,0,.25) !important;
}

#craftPanel .craft-list-item.can-afford::after,
#buildPanel .craft-list-item.can-afford::after,
#shopPanel .craft-list-item.can-afford::after,
#craftPanel .catalog-card.can-afford::after,
#buildPanel .catalog-card.can-afford::after,
#shopPanel .catalog-card.can-afford::after {
  content: 'вњ“';
  position: absolute;
  right: 10px;
  top: 50%;
  transform: translateY(-50%);
  width: 22px;
  height: 22px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: linear-gradient(180deg, #d9ff75, #45c91a);
  border: 2px solid #1d650d;
  color: #123500;
  font-size: 15px;
  font-weight: 1000;
  text-shadow: 0 1px 0 rgba(255,255,255,.35);
  box-shadow: 0 2px 0 rgba(20,80,8,.75), 0 4px 8px rgba(0,0,0,.25);
  pointer-events: none;
}

#craftPanel .craft-list-item.can-afford .craft-list-name,
#buildPanel .craft-list-item.can-afford .craft-list-name,
#shopPanel .craft-list-item.can-afford .craft-list-name,
#craftPanel .catalog-card.can-afford .catalog-title,
#buildPanel .catalog-card.can-afford .catalog-title,
#shopPanel .catalog-card.can-afford .catalog-title {
  color: #f4ffd5 !important;
}

#craftPanel .craft-list-item.can-afford,
#buildPanel .craft-list-item.can-afford,
#shopPanel .craft-list-item.can-afford {
  padding-right: 38px !important;
}


/* v195: panel/button polish + cleaner map/world UI */
#craftPanel .craft-list-item.can-afford::after,
#buildPanel .craft-list-item.can-afford::after,
#shopPanel .craft-list-item.can-afford::after,
#craftPanel .catalog-card.can-afford::after,
#buildPanel .catalog-card.can-afford::after,
#shopPanel .catalog-card.can-afford::after {
  content: none !important;
  display: none !important;
}

#craftPanel .craft-list-item.can-afford,
#buildPanel .craft-list-item.can-afford,
#shopPanel .craft-list-item.can-afford {
  padding-right: 14px !important;
}

#craftPanel .craft-create-button,
#buildPanel .craft-create-button,
#shopPanel .craft-create-button,
#craftPanel button.craft-create-button,
#buildPanel button.craft-create-button,
#shopPanel button.craft-create-button {
  transition: transform .06s ease, box-shadow .06s ease, filter .10s ease !important;
}

#craftPanel .craft-create-button:active,
#buildPanel .craft-create-button:active,
#shopPanel .craft-create-button:active,
#craftPanel button.craft-create-button:active,
#buildPanel button.craft-create-button:active,
#shopPanel button.craft-create-button:active {
  transform: translateY(4px) scale(0.992) !important;
  box-shadow:
    0 1px 0 #1e6e0b,
    0 3px 7px rgba(0,0,0,.22),
    inset 0 1px 0 rgba(255,255,255,.32) !important;
}

#buildPanel .catalog-card:active .catalog-action,
#shopPanel .catalog-card:active .catalog-action,
#craftPanel .catalog-card:active .catalog-action,
#buildPanel .catalog-card:active,
#shopPanel .catalog-card:active,
#craftPanel .catalog-card:active {
  transform: translateY(3px) scale(0.994) !important;
}

#buildPanel .catalog-card,
#shopPanel .catalog-card,
#craftPanel .catalog-card {
  transition: transform .06s ease, filter .10s ease !important;
}

.player-nameplate .player-name {
  font-size: 30px !important;
  line-height: 1.05 !important;
  font-weight: 1000 !important;
  letter-spacing: 0.15px !important;
}

.player-nameplate .player-clan {
  font-size: 30px !important;
  margin-right: 6px !important;
}

.player-clan-crown {
  height: 24px !important;
  font-size: 24px !important;
  line-height: 24px !important;
  margin-bottom: 0 !important;
  transform: translateY(-5px) scale(1.08) !important;
}


/* v196: nameplate tuning вЂ” slightly larger, not oversized */
.player-nameplate {
  width: 190px !important;
}

.player-nameplate .player-name {
  max-width: 190px !important;
  font-size: 16px !important;
  line-height: 1.08 !important;
  font-weight: 1000 !important;
  letter-spacing: 0.05px !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

.player-nameplate .player-clan {
  font-size: 16px !important;
  margin-right: 4px !important;
}

.player-clan-crown {
  height: 20px !important;
  font-size: 20px !important;
  line-height: 20px !important;
  margin-bottom: 1px !important;
  transform: translateY(-4px) scale(1.02) !important;
}

/* v197 special building panel */
.structure-panel {
  position: fixed;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: min(460px, calc(100vw - 30px));
  min-height: 220px;
  z-index: 92;
  padding: 18px 20px 20px;
  box-sizing: border-box;
  border-radius: 16px;
  border: 4px solid #2b1600;
  background: linear-gradient(180deg, #ff8b1f 0%, #e06000 100%);
  box-shadow: 0 8px 0 rgba(0,0,0,.35), inset 0 0 0 3px rgba(255,255,255,.18);
  color: #fff7cf;
  font-family: inherit;
}
.structure-panel.hidden { display: none !important; }
.structure-close {
  position: absolute;
  right: 10px;
  top: 8px;
  width: 42px;
  height: 42px;
  border-radius: 10px;
  border: 3px solid #2b1600;
  background: linear-gradient(180deg, #9dff59, #50c210);
  color: #fff;
  font-size: 30px;
  font-weight: 900;
  text-shadow: 0 2px 0 rgba(0,0,0,.45);
}
.structure-title {
  text-align: center;
  font-size: 30px;
  font-weight: 1000;
  text-shadow: 0 3px 0 rgba(0,0,0,.42);
  margin: 4px 48px 16px;
}
.structure-body {
  display: grid;
  gap: 12px;
  padding: 12px;
  border-radius: 14px;
  background: rgba(30, 14, 0, .58);
}
.structure-recipe {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(255, 244, 170, .16);
  border: 2px solid rgba(255,255,255,.12);
}
.structure-recipe b { display:block; font-size: 17px; }
.structure-recipe span { display:block; font-size: 14px; color:#ffe6a5; }
.structure-recipe button,
.structure-action {
  min-width: 116px;
  min-height: 46px;
  border: 3px solid #2b1600;
  border-radius: 12px;
  background: linear-gradient(180deg, #b8ff59 0%, #5edc12 62%, #2da500 100%);
  color: #183800;
  font-weight: 1000;
  font-size: 16px;
  box-shadow: 0 5px 0 rgba(0,0,0,.32), inset 0 2px 0 rgba(255,255,255,.55);
}
.structure-recipe button:disabled,
.structure-action:disabled {
  filter: grayscale(.65) brightness(.75);
  opacity: .72;
}
.structure-recipe button:active,
.structure-action:active {
  transform: translateY(4px);
  box-shadow: 0 1px 0 rgba(0,0,0,.32), inset 0 2px 0 rgba(255,255,255,.35);
}
.structure-fuel {
  display: grid;
  gap: 10px;
}
.structure-fuel-label {
  font-weight: 900;
  font-size: 18px;
  text-shadow: 0 2px 0 rgba(0,0,0,.35);
}
.structure-fuel-bar {
  height: 24px;
  border-radius: 999px;
  border: 3px solid #2b1600;
  overflow: hidden;
  background: rgba(0,0,0,.45);
}
.structure-fuel-bar i {
  display: block;
  height: 100%;
  width: 0;
  border-radius: inherit;
  background: linear-gradient(90deg, #ffe15a, #9dff4d, #30d900);
}
.structure-fuel-hint { color: #ffe6a5; font-weight: 800; font-size: 14px; }

/* v198: special buildings polish */
body.chest-open-v198 #inventory.inventory.game-panel {
  display: block !important;
  left: calc(50% - 365px) !important;
  right: auto !important;
  transform: translateX(-50%) !important;
  width: min(520px, calc(50vw - 34px)) !important;
  z-index: 91 !important;
}

body.chest-open-v198 #chestPanel.chest-panel.game-panel {
  display: block !important;
  left: calc(50% + 365px) !important;
  right: auto !important;
  transform: translateX(-50%) !important;
  width: min(620px, calc(50vw - 34px)) !important;
  z-index: 92 !important;
}

body.chest-open-v198 #inventory .inventory-title::after {
  content: ' вЂ” СЃР»РµРІР°';
  font-size: 14px;
  opacity: .8;
}

@media (max-width: 1180px) {
  body.chest-open-v198 #inventory.inventory.game-panel,
  body.chest-open-v198 #chestPanel.chest-panel.game-panel {
    left: 50% !important;
    width: min(620px, calc(100vw - 28px)) !important;
  }
  body.chest-open-v198 #inventory.inventory.game-panel {
    top: 45% !important;
    transform: translate(-50%, -100%) scale(.86) !important;
  }
  body.chest-open-v198 #chestPanel.chest-panel.game-panel {
    top: 53% !important;
    transform: translate(-50%, 0) scale(.86) !important;
  }
}

.fuel-counter-v198 {
  position: absolute;
  transform: translate(-50%, -50%);
  display: grid;
  grid-template-columns: 22px 92px auto;
  align-items: center;
  gap: 5px;
  min-width: 154px;
  padding: 4px 6px;
  border-radius: 10px;
  border: 2px solid rgba(35, 13, 0, .92);
  background: linear-gradient(180deg, rgba(75, 26, 0, .88), rgba(28, 9, 0, .86));
  color: #fff7d8;
  font-size: 11px;
  font-weight: 1000;
  text-shadow: 0 1px 0 rgba(0,0,0,.55);
  pointer-events: none;
  z-index: 34;
  box-shadow: 0 4px 10px rgba(0,0,0,.28), inset 0 1px 0 rgba(255,255,255,.16);
}

.fuel-counter-icon {
  width: 22px;
  height: 22px;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}

.fuel-counter-bar {
  display: block;
  height: 12px;
  border-radius: 999px;
  overflow: hidden;
  background: rgba(0,0,0,.55);
  border: 1px solid rgba(255,255,255,.14);
}

.fuel-counter-bar i {
  display: block;
  height: 100%;
  width: 0;
  border-radius: inherit;
  background: linear-gradient(90deg, #ffef75 0%, #86ff43 70%, #2bd700 100%);
}

.structure-panel {
  width: min(560px, calc(100vw - 30px)) !important;
  min-height: 300px !important;
}

.structure-smelter-v198 {
  display: grid;
  grid-template-columns: 1fr 48px 1fr;
  align-items: center;
  gap: 12px;
  padding: 14px;
  border-radius: 16px;
  background: rgba(51, 17, 0, .72);
  border: 2px solid rgba(43, 15, 0, .9);
}

.structure-slot-wrap {
  display: grid;
  gap: 8px;
  justify-items: center;
}

.structure-slot-title {
  font-weight: 1000;
  color: #fff7d8;
  text-shadow: 0 2px 0 rgba(0,0,0,.42);
}

.structure-slot {
  width: 92px;
  height: 92px;
  border-radius: 18px;
  border: 3px solid #2b1600;
  background: linear-gradient(180deg, rgba(35,15,0,.94), rgba(12,5,0,.96));
  display: grid;
  place-items: center;
  position: relative;
  box-shadow: inset 0 0 0 2px rgba(255,255,255,.10), 0 5px 0 rgba(0,0,0,.28);
}

.structure-slot:disabled {
  opacity: .72;
  filter: grayscale(.25);
}

.structure-slot:not(:disabled):active {
  transform: translateY(4px);
  box-shadow: inset 0 0 0 2px rgba(255,255,255,.10), 0 1px 0 rgba(0,0,0,.32);
}

.structure-slot-icon {
  width: 66px;
  height: 66px;
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
}

.structure-slot-empty {
  font-size: 38px;
  font-weight: 1000;
  color: rgba(255,247,216,.72);
}

.structure-slot b {
  position: absolute;
  right: 7px;
  bottom: 5px;
  padding: 1px 6px;
  border-radius: 999px;
  background: rgba(0,0,0,.58);
  color: #fff7d8;
  font-size: 14px;
}

.structure-slot-hint {
  min-height: 34px;
  color: #ffe6a5;
  font-size: 12px;
  font-weight: 800;
  text-align: center;
  line-height: 1.25;
}

.structure-arrow {
  font-size: 38px;
  font-weight: 1000;
  color: #fff0a5;
  text-align: center;
  text-shadow: 0 3px 0 rgba(0,0,0,.42);
}

.structure-recipes-v198 {
  display: grid;
  gap: 7px;
  margin-top: 12px;
}

.structure-recipes-v198 button {
  min-height: 34px;
  border-radius: 10px;
  border: 2px solid #2b1600;
  background: linear-gradient(180deg, #d9ff75, #66d51a) !important;
  color: #173400 !important;
  font-size: 13px;
  font-weight: 1000;
}

.structure-recipes-v198 button.missing,
.structure-recipes-v198 button:disabled {
  background: linear-gradient(180deg, #7f7060, #4f4036) !important;
  color: #dfd0c4 !important;
  opacity: .75;
}

#buildPanel .craft-list-item.locked-account {
  filter: grayscale(.35) brightness(.82);
  opacity: .84;
}

#buildPanel .craft-list-item.locked-account .craft-list-meta::after {
  content: ' вЂў РЅСѓР¶РµРЅ Р°РєРєР°СѓРЅС‚';
  color: #ffd0a5;
}

/* v199: private chest + smelter rebuild and special building polish */
body.chest-open-v198 #inventory.inventory.game-panel,
body.chest-open-v198 #chestPanel.chest-panel.game-panel {
  top: 50% !important;
  bottom: auto !important;
  max-height: min(620px, calc(100vh - 130px)) !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
}

body.chest-open-v198 #inventory.inventory.game-panel {
  left: calc(50% - 330px) !important;
  transform: translate(-50%, -50%) !important;
  width: 430px !important;
  padding: 14px !important;
}

body.chest-open-v198 #chestPanel.chest-panel.game-panel {
  left: calc(50% + 345px) !important;
  transform: translate(-50%, -50%) !important;
  width: 590px !important;
  padding: 14px !important;
}

body.chest-open-v198 #inventory .inventory-shell,
body.chest-open-v198 #chestPanel .inventory-shell {
  max-height: calc(100vh - 190px) !important;
  overflow: hidden !important;
  border-radius: 16px !important;
}

body.chest-open-v198 #inventory .inventory-grid {
  grid-template-columns: repeat(5, 58px) !important;
  gap: 10px !important;
  max-height: calc(100vh - 285px) !important;
  overflow-y: auto !important;
  padding-right: 4px !important;
}

body.chest-open-v198 #chestPanel .chest-grid,
body.chest-open-v198 #chestPanel .inventory-grid {
  grid-template-columns: repeat(6, 58px) !important;
  gap: 10px !important;
  max-height: calc(100vh - 245px) !important;
  overflow-y: auto !important;
  padding-right: 10px !important;
}

body.chest-open-v198 #inventory .inventory-title::after {
  content: ' вЂ” РёРЅРІРµРЅС‚Р°СЂСЊ' !important;
}

body.chest-open-v198 #chestPanel .inventory-title::after {
  content: ' вЂ” С‚РѕР»СЊРєРѕ РІР»Р°РґРµР»РµС†' !important;
  display: inline-block;
  margin-left: 8px;
  font-size: 12px;
  opacity: .78;
}

@media (max-width: 1180px) {
  body.chest-open-v198 #inventory.inventory.game-panel,
  body.chest-open-v198 #chestPanel.chest-panel.game-panel {
    left: 50% !important;
    width: min(590px, calc(100vw - 28px)) !important;
  }
  body.chest-open-v198 #inventory.inventory.game-panel {
    top: 45% !important;
    transform: translate(-50%, -100%) scale(.84) !important;
  }
  body.chest-open-v198 #chestPanel.chest-panel.game-panel {
    top: 54% !important;
    transform: translate(-50%, 0) scale(.84) !important;
  }
}

/* Clearer fuel display under bonfire/freezer. */
.fuel-counter-v198 {
  grid-template-columns: 24px 104px auto !important;
  min-width: 176px !important;
  padding: 5px 7px !important;
}
.fuel-counter-icon { width: 24px !important; height: 24px !important; }
.fuel-counter-bar { height: 14px !important; }

/* Robust smelter panel with two obvious slots. */
#structurePanel.structure-panel {
  width: min(620px, calc(100vw - 30px)) !important;
  min-height: 360px !important;
  overflow: visible !important;
}

.smelter-panel-v199 {
  display: grid;
  gap: 14px;
  padding: 16px;
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(80, 28, 0, .82), rgba(38, 13, 0, .86));
  border: 3px solid rgba(42, 14, 0, .96);
  box-shadow: inset 0 2px 0 rgba(255,255,255,.14);
}

.smelter-slots-v199 {
  display: grid;
  grid-template-columns: 150px 54px 150px;
  justify-content: center;
  align-items: center;
  gap: 16px;
}

.smelter-slot-v199 {
  position: relative;
  width: 150px;
  height: 150px;
  border-radius: 20px;
  border: 4px solid #2b1600;
  background: linear-gradient(180deg, rgba(33, 14, 0, .98), rgba(12, 4, 0, .98));
  box-shadow: 0 7px 0 rgba(0,0,0,.34), inset 0 0 0 3px rgba(255,255,255,.11);
  display: grid;
  place-items: center;
  color: #fff7d8;
}

.smelter-slot-v199:disabled {
  opacity: .86;
  filter: grayscale(.08);
}

.smelter-slot-v199:not(:disabled):active {
  transform: translateY(5px);
  box-shadow: 0 2px 0 rgba(0,0,0,.34), inset 0 0 0 3px rgba(255,255,255,.11);
}

.smelter-slot-label {
  position: absolute;
  top: 8px;
  left: 10px;
  right: 10px;
  font-size: 13px;
  font-weight: 1000;
  color: #ffe9a6;
  text-shadow: 0 2px 0 rgba(0,0,0,.55);
}

.smelter-slot-icon-v199 {
  width: 88px;
  height: 88px;
  margin-top: 16px;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}

.smelter-slot-empty-v199 {
  margin-top: 16px;
  font-size: 50px;
  line-height: 1;
  font-weight: 1000;
  color: rgba(255,247,216,.76);
}

.smelter-slot-v199 b {
  position: absolute;
  right: 10px;
  bottom: 8px;
  border-radius: 999px;
  padding: 2px 8px;
  background: rgba(0,0,0,.66);
  color: #fff7d8;
  font-size: 15px;
}

.smelter-arrow-v199 {
  font-size: 42px;
  font-weight: 1000;
  color: #fff0a5;
  text-align: center;
  text-shadow: 0 3px 0 rgba(0,0,0,.45);
}

.smelter-hint-v199 {
  color: #ffe6a5;
  font-size: 14px;
  font-weight: 900;
  text-align: center;
  line-height: 1.3;
}

.smelter-recipes-v199 {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}

.smelter-recipes-v199 button {
  min-height: 42px;
  border-radius: 12px;
  border: 3px solid #2b1600;
  background: linear-gradient(180deg, #c9ff65, #53cb0c) !important;
  color: #173400 !important;
  font-size: 12px;
  font-weight: 1000;
  box-shadow: 0 4px 0 rgba(0,0,0,.28), inset 0 2px 0 rgba(255,255,255,.45);
}

.smelter-recipes-v199 button.missing,
.smelter-recipes-v199 button:disabled {
  background: linear-gradient(180deg, #7a6655, #4a3428) !important;
  color: #ddc6b8 !important;
  opacity: .78;
}

/* v200: private chest 30 slots + robust smelter/fuel polish */
body.chest-open-v198 #inventory.inventory.game-panel,
body.chest-open-v198 #chestPanel.chest-panel.game-panel {
  top: 50% !important;
  bottom: auto !important;
  transform: translate(-50%, -50%) !important;
  width: 440px !important;
  max-height: min(610px, calc(100vh - 120px)) !important;
  padding: 14px !important;
  border-radius: 20px !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
}
body.chest-open-v198 #inventory.inventory.game-panel {
  left: calc(50% - 245px) !important;
  z-index: 94 !important;
}
body.chest-open-v198 #chestPanel.chest-panel.game-panel {
  left: calc(50% + 245px) !important;
  z-index: 95 !important;
}
body.chest-open-v198 #inventory .inventory-shell,
body.chest-open-v198 #chestPanel .inventory-shell {
  max-height: calc(100vh - 170px) !important;
  overflow: hidden !important;
  padding: 12px !important;
  border-radius: 18px !important;
  background: linear-gradient(180deg, rgba(39, 14, 0, .94), rgba(18, 7, 0, .96)) !important;
  border: 3px solid #2b1600 !important;
  box-shadow: inset 0 2px 0 rgba(255,255,255,.12) !important;
}
body.chest-open-v198 #inventory .inventory-header,
body.chest-open-v198 #chestPanel .inventory-header {
  min-height: 46px !important;
  margin-bottom: 10px !important;
}
body.chest-open-v198 #inventory .inventory-title,
body.chest-open-v198 #chestPanel .inventory-title {
  font-size: 22px !important;
  line-height: 1 !important;
}
body.chest-open-v198 #inventory .inventory-title::after,
body.chest-open-v198 #chestPanel .inventory-title::after {
  content: '' !important;
}
body.chest-open-v198 #chestPanel .inventory-title span {
  font-size: 13px !important;
  opacity: .82 !important;
  margin-left: 6px !important;
}
body.chest-open-v198 #inventory .inventory-grid,
body.chest-open-v198 #chestPanel .chest-grid,
body.chest-open-v198 #chestPanel .inventory-grid {
  display: grid !important;
  grid-template-columns: repeat(5, 62px) !important;
  grid-auto-rows: 62px !important;
  justify-content: center !important;
  align-content: start !important;
  gap: 9px !important;
  max-height: 445px !important;
  overflow-y: auto !important;
  padding: 4px 6px 8px !important;
  box-sizing: border-box !important;
}
body.chest-open-v198 #chestPanel .inventory-slot,
body.chest-open-v198 #inventory .inventory-slot {
  width: 62px !important;
  height: 62px !important;
}
body.chest-open-v198 #chestPanel .inventory-slot .item-icon,
body.chest-open-v198 #inventory .inventory-slot .item-icon {
  width: 46px !important;
  height: 46px !important;
}
@media (max-width: 980px) {
  body.chest-open-v198 #inventory.inventory.game-panel,
  body.chest-open-v198 #chestPanel.chest-panel.game-panel {
    left: 50% !important;
    width: min(440px, calc(100vw - 24px)) !important;
  }
  body.chest-open-v198 #inventory.inventory.game-panel {
    top: 45% !important;
    transform: translate(-50%, -100%) scale(.86) !important;
  }
  body.chest-open-v198 #chestPanel.chest-panel.game-panel {
    top: 54% !important;
    transform: translate(-50%, 0) scale(.86) !important;
  }
}

#structurePanel.structure-panel {
  width: min(560px, calc(100vw - 34px)) !important;
  min-height: 0 !important;
  padding: 18px !important;
  overflow: visible !important;
  color: #fff7cf !important;
}
#structurePanel.structure-panel .structure-title {
  display: block !important;
  color: #fff7cf !important;
  font-size: 28px !important;
  margin: 0 52px 14px !important;
}
#structurePanel.structure-panel .structure-close {
  display: grid !important;
  place-items: center !important;
}
.smelter-panel-v199 {
  display: grid !important;
  gap: 12px !important;
  min-height: 260px !important;
  box-sizing: border-box !important;
}
.smelter-slots-v199 {
  display: grid !important;
  grid-template-columns: 134px 44px 134px !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 12px !important;
}
.smelter-slot-v199 {
  display: grid !important;
  place-items: center !important;
  width: 134px !important;
  height: 134px !important;
  min-width: 134px !important;
  min-height: 134px !important;
}
.smelter-slot-icon-v199 {
  width: 78px !important;
  height: 78px !important;
}
.smelter-slot-empty-v199 {
  display: block !important;
  color: rgba(255,247,216,.82) !important;
}
.smelter-recipes-v199 {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 7px !important;
}
.smelter-recipes-v199 button {
  display: block !important;
}


/* v201: cleaner private chest, clustered map buildings, and smelter recipe side panel */
body.chest-open-v198 #inventory.inventory.game-panel,
body.chest-open-v198 #chestPanel.chest-panel.game-panel {
  width: 452px !important;
  max-height: min(620px, calc(100vh - 120px)) !important;
  padding: 16px !important;
  border-radius: 20px !important;
  overflow: visible !important;
  background: linear-gradient(180deg, var(--ah-orange-light) 0%, var(--ah-orange) 45%, var(--ah-orange-mid) 100%) !important;
  border: 4px solid var(--ah-orange-deep) !important;
  box-shadow: 0 6px 0 rgba(56, 18, 0, .46), 0 22px 60px rgba(0,0,0,.38), inset 0 2px 0 rgba(255,255,255,.25) !important;
}
body.chest-open-v198 #inventory.inventory.game-panel {
  left: calc(50% - 250px) !important;
}
body.chest-open-v198 #chestPanel.chest-panel.game-panel {
  left: calc(50% + 250px) !important;
}
body.chest-open-v198 #inventory .inventory-shell,
body.chest-open-v198 #chestPanel .inventory-shell {
  padding: 14px !important;
  border-radius: 17px !important;
  background: linear-gradient(180deg, rgba(148, 58, 0, .96), rgba(74, 27, 0, .97)) !important;
  border: 3px solid rgba(56, 18, 0, .98) !important;
  box-shadow: inset 0 2px 0 rgba(255,255,255,.15), inset 0 -4px 0 rgba(0,0,0,.24) !important;
  max-height: none !important;
  overflow: visible !important;
}
body.chest-open-v198 #inventory .inventory-header,
body.chest-open-v198 #chestPanel .inventory-header {
  min-height: 42px !important;
  margin: 0 0 12px !important;
}
body.chest-open-v198 #inventory .inventory-title,
body.chest-open-v198 #chestPanel .inventory-title {
  font-size: 24px !important;
  line-height: 1 !important;
  color: #fff7d8 !important;
  text-shadow: 0 3px 0 rgba(60,18,0,.72), 0 0 12px rgba(255,177,76,.42) !important;
}
body.chest-open-v198 #inventory .inventory-title span,
body.chest-open-v198 #chestPanel .inventory-title span {
  font-size: 12px !important;
  color: #fff0b8 !important;
  background: rgba(65, 22, 0, .55) !important;
  border: 1px solid rgba(255, 202, 110, .22) !important;
  padding: 4px 7px !important;
  border-radius: 8px !important;
}
body.chest-open-v198 #inventory .inventory-grid,
body.chest-open-v198 #chestPanel .inventory-grid,
body.chest-open-v198 #chestPanel .chest-grid {
  display: grid !important;
  grid-template-columns: repeat(5, 58px) !important;
  grid-auto-rows: 58px !important;
  justify-content: center !important;
  align-content: start !important;
  gap: 8px !important;
  max-height: none !important;
  overflow: visible !important;
  padding: 8px !important;
  border-radius: 13px !important;
  background: linear-gradient(180deg, rgba(55, 19, 0, .94), rgba(30, 10, 0, .96)) !important;
  border: 2px solid rgba(42, 14, 0, .98) !important;
  box-sizing: content-box !important;
}
body.chest-open-v198 #inventory .inventory-slot,
body.chest-open-v198 #chestPanel .inventory-slot {
  width: 58px !important;
  height: 58px !important;
  border-radius: 11px !important;
  background-color: rgba(20, 27, 38, 0.74) !important;
  border: 1px solid rgba(255,255,255,0.18) !important;
  box-shadow: inset 0 0 0 1px rgba(0,0,0,0.24) !important;
}
body.chest-open-v198 #inventory .inventory-slot .item-icon,
body.chest-open-v198 #chestPanel .inventory-slot .item-icon {
  width: 44px !important;
  height: 44px !important;
}
body.chest-open-v198 #chestPanel .chest-note {
  display: none !important;
}
@media (max-width: 980px) {
  body.chest-open-v198 #inventory.inventory.game-panel,
  body.chest-open-v198 #chestPanel.chest-panel.game-panel {
    width: min(452px, calc(100vw - 24px)) !important;
    left: 50% !important;
  }
  body.chest-open-v198 #inventory.inventory.game-panel {
    top: 45% !important;
    transform: translate(-50%, -100%) scale(.86) !important;
  }
  body.chest-open-v198 #chestPanel.chest-panel.game-panel {
    top: 54% !important;
    transform: translate(-50%, 0) scale(.86) !important;
  }
}

#structurePanel.structure-panel {
  width: min(760px, calc(100vw - 34px)) !important;
  padding: 18px !important;
  border-radius: 20px !important;
  background: linear-gradient(180deg, var(--ah-orange-light), var(--ah-orange) 42%, var(--ah-orange-mid)) !important;
  border: 4px solid var(--ah-orange-deep) !important;
}
#structurePanel.structure-panel .structure-title {
  margin: 0 54px 14px !important;
  text-align: left !important;
  font-size: 28px !important;
}
.smelter-panel-v201 {
  display: grid !important;
  grid-template-columns: minmax(300px, 1fr) 260px !important;
  gap: 14px !important;
  min-height: 300px !important;
}
.smelter-machine-v201,
.smelter-info-v201 {
  border-radius: 16px !important;
  background: linear-gradient(180deg, rgba(72,25,0,.96), rgba(36,12,0,.98)) !important;
  border: 3px solid rgba(42,14,0,.95) !important;
  box-shadow: inset 0 2px 0 rgba(255,255,255,.10) !important;
  padding: 14px !important;
}
.smelter-slots-v201 {
  display: grid !important;
  grid-template-columns: 128px 44px 128px !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 12px !important;
  min-height: 150px !important;
}
.smelter-slot-v201 {
  width: 128px !important;
  height: 128px !important;
  display: grid !important;
  place-items: center !important;
  position: relative !important;
  border-radius: 16px !important;
  border: 3px solid rgba(255, 180, 84, .32) !important;
  background: linear-gradient(180deg, rgba(46, 16, 0, .98), rgba(20, 7, 0, .98)) !important;
  color: #fff7d8 !important;
  box-shadow: inset 0 0 0 2px rgba(0,0,0,.25), 0 4px 0 rgba(0,0,0,.28) !important;
}
.smelter-slot-v201:not(:disabled):hover {
  border-color: rgba(158, 255, 54, .72) !important;
}
.smelter-slot-v201:disabled {
  opacity: .72 !important;
  cursor: default !important;
}
.smelter-slot-v201 b {
  position: absolute !important;
  right: 8px !important;
  top: 8px !important;
  padding: 2px 6px !important;
  border-radius: 9px !important;
  background: rgba(0,0,0,.62) !important;
  color: #fff2a8 !important;
}
.smelter-slot-label {
  position: absolute !important;
  left: 8px !important;
  top: 8px !important;
  font-size: 12px !important;
  opacity: .86 !important;
}
.smelter-slot-icon-v201 {
  width: 78px !important;
  height: 78px !important;
  display: block !important;
  background: center/contain no-repeat !important;
  filter: drop-shadow(0 4px 2px rgba(0,0,0,.35)) !important;
}
.smelter-slot-empty-v201 {
  font-size: 46px !important;
  font-weight: 900 !important;
  color: rgba(255,247,216,.72) !important;
}
.smelter-arrow-v201 {
  text-align: center !important;
  font-size: 38px !important;
  font-weight: 900 !important;
  color: #fff3a8 !important;
  text-shadow: 0 3px 0 rgba(0,0,0,.45) !important;
}
.smelter-hint-v201 {
  margin-top: 12px !important;
  padding: 10px 12px !important;
  border-radius: 12px !important;
  background: rgba(20, 7, 0, .52) !important;
  color: #fff1be !important;
  font-weight: 800 !important;
  line-height: 1.35 !important;
}
.smelter-hint-v201 small {
  color: rgba(255,247,216,.72) !important;
}
.smelter-info-title-v201 {
  font-size: 18px !important;
  font-weight: 900 !important;
  margin-bottom: 10px !important;
  color: #fff7d8 !important;
  text-shadow: 0 2px 0 rgba(0,0,0,.45) !important;
}
.smelter-recipes-v201 {
  display: grid !important;
  gap: 8px !important;
  max-height: 230px !important;
  overflow-y: auto !important;
}
.smelter-recipe-card-v201 {
  display: grid !important;
  grid-template-columns: 78px 1fr !important;
  grid-template-rows: auto auto !important;
  align-items: center !important;
  gap: 2px 8px !important;
  padding: 8px !important;
  border-radius: 12px !important;
  border: 2px solid rgba(255, 190, 96, .22) !important;
  background: linear-gradient(180deg, rgba(112, 44, 0, .94), rgba(52, 18, 0, .96)) !important;
  color: #fff6cc !important;
  text-align: left !important;
}
.smelter-recipe-card-v201.ok {
  border-color: rgba(137, 255, 45, .65) !important;
}
.smelter-recipe-card-v201.missing {
  opacity: .58 !important;
}
.smelter-recipe-icons-v201 {
  grid-row: 1 / span 2 !important;
  display: grid !important;
  grid-template-columns: 28px 18px 28px !important;
  align-items: center !important;
  gap: 2px !important;
}
.smelter-recipe-icons-v201 i {
  width: 28px !important;
  height: 28px !important;
  display: block !important;
  background: center/contain no-repeat !important;
}
.smelter-recipe-icons-v201 b {
  text-align: center !important;
  color: #fff2a8 !important;
}
.smelter-recipe-card-v201 span:not(.smelter-recipe-icons-v201) {
  font-weight: 900 !important;
}
.smelter-recipe-card-v201 em {
  font-style: normal !important;
  font-size: 12px !important;
  opacity: .9 !important;
}
@media (max-width: 760px) {
  .smelter-panel-v201 {
    grid-template-columns: 1fr !important;
  }
}

/* v202: inventory/chest layout requested by user
   Inventory: 7 columns x 5 rows, closer to the left dock.
   Personal chest: 6 columns x 5 rows, shifted right so the player remains visible.
   Palette: #FEAA01 -> #F36B0F. */
:root {
  --ah-orange: #F36B0F;
  --ah-orange-light: #FEAA01;
  --ah-orange-mid: #F36B0F;
  --ah-orange-dark: #9f3b00;
  --ah-orange-deep: #3b1500;
  --ah-panel-text: #fff7d8;
}

body.chest-open-v198 #inventory.inventory.game-panel,
body.chest-open-v198 #chestPanel.chest-panel.game-panel {
  top: 50% !important;
  max-height: min(650px, calc(100vh - 120px)) !important;
  padding: 16px !important;
  border-radius: 20px !important;
  overflow: visible !important;
  background: linear-gradient(180deg, #FEAA01 0%, #F36B0F 48%, #b94800 100%) !important;
  border: 4px solid #3b1500 !important;
  box-shadow:
    0 6px 0 rgba(56,18,0,.48),
    0 22px 60px rgba(0,0,0,.38),
    inset 0 2px 0 rgba(255,255,255,.28) !important;
}

body.chest-open-v198 #inventory.inventory.game-panel {
  left: clamp(112px, 14vw, 270px) !important;
  transform: translate(0, -50%) !important;
  width: 560px !important;
}

body.chest-open-v198 #chestPanel.chest-panel.game-panel {
  left: min(calc(100vw - 540px), calc(50% + 120px)) !important;
  transform: translate(0, -50%) !important;
  width: 490px !important;
}

body.chest-open-v198 #inventory .inventory-shell,
body.chest-open-v198 #chestPanel .inventory-shell {
  padding: 14px !important;
  border-radius: 17px !important;
  background: linear-gradient(180deg, rgba(138,50,0,.97), rgba(62,20,0,.98)) !important;
  border: 3px solid rgba(55,17,0,.98) !important;
  box-shadow: inset 0 2px 0 rgba(255,255,255,.15), inset 0 -4px 0 rgba(0,0,0,.24) !important;
  max-height: none !important;
  overflow: visible !important;
}

body.chest-open-v198 #inventory .inventory-title,
body.chest-open-v198 #chestPanel .inventory-title {
  color: #fff7d8 !important;
  text-shadow: 0 3px 0 rgba(60,18,0,.72), 0 0 12px rgba(254,170,1,.42) !important;
}

body.chest-open-v198 #inventory .inventory-grid,
body.chest-open-v198 #chestPanel .inventory-grid,
body.chest-open-v198 #chestPanel .chest-grid {
  display: grid !important;
  grid-auto-rows: 58px !important;
  justify-content: center !important;
  align-content: start !important;
  gap: 8px !important;
  max-height: none !important;
  overflow: visible !important;
  padding: 8px !important;
  border-radius: 13px !important;
  background: linear-gradient(180deg, rgba(55,19,0,.94), rgba(30,10,0,.96)) !important;
  border: 2px solid rgba(42,14,0,.98) !important;
  box-sizing: content-box !important;
}

body.chest-open-v198 #inventory #inventoryGrid.inventory-grid,
body.chest-open-v198 #inventory .inventory-grid.fancy-grid {
  grid-template-columns: repeat(7, 58px) !important;
}

body.chest-open-v198 #chestPanel #chestGrid.inventory-grid,
body.chest-open-v198 #chestPanel .chest-grid {
  grid-template-columns: repeat(6, 58px) !important;
}

body.chest-open-v198 #inventory .inventory-slot,
body.chest-open-v198 #chestPanel .inventory-slot {
  width: 58px !important;
  height: 58px !important;
  border-radius: 11px !important;
  background-color: rgba(20,27,38,.74) !important;
  border: 1px solid rgba(255,255,255,.18) !important;
  box-shadow: inset 0 0 0 1px rgba(0,0,0,.24), inset 0 1px 0 rgba(255,255,255,.09) !important;
}

body.chest-open-v198 #inventory .inventory-slot:hover,
body.chest-open-v198 #chestPanel .inventory-slot:hover,
body.chest-open-v198 #inventory .inventory-slot.picked,
body.chest-open-v198 #chestPanel .inventory-slot.picked {
  border-color: rgba(254,170,1,.82) !important;
  box-shadow: 0 0 0 2px rgba(254,170,1,.22), inset 0 0 0 1px rgba(0,0,0,.24) !important;
}

body.chest-open-v198 #inventory .inventory-slot .item-icon,
body.chest-open-v198 #chestPanel .inventory-slot .item-icon {
  width: 44px !important;
  height: 44px !important;
}

body.chest-open-v198 #chestPanel .chest-note {
  display: none !important;
}

@media (max-width: 1280px) {
  body.chest-open-v198 #inventory.inventory.game-panel {
    left: 86px !important;
    width: 520px !important;
  }

  body.chest-open-v198 #chestPanel.chest-panel.game-panel {
    left: calc(50% + 84px) !important;
    width: 470px !important;
  }
}

@media (max-width: 980px) {
  body.chest-open-v198 #inventory.inventory.game-panel,
  body.chest-open-v198 #chestPanel.chest-panel.game-panel {
    width: min(560px, calc(100vw - 24px)) !important;
    left: 50% !important;
  }

  body.chest-open-v198 #inventory.inventory.game-panel {
    top: 45% !important;
    transform: translate(-50%, -100%) scale(.84) !important;
  }

  body.chest-open-v198 #chestPanel.chest-panel.game-panel {
    top: 54% !important;
    transform: translate(-50%, 0) scale(.84) !important;
  }
}


/* v207: active potion effects are shown to the right of the hotbar. */
.active-potion-effects {
  position: fixed;
  left: calc(50% + 318px);
  bottom: 28px;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  max-width: min(390px, calc(100vw - 24px));
  gap: 7px;
  padding: 7px;
  border-radius: 14px;
  background: rgba(8, 12, 20, 0.58);
  border: 1px solid rgba(255,255,255,0.15);
  backdrop-filter: blur(8px);
  z-index: 42;
  user-select: none;
  pointer-events: none;
}

.active-potion-effects.hidden,
body.menu-open .active-potion-effects,
body:not(.game-started) .active-potion-effects,
body.player-dead-v178 .active-potion-effects {
  display: none !important;
}

.active-potion-effect {
  position: relative;
  width: 42px;
  height: 42px;
  border-radius: 10px;
  background-color: rgba(24, 33, 46, 0.86);
  background-size: 76%;
  background-position: center;
  background-repeat: no-repeat;
  border: 1px solid rgba(254, 170, 1, 0.85);
  box-shadow:
    0 4px 12px rgba(0,0,0,0.38),
    inset 0 0 0 1px rgba(0,0,0,0.35),
    0 0 10px rgba(243,107,15,0.35);
  overflow: hidden;
}

.active-potion-effect::after {
  content: '';
  position: absolute;
  left: 7px;
  right: 7px;
  bottom: 4px;
  height: 3px;
  border-radius: 999px;
  background: linear-gradient(90deg, #FEAA01, #F36B0F);
  box-shadow: 0 0 7px rgba(254,170,1,0.65);
}

.active-potion-effect.negative {
  --status-color: #ff5b66;
  border-color: color-mix(in srgb, var(--status-color) 86%, white 14%);
  box-shadow:
    0 4px 12px rgba(0,0,0,0.42),
    inset 0 0 0 1px rgba(0,0,0,0.38),
    0 0 11px color-mix(in srgb, var(--status-color) 48%, transparent);
}

.active-potion-effect.negative::after {
  background: var(--status-color);
  box-shadow: 0 0 7px color-mix(in srgb, var(--status-color) 70%, transparent);
}

.active-potion-shine {
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, rgba(255,255,255,0.22), rgba(255,255,255,0.02) 45%, rgba(0,0,0,0.18));
  pointer-events: none;
}

@media (max-width: 1050px) {
  .active-potion-effects {
    left: auto;
    right: 12px;
    bottom: 90px;
  }
}

.status-vision-overlay {
  --vision-x: 50vw;
  --vision-y: 50vh;
  --vision-radius: 118px;
  position: fixed;
  inset: 0;
  z-index: 18;
  pointer-events: none;
  background: radial-gradient(
    circle var(--vision-radius) at var(--vision-x) var(--vision-y),
    rgba(0, 0, 0, 0) 0%,
    rgba(0, 0, 0, 0.04) 60%,
    rgba(0, 0, 0, 0.84) 82%,
    rgba(0, 0, 0, 0.985) 100%
  );
  transition: background 80ms linear;
}

.status-vision-overlay.hidden,
body.menu-open .status-vision-overlay,
body:not(.game-started) .status-vision-overlay,
body.player-dead-v178 .status-vision-overlay {
  display: none !important;
}

/* v210: chat input centered above the level HUD, about 4.5 hotbar slots wide */
.chat-box.chat-open {
  left: 50% !important;
  right: auto !important;
  bottom: 202px !important;
  width: 300px !important;
  max-width: calc(100vw - 32px) !important;
  transform: translateX(-50%) !important;
  pointer-events: none !important;
  z-index: 86 !important;
}

.chat-box.chat-open .chat-input {
  display: block !important;
  width: 100% !important;
  height: 42px !important;
  box-sizing: border-box !important;
  padding: 10px 14px !important;
  border-radius: 13px !important;
  border: 1px solid rgba(0, 0, 0, 0.72) !important;
  background: linear-gradient(180deg, rgba(20, 28, 40, 0.97), rgba(9, 14, 22, 0.97)) !important;
  color: #ffffff !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  outline: none !important;
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.34), inset 0 1px 0 rgba(255,255,255,0.08) !important;
  pointer-events: auto !important;
}

.chat-box.chat-open .chat-input::placeholder {
  color: rgba(220, 232, 255, 0.52) !important;
}

/* v215: local admin password login + entity admin tab */
.server-password-login {
  display: flex;
  gap: 8px;
  width: min(100%, 420px);
  align-items: center;
}
.server-password-login input {
  flex: 1;
  min-width: 0;
}

.masked-secret-input {
  -webkit-text-security: disc;
}
.server-password-login button {
  border: 0;
  border-radius: 12px;
  padding: 10px 12px;
  font-weight: 900;
  color: #ffffff;
  background: linear-gradient(180deg, #ffb23a, #f36b0f);
  box-shadow: 0 4px 0 #8a3307, 0 7px 12px rgba(0,0,0,.25);
  cursor: pointer;
}
.admin-entity-categories {
  align-self: stretch;
  align-items: center;
}
.admin-entity-categories button.selected {
  filter: brightness(1.18);
  transform: translateY(1px);
}
.admin-spawn-controls .admin-give-button {
  min-width: 190px;
}

/* v241: Ahardice-like active slots + clean inventory/count text */
#hotbar.hotbar {
  grid-template-columns: repeat(10, 68px) !important;
  gap: 12px !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
}

#hotbar .hotbar-slot {
  width: 68px !important;
  height: 68px !important;
  border-radius: 6px !important;
  border: 2px solid rgba(0,0,0,.92) !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;
}

#hotbar .hotbar-slot:hover {
  background-color: rgba(68, 103, 54, .76) !important;
  border-color: rgba(0,0,0,.96) !important;
}

#hotbar .hotbar-slot.selected,
#hotbar .hotbar-slot.picked {
  outline: none !important;
  border-color: rgba(0,0,0,1) !important;
  background-color: rgba(74, 112, 58, .84) !important;
  box-shadow: inset 0 0 0 2px rgba(255,255,255,.10) !important;
}

.slot-hotkey,
.slot-label,
#inventory .slot-label,
#hotbar .slot-label,
#inventory .slot-hotkey,
#hotbar .slot-hotkey {
  display: none !important;
}

.slot-count,
#inventory .slot-count,
#hotbar .slot-count,
#chestPanel .slot-count {
  left: 5px !important;
  top: 4px !important;
  right: auto !important;
  bottom: auto !important;
  min-width: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: #fff !important;
  font-size: 13px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  text-align: left !important;
  text-shadow: 0 2px 2px rgba(0,0,0,.95), 1px 0 1px rgba(0,0,0,.85) !important;
  pointer-events: none !important;
}

#inventory.inventory.game-panel {
  top: 50% !important;
  left: 50% !important;
  transform: translate(-50%, -50%) !important;
  width: 560px !important;
  max-height: min(650px, calc(100vh - 120px)) !important;
  padding: 16px !important;
  border-radius: 20px !important;
  overflow: visible !important;
  background: linear-gradient(180deg, #FEAA01 0%, #F36B0F 48%, #b94800 100%) !important;
  border: 4px solid #3b1500 !important;
  box-shadow: 0 6px 0 rgba(56,18,0,.48), 0 22px 60px rgba(0,0,0,.38), inset 0 2px 0 rgba(255,255,255,.28) !important;
  color: #fff7d8 !important;
}

#inventory .inventory-shell {
  padding: 14px !important;
  border-radius: 17px !important;
  background: linear-gradient(180deg, rgba(138,50,0,.97), rgba(62,20,0,.98)) !important;
  border: 3px solid rgba(55,17,0,.98) !important;
  box-shadow: inset 0 2px 0 rgba(255,255,255,.15), inset 0 -4px 0 rgba(0,0,0,.24) !important;
  max-height: none !important;
  overflow: visible !important;
}

#inventory .inventory-title {
  color: #fff7d8 !important;
  font-size: 24px !important;
  line-height: 1 !important;
  text-shadow: 0 3px 0 rgba(60,18,0,.72), 0 0 12px rgba(254,170,1,.42) !important;
}

#inventory #inventoryGrid.inventory-grid,
#inventory .inventory-grid.fancy-grid {
  display: grid !important;
  grid-template-columns: repeat(7, 58px) !important;
  grid-auto-rows: 58px !important;
  justify-content: center !important;
  align-content: start !important;
  gap: 8px !important;
  max-height: none !important;
  overflow: visible !important;
  padding: 8px !important;
  border-radius: 13px !important;
  background: linear-gradient(180deg, rgba(55,19,0,.94), rgba(30,10,0,.96)) !important;
  border: 2px solid rgba(42,14,0,.98) !important;
  box-sizing: content-box !important;
}

#inventory .inventory-slot,
#chestPanel .inventory-slot {
  width: 58px !important;
  height: 58px !important;
  border-radius: 11px !important;
  background-color: rgba(20,27,38,.74) !important;
  background-size: 78% !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
  border: 1px solid rgba(255,255,255,.18) !important;
  box-shadow: inset 0 0 0 1px rgba(0,0,0,.24), inset 0 1px 0 rgba(255,255,255,.09) !important;
}

#inventory .inventory-slot:hover,
#inventory .inventory-slot.picked,
#chestPanel .inventory-slot:hover,
#chestPanel .inventory-slot.picked {
  border-color: rgba(254,170,1,.82) !important;
  box-shadow: 0 0 0 2px rgba(254,170,1,.22), inset 0 0 0 1px rgba(0,0,0,.24) !important;
}

body.chest-open-v198 #inventory.inventory.game-panel {
  left: clamp(112px, 14vw, 270px) !important;
  transform: translate(0, -50%) !important;
  width: 560px !important;
}

body.chest-open-v198 #chestPanel.chest-panel.game-panel {
  left: min(calc(100vw - 540px), calc(50% + 120px)) !important;
  transform: translate(0, -50%) !important;
  width: 490px !important;
}

body.chest-open-v198 #chestPanel #chestGrid.inventory-grid,
body.chest-open-v198 #chestPanel .chest-grid {
  grid-template-columns: repeat(6, 58px) !important;
}

body.structure-open-v241 #inventory.inventory.game-panel {
  left: clamp(96px, 10vw, 220px) !important;
  transform: translate(0, -50%) scale(.94) !important;
}

body.structure-open-v241 #structurePanel.structure-panel {
  left: min(calc(100vw - 820px), calc(50% + 40px)) !important;
  transform: translate(0, -50%) !important;
}

@media (max-width: 1180px) {
  body.structure-open-v241 #inventory.inventory.game-panel {
    left: 50% !important;
    top: 38% !important;
    transform: translate(-50%, -100%) scale(.82) !important;
  }
  body.structure-open-v241 #structurePanel.structure-panel {
    left: 50% !important;
    top: 58% !important;
    transform: translate(-50%, 0) scale(.82) !important;
  }
}

/* v242: equipment slots match active slots, smelter layout, cleaner inventory slots */
#equipmentSlots.equipment-slots {
  grid-template-columns: repeat(2, 68px) !important;
  gap: 12px !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  left: calc(50% - 465px) !important;
  bottom: 22px !important;
  z-index: 80 !important;
}

#equipmentSlots .hotbar-slot,
#equipmentSlots .equipment-slot {
  width: 68px !important;
  height: 68px !important;
  border-radius: 6px !important;
  border: 2px solid rgba(0,0,0,.92) !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;
}

#equipmentSlots .hotbar-slot:hover,
#equipmentSlots .equipment-slot:hover {
  background-color: rgba(68,103,54,.76) !important;
  border-color: rgba(0,0,0,.96) !important;
}

#equipmentSlots .hotbar-slot.picked,
#equipmentSlots .equipment-slot.picked {
  outline: none !important;
  border-color: rgba(0,0,0,1) !important;
  background-color: rgba(74,112,58,.84) !important;
  box-shadow: inset 0 0 0 2px rgba(255,255,255,.10) !important;
}

#equipmentSlots .slot-label,
#equipmentSlots .slot-hotkey,
#equipmentSlots .equipment-hat::after,
#equipmentSlots .equipment-shield::after {
  display: none !important;
  content: "" !important;
}

/* Main inventory now uses the same dark slot feeling as the personal chest. */
#inventory #inventoryGrid.inventory-grid,
#inventory .inventory-grid.fancy-grid {
  background: linear-gradient(180deg, rgba(55,19,0,.94), rgba(30,10,0,.96)) !important;
  border: 2px solid rgba(42,14,0,.98) !important;
}

#inventory .inventory-slot,
#inventory #inventoryGrid .inventory-slot {
  background-color: #19171b !important;
  background-size: 78% !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
  border: 1px solid rgba(255,255,255,.17) !important;
  box-shadow: inset 0 0 0 1px rgba(0,0,0,.30), inset 0 1px 0 rgba(255,255,255,.07) !important;
}

#inventory .inventory-slot:hover,
#inventory .inventory-slot.picked {
  border-color: rgba(254,170,1,.82) !important;
  box-shadow: 0 0 0 2px rgba(254,170,1,.22), inset 0 0 0 1px rgba(0,0,0,.30) !important;
}

/* Smelter opens like personal chest: inventory on the left, smelter panel on the right. */
body.structure-smelter-open-v242 #inventory.inventory.game-panel {
  left: calc(50% - 300px) !important;
  top: 50% !important;
  transform: translate(-50%, -50%) !important;
  width: 560px !important;
}

body.structure-smelter-open-v242 #structurePanel.structure-panel {
  left: calc(50% + 330px) !important;
  right: auto !important;
  top: 50% !important;
  transform: translate(-50%, -50%) !important;
  width: min(560px, calc(100vw - 40px)) !important;
  max-height: min(650px, calc(100vh - 120px)) !important;
  overflow: visible !important;
}

body.structure-smelter-open-v242 #structurePanel .smelter-panel-v201 {
  grid-template-columns: 1fr !important;
  min-height: 0 !important;
}

body.structure-smelter-open-v242 #structurePanel .smelter-info-v201 {
  max-height: 220px !important;
  overflow: hidden !important;
}

body.structure-smelter-open-v242 #structurePanel .smelter-recipes-v201 {
  max-height: 148px !important;
}

@media (max-width: 1180px) {
  body.structure-smelter-open-v242 #inventory.inventory.game-panel {
    left: 50% !important;
    top: 38% !important;
    transform: translate(-50%, -100%) scale(.82) !important;
  }
  body.structure-smelter-open-v242 #structurePanel.structure-panel {
    left: 50% !important;
    top: 58% !important;
    transform: translate(-50%, 0) scale(.82) !important;
  }
  #equipmentSlots.equipment-slots {
    left: 14px !important;
    bottom: 98px !important;
  }
}

/* v243: fix equipment gap, inventory item icons, and smelter split layout */
#equipmentSlots.equipment-slots {
  left: calc(50% - 610px) !important;
  bottom: 22px !important;
  gap: 16px !important;
}

#inventory .inventory-slot,
#inventory #inventoryGrid .inventory-slot,
#chestPanel .inventory-slot,
#chestPanel #chestGrid .inventory-slot {
  background-color: #19171b !important;
  background-size: 78% !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
}

#inventory .inventory-slot[style*="background-image"],
#inventory #inventoryGrid .inventory-slot[style*="background-image"],
#chestPanel .inventory-slot[style*="background-image"],
#chestPanel #chestGrid .inventory-slot[style*="background-image"] {
  background-color: #19171b !important;
  background-size: 78% !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
}

body.structure-smelter-open-v242 #inventory.inventory.game-panel,
body.structure-smelter-open-v243 #inventory.inventory.game-panel {
  left: clamp(40px, 6vw, 120px) !important;
  top: 50% !important;
  transform: translate(0, -50%) scale(.92) !important;
  width: 560px !important;
  z-index: 230 !important;
}

body.structure-smelter-open-v242 #structurePanel.structure-panel,
body.structure-smelter-open-v243 #structurePanel.structure-panel {
  left: auto !important;
  right: clamp(28px, 4vw, 90px) !important;
  top: 50% !important;
  transform: translate(0, -50%) scale(.92) !important;
  width: 560px !important;
  max-width: 560px !important;
  z-index: 240 !important;
}

body.structure-smelter-open-v242 #structurePanel .smelter-panel-v201,
body.structure-smelter-open-v243 #structurePanel .smelter-panel-v201 {
  grid-template-columns: 1fr !important;
  min-height: 0 !important;
}

@media (max-width: 1320px) {
  body.structure-smelter-open-v242 #inventory.inventory.game-panel,
  body.structure-smelter-open-v243 #inventory.inventory.game-panel {
    left: 50% !important;
    top: 34% !important;
    transform: translate(-50%, -100%) scale(.78) !important;
  }
  body.structure-smelter-open-v242 #structurePanel.structure-panel,
  body.structure-smelter-open-v243 #structurePanel.structure-panel {
    left: 50% !important;
    right: auto !important;
    top: 56% !important;
    transform: translate(-50%, 0) scale(.78) !important;
  }
}

@media (max-width: 1180px) {
  #equipmentSlots.equipment-slots {
    left: 14px !important;
    bottom: 98px !important;
  }
}

/* v244: fix inventory icons hidden by background shorthand + Ahardice-like selected active slot */
#inventory .inventory-slot,
#inventory #inventoryGrid .inventory-slot,
#chestPanel .inventory-slot,
#chestPanel #chestGrid .inventory-slot {
  background-color: #19171b !important;
  background-size: 78% !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
}

/* Empty slots get only a color/gradient through pseudo-layer, not background shorthand,
   so inline item background-image remains visible. */
#inventory .inventory-slot:not([style*="background-image"]),
#inventory #inventoryGrid .inventory-slot:not([style*="background-image"]),
#chestPanel .inventory-slot:not([style*="background-image"]),
#chestPanel #chestGrid .inventory-slot:not([style*="background-image"]) {
  background-image: none !important;
}

/* Active hotbar selected slot like Ahardice.io: white border + lighter transparent fill. */
#hotbar .hotbar-slot.selected {
  border-color: rgba(255,255,255,.96) !important;
  outline: none !important;
  background-color: rgba(122,150,101,.58) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.14),
    inset 0 0 0 1px rgba(255,255,255,.18) !important;
}

#hotbar .hotbar-slot.selected:hover {
  border-color: rgba(255,255,255,1) !important;
  background-color: rgba(132,160,110,.62) !important;
}

/* Equipment slots keep the same selected/picked visual language when interacted with. */
#equipmentSlots .equipment-slot.picked,
#equipmentSlots .hotbar-slot.picked {
  border-color: rgba(255,255,255,.96) !important;
  background-color: rgba(122,150,101,.58) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.14),
    inset 0 0 0 1px rgba(255,255,255,.18) !important;
}


/* v245: final inventory icon fix - never use background shorthand on item slots. */
#inventory .inventory-slot,
#inventory #inventoryGrid .inventory-slot,
#chestPanel .inventory-slot,
#chestPanel #chestGrid .inventory-slot {
  background-color: #19171b !important;
  background-size: 78% !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
}

#inventory .inventory-slot[style*="background-image"],
#inventory #inventoryGrid .inventory-slot[style*="background-image"],
#chestPanel .inventory-slot[style*="background-image"],
#chestPanel #chestGrid .inventory-slot[style*="background-image"] {
  background-color: #19171b !important;
  background-size: 78% !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
}

#hotbar .hotbar-slot.selected {
  border-color: rgba(255,255,255,.98) !important;
  background-color: rgba(116,145,95,.60) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.16),
    inset 0 0 0 1px rgba(255,255,255,.22) !important;
}

/* v246: Ahardice-like build limits on the right side of each build row. */
#buildPanel .craft-list-item {
  grid-template-columns: 28px minmax(0, 1fr) auto !important;
  padding-right: 9px !important;
}

#buildPanel .craft-list-body {
  min-width: 0 !important;
}

#buildPanel .craft-list-name {
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

#buildPanel .build-limit-badge {
  justify-self: end !important;
  align-self: center !important;
  white-space: nowrap !important;
  font-size: 16px !important;
  font-weight: 950 !important;
  line-height: 1 !important;
  color: #e9e9e9 !important;
  text-shadow: 0 2px 0 rgba(0,0,0,0.45) !important;
  opacity: 0.95 !important;
  padding-left: 7px !important;
  pointer-events: none !important;
}

#buildPanel .build-limit-badge.hidden {
  display: none !important;
}

#buildPanel .build-limit-badge.limit-full {
  color: #ffd0d0 !important;
}


/* v247: Ahardice-like fuel strip for bonfire/freezer. */
.fuel-counter-v198 {
  position: absolute;
  transform: translate(-50%, -50%);
  min-width: 126px !important;
  height: 20px;
  padding: 0 10px 0 0 !important;
  border: none !important;
  border-radius: 999px !important;
  background: transparent !important;
  box-shadow: none !important;
  display: flex !important;
  align-items: center;
  gap: 0;
  color: #f4f0d4;
  font-size: 10px;
  font-weight: 1000;
  text-shadow: 0 1px 0 rgba(0,0,0,.78);
  pointer-events: none;
  z-index: 34;
}

.fuel-counter-icon {
  position: absolute;
  left: -6px;
  top: 50%;
  transform: translateY(-50%);
  width: 24px !important;
  height: 24px !important;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  filter: drop-shadow(0 1px 0 rgba(0,0,0,.65));
  z-index: 2;
}

.fuel-counter-bar {
  position: relative;
  display: block;
  width: 118px;
  height: 14px !important;
  margin-left: 12px;
  border-radius: 999px;
  overflow: hidden;
  background: linear-gradient(180deg, rgba(31, 60, 23, .98), rgba(15, 31, 12, .98));
  border: 2px solid rgba(71, 96, 56, .98);
  box-shadow: inset 0 1px 0 rgba(188, 225, 160, .12), 0 1px 0 rgba(0,0,0,.42);
}

.fuel-counter-bar i {
  display: block;
  height: 100%;
  width: 0;
  border-radius: inherit;
  background: linear-gradient(180deg, #617f36 0%, #4f6d2f 50%, #3f5f24 100%);
  box-shadow: inset 0 1px 0 rgba(220, 255, 182, .18);
}

.fuel-counter-v198 b {
  position: absolute;
  right: 6px;
  top: 50%;
  transform: translateY(-50%);
  font-size: 11px;
  line-height: 1;
  min-width: 42px;
  text-align: right;
}

/* v247: fullscreen environment effects start after 25% and expand inward up to 25% of the screen. */
.env-screen-overlay {
  position: fixed;
  inset: 0;
  z-index: 13;
  pointer-events: none;
}

.env-screen-overlay.hidden {
  display: none;
}

.env-screen-layer {
  --env-screen-fill: 0%;
  position: absolute;
  inset: 0;
  opacity: 0;
  transition: opacity 120ms linear;
}

.env-screen-layer.heat {
  background:
    linear-gradient(to bottom, rgba(255, 128, 44, .40), transparent var(--env-screen-fill)),
    linear-gradient(to top, rgba(255, 85, 38, .34), transparent var(--env-screen-fill)),
    linear-gradient(to right, rgba(255, 121, 38, .30), transparent var(--env-screen-fill)),
    linear-gradient(to left, rgba(255, 121, 38, .30), transparent var(--env-screen-fill));
}

.env-screen-layer.cold {
  background:
    linear-gradient(to bottom, rgba(119, 228, 255, .34), transparent var(--env-screen-fill)),
    linear-gradient(to top, rgba(82, 144, 255, .30), transparent var(--env-screen-fill)),
    linear-gradient(to right, rgba(90, 173, 255, .26), transparent var(--env-screen-fill)),
    linear-gradient(to left, rgba(90, 173, 255, .26), transparent var(--env-screen-fill));
}

.env-screen-layer.radiation {
  background:
    linear-gradient(to bottom, rgba(160, 255, 92, .30), transparent var(--env-screen-fill)),
    linear-gradient(to top, rgba(69, 175, 76, .26), transparent var(--env-screen-fill)),
    linear-gradient(to right, rgba(111, 228, 80, .22), transparent var(--env-screen-fill)),
    linear-gradient(to left, rgba(111, 228, 80, .22), transparent var(--env-screen-fill));
}


/* v248: main menu server capacity state. */
.main-server-select.server-full {
  filter: saturate(.75) brightness(.82);
  opacity: .86;
}

/* v250: persistent server announcement set by /cmd server_state. */
.server-state-banner {
  position: fixed;
  top: 68px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 42;
  width: min(330px, calc(100vw - 28px));
  padding: 8px 14px;
  border: 1px solid rgba(255, 215, 104, .72);
  border-radius: 6px;
  background: rgba(15, 20, 29, .92);
  color: #fff0b8;
  box-shadow: 0 4px 18px rgba(0, 0, 0, .34);
  font-size: 14px;
  line-height: 1.3;
  text-align: center;
  overflow-wrap: anywhere;
  pointer-events: none;
}

.server-state-banner.hidden,
body:not(.game-started) .server-state-banner {
  display: none;
}

@media (max-width: 600px) {
  .server-state-banner {
    top: 266px;
    right: 10px;
    left: auto;
    transform: none;
    width: min(162px, calc(50vw - 36px));
    max-height: 72px;
    padding: 7px 8px;
    font-size: 11px;
    line-height: 1.25;
    overflow-y: auto;
    pointer-events: auto;
  }
}


/* v252: off-screen clan ally tracking markers */
.ally-tracker-v252 {
  position: fixed;
  z-index: 79;
  transform: translate(-50%, -50%);
  display: flex;
  align-items: center;
  gap: 5px;
  pointer-events: none;
  user-select: none;
  filter: drop-shadow(0 2px 3px rgba(0,0,0,0.82));
}

.ally-tracker-arrow-v252 {
  width: 0;
  height: 0;
  border-top: 6px solid transparent;
  border-bottom: 6px solid transparent;
  border-left: 11px solid #4beb7d;
  transform-origin: 50% 50%;
  filter: drop-shadow(0 0 1px rgba(0,0,0,1));
}

.ally-tracker-label-v252 {
  display: inline-flex;
  align-items: baseline;
  gap: 4px;
  max-width: 126px;
  padding: 3px 6px;
  border: 1px solid rgba(75,235,125,0.72);
  border-radius: 8px;
  background: rgba(7,28,15,0.78);
  color: #d9ffe4;
  font-size: 11px;
  font-weight: 900;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.ally-tracker-label-v252 small {
  color: #7df2a0;
  font-size: 9px;
  font-weight: 800;
}

/* v253: Shift+Enter clan-chat channel indicator. */
.chat-box.clan-chat-open .chat-input {
  border-color: rgba(145, 235, 110, 0.72) !important;
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.34), inset 0 1px 0 rgba(255,255,255,0.08), 0 0 0 2px rgba(145, 235, 110, 0.10) !important;
}
.chat-box.clan-chat-open .chat-input::placeholder {
  color: rgba(178, 247, 151, 0.78) !important;
}

/* v253 hotfix: clan chat history stays visible while composing a clan message. */
.chat-box.chat-open.clan-chat-open .chat-messages {
  display: flex !important;
  max-height: 170px;
  margin-bottom: 8px;
}

/* v253 hotfix: visible server-authoritative countdown on timed status effects. */
.active-potion-countdown {
  position: absolute;
  right: 3px;
  top: 2px;
  min-width: 16px;
  height: 16px;
  padding: 0 3px;
  border-radius: 999px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(5, 12, 18, 0.88);
  border: 1px solid rgba(255,255,255,0.32);
  color: #ffffff;
  font-size: 10px;
  line-height: 1;
  font-weight: 900;
  text-shadow: 0 1px 2px rgba(0,0,0,0.9);
  z-index: 2;
}

.player-chat-bubble.clan {
  border-color: rgba(145, 235, 110, 0.55);
  background: rgba(24, 52, 24, 0.90);
  color: #dfffd2;
}

/* v254: keep timed effects clearly separated from the hotbar. */
.active-potion-effects {
  left: calc(50% + 390px) !important;
}

/* v254: readable effect countdown instead of a tiny ambiguous badge. */
.active-potion-countdown {
  right: 2px !important;
  top: 2px !important;
  min-width: 23px !important;
  height: 18px !important;
  padding: 0 4px !important;
  border-radius: 5px !important;
  font-size: 11px !important;
  letter-spacing: -0.2px;
}

/* Clan chat has no persistent history. Shift+Enter only changes the input channel. */
.chat-box.chat-open.clan-chat-open .chat-messages {
  display: none !important;
}

/* Clan messages are visible to every receiving clan member regardless of world distance. */
.clan-remote-toast-root {
  position: fixed;
  left: 50%;
  top: 92px;
  transform: translateX(-50%);
  z-index: 96;
  width: min(560px, calc(100vw - 28px));
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 7px;
  pointer-events: none;
  user-select: none;
}

.clan-remote-toast {
  padding: 8px 13px;
  border: 1px solid rgba(116, 238, 131, 0.72);
  border-radius: 9px;
  background: rgba(12, 39, 19, 0.90);
  color: #e1ffe5;
  box-shadow: 0 5px 18px rgba(0,0,0,0.34), 0 0 12px rgba(68,220,98,0.12);
  font-size: 14px;
  font-weight: 800;
  line-height: 1.3;
  text-align: center;
  overflow-wrap: anywhere;
  opacity: 0;
  transform: translateY(-7px) scale(.98);
  transition: opacity .18s ease, transform .18s ease;
}

.clan-remote-toast.visible {
  opacity: 1;
  transform: translateY(0) scale(1);
}


/* v255: timed effects use a clockwise radial sweep instead of numeric seconds. */
.active-potion-countdown {
  display: none !important;
}

.active-potion-effect {
  --effect-sweep: 0deg;
}

.active-potion-cooldown {
  position: absolute;
  inset: 0;
  z-index: 3;
  border-radius: inherit;
  pointer-events: none;
  opacity: 0;
  background: conic-gradient(
    from -90deg,
    rgba(2, 5, 9, 0.66) 0deg,
    rgba(2, 5, 9, 0.66) var(--effect-sweep),
    rgba(2, 5, 9, 0.02) var(--effect-sweep),
    rgba(2, 5, 9, 0.02) 360deg
  );
  transition: opacity .12s ease;
}

.active-potion-effect.timed-effect .active-potion-cooldown {
  opacity: 1;
}

/* Keep the icon readable while the clockwise cooldown sector passes over it. */
.active-potion-effect.timed-effect .active-potion-cooldown::after {
  content: '';
  position: absolute;
  inset: 3px;
  border-radius: calc(10px - 3px);
  border: 1px solid rgba(255,255,255,.12);
  box-shadow: inset 0 0 0 1px rgba(0,0,0,.22);
}




/* v257: per-instance durability bars for melee weapons, shields and tools. */
.hotbar-slot,
.inventory-slot,
.equipment-slot {
  position: relative;
}
.slot-durability {
  position: absolute;
  left: 5px;
  right: 5px;
  bottom: 4px;
  height: 4px;
  overflow: hidden;
  border-radius: 999px;
  background: rgba(0, 0, 0, 0.58);
  border: 1px solid rgba(0, 0, 0, 0.42);
  pointer-events: none;
}
.slot-durability > span {
  display: block;
  width: 100%;
  height: 100%;
  transform-origin: left center;
  background: #63dc57;
  border-radius: inherit;
}
.slot-durability.warning > span { background: #e8bf43; }
.slot-durability.critical > span { background: #ef5350; }

/* v257: compact smelter flow вЂ” input -> process -> output, with recipes below. */
body.structure-smelter-open-v242 #structurePanel.structure-panel,
body.structure-smelter-open-v243 #structurePanel.structure-panel {
  width: 520px !important;
  max-width: 520px !important;
}
#structurePanel.structure-panel .smelter-panel-v257 {
  display: grid;
  gap: 12px;
}
.smelter-machine-v257,
.smelter-recipes-wrap-v257 {
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(72,25,0,.96), rgba(36,12,0,.98));
  border: 3px solid rgba(42,14,0,.95);
  box-shadow: inset 0 2px 0 rgba(255,255,255,.10);
}
.smelter-machine-v257 {
  padding: 14px;
}
.smelter-flow-v257 {
  display: grid;
  grid-template-columns: 112px minmax(128px, 1fr) 112px;
  align-items: center;
  gap: 12px;
}
.smelter-slot-v257 {
  width: 112px;
  height: 112px;
  position: relative;
  display: grid;
  place-items: center;
  border-radius: 15px;
  border: 3px solid rgba(255, 180, 84, .34);
  background: linear-gradient(180deg, rgba(46, 16, 0, .98), rgba(20, 7, 0, .98));
  color: #fff7d8;
  box-shadow: inset 0 0 0 2px rgba(0,0,0,.25), 0 4px 0 rgba(0,0,0,.28);
}
.smelter-slot-v257:not(:disabled):hover {
  border-color: rgba(158,255,54,.72);
  transform: translateY(-1px);
}
.smelter-slot-v257:disabled {
  opacity: .68;
  cursor: default;
}
.smelter-slot-v257 b {
  position: absolute;
  right: 7px;
  top: 7px;
  padding: 2px 6px;
  border-radius: 8px;
  background: rgba(0,0,0,.62);
  color: #fff2a8;
  font-size: 12px;
}
.smelter-slot-label-v257 {
  position: absolute;
  left: 8px;
  top: 7px;
  font-size: 11px;
  font-weight: 900;
  opacity: .86;
}
.smelter-slot-icon-v257 {
  width: 66px;
  height: 66px;
  display: block;
  background: center/contain no-repeat;
  filter: drop-shadow(0 4px 2px rgba(0,0,0,.35));
}
.smelter-slot-empty-v257 {
  font-size: 42px;
  font-weight: 900;
  color: rgba(255,247,216,.72);
}
.smelter-process-v257 {
  min-width: 0;
  display: grid;
  justify-items: center;
  align-content: center;
  gap: 6px;
  padding: 10px 8px;
  border-radius: 14px;
  background: rgba(20,7,0,.55);
  border: 2px solid rgba(255,179,78,.16);
}
.smelter-fire-v257 {
  width: 32px;
  height: 32px;
  display: grid;
  place-items: center;
  transform: rotate(45deg);
  border-radius: 8px 14px 8px 14px;
  background: linear-gradient(135deg, #ffd54f, #ff7a00 62%, #d63b00);
  color: transparent;
  box-shadow: 0 0 18px rgba(255,116,0,.35), inset 0 2px 0 rgba(255,255,255,.32);
}
.smelter-process-title-v257 {
  color: #fff5c7;
  font-weight: 950;
  font-size: 14px;
}
.smelter-progress-v257 {
  width: 100%;
  height: 9px;
  overflow: hidden;
  border-radius: 999px;
  background: rgba(0,0,0,.58);
  border: 1px solid rgba(255,190,96,.22);
}
.smelter-progress-v257 > span {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, #ff8a00, #ffd54f);
  transition: width 180ms ease;
}
.smelter-process-status-v257 {
  color: rgba(255,247,216,.78);
  font-size: 11px;
  font-weight: 800;
  text-align: center;
}
.smelter-active-v257 {
  margin-top: 12px;
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 2px 8px;
  align-items: baseline;
  padding: 9px 11px;
  border-radius: 11px;
  background: rgba(20,7,0,.48);
  color: #fff1be;
}
.smelter-active-v257 > span {
  font-size: 11px;
  opacity: .72;
}
.smelter-active-v257 > b {
  font-size: 12px;
}
.smelter-active-v257 > small {
  grid-column: 1 / -1;
  color: rgba(255,247,216,.62);
  font-size: 10px;
}
.smelter-recipes-wrap-v257 {
  padding: 11px;
}
.smelter-recipes-title-v257 {
  margin: 0 2px 8px;
  color: #fff7d8;
  font-size: 15px;
  font-weight: 950;
}
.smelter-recipes-v257 {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 7px;
  max-height: 172px;
  overflow-y: auto;
  padding-right: 3px;
}
.smelter-recipe-v257 {
  min-width: 0;
  display: grid;
  grid-template-columns: 30px minmax(0,1fr) 16px 30px minmax(0,1fr);
  align-items: center;
  gap: 5px;
  padding: 7px;
  border-radius: 10px;
  border: 2px solid rgba(255,190,96,.22);
  background: linear-gradient(180deg, rgba(112,44,0,.94), rgba(52,18,0,.96));
  color: #fff6cc;
  text-align: left;
}
.smelter-recipe-v257.ok {
  border-color: rgba(137,255,45,.58);
}
.smelter-recipe-v257.missing {
  opacity: .48;
}
.smelter-recipe-v257 i {
  width: 30px;
  height: 30px;
  display: block;
  background: center/contain no-repeat;
}
.smelter-recipe-v257 strong {
  text-align: center;
  color: #ffe69a;
}
.smelter-recipe-v257 span {
  min-width: 0;
  display: grid;
}
.smelter-recipe-v257 span b {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 10px;
}
.smelter-recipe-v257 span small {
  font-size: 9px;
  opacity: .72;
}
@media (max-width: 760px) {
  .smelter-flow-v257 { grid-template-columns: 92px minmax(100px,1fr) 92px; gap: 8px; }
  .smelter-slot-v257 { width: 92px; height: 92px; }
  .smelter-slot-icon-v257 { width: 54px; height: 54px; }
  .smelter-recipes-v257 { grid-template-columns: 1fr; }
}

/* v258: batch craft slider, larger ingredient cards, lower HUD, dual craft/build panels,
   clearer zoom control, and environment rows hidden until they reach 1%. */

/* Hotbar + equipment sit almost on the bottom edge. */
#hotbar.hotbar {
  bottom: 6px !important;
}
#equipmentSlots.equipment-slots {
  bottom: 6px !important;
}
.active-potion-effects {
  bottom: 12px !important;
}

/* Craft and Build can stay open together: Craft on the left, Build on the right. */
#craftPanel.craft-panel.game-panel {
  left: 22px !important;
  right: auto !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
}
#buildPanel.craft-panel.game-panel {
  left: auto !important;
  right: 22px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
}

/* Ingredient rows fill their background much better. */
#craftPanel .craft-ingredients {
  gap: 7px !important;
}
#craftPanel .craft-ingredient {
  grid-template-columns: 44px minmax(0, 1fr) !important;
  gap: 9px !important;
  min-height: 46px !important;
  padding: 2px 7px 2px 3px !important;
  align-items: center !important;
  border-radius: 10px !important;
}
#craftPanel .craft-ingredient-icon {
  width: 42px !important;
  height: 42px !important;
  border-radius: 8px !important;
  background-size: 92% !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
}
#craftPanel .craft-ingredient-text {
  font-size: 13px !important;
  line-height: 1.1 !important;
  font-weight: 950 !important;
}
#craftPanel .craft-preview-icon {
  width: 108px !important;
  height: 108px !important;
}

/* Quantity selector for batch crafting. */
.craft-quantity-box {
  flex: 0 0 auto;
  display: grid;
  gap: 6px;
  margin-top: 8px;
  padding: 8px 11px 9px;
  border-radius: 12px;
  background: linear-gradient(180deg, rgba(76, 27, 0, .94), rgba(37, 12, 0, .96));
  border: 2px solid rgba(53, 17, 0, .96);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.10);
}
.craft-quantity-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  color: #fff2bd;
  font-size: 12px;
  font-weight: 900;
}
.craft-quantity-head b {
  color: #d9ff93;
  font-size: 12px;
}
.craft-quantity-slider {
  width: 100%;
  height: 18px;
  margin: 0;
  accent-color: #9fe74c;
  cursor: pointer;
}
.craft-quantity-slider:disabled {
  opacity: .38;
  cursor: default;
}

/* Zoom is now a direct slider instead of tiny buttons only. */
.viewport-controls {
  right: 14px !important;
  bottom: 12px !important;
  width: auto !important;
  min-width: 250px;
  height: 42px;
  box-sizing: border-box;
  display: grid !important;
  grid-template-columns: 32px minmax(112px, 1fr) 46px 32px 32px;
  align-items: center;
  gap: 6px !important;
  padding: 5px 7px !important;
  border-radius: 13px !important;
  background: rgba(12, 25, 37, .86) !important;
  border: 2px solid rgba(7, 18, 27, .92) !important;
  box-shadow: 0 5px 0 rgba(0,0,0,.32), inset 0 1px 0 rgba(255,255,255,.10) !important;
  backdrop-filter: blur(8px);
}
.viewport-controls button {
  width: 32px !important;
  min-width: 32px !important;
  height: 30px !important;
  border-radius: 8px !important;
  padding: 0 !important;
  font-size: 16px !important;
  color: #ffffff !important;
  background: linear-gradient(180deg, #4f8fc1, #2d6596) !important;
  border: 1px solid #173d63 !important;
  box-shadow: 0 2px 0 rgba(8,32,56,.9), inset 0 1px 0 rgba(255,255,255,.23) !important;
}
.viewport-controls button:hover {
  filter: brightness(1.12);
}
.zoom-slider-wrap {
  min-width: 0;
  display: grid;
  grid-template-rows: 11px 14px;
  align-items: center;
  gap: 1px;
}
.zoom-slider-label {
  color: rgba(224,241,255,.74);
  font-size: 9px;
  line-height: 1;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .5px;
}
#zoomRange {
  width: 100%;
  min-width: 0;
  height: 14px;
  margin: 0;
  accent-color: #8fdaff;
  cursor: pointer;
}
#zoomValue {
  min-width: 42px !important;
  padding: 0 !important;
  color: #ffffff !important;
  font-size: 11px !important;
  font-weight: 950 !important;
  text-align: center !important;
}
#zoomReset {
  font-size: 15px !important;
}

/* Individual environment rows stay hidden at 0%; the container appears when any reaches 1%. */
.env-row.hidden {
  display: none !important;
}

@media (max-width: 1450px) {
  #craftPanel.craft-panel.game-panel {
    left: 10px !important;
    transform: translateY(-50%) scale(.88) !important;
    transform-origin: left center !important;
  }
  #buildPanel.craft-panel.game-panel {
    right: 10px !important;
    transform: translateY(-50%) scale(.88) !important;
    transform-origin: right center !important;
  }
}

@media (max-width: 1220px) {
  #craftPanel.craft-panel.game-panel {
    left: 50% !important;
    top: 18px !important;
    transform: translateX(-50%) scale(.74) !important;
    transform-origin: top center !important;
  }
  #buildPanel.craft-panel.game-panel {
    left: 50% !important;
    right: auto !important;
    top: auto !important;
    bottom: 94px !important;
    transform: translateX(-50%) scale(.74) !important;
    transform-origin: bottom center !important;
  }
}

/* Extra vertical room for the new batch-craft quantity control. */
#craftPanel.craft-panel.game-panel {
  height: 455px !important;
  max-height: 455px !important;
}
#craftPanel .craft-recipe-box {
  min-height: 148px !important;
  max-height: 162px !important;
}
#craftPanel .craft-create-button {
  min-height: 50px !important;
  margin-top: 8px !important;
}

/* v259: compact Ahardice-like craft/build panels, hover transparency, fixed craft slider and compact zoom. */

/* Main recipe panels stay compact so both can be open without hiding most of the world. */
#craftPanel.craft-panel.game-panel,
#buildPanel.craft-panel.game-panel,
#shopPanel.craft-panel.game-panel {
  width: 550px !important;
  max-width: 550px !important;
  height: 330px !important;
  max-height: 330px !important;
  padding: 9px !important;
  box-sizing: border-box !important;
  overflow: visible !important;
  transition: opacity 150ms ease, filter 150ms ease !important;
  opacity: .78 !important;
}

#craftPanel.craft-panel.game-panel:not(.hidden),
#buildPanel.craft-panel.game-panel:not(.hidden),
#shopPanel.craft-panel.game-panel:not(.hidden) {
  display: block !important;
}

#craftPanel.craft-panel.game-panel:hover,
#buildPanel.craft-panel.game-panel:hover,
#shopPanel.craft-panel.game-panel:hover,
#craftPanel.craft-panel.game-panel:focus-within,
#buildPanel.craft-panel.game-panel:focus-within,
#shopPanel.craft-panel.game-panel:focus-within {
  opacity: 1 !important;
  filter: none !important;
}

/* Keep Craft left and Build right when both are open. */
#craftPanel.craft-panel.game-panel {
  left: 18px !important;
  right: auto !important;
  top: 50% !important;
  bottom: auto !important;
  transform: translateY(-50%) !important;
  transform-origin: left center !important;
}
#buildPanel.craft-panel.game-panel {
  left: auto !important;
  right: 18px !important;
  top: 50% !important;
  bottom: auto !important;
  transform: translateY(-50%) !important;
  transform-origin: right center !important;
}

/* Tabs are smaller and closer to Ahardice.io proportions. */
#craftPanel .craft-category-tabs,
#buildPanel .craft-category-tabs,
#shopPanel .craft-category-tabs {
  left: 0 !important;
  right: auto !important;
  top: -55px !important;
  height: 48px !important;
  max-width: 100% !important;
  gap: 6px !important;
  overflow-x: auto !important;
  overflow-y: visible !important;
}
#craftPanel .craft-category-tab,
#buildPanel .craft-category-tab,
#shopPanel .craft-category-tab,
#craftPanel .craft-category-tab.icon-only,
#buildPanel .craft-category-tab.icon-only,
#shopPanel .craft-category-tab.icon-only {
  flex: 0 0 58px !important;
  width: 58px !important;
  min-width: 58px !important;
  height: 46px !important;
  padding: 5px !important;
  border-width: 2px !important;
  border-radius: 8px 8px 3px 3px !important;
}
#craftPanel .craft-category-tab .craft-category-icon,
#buildPanel .craft-category-tab .craft-category-icon,
#shopPanel .craft-category-tab .craft-category-icon {
  width: 32px !important;
  height: 32px !important;
}

/* Compact two-column layout. */
#craftPanel .craft-shell,
#buildPanel .craft-shell,
#shopPanel .craft-shell {
  width: 100% !important;
  height: 100% !important;
  grid-template-columns: 222px minmax(0, 1fr) !important;
  border-radius: 10px !important;
}
#craftPanel .craft-list-title,
#buildPanel .craft-list-title,
#shopPanel .craft-list-title {
  padding: 7px 9px 5px !important;
  font-size: 13px !important;
}
#craftPanel .craft-list,
#buildPanel .craft-list,
#shopPanel .craft-list {
  padding: 0 4px 6px 6px !important;
}
#craftPanel .craft-list-item,
#buildPanel .craft-list-item,
#shopPanel .craft-list-item {
  min-height: 34px !important;
  margin-bottom: 3px !important;
  padding: 4px 6px !important;
  gap: 6px !important;
  border-radius: 5px !important;
  grid-template-columns: 30px minmax(0, 1fr) !important;
}
#buildPanel .craft-list-item {
  grid-template-columns: 30px minmax(0, 1fr) auto !important;
}
#craftPanel .craft-list-icon,
#buildPanel .craft-list-icon,
#shopPanel .craft-list-icon {
  width: 28px !important;
  height: 28px !important;
  border-radius: 5px !important;
}
#craftPanel .craft-list-name,
#buildPanel .craft-list-name,
#shopPanel .craft-list-name {
  font-size: 11.5px !important;
  line-height: 1.05 !important;
}
#craftPanel .craft-list-meta,
#buildPanel .craft-list-meta,
#shopPanel .craft-list-meta {
  display: none !important;
}
#buildPanel .build-limit-badge {
  font-size: 10.5px !important;
  padding-left: 4px !important;
}

/* Item descriptions are intentionally removed in v259; keep this CSS guard for old cached markup. */
#craftPanel .craft-detail-desc,
#buildPanel .craft-detail-desc,
#shopPanel .craft-detail-desc {
  display: none !important;
}

/* Keep details compact and action button permanently visible. */
#craftPanel .craft-detail,
#buildPanel .craft-detail,
#shopPanel .craft-detail {
  padding: 10px 12px !important;
  overflow: hidden !important;
}
#craftPanel .craft-detail-card,
#buildPanel .craft-detail-card,
#shopPanel .craft-detail-card {
  height: 100% !important;
  min-height: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 6px !important;
  overflow: hidden !important;
}
#craftPanel .craft-detail-head,
#buildPanel .craft-detail-head,
#shopPanel .craft-detail-head {
  flex: 0 0 auto !important;
  min-height: 35px !important;
}
#craftPanel .craft-detail-title,
#buildPanel .craft-detail-title,
#shopPanel .craft-detail-title {
  font-size: 18px !important;
  line-height: 1.05 !important;
}
#craftPanel .craft-detail-stars,
#buildPanel .craft-detail-stars,
#shopPanel .craft-detail-stars {
  margin-top: 3px !important;
  font-size: 12px !important;
  letter-spacing: 1px !important;
}
#craftPanel .craft-recipe-box,
#buildPanel .craft-recipe-box,
#shopPanel .craft-recipe-box {
  flex: 1 1 auto !important;
  min-height: 0 !important;
  max-height: 112px !important;
  margin-top: 0 !important;
  padding: 8px !important;
  grid-template-columns: minmax(0, 1fr) 92px !important;
  gap: 7px !important;
  border-radius: 8px !important;
}
#craftPanel .craft-ingredients,
#buildPanel .craft-ingredients,
#shopPanel .craft-ingredients {
  max-height: 96px !important;
  gap: 4px !important;
  overflow: hidden !important;
}
#craftPanel .craft-ingredient,
#buildPanel .craft-ingredient,
#shopPanel .craft-ingredient {
  min-height: 34px !important;
  grid-template-columns: 32px minmax(0, 1fr) !important;
  gap: 6px !important;
  padding: 1px 5px 1px 2px !important;
  border-radius: 7px !important;
}
#craftPanel .craft-ingredient-icon,
#buildPanel .craft-ingredient-icon,
#shopPanel .craft-ingredient-icon {
  width: 32px !important;
  height: 32px !important;
  border-radius: 6px !important;
  background-size: 94% !important;
}
#craftPanel .craft-ingredient-text,
#buildPanel .craft-ingredient-text,
#shopPanel .craft-ingredient-text {
  font-size: 11px !important;
}
#craftPanel .craft-preview-icon,
#buildPanel .craft-preview-icon,
#shopPanel .craft-preview-icon {
  width: 88px !important;
  height: 88px !important;
}

/* Batch craft selector never escapes the detail column. */
#craftPanel .craft-quantity-box {
  flex: 0 0 50px !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
  margin-top: 0 !important;
  padding: 5px 8px 6px !important;
  gap: 3px !important;
  border-radius: 8px !important;
  overflow: visible !important;
}
#craftPanel .craft-quantity-head {
  font-size: 10px !important;
}
#craftPanel .craft-quantity-head b {
  font-size: 10px !important;
}
#craftPanel .craft-quantity-slider {
  display: block !important;
  width: calc(100% - 6px) !important;
  max-width: calc(100% - 6px) !important;
  min-width: 0 !important;
  height: 14px !important;
  margin: 0 3px !important;
  padding: 0 !important;
  box-sizing: border-box !important;
}

#craftPanel .craft-create-button,
#buildPanel .craft-create-button,
#shopPanel .craft-create-button {
  flex: 0 0 42px !important;
  min-height: 42px !important;
  height: 42px !important;
  width: min(210px, 88%) !important;
  margin: 1px auto 0 !important;
  padding: 0 14px !important;
  font-size: 15px !important;
  border-radius: 9px !important;
}

/* Compact zoom control. Explicitly reset the old left+right combination that stretched it across the screen. */
.viewport-controls {
  left: 14px !important;
  right: auto !important;
  bottom: 14px !important;
  width: 218px !important;
  min-width: 218px !important;
  max-width: 218px !important;
  height: 36px !important;
  display: grid !important;
  grid-template-columns: 28px minmax(0, 1fr) 38px 28px 28px !important;
  align-items: center !important;
  gap: 4px !important;
  padding: 3px 5px !important;
  box-sizing: border-box !important;
  border-radius: 10px !important;
}
.viewport-controls button {
  width: 28px !important;
  min-width: 28px !important;
  height: 28px !important;
  border-radius: 7px !important;
  font-size: 14px !important;
}
.zoom-slider-wrap {
  min-width: 0 !important;
  display: block !important;
}
.zoom-slider-label {
  display: none !important;
}
#zoomRange {
  display: block !important;
  width: 100% !important;
  min-width: 0 !important;
  height: 14px !important;
  margin: 0 !important;
}
#zoomValue {
  min-width: 38px !important;
  font-size: 10px !important;
}

/* Moderate screens: keep both panels visible but slightly smaller. */
@media (max-width: 1280px) {
  #craftPanel.craft-panel.game-panel,
  #buildPanel.craft-panel.game-panel {
    width: 500px !important;
    max-width: 500px !important;
    height: 310px !important;
    max-height: 310px !important;
  }
  #craftPanel .craft-shell,
  #buildPanel .craft-shell {
    grid-template-columns: 200px minmax(0, 1fr) !important;
  }
}

@media (max-width: 1040px) {
  #craftPanel.craft-panel.game-panel {
    left: 10px !important;
    top: 18px !important;
    transform: scale(.82) !important;
    transform-origin: left top !important;
  }
  #buildPanel.craft-panel.game-panel {
    right: 10px !important;
    top: auto !important;
    bottom: 82px !important;
    transform: scale(.82) !important;
    transform-origin: right bottom !important;
  }
}

/* v260: craft/build panels aligned like the shop window, clear of the left action dock. */

/* Less transparent while idle; fully opaque on hover/focus. */
#craftPanel.craft-panel.game-panel,
#buildPanel.craft-panel.game-panel {
  opacity: .90 !important;
  width: 520px !important;
  max-width: 520px !important;
  height: 340px !important;
  max-height: 340px !important;
}

#craftPanel.craft-panel.game-panel:hover,
#buildPanel.craft-panel.game-panel:hover,
#craftPanel.craft-panel.game-panel:focus-within,
#buildPanel.craft-panel.game-panel:focus-within {
  opacity: 1 !important;
}

/* Craft sits to the right of the I/C/J/B/K/R action dock instead of covering it. */
#craftPanel.craft-panel.game-panel {
  left: 82px !important;
  right: auto !important;
  top: 50% !important;
  bottom: auto !important;
  transform: translateY(-50%) !important;
  transform-origin: left center !important;
}

/* Build mirrors the same proportions on the right side. */
#buildPanel.craft-panel.game-panel {
  left: auto !important;
  right: 22px !important;
  top: 50% !important;
  bottom: auto !important;
  transform: translateY(-50%) !important;
  transform-origin: right center !important;
}

/* Category tabs are a compact attached row instead of an oversized floating strip. */
#craftPanel .craft-category-tabs,
#buildPanel .craft-category-tabs {
  left: 10px !important;
  right: auto !important;
  top: -49px !important;
  width: max-content !important;
  max-width: calc(100% - 20px) !important;
  height: 47px !important;
  gap: 5px !important;
  padding: 0 !important;
  overflow: visible !important;
}

#craftPanel .craft-category-tab,
#buildPanel .craft-category-tab,
#craftPanel .craft-category-tab.icon-only,
#buildPanel .craft-category-tab.icon-only {
  flex: 0 0 50px !important;
  width: 50px !important;
  min-width: 50px !important;
  height: 45px !important;
  padding: 4px !important;
  border-radius: 8px 8px 3px 3px !important;
}

#craftPanel .craft-category-tab .craft-category-icon,
#buildPanel .craft-category-tab .craft-category-icon {
  width: 31px !important;
  height: 31px !important;
}

/* Keep the inner split balanced after the small panel resize. */
#craftPanel .craft-shell,
#buildPanel .craft-shell {
  grid-template-columns: 210px minmax(0, 1fr) !important;
}

/* Do not let the left recipe list become cramped vertically. */
#craftPanel .craft-list-item,
#buildPanel .craft-list-item {
  min-height: 35px !important;
}

/* At medium widths keep the action dock clearance instead of jumping over it. */
@media (max-width: 1280px) and (min-width: 1041px) {
  #craftPanel.craft-panel.game-panel,
  #buildPanel.craft-panel.game-panel {
    width: 480px !important;
    max-width: 480px !important;
    height: 320px !important;
    max-height: 320px !important;
  }
  #craftPanel.craft-panel.game-panel {
    left: 76px !important;
  }
  #buildPanel.craft-panel.game-panel {
    right: 14px !important;
  }
  #craftPanel .craft-shell,
  #buildPanel .craft-shell {
    grid-template-columns: 194px minmax(0, 1fr) !important;
  }
}

/* v261: craft/build use the same footprint and vertical placement as the closed shop panel.
   Craft keeps the shop's left placement; Build mirrors it on the right so both can stay open. */
#craftPanel.craft-panel.game-panel,
#buildPanel.craft-panel.game-panel {
  width: 550px !important;
  max-width: 550px !important;
  height: 330px !important;
  max-height: 330px !important;
  top: 330px !important;
  bottom: auto !important;
  transform: none !important;
  opacity: .90 !important;
}

#craftPanel.craft-panel.game-panel {
  left: 94px !important;
  right: auto !important;
  transform-origin: left top !important;
}

#buildPanel.craft-panel.game-panel {
  left: auto !important;
  right: 94px !important;
  transform-origin: right top !important;
}

/* Match the established shop tab attachment instead of the v260 shifted row. */
#craftPanel .craft-category-tabs,
#buildPanel .craft-category-tabs {
  position: absolute !important;
  left: 0 !important;
  right: auto !important;
  top: -58px !important;
  width: max-content !important;
  max-width: 100% !important;
  height: 54px !important;
  gap: 6px !important;
  padding: 0 !important;
  overflow-x: auto !important;
  overflow-y: visible !important;
}

/* Trade must never move the player's regular bottom HUD.
   These values are exactly the normal v258+ hotbar/equipment positions. */
body.trade-active #hotbar,
body.trade-active #hotbar.hotbar {
  display: grid !important;
  left: 50% !important;
  right: auto !important;
  top: auto !important;
  bottom: 6px !important;
  transform: translateX(-50%) !important;
}

body.trade-active #equipmentSlots,
body.trade-active #equipmentSlots.equipment-slots {
  display: grid !important;
  left: calc(50% - 610px) !important;
  right: auto !important;
  top: auto !important;
  bottom: 6px !important;
  transform: none !important;
  gap: 16px !important;
}

@media (max-width: 1200px) {
  #craftPanel.craft-panel.game-panel,
  #buildPanel.craft-panel.game-panel {
    width: 520px !important;
    max-width: 520px !important;
    top: 300px !important;
  }
  #craftPanel.craft-panel.game-panel { left: 72px !important; }
  #buildPanel.craft-panel.game-panel { right: 72px !important; }
}

@media (max-width: 900px) {
  #craftPanel.craft-panel.game-panel,
  #buildPanel.craft-panel.game-panel {
    width: calc(100vw - 48px) !important;
    max-width: calc(100vw - 48px) !important;
    height: 300px !important;
    max-height: 300px !important;
    top: 240px !important;
  }
  #craftPanel.craft-panel.game-panel { left: 24px !important; }
  #buildPanel.craft-panel.game-panel { right: 24px !important; }
}

/* v262: category tabs are attached directly to Craft / Build / Shop panels.
   The row itself has no backing plate; only the individual tabs are visible. */
#craftPanel .craft-category-tabs,
#buildPanel .craft-category-tabs,
#shopPanel .craft-category-tabs {
  position: absolute !important;
  left: 0 !important;
  right: auto !important;
  top: auto !important;
  bottom: 100% !important;
  width: max-content !important;
  max-width: 100% !important;
  height: 62px !important;
  display: flex !important;
  flex-direction: row !important;
  align-items: flex-end !important;
  gap: 6px !important;
  padding: 0 !important;
  margin: 0 !important;
  background: transparent !important;
  background-color: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  overflow-x: auto !important;
  overflow-y: visible !important;
  scrollbar-width: none !important;
}

#craftPanel .craft-category-tabs::-webkit-scrollbar,
#buildPanel .craft-category-tabs::-webkit-scrollbar,
#shopPanel .craft-category-tabs::-webkit-scrollbar {
  display: none !important;
}

/* Larger tabs, visually fused with the panel edge. */
#craftPanel .craft-category-tab,
#buildPanel .craft-category-tab,
#shopPanel .craft-category-tab,
#craftPanel .craft-category-tab.icon-only,
#buildPanel .craft-category-tab.icon-only,
#shopPanel .craft-category-tab.icon-only {
  flex: 0 0 66px !important;
  width: 66px !important;
  min-width: 66px !important;
  height: 58px !important;
  padding: 7px !important;
  margin: 0 !important;
  border-radius: 9px 9px 0 0 !important;
  border-bottom-width: 0 !important;
  box-shadow:
    inset 0 2px 0 rgba(255,255,255,0.13),
    0 -1px 0 rgba(0,0,0,0.18) !important;
  transform: none !important;
}

#craftPanel .craft-category-tab .craft-category-icon,
#buildPanel .craft-category-tab .craft-category-icon,
#shopPanel .craft-category-tab .craft-category-icon {
  width: 40px !important;
  height: 40px !important;
  background-size: contain !important;
}

#craftPanel .craft-category-tab.active,
#buildPanel .craft-category-tab.active,
#shopPanel .craft-category-tab.active {
  transform: none !important;
  position: relative !important;
  z-index: 2 !important;
}

@media (max-width: 900px) {
  #craftPanel .craft-category-tab,
  #buildPanel .craft-category-tab,
  #shopPanel .craft-category-tab,
  #craftPanel .craft-category-tab.icon-only,
  #buildPanel .craft-category-tab.icon-only,
  #shopPanel .craft-category-tab.icon-only {
    flex-basis: 58px !important;
    width: 58px !important;
    min-width: 58px !important;
    height: 52px !important;
  }

  #craftPanel .craft-category-tab .craft-category-icon,
  #buildPanel .craft-category-tab .craft-category-icon,
  #shopPanel .craft-category-tab .craft-category-icon {
    width: 36px !important;
    height: 36px !important;
  }
}

/* v267: Repair Box вЂ” one durability item, slowly repaired server-side. */
#structurePanel.structure-panel .repairbox-panel-v267 {
  display: grid;
  gap: 12px;
}
.repairbox-machine-v267 {
  display: grid;
  grid-template-columns: 132px minmax(0, 1fr);
  align-items: center;
  gap: 16px;
  padding: 16px;
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(72,25,0,.96), rgba(36,12,0,.98));
  border: 3px solid rgba(42,14,0,.95);
  box-shadow: inset 0 2px 0 rgba(255,255,255,.10);
}
.repairbox-slot-v267 {
  width: 132px;
  height: 132px;
  display: grid;
  place-items: center;
  align-content: center;
  gap: 4px;
  border-radius: 16px;
  border: 3px solid rgba(255,180,84,.34);
  background: linear-gradient(180deg, rgba(46,16,0,.98), rgba(20,7,0,.98));
  color: #fff7d8;
  box-shadow: inset 0 0 0 2px rgba(0,0,0,.25), 0 4px 0 rgba(0,0,0,.28);
}
.repairbox-slot-v267:hover {
  border-color: rgba(158,255,54,.72);
  transform: translateY(-1px);
}
.repairbox-item-v267 {
  width: 72px;
  height: 72px;
  display: block;
  background: center/contain no-repeat;
  filter: drop-shadow(0 4px 2px rgba(0,0,0,.35));
}
.repairbox-plus-v267 {
  font-size: 46px;
  font-weight: 950;
  color: rgba(255,247,216,.76);
  line-height: .95;
}
.repairbox-slot-v267 b {
  max-width: 116px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 12px;
}
.repairbox-slot-v267 small {
  font-size: 11px;
  color: rgba(255,247,216,.72);
}
.repairbox-progress-wrap-v267 {
  min-width: 0;
  display: grid;
  gap: 9px;
  padding: 16px;
  border-radius: 14px;
  background: rgba(20,7,0,.55);
  border: 2px solid rgba(255,179,78,.16);
}
.repairbox-progress-v267 {
  height: 14px;
  overflow: hidden;
  border-radius: 999px;
  background: rgba(0,0,0,.62);
  border: 1px solid rgba(255,190,96,.24);
}
.repairbox-progress-v267 > span {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, #e45d20, #ffd54f 54%, #79e85e);
  transition: width 300ms linear;
}
.repairbox-status-v267 {
  font-size: 13px;
  font-weight: 900;
  color: #fff5c7;
}
.repairbox-help-v267 {
  display: grid;
  gap: 5px;
  padding: 11px 13px;
  border-radius: 12px;
  background: rgba(20,7,0,.52);
  border: 2px solid rgba(255,179,78,.16);
  color: #fff1be;
}
.repairbox-help-v267 b { font-size: 12px; }
.repairbox-help-v267 span { font-size: 11px; opacity: .72; }

/* v268: real timed smelting feedback. */
.smelter-fire-v257.processing {
  animation: smelterPulseV268 1s linear infinite;
  transform-origin: center;
}
.smelter-progress-v257 > span {
  transition: width 0.12s linear;
}
@keyframes smelterPulseV268 {
  0% { transform: rotate(0deg) scale(0.92); opacity: .72; }
  50% { transform: rotate(180deg) scale(1.08); opacity: 1; }
  100% { transform: rotate(360deg) scale(0.92); opacity: .72; }
}

/* v269: cleaner settings + leave dialog, compact structure machines */
#settingsPanel.settings-panel-v269 {
  width: min(420px, calc(100vw - 32px)) !important;
  min-height: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  border-radius: 18px !important;
  border: 4px solid #084e6b !important;
  background: linear-gradient(180deg, #0e789f 0%, #095876 100%) !important;
  box-shadow: 0 8px 0 rgba(5, 48, 65, .95), 0 22px 54px rgba(0, 0, 0, .38) !important;
}
.settings-header-v269 {
  min-height: 78px;
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 14px 58px 14px 18px;
  box-sizing: border-box;
  background: linear-gradient(180deg, rgba(24, 151, 190, .98), rgba(9, 101, 137, .98));
  border-bottom: 3px solid rgba(4, 65, 89, .95);
}
.settings-header-v269 > b {
  font-size: 27px;
  line-height: 1;
  font-weight: 1000;
  color: #fff;
  text-shadow: 0 2px 0 rgba(0, 0, 0, .28);
}
.settings-icon-v269 {
  width: 46px;
  height: 46px;
  display: grid;
  place-items: center;
  border-radius: 12px;
  background: rgba(3, 73, 100, .55);
  border: 2px solid rgba(255,255,255,.14);
}
.settings-icon-v269 img { width: 32px; height: 32px; object-fit: contain; }
.settings-close-v269 {
  position: absolute;
  right: 12px;
  top: 12px;
  z-index: 2;
  width: 42px;
  height: 42px;
  padding: 0;
  border: 0;
  border-radius: 11px;
  background: rgba(3, 66, 91, .78);
  color: #fff;
  font-size: 30px;
  line-height: 38px;
  font-weight: 900;
  cursor: pointer;
}
.settings-close-v269:hover { background: rgba(243,107,15,.96); }
.settings-options-v269 {
  display: grid;
  gap: 10px;
  padding: 16px;
}
.settings-option-v269 {
  min-height: 58px;
  padding: 0 14px 0 16px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  border-radius: 13px;
  background: rgba(4, 66, 90, .55);
  border: 2px solid rgba(255,255,255,.1);
  color: #fff;
  font-size: 17px;
  font-weight: 900;
  cursor: pointer;
}
.settings-option-v269 input {
  position: absolute !important;
  opacity: 0 !important;
  pointer-events: none !important;
}
.settings-option-v269 i {
  position: relative;
  flex: 0 0 auto;
  width: 52px;
  height: 29px;
  border-radius: 999px;
  background: rgba(1, 42, 58, .8);
  border: 2px solid rgba(255,255,255,.15);
  box-shadow: inset 0 2px 5px rgba(0,0,0,.28);
}
.settings-option-v269 i::after {
  content: '';
  position: absolute;
  width: 23px;
  height: 23px;
  left: 2px;
  top: 1px;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 2px 5px rgba(0,0,0,.32);
  transition: transform .16s ease;
}
.settings-option-v269 input:checked + i {
  background: linear-gradient(90deg, #f36b0f, #feaa01);
}
.settings-option-v269 input:checked + i::after { transform: translateX(23px); }

.leave-confirm-overlay {
  background: rgba(0, 16, 24, .58) !important;
  backdrop-filter: blur(5px) !important;
}
.leave-confirm-card.leave-confirm-card-v269 {
  width: min(390px, calc(100vw - 32px)) !important;
  padding: 24px 22px 20px !important;
  text-align: center;
  border-radius: 20px !important;
  border: 4px solid #084e6b !important;
  background: linear-gradient(180deg, #0f789f 0%, #085875 100%) !important;
  box-shadow: 0 8px 0 rgba(4, 49, 67, .96), 0 24px 60px rgba(0,0,0,.46) !important;
}
.leave-confirm-icon-v269 {
  width: 72px;
  height: 72px;
  margin: -4px auto 12px;
  display: grid;
  place-items: center;
  border-radius: 18px;
  background: rgba(4, 65, 89, .62);
  border: 2px solid rgba(255,255,255,.12);
}
.leave-confirm-icon-v269 img { width: 48px; height: 48px; object-fit: contain; }
.leave-confirm-card-v269 > b {
  margin: 0 0 20px !important;
  font-size: 29px !important;
  color: #fff !important;
  text-shadow: 0 2px 0 rgba(0,0,0,.28);
}
.leave-confirm-card-v269 .leave-confirm-actions {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 12px !important;
}
.leave-confirm-card-v269 .leave-confirm-actions button {
  min-height: 52px !important;
  border-radius: 12px !important;
  border: 2px solid rgba(0,0,0,.28) !important;
  color: #fff !important;
  font-size: 17px !important;
  font-weight: 1000 !important;
  cursor: pointer;
  box-shadow: 0 4px 0 rgba(0,0,0,.22) !important;
}
.leave-stay-v269 { background: linear-gradient(180deg, #1590ba, #0a688c) !important; }
.leave-exit-v269 { background: linear-gradient(180deg, #f58a25, #d94f0c) !important; }
.leave-confirm-card-v269 .leave-confirm-actions button:active {
  transform: translateY(3px);
  box-shadow: 0 1px 0 rgba(0,0,0,.22) !important;
}

/* No tutorial text inside familiar Ahardice-like machines. */
.repairbox-help-v267,
.smelter-active-v257,
.smelter-process-status-v257 { display: none !important; }
.repairbox-panel-v267 { grid-template-columns: 1fr !important; }
.repairbox-machine-v267 { min-height: 0 !important; }
.smelter-machine-v257 { padding-bottom: 14px !important; }

/* v270: account identity, aligned machine controls, compact admin, robust recipes. */
.menu-account-id {
  margin-top: -4px;
  margin-bottom: 8px;
  color: rgba(234,248,255,.72);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .1px;
  word-break: break-all;
  text-shadow: 0 1px 2px rgba(0,0,0,.35);
}
.google-login-button {
  background: linear-gradient(180deg, #77d88a, #3ca85c) !important;
}
.discord-login-button {
  background: linear-gradient(180deg, #7ba6ff, #5865f2) !important;
}
.settings-account-v270 {
  min-height: 48px;
  padding: 9px 14px;
  display: grid;
  gap: 3px;
  border-radius: 12px;
  background: rgba(3,55,76,.58);
  border: 2px solid rgba(255,255,255,.09);
  box-sizing: border-box;
}
.settings-account-v270 span {
  font-size: 11px;
  font-weight: 850;
  color: rgba(255,255,255,.68);
}
.settings-account-v270 b {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: #fff;
  font-size: 13px;
  font-weight: 950;
}

/* Machine close button: centered X with equal padding on all sides. */
#structurePanel.structure-panel .structure-close {
  right: 12px !important;
  top: 12px !important;
  width: 38px !important;
  height: 38px !important;
  padding: 0 !important;
  display: grid !important;
  place-items: center !important;
  line-height: 1 !important;
  font-family: var(--font-main) !important;
  font-size: 27px !important;
  border-width: 3px !important;
  box-sizing: border-box !important;
}

/* Settings toggles: keep knob perfectly centered inside the track. */
.settings-option-v269 i {
  width: 58px !important;
  height: 32px !important;
  padding: 0 !important;
  box-sizing: border-box !important;
}
.settings-option-v269 i::after {
  width: 24px !important;
  height: 24px !important;
  left: 2px !important;
  top: 2px !important;
  box-sizing: border-box !important;
}
.settings-option-v269 input:checked + i::after {
  transform: translateX(26px) !important;
}

/* Craft recipes with 4+ ingredients use columns instead of overflowing vertically. */
#craftPanel .craft-ingredients.compact,
#craftPanel .craft-ingredients.dense,
#craftPanel .craft-ingredients.ultra {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  align-content: start !important;
  gap: 6px 8px !important;
  max-height: 150px !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  padding-right: 3px !important;
}
#craftPanel .craft-ingredients.compact .craft-ingredient,
#craftPanel .craft-ingredients.dense .craft-ingredient,
#craftPanel .craft-ingredients.ultra .craft-ingredient {
  min-width: 0 !important;
  min-height: 31px !important;
  grid-template-columns: 29px minmax(0, 1fr) !important;
  gap: 6px !important;
}
#craftPanel .craft-ingredients.compact .craft-ingredient-icon,
#craftPanel .craft-ingredients.dense .craft-ingredient-icon,
#craftPanel .craft-ingredients.ultra .craft-ingredient-icon {
  width: 29px !important;
  height: 29px !important;
}
#craftPanel .craft-ingredients.compact .craft-ingredient-text,
#craftPanel .craft-ingredients.dense .craft-ingredient-text,
#craftPanel .craft-ingredients.ultra .craft-ingredient-text {
  min-width: 0 !important;
  font-size: 10px !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

/* Compact admin panel in the same orange/brown visual family as Craft/Build/Shop. */
#adminPanel.admin-panel {
  left: 94px !important;
  right: auto !important;
  top: 150px !important;
  transform: none !important;
  width: min(570px, calc(100vw - 118px)) !important;
  max-height: min(520px, calc(100vh - 185px)) !important;
  padding: 10px !important;
  gap: 7px !important;
  border-radius: 14px !important;
  border: 4px solid #2b1600 !important;
  background: linear-gradient(180deg, #f58a19 0 54px, #552000 54px 100%) !important;
  box-shadow: 0 7px 0 rgba(43,22,0,.65), 0 18px 42px rgba(0,0,0,.30) !important;
  backdrop-filter: none !important;
  color: #fff7cf !important;
}
#adminPanel .admin-head {
  min-height: 38px !important;
  padding: 0 4px 4px !important;
}
#adminPanel .admin-title,
#adminPanel .admin-title b {
  color: #fff7cf !important;
  font-size: 20px !important;
  text-shadow: 0 2px 0 rgba(0,0,0,.35) !important;
}
#adminPanel .admin-title small,
#adminPanel .admin-help { display: none !important; }
#adminPanel .social-close {
  width: 34px !important;
  height: 34px !important;
  padding: 0 !important;
  display: grid !important;
  place-items: center !important;
  line-height: 1 !important;
  font-size: 24px !important;
}
#adminPanel .admin-tabs {
  display: flex !important;
  gap: 5px !important;
  padding: 0 !important;
  margin: 0 !important;
  background: transparent !important;
  border: 0 !important;
  min-height: 0 !important;
  height: auto !important;
}
#adminPanel .admin-tabs .craft-category-tab {
  flex: 0 0 auto !important;
  width: auto !important;
  min-width: 82px !important;
  height: 34px !important;
  padding: 4px 10px !important;
  border-radius: 8px !important;
  font-size: 11px !important;
}
#adminPanel .admin-body {
  gap: 6px !important;
  padding: 7px !important;
  border-radius: 10px !important;
  background: rgba(49,16,0,.78) !important;
  border: 2px solid rgba(43,14,0,.92) !important;
}
#adminPanel .admin-list,
#adminPanel .admin-item-list {
  gap: 5px !important;
}
#adminPanel .admin-item-list {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}
#adminPanel .admin-row,
#adminPanel .admin-item-row,
#adminPanel .admin-mode-row {
  min-height: 44px !important;
  padding: 6px 8px !important;
  border-radius: 8px !important;
  background: rgba(104,42,4,.78) !important;
  border: 2px solid rgba(255,180,84,.15) !important;
}
#adminPanel .admin-item-icon {
  width: 32px !important;
  height: 32px !important;
  border-radius: 7px !important;
}
#adminPanel .admin-tools {
  gap: 6px !important;
}
#adminPanel .admin-give-controls {
  grid-template-columns: minmax(0,1fr) 86px 104px !important;
  gap: 6px !important;
  padding: 7px !important;
  border-radius: 9px !important;
  background: rgba(70,24,0,.8) !important;
}
#adminPanel .admin-quick-amounts { gap: 4px !important; }

@media (max-width: 760px) {
  #adminPanel.admin-panel {
    left: 12px !important;
    width: calc(100vw - 24px) !important;
    top: 92px !important;
    max-height: calc(100vh - 112px) !important;
  }
  #adminPanel .admin-item-list {
    grid-template-columns: 1fr !important;
  }
}

/* v270: Settings and leave dialog now match the compact Ahardice game panels. */
#settingsPanel.settings-panel-v269 {
  width: min(390px, calc(100vw - 28px)) !important;
  border: 4px solid #2b1600 !important;
  border-radius: 14px !important;
  background: linear-gradient(180deg, #f7941c 0 62px, #562100 62px 100%) !important;
  box-shadow: 0 7px 0 rgba(43,22,0,.62), 0 20px 48px rgba(0,0,0,.34) !important;
}
.settings-header-v269 {
  min-height: 62px !important;
  padding: 9px 52px 9px 12px !important;
  gap: 10px !important;
  background: transparent !important;
  border-bottom: 0 !important;
}
.settings-header-v269 > b {
  font-size: 23px !important;
  color: #fff7cf !important;
  text-shadow: 0 2px 0 rgba(0,0,0,.4) !important;
}
.settings-icon-v269 {
  width: 40px !important;
  height: 40px !important;
  border-radius: 9px !important;
  background: rgba(87,31,0,.48) !important;
  border: 2px solid rgba(255,221,144,.18) !important;
}
.settings-icon-v269 img { width: 28px !important; height: 28px !important; }
.settings-close-v269 {
  right: 10px !important;
  top: 10px !important;
  width: 36px !important;
  height: 36px !important;
  display: grid !important;
  place-items: center !important;
  padding: 0 !important;
  line-height: 1 !important;
  border: 3px solid #2b1600 !important;
  border-radius: 9px !important;
  background: linear-gradient(180deg, #9dff59, #50c210) !important;
  color: #fff !important;
  font-size: 26px !important;
  text-shadow: 0 2px 0 rgba(0,0,0,.4) !important;
}
.settings-options-v269 {
  gap: 8px !important;
  padding: 10px 12px 13px !important;
  background: rgba(47,14,0,.72) !important;
  border-top: 3px solid rgba(43,14,0,.95) !important;
}
.settings-option-v269,
.settings-account-v270 {
  background: linear-gradient(180deg, rgba(111,43,3,.96), rgba(72,24,0,.98)) !important;
  border: 2px solid rgba(255,184,84,.18) !important;
  border-radius: 9px !important;
  color: #fff7cf !important;
}
.settings-option-v269 {
  min-height: 52px !important;
  font-size: 15px !important;
}
.settings-option-v269 i {
  background: rgba(30,9,0,.85) !important;
  border-color: rgba(255,206,126,.2) !important;
}
.settings-option-v269 input:checked + i {
  background: linear-gradient(90deg, #57c916, #a6ef53) !important;
}

.leave-confirm-overlay {
  background: rgba(25,10,0,.58) !important;
  backdrop-filter: blur(3px) !important;
}
.leave-confirm-card.leave-confirm-card-v269 {
  width: min(360px, calc(100vw - 28px)) !important;
  padding: 16px !important;
  border-radius: 14px !important;
  border: 4px solid #2b1600 !important;
  background: linear-gradient(180deg, #f7941c 0 64px, #562100 64px 100%) !important;
  box-shadow: 0 7px 0 rgba(43,22,0,.62), 0 22px 52px rgba(0,0,0,.4) !important;
}
.leave-confirm-icon-v269 {
  width: 52px !important;
  height: 52px !important;
  margin: 0 auto 8px !important;
  border-radius: 10px !important;
  background: rgba(81,27,0,.52) !important;
  border: 2px solid rgba(255,214,137,.18) !important;
}
.leave-confirm-icon-v269 img { width: 36px !important; height: 36px !important; }
.leave-confirm-card-v269 > b {
  margin: 0 0 14px !important;
  font-size: 24px !important;
  color: #fff7cf !important;
}
.leave-confirm-card-v269 .leave-confirm-actions { gap: 9px !important; }
.leave-confirm-card-v269 .leave-confirm-actions button {
  min-height: 44px !important;
  border-radius: 9px !important;
  font-size: 15px !important;
  border: 3px solid rgba(43,22,0,.88) !important;
}
.leave-stay-v269 { background: linear-gradient(180deg, #9dff59, #50c210) !important; }
.leave-exit-v269 { background: linear-gradient(180deg, #ff754f, #d63b20) !important; }

/* v270: visible one-second smelting cycle, while the server remains authoritative. */
.smelter-progress-v257.processing > span {
  animation: none !important;
}
@keyframes smelterProgressV270 {
  from { width: 0%; }
  to { width: 100%; }
}


/* v272 craft rarity/name gradients configured from game-data/recipe-catalog.json */
.craft-name-gradient {
  color: transparent !important;
  display: inline-block !important;
  background-clip: text !important;
  -webkit-background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  background-repeat: no-repeat !important;
  background-position: left center !important;
  background-size: 100% 100% !important;
}


/* v272 leaderboard: points stay on the right instead of using a second line */
.leaderboard-row {
  grid-template-columns: 22px minmax(0, 1fr) auto !important;
  align-items: center !important;
  min-height: 25px !important;
}
.leaderboard-main {
  min-width: 0 !important;
}
.leaderboard-name {
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}
.leaderboard-meta {
  margin-top: 0 !important;
  margin-left: 6px !important;
  white-space: nowrap !important;
  text-align: right !important;
  align-self: center !important;
}


/* v275: true per-character craft name gradient. The colour tags are never
   rendered; JS derives each character colour from craft.json gradient stops. */
.craft-name-gradient-char {
  display: inline;
  -webkit-text-fill-color: currentColor;
}


/* v277: own Heartstone presence indicator under the minimap. */
.heartstone-presence {
  position: absolute;
  left: 0;
  top: calc(100% + 8px);
  width: 48px;
  height: 48px;
  box-sizing: border-box;
  display: grid;
  place-items: center;
  background: rgba(22, 18, 8, 0.88);
  border: 2px solid #ffd928;
  box-shadow: 0 0 0 1px rgba(0,0,0,0.9), 0 0 13px rgba(255, 217, 40, 0.40);
  border-radius: 7px;
  pointer-events: none;
}

.heartstone-presence.hidden {
  display: none !important;
}

.heartstone-presence img {
  width: 42px;
  height: 42px;
  object-fit: contain;
  image-rendering: auto;
}

@media (max-width: 900px) {
  .heartstone-presence {
    width: 42px;
    height: 42px;
  }
  .heartstone-presence img {
    width: 36px;
    height: 36px;
  }
}

/* v281: main-menu profile uses the same compact Ahardice-like frame as Craft / Build / Shop */
.ahardice-main-menu.main-tab-profile .main-side-panel {
  left: 50% !important;
  top: 50% !important;
  right: auto !important;
  transform: translate(-50%, -50%) !important;
  width: min(720px, calc(100vw - 190px)) !important;
  height: min(500px, calc(100vh - 150px)) !important;
  max-height: none !important;
  box-sizing: border-box !important;
  padding: 10px !important;
  overflow: hidden !important;
  background: linear-gradient(180deg, var(--dyn-panel-blue), var(--dyn-panel-blue-2)) !important;
  border: 3px solid var(--dyn-black-border) !important;
  border-radius: 10px !important;
  box-shadow: 0 4px 0 rgba(0,0,0,0.55), 0 18px 48px rgba(0,0,0,0.38) !important;
  color: #f0fbff !important;
  font-family: var(--font-main) !important;
  text-shadow: 0 2px 1px rgba(0,0,0,0.42) !important;
}

.ahardice-main-menu.main-tab-profile #mainMenuPanelTitle {
  height: 42px !important;
  margin: 0 44px 8px 0 !important;
  padding: 0 14px !important;
  display: flex !important;
  align-items: center !important;
  box-sizing: border-box !important;
  border: 2px solid #053244 !important;
  border-radius: 6px !important;
  background: linear-gradient(180deg, #1698c5, #0879a5) !important;
  color: #f5fcff !important;
  font-size: 21px !important;
  font-weight: 1000 !important;
  letter-spacing: 0.2px !important;
}

.ahardice-main-menu.main-tab-profile #mainMenuPanelBody {
  height: calc(100% - 50px) !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  padding: 0 8px 0 0 !important;
  box-sizing: border-box !important;
  scrollbar-color: var(--dyn-scroll) transparent !important;
}

.ahardice-main-menu.main-tab-profile #mainMenuPanelBody::-webkit-scrollbar {
  width: 18px !important;
}

.ahardice-main-menu.main-tab-profile #mainMenuPanelBody::-webkit-scrollbar-thumb {
  background: var(--dyn-scroll) !important;
  border: 4px solid transparent !important;
  border-radius: 12px !important;
  background-clip: content-box !important;
}

.ahardice-main-menu.main-tab-profile .main-profile-card-v139 {
  gap: 8px !important;
  color: #f0fbff !important;
}

.ahardice-main-menu.main-tab-profile .main-profile-head-v139 {
  grid-template-columns: 66px minmax(0, 1fr) auto !important;
  gap: 10px !important;
  min-height: 72px !important;
  padding: 7px 9px !important;
  border-radius: 3px !important;
  background: var(--dyn-row-grey) !important;
  border: 2px solid #064b64 !important;
  box-shadow: none !important;
}

.ahardice-main-menu.main-tab-profile .main-profile-avatar-v139 {
  width: 58px !important;
  height: 58px !important;
  border-radius: 6px !important;
  border: 2px solid rgba(0,0,0,0.62) !important;
  background-color: #b9a9b8 !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.25) !important;
}

.ahardice-main-menu.main-tab-profile .main-profile-name-v139 {
  color: #ffffff !important;
  font-size: 18px !important;
}

.ahardice-main-menu.main-tab-profile .main-profile-sub-v139,
.ahardice-main-menu.main-tab-profile .main-profile-id-v139 {
  color: #e7eef2 !important;
  font-size: 11px !important;
}

.ahardice-main-menu.main-tab-profile .main-profile-refresh-v139 {
  min-width: 104px !important;
  height: 38px !important;
  padding: 0 12px !important;
  border-radius: 6px !important;
  border: 2px solid rgba(0,0,0,0.62) !important;
  background: linear-gradient(180deg, var(--dyn-green), var(--dyn-green-dark)) !important;
  color: #ffffff !important;
  font-size: 13px !important;
  text-shadow: 0 2px 1px rgba(0,0,0,0.48) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.28), 0 3px 0 rgba(0,0,0,0.35) !important;
}

.ahardice-main-menu.main-tab-profile .main-profile-summary-v139 {
  gap: 5px !important;
}

.ahardice-main-menu.main-tab-profile .main-profile-summary-tile-v139 {
  min-height: 50px !important;
  padding: 6px 8px !important;
  border-radius: 3px !important;
  background: var(--dyn-row-grey) !important;
  border: 2px solid #064b64 !important;
}

.ahardice-main-menu.main-tab-profile .main-profile-summary-tile-v139 span {
  color: #e7eef2 !important;
  font-size: 10px !important;
}

.ahardice-main-menu.main-tab-profile .main-profile-summary-tile-v139 b {
  margin-top: 2px !important;
  color: #fff2b6 !important;
  font-size: 14px !important;
}

.ahardice-main-menu.main-tab-profile .main-profile-expbar-v139 {
  height: 10px !important;
  border-radius: 3px !important;
  background: #053244 !important;
  border: 2px solid rgba(0,0,0,0.58) !important;
}

.ahardice-main-menu.main-tab-profile .main-profile-expbar-v139 > div {
  border-radius: 1px !important;
  background: linear-gradient(90deg, #83dd3e, #c4f26c) !important;
  box-shadow: none !important;
}

.ahardice-main-menu.main-tab-profile .main-profile-badges-v139,
.ahardice-main-menu.main-tab-profile .main-profile-stat-card-v139,
.ahardice-main-menu.main-tab-profile .main-profile-empty {
  padding: 8px !important;
  border-radius: 4px !important;
  background: #0b6490 !important;
  border: 2px solid #053244 !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.10) !important;
}

.ahardice-main-menu.main-tab-profile .main-profile-section-title-v139,
.ahardice-main-menu.main-tab-profile .main-profile-stat-head-v139 {
  margin-bottom: 6px !important;
  color: #fff2b6 !important;
  font-size: 12px !important;
}

.ahardice-main-menu.main-tab-profile .main-profile-stat-head-v139 span {
  padding: 2px 7px !important;
  border-radius: 4px !important;
  background: var(--dyn-row-grey) !important;
  border: 1px solid rgba(0,0,0,0.42) !important;
}

.ahardice-main-menu.main-tab-profile .main-profile-badge-grid-v139 {
  gap: 5px !important;
}

.ahardice-main-menu.main-tab-profile .main-profile-badge-v139 {
  width: 38px !important;
  height: 38px !important;
  border-radius: 5px !important;
  background-color: var(--dyn-row-grey) !important;
  border: 2px solid #064b64 !important;
}

.ahardice-main-menu.main-tab-profile .main-profile-stats-grid-v139 {
  gap: 7px !important;
}

.ahardice-main-menu.main-tab-profile .main-profile-stat-row-v139 {
  min-height: 22px !important;
  padding: 3px 6px !important;
  border-radius: 2px !important;
  background: rgba(102,100,114,0.82) !important;
  border-bottom: 1px solid #064b64 !important;
}

@media (max-width: 900px) {
  .ahardice-main-menu.main-tab-profile .main-side-panel {
    width: calc(100vw - 150px) !important;
    height: calc(100vh - 136px) !important;
  }
}

@media (max-width: 760px) {
  .ahardice-main-menu.main-tab-profile .main-side-panel {
    width: calc(100vw - 20px) !important;
    height: calc(100vh - 124px) !important;
  }

  .ahardice-main-menu.main-tab-profile .main-profile-head-v139 {
    grid-template-columns: 54px minmax(0, 1fr) !important;
  }

  .ahardice-main-menu.main-tab-profile .main-profile-avatar-v139 {
    width: 50px !important;
    height: 50px !important;
  }

  .ahardice-main-menu.main-tab-profile .main-profile-refresh-v139 {
    grid-column: 1 / -1 !important;
    width: 100% !important;
  }
}


/* v282: profile panel now truly matches the Ahardice Craft / Build / Shop orange theme. */
.ahardice-main-menu.main-tab-profile .main-side-panel {
  left: 50% !important;
  top: 50% !important;
  right: auto !important;
  transform: translate(-50%, -50%) !important;
  width: min(720px, calc(100vw - 190px)) !important;
  height: min(500px, calc(100vh - 150px)) !important;
  max-height: none !important;
  box-sizing: border-box !important;
  padding: 12px !important;
  overflow: visible !important;
  background: linear-gradient(180deg, #FEAA01 0%, #F36B0F 48%, #b94800 100%) !important;
  border: 4px solid #3b1500 !important;
  border-radius: 16px !important;
  box-shadow:
    0 7px 0 rgba(56,18,0,.50),
    0 24px 58px rgba(0,0,0,.40),
    inset 0 2px 0 rgba(255,255,255,.30) !important;
  color: #fff7d8 !important;
  font-family: var(--font-main) !important;
  text-shadow: 0 2px 1px rgba(58,18,0,.58) !important;
}

.ahardice-main-menu.main-tab-profile #mainMenuPanelTitle {
  position: absolute !important;
  left: 14px !important;
  top: -58px !important;
  width: auto !important;
  min-width: 180px !important;
  height: 58px !important;
  margin: 0 !important;
  padding: 0 24px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-sizing: border-box !important;
  border: 4px solid #3b1500 !important;
  border-bottom: 0 !important;
  border-radius: 15px 15px 0 0 !important;
  background: linear-gradient(180deg, #ffd069 0%, #FEAA01 30%, #F36B0F 100%) !important;
  color: #4a1800 !important;
  font-size: 22px !important;
  font-weight: 1000 !important;
  letter-spacing: .2px !important;
  text-shadow: 0 1px 0 rgba(255,255,255,.55) !important;
  box-shadow: inset 0 2px 0 rgba(255,255,255,.34) !important;
  z-index: 4 !important;
}

.ahardice-main-menu.main-tab-profile #mainMenuPanelBody {
  width: 100% !important;
  height: 100% !important;
  max-height: none !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  box-sizing: border-box !important;
  padding: 12px 10px 12px 12px !important;
  border: 3px solid rgba(55,17,0,.98) !important;
  border-radius: 12px !important;
  background: linear-gradient(180deg, rgba(105,36,0,.98), rgba(48,15,0,.99)) !important;
  box-shadow:
    inset 0 2px 0 rgba(255,255,255,.12),
    inset 0 -4px 0 rgba(0,0,0,.22) !important;
  scrollbar-color: #FEAA01 rgba(45,14,0,.74) !important;
}

.ahardice-main-menu.main-tab-profile #mainMenuPanelBody::-webkit-scrollbar {
  width: 16px !important;
}

.ahardice-main-menu.main-tab-profile #mainMenuPanelBody::-webkit-scrollbar-track {
  background: rgba(45,14,0,.74) !important;
  border-radius: 10px !important;
}

.ahardice-main-menu.main-tab-profile #mainMenuPanelBody::-webkit-scrollbar-thumb {
  background: linear-gradient(180deg, #ffd069, #FEAA01 48%, #F36B0F) !important;
  border: 3px solid rgba(45,14,0,.74) !important;
  border-radius: 10px !important;
  background-clip: padding-box !important;
}

.ahardice-main-menu.main-tab-profile .main-profile-card-v139 {
  gap: 10px !important;
  color: #fff7d8 !important;
}

.ahardice-main-menu.main-tab-profile .main-profile-head-v139 {
  grid-template-columns: 76px minmax(0, 1fr) auto !important;
  gap: 12px !important;
  min-height: 82px !important;
  padding: 10px 12px !important;
  border-radius: 10px !important;
  background: linear-gradient(90deg, rgba(132,52,0,.96), rgba(78,26,0,.96)) !important;
  border: 3px solid rgba(55,17,0,.98) !important;
  box-shadow: inset 0 2px 0 rgba(255,255,255,.12) !important;
}

.ahardice-main-menu.main-tab-profile .main-profile-avatar-v139 {
  width: 66px !important;
  height: 66px !important;
  border-radius: 10px !important;
  border: 3px solid #FEAA01 !important;
  background-color: rgba(43,16,4,.88) !important;
  color: #fff7d8 !important;
  box-shadow:
    0 0 0 2px #3b1500,
    inset 0 1px 0 rgba(255,255,255,.20) !important;
}

.ahardice-main-menu.main-tab-profile .main-profile-name-v139 {
  color: #fff7d8 !important;
  font-size: 20px !important;
  text-shadow: 0 2px 0 rgba(45,14,0,.88) !important;
}

.ahardice-main-menu.main-tab-profile .main-profile-sub-v139,
.ahardice-main-menu.main-tab-profile .main-profile-id-v139 {
  color: rgba(255,240,205,.82) !important;
  font-size: 12px !important;
}

.ahardice-main-menu.main-tab-profile .main-profile-refresh-v139 {
  min-width: 112px !important;
  height: 42px !important;
  padding: 0 14px !important;
  border-radius: 9px !important;
  border: 3px solid #3b1500 !important;
  background: linear-gradient(180deg, #ffd069 0%, #FEAA01 38%, #F36B0F 100%) !important;
  color: #4a1800 !important;
  font-size: 14px !important;
  font-weight: 1000 !important;
  text-shadow: 0 1px 0 rgba(255,255,255,.52) !important;
  box-shadow:
    0 4px 0 #7b2d00,
    inset 0 2px 0 rgba(255,255,255,.32) !important;
}

.ahardice-main-menu.main-tab-profile .main-profile-refresh-v139:hover:not(:disabled) {
  filter: brightness(1.08) !important;
  transform: translateY(-1px) !important;
}

.ahardice-main-menu.main-tab-profile .main-profile-refresh-v139:active:not(:disabled) {
  transform: translateY(3px) !important;
  box-shadow: 0 1px 0 #7b2d00, inset 0 2px 0 rgba(255,255,255,.25) !important;
}

.ahardice-main-menu.main-tab-profile .main-profile-refresh-v139:disabled {
  opacity: .72 !important;
  filter: saturate(.65) !important;
}

.ahardice-main-menu.main-tab-profile .main-profile-summary-v139 {
  gap: 7px !important;
}

.ahardice-main-menu.main-tab-profile .main-profile-summary-tile-v139 {
  min-height: 58px !important;
  padding: 8px 9px !important;
  border-radius: 9px !important;
  background: linear-gradient(180deg, rgba(126,46,0,.96), rgba(73,24,0,.96)) !important;
  border: 2px solid rgba(55,17,0,.98) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.11) !important;
}

.ahardice-main-menu.main-tab-profile .main-profile-summary-tile-v139 span {
  color: rgba(255,240,205,.78) !important;
  font-size: 11px !important;
}

.ahardice-main-menu.main-tab-profile .main-profile-summary-tile-v139 b {
  margin-top: 4px !important;
  color: #ffd76f !important;
  font-size: 16px !important;
  text-shadow: 0 2px 0 rgba(45,14,0,.88) !important;
}

.ahardice-main-menu.main-tab-profile .main-profile-expbar-v139 {
  height: 13px !important;
  border-radius: 7px !important;
  background: rgba(37,11,0,.94) !important;
  border: 2px solid #3b1500 !important;
  box-shadow: inset 0 2px 3px rgba(0,0,0,.45) !important;
}

.ahardice-main-menu.main-tab-profile .main-profile-expbar-v139 > div {
  border-radius: 5px !important;
  background: linear-gradient(90deg, #ffd069 0%, #FEAA01 48%, #F36B0F 100%) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.36) !important;
}

.ahardice-main-menu.main-tab-profile .main-profile-badges-v139,
.ahardice-main-menu.main-tab-profile .main-profile-stat-card-v139,
.ahardice-main-menu.main-tab-profile .main-profile-empty {
  padding: 10px !important;
  border-radius: 10px !important;
  background: linear-gradient(180deg, rgba(99,33,0,.97), rgba(54,17,0,.98)) !important;
  border: 2px solid rgba(55,17,0,.98) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.10) !important;
}

.ahardice-main-menu.main-tab-profile .main-profile-section-title-v139,
.ahardice-main-menu.main-tab-profile .main-profile-stat-head-v139 {
  margin-bottom: 8px !important;
  color: #ffd76f !important;
  font-size: 13px !important;
  text-shadow: 0 2px 0 rgba(45,14,0,.90) !important;
}

.ahardice-main-menu.main-tab-profile .main-profile-stat-head-v139 span {
  padding: 3px 8px !important;
  border-radius: 6px !important;
  background: linear-gradient(180deg, #FEAA01, #F36B0F) !important;
  border: 2px solid #3b1500 !important;
  color: #4a1800 !important;
  text-shadow: 0 1px 0 rgba(255,255,255,.42) !important;
}

.ahardice-main-menu.main-tab-profile .main-profile-badge-grid-v139 {
  gap: 7px !important;
}

.ahardice-main-menu.main-tab-profile .main-profile-badge-v139 {
  width: 42px !important;
  height: 42px !important;
  border-radius: 8px !important;
  background-color: rgba(38,13,2,.88) !important;
  border: 2px solid #9f3b00 !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.10) !important;
}

.ahardice-main-menu.main-tab-profile .main-profile-stats-grid-v139 {
  gap: 8px !important;
}

.ahardice-main-menu.main-tab-profile .main-profile-stat-row-v139 {
  min-height: 25px !important;
  padding: 4px 7px !important;
  border-radius: 6px !important;
  background: linear-gradient(90deg, rgba(132,52,0,.84), rgba(83,30,0,.80)) !important;
  border: 1px solid rgba(55,17,0,.92) !important;
  color: rgba(255,240,205,.86) !important;
}

.ahardice-main-menu.main-tab-profile .main-profile-stat-row-v139 b {
  color: #fff7d8 !important;
}

.ahardice-main-menu.main-tab-profile .main-profile-empty,
.ahardice-main-menu.main-tab-profile .main-profile-empty-line-v139,
.ahardice-main-menu.main-tab-profile .main-profile-subtitle-v139 {
  color: rgba(255,240,205,.78) !important;
}

.ahardice-main-menu.main-tab-profile .main-profile-subtitle-v139 {
  border-top-color: rgba(254,170,1,.25) !important;
  color: #ffd76f !important;
}

@media (max-width: 900px) {
  .ahardice-main-menu.main-tab-profile .main-side-panel {
    width: calc(100vw - 150px) !important;
    height: calc(100vh - 150px) !important;
  }
}

@media (max-width: 760px) {
  .ahardice-main-menu.main-tab-profile .main-side-panel {
    width: calc(100vw - 20px) !important;
    height: calc(100vh - 142px) !important;
    top: calc(50% + 12px) !important;
  }

  .ahardice-main-menu.main-tab-profile #mainMenuPanelTitle {
    left: 8px !important;
    top: -50px !important;
    height: 50px !important;
    min-width: 150px !important;
    font-size: 19px !important;
  }

  .ahardice-main-menu.main-tab-profile .main-profile-head-v139 {
    grid-template-columns: 58px minmax(0, 1fr) !important;
  }

  .ahardice-main-menu.main-tab-profile .main-profile-avatar-v139 {
    width: 52px !important;
    height: 52px !important;
  }

  .ahardice-main-menu.main-tab-profile .main-profile-refresh-v139 {
    grid-column: 1 / -1 !important;
    width: 100% !important;
  }
}


/* v283: compact Repair Box panel, matching the orange construction UI. */
#structurePanel.structure-panel.repairbox-compact-v283 {
  width: min(360px, calc(100vw - 28px)) !important;
  min-height: 0 !important;
  padding: 14px !important;
}
#structurePanel.repairbox-compact-v283 .structure-title {
  font-size: 24px !important;
  margin: 0 46px 10px !important;
}
#structurePanel.repairbox-compact-v283 .structure-close {
  width: 36px !important;
  height: 36px !important;
  top: 7px !important;
  right: 8px !important;
  font-size: 25px !important;
  line-height: 30px !important;
  background: linear-gradient(180deg, #ffb32f, #ef710d) !important;
  border-color: #542000 !important;
}
.repairbox-panel-v283 {
  display: grid;
  gap: 8px;
  padding: 10px;
  border-radius: 13px;
  border: 3px solid rgba(65, 22, 0, .96);
  background: linear-gradient(180deg, rgba(102, 35, 0, .97), rgba(47, 15, 0, .98));
  box-shadow: inset 0 2px 0 rgba(255,255,255,.10);
}
.repairbox-slot-v283 {
  width: 100%;
  min-height: 72px;
  display: grid;
  grid-template-columns: 58px minmax(0, 1fr);
  align-items: center;
  gap: 10px;
  padding: 7px 10px;
  box-sizing: border-box;
  border-radius: 11px;
  border: 2px solid rgba(255, 177, 65, .35);
  background: linear-gradient(180deg, rgba(45, 15, 0, .98), rgba(22, 7, 0, .98));
  color: #fff5cf;
  text-align: left;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.07), 0 3px 0 rgba(0,0,0,.22);
}
.repairbox-slot-v283:hover,
.repairbox-slot-v283.done {
  border-color: rgba(255, 181, 55, .88);
  transform: translateY(-1px);
}
.repairbox-icon-wrap-v283 {
  width: 56px;
  height: 56px;
  display: grid;
  place-items: center;
  border-radius: 9px;
  border: 2px solid rgba(255, 190, 88, .20);
  background: rgba(10, 4, 0, .58);
}
.repairbox-item-v283 {
  width: 46px;
  height: 46px;
  display: block;
  background: center/contain no-repeat;
  filter: drop-shadow(0 3px 2px rgba(0,0,0,.38));
}
.repairbox-plus-v283 {
  font-size: 34px;
  line-height: 1;
  font-weight: 1000;
  color: rgba(255, 241, 198, .72);
}
.repairbox-copy-v283 {
  min-width: 0;
  display: grid;
  gap: 3px;
}
.repairbox-copy-v283 b {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 15px;
  color: #fff7d8;
}
.repairbox-copy-v283 small {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 11px;
  color: rgba(255, 235, 183, .72);
}
.repairbox-progress-v283 {
  height: 10px;
  overflow: hidden;
  border-radius: 999px;
  border: 1px solid rgba(255, 184, 70, .24);
  background: rgba(0,0,0,.62);
}
.repairbox-progress-v283 > span {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, #f36b0f, #feaa01 62%, #ffe574);
  transition: width 260ms linear;
}
.repairbox-state-v283 {
  min-height: 15px;
  padding: 0 2px;
  font-size: 11px;
  line-height: 1.25;
  font-weight: 800;
  color: rgba(255, 238, 192, .78);
  text-align: center;
}
.repairbox-state-v283.done { color: #ffe775; }

/* v284: single-account button and centered provider chooser */
.auth-provider-modal {
  position: fixed;
  inset: 0;
  z-index: 1200;
  display: grid;
  place-items: center;
  padding: 24px;
  background: rgba(4, 10, 18, 0.68);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}

.auth-provider-modal.hidden {
  display: none !important;
}

.auth-provider-card {
  position: relative;
  width: min(430px, calc(100vw - 36px));
  box-sizing: border-box;
  padding: 30px 30px 26px;
  border: 2px solid rgba(255, 255, 255, 0.18);
  border-radius: 22px;
  background: linear-gradient(180deg, rgba(18, 39, 56, 0.98), rgba(8, 20, 32, 0.98));
  box-shadow: 0 24px 80px rgba(0, 0, 0, 0.58), inset 0 1px 0 rgba(255, 255, 255, 0.13);
  color: #eef8ff;
  text-align: center;
}

.auth-provider-close {
  position: absolute;
  top: 12px;
  right: 14px;
  width: 40px;
  height: 40px;
  border: 0;
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.09);
  color: #fff;
  font-size: 30px;
  line-height: 1;
}

.auth-provider-close:hover {
  background: rgba(255, 255, 255, 0.17);
}

.auth-provider-logo {
  width: 76px;
  height: 76px;
  object-fit: contain;
  margin-bottom: 10px;
  filter: drop-shadow(0 6px 8px rgba(0, 0, 0, 0.36));
}

.auth-provider-title {
  font-size: 29px;
  font-weight: 950;
  letter-spacing: -0.4px;
}

.auth-provider-subtitle {
  margin-top: 7px;
  color: rgba(229, 241, 250, 0.7);
  font-size: 14px;
}

.auth-provider-actions {
  display: grid;
  gap: 12px;
  margin-top: 24px;
}

.auth-provider-button {
  min-height: 62px;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 16px;
  padding: 10px 18px;
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 14px;
  color: #fff;
  font-size: 20px;
  background: rgba(255, 255, 255, 0.08);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.11), 0 7px 18px rgba(0, 0, 0, 0.22);
}

.auth-provider-button:hover {
  transform: translateY(-1px);
  border-color: rgba(255, 255, 255, 0.42);
  background: rgba(255, 255, 255, 0.14);
}

.auth-provider-button.discord-login-button {
  background: linear-gradient(180deg, #6879e8, #5264d2);
}

.auth-provider-button.google-login-button {
  background: linear-gradient(180deg, #ffffff, #e8edf3);
  color: #26313b;
}

.auth-provider-mark {
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  flex: 0 0 38px;
  border-radius: 11px;
  background: rgba(0, 0, 0, 0.18);
  color: #fff;
  font-size: 20px;
  font-weight: 950;
}

.google-mark {
  background: #fff;
  color: #4285f4;
  box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.12);
}

.auth-login-status {
  min-height: 36px;
  margin-top: 18px;
  color: rgba(220, 238, 249, 0.74);
  font-size: 13px;
  line-height: 1.4;
}

.auth-login-status.error {
  color: #ff9c9c;
}


/* v287: compact HUD polish */
.game-coin-balance {
  background: linear-gradient(180deg, rgba(48, 51, 57, 0.90) 0%, rgba(17, 19, 23, 0.90) 100%) !important;
  border-color: rgba(4, 5, 7, 0.96) !important;
  color: #f3f4f6 !important;
  box-shadow: 0 5px 0 rgba(0, 0, 0, 0.52), inset 0 1px 0 rgba(255, 255, 255, 0.10) !important;
}

.game-coin-icon {
  width: 28px !important;
  height: 28px !important;
  border: none !important;
  border-radius: 0 !important;
  background-color: transparent !important;
  background-image: url('/assets/items/coin.png') !important;
  background-size: contain !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
  box-shadow: none !important;
  filter: drop-shadow(0 2px 2px rgba(0, 0, 0, 0.55));
}

.item-toast-count {
  color: #fff4c8;
}

.item-toast-name,
.item-toast-gradient-char {
  font: inherit;
}

/* Slightly taller Map / Settings / Leave tabs. */
.minimap-tool-tab {
  height: 49px !important;
  padding-top: 9px !important;
  padding-bottom: 9px !important;
}

@media (max-width: 900px) {
  .minimap-tool-tab {
    height: 45px !important;
    padding-top: 8px !important;
    padding-bottom: 8px !important;
  }
}


/* v288: taller map/settings/leave tabs, orange coin balance and smooth world progress overlays. */
.game-coin-balance {
  background: linear-gradient(180deg, rgba(255, 178, 37, .96) 0%, rgba(241, 101, 8, .94) 56%, rgba(177, 54, 3, .94) 100%) !important;
  border-color: rgba(103, 34, 0, .96) !important;
  color: #fff9df !important;
  box-shadow: 0 5px 0 rgba(84, 28, 0, .64), inset 0 1px 0 rgba(255, 255, 255, .38), 0 8px 22px rgba(116, 42, 0, .26) !important;
}

.minimap-tool-tab {
  height: 58px !important;
  padding-top: 10px !important;
  padding-bottom: 10px !important;
}

@media (max-width: 900px) {
  .minimap-tool-tab {
    height: 52px !important;
    padding-top: 9px !important;
    padding-bottom: 9px !important;
  }
}

.fuel-counter-v198,
.miner-counter,
.repair-counter-v288 {
  will-change: transform;
  backface-visibility: hidden;
  contain: layout paint style;
}

.repairbox-progress-label-v288 {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 3px;
  color: rgba(255, 239, 196, .82);
  font-size: 11px;
  font-weight: 900;
}

.repairbox-progress-label-v288 b {
  color: #ffe06d;
  font-size: 12px;
}

.repairbox-progress-v283 {
  height: 14px !important;
  border-width: 2px !important;
  box-shadow: inset 0 2px 4px rgba(0, 0, 0, .62);
}

.repairbox-progress-v283.repairing > span {
  position: relative;
  overflow: hidden;
}

.repairbox-progress-v283.repairing > span::after {
  content: '';
  position: absolute;
  inset: 0;
  width: 45%;
  transform: translateX(-140%);
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.42), transparent);
  animation: repairboxShineV288 1.15s linear infinite;
}

@keyframes repairboxShineV288 {
  to { transform: translateX(320%); }
}

.repair-counter-v288 {
  position: fixed;
  z-index: 24;
  min-width: 154px;
  height: 31px;
  display: grid;
  grid-template-columns: 25px minmax(76px, 1fr) 42px;
  align-items: center;
  gap: 7px;
  padding: 3px 8px 3px 5px;
  box-sizing: border-box;
  pointer-events: none;
  border-radius: 11px;
  border: 2px solid rgba(92, 34, 0, .92);
  background: linear-gradient(180deg, rgba(54, 21, 3, .94), rgba(20, 8, 1, .96));
  box-shadow: 0 4px 0 rgba(0, 0, 0, .34), inset 0 1px 0 rgba(255, 255, 255, .10);
  color: #fff2c0;
  font-size: 11px;
  font-weight: 950;
}

.repair-counter-v288.done {
  border-color: rgba(223, 166, 28, .96);
  background: linear-gradient(180deg, rgba(101, 65, 4, .96), rgba(43, 24, 1, .97));
}

.repair-counter-icon-v288 {
  width: 24px;
  height: 24px;
  display: block;
  background: center/contain no-repeat;
  filter: drop-shadow(0 2px 2px rgba(0,0,0,.48));
}

.repair-counter-bar-v288 {
  height: 11px;
  display: block;
  overflow: hidden;
  border-radius: 999px;
  border: 1px solid rgba(255, 187, 67, .34);
  background: rgba(0, 0, 0, .66);
}

.repair-counter-bar-v288 > i {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, #f36b0f, #feaa01 62%, #ffe474);
  transition: width 100ms linear;
}

.repair-counter-v288 b {
  text-align: right;
  white-space: nowrap;
  color: #ffe779;
}


/* v289: repair box stores any item; world repair indicator is a bare bar only. */
.repair-counter-v289 {
  position: fixed;
  z-index: 24;
  width: 132px;
  height: 12px;
  padding: 2px;
  box-sizing: border-box;
  overflow: hidden;
  pointer-events: none;
  border-radius: 999px;
  border: 2px solid rgba(75, 30, 2, .94);
  background: rgba(12, 7, 3, .88);
  box-shadow: 0 3px 0 rgba(0, 0, 0, .34), inset 0 1px 2px rgba(0, 0, 0, .72);
  will-change: transform;
  backface-visibility: hidden;
  contain: layout paint style;
}

.repair-counter-v289 > i {
  display: block;
  height: 100%;
  min-width: 2px;
  border-radius: inherit;
  background: linear-gradient(90deg, #f36b0f, #feaa01 65%, #ffe474);
  transition: width 100ms linear;
}

/* v295: trade uses the compact craft-panel footprint.
   Inventory occupies the craft panel's exact desktop coordinates; the trade
   window mirrors it on the right, leaving the world center unobstructed. */
body.trade-active #inventory.inventory.game-panel {
  display: block !important;
  left: 94px !important;
  right: auto !important;
  top: 330px !important;
  bottom: auto !important;
  width: 550px !important;
  max-width: 550px !important;
  height: 330px !important;
  max-height: 330px !important;
  padding: 9px !important;
  transform: none !important;
  transform-origin: left top !important;
  overflow: visible !important;
  opacity: .92 !important;
  z-index: 360 !important;
}

body.trade-active #inventory.inventory.game-panel:hover,
body.trade-active #inventory.inventory.game-panel:focus-within {
  opacity: 1 !important;
}

body.trade-active #inventory .inventory-shell {
  height: 100% !important;
  max-height: 100% !important;
  padding: 10px !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
}

body.trade-active #inventory #inventoryGrid.inventory-grid,
body.trade-active #inventory .inventory-grid.fancy-grid {
  grid-template-columns: repeat(7, 50px) !important;
  grid-auto-rows: 50px !important;
  gap: 7px !important;
  padding: 7px !important;
}

body.trade-active #inventory .inventory-slot {
  width: 50px !important;
  height: 50px !important;
}

body.trade-active #tradePanel.social-panel {
  display: block !important;
  left: auto !important;
  right: 94px !important;
  top: 330px !important;
  bottom: auto !important;
  width: 550px !important;
  max-width: 550px !important;
  height: 330px !important;
  min-height: 0 !important;
  max-height: 330px !important;
  padding: 9px !important;
  box-sizing: border-box !important;
  transform: none !important;
  transform-origin: right top !important;
  overflow: visible !important;
  opacity: .92 !important;
  z-index: 370 !important;
  border-radius: 18px !important;
}

body.trade-active #tradePanel.social-panel:hover,
body.trade-active #tradePanel.social-panel:focus-within {
  opacity: 1 !important;
}

body.trade-active #tradePanel .social-head {
  min-height: 42px !important;
  margin: 0 42px 5px 5px !important;
}

body.trade-active #tradePanel .social-title {
  font-size: 22px !important;
}

body.trade-active #tradePanel .social-body,
body.trade-active #tradePanel .ahardice-trade-body-v148 {
  height: calc(100% - 47px) !important;
  max-height: calc(100% - 47px) !important;
  padding: 8px !important;
  box-sizing: border-box !important;
  border: 3px solid rgba(56, 18, 0, .95) !important;
  border-radius: 12px !important;
  overflow: hidden !important;
}

body.trade-active #tradePanel .trade-modern {
  height: 100% !important;
  display: grid !important;
  grid-template-rows: minmax(0, 1fr) 42px !important;
  gap: 7px !important;
}

body.trade-active #tradePanel .trade-modern-offers {
  min-height: 0 !important;
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 8px !important;
  overflow: hidden !important;
}

body.trade-active #tradePanel .trade-modern-offer {
  min-width: 0 !important;
  height: 100% !important;
  padding: 6px !important;
  box-sizing: border-box !important;
  border: 2px solid rgba(55, 18, 0, .94) !important;
  border-radius: 9px !important;
  background: linear-gradient(180deg, rgba(72, 25, 0, .98), rgba(38, 13, 0, .98)) !important;
  overflow: hidden !important;
}

body.trade-active #tradePanel .trade-offer-head {
  height: 20px !important;
  margin: 0 0 4px !important;
  color: #fff7d8 !important;
  font-size: 13px !important;
  text-align: center !important;
}

body.trade-active #tradePanel .trade-offer-grid {
  grid-template-columns: repeat(5, 34px) !important;
  grid-auto-rows: 34px !important;
  gap: 4px !important;
}

body.trade-active #tradePanel .trade-offer-slot {
  width: 34px !important;
  height: 34px !important;
  min-height: 34px !important;
  padding: 0 !important;
  border-radius: 7px !important;
}

body.trade-active #tradePanel .trade-modern-controls {
  height: 42px !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 132px !important;
  gap: 8px !important;
  margin: 0 !important;
}

body.trade-active #tradePanel .trade-confirm-modern,
body.trade-active #tradePanel .trade-cancel-modern {
  min-height: 42px !important;
  height: 42px !important;
  padding: 5px 10px !important;
  font-size: 14px !important;
  border-radius: 9px !important;
}

body.trade-active #tradePanel .ahardice-trade-list-v148 {
  height: 100% !important;
  max-height: 100% !important;
}

@media (max-width: 1200px) and (min-width: 901px) {
  body.trade-active #inventory.inventory.game-panel,
  body.trade-active #tradePanel.social-panel {
    width: 500px !important;
    max-width: 500px !important;
    top: 300px !important;
    transform: scale(.88) !important;
  }
  body.trade-active #inventory.inventory.game-panel {
    left: 72px !important;
    transform-origin: left top !important;
  }
  body.trade-active #tradePanel.social-panel {
    right: 72px !important;
    transform-origin: right top !important;
  }
}

@media (max-width: 900px) {
  body.trade-active #inventory.inventory.game-panel {
    left: 24px !important;
    right: auto !important;
    top: 72px !important;
    width: calc(100vw - 48px) !important;
    max-width: calc(100vw - 48px) !important;
    height: 300px !important;
    max-height: 42vh !important;
    transform: scale(.82) !important;
    transform-origin: left top !important;
  }
  body.trade-active #tradePanel.social-panel {
    left: 24px !important;
    right: auto !important;
    top: calc(50% + 18px) !important;
    width: calc(100vw - 48px) !important;
    max-width: calc(100vw - 48px) !important;
    height: 300px !important;
    max-height: 42vh !important;
    transform: scale(.82) !important;
    transform-origin: left top !important;
  }
}

/* v296 final cascade lock */
#inventory.inventory.game-panel,
#chestPanel.chest-panel.game-panel,
body.trade-active #tradePanel.social-panel {
  box-sizing: border-box !important;
  padding: 9px !important;
  border: 4px solid #3b1700 !important;
  border-radius: 18px !important;
  background: linear-gradient(180deg, #ffb14c 0%, #fe7700 46%, #b94b00 100%) !important;
  color: #fff6d6 !important;
  box-shadow: 0 7px 0 rgba(56,18,0,.45), 0 24px 55px rgba(0,0,0,.36), inset 0 2px 0 rgba(255,255,255,.24) !important;
  opacity: .92 !important;
}

#inventory .inventory-shell,
#chestPanel .inventory-shell,
body.trade-active #tradePanel .social-body,
body.trade-active #tradePanel .ahardice-trade-body-v148 {
  box-sizing: border-box !important;
  height: 100% !important;
  padding: 10px !important;
  border: 3px solid rgba(52,16,0,.98) !important;
  border-radius: 11px !important;
  background: linear-gradient(180deg, rgba(88,34,0,.96), rgba(45,15,0,.97)) !important;
  color: #fff6d6 !important;
  overflow: hidden !important;
}

#inventory .inventory-title,
#chestPanel .inventory-title,
body.trade-active #tradePanel .social-title {
  color: #fff7d8 !important;
  font-size: 21px !important;
  line-height: 1.15 !important;
  text-shadow: 0 3px 0 rgba(60,18,0,.72), 0 0 12px rgba(255,177,76,.45) !important;
}

#inventory .panel-close,
#chestPanel .panel-close,
body.trade-active #tradePanel .social-close {
  width: 34px !important;
  height: 34px !important;
  border: 2px solid #3b1700 !important;
  border-radius: 9px !important;
  background: linear-gradient(180deg, #ffd06a 0%, #fe7700 48%, #ae4400 100%) !important;
  color: #351100 !important;
}

#inventory .inventory-grid,
#chestPanel .inventory-grid,
body.trade-active #tradePanel .trade-offer-grid {
  box-sizing: border-box !important;
  padding: 7px !important;
  border: 2px solid rgba(42,14,0,.98) !important;
  border-radius: 10px !important;
  background: linear-gradient(180deg, rgba(72,25,0,.98), rgba(38,13,0,.98)) !important;
}

#inventory .inventory-slot,
#chestPanel .inventory-slot,
body.trade-active #tradePanel .trade-offer-slot {
  box-sizing: border-box !important;
  border: 2px solid rgba(65,23,0,.96) !important;
  border-radius: 9px !important;
  background: linear-gradient(145deg, rgba(143,60,0,.92), rgba(78,29,0,.94)) !important;
  box-shadow: inset 0 1px 0 rgba(255,206,120,.18), 0 2px 0 rgba(30,9,0,.42) !important;
}

#inventory .inventory-slot:hover,
#chestPanel .inventory-slot:hover,
body.trade-active #tradePanel .trade-offer-slot:hover {
  border-color: #ffd06a !important;
  background: linear-gradient(145deg, rgba(254,119,0,.98), rgba(139,55,0,.96)) !important;
}

#inventory.inventory.game-panel {
  width: 550px !important;
  max-width: 550px !important;
  height: 350px !important;
  max-height: 350px !important;
}

#inventory #inventoryGrid.inventory-grid,
#inventory .inventory-grid.fancy-grid,
body.chest-open-v198 #inventory #inventoryGrid.inventory-grid,
body.chest-open-v198 #inventory .inventory-grid.fancy-grid {
  grid-template-columns: repeat(7, 50px) !important;
  grid-auto-rows: 50px !important;
  justify-content: center !important;
  align-content: start !important;
  gap: 7px !important;
}

#inventory .inventory-slot,
body.chest-open-v198 #inventory .inventory-slot {
  width: 50px !important;
  height: 50px !important;
}

#chestPanel.chest-panel.game-panel {
  width: 550px !important;
  max-width: 550px !important;
  height: 380px !important;
  max-height: 380px !important;
}

#chestPanel #chestGrid.inventory-grid,
#chestPanel .chest-grid.fancy-grid,
body.chest-open-v198 #chestPanel #chestGrid.inventory-grid,
body.chest-open-v198 #chestPanel .chest-grid.fancy-grid {
  grid-template-columns: repeat(6, 48px) !important;
  grid-auto-rows: 48px !important;
  justify-content: center !important;
  align-content: start !important;
  gap: 6px !important;
}

#chestPanel .inventory-slot,
body.chest-open-v198 #chestPanel .inventory-slot {
  width: 48px !important;
  height: 48px !important;
}

#chestPanel .chest-note,
body.chest-open-v198 #chestPanel .chest-note {
  display: block !important;
  margin: 7px 5px 0 !important;
  color: #ffe2a4 !important;
  font-size: 11px !important;
  line-height: 1.25 !important;
  text-align: center !important;
}

body.chest-open-v198 #inventory.inventory.game-panel {
  left: 94px !important;
  right: auto !important;
  top: 330px !important;
  height: 380px !important;
  max-height: 380px !important;
  transform: none !important;
  transform-origin: left top !important;
}

body.chest-open-v198 #chestPanel.chest-panel.game-panel {
  left: auto !important;
  right: 94px !important;
  top: 330px !important;
  transform: none !important;
  transform-origin: right top !important;
}

body.trade-active #tradePanel .trade-modern-offer {
  border-color: rgba(52,16,0,.98) !important;
  background: linear-gradient(180deg, rgba(88,34,0,.96), rgba(45,15,0,.97)) !important;
}

.auth-provider-mark {
  overflow: hidden !important;
  background: transparent !important;
}

.auth-provider-mark img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  border-radius: 10px !important;
  object-fit: contain !important;
}

#menuAccountAvatar.account-avatar-loaded {
  width: 76px !important;
  height: 76px !important;
  border: 2px solid rgba(255,255,255,.72) !important;
  border-radius: 18px !important;
  background: rgba(22,12,4,.55) !important;
  object-fit: cover !important;
  box-shadow: 0 3px 10px rgba(0,0,0,.38) !important;
}

@media (max-width: 1200px) and (min-width: 901px) {
  body.chest-open-v198 #inventory.inventory.game-panel,
  body.chest-open-v198 #chestPanel.chest-panel.game-panel {
    top: 300px !important;
    transform: scale(.86) !important;
  }
  body.chest-open-v198 #inventory.inventory.game-panel {
    left: 72px !important;
    transform-origin: left top !important;
  }
  body.chest-open-v198 #chestPanel.chest-panel.game-panel {
    right: 72px !important;
    transform-origin: right top !important;
  }
}

@media (max-width: 900px) {
  body.chest-open-v198 #inventory.inventory.game-panel,
  body.chest-open-v198 #chestPanel.chest-panel.game-panel {
    left: 16px !important;
    right: auto !important;
    width: calc(100vw - 32px) !important;
    max-width: calc(100vw - 32px) !important;
    height: 350px !important;
    transform: scale(.78) !important;
    transform-origin: left top !important;
  }
  body.chest-open-v198 #inventory.inventory.game-panel {
    top: 62px !important;
  }
  body.chest-open-v198 #chestPanel.chest-panel.game-panel {
    top: calc(50% + 22px) !important;
  }
}

/* v296 inventory fit: five rows stay fully inside the craft-sized frame. */
#inventory #inventoryGrid.inventory-grid,
#inventory .inventory-grid.fancy-grid,
body.chest-open-v198 #inventory #inventoryGrid.inventory-grid,
body.chest-open-v198 #inventory .inventory-grid.fancy-grid {
  grid-template-columns: repeat(7, 45px) !important;
  grid-auto-rows: 45px !important;
}

#inventory .inventory-slot,
body.chest-open-v198 #inventory .inventory-slot {
  width: 45px !important;
  height: 45px !important;
}

#inventory.inventory.game-panel,
body.trade-active #tradePanel.social-panel {
  height: 360px !important;
  max-height: 360px !important;
}

/* v297: Dynast-style inventory/chest/trade, translated to the craft-panel
   orange palette. This final block intentionally wins over all legacy skins. */
#inventory.inventory.game-panel,
#chestPanel.inventory.chest-panel.game-panel,
body.trade-active #inventory.inventory.game-panel,
body.trade-active #tradePanel.social-panel {
  box-sizing: border-box !important;
  padding: 9px !important;
  border: 4px solid #4b1a00 !important;
  border-radius: 15px !important;
  background:
    linear-gradient(180deg, rgba(255, 190, 91, .40) 0 3px, transparent 3px),
    linear-gradient(180deg, #ffad3f 0%, #fe7700 42%, #c94f00 100%) !important;
  color: #fff9df !important;
  box-shadow:
    0 6px 0 rgba(67, 21, 0, .62),
    0 18px 42px rgba(0, 0, 0, .34),
    inset 0 2px 0 rgba(255, 255, 255, .32) !important;
  opacity: .96 !important;
  overflow: visible !important;
}

#inventory.inventory.game-panel:hover,
#inventory.inventory.game-panel:focus-within,
#chestPanel.inventory.chest-panel.game-panel:hover,
#chestPanel.inventory.chest-panel.game-panel:focus-within,
body.trade-active #tradePanel.social-panel:hover,
body.trade-active #tradePanel.social-panel:focus-within {
  opacity: 1 !important;
}

#inventory.inventory.game-panel,
body.trade-active #inventory.inventory.game-panel {
  width: 550px !important;
  max-width: 550px !important;
  height: 440px !important;
  max-height: 440px !important;
}

#chestPanel.inventory.chest-panel.game-panel {
  width: 550px !important;
  max-width: 550px !important;
  height: 440px !important;
  max-height: 440px !important;
}

#inventory .inventory-shell,
#chestPanel .inventory-shell {
  box-sizing: border-box !important;
  display: flex !important;
  flex-direction: column !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  padding: 9px 11px 11px !important;
  border: 3px solid #6b2500 !important;
  border-radius: 10px !important;
  background: linear-gradient(180deg, rgba(174, 65, 0, .98), rgba(109, 34, 0, .98)) !important;
  box-shadow: inset 0 2px 0 rgba(255, 188, 89, .20) !important;
  overflow: hidden !important;
}

#inventory .inventory-header,
#chestPanel .inventory-header {
  box-sizing: border-box !important;
  display: flex !important;
  align-items: center !important;
  min-height: 49px !important;
  margin: 0 !important;
  padding: 1px 4px 7px !important;
  border: 0 !important;
  background: transparent !important;
}

#inventory .inventory-title,
#chestPanel .inventory-title {
  color: #fff !important;
  font-size: 25px !important;
  font-weight: 950 !important;
  line-height: 1 !important;
  letter-spacing: -.3px !important;
  text-shadow: 0 3px 0 rgba(77, 20, 0, .72), 0 0 10px rgba(255, 188, 78, .36) !important;
}

#inventory .inventory-title span,
#chestPanel .inventory-title span {
  display: inline-block !important;
  margin-left: 5px !important;
  padding: 4px 7px !important;
  border: 1px solid rgba(255, 226, 167, .42) !important;
  border-radius: 7px !important;
  background: rgba(88, 25, 0, .58) !important;
  color: #ffe8bc !important;
  font-size: 11px !important;
  vertical-align: middle !important;
  text-shadow: none !important;
}

#inventory .panel-close,
#chestPanel .panel-close,
body.trade-active #tradePanel .social-close {
  position: absolute !important;
  top: 15px !important;
  right: 15px !important;
  width: 39px !important;
  min-width: 39px !important;
  height: 39px !important;
  min-height: 39px !important;
  padding: 0 !important;
  border: 2px solid #6a2300 !important;
  border-radius: 8px !important;
  background: linear-gradient(180deg, #ffc663 0%, #f78712 52%, #c34c00 100%) !important;
  color: #fff7dc !important;
  font-size: 25px !important;
  line-height: 33px !important;
  text-shadow: 0 2px 0 rgba(82, 23, 0, .82) !important;
  box-shadow: 0 3px 0 rgba(72, 22, 0, .58), inset 0 1px 0 rgba(255, 255, 255, .36) !important;
}

#inventory #inventoryGrid.inventory-grid,
#inventory .inventory-grid.fancy-grid,
body.trade-active #inventory #inventoryGrid.inventory-grid,
body.trade-active #inventory .inventory-grid.fancy-grid {
  box-sizing: border-box !important;
  flex: 1 1 auto !important;
  display: grid !important;
  grid-template-columns: repeat(7, 58px) !important;
  grid-auto-rows: 58px !important;
  justify-content: center !important;
  align-content: center !important;
  gap: 10px !important;
  min-height: 0 !important;
  max-height: none !important;
  margin: 0 !important;
  padding: 10px !important;
  border: 2px solid rgba(89, 27, 0, .92) !important;
  border-radius: 10px !important;
  background: linear-gradient(180deg, rgba(139, 46, 0, .78), rgba(91, 27, 0, .82)) !important;
  overflow: hidden !important;
}

#inventory .inventory-slot,
body.trade-active #inventory .inventory-slot {
  box-sizing: border-box !important;
  width: 58px !important;
  min-width: 58px !important;
  height: 58px !important;
  min-height: 58px !important;
  padding: 2px !important;
  border: 2px solid #a44305 !important;
  border-radius: 11px !important;
  background: linear-gradient(145deg, #ffc066 0%, #ef8c27 55%, #d7660b 100%) !important;
  box-shadow: inset 0 2px 0 rgba(255, 244, 209, .30), 0 2px 0 rgba(71, 20, 0, .42) !important;
}

#chestPanel #chestGrid.inventory-grid,
#chestPanel .chest-grid.fancy-grid,
body.chest-open-v198 #chestPanel #chestGrid.inventory-grid,
body.chest-open-v198 #chestPanel .chest-grid.fancy-grid {
  box-sizing: border-box !important;
  flex: 1 1 auto !important;
  display: grid !important;
  grid-template-columns: repeat(6, 64px) !important;
  grid-auto-rows: 64px !important;
  justify-content: center !important;
  align-content: center !important;
  gap: 10px !important;
  min-height: 0 !important;
  max-height: none !important;
  margin: 0 !important;
  padding: 10px !important;
  border: 2px solid rgba(89, 27, 0, .92) !important;
  border-radius: 10px !important;
  background: linear-gradient(180deg, rgba(139, 46, 0, .78), rgba(91, 27, 0, .82)) !important;
  overflow: hidden !important;
}

#chestPanel .inventory-slot,
body.chest-open-v198 #chestPanel .inventory-slot {
  box-sizing: border-box !important;
  width: 64px !important;
  min-width: 64px !important;
  height: 64px !important;
  min-height: 64px !important;
  padding: 2px !important;
  border: 2px solid #a44305 !important;
  border-radius: 11px !important;
  background: linear-gradient(145deg, #ffc066 0%, #ef8c27 55%, #d7660b 100%) !important;
  box-shadow: inset 0 2px 0 rgba(255, 244, 209, .30), 0 2px 0 rgba(71, 20, 0, .42) !important;
}

#inventory .inventory-slot:hover,
#chestPanel .inventory-slot:hover,
#inventory .inventory-slot.selected,
#inventory .inventory-slot.picked,
#chestPanel .inventory-slot.selected,
#chestPanel .inventory-slot.picked {
  border-color: #fff0ae !important;
  background: linear-gradient(145deg, #ffd789 0%, #ffa130 55%, #e8710d 100%) !important;
  box-shadow: inset 0 0 0 2px rgba(255, 244, 188, .34), 0 0 12px rgba(255, 158, 39, .52) !important;
}

#inventory .inventory-slot .item-icon,
#chestPanel .inventory-slot .item-icon {
  width: calc(100% - 6px) !important;
  height: calc(100% - 6px) !important;
}

#chestPanel .chest-note,
body.chest-open-v198 #chestPanel .chest-note {
  display: none !important;
}

body.chest-open-v198 #inventory.inventory.game-panel {
  left: 72px !important;
  right: auto !important;
  top: 300px !important;
  width: 550px !important;
  height: 440px !important;
  max-height: 440px !important;
  transform: none !important;
  transform-origin: left top !important;
}

body.chest-open-v198 #chestPanel.inventory.chest-panel.game-panel {
  left: auto !important;
  right: 72px !important;
  top: 300px !important;
  width: 550px !important;
  height: 440px !important;
  max-height: 440px !important;
  transform: none !important;
  transform-origin: right top !important;
}

body.trade-active #inventory.inventory.game-panel {
  left: 72px !important;
  right: auto !important;
  top: 300px !important;
  transform: none !important;
  transform-origin: left top !important;
}

body.trade-active #tradePanel.social-panel {
  left: auto !important;
  right: 72px !important;
  top: 300px !important;
  width: 550px !important;
  max-width: 550px !important;
  height: 440px !important;
  min-height: 0 !important;
  max-height: 440px !important;
  transform: none !important;
  transform-origin: right top !important;
}

body.trade-active #tradePanel .social-head {
  box-sizing: border-box !important;
  min-height: 49px !important;
  margin: 0 49px 0 0 !important;
  padding: 5px 8px 7px !important;
  border: 0 !important;
  background: transparent !important;
}

body.trade-active #tradePanel .social-title {
  color: #fff !important;
  font-size: 25px !important;
  font-weight: 950 !important;
  text-shadow: 0 3px 0 rgba(77, 20, 0, .72), 0 0 10px rgba(255, 188, 78, .36) !important;
}

body.trade-active #tradePanel .social-body,
body.trade-active #tradePanel .ahardice-trade-body-v148 {
  box-sizing: border-box !important;
  height: calc(100% - 49px) !important;
  max-height: calc(100% - 49px) !important;
  padding: 10px !important;
  border: 3px solid #6b2500 !important;
  border-radius: 10px !important;
  background: linear-gradient(180deg, rgba(174, 65, 0, .98), rgba(109, 34, 0, .98)) !important;
  box-shadow: inset 0 2px 0 rgba(255, 188, 89, .20) !important;
  overflow: hidden !important;
}

body.trade-active #tradePanel .trade-modern {
  box-sizing: border-box !important;
  height: 100% !important;
  display: grid !important;
  grid-template-rows: minmax(0, 1fr) 48px !important;
  gap: 9px !important;
}

body.trade-active #tradePanel .trade-modern-offers {
  min-height: 0 !important;
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 9px !important;
  overflow: hidden !important;
}

body.trade-active #tradePanel .trade-modern-offer,
body.trade-active #tradePanel .trade-modern-offer.confirmed {
  box-sizing: border-box !important;
  min-width: 0 !important;
  height: 100% !important;
  padding: 8px !important;
  border: 2px solid #7b2b00 !important;
  border-radius: 10px !important;
  background: linear-gradient(180deg, #d95c00 0%, #9c3300 100%) !important;
  color: #fff8de !important;
  box-shadow: inset 0 2px 0 rgba(255, 190, 90, .16) !important;
  overflow: hidden !important;
}

body.trade-active #tradePanel .trade-modern-offer.confirmed {
  border-color: #ffd06f !important;
  box-shadow: inset 0 0 0 2px rgba(255, 196, 84, .25), 0 0 12px rgba(255, 143, 20, .38) !important;
}

body.trade-active #tradePanel .trade-offer-head {
  height: 22px !important;
  margin: 0 0 6px !important;
  color: #fff8dc !important;
  font-size: 14px !important;
  font-weight: 900 !important;
  text-align: center !important;
  text-shadow: 0 2px 0 rgba(75, 19, 0, .66) !important;
}

body.trade-active #tradePanel .trade-offer-grid {
  box-sizing: border-box !important;
  display: grid !important;
  grid-template-columns: repeat(5, 38px) !important;
  grid-auto-rows: 38px !important;
  justify-content: center !important;
  align-content: start !important;
  gap: 5px !important;
  padding: 6px !important;
  border: 2px solid rgba(91, 27, 0, .90) !important;
  border-radius: 9px !important;
  background: linear-gradient(180deg, rgba(119, 35, 0, .78), rgba(77, 21, 0, .82)) !important;
}

body.trade-active #tradePanel .trade-offer-slot,
body.trade-active #tradePanel .trade-offer-slot.empty,
body.trade-active #tradePanel .trade-offer-slot.filled,
body.trade-active #tradePanel .trade-offer-slot.can-place,
body.trade-active #tradePanel .trade-offer-slot.can-remove {
  box-sizing: border-box !important;
  width: 38px !important;
  min-width: 38px !important;
  height: 38px !important;
  min-height: 38px !important;
  padding: 1px !important;
  border: 2px solid #a44305 !important;
  border-radius: 8px !important;
  background: linear-gradient(145deg, #ffc066 0%, #ef8c27 55%, #d7660b 100%) !important;
  box-shadow: inset 0 1px 0 rgba(255, 244, 209, .28), 0 2px 0 rgba(71, 20, 0, .38) !important;
}

body.trade-active #tradePanel .trade-offer-slot:hover,
body.trade-active #tradePanel .trade-offer-slot.empty.can-place:hover,
body.trade-active #tradePanel .trade-offer-slot.filled.can-remove:hover {
  border-color: #fff0ae !important;
  background: linear-gradient(145deg, #ffd789 0%, #ffa130 55%, #e8710d 100%) !important;
}

body.trade-active #tradePanel .trade-return-chip {
  border-color: #6d2400 !important;
  background: linear-gradient(180deg, #ffb43f, #de6508) !important;
  color: #fff !important;
}

body.trade-active #tradePanel .trade-modern-controls {
  height: 48px !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 132px !important;
  gap: 9px !important;
  margin: 0 !important;
}

body.trade-active #tradePanel .trade-confirm-modern,
body.trade-active #tradePanel .trade-cancel-modern,
body.trade-active #tradePanel .trade-confirm-modern:hover,
body.trade-active #tradePanel .trade-cancel-modern:hover {
  min-height: 48px !important;
  height: 48px !important;
  padding: 7px 12px !important;
  border: 2px solid #6b2300 !important;
  border-radius: 9px !important;
  background: linear-gradient(180deg, #ffd06f 0%, #fe8b16 52%, #c94f00 100%) !important;
  color: #4a1700 !important;
  font-size: 14px !important;
  font-weight: 950 !important;
  text-shadow: 0 1px 0 rgba(255, 255, 255, .38) !important;
  box-shadow: 0 3px 0 rgba(68, 20, 0, .52), inset 0 1px 0 rgba(255, 255, 255, .34) !important;
}

@media (max-width: 1250px) and (min-width: 901px) {
  body.chest-open-v198 #inventory.inventory.game-panel,
  body.chest-open-v198 #chestPanel.inventory.chest-panel.game-panel,
  body.trade-active #inventory.inventory.game-panel,
  body.trade-active #tradePanel.social-panel {
    top: 280px !important;
    transform: scale(.82) !important;
  }
  body.chest-open-v198 #inventory.inventory.game-panel,
  body.trade-active #inventory.inventory.game-panel {
    left: 52px !important;
    transform-origin: left top !important;
  }
  body.chest-open-v198 #chestPanel.inventory.chest-panel.game-panel,
  body.trade-active #tradePanel.social-panel {
    right: 52px !important;
    transform-origin: right top !important;
  }
}

@media (max-width: 900px) {
  #inventory.inventory.game-panel,
  #chestPanel.inventory.chest-panel.game-panel,
  body.chest-open-v198 #inventory.inventory.game-panel,
  body.chest-open-v198 #chestPanel.inventory.chest-panel.game-panel,
  body.trade-active #inventory.inventory.game-panel,
  body.trade-active #tradePanel.social-panel {
    left: 16px !important;
    right: auto !important;
    width: calc(100vw - 32px) !important;
    max-width: 550px !important;
    height: 420px !important;
    max-height: 420px !important;
    transform: scale(.76) !important;
    transform-origin: left top !important;
  }
  body.chest-open-v198 #inventory.inventory.game-panel,
  body.trade-active #inventory.inventory.game-panel {
    top: 54px !important;
  }
  body.chest-open-v198 #chestPanel.inventory.chest-panel.game-panel,
  body.trade-active #tradePanel.social-panel {
    top: calc(50% + 18px) !important;
  }
}

/* v297 slot color lock: legacy icon-preservation rules use two IDs, so these
   selectors match their specificity without removing inline item images. */
#inventory.inventory.game-panel #inventoryGrid.inventory-grid .inventory-slot,
body.trade-active #inventory.inventory.game-panel #inventoryGrid.inventory-grid .inventory-slot,
#chestPanel.inventory.chest-panel.game-panel #chestGrid.inventory-grid .inventory-slot,
body.chest-open-v198 #chestPanel.inventory.chest-panel.game-panel #chestGrid.inventory-grid .inventory-slot {
  background-color: #ef8c27 !important;
  border-color: #a44305 !important;
}

#inventory.inventory.game-panel #inventoryGrid.inventory-grid .inventory-slot:not([style*="background-image"]),
body.trade-active #inventory.inventory.game-panel #inventoryGrid.inventory-grid .inventory-slot:not([style*="background-image"]),
#chestPanel.inventory.chest-panel.game-panel #chestGrid.inventory-grid .inventory-slot:not([style*="background-image"]),
body.chest-open-v198 #chestPanel.inventory.chest-panel.game-panel #chestGrid.inventory-grid .inventory-slot:not([style*="background-image"]) {
  background-image: linear-gradient(145deg, #ffc066 0%, #ef8c27 55%, #d7660b 100%) !important;
}

#chestPanel.inventory.chest-panel.game-panel #chestGrid.inventory-grid,
body.chest-open-v198 #chestPanel.inventory.chest-panel.game-panel #chestGrid.inventory-grid {
  grid-template-columns: repeat(6, 56px) !important;
  grid-auto-rows: 56px !important;
}

#chestPanel.inventory.chest-panel.game-panel #chestGrid.inventory-grid .inventory-slot,
body.chest-open-v198 #chestPanel.inventory.chest-panel.game-panel #chestGrid.inventory-grid .inventory-slot {
  width: 56px !important;
  min-width: 56px !important;
  height: 56px !important;
  min-height: 56px !important;
}

/* v298: final craft-gradient cleanup based on the in-game screenshots.
   Removes nested side gutters, restores slot gaps in chest mode, and removes
   every green trade layer including trade-stack-list. */
#inventory.inventory.game-panel,
#chestPanel.inventory.chest-panel.game-panel,
body.chest-open-v198 #inventory.inventory.game-panel,
body.chest-open-v198 #chestPanel.inventory.chest-panel.game-panel,
body.trade-active #inventory.inventory.game-panel,
body.trade-active #tradePanel.social-panel {
  border: 4px solid #3b1700 !important;
  border-radius: 17px !important;
  background: linear-gradient(180deg, #ffb14c 0%, #fe7700 46%, #b94b00 100%) !important;
  box-shadow:
    0 7px 0 rgba(56, 18, 0, .48),
    0 22px 52px rgba(0, 0, 0, .34),
    inset 0 2px 0 rgba(255, 255, 255, .26) !important;
}

#inventory.inventory.game-panel .inventory-shell,
#chestPanel.inventory.chest-panel.game-panel .inventory-shell,
body.chest-open-v198 #inventory.inventory.game-panel .inventory-shell,
body.chest-open-v198 #chestPanel.inventory.chest-panel.game-panel .inventory-shell,
body.trade-active #inventory.inventory.game-panel .inventory-shell {
  box-sizing: border-box !important;
  width: 100% !important;
  height: 100% !important;
  padding: 5px 7px 7px !important;
  border: 0 !important;
  border-radius: 11px !important;
  background: transparent !important;
  box-shadow: none !important;
  overflow: hidden !important;
}

#inventory.inventory.game-panel .inventory-header,
#chestPanel.inventory.chest-panel.game-panel .inventory-header,
body.chest-open-v198 #inventory.inventory.game-panel .inventory-header,
body.chest-open-v198 #chestPanel.inventory.chest-panel.game-panel .inventory-header {
  min-height: 51px !important;
  height: 51px !important;
  padding: 3px 8px 8px !important;
}

#inventory.inventory.game-panel .inventory-title,
#chestPanel.inventory.chest-panel.game-panel .inventory-title {
  font-size: 25px !important;
  color: #fff7d8 !important;
  text-shadow: 0 3px 0 rgba(60, 18, 0, .72), 0 0 12px rgba(255, 177, 76, .45) !important;
}

#inventory.inventory.game-panel #inventoryGrid.inventory-grid,
body.chest-open-v198 #inventory.inventory.game-panel #inventoryGrid.inventory-grid,
body.trade-active #inventory.inventory.game-panel #inventoryGrid.inventory-grid {
  box-sizing: border-box !important;
  flex: 1 1 auto !important;
  display: grid !important;
  grid-template-columns: repeat(7, 56px) !important;
  grid-auto-rows: 56px !important;
  justify-content: center !important;
  align-content: center !important;
  gap: 9px !important;
  width: 100% !important;
  min-height: 0 !important;
  max-height: none !important;
  margin: 0 !important;
  padding: 12px !important;
  border: 3px solid rgba(52, 16, 0, .98) !important;
  border-radius: 11px !important;
  background: linear-gradient(180deg, rgba(88, 34, 0, .96), rgba(45, 15, 0, .97)) !important;
  box-shadow: inset 0 2px 0 rgba(255, 167, 65, .10) !important;
  overflow: hidden !important;
}

#inventory.inventory.game-panel #inventoryGrid.inventory-grid .inventory-slot,
body.chest-open-v198 #inventory.inventory.game-panel #inventoryGrid.inventory-grid .inventory-slot,
body.trade-active #inventory.inventory.game-panel #inventoryGrid.inventory-grid .inventory-slot {
  box-sizing: border-box !important;
  width: 56px !important;
  min-width: 56px !important;
  height: 56px !important;
  min-height: 56px !important;
  border: 2px solid #9a3b02 !important;
  border-radius: 10px !important;
  background-color: #782700 !important;
  box-shadow: inset 0 1px 0 rgba(255, 174, 72, .18), 0 2px 0 rgba(27, 8, 0, .44) !important;
}

#inventory.inventory.game-panel #inventoryGrid.inventory-grid .inventory-slot:not([style*="background-image"]),
body.chest-open-v198 #inventory.inventory.game-panel #inventoryGrid.inventory-grid .inventory-slot:not([style*="background-image"]),
body.trade-active #inventory.inventory.game-panel #inventoryGrid.inventory-grid .inventory-slot:not([style*="background-image"]) {
  background-image: linear-gradient(145deg, #a94a08 0%, #7e2b00 58%, #5a1900 100%) !important;
}

#chestPanel.inventory.chest-panel.game-panel #chestGrid.inventory-grid,
body.chest-open-v198 #chestPanel.inventory.chest-panel.game-panel #chestGrid.inventory-grid {
  box-sizing: border-box !important;
  flex: 1 1 auto !important;
  display: grid !important;
  grid-template-columns: repeat(6, 58px) !important;
  grid-auto-rows: 58px !important;
  justify-content: center !important;
  align-content: center !important;
  gap: 9px !important;
  width: 100% !important;
  min-height: 0 !important;
  max-height: none !important;
  margin: 0 !important;
  padding: 12px !important;
  border: 3px solid rgba(52, 16, 0, .98) !important;
  border-radius: 11px !important;
  background: linear-gradient(180deg, rgba(88, 34, 0, .96), rgba(45, 15, 0, .97)) !important;
  box-shadow: inset 0 2px 0 rgba(255, 167, 65, .10) !important;
  overflow: hidden !important;
}

#chestPanel.inventory.chest-panel.game-panel #chestGrid.inventory-grid .inventory-slot,
body.chest-open-v198 #chestPanel.inventory.chest-panel.game-panel #chestGrid.inventory-grid .inventory-slot {
  box-sizing: border-box !important;
  width: 58px !important;
  min-width: 58px !important;
  height: 58px !important;
  min-height: 58px !important;
  border: 2px solid #9a3b02 !important;
  border-radius: 10px !important;
  background-color: #782700 !important;
  box-shadow: inset 0 1px 0 rgba(255, 174, 72, .18), 0 2px 0 rgba(27, 8, 0, .44) !important;
}

#chestPanel.inventory.chest-panel.game-panel #chestGrid.inventory-grid .inventory-slot:not([style*="background-image"]),
body.chest-open-v198 #chestPanel.inventory.chest-panel.game-panel #chestGrid.inventory-grid .inventory-slot:not([style*="background-image"]) {
  background-image: linear-gradient(145deg, #a94a08 0%, #7e2b00 58%, #5a1900 100%) !important;
}

#inventory.inventory.game-panel #inventoryGrid.inventory-grid .inventory-slot:hover,
#inventory.inventory.game-panel #inventoryGrid.inventory-grid .inventory-slot.selected,
#inventory.inventory.game-panel #inventoryGrid.inventory-grid .inventory-slot.picked,
#chestPanel.inventory.chest-panel.game-panel #chestGrid.inventory-grid .inventory-slot:hover,
#chestPanel.inventory.chest-panel.game-panel #chestGrid.inventory-grid .inventory-slot.selected,
#chestPanel.inventory.chest-panel.game-panel #chestGrid.inventory-grid .inventory-slot.picked {
  border-color: #ffd477 !important;
  background-color: #cf5d08 !important;
  background-image: linear-gradient(145deg, #f99728 0%, #c54f03 58%, #8a2b00 100%) !important;
  box-shadow: inset 0 0 0 2px rgba(255, 222, 143, .20), 0 0 11px rgba(255, 126, 20, .48) !important;
}

body.trade-active #tradePanel.social-panel .social-head {
  display: flex !important;
  align-items: center !important;
  min-height: 51px !important;
  height: 51px !important;
  margin: 0 49px 0 0 !important;
  padding: 3px 8px 8px !important;
}

body.trade-active #tradePanel.social-panel .social-title,
body.trade-active #tradePanel.social-panel .trade-modern-title {
  display: block !important;
  min-width: 0 !important;
  min-height: 0 !important;
  color: #fff7d8 !important;
  font-size: 25px !important;
  font-weight: 950 !important;
  text-shadow: 0 3px 0 rgba(60, 18, 0, .72), 0 0 12px rgba(255, 177, 76, .45) !important;
}

body.trade-active #tradePanel.social-panel .social-body,
body.trade-active #tradePanel.social-panel .ahardice-trade-body-v148 {
  box-sizing: border-box !important;
  height: calc(100% - 51px) !important;
  max-height: calc(100% - 51px) !important;
  padding: 9px !important;
  border: 3px solid rgba(52, 16, 0, .98) !important;
  border-radius: 11px !important;
  background: linear-gradient(180deg, rgba(88, 34, 0, .96), rgba(45, 15, 0, .97)) !important;
  box-shadow: inset 0 2px 0 rgba(255, 167, 65, .10) !important;
}

body.trade-active #tradePanel.social-panel .trade-modern-offer,
body.trade-active #tradePanel.social-panel .trade-modern-offer.confirmed {
  border: 2px solid #682000 !important;
  background: linear-gradient(180deg, #8d3000 0%, #551800 100%) !important;
  box-shadow: inset 0 1px 0 rgba(255, 151, 46, .14) !important;
}

body.trade-active #tradePanel.social-panel .trade-modern-offer.confirmed {
  border-color: #ffb342 !important;
  box-shadow: inset 0 0 0 2px rgba(255, 169, 58, .18), 0 0 10px rgba(255, 113, 13, .30) !important;
}

body.trade-active #tradePanel.social-panel .trade-stack-list,
body.trade-active #tradePanel.social-panel .trade-modern-offer .trade-stack-list,
body.trade-active #tradePanel.social-panel .trade-modern-offer.confirmed .trade-stack-list {
  box-sizing: border-box !important;
  min-height: 0 !important;
  height: auto !important;
  padding: 6px !important;
  border: 2px solid #481300 !important;
  border-radius: 9px !important;
  background: linear-gradient(180deg, #641d00 0%, #3d1000 100%) !important;
  color: #fff7d8 !important;
  box-shadow: none !important;
}

body.trade-active #tradePanel.social-panel .trade-offer-grid {
  border: 0 !important;
  background: transparent !important;
  padding: 2px !important;
}

body.trade-active #tradePanel.social-panel .trade-offer-slot,
body.trade-active #tradePanel.social-panel .trade-offer-slot.empty,
body.trade-active #tradePanel.social-panel .trade-offer-slot.filled,
body.trade-active #tradePanel.social-panel .trade-offer-slot.can-place,
body.trade-active #tradePanel.social-panel .trade-offer-slot.can-remove {
  border-color: #963802 !important;
  background: linear-gradient(145deg, #a94a08 0%, #762600 58%, #501500 100%) !important;
}

body.trade-active #tradePanel.social-panel .trade-confirm-modern,
body.trade-active #tradePanel.social-panel .trade-cancel-modern,
body.trade-active #tradePanel.social-panel .trade-confirm-modern:hover,
body.trade-active #tradePanel.social-panel .trade-cancel-modern:hover {
  border-color: #5d1d00 !important;
  background: linear-gradient(180deg, #ffd06a 0%, #fe7700 50%, #ae4400 100%) !important;
  color: #351100 !important;
}

/* v299: one canonical inventory component for standalone, chest and trade. */
#inventory.inventory.game-panel,
body.chest-open-v198 #inventory.inventory.game-panel,
body.trade-active #inventory.inventory.game-panel {
  box-sizing: border-box !important;
  width: 550px !important;
  max-width: 550px !important;
  height: 440px !important;
  max-height: 440px !important;
  padding: 9px !important;
  border: 4px solid #3b1700 !important;
  border-radius: 17px !important;
  background: linear-gradient(180deg, #ffb14c 0%, #fe7700 46%, #b94b00 100%) !important;
  box-shadow: 0 7px 0 rgba(56,18,0,.48), 0 22px 52px rgba(0,0,0,.34), inset 0 2px 0 rgba(255,255,255,.26) !important;
  overflow: visible !important;
  opacity: .97 !important;
}

#inventory.inventory.game-panel .inventory-shell,
body.chest-open-v198 #inventory.inventory.game-panel .inventory-shell,
body.trade-active #inventory.inventory.game-panel .inventory-shell {
  box-sizing: border-box !important;
  display: flex !important;
  flex-direction: column !important;
  width: 100% !important;
  height: 100% !important;
  padding: 5px 7px 7px !important;
  border: 0 !important;
  border-radius: 11px !important;
  background: transparent !important;
  box-shadow: none !important;
  overflow: hidden !important;
}

#inventory.inventory.game-panel .inventory-header,
body.chest-open-v198 #inventory.inventory.game-panel .inventory-header,
body.trade-active #inventory.inventory.game-panel .inventory-header {
  box-sizing: border-box !important;
  display: flex !important;
  align-items: center !important;
  min-height: 51px !important;
  height: 51px !important;
  margin: 0 !important;
  padding: 3px 8px 8px !important;
  border: 0 !important;
  background: transparent !important;
}

#inventory.inventory.game-panel #inventoryGrid.inventory-grid,
body.chest-open-v198 #inventory.inventory.game-panel #inventoryGrid.inventory-grid,
body.trade-active #inventory.inventory.game-panel #inventoryGrid.inventory-grid {
  box-sizing: border-box !important;
  flex: 1 1 auto !important;
  display: grid !important;
  grid-template-columns: repeat(7, 56px) !important;
  grid-auto-rows: 56px !important;
  justify-content: center !important;
  align-content: center !important;
  gap: 10px !important;
  width: 100% !important;
  min-height: 0 !important;
  max-height: none !important;
  margin: 0 !important;
  padding: 12px !important;
  border: 3px solid rgba(52,16,0,.98) !important;
  border-radius: 11px !important;
  background: linear-gradient(180deg, rgba(88,34,0,.96), rgba(45,15,0,.97)) !important;
  box-shadow: inset 0 2px 0 rgba(255,167,65,.10) !important;
  overflow: hidden !important;
}

#inventory.inventory.game-panel #inventoryGrid.inventory-grid .inventory-slot,
body.chest-open-v198 #inventory.inventory.game-panel #inventoryGrid.inventory-grid .inventory-slot,
body.trade-active #inventory.inventory.game-panel #inventoryGrid.inventory-grid .inventory-slot {
  box-sizing: border-box !important;
  width: 56px !important;
  min-width: 56px !important;
  height: 56px !important;
  min-height: 56px !important;
  padding: 2px !important;
  border: 2px solid #963802 !important;
  border-radius: 10px !important;
  background-color: #702300 !important;
  box-shadow: inset 0 1px 0 rgba(255,174,72,.16), 0 2px 0 rgba(27,8,0,.42) !important;
}

#inventory.inventory.game-panel #inventoryGrid.inventory-grid .inventory-slot:not([style*="background-image"]),
body.chest-open-v198 #inventory.inventory.game-panel #inventoryGrid.inventory-grid .inventory-slot:not([style*="background-image"]),
body.trade-active #inventory.inventory.game-panel #inventoryGrid.inventory-grid .inventory-slot:not([style*="background-image"]) {
  background-image: none !important;
  background-color: #7c2b00 !important;
}

/* Personal chest copies the canonical component; only width and 6x5 grid differ. */
#chestPanel.inventory.chest-panel.game-panel,
body.chest-open-v198 #chestPanel.inventory.chest-panel.game-panel {
  box-sizing: border-box !important;
  width: 500px !important;
  max-width: 500px !important;
  height: 440px !important;
  max-height: 440px !important;
  padding: 9px !important;
  border: 4px solid #3b1700 !important;
  border-radius: 17px !important;
  background: linear-gradient(180deg, #ffb14c 0%, #fe7700 46%, #b94b00 100%) !important;
  box-shadow: 0 7px 0 rgba(56,18,0,.48), 0 22px 52px rgba(0,0,0,.34), inset 0 2px 0 rgba(255,255,255,.26) !important;
  overflow: visible !important;
  opacity: .97 !important;
}

#chestPanel.inventory.chest-panel.game-panel .inventory-shell,
body.chest-open-v198 #chestPanel.inventory.chest-panel.game-panel .inventory-shell {
  box-sizing: border-box !important;
  display: flex !important;
  flex-direction: column !important;
  width: 100% !important;
  height: 100% !important;
  padding: 5px 7px 7px !important;
  border: 0 !important;
  border-radius: 11px !important;
  background: transparent !important;
  box-shadow: none !important;
  overflow: hidden !important;
}

#chestPanel.inventory.chest-panel.game-panel .inventory-header,
body.chest-open-v198 #chestPanel.inventory.chest-panel.game-panel .inventory-header {
  box-sizing: border-box !important;
  display: flex !important;
  align-items: center !important;
  min-height: 51px !important;
  height: 51px !important;
  margin: 0 !important;
  padding: 3px 8px 8px !important;
  border: 0 !important;
  background: transparent !important;
}

#chestPanel.inventory.chest-panel.game-panel #chestGrid.inventory-grid,
body.chest-open-v198 #chestPanel.inventory.chest-panel.game-panel #chestGrid.inventory-grid {
  box-sizing: border-box !important;
  flex: 1 1 auto !important;
  display: grid !important;
  grid-template-columns: repeat(6, 56px) !important;
  grid-auto-rows: 56px !important;
  justify-content: center !important;
  align-content: center !important;
  gap: 10px !important;
  width: 100% !important;
  min-height: 0 !important;
  max-height: none !important;
  margin: 0 !important;
  padding: 12px !important;
  border: 3px solid rgba(52,16,0,.98) !important;
  border-radius: 11px !important;
  background: linear-gradient(180deg, rgba(88,34,0,.96), rgba(45,15,0,.97)) !important;
  box-shadow: inset 0 2px 0 rgba(255,167,65,.10) !important;
  overflow: hidden !important;
}

#chestPanel.inventory.chest-panel.game-panel #chestGrid.inventory-grid .inventory-slot,
body.chest-open-v198 #chestPanel.inventory.chest-panel.game-panel #chestGrid.inventory-grid .inventory-slot {
  box-sizing: border-box !important;
  width: 56px !important;
  min-width: 56px !important;
  height: 56px !important;
  min-height: 56px !important;
  padding: 2px !important;
  border: 2px solid #963802 !important;
  border-radius: 10px !important;
  background-color: #702300 !important;
  box-shadow: inset 0 1px 0 rgba(255,174,72,.16), 0 2px 0 rgba(27,8,0,.42) !important;
}

#chestPanel.inventory.chest-panel.game-panel #chestGrid.inventory-grid .inventory-slot:not([style*="background-image"]),
body.chest-open-v198 #chestPanel.inventory.chest-panel.game-panel #chestGrid.inventory-grid .inventory-slot:not([style*="background-image"]) {
  background-image: none !important;
  background-color: #7c2b00 !important;
}

/* Reuse the craft panel close component everywhere requested. */
#inventory.inventory.game-panel .panel-close.floating-close,
#chestPanel.inventory.chest-panel.game-panel .panel-close.floating-close,
#tradePanel.trade-panel .panel-close.floating-close {
  position: absolute !important;
  right: 12px !important;
  top: 12px !important;
  z-index: 250 !important;
  display: grid !important;
  place-items: center !important;
  width: 32px !important;
  min-width: 32px !important;
  height: 32px !important;
  min-height: 32px !important;
  padding: 0 !important;
  border: 2px solid #1d3a12 !important;
  border-radius: 6px !important;
  background: linear-gradient(180deg, #97d66a, #5b9b34) !important;
  color: #fffbd0 !important;
  font-size: 30px !important;
  font-weight: 1000 !important;
  line-height: 1 !important;
  text-shadow: 0 2px 0 rgba(0,0,0,.45) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.28) !important;
}

body.chest-open-v198 #inventory.inventory.game-panel,
body.trade-active #inventory.inventory.game-panel {
  left: 94px !important;
  right: auto !important;
  top: 300px !important;
  transform: none !important;
  transform-origin: left top !important;
}

body.chest-open-v198 #chestPanel.inventory.chest-panel.game-panel {
  left: auto !important;
  right: 94px !important;
  top: 300px !important;
  transform: none !important;
  transform-origin: right top !important;
}

/* Trade color lock does not depend on body.trade-active. */
#tradePanel.trade-panel.social-panel {
  box-sizing: border-box !important;
  width: 550px !important;
  max-width: 550px !important;
  height: 440px !important;
  max-height: 440px !important;
  padding: 9px !important;
  border: 4px solid #3b1700 !important;
  border-radius: 17px !important;
  background: linear-gradient(180deg, #ffb14c 0%, #fe7700 46%, #b94b00 100%) !important;
  box-shadow: 0 7px 0 rgba(56,18,0,.48), 0 22px 52px rgba(0,0,0,.34), inset 0 2px 0 rgba(255,255,255,.26) !important;
}

body.trade-active #tradePanel.trade-panel.social-panel {
  left: auto !important;
  right: 94px !important;
  top: 300px !important;
  transform: none !important;
  transform-origin: right top !important;
}

#tradePanel.trade-panel .social-title,
#tradePanel.trade-panel .trade-modern-title {
  display: block !important;
  min-width: 0 !important;
  min-height: 0 !important;
  color: #fff7d8 !important;
  font-size: 25px !important;
  font-weight: 950 !important;
}

#tradePanel.trade-panel .social-body,
#tradePanel.trade-panel .ahardice-trade-body-v148 {
  box-sizing: border-box !important;
  height: calc(100% - 51px) !important;
  max-height: calc(100% - 51px) !important;
  padding: 9px !important;
  border: 3px solid rgba(52,16,0,.98) !important;
  border-radius: 11px !important;
  background: linear-gradient(180deg, rgba(88,34,0,.96), rgba(45,15,0,.97)) !important;
}

#tradePanel.trade-panel .trade-modern-offer,
#tradePanel.trade-panel .trade-modern-offer.confirmed,
#tradePanel.trade-panel .trade-stack-list,
#tradePanel.trade-panel .trade-modern-offer.confirmed .trade-stack-list {
  border-color: #5c1b00 !important;
  background: linear-gradient(180deg, #812a00 0%, #4a1300 100%) !important;
  color: #fff7d8 !important;
  box-shadow: none !important;
}

#tradePanel.trade-panel .trade-modern-offer.confirmed {
  border-color: #ffad38 !important;
  box-shadow: inset 0 0 0 2px rgba(255,169,58,.17), 0 0 9px rgba(255,113,13,.26) !important;
}

#tradePanel.trade-panel .trade-offer-grid {
  border-color: #451100 !important;
  background: #3d1000 !important;
}

#tradePanel.trade-panel .trade-offer-slot,
#tradePanel.trade-panel .trade-offer-slot.empty,
#tradePanel.trade-panel .trade-offer-slot.filled,
#tradePanel.trade-panel .trade-offer-slot.can-place,
#tradePanel.trade-panel .trade-offer-slot.can-remove {
  border-color: #8f3300 !important;
  background: #702300 !important;
  box-shadow: inset 0 1px 0 rgba(255,174,72,.14) !important;
}

#tradePanel.trade-panel .trade-confirm-modern,
#tradePanel.trade-panel .trade-cancel-modern,
#tradePanel.trade-panel .trade-modern-controls button,
#tradePanel.trade-panel .trade-confirm-modern:hover,
#tradePanel.trade-panel .trade-cancel-modern:hover {
  border-color: #5d1d00 !important;
  background: linear-gradient(180deg, #ffd06a 0%, #fe7700 50%, #ae4400 100%) !important;
  color: #351100 !important;
  box-shadow: 0 3px 0 rgba(68,20,0,.52), inset 0 1px 0 rgba(255,255,255,.34) !important;
}

@media (max-width: 1250px) and (min-width: 901px) {
  body.chest-open-v198 #inventory.inventory.game-panel,
  body.chest-open-v198 #chestPanel.inventory.chest-panel.game-panel,
  body.trade-active #inventory.inventory.game-panel,
  body.trade-active #tradePanel.trade-panel.social-panel {
    top: 280px !important;
    transform: scale(.82) !important;
  }
  body.chest-open-v198 #inventory.inventory.game-panel,
  body.trade-active #inventory.inventory.game-panel {
    left: 80px !important;
    transform-origin: left top !important;
  }
  body.chest-open-v198 #chestPanel.inventory.chest-panel.game-panel,
  body.trade-active #tradePanel.trade-panel.social-panel {
    right: 52px !important;
    transform-origin: right top !important;
  }
}

@media (max-width: 900px) {
  body.chest-open-v198 #inventory.inventory.game-panel,
  body.chest-open-v198 #chestPanel.inventory.chest-panel.game-panel,
  body.trade-active #inventory.inventory.game-panel,
  body.trade-active #tradePanel.trade-panel.social-panel {
    left: 76px !important;
    right: auto !important;
    top: 56px !important;
    transform: scale(.72) !important;
    transform-origin: left top !important;
  }
  body.chest-open-v198 #chestPanel.inventory.chest-panel.game-panel,
  body.trade-active #tradePanel.trade-panel.social-panel {
    top: calc(50% + 20px) !important;
  }
}

/* v300: keep both trade headings at the left edge in nearby and active states. */
#tradePanel.trade-panel.social-panel .social-head,
body.trade-active #tradePanel.trade-panel.social-panel .social-head {
  box-sizing: border-box !important;
  position: relative !important;
  display: flex !important;
  place-items: unset !important;
  align-items: center !important;
  justify-content: flex-start !important;
  width: auto !important;
  min-height: 51px !important;
  height: 51px !important;
  margin: 0 49px 0 0 !important;
  padding: 3px 8px 8px !important;
}

#tradePanel.trade-panel.social-panel .social-title,
body.trade-active #tradePanel.trade-panel.social-panel .social-title {
  display: block !important;
  flex: 0 1 auto !important;
  width: auto !important;
  margin: 0 auto 0 0 !important;
  text-align: left !important;
}

/* v301: separate effects and music controls in the compact settings panel. */
.settings-audio-v301 {
  box-sizing: border-box;
  min-height: 62px;
  padding: 9px 14px 10px 16px;
  display: grid;
  gap: 7px;
  border: 2px solid rgba(255,184,84,.18);
  border-radius: 9px;
  background: linear-gradient(180deg, rgba(111,43,3,.96), rgba(72,24,0,.98));
  color: #fff7cf;
  font-size: 15px;
  font-weight: 900;
}

.settings-audio-v301 > span {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.settings-audio-v301 output {
  min-width: 42px;
  color: #ffd06a;
  text-align: right;
  font-variant-numeric: tabular-nums;
}

.settings-audio-v301 input[type="range"] {
  width: 100%;
  height: 7px;
  margin: 0;
  accent-color: #78d936;
  cursor: pointer;
}

/* v307: Dynast-style vertical trade flow, kept in Ahardice's orange craft theme. */
body.trade-session-active #tradePanel.trade-panel.social-panel {
  left: auto !important;
  right: 94px !important;
  top: 50% !important;
  width: 400px !important;
  max-width: 400px !important;
  height: min(760px, calc(100vh - 72px)) !important;
  max-height: min(760px, calc(100vh - 72px)) !important;
  transform: translateY(-50%) !important;
  transform-origin: right center !important;
  overflow: hidden !important;
}

body.trade-session-active #tradePanel.trade-panel.social-panel .social-head {
  min-height: 51px !important;
  height: 51px !important;
}

body.trade-session-active #tradePanel.trade-panel.social-panel .social-body,
body.trade-session-active #tradePanel.trade-panel.social-panel .ahardice-trade-body-v148 {
  height: calc(100% - 51px) !important;
  max-height: calc(100% - 51px) !important;
  overflow: hidden !important;
}

body.trade-session-active #tradePanel.trade-panel.social-panel .trade-modern {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
}

body.trade-session-active #tradePanel.trade-panel.social-panel .trade-modern-offers {
  box-sizing: border-box !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  grid-template-rows: minmax(0, 1fr) 58px minmax(0, 1fr) !important;
  gap: 7px !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  overflow: hidden !important;
}

body.trade-session-active #tradePanel.trade-panel.social-panel .trade-modern-offer,
body.trade-session-active #tradePanel.trade-panel.social-panel .trade-modern-offer.confirmed {
  box-sizing: border-box !important;
  display: grid !important;
  grid-template-rows: 24px minmax(0, 1fr) !important;
  min-width: 0 !important;
  min-height: 0 !important;
  width: 100% !important;
  height: 100% !important;
  padding: 8px !important;
  overflow: hidden !important;
}

body.trade-session-active #tradePanel.trade-panel.social-panel .trade-offer-head {
  box-sizing: border-box !important;
  height: 24px !important;
  margin: 0 !important;
  color: #fff7d8 !important;
  font-size: 15px !important;
  line-height: 20px !important;
  text-align: left !important;
}

body.trade-session-active #tradePanel.trade-panel.social-panel .trade-stack-list {
  display: grid !important;
  place-items: center !important;
  min-width: 0 !important;
  min-height: 0 !important;
  height: 100% !important;
  overflow: hidden !important;
}

body.trade-session-active #tradePanel.trade-panel.social-panel .trade-offer-grid {
  box-sizing: border-box !important;
  display: grid !important;
  grid-template-columns: repeat(5, 50px) !important;
  grid-template-rows: repeat(4, 50px) !important;
  grid-auto-rows: 50px !important;
  gap: 7px !important;
  justify-content: center !important;
  align-content: center !important;
  width: max-content !important;
  max-width: 100% !important;
  padding: 7px !important;
}

body.trade-session-active #tradePanel.trade-panel.social-panel .trade-offer-slot,
body.trade-session-active #tradePanel.trade-panel.social-panel .trade-offer-slot.empty,
body.trade-session-active #tradePanel.trade-panel.social-panel .trade-offer-slot.filled {
  box-sizing: border-box !important;
  width: 50px !important;
  min-width: 50px !important;
  height: 50px !important;
  min-height: 50px !important;
  border-radius: 9px !important;
}

body.trade-session-active #tradePanel.trade-panel.social-panel .trade-modern-controls {
  box-sizing: border-box !important;
  display: grid !important;
  grid-template-columns: 48px minmax(0, 1fr) 48px !important;
  align-items: center !important;
  gap: 9px !important;
  min-width: 0 !important;
  min-height: 58px !important;
  margin: 0 !important;
  padding: 4px 8px !important;
  border: 2px solid #5c1b00 !important;
  border-radius: 10px !important;
  background: linear-gradient(180deg, #7e2900, #481200) !important;
}

body.trade-session-active #tradePanel.trade-panel.social-panel .trade-confirm-modern {
  box-sizing: border-box !important;
  width: 100% !important;
  min-width: 0 !important;
  min-height: 42px !important;
  padding: 7px 10px !important;
  border-radius: 10px !important;
  font-size: 16px !important;
  font-weight: 950 !important;
  cursor: pointer !important;
}

body.trade-session-active #tradePanel.trade-panel.social-panel .trade-confirm-modern:disabled {
  cursor: default !important;
  filter: saturate(.58) brightness(.82) !important;
}

body.trade-session-active #tradePanel.trade-panel.social-panel .trade-flow-arrow {
  display: block !important;
  justify-self: center !important;
  width: 24px !important;
  height: 24px !important;
  border-right: 7px solid #ffbc43 !important;
  border-bottom: 7px solid #ffbc43 !important;
  filter: drop-shadow(0 2px 0 rgba(56, 17, 0, .72)) !important;
}

body.trade-session-active #tradePanel.trade-panel.social-panel .trade-flow-arrow-up {
  transform: rotate(225deg) translate(-2px, -2px) !important;
}

body.trade-session-active #tradePanel.trade-panel.social-panel .trade-flow-arrow-down {
  transform: rotate(45deg) translate(-2px, -2px) !important;
}

/* Three ingredients already need the compact two-column recipe layout. */
#craftPanel .craft-ingredients.compact {
  max-height: 150px !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
}

@media (max-width: 1250px) and (min-width: 901px) {
  body.trade-session-active #tradePanel.trade-panel.social-panel {
    right: 52px !important;
    top: 50% !important;
    transform: translateY(-50%) scale(.82) !important;
    transform-origin: right center !important;
  }
}

@media (max-width: 900px) {
  body.trade-session-active #tradePanel.trade-panel.social-panel {
    left: 76px !important;
    right: auto !important;
    top: 50% !important;
    transform: translateY(-50%) scale(.68) !important;
    transform-origin: left center !important;
  }
}

@media (max-height: 820px) {
  body.trade-session-active #tradePanel.trade-panel.social-panel .trade-offer-grid {
    grid-template-columns: repeat(5, 42px) !important;
    grid-template-rows: repeat(4, 42px) !important;
    grid-auto-rows: 42px !important;
    gap: 5px !important;
    padding: 6px !important;
  }

  body.trade-session-active #tradePanel.trade-panel.social-panel .trade-offer-slot,
  body.trade-session-active #tradePanel.trade-panel.social-panel .trade-offer-slot.empty,
  body.trade-session-active #tradePanel.trade-panel.social-panel .trade-offer-slot.filled {
    width: 42px !important;
    min-width: 42px !important;
    height: 42px !important;
    min-height: 42px !important;
  }
}

/* v313: requested craft/build/shop/admin footprint. Keep this at the end of the file. */
#craftPanel.craft-panel.game-panel,
#buildPanel.craft-panel.game-panel,
#shopPanel.craft-panel.game-panel {
  box-sizing: border-box !important;
  width: 735px !important;
  max-width: 735px !important;
  height: 440px !important;
  max-height: 440px !important;
}

#craftPanel.craft-panel.game-panel,
#shopPanel.craft-panel.game-panel {
  left: 94px !important;
  right: auto !important;
}

#adminPanel.admin-panel {
  box-sizing: border-box !important;
  width: 735px !important;
  max-width: 735px !important;
  height: 440px !important;
  max-height: 440px !important;
  left: 94px !important;
  right: auto !important;
  top: 330px !important;
  bottom: auto !important;
  transform: none !important;
}

#buildPanel.craft-panel.game-panel {
  left: auto !important;
  right: 94px !important;
}

#craftPanel .craft-shell,
#buildPanel .craft-shell,
#shopPanel .craft-shell {
  height: 100% !important;
  grid-template-columns: 258px minmax(0, 1fr) !important;
}

.ahardice-main-menu.main-tab-shop .main-side-panel {
  box-sizing: border-box !important;
  width: 735px !important;
  max-width: 735px !important;
  height: 440px !important;
  max-height: 440px !important;
}

.build-soulstone-required {
  color: #ff2b2b !important;
  text-shadow: 0 2px 0 rgba(55, 0, 0, .75) !important;
}

#buildPanel .build-soulstone-required {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  width: 100% !important;
  margin: -2px auto 4px !important;
  font-size: 11px !important;
  font-weight: 950 !important;
  line-height: 18px !important;
}

.build-soulstone-required-icon {
  display: inline-block !important;
  width: 18px !important;
  height: 18px !important;
  flex: 0 0 18px !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  background-size: contain !important;
}

@media (max-width: 900px) {
  #craftPanel.craft-panel.game-panel,
  #buildPanel.craft-panel.game-panel,
  #shopPanel.craft-panel.game-panel,
  #adminPanel.admin-panel,
  .ahardice-main-menu.main-tab-shop .main-side-panel {
    width: calc(100vw - 48px) !important;
    max-width: calc(100vw - 48px) !important;
  }

  #craftPanel.craft-panel.game-panel,
  #shopPanel.craft-panel.game-panel,
  #adminPanel.admin-panel {
    left: 24px !important;
  }

  #buildPanel.craft-panel.game-panel {
    right: 24px !important;
  }
}

/* v318: exact craft/build/shop control sizes and connected Ahardice-style tabs. */
#craftPanel .craft-category-tabs,
#buildPanel .craft-category-tabs,
#shopPanel .craft-category-tabs {
  top: -78px !important;
  height: 78px !important;
  gap: 4px !important;
  align-items: flex-end !important;
  padding-bottom: 0 !important;
}

#craftPanel .craft-category-tab,
#buildPanel .craft-category-tab,
#shopPanel .craft-category-tab,
#craftPanel .craft-category-tab.icon-only,
#buildPanel .craft-category-tab.icon-only,
#shopPanel .craft-category-tab.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;
  padding: 7px 8px !important;
  gap: 4px !important;
  border-bottom-left-radius: 0 !important;
  border-bottom-right-radius: 0 !important;
}

#craftPanel .craft-category-tab .craft-category-icon,
#buildPanel .craft-category-tab .craft-category-icon,
#shopPanel .craft-category-tab .craft-category-icon {
  width: 36px !important;
  height: 36px !important;
  min-width: 36px !important;
  min-height: 36px !important;
}

#craftPanel .craft-category-tab span,
#buildPanel .craft-category-tab span,
#shopPanel .craft-category-tab span {
  max-width: 86px !important;
  font-size: 10px !important;
  line-height: 1.05 !important;
  white-space: normal !important;
  overflow: hidden !important;
  text-align: center !important;
}

#craftPanel .panel-close.floating-close,
#buildPanel .panel-close.floating-close,
#shopPanel .panel-close.floating-close {
  box-sizing: border-box !important;
  width: 34px !important;
  min-width: 34px !important;
  max-width: 34px !important;
  height: 34px !important;
  min-height: 34px !important;
  max-height: 34px !important;
  padding: 0 !important;
  line-height: 30px !important;
  font-size: 24px !important;
}

#craftPanel .craft-shell,
#buildPanel .craft-shell,
#shopPanel .craft-shell {
  grid-template-columns: 303px minmax(0, 1fr) !important;
}

#craftPanel .craft-list-wrap,
#buildPanel .craft-list-wrap,
#shopPanel .craft-list-wrap {
  width: 303px !important;
  min-width: 303px !important;
  max-width: 303px !important;
}

#craftPanel .craft-list,
#buildPanel .craft-list,
#shopPanel .craft-list {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

#craftPanel .craft-list-item,
#buildPanel .craft-list-item,
#shopPanel .craft-list-item {
  box-sizing: border-box !important;
  width: 303px !important;
  min-width: 303px !important;
  max-width: 303px !important;
  height: 39px !important;
  min-height: 39px !important;
  max-height: 39px !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-top: 4px !important;
  padding-bottom: 4px !important;
}

#craftPanel .craft-list-icon,
#buildPanel .craft-list-icon,
#shopPanel .craft-list-icon {
  width: 31px !important;
  height: 31px !important;
  min-width: 31px !important;
  min-height: 31px !important;
}

#craftPanel .craft-detail-card,
#buildPanel .craft-detail-card,
#shopPanel .craft-detail-card {
  align-items: center !important;
  justify-content: flex-start !important;
}

#craftPanel .craft-detail-head,
#buildPanel .craft-detail-head,
#shopPanel .craft-detail-head,
#craftPanel .craft-quantity-box {
  width: 337px !important;
  max-width: 337px !important;
  align-self: center !important;
}

#craftPanel .craft-recipe-box,
#buildPanel .craft-recipe-box,
#shopPanel .craft-recipe-box {
  box-sizing: border-box !important;
  flex: 0 0 113px !important;
  width: 337px !important;
  min-width: 337px !important;
  max-width: 337px !important;
  height: 113px !important;
  min-height: 113px !important;
  max-height: 113px !important;
  align-self: center !important;
  margin-left: auto !important;
  margin-right: auto !important;
  margin-top: 30px !important;
  justify-self: center !important;
  grid-template-columns: minmax(0, 1fr) 92px !important;
}

#craftPanel .craft-ingredients,
#buildPanel .craft-ingredients,
#shopPanel .craft-ingredients {
  width: 100% !important;
}

#craftPanel .craft-create-button,
#buildPanel .craft-create-button,
#shopPanel .craft-create-button,
#craftPanel button.craft-create-button,
#buildPanel button.craft-create-button,
#shopPanel button.craft-create-button {
  box-sizing: border-box !important;
  flex: 0 0 59px !important;
  width: 204px !important;
  min-width: 204px !important;
  max-width: 204px !important;
  height: 59px !important;
  min-height: 59px !important;
  max-height: 59px !important;
  align-self: center !important;
  margin-top: auto !important;
  margin-bottom: 12px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

#craftPanel .craft-ingredient,
#buildPanel .craft-ingredient,
#shopPanel .craft-ingredient,
#shopPanel .shop-coin-row {
  background: transparent !important;
  background-color: transparent !important;
  border-color: transparent !important;
  box-shadow: none !important;
}

#craftPanel .craft-ingredient-icon,
#buildPanel .craft-ingredient-icon,
#shopPanel .craft-ingredient-icon {
  border-color: transparent !important;
  box-shadow: none !important;
}

#craftPanel .craft-quantity-slider {
  border-radius: 999px !important;
  overflow: hidden !important;
}

#craftPanel .craft-quantity-slider::-webkit-slider-runnable-track {
  border-radius: 999px !important;
}

#craftPanel .craft-quantity-slider::-webkit-slider-thumb {
  border-radius: 999px !important;
}

/* v319: rounded recipe list scrollbar and centered structure-chest layout. */
#craftPanel .craft-list,
#buildPanel .craft-list,
#shopPanel .craft-list {
  scrollbar-color: #c8f55c transparent !important;
}

#craftPanel .craft-list::-webkit-scrollbar,
#buildPanel .craft-list::-webkit-scrollbar,
#shopPanel .craft-list::-webkit-scrollbar {
  width: 10px !important;
}

#craftPanel .craft-list::-webkit-scrollbar-track,
#buildPanel .craft-list::-webkit-scrollbar-track,
#shopPanel .craft-list::-webkit-scrollbar-track {
  background: transparent !important;
  border-radius: 999px !important;
}

#craftPanel .craft-list::-webkit-scrollbar-thumb,
#buildPanel .craft-list::-webkit-scrollbar-thumb,
#shopPanel .craft-list::-webkit-scrollbar-thumb {
  background: #c8f55c !important;
  border: 2px solid transparent !important;
  border-radius: 999px !important;
  background-clip: content-box !important;
}

.storagechest-panel-v319 {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: 100%;
}

.storagechest-grid-v319 {
  display: grid !important;
  grid-template-columns: repeat(6, 48px) !important;
  grid-auto-rows: 48px !important;
  gap: 7px !important;
  padding: 10px !important;
  margin: 0 auto !important;
}

.storagechest-slot-v319 {
  width: 48px !important;
  height: 48px !important;
  min-width: 48px !important;
  min-height: 48px !important;
}

.chest-actions-v325 {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  width: 100%;
  margin: 10px 0 8px;
}

.chest-bulk-button-v325 {
  box-sizing: border-box !important;
  position: relative !important;
  isolation: isolate !important;
  overflow: hidden !important;
  flex: 0 0 204px !important;
  width: 204px !important;
  min-width: 204px !important;
  max-width: 204px !important;
  height: 59px !important;
  min-height: 59px !important;
  max-height: 59px !important;
  padding: 0 12px !important;
  border-radius: 10px !important;
  background: linear-gradient(180deg, #d9ff75 0%, #75e92f 48%, #37a915 100%) !important;
  border: 2px solid #1d650d !important;
  color: #123500 !important;
  font: 1000 16px/1.05 var(--font-main) !important;
  text-shadow: 0 1px 0 rgba(255,255,255,.45) !important;
  box-shadow:
    0 5px 0 #1e6e0b,
    0 9px 15px rgba(0,0,0,.30),
    inset 0 2px 0 rgba(255,255,255,.42) !important;
  background-clip: padding-box !important;
}

.chest-bulk-button-v325:hover {
  filter: brightness(1.08);
}

#structurePanel.structure-panel.storagechest-modern-v325 {
  width: 492px !important;
  height: 476px !important;
  padding: 0 !important;
  border: 4px solid #3b1700 !important;
  border-radius: 17px !important;
  background: linear-gradient(180deg, #ffb14c 0%, #fe7700 46%, #b94b00 100%) !important;
  box-shadow:
    0 7px 0 rgba(56, 18, 0, .48),
    0 22px 52px rgba(0, 0, 0, .34),
    inset 0 2px 0 rgba(255, 255, 255, .26) !important;
}

#structurePanel.structure-panel.storagechest-modern-v325 .storagechest-shell-v325 {
  box-sizing: border-box !important;
  width: 100% !important;
  height: 100% !important;
  padding: 5px 7px 7px !important;
  border: 0 !important;
  border-radius: 11px !important;
  background: transparent !important;
  box-shadow: none !important;
  overflow: hidden !important;
}

#structurePanel.structure-panel.storagechest-modern-v325 .inventory-header {
  min-height: 51px !important;
  height: 51px !important;
  padding: 3px 8px 8px !important;
}

#structurePanel.structure-panel.storagechest-modern-v325 .inventory-title {
  color: #fff7d8 !important;
  font-size: 25px !important;
  text-shadow: 0 3px 0 rgba(60, 18, 0, .72), 0 0 12px rgba(255, 177, 76, .45) !important;
}

#structurePanel.structure-panel.storagechest-modern-v325 .storagechest-grid-v319 {
  box-sizing: border-box !important;
  display: grid !important;
  grid-template-columns: repeat(6, 58px) !important;
  grid-auto-rows: 58px !important;
  justify-content: center !important;
  align-content: center !important;
  gap: 9px !important;
  width: 100% !important;
  min-height: 0 !important;
  max-height: none !important;
  margin: 0 !important;
  padding: 12px !important;
  border: 3px solid rgba(52, 16, 0, .98) !important;
  border-radius: 11px !important;
  background: linear-gradient(180deg, rgba(88, 34, 0, .96), rgba(45, 15, 0, .97)) !important;
  box-shadow: inset 0 2px 0 rgba(255, 167, 65, .10) !important;
  overflow: hidden !important;
}

#structurePanel.structure-panel.storagechest-modern-v325 .storagechest-slot-v319 {
  box-sizing: border-box !important;
  width: 58px !important;
  min-width: 58px !important;
  height: 58px !important;
  min-height: 58px !important;
  border: 2px solid #9a3b02 !important;
  border-radius: 10px !important;
  background-color: #782700 !important;
  box-shadow: inset 0 1px 0 rgba(255, 174, 72, .18), 0 2px 0 rgba(27, 8, 0, .44) !important;
}

#structurePanel.structure-panel.storagechest-modern-v325 .storagechest-slot-v319:not([style*="background-image"]) {
  background-image: linear-gradient(145deg, #a94a08 0%, #7e2b00 58%, #5a1900 100%) !important;
}

#structurePanel.structure-panel.storagechest-modern-v325 .storagechest-slot-v319:hover,
#structurePanel.structure-panel.storagechest-modern-v325 .storagechest-slot-v319.selected,
#structurePanel.structure-panel.storagechest-modern-v325 .storagechest-slot-v319.picked {
  border-color: #ffd477 !important;
  background-color: #cf5d08 !important;
  background-image: linear-gradient(145deg, #f99728 0%, #c54f03 58%, #8a2b00 100%) !important;
  box-shadow: inset 0 0 0 2px rgba(255, 222, 143, .20), 0 0 11px rgba(255, 126, 20, .48) !important;
}

#structurePanel.structure-panel.storagechest-modern-v325 .storagechest-note-v325 {
  margin: 8px auto 0;
  max-width: 390px;
}

#chestPanel.inventory.chest-panel.game-panel,
body.chest-open-v198 #chestPanel.inventory.chest-panel.game-panel {
  height: 560px !important;
  max-height: 560px !important;
}

#structurePanel.structure-panel.storagechest-modern-v325 {
  height: 560px !important;
  max-height: 560px !important;
}

body.structure-storagechest-open-v325 #inventory.inventory.game-panel {
  left: 94px !important;
  right: auto !important;
  top: 300px !important;
  width: 550px !important;
  max-width: 550px !important;
  transform: none !important;
  transform-origin: left top !important;
}

body.structure-storagechest-open-v325 #structurePanel.structure-panel.storagechest-modern-v325 {
  left: auto !important;
  right: 94px !important;
  top: 300px !important;
  width: 500px !important;
  max-width: 500px !important;
  transform: none !important;
  transform-origin: right top !important;
}

@media (max-width: 1250px) and (min-width: 901px) {
  body.structure-storagechest-open-v325 #inventory.inventory.game-panel,
  body.structure-storagechest-open-v325 #structurePanel.structure-panel.storagechest-modern-v325 {
    top: 280px !important;
    transform: scale(.82) !important;
  }

  body.structure-storagechest-open-v325 #inventory.inventory.game-panel {
    left: 80px !important;
    right: auto !important;
    transform-origin: left top !important;
  }

  body.structure-storagechest-open-v325 #structurePanel.structure-panel.storagechest-modern-v325 {
    left: auto !important;
    right: 52px !important;
    transform-origin: right top !important;
  }
}

@media (max-width: 900px) {
  body.structure-storagechest-open-v325 #inventory.inventory.game-panel,
  body.structure-storagechest-open-v325 #structurePanel.structure-panel.storagechest-modern-v325 {
    left: 76px !important;
    right: auto !important;
    top: 56px !important;
    transform: scale(.72) !important;
    transform-origin: left top !important;
  }

  body.structure-storagechest-open-v325 #structurePanel.structure-panel.storagechest-modern-v325 {
    top: calc(50% + 20px) !important;
  }
}

/* v321: copy player id button; database-granted badge sizing lives below. */
.copy-player-id-button {
  margin: 3px 0 0 0;
  padding: 4px 8px;
  border-radius: 6px;
  background: rgba(255, 211, 106, 0.92);
  color: #171717;
  font-size: 11px;
  font-weight: 800;
  line-height: 1;
}

.copy-player-id-button.hidden {
  display: none !important;
}

.main-profile-badge-v139,
.ahardice-main-menu.main-tab-profile .main-profile-badge-v139 {
  width: 63px !important;
  height: 63px !important;
}

/* v326: main-menu account utilities. */
.main-account-bar .menu-buttons {
  flex-wrap: wrap;
  gap: 7px;
}

.menu-copy-account-id-v326,
.menu-toggle-badges-v326 {
  min-width: 118px;
  height: 30px;
  padding: 0 10px;
  border-radius: 7px;
  font-size: 12px;
  font-weight: 900;
  white-space: nowrap;
}

.menu-copy-account-id-v326.hidden,
.menu-toggle-badges-v326.hidden {
  display: none !important;
}

#craftPanel .craft-quantity-slider::-moz-range-track,
#craftPanel .craft-quantity-slider::-moz-range-progress,
#craftPanel .craft-quantity-slider::-moz-range-thumb {
  border-radius: 999px !important;
}

/* v325.6: narrower sharp catalog rows so right-side build limits stay readable. */
#craftPanel .craft-list-wrap,
#buildPanel .craft-list-wrap,
#shopPanel .craft-list-wrap {
  flex-basis: 274px !important;
  width: 274px !important;
  max-width: 274px !important;
}

#craftPanel .craft-list-item,
#buildPanel .craft-list-item,
#shopPanel .craft-list-item {
  box-sizing: border-box !important;
  width: 258px !important;
  max-width: 258px !important;
  padding-right: 46px !important;
  border-radius: 0 !important;
}

#buildPanel .build-limit-badge {
  right: 6px !important;
  min-width: 39px !important;
  text-align: right !important;
}

#craftPanel .craft-list-item.can-afford:not(.selected),
#buildPanel .craft-list-item.can-afford:not(.selected),
#shopPanel .craft-list-item.can-afford:not(.selected) {
  border-radius: 0 !important;
}

#craftPanel .craft-list-item.selected,
#buildPanel .craft-list-item.selected,
#shopPanel .craft-list-item.selected {
  border-radius: 0 !important;
}

/* v327.2: aligned build limits and sharp vertical scrollbars for item catalogs. */
#buildPanel .craft-list-item,
#buildPanel .craft-list-item.can-afford,
#buildPanel .craft-list-item.selected {
  grid-template-columns: 28px minmax(0, 1fr) 54px !important;
  column-gap: 6px !important;
  padding-right: 6px !important;
}

#buildPanel .build-limit-badge {
  position: static !important;
  justify-self: end !important;
  width: 54px !important;
  min-width: 54px !important;
  padding-left: 0 !important;
  text-align: right !important;
}

#craftPanel .craft-list::-webkit-scrollbar,
#buildPanel .craft-list::-webkit-scrollbar,
#shopPanel .craft-list::-webkit-scrollbar,
#craftPanel .craft-detail::-webkit-scrollbar,
#buildPanel .craft-detail::-webkit-scrollbar,
#shopPanel .craft-detail::-webkit-scrollbar {
  width: 10px !important;
}

#craftPanel .craft-list::-webkit-scrollbar-track,
#buildPanel .craft-list::-webkit-scrollbar-track,
#shopPanel .craft-list::-webkit-scrollbar-track,
#craftPanel .craft-detail::-webkit-scrollbar-track,
#buildPanel .craft-detail::-webkit-scrollbar-track,
#shopPanel .craft-detail::-webkit-scrollbar-track {
  border-radius: 0 !important;
  background: rgba(37, 13, 0, .55) !important;
}

#craftPanel .craft-list::-webkit-scrollbar-thumb,
#buildPanel .craft-list::-webkit-scrollbar-thumb,
#shopPanel .craft-list::-webkit-scrollbar-thumb,
#craftPanel .craft-detail::-webkit-scrollbar-thumb,
#buildPanel .craft-detail::-webkit-scrollbar-thumb,
#shopPanel .craft-detail::-webkit-scrollbar-thumb {
  border: 0 !important;
  border-radius: 0 !important;
  background: #c8f55c !important;
  background-clip: border-box !important;
}

#craftPanel .craft-list,
#buildPanel .craft-list,
#shopPanel .craft-list,
#craftPanel .craft-detail,
#buildPanel .craft-detail,
#shopPanel .craft-detail {
  scrollbar-color: #c8f55c rgba(37, 13, 0, .55) !important;
}

/* v327: drop/UI polish carried into v330. */
#buildPanel .craft-list-wrap {
  flex-basis: 252px !important;
  width: 252px !important;
  max-width: 252px !important;
}

#buildPanel .craft-list-item,
#buildPanel .craft-list-item.can-afford,
#buildPanel .craft-list-item.selected {
  width: 236px !important;
  max-width: 236px !important;
  grid-template-columns: 26px minmax(0, 1fr) 42px !important;
  column-gap: 5px !important;
  padding-right: 4px !important;
}

#buildPanel .build-limit-badge {
  width: 42px !important;
  min-width: 42px !important;
  font-size: 13px !important;
}

#craftPanel *::-webkit-scrollbar,
#buildPanel *::-webkit-scrollbar,
#shopPanel *::-webkit-scrollbar {
  width: 10px !important;
  border-radius: 0 !important;
}

#craftPanel *::-webkit-scrollbar-track,
#buildPanel *::-webkit-scrollbar-track,
#shopPanel *::-webkit-scrollbar-track,
#craftPanel *::-webkit-scrollbar-thumb,
#buildPanel *::-webkit-scrollbar-thumb,
#shopPanel *::-webkit-scrollbar-thumb {
  border-radius: 0 !important;
}

.menu-copy-account-id-v326,
.menu-toggle-badges-v326 {
  display: none !important;
}

.menu-id-copy-row {
  display: inline-flex !important;
  align-items: center;
  gap: 5px;
}

.copy-id-icon-button {
  position: relative;
  width: 22px;
  height: 22px;
  min-width: 22px;
  padding: 0;
  border: 2px solid rgba(255, 223, 116, .95);
  border-radius: 4px;
  background: linear-gradient(180deg, #ffe17a, #e18a10);
  box-shadow: 0 2px 0 rgba(72, 30, 0, .75), inset 0 1px 0 rgba(255,255,255,.35);
  background-image: url('/assets/icons/copy.png?v=344') !important;
  background-size: 15px 15px !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
}

.copy-id-icon-button::before,
.copy-id-icon-button::after {
  content: none !important;
  position: absolute;
  width: 8px;
  height: 10px;
  border: 2px solid #3b1b00;
  background: rgba(255, 245, 189, .75);
}

.copy-id-icon-button::before {
  left: 5px;
  top: 6px;
}

.copy-id-icon-button::after {
  left: 8px;
  top: 3px;
}

.copy-id-icon-button.hidden {
  display: none !important;
}

.settings-copy-id-v328 {
  margin-left: 6px;
}

.profile-toggle-badges-v328 {
  align-self: flex-start;
  margin: 0 0 8px;
  padding: 7px 12px;
  border-radius: 6px;
  border: 2px solid #3b1700;
  background: linear-gradient(180deg, #ffcf68, #e77700);
  color: #fff8d7;
  font-weight: 900;
  text-shadow: 0 2px 0 rgba(65, 22, 0, .6);
}

.copy-player-id-button {
  position: relative !important;
  width: 22px !important;
  height: 22px !important;
  min-width: 22px !important;
  padding: 0 !important;
  font-size: 0 !important;
  background-image: url('/assets/icons/copy.png?v=344') !important;
  background-size: 15px 15px !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
}

.copy-player-id-button::before,
.copy-player-id-button::after {
  content: none !important;
  position: absolute;
  width: 8px;
  height: 10px;
  border: 2px solid #3b1b00;
  background: rgba(255, 245, 189, .75);
}

.ahardice-text-logo {
  display: block;
  width: min(610px, 74vw);
  max-height: 122px;
  object-fit: contain;
  margin: 0 auto;
  filter: drop-shadow(0 9px 0 rgba(102, 36, 0, .38)) drop-shadow(0 18px 18px rgba(0, 0, 0, .25));
}

.copy-player-id-button::before {
  left: 5px;
  top: 6px;
}

.copy-player-id-button::after {
  left: 8px;
  top: 3px;
}

/* v331: main-menu/profile/build catalog polish. */
.ahardice-main-menu.main-tab-play .ahardice-center-card.login-card {
  top: 50% !important;
}

.ahardice-main-menu.main-tab-play .main-brand {
  gap: 4px !important;
  margin-bottom: 18px !important;
}

.ahardice-main-menu.main-tab-play .main-brand-logo {
  width: min(232px, 30vw) !important;
  max-height: 178px !important;
}

.ahardice-text-logo {
  width: min(560px, 66vw) !important;
  max-height: 112px !important;
  margin: -6px auto 0 !important;
}

.ahardice-main-menu.main-tab-play .center-play-form {
  margin-top: -2px !important;
}

.main-profile-stat-key-v331 {
  min-width: 0;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  overflow: hidden;
}

.main-profile-stat-key-v331 img {
  width: 24px;
  height: 24px;
  flex: 0 0 24px;
  object-fit: contain;
  image-rendering: auto;
  filter: drop-shadow(0 2px 0 rgba(0,0,0,.45));
}

.main-profile-stat-key-v331 em {
  min-width: 0;
  overflow: hidden;
  font-style: normal;
  text-overflow: ellipsis;
  white-space: nowrap;
}

#buildPanel .craft-list-wrap {
  flex-basis: 224px !important;
  width: 224px !important;
  max-width: 224px !important;
}

#buildPanel .craft-list-item,
#buildPanel .craft-list-item.can-afford,
#buildPanel .craft-list-item.selected {
  width: 208px !important;
  max-width: 208px !important;
  grid-template-columns: 25px minmax(0, 1fr) 54px !important;
  column-gap: 4px !important;
  padding-right: 4px !important;
}

#buildPanel .craft-list-name {
  font-size: 12px !important;
}

#buildPanel .build-limit-badge {
  width: 54px !important;
  min-width: 54px !important;
  font-size: 12px !important;
  letter-spacing: 0 !important;
}

#buildPanel .craft-category-tab .craft-category-icon {
  transform: translateY(0) !important;
}

/* v333: shop/build category tabs are icon-only and aligned with craft tabs. */
#shopPanel .craft-category-tab.icon-only,
#buildPanel .craft-category-tab.icon-only {
  justify-content: center !important;
  align-items: center !important;
}

#shopPanel .craft-category-tab.icon-only .craft-category-icon,
#buildPanel .craft-category-tab.icon-only .craft-category-icon {
  margin: 0 auto !important;
  transform: translateY(0) !important;
}

/* v334/v335: quieter item gain toasts and slightly sharper UI corners. */
#settingsPanel.settings-panel-v269,
#settingsPanel.settings-panel-v269 *,
#settingsPanel .settings-header-v269,
#settingsPanel .settings-icon-v269,
#settingsPanel .settings-close-v269,
#settingsPanel .settings-options-v269,
#settingsPanel .settings-option-v269,
#settingsPanel .settings-account-v270,
#settingsPanel .settings-audio-v301 {
  border-radius: 5px !important;
}

#settingsPanel.settings-panel-v269 {
  overflow: hidden !important;
}

#settingsPanel .settings-audio-v301 {
  overflow: hidden !important;
  padding-right: 12px !important;
}

#settingsPanel .settings-audio-v301 input[type="range"] {
  box-sizing: border-box !important;
  width: calc(100% - 6px) !important;
  max-width: calc(100% - 6px) !important;
  justify-self: center !important;
  display: block !important;
}

#settingsPanel .settings-audio-v301 input[type="range"]::-webkit-slider-runnable-track,
#settingsPanel .settings-audio-v301 input[type="range"]::-webkit-slider-thumb,
#settingsPanel .settings-audio-v301 input[type="range"]::-moz-range-track,
#settingsPanel .settings-audio-v301 input[type="range"]::-moz-range-thumb {
  border-radius: 2px !important;
}

#settingsPanel .settings-option-v269 i {
  border-radius: 999px !important;
}

#settingsPanel .settings-option-v269 i::after {
  border-radius: 50% !important;
}

.level-hud,
.level-hud-exp,
.level-hud-fill {
  border-radius: 4px !important;
}

.item-toast {
  border-radius: 4px !important;
  opacity: 0;
  transform: translateX(14px) scale(0.96);
  transition: opacity 180ms ease, transform 180ms ease;
  animation: none !important;
  will-change: opacity, transform;
}

.item-toast.visible {
  opacity: 1;
  transform: translateX(0) scale(1);
}

.item-toast.leaving {
  opacity: 0;
  transform: translateX(14px) scale(0.96);
}

.item-toast-icon {
  border-radius: 3px !important;
}

/* v339: build/shop detail cards need the same compact ingredient grid as craft. */
#buildPanel .craft-ingredients.compact,
#buildPanel .craft-ingredients.dense,
#buildPanel .craft-ingredients.ultra,
#shopPanel .craft-ingredients.compact,
#shopPanel .craft-ingredients.dense,
#shopPanel .craft-ingredients.ultra {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  align-content: start !important;
  gap: 6px 8px !important;
  max-height: 150px !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  padding-right: 3px !important;
}

#buildPanel .craft-ingredients.compact .craft-ingredient,
#buildPanel .craft-ingredients.dense .craft-ingredient,
#buildPanel .craft-ingredients.ultra .craft-ingredient,
#shopPanel .craft-ingredients.compact .craft-ingredient,
#shopPanel .craft-ingredients.dense .craft-ingredient,
#shopPanel .craft-ingredients.ultra .craft-ingredient {
  min-width: 0 !important;
  min-height: 31px !important;
  grid-template-columns: 29px minmax(0, 1fr) !important;
  gap: 6px !important;
}

#buildPanel .craft-ingredients.compact .craft-ingredient-icon,
#buildPanel .craft-ingredients.dense .craft-ingredient-icon,
#buildPanel .craft-ingredients.ultra .craft-ingredient-icon,
#shopPanel .craft-ingredients.compact .craft-ingredient-icon,
#shopPanel .craft-ingredients.dense .craft-ingredient-icon,
#shopPanel .craft-ingredients.ultra .craft-ingredient-icon {
  width: 29px !important;
  height: 29px !important;
}

#buildPanel .craft-ingredients.compact .craft-ingredient-text,
#buildPanel .craft-ingredients.dense .craft-ingredient-text,
#buildPanel .craft-ingredients.ultra .craft-ingredient-text,
#shopPanel .craft-ingredients.compact .craft-ingredient-text,
#shopPanel .craft-ingredients.dense .craft-ingredient-text,
#shopPanel .craft-ingredients.ultra .craft-ingredient-text {
  min-width: 0 !important;
  font-size: 10px !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

#hotbar .slot-count,
#inventory .slot-count,
#chestPanel .slot-count,
.equipment-slot .slot-count {
  width: max-content !important;
  max-width: none !important;
  overflow: visible !important;
  text-overflow: clip !important;
  white-space: nowrap !important;
}

/* v480: compact performance settings panel. */
#settingsPanel.settings-panel-v480 {
  width: min(560px, calc(100vw - 28px)) !important;
  max-height: min(720px, calc(100vh - 72px)) !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  padding: 16px !important;
  background: rgba(22, 25, 28, 0.97) !important;
  border: 1px solid rgba(126, 222, 166, 0.34) !important;
  box-shadow: 0 18px 46px rgba(0, 0, 0, 0.42), inset 0 1px 0 rgba(255, 255, 255, 0.08) !important;
}

#settingsPanel.settings-panel-v480 .settings-header-v269 {
  display: grid !important;
  grid-template-columns: 36px minmax(0, 1fr) !important;
  align-items: center !important;
  gap: 10px !important;
  min-height: 42px !important;
  padding: 6px 44px 10px 4px !important;
  color: #f4f7f1 !important;
}

#settingsPanel.settings-panel-v480 .settings-header-v269 b {
  min-width: 0 !important;
  font-size: 19px !important;
  line-height: 1.1 !important;
  letter-spacing: 0 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

#settingsPanel.settings-panel-v480 .settings-icon-v269 {
  width: 34px !important;
  height: 34px !important;
  display: grid !important;
  place-items: center !important;
  background: rgba(126, 222, 166, 0.12) !important;
  border: 1px solid rgba(126, 222, 166, 0.22) !important;
}

#settingsPanel.settings-panel-v480 .settings-options-v269 {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 9px !important;
  padding: 0 !important;
}

#settingsPanel.settings-panel-v480 .settings-section-v480 {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 8px !important;
  padding: 10px !important;
  background: rgba(255, 255, 255, 0.045) !important;
  border: 1px solid rgba(255, 255, 255, 0.10) !important;
  grid-column: 1 / -1 !important;
}

#settingsPanel.settings-panel-v480 .settings-section-title-v480 {
  grid-column: 1 / -1 !important;
  min-width: 0 !important;
  font-size: 11px !important;
  line-height: 1.1 !important;
  font-weight: 800 !important;
  letter-spacing: 0 !important;
  text-transform: uppercase !important;
  color: #7edfa6 !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 {
  min-height: 43px !important;
  padding: 9px 11px !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  align-items: center !important;
  gap: 10px !important;
  background: rgba(8, 10, 12, 0.34) !important;
  border: 1px solid rgba(255, 255, 255, 0.085) !important;
  color: #eef4ec !important;
}

#settingsPanel.settings-panel-v480 .settings-account-v270,
#settingsPanel.settings-panel-v480 .settings-audio-v301 {
  grid-column: 1 / -1 !important;
}

#settingsPanel.settings-panel-v480 .settings-section-v480 .settings-select-v480 {
  grid-column: 1 / -1 !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 {
  min-width: 0 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

#settingsPanel.settings-panel-v480 .settings-select-v480 select,
#settingsPanel.settings-panel-v480 .settings-select-v404 select {
  width: 160px !important;
  max-width: 38vw !important;
  height: 32px !important;
  padding: 0 30px 0 10px !important;
  color: #f7fbf2 !important;
  background: #252b30 !important;
  border: 1px solid rgba(126, 222, 166, 0.32) !important;
  outline: none !important;
}

#settingsPanel.settings-panel-v480 .settings-select-v480 select:focus,
#settingsPanel.settings-panel-v480 .settings-select-v404 select:focus {
  border-color: rgba(126, 222, 166, 0.78) !important;
  box-shadow: 0 0 0 2px rgba(126, 222, 166, 0.14) !important;
}

#settingsPanel.settings-panel-v480 .settings-option-v269 i {
  width: 43px !important;
  height: 24px !important;
  background: rgba(255, 255, 255, 0.14) !important;
  border: 1px solid rgba(255, 255, 255, 0.16) !important;
}

#settingsPanel.settings-panel-v480 .settings-option-v269 i::after {
  width: 18px !important;
  height: 18px !important;
  top: 2px !important;
  left: 2px !important;
  background: #d6ded4 !important;
}

#settingsPanel.settings-panel-v480 .settings-option-v269 input:checked + i {
  background: rgba(91, 190, 130, 0.84) !important;
  border-color: rgba(126, 222, 166, 0.92) !important;
}

#settingsPanel.settings-panel-v480 .settings-option-v269 input:checked + i::after {
  transform: translateX(19px) !important;
  background: #ffffff !important;
}

#settingsPanel.settings-panel-v480 .settings-audio-v301 {
  grid-template-columns: minmax(0, 1fr) minmax(180px, 48%) !important;
}

#settingsPanel.settings-panel-v480 .settings-audio-v301 input[type="range"] {
  width: 100% !important;
  max-width: 100% !important;
}

body.graphics-low-v480 .item-toast {
  transition-duration: 120ms !important;
}

/* v481: blue settings pass, no gradients. */
#settingsPanel.settings-panel-v480 {
  background: #081d34 !important;
  border-color: #3a9eef !important;
  box-shadow: 0 18px 46px rgba(0, 0, 0, 0.46), inset 0 1px 0 rgba(255, 255, 255, 0.08) !important;
}

#settingsPanel.settings-panel-v480 .settings-header-v269 {
  color: #eef7ff !important;
}

#settingsPanel.settings-panel-v480 .settings-icon-v269 {
  background: #0e2d4f !important;
  border-color: #2d85cf !important;
}

#settingsPanel.settings-panel-v480 .settings-section-v480 {
  background: #0b2948 !important;
  border-color: #255f96 !important;
}

#settingsPanel.settings-panel-v480 .settings-section-title-v480 {
  color: #6fc4ff !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 {
  background: #0a233d !important;
  border-color: #244f7a !important;
  color: #eef7ff !important;
}

#settingsPanel.settings-panel-v480 .settings-select-v480 select,
#settingsPanel.settings-panel-v480 .settings-select-v404 select {
  color: #f4faff !important;
  background: #102f50 !important;
  border-color: #3d94dc !important;
}

#settingsPanel.settings-panel-v480 .settings-select-v480 select:focus,
#settingsPanel.settings-panel-v480 .settings-select-v404 select:focus {
  border-color: rgba(117, 202, 255, 0.90) !important;
  box-shadow: 0 0 0 2px rgba(76, 170, 255, 0.18) !important;
}

#settingsPanel.settings-panel-v480 .settings-option-v269 input:checked + i {
  background: #2f93e6 !important;
  border-color: #78caff !important;
}

#settingsPanel.settings-panel-v480 .settings-close-v269 {
  background: #0f3a63 !important;
  border: 1px solid #3a9eef !important;
  color: #eef7ff !important;
}

#settingsPanel.settings-panel-v480 .settings-close-v269:hover {
  background: #155284 !important;
}

body.leaderboard-expanded-v480 #statsPanel {
  top: 380px !important;
}

.main-leaderboard-grid-v140 {
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)) !important;
}

.main-leaderboard-card-v140 {
  border-radius: 8px !important;
}

.main-leaderboard-row-v140 {
  border-radius: 8px !important;
}

.main-leaderboard-period-timer-v480 {
  margin: -2px 0 7px;
  color: rgba(220, 239, 255, 0.72);
  font-size: 11px;
  line-height: 1.2;
}

.main-leaderboard-rewards-v480 {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin: 0 0 8px;
}

.main-leaderboard-reward-chip-v480 {
  min-height: 26px;
  display: inline-grid;
  grid-template-columns: auto 18px auto;
  align-items: center;
  gap: 5px;
  padding: 4px 7px;
  border-radius: 6px;
  background: rgba(31, 76, 118, 0.42);
  border: 1px solid rgba(111, 196, 255, 0.22);
  color: #eaf6ff;
  font-size: 10px;
}

.main-leaderboard-reward-chip-v480 img,
.main-leaderboard-row-reward-v480 img {
  width: 18px;
  height: 18px;
  object-fit: contain;
}

.main-leaderboard-row-reward-v480 {
  display: inline-grid;
  grid-template-columns: 18px auto;
  align-items: center;
  gap: 4px;
  margin-top: 4px;
  color: #9ed7ff;
  font-size: 10px;
  white-space: nowrap;
}

@media (max-width: 520px) {
  #settingsPanel.settings-panel-v480 {
    width: calc(100vw - 18px) !important;
    max-height: calc(100vh - 58px) !important;
    padding: 10px !important;
  }

  #settingsPanel.settings-panel-v480 .settings-select-v480 select,
  #settingsPanel.settings-panel-v480 .settings-select-v404 select {
    width: 118px !important;
  }
}

@media (max-width: 700px) {
  #settingsPanel.settings-panel-v480 .settings-options-v269,
  #settingsPanel.settings-panel-v480 .settings-section-v480 {
    grid-template-columns: 1fr !important;
  }

  #settingsPanel.settings-panel-v480 .settings-audio-v301 {
    grid-template-columns: 1fr !important;
  }
}

/* v349: user-supplied Fredoka One includes both Latin and Cyrillic glyphs. */
@font-face {
  font-family: 'Ahardice Fredoka';
  src: url('../assets/fonts/fredoka-one.ttf?v=349') format('truetype');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

:root {
  --font-main: 'Ahardice Fredoka', sans-serif;
}

html,
body,
button,
input,
select,
textarea,
.game-panel,
.ahardice-main-menu,
.craft-panel,
.settings-panel-v269,
.leaderboard-panel {
  font-family: var(--font-main) !important;
}

body *,
body *::before,
body *::after {
  font-family: var(--font-main) !important;
}

.player-overlay,
.player-nameplate,
.player-nameplate *,
.item-toast,
.item-toast *,
.catalog-title,
.craft-detail-title,
.craft-ingredient-text,
.craft-ingredient-count,
.craft-ingredient-name,
.slot-count {
  font-family: var(--font-main) !important;
}

.player-nameplate {
  filter: none !important;
}

.player-nameplate .player-name {
  -webkit-text-stroke: 0 !important;
  text-shadow:
    0 1px 0 rgba(0, 0, 0, .85),
    0 2px 2px rgba(0, 0, 0, .58) !important;
  letter-spacing: 0 !important;
}

.player-nameplate.ally .player-name {
  text-shadow:
    0 1px 0 rgba(0, 0, 0, .85),
    0 2px 2px rgba(0, 0, 0, .58),
    0 0 8px rgba(95, 255, 95, .24) !important;
}

.nickname-color-row-v343 {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 44px;
  gap: 8px;
  align-items: center;
}

.ahardice-main-menu .login-card .nickname-color-row-v343 input {
  min-width: 0;
}

.nickname-color-button-v343,
.nickname-color-swatch-v343 {
  --nickname-color: #ffffff;
  width: 44px;
  height: 44px;
  border: 3px solid rgba(0, 0, 0, .78);
  border-radius: 8px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.28), rgba(0,0,0,.12)),
    var(--nickname-color);
  box-shadow:
    inset 0 2px 0 rgba(255,255,255,.28),
    0 3px 0 rgba(0,0,0,.28);
  cursor: pointer;
}

.nickname-color-palette-v343 {
  position: absolute;
  z-index: 80;
  right: 0;
  top: calc(100% + 8px);
  display: grid;
  grid-template-columns: repeat(3, 34px);
  gap: 7px;
  padding: 9px;
  border: 3px solid rgba(0,0,0,.82);
  border-radius: 8px;
  background: rgba(45, 16, 0, .96);
  box-shadow: 0 12px 28px rgba(0,0,0,.38);
}

.nickname-color-palette-v343.hidden {
  display: none !important;
}

.nickname-color-swatch-v343 {
  width: 34px;
  height: 34px;
  border-radius: 6px;
  padding: 0;
}

.nickname-color-swatch-v343.active {
  outline: 3px solid #fff4a8;
  outline-offset: 1px;
}

.player-nameplate .player-name {
  color: var(--player-name-color, #ffffff) !important;
}


/* v345: large ingredient amounts must always fit inside the recipe row. */
#craftPanel .craft-ingredient-text,
#buildPanel .craft-ingredient-text,
#shopPanel .craft-ingredient-text {
  min-width: 0 !important;
  max-width: 100% !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: clip !important;
  font-variant-numeric: tabular-nums;
}


/* v349: build catalog spacing. */
#buildPanel .craft-list-item,
#buildPanel .craft-list-item.can-afford,
#buildPanel .craft-list-item.selected {
  grid-template-columns: 25px minmax(0, 1fr) 48px !important;
  column-gap: 7px !important;
}

#buildPanel .craft-list-body {
  padding-left: 4px !important;
}

#buildPanel .build-limit-badge {
  width: 48px !important;
  min-width: 48px !important;
  transform: translateX(-7px) !important;
  justify-self: end !important;
}


/* v350: improve readability in crafting/build lists. */
/* Item names were 16px -> ~30% larger (21px). */
#craftPanel .craft-list-name,
#shopPanel .craft-list-name {
  font-size: 21px !important;
  line-height: 1.08 !important;
}

/* Build names had a compact 12px override -> ~30% larger (16px). */
#buildPanel .craft-list-name {
  font-size: 16px !important;
  line-height: 1.08 !important;
}

/* Move construction limits farther away from the scrollbar. */
#buildPanel .build-limit-badge {
  transform: translateX(-14px) !important;
}


/* v351: fine-tune list readability. */
#craftPanel .craft-list-name,
#shopPanel .craft-list-name {
  font-size: 19px !important;
  line-height: 1.08 !important;
}

/* Construction names use plain white like regular item names. */
#buildPanel .craft-list-name,
#buildPanel .craft-list-name.craft-name-gradient,
#buildPanel .craft-list-name .craft-name-gradient-char {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  background: none !important;
  background-image: none !important;
}


/* v354: player-facing statistics contain only useful gameplay metrics. */
.stats-panel-v354 {
  width: 322px !important;
  padding: 12px !important;
  overflow: visible !important;
}

.stats-panel-v354 .panel-title {
  margin: 0 0 10px !important;
  font-size: 15px !important;
  color: #ffffff !important;
}

.player-stats-grid-v354 {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  margin: 0;
  font-family: var(--font-main);
  white-space: normal;
}

.player-stat-card-v354 {
  min-width: 0;
  padding: 10px 11px 9px;
  border-radius: 11px;
  border: 1px solid rgba(255, 255, 255, 0.12);
  background: linear-gradient(180deg, rgba(65, 92, 50, 0.76), rgba(28, 48, 26, 0.88));
  box-shadow: inset 0 1px rgba(255,255,255,.06);
}

.player-stat-card-v354 > span {
  display: block;
  margin-bottom: 3px;
  font-size: 10px;
  line-height: 1;
  letter-spacing: .055em;
  color: rgba(226, 244, 213, .72);
}

.player-stat-card-v354 > b {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  font-size: 20px;
  line-height: 1.05;
  color: #ffffff;
  font-weight: 400;
}

.player-stat-card-v354 > b em {
  color: rgba(255,255,255,.58);
  font-size: .64em;
  font-style: normal;
}

.player-stat-card-v354 > small {
  display: block;
  margin-top: 4px;
  font-size: 10px;
  line-height: 1;
  color: rgba(220, 239, 210, .58);
}

.player-stat-card-v354.coordinates-v354 {
  grid-column: 1 / -1;
}

.player-stat-card-v354.coordinates-v354 > b {
  font-size: 17px;
  word-spacing: 4px;
}

.stats-loading-v354 {
  grid-column: 1 / -1;
  padding: 14px;
  text-align: center;
  color: rgba(255,255,255,.7);
}

/* Extended values remain available only in the admin panel. */
.admin-diagnostics-v354 {
  display: grid;
  gap: 10px;
}

.admin-diagnostics-grid-v354 {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 7px;
}

.admin-diagnostic-card-v354 {
  min-width: 0;
  padding: 8px 9px;
  border-radius: 9px;
  background: rgba(18, 30, 14, .72);
  border: 1px solid rgba(255,255,255,.10);
}

.admin-diagnostic-card-v354 span {
  display: block;
  color: rgba(255,255,255,.55);
  font-size: 10px;
}

.admin-diagnostic-card-v354 b {
  display: block;
  margin-top: 2px;
  overflow: hidden;
  text-overflow: ellipsis;
  color: #fff;
  font-size: 13px;
  font-weight: 400;
}

.admin-technical-v354 {
  margin: 0;
  padding: 10px;
  border-radius: 9px;
  background: rgba(8, 14, 7, .72);
  border: 1px solid rgba(255,255,255,.08);
  color: rgba(240, 247, 235, .78);
  font: 11px/1.45 var(--font-main);
  white-space: pre-wrap;
}


/* v355: compact player statistics. */
.stats-panel-v354 {
  width: 246px !important;
  padding: 9px 10px 10px !important;
  border-radius: 10px !important;
}

.stats-panel-v354 .panel-title {
  margin: 0 0 6px !important;
  font-size: 13px !important;
  line-height: 1 !important;
}

.player-stats-grid-v354 {
  display: block !important;
  margin: 0 !important;
}

.player-stats-compact-v355 {
  display: grid;
  gap: 2px;
  width: 100%;
}

.player-stat-line-v355 {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  min-height: 27px;
  padding: 3px 7px;
  border-radius: 6px;
  background: rgba(25, 43, 22, .64);
  border: 1px solid rgba(255,255,255,.055);
}

.player-stat-line-v355 > span {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: rgba(226, 241, 216, .72);
  font-size: 10px;
  line-height: 1;
  letter-spacing: .015em;
}

.player-stat-line-v355 > b {
  color: #fff;
  font-size: 14px;
  line-height: 1;
  font-weight: 400;
  white-space: nowrap;
}

.player-stat-line-v355 > b em {
  color: rgba(255,255,255,.55);
  font-size: 10px;
  font-style: normal;
}

.player-stat-line-v355 > small {
  grid-column: 1 / -1;
  margin-top: -1px;
  color: rgba(210, 230, 202, .50);
  font-size: 8px;
  line-height: 1;
  text-align: right;
}

.player-stat-line-v355.fps-potential-v355 {
  min-height: 31px;
}

.player-stat-line-v355.fps-potential-v355 > b {
  font-size: 17px;
}

.player-stat-line-v355.coordinates-v355 > b {
  font-size: 12px;
}

.player-stat-line-v355.coordinates-v355 > b em {
  margin-left: 6px;
  color: #fff;
  font-size: 12px;
}

/* Retire the large v354 card appearance if old nodes briefly survive a hot reload. */
.stats-panel-v354 .player-stat-card-v354 {
  padding: 5px 7px !important;
  min-height: 0 !important;
  border-radius: 6px !important;
}


/* v357: selected nickname colors override old relation-specific white/green rules. */
.player-nameplate.me .player-name,
.player-nameplate.enemy .player-name,
.player-nameplate.ally .player-name {
  color: var(--player-name-color, #ffffff) !important;
}

.leaderboard-row .leaderboard-name,
.leaderboard-row.me .leaderboard-name,
.leaderboard-row:not(.me) .leaderboard-name {
  color: var(--leaderboard-name-color, #ffffff) !important;
}


/* v404: clan list scrolling + leaderboard display selector */
#clanPanel .ahardice-clan-list-v148,
#clanPanel .ahardice-clan-list-v184 {
  overflow-y: auto !important;
  overflow-x: hidden !important;
  overscroll-behavior: contain !important;
  scroll-behavior: auto !important;
  touch-action: pan-y !important;
  scrollbar-gutter: stable !important;
  -webkit-overflow-scrolling: touch !important;
}

#settingsPanel .settings-select-v404 {
  min-height: 50px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 9px 12px;
  box-sizing: border-box;
  border-radius: 10px;
  background: rgba(26, 44, 18, .72);
  border: 2px solid rgba(10, 20, 7, .65);
  color: #fffbd0;
  font-weight: 800;
}
#settingsPanel .settings-select-v404 select {
  min-width: 142px;
  max-width: 52%;
  padding: 7px 28px 7px 9px;
  border-radius: 8px;
  border: 2px solid rgba(15, 24, 8, .85);
  background: #527932;
  color: #fffbd0;
  font: inherit;
  font-weight: 800;
  cursor: pointer;
}


/* v409: authoritative mob health bars */
.mob-health-v409 {
  position: fixed;
  width: 72px;
  height: 10px;
  z-index: 13;
  pointer-events: none;
  filter: drop-shadow(0 1px 2px rgba(0,0,0,0.7));
}
.mob-health-v409 > span {
  display: block;
  width: 100%;
  height: 7px;
  overflow: hidden;
  border-radius: 999px;
  background: rgba(0,0,0,0.65);
  border: 1px solid rgba(255,255,255,0.18);
  box-sizing: border-box;
}
.mob-health-v409 > span > i {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, #ff3434, #ff7a45);
}


/* v411: max-level and crown badge visuals. Pure UI; no permissions are attached. */
.level-hud-text.max-level-v411 {
  color: #ffd84d !important;
  text-shadow: 0 1px 3px rgba(0,0,0,.92), 0 0 10px rgba(255,216,77,.45) !important;
}
.main-profile-summary-tile-v139.max-level-v411 > b {
  color: #ffd84d !important;
  text-shadow: 0 1px 2px rgba(0,0,0,.8), 0 0 8px rgba(255,216,77,.35) !important;
}
.leaderboard-rank.crown-rank-v411,
.main-leaderboard-rank-v140.crown-rank-v411 {
  background: transparent !important;
  box-shadow: none !important;
  border-color: transparent !important;
}
.leaderboard-rank.crown-rank-v411 img {
  width: 21px;
  height: 21px;
  object-fit: contain;
  display: block;
  filter: drop-shadow(0 2px 2px rgba(0,0,0,.75));
}
.main-leaderboard-rank-v140.crown-rank-v411 img {
  width: 30px;
  height: 30px;
  object-fit: contain;
  display: block;
  margin: auto;
  filter: drop-shadow(0 2px 2px rgba(0,0,0,.75));
}
.player-clan-crown img {
  width: 21px !important;
  height: 21px !important;
  object-fit: contain !important;
  display: block !important;
  margin: 0 auto !important;
  filter: none !important;
}
.ahardice-clan-eye-v184.clan-owner-crown-v411 img {
  width: 34px !important;
  height: 34px !important;
  object-fit: contain !important;
  display: block !important;
  filter: none !important;
}
.clan-crown-inline-v411 {
  width: 16px;
  height: 16px;
  object-fit: contain;
  vertical-align: -3px;
  margin: 0 2px;
  filter: none !important;
}

/* v412: keep moving HUD overlays on the compositor. Content is diffed in
   client.js, while these nodes only receive translate3d/opacity per frame. */
.player-nameplate,
.player-bottom-hp,
.mob-health-v409,
.ally-tracker-v252,
.damage-number-player,
.miner-counter,
.fuel-counter-v198,
.repair-counter-v289 {
  will-change: transform, opacity;
  backface-visibility: hidden;
}
.player-bottom-hp,
.mob-health-v409,
.miner-counter,
.fuel-counter-v198,
.repair-counter-v289 {
  contain: layout style;
}


/* v418: server-synchronized day/night cycle. The night veil is rendered by .night-light-overlay. */
:root {
  --night-world-brightness: 0.76;
  --day-night-transition-ms: 18000ms;
}

#game {
  filter: none;
  transition: none;
  will-change: auto;
}

body.night-active #game {
  filter: none;
}

.day-night-timer {
  position: fixed;
  left: 50%;
  top: 47px;
  transform: translateX(-50%);
  z-index: 39;
  min-width: 150px;
  height: 28px;
  box-sizing: border-box;
  padding: 4px 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  border: 2px solid rgba(102, 55, 8, .92);
  border-radius: 0 0 12px 12px;
  background: linear-gradient(180deg, rgba(255, 199, 65, .95), rgba(181, 85, 8, .94));
  color: #fff8dc;
  font-size: 13px;
  font-weight: 950;
  line-height: 1;
  text-shadow: 0 1px 2px rgba(0,0,0,.55);
  box-shadow: 0 4px 10px rgba(0,0,0,.28);
  pointer-events: none;
  user-select: none;
}

.day-night-timer.night {
  border-color: rgba(34, 43, 86, .96);
  background: linear-gradient(180deg, rgba(69, 82, 145, .96), rgba(28, 35, 76, .96));
  color: #eef3ff;
}

.day-night-timer.hidden,
body:not(.game-started) .day-night-timer,
body.menu-open .day-night-timer {
  display: none !important;
}

.day-night-icon {
  width: 18px;
  text-align: center;
  font-size: 17px;
  line-height: 1;
}

/* Announcement sits below the coin balance + day/night clock instead of overlapping it. */
.server-state-banner {
  top: 82px;
}

@media (max-width: 760px) {
  .day-night-timer {
    top: 40px;
    min-width: 132px;
    height: 25px;
    padding: 3px 9px;
    font-size: 11px;
    gap: 5px;
  }
  .day-night-icon {
    width: 16px;
    font-size: 15px;
  }
}

@media (max-width: 600px) {
  .server-state-banner {
    top: 300px;
  }
}

/* v421: UI/chat/input/map corrections. */
/* Damage numbers are positioned by the 60 Hz world-overlay compositor. The old
   CSS transform animation overrode that translate3d and pinned numbers near 0,0. */
.damage-number-player {
  animation: none !important;
}

/* Standalone inventory now opens at the same anchor as the Craft panel. Chest,
   trade and structure layouts keep their dedicated side-by-side coordinates. */
body:not(.chest-open-v198):not(.trade-active):not(.structure-open-v241) #inventory.inventory.game-panel {
  left: 94px !important;
  right: auto !important;
  top: 330px !important;
  bottom: auto !important;
  transform: none !important;
  transform-origin: left top !important;
}

/* Craft and Shop item names use the same size as Build. */
#craftPanel .craft-list-name,
#shopPanel .craft-list-name,
#buildPanel .craft-list-name {
  font-size: 16px !important;
  line-height: 1.08 !important;
}

/* Player speech bubbles are +2px larger. */
.player-chat-bubble {
  font-size: 14px !important;
}

/* Keep the private-chest capacity label explicit and visible. */
#chestPanel .inventory-title > span {
  display: inline-block !important;
  visibility: visible !important;
  opacity: 1 !important;
}

@media (max-width: 1200px) and (min-width: 901px) {
  body:not(.chest-open-v198):not(.trade-active):not(.structure-open-v241) #inventory.inventory.game-panel {
    left: 72px !important;
    top: 300px !important;
  }
}

@media (max-width: 900px) {
  body:not(.chest-open-v198):not(.trade-active):not(.structure-open-v241) #inventory.inventory.game-panel {
    left: 24px !important;
    right: auto !important;
    top: 240px !important;
  }
}


/* v467: construction countdown centered over preconstruction.png. */
.construction-timer-v467 {
  position: fixed;
  z-index: 2140;
  min-width: 30px;
  height: 30px;
  padding: 0 5px;
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: center;
  pointer-events: none;
  user-select: none;
  color: #fff;
  font: 900 23px/1 "Ahardice Fredoka", "Trebuchet MS", Arial, sans-serif;
  letter-spacing: -0.5px;
  text-shadow: 0 2px 2px rgba(0,0,0,.95), 0 0 5px rgba(0,0,0,.9), 0 0 2px #000;
  filter: drop-shadow(0 1px 1px rgba(0,0,0,.55));
}


/* v468: construction-site countdown + smoke. */
.construction-visual-v468{
  position:fixed;
  width:66px;
  height:66px;
  z-index:7600;
  pointer-events:none;
  transform:translate3d(-9999px,-9999px,0);
  contain:layout style;
}
.construction-ring-v468{
  position:absolute;
  z-index:2;
  inset:7px;
  width:52px;
  height:52px;
  overflow:visible;
  filter:drop-shadow(0 1px 2px rgba(0,0,0,.85));
}
.construction-ring-bg-v468,.construction-ring-progress-v468{
  fill:rgba(0,0,0,.18);
  stroke-width:5;
}
.construction-ring-bg-v468{stroke:rgba(255,255,255,.22);}
.construction-ring-progress-v468{
  fill:transparent;
  stroke:#fff;
  stroke-linecap:round;
  transform-origin:24px 24px;
  transform:rotate(-90deg) scaleX(-1);
  transition:stroke-dashoffset 50ms linear;
}
.construction-seconds-v468{
  position:absolute;
  z-index:3;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#fff;
  font:900 22px/1 Arial,sans-serif;
  text-shadow:0 2px 3px #000,0 0 5px rgba(0,0,0,.95);
}
.construction-smoke-v468{
  position:absolute;
  left:50%;
  top:43%;
  width:1px;
  height:1px;
  z-index:1;
}
.construction-smoke-v468 i{
  position:absolute;
  width:17px;
  height:17px;
  margin:-8px;
  border-radius:50%;
  background:radial-gradient(circle at 42% 38%,rgba(255,255,255,.96),rgba(245,245,245,.72) 48%,rgba(230,230,230,0) 72%);
  opacity:0;
  animation:construction-smoke-rise-v468 1.28s ease-out infinite;
  filter:blur(.4px);
}
.construction-smoke-v468 i:nth-child(1){--sx:-16px;animation-delay:-.05s}
.construction-smoke-v468 i:nth-child(2){--sx:12px;animation-delay:-.27s}
.construction-smoke-v468 i:nth-child(3){--sx:-4px;animation-delay:-.49s}
.construction-smoke-v468 i:nth-child(4){--sx:20px;animation-delay:-.71s}
.construction-smoke-v468 i:nth-child(5){--sx:-20px;animation-delay:-.93s}
.construction-smoke-v468 i:nth-child(6){--sx:5px;animation-delay:-1.15s}
@keyframes construction-smoke-rise-v468{
  0%{transform:translate3d(var(--sx),12px,0) scale(.48);opacity:0}
  15%{opacity:.82}
  65%{opacity:.46}
  100%{transform:translate3d(var(--sx),-42px,0) scale(1.45);opacity:0}
}

/* v469: dedicated construction overlay; independent from player nameplate DOM. */
.construction-overlay-root-v469{
  position:fixed;
  inset:0;
  z-index:85;
  pointer-events:none;
  overflow:hidden;
}
body.menu-open #constructionOverlayV469,
body:not(.game-started) #constructionOverlayV469{display:none!important}
.construction-visual-v469{
  position:fixed;
  width:84px;
  height:84px;
  left:0;
  top:0;
  pointer-events:none;
  user-select:none;
  will-change:transform;
}
.construction-ring-v469{
  position:absolute;
  inset:7px;
  width:70px;
  height:70px;
  overflow:visible;
  z-index:3;
  filter:drop-shadow(0 2px 3px rgba(0,0,0,.9));
}
.construction-ring-bg-v469,
.construction-ring-progress-v469{
  fill:transparent;
  stroke-width:6;
}
.construction-ring-bg-v469{stroke:rgba(0,0,0,.48)}
.construction-ring-progress-v469{
  stroke:#fff;
  stroke-linecap:round;
  transform-origin:32px 32px;
  transform:rotate(-90deg) scaleX(-1);
}
.construction-seconds-v469{
  position:absolute;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  z-index:4;
  color:#fff;
  font:900 27px/1 Arial,sans-serif!important;
  -webkit-text-stroke:1.5px rgba(0,0,0,.75);
  text-shadow:0 2px 4px #000,0 0 7px rgba(0,0,0,.95);
}
.construction-smoke-v469{
  position:absolute;
  left:50%;
  top:56%;
  width:1px;
  height:1px;
  z-index:2;
}
.construction-smoke-v469 i{
  position:absolute;
  width:22px;
  height:22px;
  margin:-11px;
  border-radius:50%;
  opacity:0;
  background:radial-gradient(circle at 42% 38%,rgba(255,255,255,1),rgba(250,250,250,.82) 38%,rgba(230,230,230,.34) 66%,rgba(230,230,230,0) 76%);
  filter:blur(.35px);
  animation:construction-smoke-rise-v469 1.35s ease-out infinite;
}
.construction-smoke-v469 i:nth-child(1){--sx:-24px;animation-delay:-.05s}
.construction-smoke-v469 i:nth-child(2){--sx:18px;animation-delay:-.21s}
.construction-smoke-v469 i:nth-child(3){--sx:-8px;animation-delay:-.37s}
.construction-smoke-v469 i:nth-child(4){--sx:27px;animation-delay:-.53s}
.construction-smoke-v469 i:nth-child(5){--sx:-31px;animation-delay:-.69s}
.construction-smoke-v469 i:nth-child(6){--sx:7px;animation-delay:-.85s}
.construction-smoke-v469 i:nth-child(7){--sx:32px;animation-delay:-1.01s}
.construction-smoke-v469 i:nth-child(8){--sx:-15px;animation-delay:-1.17s}
@keyframes construction-smoke-rise-v469{
  0%{transform:translate3d(var(--sx),18px,0) scale(.45);opacity:0}
  12%{opacity:.9}
  58%{opacity:.62}
  100%{transform:translate3d(var(--sx),-58px,0) scale(1.65);opacity:0}
}


/* v470 construction visuals: block icon reveal clockwise, contained white/gray smoke */
.construction-overlay-root-v469{position:fixed;inset:0;pointer-events:none;z-index:7300;overflow:hidden}
.construction-visual-v470{position:absolute;width:54px;height:54px;pointer-events:none;overflow:hidden;border-radius:12px}
.construction-icon-frame-v470{position:absolute;left:50%;top:50%;width:30px;height:30px;transform:translate(-50%,-50%);border-radius:6px;background:rgba(18,18,20,.24);box-shadow:0 0 0 1px rgba(255,255,255,.18) inset,0 2px 6px rgba(0,0,0,.25);overflow:hidden}
.construction-icon-reveal-v470{position:absolute;inset:0;--build-progress:0;display:flex;align-items:center;justify-content:center;-webkit-mask-image:conic-gradient(from -90deg,#000 0deg,#000 calc(var(--build-progress)*360deg),transparent calc(var(--build-progress)*360deg),transparent 360deg);mask-image:conic-gradient(from -90deg,#000 0deg,#000 calc(var(--build-progress)*360deg),transparent calc(var(--build-progress)*360deg),transparent 360deg)}
.construction-icon-v470{width:100%;height:100%;object-fit:contain;image-rendering:auto;filter:drop-shadow(0 1px 1px rgba(0,0,0,.25))}
.construction-smoke-v470{position:absolute;left:5px;right:5px;top:4px;bottom:4px;overflow:hidden;border-radius:10px;pointer-events:none}
.construction-smoke-v470 i{position:absolute;left:50%;bottom:6px;width:18px;height:18px;margin-left:-9px;border-radius:50%;opacity:0;background:radial-gradient(circle at 35% 35%,rgba(255,255,255,.94) 0%,rgba(228,228,228,.86) 42%,rgba(168,168,168,.52) 70%,rgba(120,120,120,0) 100%);animation:constructionSmokeRiseV470 1.45s ease-in infinite;mix-blend-mode:screen}
.construction-smoke-v470 i:nth-child(1){--sx:-15px;--mx:-12px;--sy:-27px;animation-delay:-0.05s}
.construction-smoke-v470 i:nth-child(2){--sx:12px;--mx:9px;--sy:-30px;animation-delay:-0.28s}
.construction-smoke-v470 i:nth-child(3){--sx:-6px;--mx:3px;--sy:-24px;animation-delay:-0.51s}
.construction-smoke-v470 i:nth-child(4){--sx:18px;--mx:15px;--sy:-33px;animation-delay:-0.74s}
.construction-smoke-v470 i:nth-child(5){--sx:-19px;--mx:-9px;--sy:-29px;animation-delay:-0.97s}
.construction-smoke-v470 i:nth-child(6){--sx:2px;--mx:-2px;--sy:-31px;animation-delay:-1.20s}
@keyframes constructionSmokeRiseV470{0%{transform:translate(var(--sx),0) scale(.62);opacity:0}12%{opacity:.92}72%{opacity:.5}100%{transform:translate(var(--mx),var(--sy)) scale(1.65);opacity:0}}


/* v474-fix1: Discord community shortcut under Play. */
.main-discord-community-v474fix1{
  width:46px;
  height:46px;
  justify-self:center;
  display:grid;
  place-items:center;
  margin-top:2px;
  border-radius:12px;
  border:2px solid rgba(255,255,255,.22);
  background:rgba(38,44,78,.72);
  box-shadow:0 4px 0 rgba(0,0,0,.22), inset 0 1px 0 rgba(255,255,255,.12);
  transition:transform .12s ease, filter .12s ease, background .12s ease;
}
.main-discord-community-v474fix1:hover{
  transform:translateY(-2px) scale(1.04);
  filter:brightness(1.12);
  background:rgba(88,101,242,.86);
}
.main-discord-community-v474fix1 img{
  width:30px;
  height:30px;
  object-fit:contain;
  pointer-events:none;
}

/* v474-fix1: per-badge visibility controls in the profile. */
.profile-badge-hide-hint-v474fix1{
  margin:-2px 0 9px;
  color:rgba(255,255,255,.68);
  font-size:11px;
  font-weight:800;
  line-height:1.25;
}
.profile-badge-toggle-v474fix1{
  position:relative;
  padding:0;
  cursor:pointer;
  overflow:hidden;
  appearance:none;
  -webkit-appearance:none;
}
.profile-badge-toggle-v474fix1.badge-hidden-v474fix1{
  opacity:.42;
  filter:grayscale(.65);
}
.profile-badge-hover-action-v474fix1{
  position:absolute;
  inset:0;
  display:grid;
  place-items:center;
  padding:2px;
  background:rgba(0,0,0,.76);
  color:#fff;
  font-size:9px;
  font-weight:950;
  opacity:0;
  transition:opacity .12s ease;
  pointer-events:none;
  text-shadow:0 1px 2px #000;
}
.profile-badge-toggle-v474fix1:hover .profile-badge-hover-action-v474fix1,
.profile-badge-toggle-v474fix1:focus-visible .profile-badge-hover-action-v474fix1{
  opacity:1;
}

/* v499: chat readability and label layering fixes. */
.chat-box,
.chat-box * {
  font-family: Arial, Helvetica, sans-serif !important;
}

.chat-box {
  width: 390px !important;
  max-width: min(390px, calc(100vw - 24px)) !important;
  z-index: 7800 !important;
}

.chat-box.chat-open {
  max-height: 235px !important;
}

.chat-messages {
  max-height: 188px !important;
}

.chat-line,
.chat-text,
.chat-input {
  font-weight: 400 !important;
  letter-spacing: 0 !important;
}

.miner-counter,
.fuel-counter-v198,
.repair-counter-v289 {
  z-index: 2100 !important;
}

/* v487: phone playability pass for iOS/Android. */
:root {
  --mobile-vh-v487: 100vh;
  --safe-top-v487: env(safe-area-inset-top, 0px);
  --safe-right-v487: env(safe-area-inset-right, 0px);
  --safe-bottom-v487: env(safe-area-inset-bottom, 0px);
  --safe-left-v487: env(safe-area-inset-left, 0px);
}

html,
body {
  overscroll-behavior: none;
}

#game {
  touch-action: none;
  -webkit-user-select: none;
  user-select: none;
  -webkit-touch-callout: none;
}

button,
.hotbar-slot,
.inventory-slot,
.dock-button {
  -webkit-tap-highlight-color: transparent;
  touch-action: manipulation;
}

.mobile-controls-v487 {
  display: none;
  position: fixed;
  inset: 0;
  z-index: 3200;
  pointer-events: none;
  user-select: none;
  -webkit-user-select: none;
  -webkit-touch-callout: none;
  touch-action: none;
  contain: layout style;
}

.mobile-controls-v487.hidden,
body.menu-open .mobile-controls-v487,
body:not(.game-started) .mobile-controls-v487,
body.player-dead-v178 .mobile-controls-v487,
body.assets-loading .mobile-controls-v487 {
  display: none !important;
}

.mobile-joystick-v487,
.mobile-actions-v487 button {
  pointer-events: auto;
  touch-action: none;
}

.mobile-joystick-v487 {
  position: absolute;
  left: calc(16px + var(--safe-left-v487));
  bottom: calc(82px + var(--safe-bottom-v487));
  width: 126px;
  height: 126px;
  border-radius: 50%;
  background: rgba(7, 31, 55, .64);
  border: 2px solid rgba(112, 196, 255, .78);
  box-shadow: 0 6px 0 rgba(0,0,0,.28), inset 0 0 0 1px rgba(255,255,255,.10);
}

.mobile-joystick-v487::before {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  width: 52px;
  height: 52px;
  transform: translate(-50%, -50%);
  border-radius: 50%;
  border: 1px solid rgba(187, 226, 255, .34);
}

.mobile-joystick-knob-v487 {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 54px;
  height: 54px;
  transform: translate3d(-50%, -50%, 0);
  border-radius: 50%;
  background: #69bfff;
  border: 2px solid #d7f0ff;
  box-shadow: 0 5px 0 rgba(0,0,0,.26), 0 8px 14px rgba(0,0,0,.28);
  will-change: transform;
}

.mobile-joystick-v487.active {
  background: rgba(10, 48, 86, .74);
  border-color: rgba(148, 217, 255, .95);
}

.mobile-actions-v487 {
  position: absolute;
  right: calc(14px + var(--safe-right-v487));
  bottom: calc(78px + var(--safe-bottom-v487));
  display: grid;
  grid-template-columns: 56px 96px;
  align-items: end;
  gap: 10px;
  pointer-events: none;
}

.mobile-utility-v487 {
  display: grid;
  gap: 8px;
  pointer-events: none;
}

.mobile-actions-v487 button {
  margin: 0;
  padding: 0;
  display: grid;
  place-items: center;
  border: 2px solid rgba(255,255,255,.26);
  color: #ffffff;
  text-shadow: 0 1px 2px rgba(0,0,0,.72);
  box-shadow: 0 6px 0 rgba(0,0,0,.30), inset 0 1px 0 rgba(255,255,255,.16);
  font-family: var(--font-main) !important;
  font-weight: 950;
}

.mobile-interact-v487,
.mobile-drop-v487 {
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background: #0d4777;
  font-size: 22px;
}

.mobile-drop-v487 {
  background: #204567;
}

.mobile-chat-v487 {
  width: 56px;
  height: 44px;
  border-radius: 12px;
  background: #165d8f;
  font-size: 13px;
  line-height: 1;
}

.mobile-attack-v487 {
  width: 96px;
  height: 96px;
  border-radius: 50%;
  background: #b53935;
  font-size: 17px;
}

.mobile-actions-v487 button:active,
.mobile-actions-v487 button.active {
  transform: translateY(3px);
  box-shadow: 0 3px 0 rgba(0,0,0,.30), inset 0 1px 0 rgba(255,255,255,.14);
  filter: brightness(1.08);
}

@media (hover: none), (pointer: coarse), (max-width: 840px) {
  body.game-started:not(.menu-open):not(.player-dead-v178):not(.assets-loading) .mobile-controls-v487:not(.hidden) {
    display: block;
  }

  html,
  body {
    width: 100%;
    height: var(--mobile-vh-v487, 100vh);
    overflow: hidden;
    touch-action: none;
  }

  #game {
    position: fixed;
    inset: 0;
    width: 100vw;
    height: var(--mobile-vh-v487, 100vh);
  }

  .minimap {
    left: calc(8px + var(--safe-left-v487)) !important;
    top: calc(8px + var(--safe-top-v487)) !important;
    width: 136px !important;
    padding: 5px !important;
  }

  #minimapCanvas {
    width: 124px !important;
    height: 124px !important;
  }

  .leaderboard-panel {
    right: calc(8px + var(--safe-right-v487)) !important;
    top: calc(8px + var(--safe-top-v487)) !important;
    width: min(176px, calc(100vw - 176px)) !important;
    padding: 7px !important;
    border-width: 3px !important;
  }

  .leaderboard-title {
    margin-bottom: 5px !important;
    font-size: 12px !important;
  }

  .leaderboard-list {
    gap: 3px !important;
  }

  .leaderboard-row {
    min-height: 26px !important;
    grid-template-columns: 22px minmax(0, 1fr) !important;
    gap: 5px !important;
    padding: 3px 5px !important;
  }

  .leaderboard-rank {
    width: 20px !important;
    min-width: 20px !important;
    font-size: 10px !important;
  }

  .leaderboard-name {
    font-size: 10px !important;
  }

  .leaderboard-meta {
    font-size: 9px !important;
  }

  .day-night-timer {
    top: calc(38px + var(--safe-top-v487)) !important;
  }

  .server-state-banner {
    top: calc(166px + var(--safe-top-v487)) !important;
    left: 50% !important;
    right: auto !important;
    transform: translateX(-50%) !important;
    width: min(320px, calc(100vw - 24px)) !important;
  }

  #hotbar.hotbar {
    left: 50% !important;
    bottom: calc(7px + var(--safe-bottom-v487)) !important;
    width: min(480px, calc(100vw - 14px - var(--safe-left-v487) - var(--safe-right-v487))) !important;
    grid-template-columns: repeat(10, minmax(0, 1fr)) !important;
    gap: 4px !important;
    transform: translateX(-50%) !important;
    z-index: 3300 !important;
  }

  #hotbar .hotbar-slot {
    width: auto !important;
    height: auto !important;
    min-width: 0 !important;
    aspect-ratio: 1 / 1 !important;
    border-radius: 5px !important;
    background-size: 76% !important;
  }

  #equipmentSlots.equipment-slots {
    left: auto !important;
    right: calc(14px + var(--safe-right-v487)) !important;
    bottom: calc(264px + var(--safe-bottom-v487)) !important;
    grid-template-columns: repeat(2, 48px) !important;
    gap: 7px !important;
    z-index: 120 !important;
  }

  #equipmentSlots .hotbar-slot,
  #equipmentSlots .equipment-slot {
    width: 48px !important;
    height: 48px !important;
  }

  .active-potion-effects {
    left: 50% !important;
    right: auto !important;
    bottom: calc(52px + var(--safe-bottom-v487)) !important;
    transform: translateX(-50%) !important;
    max-width: min(360px, calc(100vw - 20px)) !important;
  }

  .action-dock {
    left: calc(8px + var(--safe-left-v487)) !important;
    right: auto !important;
    bottom: calc(218px + var(--safe-bottom-v487)) !important;
    max-height: calc(var(--mobile-vh-v487, 100vh) - 356px - var(--safe-top-v487) - var(--safe-bottom-v487)) !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 6px !important;
    padding: 0 !important;
    overflow-y: auto !important;
    scrollbar-width: none !important;
    z-index: 120 !important;
  }

  .action-dock::-webkit-scrollbar {
    display: none !important;
  }

  .action-dock .dock-button {
    width: 46px !important;
    height: 46px !important;
    min-width: 46px !important;
    padding: 6px !important;
    border-radius: 10px !important;
  }

  .action-dock .dock-button span {
    display: none !important;
  }

  #viewportControls {
    display: none !important;
  }

  .ping-panel {
    right: calc(118px + var(--safe-right-v487)) !important;
    bottom: calc(58px + var(--safe-bottom-v487)) !important;
    min-width: 94px !important;
    height: 32px !important;
    padding: 0 8px !important;
    z-index: 121 !important;
  }

  #settingsPanel.settings-panel-v480,
  #inventory.inventory.game-panel,
  #craftPanel.craft-panel.game-panel,
  #shopPanel.craft-panel.game-panel,
  #buildPanel.craft-panel.game-panel,
  #structurePanel.structure-panel {
    left: calc(8px + var(--safe-left-v487)) !important;
    right: auto !important;
    top: calc(52px + var(--safe-top-v487)) !important;
    bottom: auto !important;
    transform: none !important;
    width: calc(100vw - 16px - var(--safe-left-v487) - var(--safe-right-v487)) !important;
    max-width: calc(100vw - 16px - var(--safe-left-v487) - var(--safe-right-v487)) !important;
    max-height: calc(var(--mobile-vh-v487, 100vh) - 68px - var(--safe-top-v487) - var(--safe-bottom-v487)) !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    border-radius: 8px !important;
    box-sizing: border-box !important;
  }

  #craftPanel.craft-panel.game-panel,
  #shopPanel.craft-panel.game-panel,
  #buildPanel.craft-panel.game-panel {
    height: auto !important;
    min-height: 0 !important;
  }

  #craftPanel .craft-shell,
  #shopPanel .craft-shell,
  #buildPanel .craft-shell {
    grid-template-columns: minmax(0, 1fr) !important;
    max-height: none !important;
  }

  #craftPanel .craft-list,
  #shopPanel .craft-list,
  #buildPanel .craft-list,
  #craftPanel .craft-detail,
  #shopPanel .craft-detail,
  #buildPanel .craft-detail {
    max-height: 40vh !important;
  }
}

@media (hover: none) and (max-width: 520px), (pointer: coarse) and (max-width: 520px), (max-width: 520px) {
  .mobile-joystick-v487 {
    left: calc(12px + var(--safe-left-v487));
    bottom: calc(78px + var(--safe-bottom-v487));
    width: 112px;
    height: 112px;
  }

  .mobile-joystick-knob-v487 {
    width: 48px;
    height: 48px;
  }

  .mobile-actions-v487 {
    right: calc(10px + var(--safe-right-v487));
    bottom: calc(76px + var(--safe-bottom-v487));
    grid-template-columns: 50px 86px;
    gap: 8px;
  }

  .mobile-interact-v487,
  .mobile-drop-v487 {
    width: 50px;
    height: 50px;
    font-size: 19px;
  }

  .mobile-chat-v487 {
    width: 50px;
    height: 40px;
    border-radius: 10px;
    font-size: 12px;
  }

  .mobile-attack-v487 {
    width: 86px;
    height: 86px;
    font-size: 15px;
  }

  .minimap {
    width: 118px !important;
  }

  #minimapCanvas {
    width: 106px !important;
    height: 106px !important;
  }

  .leaderboard-panel {
    width: 152px !important;
  }

  .action-dock {
    bottom: calc(198px + var(--safe-bottom-v487)) !important;
    max-height: calc(var(--mobile-vh-v487, 100vh) - 318px - var(--safe-top-v487) - var(--safe-bottom-v487)) !important;
  }

  .action-dock .dock-button {
    width: 42px !important;
    height: 42px !important;
    min-width: 42px !important;
  }

  #equipmentSlots.equipment-slots {
    bottom: calc(236px + var(--safe-bottom-v487)) !important;
    grid-template-columns: repeat(2, 42px) !important;
  }

  #equipmentSlots .hotbar-slot,
  #equipmentSlots .equipment-slot {
    width: 42px !important;
    height: 42px !important;
  }
}

@media (hover: none) and (max-height: 520px), (pointer: coarse) and (max-height: 520px) {
  .mobile-joystick-v487 {
    left: calc(10px + var(--safe-left-v487));
    bottom: calc(54px + var(--safe-bottom-v487));
    width: 96px;
    height: 96px;
  }

  .mobile-joystick-v487::before {
    width: 42px;
    height: 42px;
  }

  .mobile-joystick-knob-v487 {
    width: 42px;
    height: 42px;
  }

  .mobile-actions-v487 {
    right: calc(8px + var(--safe-right-v487));
    bottom: calc(52px + var(--safe-bottom-v487));
    grid-template-columns: 44px 74px;
    gap: 7px;
  }

  .mobile-interact-v487,
  .mobile-drop-v487 {
    width: 44px;
    height: 44px;
    font-size: 18px;
  }

  .mobile-chat-v487 {
    width: 44px;
    height: 36px;
    border-radius: 9px;
    font-size: 11px;
  }

  .mobile-attack-v487 {
    width: 74px;
    height: 74px;
    font-size: 13px;
  }

  #hotbar.hotbar {
    width: min(392px, max(286px, calc(100vw - 254px - var(--safe-left-v487) - var(--safe-right-v487)))) !important;
    bottom: calc(5px + var(--safe-bottom-v487)) !important;
    gap: 3px !important;
  }

  .minimap {
    width: 104px !important;
  }

  #minimapCanvas {
    width: 92px !important;
    height: 92px !important;
  }

  .leaderboard-panel {
    width: 142px !important;
    max-height: calc(var(--mobile-vh-v487, 100vh) - 18px - var(--safe-top-v487) - var(--safe-bottom-v487)) !important;
    overflow: hidden !important;
  }

  .action-dock {
    left: calc(122px + var(--safe-left-v487)) !important;
    top: calc(8px + var(--safe-top-v487)) !important;
    bottom: auto !important;
    max-width: max(180px, calc(100vw - 286px - var(--safe-left-v487) - var(--safe-right-v487))) !important;
    max-height: none !important;
    flex-direction: row !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
  }

  .action-dock .dock-button {
    width: 40px !important;
    height: 40px !important;
    min-width: 40px !important;
  }

  #equipmentSlots.equipment-slots {
    right: calc(8px + var(--safe-right-v487)) !important;
    bottom: calc(194px + var(--safe-bottom-v487)) !important;
    grid-template-columns: repeat(2, 38px) !important;
  }

  #equipmentSlots .hotbar-slot,
  #equipmentSlots .equipment-slot {
    width: 38px !important;
    height: 38px !important;
  }

  .ping-panel {
    right: calc(92px + var(--safe-right-v487)) !important;
    bottom: calc(42px + var(--safe-bottom-v487)) !important;
  }
}

/* v489: compact phone layout. Keeps menu/HUD from intersecting on iOS/Android. */
@media (hover: none), (pointer: coarse), (max-width: 760px), (max-height: 520px) and (max-width: 960px) {
  html,
  body {
    min-width: 0 !important;
    max-width: 100vw !important;
    overflow-x: hidden !important;
  }

  body.menu-open #hotbar,
  body.menu-open #equipmentSlots,
  body.menu-open #actionDock,
  body.menu-open #viewportControls,
  body.menu-open #minimap,
  body.menu-open #minimapTools,
  body.menu-open #statsPanel,
  body.menu-open #leaderboardPanel,
  body.menu-open #gameCoinBalance,
  body.menu-open #dayNightTimer,
  body.menu-open #pingPanel,
  body.menu-open #chatBox,
  body.menu-open #activePotionEffects,
  body.menu-open #pickupHint,
  body.menu-open #itemToastBox {
    display: none !important;
    opacity: 0 !important;
    pointer-events: none !important;
  }

  body.menu-open,
  body.menu-open .ahardice-main-menu {
    touch-action: pan-y !important;
    overscroll-behavior: contain !important;
  }

  .ahardice-main-menu.login-overlay {
    display: block !important;
    position: fixed !important;
    inset: 0 !important;
    width: 100vw !important;
    height: var(--mobile-vh-v487, 100vh) !important;
    padding: calc(58px + var(--safe-top-v487)) 10px calc(68px + var(--safe-bottom-v487)) !important;
    box-sizing: border-box !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    background: rgba(6, 22, 38, .88) !important;
    -webkit-overflow-scrolling: touch !important;
  }

  .ahardice-main-menu .main-account-bar {
    position: fixed !important;
    left: 0 !important;
    right: 0 !important;
    top: 0 !important;
    width: auto !important;
    height: calc(52px + var(--safe-top-v487)) !important;
    min-height: 0 !important;
    padding: calc(7px + var(--safe-top-v487)) 8px 7px !important;
    display: grid !important;
    grid-template-columns: 38px minmax(0, 1fr) !important;
    gap: 8px !important;
    align-items: center !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: #082743 !important;
    box-shadow: 0 2px 10px rgba(0,0,0,.34) !important;
    z-index: 5500 !important;
  }

  .main-account-shield {
    width: 38px !important;
    height: 38px !important;
    border-radius: 8px !important;
  }

  .main-account-shield img {
    width: 34px !important;
    height: 34px !important;
  }

  .main-account-info {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 72px !important;
    align-items: center !important;
    gap: 6px !important;
    overflow: hidden !important;
  }

  .ahardice-main-menu .menu-account {
    margin: 0 !important;
    min-width: 0 !important;
    max-width: 100% !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
    font-size: 11px !important;
    line-height: 1.1 !important;
  }

  .menu-account-id {
    display: none !important;
  }

  .ahardice-main-menu .menu-buttons {
    width: 72px !important;
    min-width: 0 !important;
    max-width: 72px !important;
    margin: 0 !important;
    display: flex !important;
    flex-wrap: nowrap !important;
    gap: 4px !important;
    justify-content: flex-end !important;
    overflow: hidden !important;
  }

  .main-login-button,
  .ahardice-main-menu .secondary-login,
  .ahardice-main-menu .account-ready {
    min-width: 0 !important;
    width: 72px !important;
    max-width: 72px !important;
    height: 32px !important;
    padding: 0 5px !important;
    border-radius: 7px !important;
    font-size: 10px !important;
    line-height: 1 !important;
    box-shadow: none !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }

  .main-menu-left-tabs {
    position: fixed !important;
    left: 0 !important;
    right: 0 !important;
    top: auto !important;
    bottom: 0 !important;
    width: auto !important;
    height: calc(58px + var(--safe-bottom-v487)) !important;
    display: grid !important;
    grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
    gap: 4px !important;
    padding: 5px 6px calc(5px + var(--safe-bottom-v487)) !important;
    box-sizing: border-box !important;
    background: #082743 !important;
    border-top: 1px solid rgba(112,196,255,.26) !important;
    box-shadow: 0 -4px 14px rgba(0,0,0,.34) !important;
    z-index: 5500 !important;
  }

  .main-menu-left-tabs .main-menu-tab {
    width: auto !important;
    min-width: 0 !important;
    min-height: 0 !important;
    height: 48px !important;
    padding: 3px 1px !important;
    border-radius: 7px !important;
    border: 1px solid rgba(112,196,255,.22) !important;
    display: grid !important;
    grid-template-rows: 25px 13px !important;
    place-items: center !important;
    gap: 1px !important;
    background: #0a3153 !important;
    box-shadow: none !important;
    overflow: hidden !important;
  }

  .main-menu-left-tabs .main-menu-tab.active,
  .main-menu-left-tabs .main-menu-tab:hover {
    background: #12669d !important;
    border-color: rgba(156,222,255,.72) !important;
  }

  .main-menu-left-tabs .main-menu-tab img {
    width: 24px !important;
    height: 24px !important;
    object-fit: contain !important;
  }

  .main-menu-left-tabs .main-menu-tab span {
    max-width: 100% !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
    font-size: 8px !important;
    line-height: 1 !important;
    letter-spacing: 0 !important;
  }

  .ahardice-center-card.login-card,
  #mainPlayCard.ahardice-center-card.login-card {
    position: fixed !important;
    left: 50% !important;
    right: auto !important;
    top: 50% !important;
    bottom: auto !important;
    transform: translate(-50%, -50%) !important;
    width: min(282px, calc(100vw - 32px)) !important;
    max-width: calc(100vw - 32px) !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
  }

  .ahardice-main-menu.main-tab-play .main-brand {
    margin: 0 0 8px !important;
  }

  .ahardice-text-logo,
  .ahardice-main-menu.main-tab-play .main-brand-logo {
    width: min(224px, 62vw) !important;
    max-height: 54px !important;
    margin: 0 auto !important;
    filter: drop-shadow(0 3px 0 rgba(0,0,0,.28)) !important;
  }

  .center-play-form,
  .ahardice-main-menu.main-tab-play .center-play-form {
    width: min(252px, calc(100vw - 40px)) !important;
    max-width: calc(100vw - 40px) !important;
    margin: 0 auto !important;
    gap: 8px !important;
    box-sizing: border-box !important;
    overflow: visible !important;
  }

  .main-field-label {
    font-size: 11px !important;
    line-height: 1.05 !important;
  }

  .nickname-color-row-v343 {
    width: 100% !important;
    max-width: 100% !important;
    grid-template-columns: minmax(0, 1fr) 36px !important;
    gap: 6px !important;
    box-sizing: border-box !important;
    overflow: visible !important;
  }

  .ahardice-main-menu .login-card .nickname-color-row-v343 input,
  .nickname-color-row-v343 input {
    min-width: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  .nickname-color-button-v343,
  .nickname-color-swatch-v343 {
    width: 36px !important;
    height: 36px !important;
    border-width: 2px !important;
    border-radius: 7px !important;
  }

  .nickname-color-palette-v343 {
    grid-template-columns: repeat(3, 30px) !important;
    gap: 5px !important;
    padding: 7px !important;
  }

  .ahardice-main-menu .login-card input,
  .main-server-select {
    width: 100% !important;
    max-width: 100% !important;
    height: 38px !important;
    padding: 0 9px !important;
    border-width: 2px !important;
    border-radius: 7px !important;
    font-size: 13px !important;
    box-sizing: border-box !important;
  }

  .main-play-button.play-button {
    height: 50px !important;
    margin-top: 2px !important;
    border-width: 2px !important;
    border-radius: 9px !important;
    font-size: 22px !important;
    line-height: 1 !important;
    box-shadow: 0 3px 0 rgba(0,0,0,.28) !important;
  }

  .main-discord-community-v474fix1 {
    width: 38px !important;
    height: 38px !important;
    border-radius: 9px !important;
    margin-top: 0 !important;
  }

  .main-discord-community-v474fix1 img {
    width: 24px !important;
    height: 24px !important;
  }

  .main-side-panel,
  .ahardice-main-menu.main-tab-leaderboard .main-side-panel,
  .ahardice-main-menu.main-tab-profile .main-side-panel,
  .ahardice-main-menu.main-tab-shop .main-side-panel,
  .ahardice-main-menu.main-tab-clans .main-side-panel,
  .ahardice-main-menu.main-tab-skins .main-side-panel {
    position: relative !important;
    left: auto !important;
    right: auto !important;
    top: auto !important;
    bottom: auto !important;
    transform: none !important;
    width: calc(100vw - 20px) !important;
    max-width: calc(100vw - 20px) !important;
    max-height: none !important;
    min-height: 0 !important;
    margin: 0 auto !important;
    padding: 10px !important;
    border-radius: 9px !important;
    box-sizing: border-box !important;
    overflow: visible !important;
  }

  .menu-section-title {
    margin-bottom: 8px !important;
    font-size: 14px !important;
    line-height: 1.1 !important;
  }

  .main-menu-panel-body,
  #mainMenuPanelBody {
    max-height: calc(var(--mobile-vh-v487, 100vh) - 142px - var(--safe-top-v487) - var(--safe-bottom-v487)) !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    -webkit-overflow-scrolling: touch !important;
    font-size: 12px !important;
    line-height: 1.25 !important;
  }

  .main-leaderboard-root-v140,
  .main-profile-card-v139,
  .main-cosmetics-content {
    gap: 8px !important;
  }

  .main-leaderboard-grid-v140 {
    grid-template-columns: 1fr !important;
    gap: 8px !important;
  }

  .main-leaderboard-card-v140 {
    min-height: 0 !important;
    padding: 8px !important;
    border-radius: 8px !important;
  }

  .main-leaderboard-row-v140 {
    grid-template-columns: 26px 30px minmax(0, 1fr) minmax(48px, auto) !important;
    gap: 5px !important;
    min-height: 34px !important;
    padding: 5px !important;
    border-radius: 7px !important;
  }

  .main-leaderboard-avatar-v140 {
    width: 30px !important;
    height: 30px !important;
    border-radius: 8px !important;
    font-size: 12px !important;
  }

  .main-leaderboard-name-v140,
  .main-leaderboard-value-v140 b {
    font-size: 11px !important;
  }

  .main-leaderboard-sub-v140,
  .main-leaderboard-value-v140 span {
    font-size: 9px !important;
  }

  .main-cosmetics-content .skin-choices,
  .skin-choices {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 7px !important;
    max-height: calc(var(--mobile-vh-v487, 100vh) - 190px - var(--safe-top-v487) - var(--safe-bottom-v487)) !important;
    overflow-y: auto !important;
  }

  .skin-choice {
    min-height: 82px !important;
    padding: 7px !important;
    border-radius: 8px !important;
  }

  .skin-choice .skin-preview,
  .skin-preview {
    height: 48px !important;
  }

  .skin-name {
    font-size: 10px !important;
  }

  .auth-provider-card {
    width: calc(100vw - 28px) !important;
    max-width: 340px !important;
    padding: 14px !important;
    border-radius: 10px !important;
  }

  .auth-provider-logo {
    width: 54px !important;
    height: 54px !important;
  }

  .auth-provider-title {
    font-size: 17px !important;
  }

  .auth-provider-button {
    min-height: 44px !important;
    padding: 8px 10px !important;
    border-radius: 8px !important;
  }

  body.game-started:not(.menu-open):not(.player-dead-v178):not(.assets-loading) .mobile-controls-v487:not(.hidden) {
    display: block !important;
  }

  .mobile-joystick-v487 {
    left: calc(10px + var(--safe-left-v487)) !important;
    bottom: calc(54px + var(--safe-bottom-v487)) !important;
    width: 88px !important;
    height: 88px !important;
    border-width: 1px !important;
    box-shadow: 0 3px 0 rgba(0,0,0,.24), inset 0 0 0 1px rgba(255,255,255,.08) !important;
  }

  .mobile-joystick-v487::before {
    width: 36px !important;
    height: 36px !important;
  }

  .mobile-joystick-knob-v487 {
    width: 38px !important;
    height: 38px !important;
    border-width: 1px !important;
    box-shadow: 0 3px 0 rgba(0,0,0,.22), 0 6px 10px rgba(0,0,0,.24) !important;
  }

  .mobile-actions-v487 {
    right: calc(8px + var(--safe-right-v487)) !important;
    bottom: calc(54px + var(--safe-bottom-v487)) !important;
    grid-template-columns: 38px 72px !important;
    gap: 6px !important;
  }

  .mobile-utility-v487 {
    gap: 5px !important;
  }

  .mobile-actions-v487 button {
    border-width: 1px !important;
    box-shadow: 0 3px 0 rgba(0,0,0,.24), inset 0 1px 0 rgba(255,255,255,.13) !important;
  }

  .mobile-interact-v487,
  .mobile-drop-v487 {
    width: 38px !important;
    height: 38px !important;
    font-size: 15px !important;
  }

  .mobile-chat-v487 {
    width: 38px !important;
    height: 30px !important;
    border-radius: 8px !important;
    font-size: 9px !important;
  }

  .mobile-attack-v487 {
    width: 72px !important;
    height: 72px !important;
    font-size: 12px !important;
  }

  #hotbar.hotbar {
    left: 50% !important;
    bottom: calc(5px + var(--safe-bottom-v487)) !important;
    width: min(360px, calc(100vw - 12px - var(--safe-left-v487) - var(--safe-right-v487))) !important;
    grid-template-columns: repeat(10, minmax(0, 1fr)) !important;
    gap: 3px !important;
    transform: translateX(-50%) !important;
    z-index: 3400 !important;
  }

  #hotbar .hotbar-slot {
    width: auto !important;
    height: auto !important;
    min-width: 0 !important;
    aspect-ratio: 1 / 1 !important;
    border-width: 1px !important;
    border-radius: 4px !important;
    background-size: 74% !important;
  }

  #hotbar .slot-count,
  .slot-count {
    font-size: 9px !important;
    left: 3px !important;
    top: 3px !important;
  }

  #equipmentSlots.equipment-slots {
    display: none !important;
  }

  .action-dock {
    left: calc(8px + var(--safe-left-v487)) !important;
    top: calc(104px + var(--safe-top-v487)) !important;
    bottom: auto !important;
    transform: none !important;
    width: 34px !important;
    max-width: 34px !important;
    max-height: calc(var(--mobile-vh-v487, 100vh) - 262px - var(--safe-top-v487) - var(--safe-bottom-v487)) !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 4px !important;
    padding: 0 !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    scrollbar-width: none !important;
    z-index: 130 !important;
  }

  .action-dock .dock-button {
    width: 34px !important;
    height: 34px !important;
    min-width: 34px !important;
    padding: 5px !important;
    border-width: 1px !important;
    border-radius: 7px !important;
    box-shadow: 0 2px 0 rgba(0,0,0,.24) !important;
  }

  .action-dock .dock-button span {
    display: none !important;
  }

  .minimap {
    left: calc(6px + var(--safe-left-v487)) !important;
    top: calc(6px + var(--safe-top-v487)) !important;
    width: 88px !important;
    padding: 3px !important;
    border-width: 2px !important;
    border-radius: 6px !important;
  }

  #minimapCanvas {
    width: 78px !important;
    height: 78px !important;
    border-width: 2px !important;
  }

  .minimap-tools {
    left: calc(6px + var(--safe-left-v487)) !important;
    right: auto !important;
    top: calc(98px + var(--safe-top-v487)) !important;
    width: 34px !important;
    z-index: 131 !important;
  }

  .minimap-tool-tabs {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 4px !important;
  }

  .minimap-tool-tab {
    width: 34px !important;
    height: 34px !important;
    padding: 5px !important;
    border-radius: 7px !important;
  }

  .minimap-tools .env-indicators {
    display: none !important;
  }

  .leaderboard-panel {
    right: calc(6px + var(--safe-right-v487)) !important;
    top: calc(6px + var(--safe-top-v487)) !important;
    width: 126px !important;
    max-width: 126px !important;
    max-height: 122px !important;
    padding: 5px !important;
    border-width: 2px !important;
    border-radius: 6px !important;
    overflow: hidden !important;
  }

  .leaderboard-title {
    margin-bottom: 3px !important;
    font-size: 10px !important;
    line-height: 1 !important;
  }

  .leaderboard-list {
    gap: 2px !important;
  }

  .leaderboard-row {
    min-height: 20px !important;
    grid-template-columns: 16px minmax(0, 1fr) !important;
    gap: 3px !important;
    padding: 2px 3px !important;
    border-radius: 4px !important;
  }

  .leaderboard-rank {
    width: 16px !important;
    min-width: 16px !important;
    font-size: 8px !important;
  }

  .leaderboard-name {
    font-size: 8px !important;
  }

  .leaderboard-meta {
    display: none !important;
  }

  .game-coin-balance {
    left: 50% !important;
    right: auto !important;
    top: calc(6px + var(--safe-top-v487)) !important;
    transform: translateX(-50%) !important;
    height: 28px !important;
    min-width: 72px !important;
    padding: 0 8px !important;
    font-size: 11px !important;
    z-index: 122 !important;
  }

  .day-night-timer {
    top: calc(38px + var(--safe-top-v487)) !important;
    min-width: 96px !important;
    max-width: 118px !important;
    height: 22px !important;
    padding: 2px 7px !important;
    font-size: 9px !important;
    border-radius: 0 0 8px 8px !important;
    z-index: 121 !important;
  }

  .day-night-icon {
    width: 12px !important;
    font-size: 12px !important;
  }

  .ping-panel {
    right: calc(86px + var(--safe-right-v487)) !important;
    bottom: calc(43px + var(--safe-bottom-v487)) !important;
    min-width: 68px !important;
    height: 24px !important;
    padding: 0 6px !important;
    gap: 4px !important;
    border-radius: 8px !important;
    z-index: 122 !important;
  }

  .ping-dot {
    width: 6px !important;
    height: 6px !important;
  }

  #pingValue {
    font-size: 9px !important;
  }

  .active-potion-effects {
    display: none !important;
  }

  .chat-box {
    left: calc(6px + var(--safe-left-v487)) !important;
    right: calc(6px + var(--safe-right-v487)) !important;
    bottom: calc(44px + var(--safe-bottom-v487)) !important;
    width: auto !important;
    max-height: 108px !important;
    font-size: 10px !important;
    z-index: 3600 !important;
  }

  .chat-box.chat-open {
    bottom: calc(48px + var(--safe-bottom-v487)) !important;
    max-height: min(180px, calc(var(--mobile-vh-v487, 100vh) * .42)) !important;
  }

  .chat-input {
    height: 36px !important;
    font-size: 13px !important;
  }

  #settingsPanel.settings-panel-v480,
  #inventory.inventory.game-panel,
  #chestPanel.inventory.game-panel,
  #craftPanel.craft-panel.game-panel,
  #shopPanel.craft-panel.game-panel,
  #buildPanel.craft-panel.game-panel,
  #structurePanel.structure-panel,
  #clanPanel,
  #tradePanel,
  #adminPanel {
    left: calc(6px + var(--safe-left-v487)) !important;
    right: auto !important;
    top: calc(48px + var(--safe-top-v487)) !important;
    bottom: auto !important;
    transform: none !important;
    width: calc(100vw - 12px - var(--safe-left-v487) - var(--safe-right-v487)) !important;
    max-width: calc(100vw - 12px - var(--safe-left-v487) - var(--safe-right-v487)) !important;
    max-height: calc(var(--mobile-vh-v487, 100vh) - 58px - var(--safe-top-v487) - var(--safe-bottom-v487)) !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    border-radius: 8px !important;
    box-sizing: border-box !important;
  }

  #craftPanel .craft-category-tabs,
  #shopPanel .craft-category-tabs,
  #buildPanel .craft-category-tabs {
    height: 44px !important;
    max-width: calc(100vw - 24px) !important;
  }

  #craftPanel .craft-category-tab,
  #shopPanel .craft-category-tab,
  #buildPanel .craft-category-tab,
  #craftPanel .craft-category-tab.icon-only,
  #shopPanel .craft-category-tab.icon-only,
  #buildPanel .craft-category-tab.icon-only {
    flex-basis: 42px !important;
    width: 42px !important;
    min-width: 42px !important;
    height: 40px !important;
    padding: 5px !important;
  }

  #craftPanel .craft-category-tab .craft-category-icon,
  #shopPanel .craft-category-tab .craft-category-icon,
  #buildPanel .craft-category-tab .craft-category-icon {
    width: 28px !important;
    height: 28px !important;
  }
}

@media (hover: none) and (max-height: 520px), (pointer: coarse) and (max-height: 520px), (max-height: 520px) and (max-width: 960px) {
  .ahardice-main-menu.login-overlay {
    padding-top: calc(48px + var(--safe-top-v487)) !important;
    padding-bottom: calc(52px + var(--safe-bottom-v487)) !important;
  }

  .ahardice-main-menu .main-account-bar {
    height: calc(44px + var(--safe-top-v487)) !important;
    padding-top: calc(5px + var(--safe-top-v487)) !important;
    padding-bottom: 5px !important;
  }

  .main-account-shield {
    width: 32px !important;
    height: 32px !important;
  }

  .main-account-shield img {
    width: 29px !important;
    height: 29px !important;
  }

  .main-menu-left-tabs {
    height: calc(46px + var(--safe-bottom-v487)) !important;
    padding: 4px 5px calc(4px + var(--safe-bottom-v487)) !important;
  }

  .main-menu-left-tabs .main-menu-tab {
    height: 38px !important;
    grid-template-rows: 22px 10px !important;
  }

  .main-menu-left-tabs .main-menu-tab img {
    width: 21px !important;
    height: 21px !important;
  }

  .main-menu-left-tabs .main-menu-tab span {
    font-size: 7px !important;
  }

  .ahardice-center-card.login-card {
    width: min(300px, calc(100vw - 18px)) !important;
  }

  .ahardice-text-logo,
  .ahardice-main-menu.main-tab-play .main-brand-logo {
    max-height: 38px !important;
  }

  .center-play-form,
  .ahardice-main-menu.main-tab-play .center-play-form {
    max-width: 278px !important;
    gap: 6px !important;
  }

  .ahardice-main-menu .login-card input,
  .main-server-select {
    height: 32px !important;
    font-size: 12px !important;
  }

  .main-play-button.play-button {
    height: 40px !important;
    font-size: 18px !important;
  }

  .main-discord-community-v474fix1 {
    width: 32px !important;
    height: 32px !important;
  }

  .main-menu-panel-body,
  #mainMenuPanelBody {
    max-height: calc(var(--mobile-vh-v487, 100vh) - 106px - var(--safe-top-v487) - var(--safe-bottom-v487)) !important;
  }

  .mobile-joystick-v487 {
    width: 76px !important;
    height: 76px !important;
    bottom: calc(42px + var(--safe-bottom-v487)) !important;
  }

  .mobile-joystick-knob-v487 {
    width: 32px !important;
    height: 32px !important;
  }

  .mobile-actions-v487 {
    bottom: calc(42px + var(--safe-bottom-v487)) !important;
    grid-template-columns: 34px 62px !important;
  }

  .mobile-interact-v487,
  .mobile-drop-v487 {
    width: 34px !important;
    height: 34px !important;
    font-size: 13px !important;
  }

  .mobile-chat-v487 {
    width: 34px !important;
    height: 26px !important;
    font-size: 8px !important;
  }

  .mobile-attack-v487 {
    width: 62px !important;
    height: 62px !important;
    font-size: 10px !important;
  }

  #hotbar.hotbar {
    width: min(292px, calc(100vw - 120px - var(--safe-left-v487) - var(--safe-right-v487))) !important;
  }

  .minimap {
    width: 72px !important;
  }

  #minimapCanvas {
    width: 62px !important;
    height: 62px !important;
  }

  .leaderboard-panel {
    width: 110px !important;
    max-width: 110px !important;
    max-height: 96px !important;
  }

  .action-dock,
  .minimap-tools {
    display: none !important;
  }
}

/* v492: compact readable catalog descriptions and fun-block loot previews. */
#craftPanel .catalog-description-v492,
#buildPanel .catalog-description-v492,
#shopPanel .catalog-description-v492 {
  box-sizing: border-box !important;
  width: 337px !important;
  max-width: 337px !important;
  align-self: center !important;
  margin: 9px auto 0 !important;
  padding: 9px 11px !important;
  border: 1px solid rgba(97, 177, 255, 0.24) !important;
  border-radius: 8px !important;
  background: rgba(7, 24, 44, 0.62) !important;
  color: rgba(231, 244, 255, 0.92) !important;
  font-size: 12px !important;
  line-height: 1.35 !important;
  letter-spacing: 0 !important;
  white-space: pre-line !important;
  overflow-wrap: anywhere !important;
}

#buildPanel .craft-loot-summary-v492 {
  box-sizing: border-box !important;
  width: 337px !important;
  max-width: 337px !important;
  align-self: center !important;
  margin: 9px auto 0 !important;
  padding: 9px 10px !important;
  border: 1px solid rgba(255, 210, 77, 0.30) !important;
  border-radius: 8px !important;
  background: rgba(18, 22, 34, 0.74) !important;
}

#buildPanel .craft-loot-title-v492 {
  margin-bottom: 7px !important;
  color: #ffe98a !important;
  font-size: 12px !important;
  font-weight: 900 !important;
  letter-spacing: 0 !important;
}

#buildPanel .craft-loot-chips-v492 {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 5px !important;
  max-height: 96px !important;
  overflow: auto !important;
  padding-right: 2px !important;
}

#buildPanel .craft-loot-chip-v492 {
  display: inline-flex !important;
  align-items: center !important;
  max-width: 153px !important;
  min-height: 22px !important;
  padding: 3px 7px !important;
  border: 1px solid rgba(255,255,255,0.11) !important;
  border-radius: 999px !important;
  background: rgba(255,255,255,0.075) !important;
  color: #f4fbff !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

#buildPanel .craft-loot-note-v492 {
  margin-top: 7px !important;
  color: rgba(214, 229, 246, 0.74) !important;
  font-size: 10px !important;
  line-height: 1.25 !important;
}

/* v493: keep descriptions visible and fun-block drops icon-only compact. */
#craftPanel .catalog-description-v492,
#buildPanel .catalog-description-v492,
#shopPanel .catalog-description-v492 {
  display: block !important;
  flex: 0 0 auto !important;
  width: min(337px, calc(100% - 14px)) !important;
  max-width: min(337px, calc(100% - 14px)) !important;
  max-height: 58px !important;
  margin: 6px auto 0 !important;
  padding: 7px 9px !important;
  font-size: 11px !important;
  line-height: 1.28 !important;
  overflow: auto !important;
}

#buildPanel .craft-detail,
#craftPanel .craft-detail,
#shopPanel .craft-detail {
  overflow-y: auto !important;
}

#buildPanel .craft-detail-card,
#craftPanel .craft-detail-card,
#shopPanel .craft-detail-card {
  min-height: 100% !important;
  gap: 5px !important;
}

#buildPanel .craft-recipe-box {
  flex: 0 0 86px !important;
  height: 86px !important;
  min-height: 86px !important;
  max-height: 86px !important;
  margin-top: 6px !important;
}

#buildPanel .craft-preview-icon {
  width: 72px !important;
  height: 72px !important;
}

#buildPanel .craft-loot-summary-v492 {
  display: block !important;
  flex: 0 0 auto !important;
  width: min(337px, calc(100% - 14px)) !important;
  max-width: min(337px, calc(100% - 14px)) !important;
  max-height: 74px !important;
  margin: 6px auto 0 !important;
  padding: 6px 8px !important;
  overflow: hidden !important;
}

#buildPanel .craft-loot-title-v492 {
  margin-bottom: 5px !important;
  font-size: 11px !important;
  line-height: 1 !important;
}

#buildPanel .craft-loot-chips-v492 {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(36px, 36px)) !important;
  justify-content: start !important;
  gap: 4px !important;
  max-height: 42px !important;
  overflow: auto !important;
  padding: 0 2px 1px 0 !important;
}

#buildPanel .craft-loot-chip-v492 {
  position: relative !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 36px !important;
  height: 38px !important;
  min-width: 36px !important;
  max-width: 36px !important;
  min-height: 38px !important;
  padding: 0 !important;
  border-radius: 7px !important;
  overflow: hidden !important;
}

#buildPanel .craft-loot-icon-v492 {
  display: block !important;
  width: 24px !important;
  height: 24px !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
  background-size: contain !important;
}

#buildPanel .craft-loot-chance-v492 {
  position: absolute !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 1px !important;
  color: #fff7bf !important;
  font-size: 8px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  text-align: center !important;
  text-shadow: 0 1px 2px rgba(0,0,0,0.78) !important;
}

#buildPanel .craft-loot-count-v492 {
  position: absolute !important;
  top: 0 !important;
  right: 1px !important;
  color: #ffffff !important;
  font-size: 8px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  text-shadow: 0 1px 2px rgba(0,0,0,0.82) !important;
}

#buildPanel .craft-loot-note-v492 {
  display: none !important;
}

#buildPanel .craft-create-button,
#buildPanel button.craft-create-button {
  position: sticky !important;
  bottom: 0 !important;
  z-index: 5 !important;
  flex: 0 0 44px !important;
  height: 44px !important;
  min-height: 44px !important;
  margin-top: auto !important;
  margin-bottom: 0 !important;
}

/* v494: cleaner catalog text and larger no-scroll fun-block loot icons. */
#craftPanel .catalog-description-v492,
#buildPanel .catalog-description-v492,
#shopPanel .catalog-description-v492 {
  background: transparent !important;
  border-color: transparent !important;
  box-shadow: none !important;
  padding: 3px 4px !important;
  color: rgba(231, 244, 255, 0.96) !important;
  max-height: none !important;
  overflow: visible !important;
}

#craftPanel .craft-recipe-box,
#buildPanel .craft-recipe-box,
#shopPanel .craft-recipe-box {
  background: transparent !important;
  border-color: transparent !important;
  box-shadow: none !important;
  padding: 8px 4px !important;
}

#craftPanel .craft-ingredients,
#buildPanel .craft-ingredients,
#shopPanel .craft-ingredients,
#craftPanel .craft-ingredient,
#buildPanel .craft-ingredient,
#shopPanel .craft-ingredient,
#shopPanel .shop-coin-row,
#craftPanel .craft-ingredient-text,
#buildPanel .craft-ingredient-text,
#shopPanel .craft-ingredient-text,
#craftPanel .craft-ingredient-text.ok,
#buildPanel .craft-ingredient-text.ok,
#shopPanel .craft-ingredient-text.ok,
#craftPanel .craft-ingredient-text.missing,
#buildPanel .craft-ingredient-text.missing,
#shopPanel .craft-ingredient-text.missing {
  background: transparent !important;
  border-color: transparent !important;
  box-shadow: none !important;
}

#craftPanel .craft-ingredient-icon,
#buildPanel .craft-ingredient-icon,
#shopPanel .craft-ingredient-icon,
#craftPanel .craft-preview-icon,
#buildPanel .craft-preview-icon,
#shopPanel .craft-preview-icon {
  background-color: transparent !important;
  border-color: transparent !important;
  box-shadow: none !important;
}

#craftPanel .craft-ingredient-text.ok,
#buildPanel .craft-ingredient-text.ok,
#shopPanel .craft-ingredient-text.ok {
  color: #b7ffd6 !important;
}

#craftPanel .craft-ingredient-text.missing,
#buildPanel .craft-ingredient-text.missing,
#shopPanel .craft-ingredient-text.missing {
  color: #ff9fa8 !important;
}

#buildPanel .craft-loot-summary-v492 {
  width: min(337px, calc(100% - 10px)) !important;
  max-width: min(337px, calc(100% - 10px)) !important;
  max-height: none !important;
  padding: 8px 7px !important;
  overflow: visible !important;
}

#buildPanel .craft-loot-chips-v492 {
  grid-template-columns: repeat(auto-fill, 48px) !important;
  justify-content: center !important;
  gap: 6px !important;
  max-height: none !important;
  overflow: visible !important;
  padding: 0 !important;
}

#buildPanel .craft-loot-chip-v492 {
  width: 48px !important;
  height: 52px !important;
  min-width: 48px !important;
  max-width: 48px !important;
  min-height: 52px !important;
  border-radius: 8px !important;
}

#buildPanel .craft-loot-icon-v492 {
  width: 39px !important;
  height: 39px !important;
}

#buildPanel .craft-loot-chance-v492 {
  bottom: 2px !important;
  font-size: 10px !important;
}

#buildPanel .craft-loot-count-v492 {
  top: 2px !important;
  right: 3px !important;
  font-size: 10px !important;
}

/* v495: restore recipe banner, keep only ingredient rows transparent, and reserve space for the build button. */
#craftPanel .craft-recipe-box,
#buildPanel .craft-recipe-box,
#shopPanel .craft-recipe-box {
  background: linear-gradient(180deg, rgba(0, 89, 122, 0.60), rgba(0, 64, 89, 0.72)) !important;
  border: 1px solid rgba(97, 177, 255, 0.18) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.09), 0 8px 18px rgba(0,0,0,0.18) !important;
  padding: 8px !important;
}

#craftPanel .craft-ingredient,
#buildPanel .craft-ingredient,
#shopPanel .craft-ingredient,
#shopPanel .shop-coin-row,
#craftPanel .craft-ingredient-text,
#buildPanel .craft-ingredient-text,
#shopPanel .craft-ingredient-text {
  background: transparent !important;
  background-color: transparent !important;
  border-color: transparent !important;
  box-shadow: none !important;
}

#buildPanel .craft-detail {
  padding-bottom: 18px !important;
  overflow-y: auto !important;
}

#buildPanel .craft-detail-card {
  height: auto !important;
  min-height: 100% !important;
  overflow: visible !important;
  padding-bottom: 12px !important;
}

#buildPanel .craft-loot-summary-v492 {
  margin-bottom: 8px !important;
  overflow: visible !important;
}

#buildPanel .craft-loot-chips-v492 {
  grid-template-columns: repeat(auto-fill, 38px) !important;
  gap: 4px !important;
  justify-content: center !important;
  overflow: visible !important;
}

#buildPanel .craft-loot-chip-v492 {
  width: 38px !important;
  height: 44px !important;
  min-width: 38px !important;
  max-width: 38px !important;
  min-height: 44px !important;
}

#buildPanel .craft-loot-icon-v492 {
  width: 32px !important;
  height: 32px !important;
}

#buildPanel .craft-loot-chance-v492 {
  font-size: 9px !important;
}

#buildPanel .craft-loot-count-v492 {
  font-size: 9px !important;
}

#buildPanel .craft-create-button,
#buildPanel button.craft-create-button {
  bottom: 12px !important;
  flex: 0 0 46px !important;
  height: 46px !important;
  min-height: 46px !important;
  margin-top: auto !important;
  margin-bottom: 14px !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.14), 0 10px 18px rgba(0,0,0,0.30) !important;
}

/* v496: restore old recipe banner, larger ingredients, no build-detail scrollbars, menu-like left tabs. */
#craftPanel .craft-recipe-box,
#buildPanel .craft-recipe-box,
#shopPanel .craft-recipe-box {
  height: 116px !important;
  min-height: 116px !important;
  max-height: 116px !important;
  padding: 8px 10px !important;
  border: 1px solid rgba(104, 48, 6, 0.78) !important;
  border-radius: 8px !important;
  background: linear-gradient(180deg, #733711 0%, #552709 100%) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.12), 0 6px 0 rgba(64, 30, 7, 0.42), 0 12px 18px rgba(0,0,0,0.24) !important;
  grid-template-columns: minmax(0, 1fr) 88px !important;
  gap: 8px !important;
  overflow: hidden !important;
}

#craftPanel .craft-ingredients,
#buildPanel .craft-ingredients,
#shopPanel .craft-ingredients {
  gap: 5px !important;
  max-height: 100px !important;
  overflow: hidden !important;
  padding: 0 !important;
}

#buildPanel .craft-ingredients.compact,
#buildPanel .craft-ingredients.dense,
#buildPanel .craft-ingredients.ultra,
#shopPanel .craft-ingredients.compact,
#shopPanel .craft-ingredients.dense,
#shopPanel .craft-ingredients.ultra {
  gap: 5px 6px !important;
  max-height: 100px !important;
  overflow: hidden !important;
  padding: 0 !important;
}

#craftPanel .craft-ingredient,
#buildPanel .craft-ingredient,
#shopPanel .craft-ingredient,
#buildPanel .craft-ingredients.compact .craft-ingredient,
#buildPanel .craft-ingredients.dense .craft-ingredient,
#buildPanel .craft-ingredients.ultra .craft-ingredient,
#shopPanel .craft-ingredients.compact .craft-ingredient,
#shopPanel .craft-ingredients.dense .craft-ingredient,
#shopPanel .craft-ingredients.ultra .craft-ingredient {
  min-height: 38px !important;
  grid-template-columns: 38px minmax(0, 1fr) !important;
  gap: 7px !important;
  padding: 0 3px 0 0 !important;
  overflow: hidden !important;
}

#craftPanel .craft-ingredient-icon,
#buildPanel .craft-ingredient-icon,
#shopPanel .craft-ingredient-icon,
#buildPanel .craft-ingredients.compact .craft-ingredient-icon,
#buildPanel .craft-ingredients.dense .craft-ingredient-icon,
#buildPanel .craft-ingredients.ultra .craft-ingredient-icon,
#shopPanel .craft-ingredients.compact .craft-ingredient-icon,
#shopPanel .craft-ingredients.dense .craft-ingredient-icon,
#shopPanel .craft-ingredients.ultra .craft-ingredient-icon {
  width: 38px !important;
  height: 38px !important;
  min-width: 38px !important;
  min-height: 38px !important;
  background-color: transparent !important;
  background-size: contain !important;
}

#craftPanel .craft-ingredient-text,
#buildPanel .craft-ingredient-text,
#shopPanel .craft-ingredient-text,
#buildPanel .craft-ingredients.compact .craft-ingredient-text,
#buildPanel .craft-ingredients.dense .craft-ingredient-text,
#buildPanel .craft-ingredients.ultra .craft-ingredient-text,
#shopPanel .craft-ingredients.compact .craft-ingredient-text,
#shopPanel .craft-ingredients.dense .craft-ingredient-text,
#shopPanel .craft-ingredients.ultra .craft-ingredient-text {
  min-width: 0 !important;
  font-size: 13px !important;
  line-height: 1 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: clip !important;
}

#craftPanel .craft-preview-icon,
#buildPanel .craft-preview-icon,
#shopPanel .craft-preview-icon {
  width: 84px !important;
  height: 84px !important;
}

#buildPanel .craft-detail,
#buildPanel .craft-detail-card,
#buildPanel .craft-list,
#buildPanel .craft-loot-chips-v492 {
  overflow: hidden !important;
  scrollbar-width: none !important;
}

#buildPanel .craft-detail::-webkit-scrollbar,
#buildPanel .craft-detail-card::-webkit-scrollbar,
#buildPanel .craft-list::-webkit-scrollbar,
#buildPanel .craft-ingredients::-webkit-scrollbar,
#buildPanel .craft-loot-chips-v492::-webkit-scrollbar {
  display: none !important;
}

#buildPanel .craft-list {
  overflow-y: auto !important;
  overflow-x: hidden !important;
}

#buildPanel .craft-detail-card {
  height: 100% !important;
  min-height: 0 !important;
  padding-bottom: 10px !important;
}

#buildPanel .craft-loot-summary-v492 {
  margin: 5px auto 6px !important;
  padding: 5px 6px !important;
}

#buildPanel .craft-loot-title-v492 {
  margin-bottom: 4px !important;
}

#buildPanel .craft-loot-chips-v492 {
  grid-template-columns: repeat(auto-fill, 36px) !important;
  gap: 4px !important;
  justify-content: center !important;
  max-height: none !important;
}

#buildPanel .craft-loot-chip-v492 {
  width: 36px !important;
  height: 40px !important;
  min-width: 36px !important;
  max-width: 36px !important;
  min-height: 40px !important;
}

#buildPanel .craft-loot-icon-v492 {
  width: 30px !important;
  height: 30px !important;
}

#buildPanel .craft-create-button,
#buildPanel button.craft-create-button {
  position: relative !important;
  bottom: auto !important;
  flex: 0 0 46px !important;
  height: 46px !important;
  min-height: 46px !important;
  margin-top: auto !important;
  margin-bottom: 18px !important;
}

@media (hover: hover) and (pointer: fine) and (min-width: 841px) {
  .action-dock {
    left: 0 !important;
    top: 150px !important;
    bottom: auto !important;
    transform: none !important;
    width: 136px !important;
    max-height: calc(100vh - 176px) !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
    padding: 0 !important;
    overflow: visible !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    scrollbar-width: none !important;
  }

  .action-dock::-webkit-scrollbar {
    display: none !important;
  }

  .action-dock .dock-button {
    box-sizing: border-box !important;
    width: 136px !important;
    min-width: 136px !important;
    height: 64px !important;
    min-height: 64px !important;
    padding: 7px 9px 7px 7px !important;
    display: grid !important;
    grid-template-columns: 40px minmax(0, 1fr) !important;
    align-items: center !important;
    gap: 8px !important;
    border-radius: 0 8px 8px 0 !important;
    border: 3px solid rgba(0,0,0,0.72) !important;
    border-left: none !important;
    background: rgba(58, 56, 30, 0.94) !important;
    color: #fff !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.12), 0 5px 0 rgba(0,0,0,0.26), 0 12px 22px rgba(0,0,0,0.22) !important;
    transform: none !important;
  }

  .action-dock .dock-button.active,
  .action-dock .dock-button:hover {
    background: linear-gradient(180deg, #1197c6, #0874a3) !important;
    border-color: rgba(0,0,0,0.76) !important;
    transform: none !important;
  }

  .action-dock .dock-button img {
    width: 40px !important;
    height: 40px !important;
    object-fit: contain !important;
    filter: drop-shadow(0 4px 4px rgba(0,0,0,0.35)) !important;
  }

  .action-dock .dock-button span {
    position: static !important;
    min-width: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    color: #ffffff !important;
    font-size: 13px !important;
    line-height: 1.05 !important;
    font-weight: 950 !important;
    text-align: left !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    text-shadow: 0 2px 3px rgba(0,0,0,0.55) !important;
  }

  .action-dock .dock-button.text-dock {
    font-size: 0 !important;
  }

  body:not(.chest-open-v198):not(.trade-active):not(.structure-open-v241) #inventory.inventory.game-panel,
  #craftPanel.craft-panel.game-panel,
  #shopPanel.craft-panel.game-panel,
  #adminPanel.admin-panel {
    left: 152px !important;
    right: auto !important;
  }
}

@media (hover: hover) and (pointer: fine) and (min-width: 841px) and (max-height: 760px) {
  .action-dock {
    top: 118px !important;
    gap: 7px !important;
  }

  .action-dock .dock-button {
    height: 56px !important;
    min-height: 56px !important;
  }

  .action-dock .dock-button img {
    width: 34px !important;
    height: 34px !important;
  }
}

/* v497: compact hotkey tabs, blue settings dialog, safer ingredient rows. */
#craftPanel .craft-recipe-box,
#buildPanel .craft-recipe-box,
#shopPanel .craft-recipe-box {
  height: 142px !important;
  min-height: 142px !important;
  max-height: 142px !important;
  grid-template-columns: minmax(0, 1fr) 104px !important;
  gap: 10px !important;
  padding: 8px 10px !important;
  overflow: hidden !important;
}

#craftPanel .craft-ingredients,
#buildPanel .craft-ingredients,
#shopPanel .craft-ingredients,
#craftPanel .craft-ingredients.compact,
#buildPanel .craft-ingredients.compact,
#shopPanel .craft-ingredients.compact,
#craftPanel .craft-ingredients.dense,
#buildPanel .craft-ingredients.dense,
#shopPanel .craft-ingredients.dense,
#craftPanel .craft-ingredients.ultra,
#buildPanel .craft-ingredients.ultra,
#shopPanel .craft-ingredients.ultra {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  align-content: start !important;
  gap: 5px 8px !important;
  max-height: 126px !important;
  overflow: hidden !important;
}

#craftPanel .craft-ingredient,
#buildPanel .craft-ingredient,
#shopPanel .craft-ingredient,
#craftPanel .craft-ingredients.compact .craft-ingredient,
#buildPanel .craft-ingredients.compact .craft-ingredient,
#shopPanel .craft-ingredients.compact .craft-ingredient,
#craftPanel .craft-ingredients.dense .craft-ingredient,
#buildPanel .craft-ingredients.dense .craft-ingredient,
#shopPanel .craft-ingredients.dense .craft-ingredient,
#craftPanel .craft-ingredients.ultra .craft-ingredient,
#buildPanel .craft-ingredients.ultra .craft-ingredient,
#shopPanel .craft-ingredients.ultra .craft-ingredient {
  min-height: 38px !important;
  grid-template-columns: 38px minmax(0, 1fr) !important;
  gap: 10px !important;
  padding: 0 !important;
  overflow: hidden !important;
}

#craftPanel .craft-ingredient-icon,
#buildPanel .craft-ingredient-icon,
#shopPanel .craft-ingredient-icon,
#craftPanel .craft-ingredients.compact .craft-ingredient-icon,
#buildPanel .craft-ingredients.compact .craft-ingredient-icon,
#shopPanel .craft-ingredients.compact .craft-ingredient-icon,
#craftPanel .craft-ingredients.dense .craft-ingredient-icon,
#buildPanel .craft-ingredients.dense .craft-ingredient-icon,
#shopPanel .craft-ingredients.dense .craft-ingredient-icon,
#craftPanel .craft-ingredients.ultra .craft-ingredient-icon,
#buildPanel .craft-ingredients.ultra .craft-ingredient-icon,
#shopPanel .craft-ingredients.ultra .craft-ingredient-icon {
  width: 38px !important;
  height: 38px !important;
  min-width: 38px !important;
  min-height: 38px !important;
}

#craftPanel .craft-ingredient-text,
#buildPanel .craft-ingredient-text,
#shopPanel .craft-ingredient-text,
#craftPanel .craft-ingredients.compact .craft-ingredient-text,
#buildPanel .craft-ingredients.compact .craft-ingredient-text,
#shopPanel .craft-ingredients.compact .craft-ingredient-text,
#craftPanel .craft-ingredients.dense .craft-ingredient-text,
#buildPanel .craft-ingredients.dense .craft-ingredient-text,
#shopPanel .craft-ingredients.dense .craft-ingredient-text,
#craftPanel .craft-ingredients.ultra .craft-ingredient-text,
#buildPanel .craft-ingredients.ultra .craft-ingredient-text,
#shopPanel .craft-ingredients.ultra .craft-ingredient-text {
  min-width: 0 !important;
  font-size: 14px !important;
  line-height: 1 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: clip !important;
}

#craftPanel .craft-preview-icon,
#buildPanel .craft-preview-icon,
#shopPanel .craft-preview-icon {
  width: 100px !important;
  height: 100px !important;
}

.action-dock {
  left: 0 !important;
  top: 248px !important;
  bottom: auto !important;
  transform: none !important;
  width: 88px !important;
  max-height: calc(100vh - 264px) !important;
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 7px !important;
  padding: 0 !important;
  overflow: visible !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  scrollbar-width: none !important;
}

.action-dock::-webkit-scrollbar {
  display: none !important;
}

.action-dock .dock-button,
.action-dock .dock-button.text-dock {
  box-sizing: border-box !important;
  width: 88px !important;
  min-width: 88px !important;
  height: 48px !important;
  min-height: 48px !important;
  padding: 5px 7px 5px 4px !important;
  display: grid !important;
  grid-template-columns: 42px 22px !important;
  align-items: center !important;
  gap: 6px !important;
  border-radius: 0 8px 8px 0 !important;
  border: 3px solid rgba(0, 0, 0, 0.74) !important;
  border-left: none !important;
  background: #3a381e !important;
  color: #ffffff !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.12), 0 5px 0 rgba(0,0,0,0.28), 0 12px 20px rgba(0,0,0,0.22) !important;
  transform: none !important;
}

.action-dock .dock-button.active,
.action-dock .dock-button:hover {
  background: #087fa8 !important;
  border-color: rgba(0, 0, 0, 0.78) !important;
  transform: none !important;
}

.action-dock .dock-button img {
  width: 38px !important;
  height: 38px !important;
  object-fit: contain !important;
  filter: drop-shadow(0 4px 4px rgba(0,0,0,0.35)) !important;
}

.action-dock .dock-button span,
.action-dock .dock-button.text-dock span {
  position: static !important;
  min-width: 0 !important;
  width: 22px !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  color: #ffffff !important;
  font-size: 23px !important;
  line-height: 1 !important;
  font-weight: 1000 !important;
  text-align: center !important;
  white-space: nowrap !important;
  overflow: visible !important;
  text-shadow: 0 2px 3px rgba(0,0,0,0.58) !important;
}

body:not(.chest-open-v198):not(.trade-active):not(.structure-open-v241) #inventory.inventory.game-panel,
#craftPanel.craft-panel.game-panel,
#shopPanel.craft-panel.game-panel,
#adminPanel.admin-panel {
  left: 104px !important;
  right: auto !important;
}

.minimap-tool-tabs {
  gap: 7px !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
}

.minimap-tool-tab,
.minimap-tool-tab.danger {
  box-sizing: border-box !important;
  width: 58px !important;
  height: 50px !important;
  padding: 6px !important;
  border-radius: 8px !important;
  border: 3px solid rgba(0, 0, 0, 0.74) !important;
  background: #3a381e !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.12), 0 5px 0 rgba(0,0,0,0.28), 0 12px 20px rgba(0,0,0,0.22) !important;
  transform: none !important;
}

.minimap-tool-tab:hover,
.minimap-tool-tab.active,
.minimap-tool-tab.danger:hover {
  background: #087fa8 !important;
  transform: none !important;
}

.minimap-tool-tab img {
  width: 36px !important;
  height: 36px !important;
}

#settingsPanel.settings-panel-v480 {
  box-sizing: border-box !important;
  left: 50% !important;
  top: 50% !important;
  right: auto !important;
  bottom: auto !important;
  width: min(754px, calc(100vw - 16px)) !important;
  height: 468px !important;
  min-width: 0 !important;
  max-height: calc(100vh - 18px) !important;
  transform: translate(-50%, -50%) !important;
  padding: 18px 24px 24px !important;
  overflow: hidden !important;
  color: #f8fbff !important;
  background: #087fa8 !important;
  border: 3px solid #064965 !important;
  border-radius: 9px !important;
  box-shadow: 0 5px 0 rgba(0,0,0,0.42), 0 18px 38px rgba(0,0,0,0.42) !important;
}

#settingsPanel.settings-panel-v480 .settings-close-v269 {
  top: 14px !important;
  right: 11px !important;
  width: 54px !important;
  height: 48px !important;
  display: grid !important;
  place-items: center !important;
  padding: 0 !important;
  color: #ffffff !important;
  background: #3397c8 !important;
  border: 3px solid #066187 !important;
  border-radius: 8px !important;
  font-size: 48px !important;
  line-height: 1 !important;
  font-weight: 1000 !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.22), 0 3px 0 rgba(0,0,0,0.26) !important;
}

#settingsPanel.settings-panel-v480 .settings-close-v269:hover {
  background: #41a8d8 !important;
}

#settingsPanel.settings-panel-v480 .settings-header-v269 {
  height: 58px !important;
  margin: 0 !important;
  padding: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: #ffffff !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

#settingsPanel.settings-panel-v480 .settings-icon-v269 {
  display: none !important;
}

#settingsPanel.settings-panel-v480 .settings-header-v269 b {
  font-size: 34px !important;
  line-height: 1 !important;
  font-weight: 1000 !important;
  letter-spacing: 0 !important;
  text-shadow: 0 3px 0 rgba(0,0,0,0.22) !important;
}

#settingsPanel.settings-panel-v480 .settings-options-v269 {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 292px !important;
  grid-auto-rows: min-content !important;
  column-gap: 36px !important;
  row-gap: 14px !important;
  align-items: start !important;
  padding: 0 !important;
  margin-top: 48px !important;
}

#settingsPanel.settings-panel-v480 .settings-section-v480 {
  display: contents !important;
}

#settingsPanel.settings-panel-v480 .settings-section-title-v480 {
  display: none !important;
}

#settingsPanel.settings-panel-v480 .settings-account-v270 {
  grid-column: 1 !important;
  grid-row: 4 !important;
}

#settingsPanel.settings-panel-v480 .settings-audio-v301 {
  grid-column: 1 !important;
  grid-row: 1 !important;
  min-height: 58px !important;
  padding: 0 !important;
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 9px !important;
  color: #f7fbff !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

#settingsPanel.settings-panel-v480 .settings-select-v480 {
  grid-column: 1 !important;
  grid-row: 2 !important;
}

#settingsPanel.settings-panel-v480 > .settings-options-v269 > .settings-select-v404:not(.settings-select-v480) {
  grid-column: 1 !important;
  grid-row: 3 !important;
}

#settingsPanel.settings-panel-v480 .settings-support-v497 {
  grid-column: 1 !important;
  grid-row: 5 !important;
  align-self: end !important;
  justify-self: start !important;
  width: 180px !important;
  height: 50px !important;
  margin-top: 46px !important;
  display: grid !important;
  place-items: center !important;
  text-decoration: none !important;
  color: #a04200 !important;
  background: #ffca28 !important;
  border: 3px solid #d89505 !important;
  border-radius: 8px !important;
  font-size: 18px !important;
  font-weight: 1000 !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.38), 0 5px 0 #9d6d04, 0 11px 16px rgba(0,0,0,0.22) !important;
}

#settingsPanel.settings-panel-v480 .settings-toggle-stable-v497 {
  grid-column: 2 !important;
  grid-row: 1 !important;
}

#settingsPanel.settings-panel-v480 .settings-toggle-soft-v497 {
  grid-column: 2 !important;
  grid-row: 2 !important;
}

#settingsPanel.settings-panel-v480 .settings-toggle-stats-v497 {
  grid-column: 2 !important;
  grid-row: 3 !important;
}

#settingsPanel.settings-panel-v480 .settings-toggle-motion-v497 {
  grid-column: 2 !important;
  grid-row: 4 !important;
}

#settingsPanel.settings-panel-v480 .settings-option-v269,
#settingsPanel.settings-panel-v480 .settings-select-v404,
#settingsPanel.settings-panel-v480 .settings-account-v270 {
  min-height: 0 !important;
  padding: 0 !important;
  color: #f7fbff !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

#settingsPanel.settings-panel-v480 .settings-option-v269 {
  display: grid !important;
  grid-template-columns: 48px minmax(0, 1fr) !important;
  gap: 18px !important;
  align-items: center !important;
}

#settingsPanel.settings-panel-v480 .settings-option-v269 input {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

#settingsPanel.settings-panel-v480 .settings-option-v269 i {
  order: 1 !important;
  position: relative !important;
  width: 38px !important;
  height: 38px !important;
  border-radius: 5px !important;
  background: #07577d !important;
  border: 0 !important;
  box-shadow: inset 0 2px 0 rgba(255,255,255,0.10), 0 2px 0 rgba(0,0,0,0.24) !important;
}

#settingsPanel.settings-panel-v480 .settings-option-v269 i::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  width: auto !important;
  height: auto !important;
  top: 0 !important;
  left: 0 !important;
  display: grid !important;
  place-items: center !important;
  color: #ffffff !important;
  background: transparent !important;
  border-radius: 0 !important;
  transform: none !important;
}

#settingsPanel.settings-panel-v480 .settings-option-v269 input:checked + i {
  background: #07577d !important;
  border: 0 !important;
}

#settingsPanel.settings-panel-v480 .settings-option-v269 input:checked + i::after {
  content: "\2713" !important;
  font-size: 30px !important;
  line-height: 1 !important;
  font-weight: 1000 !important;
  transform: 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 {
  order: 2 !important;
  min-width: 0 !important;
  color: #f7fbff !important;
  font-size: 20px !important;
  line-height: 1.1 !important;
  font-weight: 1000 !important;
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: clip !important;
  text-shadow: 0 2px 0 rgba(0,0,0,0.16) !important;
}

#settingsPanel.settings-panel-v480 .settings-audio-v301 output {
  margin-left: 8px !important;
  font-size: 16px !important;
  opacity: 0.9 !important;
}

#settingsPanel.settings-panel-v480 .settings-select-v404 {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 10px !important;
}

#settingsPanel.settings-panel-v480 .settings-select-v480 select,
#settingsPanel.settings-panel-v480 .settings-select-v404 select {
  width: 100% !important;
  max-width: none !important;
  height: 46px !important;
  padding: 0 40px 0 12px !important;
  color: #ffffff !important;
  background: #08638d !important;
  border: 0 !important;
  border-radius: 3px !important;
  outline: none !important;
  font-size: 18px !important;
  font-weight: 900 !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.10) !important;
}

#settingsPanel.settings-panel-v480 .settings-audio-v301 input[type="range"] {
  width: 100% !important;
  height: 18px !important;
  max-width: 100% !important;
  padding: 0 !important;
  background: transparent !important;
  accent-color: #ffd348 !important;
}

#settingsPanel.settings-panel-v480 .settings-audio-v301 input[type="range"]::-webkit-slider-runnable-track {
  height: 16px !important;
  background: #202232 !important;
  border: 2px solid #10131c !important;
  border-radius: 4px !important;
}

#settingsPanel.settings-panel-v480 .settings-audio-v301 input[type="range"]::-webkit-slider-thumb {
  -webkit-appearance: none !important;
  width: 18px !important;
  height: 18px !important;
  margin-top: -3px !important;
  border-radius: 50% !important;
  background: #ffd348 !important;
  border: 0 !important;
  box-shadow: 0 2px 0 rgba(0,0,0,0.20) !important;
}

#settingsPanel.settings-panel-v480 .settings-audio-v301 input[type="range"]::-moz-range-track {
  height: 16px !important;
  background: #202232 !important;
  border: 2px solid #10131c !important;
  border-radius: 4px !important;
}

#settingsPanel.settings-panel-v480 .settings-audio-v301 input[type="range"]::-moz-range-thumb {
  width: 18px !important;
  height: 18px !important;
  border-radius: 50% !important;
  background: #ffd348 !important;
  border: 0 !important;
}

@media (max-height: 760px) {
  .action-dock {
    top: 238px !important;
    max-height: calc(100vh - 250px) !important;
    gap: 6px !important;
  }

  .action-dock .dock-button,
  .action-dock .dock-button.text-dock {
    height: 44px !important;
    min-height: 44px !important;
  }

  .action-dock .dock-button img {
    width: 34px !important;
    height: 34px !important;
  }
}

@media (max-width: 840px), (pointer: coarse) {
  .action-dock {
    top: 238px !important;
    width: 82px !important;
    max-height: calc(100vh - 250px) !important;
    gap: 6px !important;
  }

  .action-dock .dock-button,
  .action-dock .dock-button.text-dock {
    width: 82px !important;
    min-width: 82px !important;
    height: 44px !important;
    min-height: 44px !important;
    grid-template-columns: 38px 20px !important;
    gap: 5px !important;
  }

  .action-dock .dock-button img {
    width: 34px !important;
    height: 34px !important;
  }

  .action-dock .dock-button span,
  .action-dock .dock-button.text-dock span {
    width: 20px !important;
    font-size: 20px !important;
  }

  body:not(.chest-open-v198):not(.trade-active):not(.structure-open-v241) #inventory.inventory.game-panel,
  #craftPanel.craft-panel.game-panel,
  #shopPanel.craft-panel.game-panel,
  #adminPanel.admin-panel {
    left: 92px !important;
  }

  #craftPanel .craft-recipe-box,
  #buildPanel .craft-recipe-box,
  #shopPanel .craft-recipe-box {
    height: 128px !important;
    min-height: 128px !important;
    max-height: 128px !important;
    grid-template-columns: minmax(0, 1fr) 84px !important;
  }

  #craftPanel .craft-ingredients,
  #buildPanel .craft-ingredients,
  #shopPanel .craft-ingredients,
  #craftPanel .craft-ingredients.compact,
  #buildPanel .craft-ingredients.compact,
  #shopPanel .craft-ingredients.compact,
  #craftPanel .craft-ingredients.dense,
  #buildPanel .craft-ingredients.dense,
  #shopPanel .craft-ingredients.dense,
  #craftPanel .craft-ingredients.ultra,
  #buildPanel .craft-ingredients.ultra,
  #shopPanel .craft-ingredients.ultra {
    max-height: 112px !important;
  }

  #craftPanel .craft-ingredient,
  #buildPanel .craft-ingredient,
  #shopPanel .craft-ingredient,
  #craftPanel .craft-ingredients.compact .craft-ingredient,
  #buildPanel .craft-ingredients.compact .craft-ingredient,
  #shopPanel .craft-ingredients.compact .craft-ingredient,
  #craftPanel .craft-ingredients.dense .craft-ingredient,
  #buildPanel .craft-ingredients.dense .craft-ingredient,
  #shopPanel .craft-ingredients.dense .craft-ingredient,
  #craftPanel .craft-ingredients.ultra .craft-ingredient,
  #buildPanel .craft-ingredients.ultra .craft-ingredient,
  #shopPanel .craft-ingredients.ultra .craft-ingredient {
    min-height: 34px !important;
    grid-template-columns: 34px minmax(0, 1fr) !important;
    gap: 8px !important;
  }

  #craftPanel .craft-ingredient-icon,
  #buildPanel .craft-ingredient-icon,
  #shopPanel .craft-ingredient-icon,
  #craftPanel .craft-ingredients.compact .craft-ingredient-icon,
  #buildPanel .craft-ingredients.compact .craft-ingredient-icon,
  #shopPanel .craft-ingredients.compact .craft-ingredient-icon,
  #craftPanel .craft-ingredients.dense .craft-ingredient-icon,
  #buildPanel .craft-ingredients.dense .craft-ingredient-icon,
  #shopPanel .craft-ingredients.dense .craft-ingredient-icon,
  #craftPanel .craft-ingredients.ultra .craft-ingredient-icon,
  #buildPanel .craft-ingredients.ultra .craft-ingredient-icon,
  #shopPanel .craft-ingredients.ultra .craft-ingredient-icon {
    width: 34px !important;
    height: 34px !important;
    min-width: 34px !important;
    min-height: 34px !important;
  }

  #craftPanel .craft-preview-icon,
  #buildPanel .craft-preview-icon,
  #shopPanel .craft-preview-icon {
    width: 82px !important;
    height: 82px !important;
  }

  #settingsPanel.settings-panel-v480 {
    width: calc(100vw - 12px) !important;
    height: auto !important;
    max-height: calc(100vh - 12px) !important;
    padding: 14px 14px 18px !important;
    overflow-y: auto !important;
  }

  #settingsPanel.settings-panel-v480 .settings-header-v269 {
    height: 48px !important;
  }

  #settingsPanel.settings-panel-v480 .settings-header-v269 b {
    font-size: 28px !important;
  }

  #settingsPanel.settings-panel-v480 .settings-close-v269 {
    width: 44px !important;
    height: 40px !important;
    font-size: 38px !important;
  }

  #settingsPanel.settings-panel-v480 .settings-options-v269 {
    grid-template-columns: 1fr !important;
    gap: 12px !important;
    margin-top: 28px !important;
  }

  #settingsPanel.settings-panel-v480 .settings-options-v269 > *,
  #settingsPanel.settings-panel-v480 .settings-section-v480 > * {
    grid-column: 1 !important;
    grid-row: auto !important;
  }

  #settingsPanel.settings-panel-v480 .settings-support-v497 {
    margin-top: 12px !important;
  }
}

/* v498: collapsible case chances and larger lower side tabs. */
#buildPanel .craft-loot-toggle-v498 {
  box-sizing: border-box !important;
  flex: 0 0 34px !important;
  width: min(245px, calc(100% - 18px)) !important;
  height: 34px !important;
  min-height: 34px !important;
  margin: 6px auto 0 !important;
  padding: 0 14px !important;
  display: grid !important;
  place-items: center !important;
  color: #fff5d8 !important;
  background: #6a3510 !important;
  border: 2px solid rgba(30, 13, 3, 0.82) !important;
  border-radius: 8px !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.16), 0 4px 0 rgba(39,17,5,0.60), 0 8px 12px rgba(0,0,0,0.22) !important;
  font-size: 14px !important;
  line-height: 1 !important;
  font-weight: 1000 !important;
  text-shadow: 0 2px 0 rgba(0,0,0,0.34) !important;
}

#buildPanel .craft-loot-toggle-v498:hover {
  background: #7c4316 !important;
}

#buildPanel .craft-detail:not(.loot-expanded-v498) .craft-loot-summary-v492 {
  display: none !important;
}

#buildPanel .craft-detail.loot-expanded-v498 {
  overflow-y: auto !important;
  overflow-x: hidden !important;
  scrollbar-width: thin !important;
}

#buildPanel .craft-detail.loot-expanded-v498::-webkit-scrollbar {
  display: block !important;
  width: 8px !important;
}

#buildPanel .craft-detail.loot-expanded-v498::-webkit-scrollbar-track {
  background: rgba(38, 19, 6, 0.35) !important;
  border-radius: 999px !important;
}

#buildPanel .craft-detail.loot-expanded-v498::-webkit-scrollbar-thumb {
  background: rgba(255, 212, 99, 0.88) !important;
  border-radius: 999px !important;
}

#buildPanel .craft-detail-card.loot-expanded-v498 {
  height: auto !important;
  min-height: 100% !important;
  overflow: visible !important;
  padding-bottom: 12px !important;
}

#buildPanel .craft-detail-card.loot-expanded-v498 .craft-loot-summary-v492 {
  display: block !important;
  flex: 0 0 auto !important;
  width: min(337px, calc(100% - 14px)) !important;
  max-width: min(337px, calc(100% - 14px)) !important;
  max-height: 132px !important;
  margin: 7px auto 0 !important;
  padding: 6px 7px !important;
  overflow: hidden !important;
}

#buildPanel .craft-detail-card.loot-expanded-v498 .craft-loot-title-v492 {
  margin-bottom: 5px !important;
  font-size: 12px !important;
}

#buildPanel .craft-detail-card.loot-expanded-v498 .craft-loot-chips-v492 {
  grid-template-columns: repeat(auto-fill, 38px) !important;
  justify-content: center !important;
  gap: 5px !important;
  max-height: 94px !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  padding: 0 5px 1px 0 !important;
  scrollbar-width: thin !important;
}

#buildPanel .craft-detail-card.loot-expanded-v498 .craft-loot-chips-v492::-webkit-scrollbar {
  display: block !important;
  width: 7px !important;
}

#buildPanel .craft-detail-card.loot-expanded-v498 .craft-loot-chips-v492::-webkit-scrollbar-track {
  background: rgba(35, 15, 4, 0.42) !important;
  border-radius: 999px !important;
}

#buildPanel .craft-detail-card.loot-expanded-v498 .craft-loot-chips-v492::-webkit-scrollbar-thumb {
  background: rgba(255, 214, 103, 0.88) !important;
  border-radius: 999px !important;
}

.action-dock {
  top: 276px !important;
  width: 100px !important;
  max-height: calc(100vh - 292px) !important;
  gap: 11px !important;
}

.action-dock .dock-button,
.action-dock .dock-button.text-dock {
  width: 100px !important;
  min-width: 100px !important;
  height: 56px !important;
  min-height: 56px !important;
  grid-template-columns: 48px 26px !important;
  gap: 8px !important;
  padding: 5px 9px 5px 5px !important;
}

.action-dock .dock-button img {
  width: 46px !important;
  height: 46px !important;
}

.action-dock .dock-button span,
.action-dock .dock-button.text-dock span {
  width: 26px !important;
  font-size: 25px !important;
}

body:not(.chest-open-v198):not(.trade-active):not(.structure-open-v241) #inventory.inventory.game-panel,
#craftPanel.craft-panel.game-panel,
#shopPanel.craft-panel.game-panel,
#adminPanel.admin-panel {
  left: 116px !important;
}

@media (max-height: 760px) {
  .action-dock {
    top: 258px !important;
    width: 96px !important;
    max-height: calc(100vh - 270px) !important;
    gap: 9px !important;
  }

  .action-dock .dock-button,
  .action-dock .dock-button.text-dock {
    width: 96px !important;
    min-width: 96px !important;
    height: 50px !important;
    min-height: 50px !important;
    grid-template-columns: 44px 24px !important;
    gap: 8px !important;
  }

  .action-dock .dock-button img {
    width: 42px !important;
    height: 42px !important;
  }

  .action-dock .dock-button span,
  .action-dock .dock-button.text-dock span {
    width: 24px !important;
    font-size: 23px !important;
  }

  body:not(.chest-open-v198):not(.trade-active):not(.structure-open-v241) #inventory.inventory.game-panel,
  #craftPanel.craft-panel.game-panel,
  #shopPanel.craft-panel.game-panel,
  #adminPanel.admin-panel {
    left: 110px !important;
  }
}

@media (max-width: 840px), (pointer: coarse) {
  .action-dock {
    top: 258px !important;
    width: 92px !important;
    max-height: calc(100vh - 270px) !important;
    gap: 9px !important;
  }

  .action-dock .dock-button,
  .action-dock .dock-button.text-dock {
    width: 92px !important;
    min-width: 92px !important;
    height: 50px !important;
    min-height: 50px !important;
    grid-template-columns: 42px 22px !important;
    gap: 7px !important;
  }

  .action-dock .dock-button img {
    width: 40px !important;
    height: 40px !important;
  }

  .action-dock .dock-button span,
  .action-dock .dock-button.text-dock span {
    width: 22px !important;
    font-size: 22px !important;
  }

  body:not(.chest-open-v198):not(.trade-active):not(.structure-open-v241) #inventory.inventory.game-panel,
  #craftPanel.craft-panel.game-panel,
  #shopPanel.craft-panel.game-panel,
  #adminPanel.admin-panel {
    left: 104px !important;
  }
}

/* v499 final chat override after mobile layout rules. */
.chat-box,
.chat-box * {
  font-family: Arial, Helvetica, sans-serif !important;
}

.chat-box {
  z-index: 7800 !important;
}

.player-chat-bubble,
.player-chat-bubble * {
  font-family: Arial, Helvetica, sans-serif !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
}

.player-chat-bubble {
  line-height: 1.28 !important;
}

/* v500: cleaner settings/admin panels and safer button layout. */
#settingsPanel.settings-panel-v480 {
  box-sizing: border-box !important;
  width: min(820px, calc(100vw - 18px)) !important;
  height: auto !important;
  min-height: 430px !important;
  max-height: calc(100vh - 18px) !important;
  padding: 18px 22px 22px !important;
  overflow: hidden !important;
  color: #f8fcff !important;
  background: #087aa4 !important;
  border: 3px solid #053e59 !important;
  border-radius: 9px !important;
  box-shadow: 0 5px 0 rgba(0,0,0,0.46), 0 20px 38px rgba(0,0,0,0.38) !important;
}

#settingsPanel.settings-panel-v480 .settings-header-v269 {
  height: 56px !important;
  margin: 0 62px 14px !important;
  padding: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

#settingsPanel.settings-panel-v480 .settings-header-v269 b {
  font-size: 34px !important;
  line-height: 1 !important;
  color: #fff6c8 !important;
  text-shadow: 0 3px 0 rgba(0,0,0,0.28) !important;
}

#settingsPanel.settings-panel-v480 .settings-close-v269 {
  top: 15px !important;
  right: 13px !important;
  width: 50px !important;
  height: 48px !important;
  font-size: 42px !important;
  background: #2294c6 !important;
  border: 3px solid #056086 !important;
  border-radius: 8px !important;
  box-shadow: inset 0 2px 0 rgba(255,255,255,0.18), 0 4px 0 rgba(0,0,0,0.24) !important;
}

#settingsPanel.settings-panel-v480 .settings-options-v269 {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(260px, 0.86fr) !important;
  grid-auto-rows: min-content !important;
  gap: 12px 18px !important;
  margin: 0 !important;
  padding: 0 !important;
  align-items: stretch !important;
}

#settingsPanel.settings-panel-v480 .settings-section-v480 {
  display: contents !important;
}

#settingsPanel.settings-panel-v480 .settings-section-title-v480,
#settingsPanel.settings-panel-v480 .settings-icon-v269 {
  display: none !important;
}

#settingsPanel.settings-panel-v480 .settings-audio-v301 {
  grid-column: 1 !important;
  grid-row: 1 !important;
  min-height: 82px !important;
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 10px !important;
}

#settingsPanel.settings-panel-v480 .settings-select-v480 {
  grid-column: 1 !important;
  grid-row: 2 !important;
}

#settingsPanel.settings-panel-v480 > .settings-options-v269 > .settings-select-v404:not(.settings-select-v480) {
  grid-column: 1 !important;
  grid-row: 3 !important;
}

#settingsPanel.settings-panel-v480 .settings-account-v270 {
  grid-column: 1 !important;
  grid-row: 4 !important;
}

#settingsPanel.settings-panel-v480 .settings-support-v497 {
  grid-column: 1 !important;
  grid-row: 5 !important;
  width: 188px !important;
  height: 48px !important;
  margin: 8px 0 0 !important;
}

#settingsPanel.settings-panel-v480 .settings-toggle-stable-v497 {
  grid-column: 2 !important;
  grid-row: 1 !important;
}

#settingsPanel.settings-panel-v480 .settings-toggle-soft-v497 {
  grid-column: 2 !important;
  grid-row: 2 !important;
}

#settingsPanel.settings-panel-v480 .settings-toggle-stats-v497 {
  grid-column: 2 !important;
  grid-row: 3 !important;
}

#settingsPanel.settings-panel-v480 .settings-toggle-motion-v497 {
  grid-column: 2 !important;
  grid-row: 4 !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 {
  box-sizing: border-box !important;
  min-width: 0 !important;
  min-height: 60px !important;
  padding: 12px 14px !important;
  color: #f7fbff !important;
  background: #0a5d80 !important;
  border: 2px solid rgba(4, 52, 75, 0.85) !important;
  border-radius: 8px !important;
  box-shadow: inset 0 2px 0 rgba(255,255,255,0.08), 0 3px 0 rgba(0,0,0,0.20) !important;
}

#settingsPanel.settings-panel-v480 .settings-option-v269 {
  display: grid !important;
  grid-template-columns: 44px minmax(0, 1fr) !important;
  gap: 14px !important;
  align-items: center !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 {
  min-width: 0 !important;
  color: #f8fcff !important;
  font-size: 18px !important;
  line-height: 1.15 !important;
  font-weight: 1000 !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
  text-shadow: 0 2px 0 rgba(0,0,0,0.20) !important;
}

#settingsPanel.settings-panel-v480 .settings-account-v270 b {
  display: block !important;
  max-width: 100% !important;
  margin-top: 6px !important;
  overflow: hidden !important;
  color: #dcefff !important;
  font-size: 13px !important;
  line-height: 1.2 !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

#settingsPanel.settings-panel-v480 .settings-option-v269 i {
  width: 38px !important;
  height: 38px !important;
  border-radius: 7px !important;
  background: #073f5d !important;
  border: 2px solid #052e45 !important;
  box-shadow: inset 0 2px 0 rgba(255,255,255,0.12), 0 2px 0 rgba(0,0,0,0.22) !important;
}

#settingsPanel.settings-panel-v480 .settings-option-v269 input:checked + i {
  background: #ffd040 !important;
  border-color: #d59504 !important;
}

#settingsPanel.settings-panel-v480 .settings-option-v269 input:checked + i::after {
  color: #084462 !important;
  font-size: 28px !important;
  text-shadow: none !important;
}

#settingsPanel.settings-panel-v480 .settings-select-v404 {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 8px !important;
}

#settingsPanel.settings-panel-v480 .settings-select-v480 select,
#settingsPanel.settings-panel-v480 .settings-select-v404 select {
  box-sizing: border-box !important;
  width: 100% !important;
  height: 44px !important;
  min-width: 0 !important;
  padding: 0 38px 0 12px !important;
  color: #ffffff !important;
  background: #0a78a5 !important;
  border: 2px solid #064a6a !important;
  border-radius: 6px !important;
  font-size: 17px !important;
  font-weight: 1000 !important;
  box-shadow: inset 0 2px 0 rgba(255,255,255,0.10) !important;
}

#settingsPanel.settings-panel-v480 .settings-audio-v301 input[type="range"] {
  height: 20px !important;
}

#settingsPanel.settings-panel-v480 .settings-audio-v301 output {
  float: right !important;
  color: #ffdd62 !important;
  font-size: 16px !important;
}

#adminPanel.admin-panel {
  box-sizing: border-box !important;
  width: min(880px, calc(100vw - 24px)) !important;
  height: min(690px, calc(100vh - 28px)) !important;
  min-width: 0 !important;
  padding: 14px !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
  overflow: hidden !important;
}

#adminPanel.admin-panel.hidden {
  display: none !important;
}

#adminPanel .admin-head {
  flex: 0 0 auto !important;
  min-height: 48px !important;
}

#adminPanel .admin-tabs {
  flex: 0 0 auto !important;
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  overflow: visible !important;
}

#adminPanel .admin-tabs .craft-category-tab,
#adminPanel .admin-tabs button {
  box-sizing: border-box !important;
  flex: 1 1 128px !important;
  min-width: 108px !important;
  max-width: none !important;
  height: 44px !important;
  min-height: 44px !important;
  padding: 0 10px !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  font-size: 15px !important;
  line-height: 1 !important;
}

#adminPanel .admin-body {
  flex: 1 1 auto !important;
  min-height: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
  overflow: hidden !important;
}

#adminPanel .admin-tools {
  min-height: 0 !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  gap: 10px !important;
  align-items: end !important;
}

#adminPanel .admin-search-wrap {
  min-width: 0 !important;
}

#adminPanel .admin-search-wrap input,
#adminPanel input {
  box-sizing: border-box !important;
  width: 100% !important;
  min-width: 0 !important;
}

#adminPanel .admin-list,
#adminPanel .admin-item-list,
#adminPanel .admin-mode-list {
  flex: 1 1 auto !important;
  min-height: 0 !important;
  max-height: none !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
}

#adminPanel .admin-tools,
#adminPanel .admin-help,
#adminPanel .admin-give-controls,
#adminPanel .admin-spawn-controls,
#adminPanel .admin-action-message {
  flex: 0 0 auto !important;
}

#adminPanel .admin-diagnostics-v354 {
  flex: 1 1 auto !important;
  min-height: 0 !important;
  overflow: auto !important;
}

#adminPanel .admin-row,
#adminPanel .admin-item-row,
#adminPanel .admin-mode-row {
  box-sizing: border-box !important;
  min-height: 56px !important;
  height: auto !important;
  padding: 9px 10px !important;
  gap: 10px !important;
  overflow: hidden !important;
}

#adminPanel .admin-item-label,
#adminPanel .admin-row-main,
#adminPanel .admin-mode-main,
#adminPanel .admin-selected-item {
  min-width: 0 !important;
}

#adminPanel .admin-item-label b,
#adminPanel .admin-row-main b,
#adminPanel .admin-mode-main b,
#adminPanel .admin-selected-item b {
  max-width: 100% !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

#adminPanel .admin-item-label span,
#adminPanel .admin-row-main span,
#adminPanel .admin-mode-main span {
  white-space: normal !important;
  overflow-wrap: anywhere !important;
  line-height: 1.16 !important;
}

#adminPanel .admin-give-controls,
#adminPanel .admin-spawn-controls {
  box-sizing: border-box !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1.3fr) minmax(190px, 0.72fr) minmax(142px, auto) !important;
  gap: 10px !important;
  align-items: stretch !important;
  min-height: 72px !important;
}

#adminPanel .admin-spawn-controls {
  grid-template-columns: minmax(0, 1fr) minmax(190px, auto) !important;
}

#adminPanel .admin-amount-box,
#adminPanel .admin-selected-item,
#adminPanel .admin-target {
  box-sizing: border-box !important;
  min-width: 0 !important;
}

#adminPanel .admin-quick-amounts,
#adminPanel .admin-entity-categories,
#adminPanel .admin-speed-controls {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 6px !important;
  min-width: 0 !important;
}

#adminPanel .admin-quick-amounts button,
#adminPanel .admin-entity-categories button,
#adminPanel .admin-speed-controls button,
#adminPanel .admin-mode-toggle {
  box-sizing: border-box !important;
  min-width: 48px !important;
  height: 34px !important;
  min-height: 34px !important;
  padding: 0 9px !important;
  white-space: nowrap !important;
  line-height: 1 !important;
  font-size: 13px !important;
}

#adminPanel .admin-give-button {
  box-sizing: border-box !important;
  min-width: 132px !important;
  min-height: 54px !important;
  height: auto !important;
  padding: 8px 12px !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
  line-height: 1.08 !important;
}

@media (max-width: 840px), (pointer: coarse) {
  #settingsPanel.settings-panel-v480 {
    width: calc(100vw - 12px) !important;
    min-height: 0 !important;
    max-height: calc(100vh - 12px) !important;
    padding: 12px !important;
    overflow-y: auto !important;
  }

  #settingsPanel.settings-panel-v480 .settings-header-v269 {
    height: 48px !important;
    margin: 0 52px 10px !important;
  }

  #settingsPanel.settings-panel-v480 .settings-header-v269 b {
    font-size: 27px !important;
  }

  #settingsPanel.settings-panel-v480 .settings-options-v269 {
    grid-template-columns: 1fr !important;
    gap: 10px !important;
  }

  #settingsPanel.settings-panel-v480 .settings-options-v269 > *,
  #settingsPanel.settings-panel-v480 .settings-section-v480 > * {
    grid-column: 1 !important;
    grid-row: auto !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 {
    min-height: 54px !important;
    padding: 10px 12px !important;
  }

  #adminPanel.admin-panel {
    width: calc(100vw - 12px) !important;
    height: calc(100vh - 14px) !important;
    left: 6px !important;
    right: auto !important;
    padding: 10px !important;
  }

  #adminPanel .admin-body {
    gap: 8px !important;
  }

  #adminPanel .admin-tools,
  #adminPanel .admin-give-controls,
  #adminPanel .admin-spawn-controls {
    grid-template-columns: 1fr !important;
  }

  #adminPanel .admin-tabs .craft-category-tab,
  #adminPanel .admin-tabs button {
    flex-basis: calc(50% - 4px) !important;
  }
}

/* v501: settings closer to the blue reference and admin give controls out of the item grid. */
#settingsPanel.settings-panel-v480 {
  width: min(760px, calc(100vw - 18px)) !important;
  min-height: 462px !important;
  padding: 18px 24px 22px !important;
  background: #087da7 !important;
  border: 3px solid #053f5d !important;
  border-radius: 9px !important;
  box-shadow: 0 5px 0 rgba(0,0,0,0.38), 0 18px 32px rgba(0,0,0,0.30) !important;
}

#settingsPanel.settings-panel-v480 .settings-header-v269 {
  height: 60px !important;
  margin: 0 62px 18px !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

#settingsPanel.settings-panel-v480 .settings-header-v269 b {
  color: #fff9d6 !important;
  font-size: 34px !important;
  line-height: 1 !important;
  letter-spacing: 0 !important;
  text-shadow: 0 3px 0 rgba(0,0,0,0.28) !important;
}

#settingsPanel.settings-panel-v480 .settings-close-v269 {
  top: 14px !important;
  right: 13px !important;
  width: 52px !important;
  height: 50px !important;
  color: #ffffff !important;
  background: #249bd0 !important;
  border: 3px solid #056087 !important;
  border-radius: 8px !important;
  box-shadow: inset 0 2px 0 rgba(255,255,255,0.22), 0 4px 0 rgba(0,0,0,0.24) !important;
}

#settingsPanel.settings-panel-v480 .settings-options-v269 {
  grid-template-columns: minmax(0, 1fr) minmax(260px, 0.72fr) !important;
  gap: 14px 30px !important;
  align-items: start !important;
}

#settingsPanel.settings-panel-v480 .settings-section-v480 {
  display: contents !important;
}

#settingsPanel.settings-panel-v480 .settings-section-title-v480,
#settingsPanel.settings-panel-v480 .settings-icon-v269 {
  display: none !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 {
  min-height: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

#settingsPanel.settings-panel-v480 .settings-audio-v301 {
  grid-column: 1 !important;
  grid-row: 1 !important;
  display: grid !important;
  gap: 8px !important;
}

#settingsPanel.settings-panel-v480 .settings-select-v480 {
  grid-column: 1 !important;
  grid-row: 2 !important;
}

#settingsPanel.settings-panel-v480 > .settings-options-v269 > .settings-select-v404:not(.settings-select-v480) {
  grid-column: 1 !important;
  grid-row: 3 !important;
}

#settingsPanel.settings-panel-v480 .settings-account-v270 {
  grid-column: 1 !important;
  grid-row: 4 !important;
  display: grid !important;
  gap: 5px !important;
}

#settingsPanel.settings-panel-v480 .settings-account-v270.hidden {
  display: none !important;
}

#settingsPanel.settings-panel-v480 .settings-support-v497 {
  grid-column: 1 !important;
  grid-row: 5 !important;
  width: 184px !important;
  height: 50px !important;
  margin-top: 8px !important;
  color: #9b3d00 !important;
  background: #ffd033 !important;
  border: 3px solid #db8f00 !important;
  border-radius: 8px !important;
  box-shadow: 0 4px 0 #9b5900, inset 0 2px 0 rgba(255,255,255,0.32) !important;
}

#settingsPanel.settings-panel-v480 .settings-toggle-stable-v497 {
  grid-column: 2 !important;
  grid-row: 1 !important;
}

#settingsPanel.settings-panel-v480 .settings-toggle-soft-v497 {
  grid-column: 2 !important;
  grid-row: 2 !important;
}

#settingsPanel.settings-panel-v480 .settings-toggle-stats-v497 {
  grid-column: 2 !important;
  grid-row: 3 !important;
}

#settingsPanel.settings-panel-v480 .settings-toggle-motion-v497 {
  grid-column: 2 !important;
  grid-row: 4 !important;
}

#settingsPanel.settings-panel-v480 .settings-option-v269 {
  display: grid !important;
  grid-template-columns: 46px minmax(0, 1fr) !important;
  gap: 16px !important;
  align-items: center !important;
  min-height: 52px !important;
}

#settingsPanel.settings-panel-v480 .settings-option-v269 i {
  grid-column: 1 !important;
  grid-row: 1 !important;
  width: 39px !important;
  height: 39px !important;
  background: #f4f8fb !important;
  border: 3px solid #075c82 !important;
  border-radius: 3px !important;
  box-shadow: 0 3px 0 rgba(0,0,0,0.18) !important;
}

#settingsPanel.settings-panel-v480 .settings-option-v269 input:checked + i {
  background: #075879 !important;
  border-color: #054260 !important;
}

#settingsPanel.settings-panel-v480 .settings-option-v269 input:checked + i::after {
  color: #ffffff !important;
  font-size: 31px !important;
  line-height: 39px !important;
  text-shadow: none !important;
}

#settingsPanel.settings-panel-v480 .settings-option-v269 span {
  grid-column: 2 !important;
  grid-row: 1 !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 {
  color: #f7fbff !important;
  font-size: 19px !important;
  line-height: 1.1 !important;
  font-weight: 1000 !important;
  text-shadow: 0 2px 0 rgba(0,0,0,0.22) !important;
}

#settingsPanel.settings-panel-v480 .settings-audio-v301 output {
  float: right !important;
  color: #ffdd62 !important;
  font-size: 16px !important;
}

#settingsPanel.settings-panel-v480 .settings-select-v404 {
  display: grid !important;
  gap: 8px !important;
}

#settingsPanel.settings-panel-v480 .settings-select-v480 select,
#settingsPanel.settings-panel-v480 .settings-select-v404 select {
  height: 46px !important;
  color: #ffffff !important;
  background: #096f9c !important;
  border: 0 !important;
  border-radius: 3px !important;
  box-shadow: inset 0 2px 0 rgba(255,255,255,0.08) !important;
}

#settingsPanel.settings-panel-v480 .settings-audio-v301 input[type="range"] {
  width: 100% !important;
  height: 18px !important;
}

#settingsPanel.settings-panel-v480 .settings-account-v270 b {
  max-width: 100% !important;
  color: #e9f7ff !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

#adminPanel.admin-panel {
  height: min(720px, calc(100vh - 28px)) !important;
}

#adminPanel .admin-body {
  display: flex !important;
  flex-direction: column !important;
  min-height: 0 !important;
  overflow: hidden !important;
}

#adminPanel .admin-item-list {
  flex: 1 1 0 !important;
  min-height: 230px !important;
  max-height: none !important;
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(205px, 1fr)) !important;
  align-content: start !important;
  gap: 8px !important;
  padding: 0 4px 8px 0 !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
}

#adminPanel .admin-item-row {
  min-height: 68px !important;
  padding: 9px 11px !important;
  display: grid !important;
  grid-template-columns: 52px minmax(0, 1fr) !important;
  justify-content: start !important;
  align-items: center !important;
}

#adminPanel .admin-item-icon {
  width: 48px !important;
  height: 48px !important;
  border-radius: 10px !important;
  background-size: 88% !important;
}

#adminPanel .admin-give-controls,
#adminPanel .admin-spawn-controls {
  position: static !important;
  inset: auto !important;
  transform: none !important;
  z-index: auto !important;
  flex: 0 0 auto !important;
  margin: 0 !important;
  padding: 10px !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 215px 150px !important;
  gap: 10px !important;
  align-items: stretch !important;
  background: rgba(7, 18, 30, 0.78) !important;
  border: 1px solid rgba(255,255,255,0.12) !important;
  border-radius: 10px !important;
}

#adminPanel .admin-spawn-controls {
  grid-template-columns: minmax(0, 1fr) 210px !important;
}

#adminPanel .admin-selected-item {
  min-height: 58px !important;
  padding: 8px 10px !important;
  display: grid !important;
  gap: 3px !important;
  align-content: center !important;
  overflow: hidden !important;
  background: rgba(255,255,255,0.06) !important;
  border-radius: 8px !important;
}

#adminPanel .admin-selected-item span,
#adminPanel .admin-amount-box span {
  font-size: 12px !important;
  line-height: 1 !important;
  opacity: 0.82 !important;
}

#adminPanel .admin-selected-item b {
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

#adminPanel .admin-selected-item em {
  overflow: hidden !important;
  color: #89e0ff !important;
  font-style: normal !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

#adminPanel .admin-amount-box {
  min-width: 0 !important;
  display: grid !important;
  grid-template-rows: auto 36px auto !important;
  gap: 5px !important;
}

#adminPanel .admin-amount-box input {
  height: 36px !important;
}

#adminPanel .admin-quick-amounts {
  gap: 5px !important;
}

#adminPanel .admin-quick-amounts button {
  min-width: 43px !important;
  height: 29px !important;
  min-height: 29px !important;
}

#adminPanel .admin-give-button {
  min-width: 0 !important;
  min-height: 58px !important;
  height: auto !important;
  align-self: stretch !important;
}

@media (max-width: 840px), (pointer: coarse) {
  #settingsPanel.settings-panel-v480 {
    width: calc(100vw - 12px) !important;
    min-height: 0 !important;
    padding: 12px !important;
    overflow-y: auto !important;
  }

  #settingsPanel.settings-panel-v480 .settings-options-v269 {
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }

  #settingsPanel.settings-panel-v480 .settings-options-v269 > *,
  #settingsPanel.settings-panel-v480 .settings-section-v480 > * {
    grid-column: 1 !important;
    grid-row: auto !important;
  }

  #adminPanel.admin-panel {
    height: calc(100vh - 14px) !important;
  }

  #adminPanel .admin-item-list {
    min-height: 180px !important;
    grid-template-columns: 1fr !important;
  }

  #adminPanel .admin-give-controls,
  #adminPanel .admin-spawn-controls {
    grid-template-columns: 1fr !important;
  }
}

/* v503: ten-row leaderboards fit without vertical jitter. */
#leaderboardPanel.leaderboard-panel {
  width: 206px !important;
  max-width: 206px !important;
  max-height: none !important;
  padding: 7px !important;
  overflow: visible !important;
}

#leaderboardPanel .leaderboard-title {
  margin: 0 0 5px !important;
  font-size: 13px !important;
  line-height: 1 !important;
}

#leaderboardPanel .leaderboard-list {
  max-height: none !important;
  overflow: visible !important;
  gap: 3px !important;
}

#leaderboardPanel .leaderboard-row {
  box-sizing: border-box !important;
  min-height: 25px !important;
  height: 25px !important;
  grid-template-columns: 24px minmax(0, 1fr) auto !important;
  gap: 5px !important;
  padding: 3px 5px !important;
  align-items: center !important;
}

#leaderboardPanel .leaderboard-rank {
  width: 24px !important;
  min-width: 24px !important;
  font-size: 10px !important;
}

#leaderboardPanel .leaderboard-rank.crown-rank-v411 img {
  width: 18px !important;
  height: 18px !important;
}

#leaderboardPanel .leaderboard-name {
  max-width: 100% !important;
  font-size: 11px !important;
  line-height: 1.05 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

#leaderboardPanel .leaderboard-meta {
  min-width: 48px !important;
  font-size: 9px !important;
  line-height: 1 !important;
  text-align: right !important;
  white-space: nowrap !important;
}

.main-leaderboard-grid-v140 {
  grid-template-columns: repeat(3, minmax(205px, 1fr)) !important;
  gap: 8px !important;
  align-items: start !important;
}

.main-leaderboard-card-v140 {
  min-height: 0 !important;
  max-height: none !important;
  padding: 8px !important;
  overflow: visible !important;
}

.main-leaderboard-card-title-v140 {
  min-height: 20px !important;
  margin-bottom: 4px !important;
  font-size: 14px !important;
  line-height: 1.05 !important;
}

.main-leaderboard-period-timer-v480 {
  margin: 0 0 4px !important;
  font-size: 10px !important;
  line-height: 1.05 !important;
}

.main-leaderboard-rewards-v480 {
  gap: 4px !important;
  margin-bottom: 5px !important;
}

.main-leaderboard-reward-chip-v480 {
  min-height: 21px !important;
  padding: 2px 5px !important;
  grid-template-columns: auto 15px auto !important;
  gap: 3px !important;
  font-size: 9px !important;
}

.main-leaderboard-list-v140 {
  max-height: none !important;
  overflow: visible !important;
  gap: 4px !important;
}

.main-leaderboard-row-v140 {
  min-height: 29px !important;
  height: 29px !important;
  grid-template-columns: 25px 28px minmax(0, 1fr) minmax(54px, auto) !important;
  gap: 5px !important;
  padding: 4px 5px !important;
  align-items: center !important;
}

.main-leaderboard-avatar-v140 {
  width: 28px !important;
  height: 28px !important;
  font-size: 11px !important;
}

.main-leaderboard-rank-v140 {
  width: 25px !important;
  min-width: 25px !important;
  font-size: 10px !important;
}

.main-leaderboard-name-v140 {
  font-size: 11px !important;
  line-height: 1.05 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

.main-leaderboard-value-v140 b {
  font-size: 11px !important;
  line-height: 1 !important;
}

.main-leaderboard-value-v140 span,
.main-leaderboard-row-reward-v480 {
  font-size: 8px !important;
  line-height: 1 !important;
}

@media (max-width: 760px) {
  .main-leaderboard-grid-v140 {
    grid-template-columns: 1fr !important;
  }
}

/* v504: visual day/night phase indicator without literal phase labels. */
:root {
  --night-world-brightness: 0.712;
  --day-night-progress: 0%;
}

.day-night-timer {
  top: 44px !important;
  min-width: 104px !important;
  width: auto !important;
  height: 38px !important;
  padding: 4px 12px 4px 6px !important;
  gap: 8px !important;
  border: 2px solid rgba(112, 74, 16, .90) !important;
  border-radius: 18px !important;
  background: rgba(58, 44, 24, .74) !important;
  color: #fff3c1 !important;
  box-shadow:
    0 4px 0 rgba(23, 16, 10, .58),
    0 8px 18px rgba(0, 0, 0, .26),
    inset 0 1px 0 rgba(255, 244, 184, .28) !important;
  font-family: "Ahardice Fredoka", "Trebuchet MS", Arial, sans-serif !important;
  text-shadow: 0 2px 0 rgba(62, 34, 10, .62) !important;
}

.day-night-timer.night {
  border-color: rgba(78, 104, 170, .82) !important;
  background: rgba(12, 22, 48, .78) !important;
  color: #dce8ff !important;
  box-shadow:
    0 4px 0 rgba(4, 9, 24, .70),
    0 8px 18px rgba(0, 0, 0, .32),
    0 0 18px rgba(78, 123, 255, .16),
    inset 0 1px 0 rgba(202, 226, 255, .18) !important;
  text-shadow: 0 2px 0 rgba(0, 5, 18, .72) !important;
}

.day-night-icon {
  width: 30px !important;
  height: 30px !important;
  min-width: 30px !important;
  display: grid !important;
  place-items: center !important;
  border: 3px solid transparent !important;
  border-radius: 50% !important;
  box-sizing: border-box !important;
  background:
    radial-gradient(circle at 50% 46%, #ffe985 0 42%, #f7b939 48% 58%, transparent 62%) padding-box,
    conic-gradient(#ffd34f var(--day-night-progress), rgba(255,255,255,.22) 0) border-box !important;
  color: #fff9d2 !important;
  font-size: 15px !important;
  font-weight: 950 !important;
  line-height: 1 !important;
  box-shadow: 0 2px 0 rgba(60, 35, 10, .58), 0 0 12px rgba(255, 211, 79, .22) !important;
}

.day-night-timer.night .day-night-icon {
  background:
    radial-gradient(circle at 50% 46%, #233a78 0 42%, #101c42 49% 61%, transparent 64%) padding-box,
    conic-gradient(#91bcff var(--day-night-progress), rgba(220,235,255,.20) 0) border-box !important;
  color: #edf5ff !important;
  box-shadow: 0 2px 0 rgba(0, 6, 22, .76), 0 0 14px rgba(125, 169, 255, .30) !important;
}

.day-night-timer b {
  min-width: 44px !important;
  font-size: 14px !important;
  line-height: 1 !important;
  text-align: left !important;
}

@media (max-width: 760px), (hover: none), (pointer: coarse) {
  .day-night-timer {
    top: calc(38px + var(--safe-top-v487)) !important;
    min-width: 86px !important;
    height: 31px !important;
    padding: 3px 8px 3px 4px !important;
    gap: 6px !important;
    border-radius: 15px !important;
  }

  .day-night-icon {
    width: 25px !important;
    height: 25px !important;
    min-width: 25px !important;
    border-width: 3px !important;
    font-size: 12px !important;
  }

  .day-night-timer b {
    min-width: 38px !important;
    font-size: 12px !important;
  }
}

/* v504 night light: darken the world with a soft player-centered visibility mask. */
#game {
  z-index: 0;
  filter: none !important;
  transition: none !important;
}

body.night-active #game {
  filter: none !important;
}

.night-light-overlay {
  --night-light-x: 50vw;
  --night-light-y: 50vh;
  --night-light-core: 57px;
  --night-light-soft: 113px;
  --night-light-falloff: 248px;
  --night-veil-opacity: .58;
  position: fixed;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  opacity: 0;
  background:
    radial-gradient(
      circle at var(--night-light-x) var(--night-light-y),
      rgba(5, 8, 18, 0) 0,
      rgba(5, 8, 18, 0) var(--night-light-core),
      rgba(5, 8, 18, .10) var(--night-light-soft),
      rgba(5, 8, 18, var(--night-veil-opacity)) var(--night-light-falloff),
      rgba(5, 8, 18, var(--night-veil-opacity)) 100%
    );
  transition: opacity var(--day-night-transition-ms) linear;
  will-change: opacity, background;
}

.night-light-overlay.no-player-light-v523 {
  background: rgba(5, 8, 18, var(--night-veil-opacity));
}

body.night-active .night-light-overlay:not(.hidden) {
  opacity: 1;
}

body:not(.game-started) .night-light-overlay,
body.menu-open .night-light-overlay,
.night-light-overlay.hidden {
  display: none !important;
}

@media (max-width: 760px), (hover: none), (pointer: coarse) {
  .night-light-overlay {
    --night-light-core: 48px;
    --night-light-soft: 92px;
    --night-light-falloff: 203px;
  }
}

body.night-active #hotbar,
body.night-active #equipmentSlots {
  z-index: 80 !important;
  opacity: 1 !important;
  filter: none !important;
}

body.night-active #hotbar .hotbar-slot,
body.night-active #equipmentSlots .hotbar-slot {
  opacity: 1 !important;
  filter: none !important;
}

/* v505: server-driven biome weather overlays and clearer staff admin layouts. */
.env-weather-layer {
  position: absolute;
  inset: -16%;
  pointer-events: none;
  display: none;
  opacity: 0;
  background: none;
  mix-blend-mode: normal;
  transform: translate3d(0, 0, 0);
  animation: none;
  transition: opacity 220ms ease;
  will-change: transform, opacity;
}

.env-weather-layer.active {
  opacity: 0;
}

.env-weather-layer.desert-storm {
  background: none;
  animation: none;
}

.env-weather-layer.winter-blizzard {
  background: none;
  animation: none;
}

@keyframes desert-storm-drift-v510 {
  from { transform: translate3d(-7%, -2%, 0); }
  to { transform: translate3d(7%, 3%, 0); }
}

@keyframes winter-blizzard-drift-v510 {
  from { transform: translate3d(-6%, -4%, 0); }
  to { transform: translate3d(8%, 5%, 0); }
}

body.graphics-ultra-low-v480 .env-weather-layer,
body.soft-effects-disabled-v480 .env-weather-layer {
  animation-duration: 2.8s;
  opacity: 0;
}

body.graphics-ultra-low-v480 .env-weather-layer.active,
body.soft-effects-disabled-v480 .env-weather-layer.active {
  opacity: .44;
}

#adminPanel.admin-panel {
  width: min(940px, calc(100vw - 24px)) !important;
}

#adminPanel .admin-body-items .admin-item-list,
#adminPanel .admin-body-entities .admin-item-list {
  flex: 1 1 0 !important;
  min-height: 0 !important;
  padding-bottom: 6px !important;
}

#adminPanel .admin-body-items .admin-give-controls,
#adminPanel .admin-body-entities .admin-spawn-controls,
#adminPanel .admin-teleport-controls {
  flex: 0 0 auto !important;
  position: relative !important;
  z-index: 2 !important;
}

#adminPanel .admin-teleport-controls {
  grid-template-columns: minmax(0, 1fr) minmax(128px, 160px) minmax(128px, 160px) !important;
}

#adminPanel .admin-teleport-list .admin-row {
  grid-template-columns: minmax(0, 1fr) auto !important;
}

#adminPanel .admin-row-side {
  min-width: 32px !important;
  max-width: 88px !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
  text-align: right !important;
}

#adminPanel .admin-body-events {
  gap: 10px !important;
}

#adminPanel .admin-event-list {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 10px !important;
  min-height: 0 !important;
}

#adminPanel .admin-event-card {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(132px, 164px) !important;
  align-items: center !important;
  gap: 10px !important;
  padding: 12px !important;
  border: 2px solid rgba(5, 33, 55, .92) !important;
  border-radius: 8px !important;
  background: rgba(8, 64, 96, .72) !important;
  box-shadow: inset 0 -3px 0 rgba(0, 0, 0, .22) !important;
}

#adminPanel .admin-event-card.active {
  border-color: rgba(255, 210, 72, .95) !important;
  background: rgba(10, 91, 126, .82) !important;
}

#adminPanel .admin-event-info {
  display: grid !important;
  gap: 4px !important;
  min-width: 0 !important;
}

#adminPanel .admin-event-info b {
  color: #fff6c8 !important;
  font-size: 17px !important;
  line-height: 1.1 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

#adminPanel .admin-event-info span,
#adminPanel .admin-event-info em {
  color: rgba(231, 249, 255, .92) !important;
  font-size: 12px !important;
  font-style: normal !important;
  line-height: 1.2 !important;
}

#adminPanel .admin-event-info em {
  color: #ffd45f !important;
  font-weight: 900 !important;
}

#adminPanel .admin-event-button {
  width: 100% !important;
  min-height: 42px !important;
}

#adminPanel .admin-event-message {
  display: block !important;
}

@media (max-width: 840px), (pointer: coarse) {
  #adminPanel .admin-teleport-controls {
    grid-template-columns: 1fr !important;
  }

  #adminPanel .admin-event-list,
  #adminPanel .admin-event-card {
    grid-template-columns: 1fr !important;
  }
}

/* v513: flat UI pass. Gradients are removed from the main menu, catalog panels,
   clans, trade, admin and the full map while keeping the existing layout. */
:root {
  --ah-flat-blue: #087fa8;
  --ah-flat-blue-dark: #075b7e;
  --ah-flat-blue-row: #0a6f96;
  --ah-flat-blue-row-active: #1290bd;
  --ah-flat-orange: #f27a12;
  --ah-flat-orange-dark: #5b2100;
  --ah-flat-orange-row: #7a2c00;
  --ah-flat-orange-row-active: #b64d09;
  --ah-flat-yellow: #ffcc33;
  --ah-flat-green: #65bd35;
  --ah-flat-red: #c94b3d;
  --ah-flat-panel-shadow: 0 6px 0 rgba(0,0,0,.44), 0 20px 44px rgba(0,0,0,.34);
}

.ahardice-main-menu.login-overlay,
.ahardice-main-menu .main-account-bar,
.ahardice-main-menu .main-settings-popup,
.ahardice-main-menu .main-side-panel,
.ahardice-main-menu.main-tab-leaderboard .main-side-panel,
.ahardice-main-menu.main-tab-profile .main-side-panel,
.ahardice-main-menu.main-tab-shop .main-side-panel,
.ahardice-main-menu.main-tab-clans .main-side-panel,
.ahardice-main-menu.main-tab-skins .main-side-panel,
.main-menu-card,
.main-menu-content {
  background-image: none !important;
}

.ahardice-main-menu.login-overlay {
  background: transparent !important;
}

.ahardice-main-menu .main-account-bar {
  background: var(--ah-flat-blue) !important;
  border-color: rgba(0,0,0,.42) !important;
}

.ahardice-main-menu .main-settings-popup,
.ahardice-main-menu .main-side-panel {
  background: #112233 !important;
  border-color: rgba(255,255,255,.14) !important;
}

.ahardice-main-menu.main-tab-profile .main-side-panel,
.ahardice-main-menu.main-tab-shop .main-side-panel,
.ahardice-main-menu.main-tab-clans .main-side-panel,
.ahardice-main-menu.main-tab-skins .main-side-panel {
  background: var(--ah-flat-orange) !important;
  border-color: #3b1500 !important;
  box-shadow: var(--ah-flat-panel-shadow) !important;
}

.ahardice-main-menu.main-tab-profile #mainMenuPanelTitle,
.ahardice-main-menu.main-tab-shop #mainMenuPanelTitle,
.ahardice-main-menu.main-tab-clans #mainMenuPanelTitle,
.ahardice-main-menu.main-tab-skins #mainMenuPanelTitle {
  background: #ffb12c !important;
  background-image: none !important;
}

.ahardice-main-menu.main-tab-profile #mainMenuPanelBody,
.ahardice-main-menu.main-tab-shop #mainMenuPanelBody,
.ahardice-main-menu.main-tab-clans #mainMenuPanelBody,
.ahardice-main-menu.main-tab-skins #mainMenuPanelBody {
  background: var(--ah-flat-orange-dark) !important;
  background-image: none !important;
}

.main-menu-tab,
.main-menu-left-tabs .main-menu-tab {
  background: #3a381e !important;
  background-image: none !important;
}

.main-menu-tab.active,
.main-menu-tab:hover,
.main-menu-left-tabs .main-menu-tab.active,
.main-menu-left-tabs .main-menu-tab:hover {
  background: var(--ah-flat-blue) !important;
  background-image: none !important;
}

.main-login-button,
.ahardice-main-menu .secondary-login,
.ahardice-main-menu .account-ready,
.main-settings-button,
.main-discord-community-v474fix1,
.main-profile-refresh-v139,
.ahardice-main-menu.main-tab-profile .main-profile-refresh-v139,
.main-leaderboard-refresh-v140,
.main-coming-soon-v142 button {
  background: var(--ah-flat-blue-row-active) !important;
  background-image: none !important;
}

.main-play-button.play-button {
  background: var(--ah-flat-green) !important;
  background-image: none !important;
}

.main-profile-head-v139,
.main-profile-summary-tile-v139,
.main-profile-badges-v139,
.main-profile-stat-card-v139,
.main-profile-empty,
.main-profile-stat-row-v139,
.main-profile-stat-head-v139 span,
.main-leaderboard-avatar-v140,
.main-leaderboard-rank-v140,
.main-leaderboard-toolbar-v140,
.main-leaderboard-card-v140,
.main-leaderboard-row-v140,
.main-leaderboard-reward-chip-v480,
.main-leaderboard-empty-v140,
.main-leaderboard-hint-v140,
.main-coming-soon-v142 {
  background-image: none !important;
}

.main-profile-head-v139,
.main-profile-stat-row-v139,
.main-leaderboard-row-v140 {
  background: var(--ah-flat-orange-row) !important;
}

.main-profile-summary-tile-v139,
.main-profile-badges-v139,
.main-profile-stat-card-v139,
.main-profile-empty,
.main-leaderboard-card-v140,
.main-leaderboard-empty-v140,
.main-leaderboard-hint-v140,
.main-coming-soon-v142 {
  background: #642500 !important;
}

.main-profile-stat-head-v139 span,
.main-leaderboard-reward-chip-v480 {
  background: #ffb12c !important;
}

.main-leaderboard-avatar-v140,
.main-leaderboard-rank-v140:not(.crown-rank-v411) {
  background: var(--ah-flat-blue-row) !important;
  background-image: none !important;
}

.main-profile-expbar-v139 > div {
  background: var(--ah-flat-yellow) !important;
  background-image: none !important;
}

#craftPanel.craft-panel.game-panel,
#buildPanel.craft-panel.game-panel,
#shopPanel.craft-panel.game-panel {
  background: var(--ah-flat-orange) !important;
  background-image: none !important;
  box-shadow: var(--ah-flat-panel-shadow) !important;
}

#craftPanel .craft-shell,
#buildPanel .craft-shell,
#shopPanel .craft-shell,
#craftPanel .craft-detail,
#buildPanel .craft-detail,
#shopPanel .craft-detail,
#craftPanel .craft-detail-card,
#buildPanel .craft-detail-card,
#shopPanel .craft-detail-card,
#craftPanel .craft-quantity-box,
#buildPanel .craft-quantity-box,
#shopPanel .craft-quantity-box {
  background: var(--ah-flat-orange-dark) !important;
  background-image: none !important;
}

#craftPanel .craft-detail,
#buildPanel .craft-detail,
#shopPanel .craft-detail,
#craftPanel .craft-detail-card,
#buildPanel .craft-detail-card,
#shopPanel .craft-detail-card {
  background: transparent !important;
  background-image: none !important;
}

#craftPanel .craft-recipe-box,
#buildPanel .craft-recipe-box,
#shopPanel .craft-recipe-box,
#buildPanel .craft-loot-summary-v492 {
  background: var(--ah-flat-blue-dark) !important;
  background-image: none !important;
}

#craftPanel .craft-list-wrap,
#buildPanel .craft-list-wrap,
#shopPanel .craft-list-wrap,
#craftPanel .craft-list,
#buildPanel .craft-list,
#shopPanel .craft-list {
  background: #662600 !important;
  background-image: none !important;
}

#craftPanel .craft-list-item,
#buildPanel .craft-list-item,
#shopPanel .craft-list-item,
#shopPanel .catalog-card,
#shopPanel .catalog-grid,
#shopPanel .single-catalog-shell,
.catalog-panel .catalog-card,
.catalog-panel .catalog-grid,
.catalog-panel .single-catalog-shell,
#buildPanel .craft-loot-chip-v492 {
  background: var(--ah-flat-orange-row) !important;
  background-image: none !important;
}

#craftPanel .craft-list-item.selected,
#buildPanel .craft-list-item.selected,
#shopPanel .craft-list-item.selected,
#craftPanel .craft-list-item:hover,
#buildPanel .craft-list-item:hover,
#shopPanel .craft-list-item:hover {
  background: var(--ah-flat-orange-row-active) !important;
  background-image: none !important;
}

#craftPanel .craft-category-tab,
#buildPanel .craft-category-tab,
#shopPanel .craft-category-tab,
#craftPanel .craft-category-tab.icon-only,
#buildPanel .craft-category-tab.icon-only,
#shopPanel .craft-category-tab.icon-only {
  background: #743000 !important;
  background-image: none !important;
}

#craftPanel .craft-category-tab.active,
#buildPanel .craft-category-tab.active,
#shopPanel .craft-category-tab.active,
#craftPanel .craft-category-tab:hover,
#buildPanel .craft-category-tab:hover,
#shopPanel .craft-category-tab:hover {
  background: var(--ah-flat-orange-row-active) !important;
  background-image: none !important;
}

#craftPanel .craft-create-button,
#buildPanel .craft-create-button,
#shopPanel .craft-create-button,
#craftPanel button.craft-create-button,
#buildPanel button.craft-create-button,
#shopPanel button.craft-create-button,
#buildPanel .craft-loot-toggle-v498 {
  background: var(--ah-flat-yellow) !important;
  background-image: none !important;
}

#craftPanel .craft-create-button:disabled,
#buildPanel .craft-create-button:disabled,
#shopPanel .craft-create-button:disabled {
  background: #6f5132 !important;
  background-image: none !important;
}

#craftPanel .panel-close.floating-close,
#buildPanel .panel-close.floating-close,
#shopPanel .panel-close.floating-close {
  background: var(--ah-flat-green) !important;
  background-image: none !important;
}

#clanPanel.social-panel,
#tradePanel.social-panel,
#tradePanel.trade-panel.social-panel,
body.trade-active #tradePanel.social-panel,
body.trade-session-active #tradePanel.trade-panel.social-panel {
  background: var(--ah-flat-orange) !important;
  background-image: none !important;
  box-shadow: var(--ah-flat-panel-shadow) !important;
}

#clanPanel .social-body,
#clanPanel .ahardice-clan-body-v148,
#clanPanel .ahardice-clan-body-v184,
#tradePanel .social-body,
#tradePanel .ahardice-trade-body-v148,
body.trade-active #tradePanel .social-body,
body.trade-active #tradePanel .ahardice-trade-body-v148,
body.trade-session-active #tradePanel.trade-panel.social-panel .social-body,
body.trade-session-active #tradePanel.trade-panel.social-panel .ahardice-trade-body-v148 {
  background: var(--ah-flat-orange-dark) !important;
  background-image: none !important;
}

#clanPanel .clan-hero,
#clanPanel .clan-list-row,
#clanPanel .ahardice-clan-current-header-v190,
#clanPanel .ahardice-clan-browser-row-v190,
#clanPanel .ahardice-clan-row-v148,
#clanPanel .ahardice-clan-row-v184,
#clanPanel .ahardice-clan-member-row-v184,
#tradePanel .trade-modern-offer,
#tradePanel .trade-modern-offer.confirmed,
#tradePanel .trade-stack-list,
body.trade-active #tradePanel.social-panel .trade-modern-offer,
body.trade-active #tradePanel.social-panel .trade-modern-offer.confirmed,
body.trade-active #tradePanel.social-panel .trade-stack-list,
body.trade-session-active #tradePanel.trade-panel.social-panel .trade-modern-offer,
body.trade-session-active #tradePanel.trade-panel.social-panel .trade-modern-offer.confirmed,
body.trade-session-active #tradePanel.trade-panel.social-panel .trade-stack-list {
  background: var(--ah-flat-orange-row) !important;
  background-image: none !important;
}

#clanPanel .clan-list-row.active,
#clanPanel .ahardice-clan-row-v148:hover,
#clanPanel .ahardice-clan-row-v184:hover,
#clanPanel .ahardice-clan-member-row-v184:hover,
#tradePanel .trade-modern-offer.confirmed,
body.trade-active #tradePanel.social-panel .trade-modern-offer.confirmed,
body.trade-session-active #tradePanel.trade-panel.social-panel .trade-modern-offer.confirmed {
  background: var(--ah-flat-orange-row-active) !important;
  background-image: none !important;
}

#clanPanel .clan-tag-badge,
#tradePanel .trade-offer-grid,
#tradePanel .trade-offer-slot,
#tradePanel .trade-offer-slot.empty,
#tradePanel .trade-offer-slot.filled,
#tradePanel .trade-offer-slot.can-place,
#tradePanel .trade-offer-slot.can-remove,
body.trade-active #tradePanel.social-panel .trade-offer-grid,
body.trade-active #tradePanel.social-panel .trade-offer-slot,
body.trade-session-active #tradePanel.trade-panel.social-panel .trade-offer-grid,
body.trade-session-active #tradePanel.trade-panel.social-panel .trade-offer-slot,
body.trade-session-active #tradePanel.trade-panel.social-panel .trade-modern-controls {
  background: #4d1a00 !important;
  background-image: none !important;
}

#clanPanel button,
#clanPanel button:not(.social-close),
#tradePanel button,
#tradePanel .trade-modern-controls button,
#tradePanel .trade-confirm-modern,
#tradePanel .trade-cancel-modern,
body.trade-active #tradePanel .trade-confirm-modern,
body.trade-active #tradePanel .trade-cancel-modern,
body.trade-session-active #tradePanel.trade-panel.social-panel .trade-confirm-modern {
  background: var(--ah-flat-yellow) !important;
  background-image: none !important;
}

#tradePanel .trade-cancel-modern {
  background: var(--ah-flat-red) !important;
  background-image: none !important;
}

#clanPanel .social-close,
#tradePanel .social-close,
#tradePanel.trade-panel .panel-close.floating-close {
  background: var(--ah-flat-green) !important;
  background-image: none !important;
}

#adminPanel.admin-panel {
  background: var(--ah-flat-blue) !important;
  background-image: none !important;
  box-shadow: var(--ah-flat-panel-shadow) !important;
}

#adminPanel .admin-head,
#adminPanel .admin-body,
#adminPanel .admin-tools,
#adminPanel .admin-help,
#adminPanel .admin-list,
#adminPanel .admin-item-list,
#adminPanel .admin-mode-list,
#adminPanel .admin-give-controls,
#adminPanel .admin-spawn-controls,
#adminPanel .admin-teleport-controls,
#adminPanel .admin-action-message,
#adminPanel .admin-diagnostics-v354 {
  background: var(--ah-flat-blue-dark) !important;
  background-image: none !important;
}

#adminPanel .admin-tabs,
#adminPanel .admin-tabs .craft-category-tab,
#adminPanel .admin-tabs button,
#adminPanel .admin-row,
#adminPanel .admin-item-row,
#adminPanel .admin-mode-row,
#adminPanel .admin-selected-item,
#adminPanel .admin-amount-box,
#adminPanel .admin-target,
#adminPanel .admin-search-wrap,
#adminPanel .admin-event-card {
  background: var(--ah-flat-blue-row) !important;
  background-image: none !important;
}

#adminPanel .admin-tabs .craft-category-tab.active,
#adminPanel .admin-tabs button.active,
#adminPanel .admin-row:hover,
#adminPanel .admin-row.selected,
#adminPanel .admin-item-row:hover,
#adminPanel .admin-item-row.selected,
#adminPanel .admin-mode-row:hover,
#adminPanel .admin-mode-row.enabled,
#adminPanel .admin-event-card.active {
  background: var(--ah-flat-blue-row-active) !important;
  background-image: none !important;
}

#adminPanel button,
#adminPanel .admin-give-button,
#adminPanel .admin-event-button,
#adminPanel .admin-quick-amounts button,
#adminPanel .admin-entity-categories button,
#adminPanel .admin-speed-controls button,
#adminPanel .admin-mode-toggle {
  background: var(--ah-flat-yellow) !important;
  background-image: none !important;
}

.full-map-card {
  background: var(--ah-flat-blue) !important;
  background-image: none !important;
  box-shadow: var(--ah-flat-panel-shadow) !important;
}

#fullMapClose {
  background: var(--ah-flat-blue-row-active) !important;
  background-image: none !important;
}

/* v514: keep the no-gradient pass, but return the visible UI palette to
   Ahardice orange instead of the temporary blue test colors. */
:root {
  --ah-flat-blue: #f27a12;
  --ah-flat-blue-dark: #5b2100;
  --ah-flat-blue-row: #7a2c00;
  --ah-flat-blue-row-active: #b64d09;
  --ah-flat-orange: #f27a12;
  --ah-flat-orange-dark: #5b2100;
  --ah-flat-orange-row: #7a2c00;
  --ah-flat-orange-row-active: #b64d09;
  --ah-flat-yellow: #ffcc33;
  --ah-flat-green: #65bd35;
  --ah-flat-red: #c94b3d;
}

.ahardice-main-menu .main-account-bar,
.ahardice-main-menu .main-settings-popup,
.ahardice-main-menu .main-side-panel,
.ahardice-main-menu.main-tab-leaderboard .main-side-panel,
.ahardice-main-menu.main-tab-profile .main-side-panel,
.ahardice-main-menu.main-tab-shop .main-side-panel,
.ahardice-main-menu.main-tab-clans .main-side-panel,
.ahardice-main-menu.main-tab-skins .main-side-panel,
#craftPanel.craft-panel.game-panel,
#buildPanel.craft-panel.game-panel,
#shopPanel.craft-panel.game-panel,
#clanPanel.social-panel,
#tradePanel.social-panel,
#tradePanel.trade-panel.social-panel,
#adminPanel.admin-panel,
.full-map-card {
  background: var(--ah-flat-orange) !important;
  background-image: none !important;
  border-color: #3b1500 !important;
  color: #fff7d8 !important;
}

.ahardice-main-menu .main-side-panel,
.ahardice-main-menu.main-tab-leaderboard .main-side-panel,
.ahardice-main-menu.main-tab-profile .main-side-panel,
.ahardice-main-menu.main-tab-shop .main-side-panel,
.ahardice-main-menu.main-tab-clans .main-side-panel,
.ahardice-main-menu.main-tab-skins .main-side-panel {
  box-shadow: var(--ah-flat-panel-shadow) !important;
}

.main-menu-tab.active,
.main-menu-tab:hover,
.main-menu-left-tabs .main-menu-tab.active,
.main-menu-left-tabs .main-menu-tab:hover,
.main-login-button,
.ahardice-main-menu .secondary-login,
.ahardice-main-menu .account-ready,
.main-settings-button,
.main-discord-community-v474fix1,
.main-profile-refresh-v139,
.ahardice-main-menu.main-tab-profile .main-profile-refresh-v139,
.main-leaderboard-refresh-v140,
.main-coming-soon-v142 button,
#fullMapClose {
  background: var(--ah-flat-orange-row-active) !important;
  background-image: none !important;
  border-color: #4b1a00 !important;
}

.ahardice-main-menu.main-tab-profile #mainMenuPanelBody,
.ahardice-main-menu.main-tab-shop #mainMenuPanelBody,
.ahardice-main-menu.main-tab-clans #mainMenuPanelBody,
.ahardice-main-menu.main-tab-skins #mainMenuPanelBody,
#craftPanel .craft-shell,
#buildPanel .craft-shell,
#shopPanel .craft-shell,
#craftPanel .craft-recipe-box,
#buildPanel .craft-recipe-box,
#shopPanel .craft-recipe-box,
#craftPanel .craft-quantity-box,
#buildPanel .craft-quantity-box,
#shopPanel .craft-quantity-box,
#buildPanel .craft-loot-summary-v492,
#clanPanel .social-body,
#clanPanel .ahardice-clan-body-v148,
#clanPanel .ahardice-clan-body-v184,
#tradePanel .social-body,
#tradePanel .ahardice-trade-body-v148,
#adminPanel .admin-head,
#adminPanel .admin-body,
#adminPanel .admin-tools,
#adminPanel .admin-help,
#adminPanel .admin-list,
#adminPanel .admin-item-list,
#adminPanel .admin-mode-list,
#adminPanel .admin-give-controls,
#adminPanel .admin-spawn-controls,
#adminPanel .admin-teleport-controls,
#adminPanel .admin-action-message,
#adminPanel .admin-diagnostics-v354 {
  background: var(--ah-flat-orange-dark) !important;
  background-image: none !important;
  border-color: #3b1500 !important;
}

#adminPanel .admin-tabs,
#adminPanel .admin-tabs .craft-category-tab,
#adminPanel .admin-tabs button,
#adminPanel .admin-row,
#adminPanel .admin-item-row,
#adminPanel .admin-mode-row,
#adminPanel .admin-selected-item,
#adminPanel .admin-amount-box,
#adminPanel .admin-target,
#adminPanel .admin-search-wrap,
#adminPanel .admin-event-card,
#craftPanel .craft-list-item,
#buildPanel .craft-list-item,
#shopPanel .craft-list-item,
#shopPanel .catalog-card,
#shopPanel .catalog-grid,
#shopPanel .single-catalog-shell,
.catalog-panel .catalog-card,
.catalog-panel .catalog-grid,
.catalog-panel .single-catalog-shell,
#buildPanel .craft-loot-chip-v492,
#clanPanel .clan-hero,
#clanPanel .clan-list-row,
#clanPanel .ahardice-clan-current-header-v190,
#clanPanel .ahardice-clan-browser-row-v190,
#clanPanel .ahardice-clan-row-v148,
#clanPanel .ahardice-clan-row-v184,
#clanPanel .ahardice-clan-member-row-v184,
#tradePanel .trade-modern-offer,
#tradePanel .trade-modern-offer.confirmed,
#tradePanel .trade-stack-list {
  background: var(--ah-flat-orange-row) !important;
  background-image: none !important;
}

#adminPanel .admin-tabs .craft-category-tab.active,
#adminPanel .admin-tabs button.active,
#adminPanel .admin-row:hover,
#adminPanel .admin-row.selected,
#adminPanel .admin-item-row:hover,
#adminPanel .admin-item-row.selected,
#adminPanel .admin-mode-row:hover,
#adminPanel .admin-mode-row.enabled,
#adminPanel .admin-event-card.active,
#craftPanel .craft-list-item.selected,
#buildPanel .craft-list-item.selected,
#shopPanel .craft-list-item.selected,
#craftPanel .craft-list-item:hover,
#buildPanel .craft-list-item:hover,
#shopPanel .craft-list-item:hover,
#clanPanel .clan-list-row.active,
#clanPanel .ahardice-clan-row-v148:hover,
#clanPanel .ahardice-clan-row-v184:hover,
#clanPanel .ahardice-clan-member-row-v184:hover,
#tradePanel .trade-modern-offer.confirmed {
  background: var(--ah-flat-orange-row-active) !important;
  background-image: none !important;
}

#adminPanel button,
#adminPanel .admin-give-button,
#adminPanel .admin-event-button,
#adminPanel .admin-quick-amounts button,
#adminPanel .admin-entity-categories button,
#adminPanel .admin-speed-controls button,
#adminPanel .admin-mode-toggle,
#craftPanel .craft-create-button,
#buildPanel .craft-create-button,
#shopPanel .craft-create-button,
#craftPanel button.craft-create-button,
#buildPanel button.craft-create-button,
#shopPanel button.craft-create-button,
#buildPanel .craft-loot-toggle-v498,
#clanPanel button,
#clanPanel button:not(.social-close),
#tradePanel button,
#tradePanel .trade-modern-controls button,
#tradePanel .trade-confirm-modern {
  background: var(--ah-flat-yellow) !important;
  background-image: none !important;
  border-color: #5d1d00 !important;
  color: #351100 !important;
}

#clanPanel .social-close,
#tradePanel .social-close,
#tradePanel.trade-panel .panel-close.floating-close,
#craftPanel .panel-close.floating-close,
#buildPanel .panel-close.floating-close,
#shopPanel .panel-close.floating-close {
  background: var(--ah-flat-green) !important;
  background-image: none !important;
}

.ahardice-main-menu.main-tab-clans .main-side-panel {
  position: fixed !important;
  left: 50% !important;
  top: 50% !important;
  right: auto !important;
  bottom: auto !important;
  transform: translate(-50%, -50%) !important;
  width: min(650px, calc(100vw - 28px)) !important;
  max-width: calc(100vw - 28px) !important;
  max-height: calc(100vh - 42px) !important;
  margin: 0 !important;
  overflow: hidden !important;
}

.ahardice-main-menu.main-tab-clans #mainMenuPanelBody {
  max-height: calc(100vh - 142px) !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
}

@media (max-width: 760px), (pointer: coarse) {
  .ahardice-main-menu.main-tab-clans .main-side-panel {
    top: calc(50% + 8px) !important;
    width: calc(100vw - 16px) !important;
    max-width: calc(100vw - 16px) !important;
    max-height: calc(var(--mobile-vh-v487, 100vh) - 24px - var(--safe-top-v487) - var(--safe-bottom-v487)) !important;
    padding: 10px !important;
  }

  .ahardice-main-menu.main-tab-clans #mainMenuPanelBody {
    max-height: calc(var(--mobile-vh-v487, 100vh) - 112px - var(--safe-top-v487) - var(--safe-bottom-v487)) !important;
  }
}

/* v515: polish main-menu leaderboard, shop/cosmetics tabs and Discord shortcut. */
:root {
  --ah-flat-panel-outer: #f27a12;
  --ah-flat-panel-title: #ffb12c;
  --ah-flat-panel-inner: #5b2100;
  --ah-flat-panel-row: #7a2c00;
  --ah-flat-panel-row-hot: #a84205;
  --ah-flat-panel-border: #3b1500;
  --ah-flat-panel-text: #fff7d8;
}

.main-discord-community-v474fix1 {
  width: 48px !important;
  height: 48px !important;
  min-width: 48px !important;
  min-height: 48px !important;
  margin: 2px auto 0 !important;
  padding: 0 !important;
  justify-self: center !important;
  display: grid !important;
  place-items: center !important;
  border: 0 !important;
  border-radius: 50% !important;
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
  outline: none !important;
}

.main-discord-community-v474fix1:hover {
  background: transparent !important;
  background-image: none !important;
  transform: translateY(-2px) scale(1.08) !important;
  filter: brightness(1.12) saturate(1.08) !important;
}

.main-discord-community-v474fix1 img {
  width: 42px !important;
  height: 42px !important;
  object-fit: contain !important;
  display: block !important;
  filter: drop-shadow(0 4px 0 rgba(0,0,0,.30)) drop-shadow(0 8px 12px rgba(0,0,0,.22)) !important;
}

.ahardice-main-menu.main-tab-leaderboard .main-side-panel {
  position: fixed !important;
  left: 50% !important;
  top: 50% !important;
  right: auto !important;
  bottom: auto !important;
  transform: translate(-50%, -50%) !important;
  width: min(1000px, calc(100vw - 214px)) !important;
  max-width: calc(100vw - 214px) !important;
  max-height: calc(100vh - 44px) !important;
  padding: 12px !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
  border-radius: 13px !important;
  background: var(--ah-flat-panel-outer) !important;
  background-image: none !important;
  border-color: var(--ah-flat-panel-border) !important;
}

.ahardice-main-menu.main-tab-leaderboard #mainMenuPanelTitle,
.ahardice-main-menu.main-tab-shop #mainMenuPanelTitle,
.ahardice-main-menu.main-tab-skins #mainMenuPanelTitle {
  box-sizing: border-box !important;
  min-height: 36px !important;
  margin: 0 0 8px !important;
  padding: 7px 12px !important;
  border-radius: 8px !important;
  background: var(--ah-flat-panel-title) !important;
  background-image: none !important;
  color: #4a1700 !important;
  font-size: 20px !important;
  line-height: 1.05 !important;
  font-weight: 1000 !important;
  text-align: center !important;
  text-shadow: 0 1px 0 rgba(255,255,255,.35) !important;
  border: 2px solid var(--ah-flat-panel-border) !important;
}

.ahardice-main-menu.main-tab-leaderboard #mainMenuPanelBody {
  box-sizing: border-box !important;
  max-height: calc(100vh - 112px) !important;
  padding: 8px !important;
  overflow: hidden !important;
  border-radius: 9px !important;
  background: var(--ah-flat-panel-inner) !important;
  background-image: none !important;
  border: 2px solid var(--ah-flat-panel-border) !important;
}

.main-leaderboard-root-v140 {
  min-width: 0 !important;
  height: 100% !important;
  gap: 8px !important;
  overflow: hidden !important;
}

.main-leaderboard-grid-v140 {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 8px !important;
  align-items: stretch !important;
  min-width: 0 !important;
}

.main-leaderboard-card-v140 {
  box-sizing: border-box !important;
  min-width: 0 !important;
  min-height: 0 !important;
  height: auto !important;
  max-height: calc(100vh - 142px) !important;
  padding: 8px !important;
  display: flex !important;
  flex-direction: column !important;
  overflow: hidden !important;
  border-radius: 9px !important;
  background: #642500 !important;
  background-image: none !important;
  border: 2px solid #3f1600 !important;
}

.main-leaderboard-card-title-v140 {
  min-height: 22px !important;
  margin: 0 0 5px !important;
  color: #ffe58a !important;
  font-size: 15px !important;
  line-height: 1.05 !important;
  font-weight: 1000 !important;
  text-align: center !important;
}

.main-leaderboard-period-timer-v480 {
  margin: 0 0 5px !important;
  color: #ffd88a !important;
  font-size: 10px !important;
  line-height: 1.15 !important;
  font-weight: 900 !important;
  text-align: center !important;
}

.main-leaderboard-rewards-v480 {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 4px !important;
  margin: 0 0 6px !important;
}

.main-leaderboard-reward-chip-v480 {
  min-width: 0 !important;
  min-height: 24px !important;
  padding: 2px 4px !important;
  display: grid !important;
  grid-template-columns: auto 16px minmax(0, 1fr) !important;
  gap: 3px !important;
  align-items: center !important;
  border-radius: 7px !important;
  background: var(--ah-flat-panel-title) !important;
  background-image: none !important;
  color: #4a1700 !important;
  font-size: 8px !important;
  line-height: 1 !important;
  font-weight: 1000 !important;
  overflow: hidden !important;
}

.main-leaderboard-reward-chip-v480 b,
.main-leaderboard-reward-chip-v480 span {
  min-width: 0 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

.main-leaderboard-reward-chip-v480 img {
  width: 16px !important;
  height: 16px !important;
  object-fit: contain !important;
  display: block !important;
}

.main-leaderboard-list-v140 {
  min-width: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 4px !important;
  overflow: hidden !important;
}

.main-leaderboard-row-v140 {
  box-sizing: border-box !important;
  min-width: 0 !important;
  min-height: 33px !important;
  height: 33px !important;
  display: grid !important;
  grid-template-columns: 36px 33px minmax(0, 1fr) 82px !important;
  gap: 5px !important;
  align-items: center !important;
  padding: 3px 5px !important;
  border-radius: 8px !important;
  background: var(--ah-flat-panel-row) !important;
  background-image: none !important;
  border: 1px solid rgba(255, 220, 128, .20) !important;
  overflow: hidden !important;
}

.main-leaderboard-row-v140.top-1,
.main-leaderboard-row-v140.top-2,
.main-leaderboard-row-v140.top-3,
.main-leaderboard-row-v140.me-v515 {
  background: var(--ah-flat-panel-row-hot) !important;
  background-image: none !important;
}

.main-leaderboard-avatar-v140 {
  box-sizing: border-box !important;
  width: 31px !important;
  height: 31px !important;
  min-width: 31px !important;
  min-height: 31px !important;
  justify-self: center !important;
  align-self: center !important;
  display: grid !important;
  place-items: center !important;
  overflow: hidden !important;
  border-radius: 50% !important;
  background-color: #4f1b00 !important;
  background-position: center !important;
  background-size: cover !important;
  background-repeat: no-repeat !important;
  background-image: var(--leaderboard-avatar-image, none);
  border: 2px solid rgba(255, 221, 132, .70) !important;
  color: #ffe58a !important;
  font-size: 12px !important;
  line-height: 1 !important;
  font-weight: 1000 !important;
}

.main-leaderboard-info-v140 {
  min-width: 0 !important;
  overflow: hidden !important;
}

.main-leaderboard-name-v140 {
  max-width: 100% !important;
  color: #fff8de !important;
  font-size: 12px !important;
  line-height: 1.05 !important;
  font-weight: 1000 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

.main-leaderboard-value-v140 {
  min-width: 0 !important;
  width: 82px !important;
  display: grid !important;
  justify-items: end !important;
  align-content: center !important;
  gap: 0 !important;
  text-align: right !important;
  overflow: hidden !important;
}

.main-leaderboard-value-label-v515 {
  display: block !important;
  margin: 0 !important;
  color: #ffd88a !important;
  font-size: 8px !important;
  line-height: 1 !important;
  font-weight: 1000 !important;
}

.main-leaderboard-value-v140 b {
  display: block !important;
  max-width: 100% !important;
  color: #a7ff5c !important;
  font-size: 12px !important;
  line-height: 1 !important;
  font-weight: 1000 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

.main-leaderboard-value-v140 b em {
  color: #ffe8a1 !important;
  font-style: normal !important;
  font-size: 8px !important;
  font-weight: 950 !important;
}

.main-leaderboard-row-reward-v480 {
  max-width: 100% !important;
  margin-top: 1px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 2px !important;
  color: #ffe58a !important;
  font-size: 8px !important;
  line-height: 1 !important;
  font-weight: 950 !important;
  overflow: hidden !important;
  white-space: nowrap !important;
}

.main-leaderboard-row-reward-v480 img {
  width: 12px !important;
  height: 12px !important;
  object-fit: contain !important;
  flex: 0 0 12px !important;
}

.main-leaderboard-rank-v140 {
  box-sizing: border-box !important;
  width: 36px !important;
  min-width: 36px !important;
  height: 28px !important;
  display: grid !important;
  place-items: center !important;
  color: #fff8de !important;
  font-size: 12px !important;
  line-height: 1 !important;
  font-weight: 1000 !important;
  text-align: center !important;
  overflow: hidden !important;
}

.main-leaderboard-rank-v140.crown-rank-v411 {
  grid-template-columns: 14px 20px !important;
  gap: 1px !important;
}

.main-leaderboard-rank-label-v515 {
  color: #fff8de !important;
  font-size: 10px !important;
  line-height: 1 !important;
  font-weight: 1000 !important;
}

.main-leaderboard-rank-v140.crown-rank-v411 img {
  width: 20px !important;
  height: 20px !important;
  margin: 0 !important;
  object-fit: contain !important;
  display: block !important;
  filter: drop-shadow(0 2px 1px rgba(0,0,0,.55)) !important;
}

.ahardice-main-menu.main-tab-shop .main-side-panel,
.ahardice-main-menu.main-tab-skins .main-side-panel {
  position: fixed !important;
  left: 50% !important;
  top: 50% !important;
  right: auto !important;
  bottom: auto !important;
  transform: translate(-50%, -50%) !important;
  width: min(650px, calc(100vw - 214px)) !important;
  max-width: calc(100vw - 214px) !important;
  max-height: calc(100vh - 44px) !important;
  padding: 12px !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
  border-radius: 13px !important;
}

.ahardice-main-menu.main-tab-shop #mainMenuPanelBody,
.ahardice-main-menu.main-tab-skins #mainCosmeticsContent {
  box-sizing: border-box !important;
  padding: 10px !important;
  max-height: calc(100vh - 112px) !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  border-radius: 9px !important;
  background: var(--ah-flat-panel-inner) !important;
  background-image: none !important;
  border: 2px solid var(--ah-flat-panel-border) !important;
}

.main-coming-soon-v142 {
  box-sizing: border-box !important;
  min-height: 190px !important;
  padding: 18px !important;
  display: grid !important;
  place-items: center !important;
  border-radius: 8px !important;
  background: var(--ah-flat-panel-row) !important;
  background-image: none !important;
  border: 1px solid rgba(255, 220, 128, .22) !important;
  color: var(--ah-flat-panel-text) !important;
}

.main-coming-soon-v142 b {
  color: #ffe58a !important;
  font-size: 30px !important;
  line-height: 1.05 !important;
  letter-spacing: 0 !important;
}

.skin-selected {
  box-sizing: border-box !important;
  margin: 0 0 8px !important;
  padding: 8px 10px !important;
  border-radius: 8px !important;
  background: var(--ah-flat-panel-row) !important;
  background-image: none !important;
  border: 1px solid rgba(255, 220, 128, .22) !important;
  color: #ffe58a !important;
  font-size: 14px !important;
  line-height: 1.05 !important;
  font-weight: 1000 !important;
}

.main-cosmetics-content .skin-choices,
.skin-choices {
  box-sizing: border-box !important;
  grid-template-columns: repeat(auto-fill, minmax(128px, 1fr)) !important;
  gap: 8px !important;
  max-height: calc(100vh - 178px) !important;
  padding: 0 4px 0 0 !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
}

.skin-choice {
  box-sizing: border-box !important;
  min-width: 0 !important;
  min-height: 118px !important;
  padding: 8px !important;
  display: grid !important;
  grid-template-rows: minmax(72px, 1fr) auto !important;
  align-items: center !important;
  justify-items: center !important;
  gap: 6px !important;
  border-radius: 8px !important;
  background: var(--ah-flat-panel-row) !important;
  background-image: none !important;
  border: 2px solid #3f1600 !important;
  color: var(--ah-flat-panel-text) !important;
  overflow: hidden !important;
}

.skin-choice.selected,
.skin-choice:hover {
  background: var(--ah-flat-panel-row-hot) !important;
  background-image: none !important;
  border-color: #ffe58a !important;
  box-shadow: 0 0 0 2px rgba(255, 229, 138, .18) inset !important;
}

.skin-preview {
  width: 100% !important;
  max-width: 104px !important;
  height: 72px !important;
  margin: 0 auto !important;
  overflow: hidden !important;
}

.skin-preview-static {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
}

.skin-name {
  max-width: 100% !important;
  color: #fff8de !important;
  font-size: 12px !important;
  line-height: 1.05 !important;
  font-weight: 1000 !important;
  text-align: center !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

#shopPanel .craft-shell {
  gap: 9px !important;
  overflow: hidden !important;
}

#shopPanel .craft-list-wrap,
#shopPanel .craft-detail {
  min-width: 0 !important;
  overflow: hidden !important;
}

#shopPanel .craft-list-item {
  grid-template-columns: 34px minmax(0, 1fr) !important;
  gap: 7px !important;
  overflow: hidden !important;
}

#shopPanel .craft-list-body,
#shopPanel .craft-list-name,
#shopPanel .craft-list-meta {
  min-width: 0 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

#shopPanel .craft-detail-card.shop-detail-card {
  box-sizing: border-box !important;
  min-width: 0 !important;
  width: 100% !important;
  height: 100% !important;
  padding: 10px 10px 12px !important;
  overflow: hidden !important;
}

#shopPanel .shop-detail-card .craft-detail-title {
  max-width: 100% !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

#shopPanel .shop-detail-card .craft-recipe-box {
  margin-top: 18px !important;
  overflow: hidden !important;
}

#shopPanel .shop-coin-row {
  min-width: 0 !important;
  display: grid !important;
  grid-template-columns: 30px minmax(0, 1fr) !important;
  gap: 7px !important;
  align-items: center !important;
}

#shopPanel .shop-coin-row .craft-ingredient-text {
  min-width: 0 !important;
  max-width: 100% !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

@media (max-width: 980px) {
  .ahardice-main-menu.main-tab-leaderboard .main-side-panel,
  .ahardice-main-menu.main-tab-shop .main-side-panel,
  .ahardice-main-menu.main-tab-skins .main-side-panel {
    width: calc(100vw - 152px) !important;
    max-width: calc(100vw - 152px) !important;
  }

  .main-leaderboard-grid-v140 {
    grid-template-columns: 1fr !important;
  }

  .main-leaderboard-card-v140 {
    max-height: none !important;
  }

  .main-leaderboard-list-v140 {
    overflow: visible !important;
  }
}

@media (max-width: 760px), (pointer: coarse) {
  .main-discord-community-v474fix1 {
    width: 42px !important;
    height: 42px !important;
    min-width: 42px !important;
    min-height: 42px !important;
    margin-top: 0 !important;
  }

  .main-discord-community-v474fix1 img {
    width: 36px !important;
    height: 36px !important;
  }

  .ahardice-main-menu.main-tab-leaderboard .main-side-panel,
  .ahardice-main-menu.main-tab-shop .main-side-panel,
  .ahardice-main-menu.main-tab-skins .main-side-panel {
    top: calc(50% - 4px) !important;
    width: calc(100vw - 16px) !important;
    max-width: calc(100vw - 16px) !important;
    max-height: calc(var(--mobile-vh-v487, 100vh) - 82px - var(--safe-top-v487) - var(--safe-bottom-v487)) !important;
    padding: 8px !important;
  }

  .ahardice-main-menu.main-tab-leaderboard #mainMenuPanelBody,
  .ahardice-main-menu.main-tab-shop #mainMenuPanelBody,
  .ahardice-main-menu.main-tab-skins #mainCosmeticsContent {
    max-height: calc(var(--mobile-vh-v487, 100vh) - 150px - var(--safe-top-v487) - var(--safe-bottom-v487)) !important;
    padding: 7px !important;
    overflow-y: auto !important;
  }

  .main-leaderboard-row-v140 {
    grid-template-columns: 36px 32px minmax(0, 1fr) 86px !important;
    min-height: 34px !important;
    height: 34px !important;
  }

  .main-leaderboard-value-v140 {
    width: 86px !important;
  }

  .main-cosmetics-content .skin-choices,
  .skin-choices {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    max-height: none !important;
  }

  .skin-choice {
    min-height: 104px !important;
  }
}

/* v516: restore green primary actions, narrow in-game dock, tabbed leaders and leave dialog. */
:root {
  --ah-action-green: #54bd22;
  --ah-action-green-dark: #26720b;
  --ah-action-green-border: #154b04;
  --ah-action-red: #d84b27;
  --ah-action-red-dark: #8f260f;
}

#craftPanel .craft-create-button:not(:disabled),
#buildPanel .craft-create-button:not(:disabled),
#shopPanel .craft-create-button:not(:disabled),
#craftPanel button.craft-create-button:not(:disabled),
#buildPanel button.craft-create-button:not(:disabled),
#shopPanel button.craft-create-button:not(:disabled),
#shopPanel .shop-buy-button:not(:disabled),
#adminPanel .admin-give-button:not(:disabled),
#adminPanel .admin-event-button:not(:disabled),
#clanPanel button:not(.social-close):not(.ahardice-red-button-v178):not(.clan-kick-button-v184):not(.ahardice-clan-kick-v184):not(:disabled),
#tradePanel .trade-confirm-modern:not(:disabled),
#tradePanel button.trade-confirm-modern:not(:disabled),
.chest-bulk-button-v325:not(:disabled) {
  background: var(--ah-action-green) !important;
  background-color: var(--ah-action-green) !important;
  background-image: none !important;
  border-color: var(--ah-action-green-border) !important;
  color: #ffffff !important;
  text-shadow: 0 2px 0 rgba(20, 69, 4, .68) !important;
  box-shadow:
    0 5px 0 var(--ah-action-green-dark),
    0 9px 14px rgba(0,0,0,.28),
    inset 0 2px 0 rgba(255,255,255,.18) !important;
}

#craftPanel .craft-create-button:disabled,
#buildPanel .craft-create-button:disabled,
#shopPanel .craft-create-button:disabled,
#craftPanel button.craft-create-button:disabled,
#buildPanel button.craft-create-button:disabled,
#shopPanel button.craft-create-button:disabled,
#shopPanel .shop-buy-button:disabled {
  background: #76634b !important;
  background-color: #76634b !important;
  background-image: none !important;
  border-color: #3d2a17 !important;
  color: #e8dac0 !important;
  text-shadow: 0 2px 0 rgba(0,0,0,.35) !important;
  box-shadow:
    0 4px 0 #3d2a17,
    0 8px 12px rgba(0,0,0,.22),
    inset 0 1px 0 rgba(255,255,255,.10) !important;
}

#tradePanel .trade-cancel-modern,
#leaveConfirmYes.leave-exit-v269,
#clanPanel .ahardice-red-button-v178,
#clanPanel .clan-kick-button-v184,
#clanPanel .ahardice-clan-kick-v184 {
  background: var(--ah-action-red) !important;
  background-color: var(--ah-action-red) !important;
  background-image: none !important;
  border-color: #5b1507 !important;
  color: #fff8e8 !important;
  text-shadow: 0 2px 0 rgba(80, 16, 5, .65) !important;
  box-shadow:
    0 5px 0 var(--ah-action-red-dark),
    0 9px 14px rgba(0,0,0,.28),
    inset 0 2px 0 rgba(255,255,255,.16) !important;
}

.action-dock {
  left: 0 !important;
  top: 248px !important;
  width: 76px !important;
  max-height: calc(100vh - 264px) !important;
  gap: 7px !important;
}

.action-dock .dock-button,
.action-dock .dock-button.text-dock {
  width: 76px !important;
  min-width: 76px !important;
  max-width: 76px !important;
  height: 48px !important;
  min-height: 48px !important;
  max-height: 48px !important;
  grid-template-columns: 38px 18px !important;
  gap: 2px !important;
  padding: 5px 5px 5px 3px !important;
  background: #3a381e !important;
  background-image: none !important;
  border-color: rgba(0,0,0,.74) !important;
}

.action-dock .dock-button.active,
.action-dock .dock-button:hover {
  background: var(--ah-flat-orange-row-active) !important;
  background-image: none !important;
  border-color: rgba(0,0,0,.78) !important;
}

.action-dock .dock-button img {
  width: 36px !important;
  height: 36px !important;
  justify-self: end !important;
}

.action-dock .dock-button span,
.action-dock .dock-button.text-dock span {
  width: 18px !important;
  min-width: 18px !important;
  justify-self: start !important;
  font-size: 20px !important;
  line-height: 1 !important;
  text-align: left !important;
}

body:not(.chest-open-v198):not(.trade-active):not(.structure-open-v241) #inventory.inventory.game-panel,
#craftPanel.craft-panel.game-panel,
#shopPanel.craft-panel.game-panel,
#adminPanel.admin-panel {
  left: 88px !important;
  right: auto !important;
}

.main-leaderboard-tabs-v516 {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 7px !important;
  margin: 0 0 8px !important;
}

.main-leaderboard-tab-v516 {
  box-sizing: border-box !important;
  min-width: 0 !important;
  height: 38px !important;
  padding: 0 8px !important;
  border-radius: 8px !important;
  border: 2px solid #3b1500 !important;
  background: var(--ah-flat-panel-row) !important;
  background-image: none !important;
  color: #fff7d8 !important;
  font-size: 14px !important;
  line-height: 1 !important;
  font-weight: 1000 !important;
  text-align: center !important;
  text-shadow: 0 2px 0 rgba(42, 13, 0, .60) !important;
  box-shadow: 0 4px 0 rgba(45, 14, 0, .74), inset 0 1px 0 rgba(255,255,255,.14) !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

.main-leaderboard-tab-v516.active,
.main-leaderboard-tab-v516:hover {
  background: var(--ah-action-green) !important;
  background-image: none !important;
  border-color: var(--ah-action-green-border) !important;
  color: #ffffff !important;
  text-shadow: 0 2px 0 rgba(20, 69, 4, .68) !important;
  box-shadow: 0 4px 0 var(--ah-action-green-dark), inset 0 1px 0 rgba(255,255,255,.16) !important;
}

.ahardice-main-menu.main-tab-leaderboard .main-side-panel {
  width: min(720px, calc(100vw - 214px)) !important;
  max-width: calc(100vw - 214px) !important;
}

.main-leaderboard-grid-v140 {
  grid-template-columns: 1fr !important;
  gap: 0 !important;
}

.main-leaderboard-card-v140 {
  max-height: calc(100vh - 192px) !important;
}

.main-leaderboard-row-v140 {
  min-height: 39px !important;
  height: 39px !important;
  grid-template-columns: 42px 36px minmax(0, 1fr) 104px !important;
}

.main-leaderboard-avatar-v140 {
  width: 34px !important;
  height: 34px !important;
  min-width: 34px !important;
  min-height: 34px !important;
}

.main-leaderboard-name-v140 {
  font-size: 14px !important;
}

.main-leaderboard-value-v140 {
  width: 104px !important;
}

.main-leaderboard-value-v140 b {
  font-size: 13px !important;
}

.leave-confirm-overlay {
  position: fixed !important;
  inset: 0 !important;
  z-index: 9000 !important;
  display: grid !important;
  place-items: center !important;
  padding: 18px !important;
  background: rgba(20, 10, 2, .46) !important;
  background-image: none !important;
}

.leave-confirm-card.leave-confirm-card-v269 {
  box-sizing: border-box !important;
  width: min(380px, calc(100vw - 36px)) !important;
  padding: 16px !important;
  display: grid !important;
  justify-items: center !important;
  gap: 10px !important;
  border-radius: 12px !important;
  background: var(--ah-flat-panel-outer) !important;
  background-image: none !important;
  border: 3px solid var(--ah-flat-panel-border) !important;
  color: #fff7d8 !important;
  text-align: center !important;
  box-shadow: 0 7px 0 rgba(38, 12, 0, .78), 0 22px 38px rgba(0,0,0,.36) !important;
}

.leave-confirm-icon-v269 {
  width: 64px !important;
  height: 64px !important;
  display: grid !important;
  place-items: center !important;
  border-radius: 12px !important;
  background: var(--ah-flat-panel-row) !important;
  background-image: none !important;
  border: 2px solid #3b1500 !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.15) !important;
}

.leave-confirm-icon-v269 img {
  width: 46px !important;
  height: 46px !important;
  object-fit: contain !important;
  filter: drop-shadow(0 3px 0 rgba(0,0,0,.32)) !important;
}

.leave-confirm-card-v269 > b {
  color: #fff7d8 !important;
  font-size: 26px !important;
  line-height: 1.05 !important;
  font-weight: 1000 !important;
  text-shadow: 0 3px 0 rgba(57, 17, 0, .62) !important;
}

.leave-confirm-card-v269 > p {
  margin: -2px 0 2px !important;
  max-width: 310px !important;
  color: #ffe3aa !important;
  font-size: 13px !important;
  line-height: 1.2 !important;
  font-weight: 850 !important;
}

.leave-confirm-card-v269 .leave-confirm-actions {
  width: 100% !important;
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 10px !important;
  margin: 2px 0 0 !important;
}

.leave-confirm-card-v269 .leave-confirm-actions button {
  box-sizing: border-box !important;
  min-width: 0 !important;
  height: 48px !important;
  padding: 0 10px !important;
  border-radius: 9px !important;
  border: 2px solid transparent !important;
  font-size: 17px !important;
  line-height: 1 !important;
  font-weight: 1000 !important;
}

#leaveConfirmNo.leave-stay-v269 {
  background: var(--ah-action-green) !important;
  background-image: none !important;
  border-color: var(--ah-action-green-border) !important;
  color: #ffffff !important;
  text-shadow: 0 2px 0 rgba(20, 69, 4, .68) !important;
  box-shadow: 0 5px 0 var(--ah-action-green-dark), 0 9px 14px rgba(0,0,0,.28), inset 0 2px 0 rgba(255,255,255,.18) !important;
}

@media (max-height: 760px) {
  .action-dock {
    top: 238px !important;
    width: 72px !important;
    gap: 6px !important;
  }

  .action-dock .dock-button,
  .action-dock .dock-button.text-dock {
    width: 72px !important;
    min-width: 72px !important;
    max-width: 72px !important;
    height: 44px !important;
    min-height: 44px !important;
    max-height: 44px !important;
    grid-template-columns: 35px 17px !important;
    gap: 1px !important;
  }

  .action-dock .dock-button img {
    width: 33px !important;
    height: 33px !important;
  }

  .action-dock .dock-button span,
  .action-dock .dock-button.text-dock span {
    width: 17px !important;
    min-width: 17px !important;
    font-size: 18px !important;
  }
}

@media (max-width: 840px), (pointer: coarse) {
  .action-dock {
    width: 70px !important;
    gap: 6px !important;
  }

  .action-dock .dock-button,
  .action-dock .dock-button.text-dock {
    width: 70px !important;
    min-width: 70px !important;
    max-width: 70px !important;
    grid-template-columns: 34px 16px !important;
    gap: 1px !important;
    padding-right: 4px !important;
  }

  .action-dock .dock-button img {
    width: 32px !important;
    height: 32px !important;
  }

  .action-dock .dock-button span,
  .action-dock .dock-button.text-dock span {
    width: 16px !important;
    min-width: 16px !important;
    font-size: 17px !important;
  }

  body:not(.chest-open-v198):not(.trade-active):not(.structure-open-v241) #inventory.inventory.game-panel,
  #craftPanel.craft-panel.game-panel,
  #shopPanel.craft-panel.game-panel,
  #adminPanel.admin-panel {
    left: 80px !important;
  }

  .ahardice-main-menu.main-tab-leaderboard .main-side-panel {
    width: calc(100vw - 16px) !important;
    max-width: calc(100vw - 16px) !important;
  }

  .main-leaderboard-tabs-v516 {
    gap: 5px !important;
  }

  .main-leaderboard-tab-v516 {
    height: 34px !important;
    padding: 0 5px !important;
    font-size: 11px !important;
  }

  .main-leaderboard-row-v140 {
    grid-template-columns: 37px 34px minmax(0, 1fr) 92px !important;
    height: 37px !important;
    min-height: 37px !important;
  }

  .main-leaderboard-value-v140 {
    width: 92px !important;
  }

  .main-leaderboard-name-v140 {
    font-size: 12px !important;
  }
}

@media not all {
/* disabled v517: restore in-game dock placement, unify trade inventory position,
   refresh settings, enlarge slot art, and separate the top HUD widgets. */
.action-dock {
  left: 0 !important;
  top: 276px !important;
  width: 88px !important;
  max-height: calc(100vh - 292px) !important;
  gap: 10px !important;
}

.action-dock .dock-button,
.action-dock .dock-button.text-dock {
  width: 88px !important;
  min-width: 88px !important;
  max-width: 88px !important;
  height: 54px !important;
  min-height: 54px !important;
  max-height: 54px !important;
  grid-template-columns: 42px 20px !important;
  gap: 4px !important;
  padding: 5px 7px 5px 4px !important;
  background: #3a381e !important;
  background-color: #3a381e !important;
  background-image: none !important;
  border: 3px solid rgba(0, 0, 0, .74) !important;
  border-left: 0 !important;
  color: #fff7d8 !important;
  box-shadow: 0 4px 0 rgba(0,0,0,.48), inset 0 1px 0 rgba(255,255,255,.10) !important;
}

.action-dock .dock-button.active,
.action-dock .dock-button:hover {
  background: #536027 !important;
  background-color: #536027 !important;
  background-image: none !important;
  border-color: rgba(0, 0, 0, .82) !important;
  color: #ffffff !important;
}

.action-dock .dock-button img {
  width: 41px !important;
  height: 41px !important;
  justify-self: end !important;
  object-fit: contain !important;
}

.action-dock .dock-button span,
.action-dock .dock-button.text-dock span {
  width: 20px !important;
  min-width: 20px !important;
  justify-self: start !important;
  color: #fff7d8 !important;
  font-size: 22px !important;
  line-height: 1 !important;
  font-weight: 1000 !important;
  letter-spacing: 0 !important;
  text-align: left !important;
  text-shadow: 0 2px 0 rgba(0,0,0,.52) !important;
}

body:not(.chest-open-v198):not(.structure-open-v241) #inventory.inventory.game-panel,
body.trade-active #inventory.inventory.game-panel,
#craftPanel.craft-panel.game-panel,
#shopPanel.craft-panel.game-panel,
#adminPanel.admin-panel {
  left: 104px !important;
  right: auto !important;
}

body:not(.chest-open-v198):not(.structure-open-v241) #inventory.inventory.game-panel,
body.trade-active #inventory.inventory.game-panel {
  top: 330px !important;
  bottom: auto !important;
  transform: none !important;
  transform-origin: left top !important;
}

body.trade-active #leaderboardPanel {
  display: none !important;
}

#hotbar .hotbar-slot,
#equipmentSlots .hotbar-slot,
#inventory .inventory-slot,
#chestPanel .inventory-slot,
body.trade-active #inventory .inventory-slot,
body.chest-open-v198 #inventory .inventory-slot {
  background-size: 92% 92% !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
}

#hotbar .hotbar-slot {
  background-color: rgba(53, 82, 42, .78) !important;
}

#inventory.inventory.game-panel #inventoryGrid.inventory-grid .inventory-slot,
body.trade-active #inventory.inventory.game-panel #inventoryGrid.inventory-grid .inventory-slot,
body.chest-open-v198 #inventory.inventory.game-panel #inventoryGrid.inventory-grid .inventory-slot,
#chestPanel.inventory.chest-panel.game-panel #chestGrid.inventory-grid .inventory-slot {
  background-color: #8a3100 !important;
  background-image: none !important;
}

#inventory.inventory.game-panel #inventoryGrid.inventory-grid .inventory-slot:not([style*="background-image"]),
body.trade-active #inventory.inventory.game-panel #inventoryGrid.inventory-grid .inventory-slot:not([style*="background-image"]),
body.chest-open-v198 #inventory.inventory.game-panel #inventoryGrid.inventory-grid .inventory-slot:not([style*="background-image"]),
#chestPanel.inventory.chest-panel.game-panel #chestGrid.inventory-grid .inventory-slot:not([style*="background-image"]) {
  background: #8a3100 !important;
  background-color: #8a3100 !important;
  background-image: none !important;
}

#settingsPanel.settings-panel-v480 {
  box-sizing: border-box !important;
  width: min(780px, calc(100vw - 18px)) !important;
  min-height: 412px !important;
  max-height: calc(100vh - 18px) !important;
  padding: 14px 18px 18px !important;
  overflow: hidden !important;
  background: #f27a12 !important;
  background-color: #f27a12 !important;
  background-image: none !important;
  border: 4px solid #3b1500 !important;
  border-radius: 12px !important;
  color: #fff7d8 !important;
  box-shadow: 0 7px 0 rgba(45, 14, 0, .72), 0 22px 42px rgba(0,0,0,.34) !important;
}

#settingsPanel.settings-panel-v480 .settings-header-v269 {
  height: 48px !important;
  margin: 0 58px 12px !important;
  padding: 0 14px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: #ffb12c !important;
  background-color: #ffb12c !important;
  background-image: none !important;
  border: 2px solid #3b1500 !important;
  border-radius: 9px !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.18) !important;
}

#settingsPanel.settings-panel-v480 .settings-icon-v269 {
  display: none !important;
}

#settingsPanel.settings-panel-v480 .settings-header-v269 b {
  color: #4a1700 !important;
  font-size: 30px !important;
  line-height: 1 !important;
  font-weight: 1000 !important;
  letter-spacing: 0 !important;
  text-shadow: 0 1px 0 rgba(255,255,255,.36) !important;
}

#settingsPanel.settings-panel-v480 .settings-close-v269 {
  top: 14px !important;
  right: 14px !important;
  width: 46px !important;
  height: 46px !important;
  min-width: 46px !important;
  min-height: 46px !important;
  padding: 0 !important;
  background: #d84b27 !important;
  background-color: #d84b27 !important;
  background-image: none !important;
  border: 3px solid #5b1507 !important;
  border-radius: 9px !important;
  color: #fff8e8 !important;
  font-size: 39px !important;
  line-height: 37px !important;
  text-shadow: 0 2px 0 rgba(80,16,5,.65) !important;
  box-shadow: 0 4px 0 #8f260f, inset 0 1px 0 rgba(255,255,255,.16) !important;
}

#settingsPanel.settings-panel-v480 .settings-options-v269 {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(245px, .86fr) !important;
  grid-auto-rows: min-content !important;
  gap: 10px 14px !important;
  margin: 0 !important;
  padding: 0 !important;
  align-items: stretch !important;
}

#settingsPanel.settings-panel-v480 .settings-section-v480 {
  display: contents !important;
}

#settingsPanel.settings-panel-v480 .settings-section-title-v480 {
  display: none !important;
}

#settingsPanel.settings-panel-v480 .settings-audio-v301 {
  grid-column: 1 !important;
  grid-row: 1 !important;
  min-height: 78px !important;
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 8px !important;
}

#settingsPanel.settings-panel-v480 .settings-select-v480 {
  grid-column: 1 !important;
  grid-row: 2 !important;
}

#settingsPanel.settings-panel-v480 > .settings-options-v269 > .settings-select-v404:not(.settings-select-v480) {
  grid-column: 1 !important;
  grid-row: 3 !important;
}

#settingsPanel.settings-panel-v480 .settings-account-v270 {
  grid-column: 1 !important;
  grid-row: 4 !important;
}

#settingsPanel.settings-panel-v480 .settings-support-v497 {
  grid-column: 1 !important;
  grid-row: 5 !important;
  width: 190px !important;
  height: 46px !important;
  margin: 6px 0 0 !important;
  display: grid !important;
  place-items: center !important;
  background: #ffcc33 !important;
  background-color: #ffcc33 !important;
  background-image: none !important;
  border: 3px solid #8a4b00 !important;
  border-radius: 9px !important;
  color: #823000 !important;
  font-size: 17px !important;
  line-height: 1 !important;
  font-weight: 1000 !important;
  text-decoration: none !important;
  text-shadow: 0 1px 0 rgba(255,255,255,.45) !important;
  box-shadow: 0 4px 0 #9a5200 !important;
}

#settingsPanel.settings-panel-v480 .settings-toggle-stable-v497 {
  grid-column: 2 !important;
  grid-row: 1 !important;
}

#settingsPanel.settings-panel-v480 .settings-toggle-soft-v497 {
  grid-column: 2 !important;
  grid-row: 2 !important;
}

#settingsPanel.settings-panel-v480 .settings-toggle-stats-v497 {
  grid-column: 2 !important;
  grid-row: 3 !important;
}

#settingsPanel.settings-panel-v480 .settings-toggle-motion-v497 {
  grid-column: 2 !important;
  grid-row: 4 !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 {
  box-sizing: border-box !important;
  min-width: 0 !important;
  min-height: 58px !important;
  padding: 11px 13px !important;
  background: #5b2100 !important;
  background-color: #5b2100 !important;
  background-image: none !important;
  border: 2px solid #3b1500 !important;
  border-radius: 8px !important;
  color: #fff7d8 !important;
  box-shadow: 0 3px 0 rgba(45,14,0,.50), inset 0 1px 0 rgba(255,255,255,.08) !important;
}

#settingsPanel.settings-panel-v480 .settings-option-v269 {
  display: grid !important;
  grid-template-columns: 40px minmax(0, 1fr) !important;
  gap: 12px !important;
  align-items: center !important;
}

#settingsPanel.settings-panel-v480 .settings-option-v269 input {
  display: none !important;
}

#settingsPanel.settings-panel-v480 .settings-option-v269 i {
  order: 1 !important;
  box-sizing: border-box !important;
  width: 38px !important;
  height: 38px !important;
  display: grid !important;
  place-items: center !important;
  background: #3a1800 !important;
  background-color: #3a1800 !important;
  background-image: none !important;
  border: 2px solid #2a0d00 !important;
  border-radius: 8px !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.10), 0 2px 0 rgba(0,0,0,.28) !important;
}

#settingsPanel.settings-panel-v480 .settings-option-v269 i::after {
  content: "✓" !important;
  opacity: 0 !important;
  color: #ffffff !important;
  font-size: 28px !important;
  line-height: 1 !important;
  font-weight: 1000 !important;
  transform: none !important;
  text-shadow: 0 2px 0 rgba(20,69,4,.68) !important;
}

#settingsPanel.settings-panel-v480 .settings-option-v269 input:checked + i {
  background: #54bd22 !important;
  background-color: #54bd22 !important;
  background-image: none !important;
  border-color: #154b04 !important;
}

#settingsPanel.settings-panel-v480 .settings-option-v269 input:checked + i::after {
  opacity: 1 !important;
  transform: 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 {
  order: 2 !important;
  min-width: 0 !important;
  color: #fff7d8 !important;
  font-size: 18px !important;
  line-height: 1.12 !important;
  font-weight: 1000 !important;
  letter-spacing: 0 !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
  text-shadow: 0 2px 0 rgba(42,13,0,.62) !important;
}

#settingsPanel.settings-panel-v480 .settings-account-v270 b {
  display: block !important;
  max-width: 100% !important;
  margin-top: 5px !important;
  overflow: hidden !important;
  color: #ffe5a5 !important;
  font-size: 13px !important;
  line-height: 1.2 !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

#settingsPanel.settings-panel-v480 .settings-select-v404 {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 8px !important;
}

#settingsPanel.settings-panel-v480 .settings-select-v480 select,
#settingsPanel.settings-panel-v480 .settings-select-v404 select {
  box-sizing: border-box !important;
  width: 100% !important;
  height: 42px !important;
  min-width: 0 !important;
  padding: 0 36px 0 12px !important;
  background: #7a2c00 !important;
  background-color: #7a2c00 !important;
  background-image: none !important;
  border: 0 !important;
  border-radius: 6px !important;
  color: #fff7d8 !important;
  font-size: 17px !important;
  line-height: 1 !important;
  font-weight: 1000 !important;
  letter-spacing: 0 !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.10) !important;
}

#settingsPanel.settings-panel-v480 .settings-audio-v301 input[type="range"] {
  height: 18px !important;
  accent-color: #ffcc33 !important;
}

#settingsPanel.settings-panel-v480 .settings-audio-v301 input[type="range"]::-webkit-slider-runnable-track {
  height: 12px !important;
  background: #281000 !important;
  border: 2px solid #160700 !important;
  border-radius: 8px !important;
}

#settingsPanel.settings-panel-v480 .settings-audio-v301 input[type="range"]::-webkit-slider-thumb {
  width: 22px !important;
  height: 22px !important;
  margin-top: -7px !important;
  background: #ffcc33 !important;
  border: 2px solid #8a4b00 !important;
  border-radius: 50% !important;
}

#settingsPanel.settings-panel-v480 .settings-audio-v301 input[type="range"]::-moz-range-track {
  height: 12px !important;
  background: #281000 !important;
  border: 2px solid #160700 !important;
  border-radius: 8px !important;
}

#settingsPanel.settings-panel-v480 .settings-audio-v301 input[type="range"]::-moz-range-thumb {
  width: 20px !important;
  height: 20px !important;
  background: #ffcc33 !important;
  border: 2px solid #8a4b00 !important;
  border-radius: 50% !important;
}

#settingsPanel.settings-panel-v480 .settings-audio-v301 output {
  float: right !important;
  color: #ffcc33 !important;
  font-size: 16px !important;
  font-weight: 1000 !important;
}

.game-coin-balance {
  left: 50% !important;
  top: calc(8px + var(--safe-top-v487, 0px)) !important;
  transform: translateX(-50%) !important;
  min-width: 146px !important;
  height: 40px !important;
  padding: 5px 16px !important;
  gap: 9px !important;
  background: #5b2100 !important;
  background-color: #5b2100 !important;
  background-image: none !important;
  border: 3px solid #3b1500 !important;
  border-radius: 0 0 14px 14px !important;
  color: #fff7d8 !important;
  font-size: 19px !important;
  line-height: 1 !important;
  box-shadow: 0 4px 0 rgba(45,14,0,.56), inset 0 1px 0 rgba(255,255,255,.10) !important;
}

.game-coin-icon {
  width: 25px !important;
  height: 25px !important;
  background: #ffcc33 !important;
  background-color: #ffcc33 !important;
  background-image: none !important;
  border: 2px solid #8a4b00 !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.35), 0 2px 0 rgba(0,0,0,.24) !important;
}

.day-night-timer {
  left: 50% !important;
  top: calc(55px + var(--safe-top-v487, 0px)) !important;
  right: auto !important;
  transform: translateX(-50%) !important;
  width: auto !important;
  min-width: 118px !important;
  height: 34px !important;
  padding: 4px 10px 6px !important;
  gap: 8px !important;
  position: fixed !important;
  background: #6a4a18 !important;
  background-color: #6a4a18 !important;
  background-image: none !important;
  border: 2px solid #3b2410 !important;
  border-radius: 16px !important;
  color: #fff3c1 !important;
  box-shadow: 0 3px 0 rgba(35,18,5,.58), 0 8px 14px rgba(0,0,0,.22) !important;
}

.day-night-timer::after {
  content: "" !important;
  position: absolute !important;
  left: 12px !important;
  right: 12px !important;
  bottom: 4px !important;
  height: 3px !important;
  border-radius: 4px !important;
  background: #ffcc33 !important;
  transform: scaleX(var(--day-night-progress-ratio, 0)) !important;
  transform-origin: left center !important;
}

.day-night-timer.night {
  background: #141c32 !important;
  background-color: #141c32 !important;
  background-image: none !important;
  border-color: #050916 !important;
  color: #dce8ff !important;
  box-shadow: 0 3px 0 rgba(4,9,24,.70), 0 8px 14px rgba(0,0,0,.28) !important;
}

.day-night-timer.night::after {
  background: #91bcff !important;
}

.day-night-icon {
  width: 25px !important;
  height: 25px !important;
  min-width: 25px !important;
  background: #ffcc33 !important;
  background-color: #ffcc33 !important;
  background-image: none !important;
  border: 2px solid #8a4b00 !important;
  color: #5b2100 !important;
  font-size: 13px !important;
  box-shadow: 0 2px 0 rgba(60,35,10,.48) !important;
}

.day-night-timer.night .day-night-icon {
  background: #253861 !important;
  background-color: #253861 !important;
  background-image: none !important;
  border-color: #91bcff !important;
  color: #edf5ff !important;
  box-shadow: 0 2px 0 rgba(0,6,22,.70) !important;
}

.day-night-timer b {
  min-width: 45px !important;
  font-size: 13px !important;
  line-height: 1 !important;
  text-align: left !important;
}

.server-state-banner {
  top: calc(98px + var(--safe-top-v487, 0px)) !important;
}

.main-menu-tab.active,
.main-menu-tab:hover,
.main-menu-left-tabs .main-menu-tab.active,
.main-menu-left-tabs .main-menu-tab:hover {
  background: #7a2c00 !important;
  background-color: #7a2c00 !important;
  background-image: none !important;
}

@media (max-height: 760px) {
  .action-dock {
    top: 258px !important;
    width: 84px !important;
    max-height: calc(100vh - 270px) !important;
    gap: 8px !important;
  }

  .action-dock .dock-button,
  .action-dock .dock-button.text-dock {
    width: 84px !important;
    min-width: 84px !important;
    max-width: 84px !important;
    height: 50px !important;
    min-height: 50px !important;
    max-height: 50px !important;
    grid-template-columns: 40px 19px !important;
    gap: 3px !important;
  }

  .action-dock .dock-button img {
    width: 38px !important;
    height: 38px !important;
  }

  .action-dock .dock-button span,
  .action-dock .dock-button.text-dock span {
    width: 19px !important;
    min-width: 19px !important;
    font-size: 20px !important;
  }

  body:not(.chest-open-v198):not(.structure-open-v241) #inventory.inventory.game-panel,
  body.trade-active #inventory.inventory.game-panel,
  #craftPanel.craft-panel.game-panel,
  #shopPanel.craft-panel.game-panel,
  #adminPanel.admin-panel {
    left: 98px !important;
  }
}

@media (max-width: 840px), (pointer: coarse) {
  .action-dock {
    top: 258px !important;
    width: 82px !important;
    gap: 8px !important;
  }

  .action-dock .dock-button,
  .action-dock .dock-button.text-dock {
    width: 82px !important;
    min-width: 82px !important;
    max-width: 82px !important;
    height: 50px !important;
    min-height: 50px !important;
    max-height: 50px !important;
    grid-template-columns: 39px 18px !important;
    gap: 3px !important;
  }

  .action-dock .dock-button img {
    width: 37px !important;
    height: 37px !important;
  }

  .action-dock .dock-button span,
  .action-dock .dock-button.text-dock span {
    width: 18px !important;
    min-width: 18px !important;
    font-size: 19px !important;
  }

  body:not(.chest-open-v198):not(.structure-open-v241) #inventory.inventory.game-panel,
  body.trade-active #inventory.inventory.game-panel,
  #craftPanel.craft-panel.game-panel,
  #shopPanel.craft-panel.game-panel,
  #adminPanel.admin-panel {
    left: 94px !important;
  }
}

@media (max-width: 900px) {
  body:not(.chest-open-v198):not(.structure-open-v241) #inventory.inventory.game-panel,
  body.trade-active #inventory.inventory.game-panel {
    left: 16px !important;
    top: 240px !important;
    width: min(550px, calc(100vw - 32px)) !important;
    max-width: min(550px, calc(100vw - 32px)) !important;
  }
}

@media (max-width: 760px), (hover: none), (pointer: coarse) {
  #settingsPanel.settings-panel-v480 {
    width: calc(100vw - 14px) !important;
    min-height: 0 !important;
    padding: 12px !important;
    overflow: auto !important;
  }

  #settingsPanel.settings-panel-v480 .settings-header-v269 {
    height: 44px !important;
    margin: 0 52px 10px 0 !important;
  }

  #settingsPanel.settings-panel-v480 .settings-header-v269 b {
    font-size: 25px !important;
  }

  #settingsPanel.settings-panel-v480 .settings-close-v269 {
    width: 42px !important;
    height: 42px !important;
    min-width: 42px !important;
    min-height: 42px !important;
    font-size: 35px !important;
    line-height: 33px !important;
  }

  #settingsPanel.settings-panel-v480 .settings-options-v269 {
    grid-template-columns: 1fr !important;
    gap: 8px !important;
  }

  #settingsPanel.settings-panel-v480 .settings-options-v269 > *,
  #settingsPanel.settings-panel-v480 .settings-section-v480 > * {
    grid-column: 1 !important;
    grid-row: auto !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 {
    min-height: 52px !important;
    padding: 9px 11px !important;
  }

  .game-coin-balance {
    top: calc(6px + var(--safe-top-v487, 0px)) !important;
    min-width: 118px !important;
    height: 34px !important;
    padding: 4px 12px !important;
    font-size: 16px !important;
  }

  .game-coin-icon {
    width: 22px !important;
    height: 22px !important;
  }

  .day-night-timer {
    top: calc(46px + var(--safe-top-v487, 0px)) !important;
    min-width: 96px !important;
    height: 30px !important;
    padding: 3px 8px 5px !important;
    gap: 6px !important;
  }

  .day-night-icon {
    width: 22px !important;
    height: 22px !important;
    min-width: 22px !important;
    font-size: 12px !important;
  }

  .day-night-timer b {
    min-width: 38px !important;
    font-size: 12px !important;
  }

  .server-state-banner {
    top: calc(82px + var(--safe-top-v487, 0px)) !important;
  }
}
}

/* v516 fix1: only the requested trade leaderboard, slot art and left dock fixes. */
.action-dock {
  top: 276px !important;
  max-height: calc(100vh - 292px) !important;
  gap: 9px !important;
}

.action-dock .dock-button,
.action-dock .dock-button.text-dock {
  background: #3a381e !important;
  background-color: #3a381e !important;
  background-image: none !important;
  border-color: rgba(0, 0, 0, .74) !important;
}

.action-dock .dock-button.active,
.action-dock .dock-button:hover {
  background: #536027 !important;
  background-color: #536027 !important;
  background-image: none !important;
  border-color: rgba(0, 0, 0, .82) !important;
  color: #ffffff !important;
}

#hotbar .hotbar-slot,
#equipmentSlots .hotbar-slot,
#inventory .inventory-slot,
#chestPanel .inventory-slot,
body.trade-active #inventory .inventory-slot,
body.chest-open-v198 #inventory .inventory-slot,
body.trade-active #tradePanel .trade-offer-slot {
  background-size: 92% 92% !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
}

body.trade-active #leaderboardPanel {
  display: none !important;
}

.main-leaderboard-reward-note-v518 {
  box-sizing: border-box !important;
  margin: 0 0 7px !important;
  padding: 7px 9px !important;
  border-radius: 8px !important;
  background: #7a2c00 !important;
  background-color: #7a2c00 !important;
  background-image: none !important;
  border: 1px solid rgba(255, 220, 128, .24) !important;
  color: #ffe9ac !important;
  font-size: 12px !important;
  line-height: 1.15 !important;
  font-weight: 900 !important;
  text-align: center !important;
  text-shadow: 0 2px 0 rgba(42, 13, 0, .62) !important;
}

@media (max-height: 760px) {
  .action-dock {
    top: 258px !important;
    max-height: calc(100vh - 270px) !important;
    gap: 8px !important;
  }
}

/* v534: keep active effects to the right of the 10-slot hotbar and rotate their item art. */
.active-potion-effects {
  left: min(calc(50% + 408px), calc(100vw - 68px)) !important;
  right: auto !important;
  bottom: 12px !important;
  transform: none !important;
  flex-direction: column-reverse !important;
  flex-wrap: nowrap !important;
  box-sizing: border-box !important;
  width: 56px !important;
  max-width: 56px !important;
  justify-content: flex-start !important;
  align-items: center !important;
  gap: 6px !important;
}

.active-potion-effect {
  background-image: none !important;
}

.active-potion-art-v527 {
  position: absolute;
  inset: 4px;
  z-index: 2;
  pointer-events: none;
  background-size: 92% 92%;
  background-position: center;
  background-repeat: no-repeat;
  transform: rotate(90deg);
  transform-origin: center;
}

.active-potion-shine {
  z-index: 4;
}

.active-potion-cooldown {
  z-index: 3;
}

@media (max-width: 760px) {
  .active-potion-effects {
    display: none !important;
  }
}

/* v547: v541 base, clean orange menu tabs, profile/leader section tabs, login close fix. */
body.menu-open #pingPanel.ping-panel,
body:not(.game-started) #pingPanel.ping-panel {
  display: none !important;
}

.main-menu-tab.active,
.main-menu-tab:hover,
.main-menu-left-tabs .main-menu-tab.active,
.main-menu-left-tabs .main-menu-tab:hover {
  background: #fe7700 !important;
  background-color: #fe7700 !important;
  background-image: none !important;
  border-color: #ffbf55 !important;
  color: #2f1300 !important;
  box-shadow: 0 4px 0 rgba(92, 35, 0, .70), inset 0 1px 0 rgba(255, 232, 164, .35) !important;
}

.main-menu-tab.active span,
.main-menu-tab:hover span,
.main-menu-left-tabs .main-menu-tab.active span,
.main-menu-left-tabs .main-menu-tab:hover span {
  color: #2f1300 !important;
  text-shadow: 0 1px 0 rgba(255, 225, 161, .45) !important;
}

.main-profile-tabs-v547,
.main-leaderboard-tabs-v516 {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 7px !important;
  margin: 0 0 8px !important;
  padding: 4px !important;
  border-radius: 9px !important;
  background: #4f1c00 !important;
  border: 1px solid rgba(255, 185, 84, .32) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.10) !important;
}

.main-leaderboard-tabs-v516 {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

.main-profile-tab-v547,
.main-leaderboard-tab-v516 {
  box-sizing: border-box !important;
  min-width: 0 !important;
  height: 36px !important;
  padding: 0 9px !important;
  border-radius: 6px !important;
  border: 1px solid rgba(255, 207, 119, .24) !important;
  background: #6f2800 !important;
  background-color: #6f2800 !important;
  background-image: none !important;
  color: #ffe9b1 !important;
  font-size: 13px !important;
  line-height: 1 !important;
  font-weight: 950 !important;
  text-align: center !important;
  text-shadow: 0 2px 0 rgba(45, 13, 0, .56) !important;
  box-shadow: none !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

.main-profile-tab-v547.active,
.main-profile-tab-v547:hover,
.main-leaderboard-tab-v516.active,
.main-leaderboard-tab-v516:hover {
  background: #fe7700 !important;
  background-color: #fe7700 !important;
  background-image: none !important;
  border-color: #ffbf55 !important;
  color: #2f1300 !important;
  text-shadow: 0 1px 0 rgba(255, 231, 171, .44) !important;
  box-shadow: 0 3px 0 rgba(80, 29, 0, .70), inset 0 1px 0 rgba(255,255,255,.18) !important;
}

.main-profile-stats-card-v547 {
  gap: 0 !important;
}

.auth-provider-close {
  display: grid !important;
  place-items: center !important;
  padding: 0 !important;
  line-height: 1 !important;
  text-align: center !important;
}

.main-discord-community-v474fix1 {
  margin-top: 16px !important;
}

/* v550: the original panel title itself becomes the Profile/Statistics switch. */
.main-panel-title-tabs-shell-v550,
.ahardice-main-menu.main-tab-profile #mainMenuPanelTitle.main-panel-title-tabs-shell-v550,
.ahardice-main-menu.main-tab-leaderboard #mainMenuPanelTitle.main-panel-title-tabs-shell-v550 {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  flex-wrap: nowrap !important;
}

.main-panel-title-tab-v550 {
  appearance: none !important;
  -webkit-appearance: none !important;
  min-width: 0 !important;
  height: 26px !important;
  padding: 0 10px !important;
  border: 0 !important;
  border-radius: 6px !important;
  background: transparent !important;
  background-image: none !important;
  color: inherit !important;
  font: inherit !important;
  font-size: inherit !important;
  line-height: 1 !important;
  font-weight: inherit !important;
  text-align: center !important;
  text-shadow: inherit !important;
  box-shadow: none !important;
  cursor: pointer !important;
  opacity: .74 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

.main-panel-title-tab-v550.active,
.main-panel-title-tab-v550:hover {
  background: rgba(255, 255, 255, .28) !important;
  background-image: none !important;
  color: inherit !important;
  opacity: 1 !important;
}

.main-leaderboard-title-tabs-v550 .main-panel-title-tab-v550 {
  font-size: 14px !important;
  padding-inline: 8px !important;
}

.main-leaderboard-title-tabs-v550 {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  align-items: center !important;
}

.main-leaderboard-title-tabs-v550 .main-panel-title-tab-v550 {
  width: 100% !important;
}

/* v559: solo rules replace clans in the main menu. */
#clanButton {
  display: none !important;
}

.main-solo-panel-v559 {
  display: grid !important;
  gap: 16px !important;
  width: 100% !important;
  max-width: 760px !important;
  margin: 0 auto !important;
  color: #fff4cf !important;
}

.main-solo-hero-v559 {
  display: grid !important;
  gap: 8px !important;
  padding: 18px !important;
  border: 2px solid rgba(255, 209, 111, .58) !important;
  border-radius: 16px !important;
  background: linear-gradient(145deg, rgba(80, 41, 9, .84), rgba(32, 18, 8, .86)) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.13), 0 12px 28px rgba(25, 9, 0, .24) !important;
}

.main-solo-title-v559 {
  color: #ffd869 !important;
  font: 900 26px/1.05 Arial, Helvetica, sans-serif !important;
  letter-spacing: .02em !important;
  text-shadow: 0 2px 0 rgba(74, 29, 0, .8) !important;
}

.main-solo-text-v559 {
  color: #ffeec1 !important;
  font: 800 15px/1.45 Arial, Helvetica, sans-serif !important;
}

.main-solo-cards-v559 {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 10px !important;
}

.main-solo-card-v559 {
  display: grid !important;
  align-content: start !important;
  gap: 7px !important;
  min-height: 132px !important;
  padding: 13px !important;
  border-radius: 13px !important;
  border: 1px solid rgba(255, 209, 111, .38) !important;
  background: rgba(53, 29, 12, .74) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08) !important;
}

.main-solo-card-v559 b {
  color: #ffd869 !important;
  font: 900 15px/1.12 Arial, Helvetica, sans-serif !important;
}

.main-solo-card-v559 span {
  color: #f8dfae !important;
  font: 800 13px/1.34 Arial, Helvetica, sans-serif !important;
}

/* v559: larger, calmer admin panel layout with fixed action areas. */
#adminPanel.admin-panel {
  left: 50% !important;
  right: auto !important;
  top: 50% !important;
  bottom: auto !important;
  transform: translate(-50%, -50%) !important;
  width: min(1180px, calc(100vw - 28px)) !important;
  height: min(830px, calc(100vh - 34px)) !important;
  max-width: none !important;
  max-height: none !important;
  min-width: min(680px, calc(100vw - 28px)) !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 12px !important;
  padding: 14px !important;
  overflow: hidden !important;
  border-radius: 18px !important;
  border: 2px solid rgba(255, 194, 91, .72) !important;
  background:
    radial-gradient(circle at 18% 0%, rgba(255, 215, 111, .14), transparent 32%),
    linear-gradient(180deg, rgba(52, 31, 16, .98), rgba(25, 16, 11, .98)) !important;
  box-shadow: 0 22px 55px rgba(0,0,0,.42), inset 0 1px 0 rgba(255,255,255,.12) !important;
}

#adminPanel.admin-panel.hidden {
  display: none !important;
}

#adminPanel .admin-head {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 14px !important;
  flex: 0 0 auto !important;
  padding: 10px 12px !important;
  border-radius: 14px !important;
  background: rgba(0, 0, 0, .2) !important;
  border: 1px solid rgba(255, 218, 141, .18) !important;
}

#adminPanel .admin-title {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  min-width: 0 !important;
  color: #ffe29a !important;
}

#adminPanel .admin-title b {
  display: block !important;
  font: 950 25px/1.05 Arial, Helvetica, sans-serif !important;
  letter-spacing: .01em !important;
}

#adminPanel .admin-title-subtitle-v559 {
  display: block !important;
  max-width: min(760px, 72vw) !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
  margin-top: 3px !important;
  color: rgba(255, 239, 198, .88) !important;
  font: 800 13px/1.2 Arial, Helvetica, sans-serif !important;
}

#adminPanel .admin-crown {
  width: 38px !important;
  height: 38px !important;
  display: grid !important;
  place-items: center !important;
  border-radius: 12px !important;
  color: #3a1b00 !important;
  background: linear-gradient(180deg, #ffe088, #e39a2d) !important;
  box-shadow: 0 3px 0 rgba(67, 29, 0, .78), inset 0 1px 0 rgba(255,255,255,.36) !important;
  font-size: 24px !important;
}

#adminPanel .admin-tabs {
  flex: 0 0 auto !important;
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(128px, 1fr)) !important;
  gap: 8px !important;
  padding: 0 !important;
  overflow: visible !important;
}

#adminPanel .admin-tabs .craft-category-tab,
#adminPanel .admin-tabs button {
  min-height: 42px !important;
  padding: 0 12px !important;
  border-radius: 12px !important;
  font: 900 14px/1.1 Arial, Helvetica, sans-serif !important;
  white-space: nowrap !important;
}

#adminPanel .admin-body {
  flex: 1 1 auto !important;
  min-height: 0 !important;
  display: grid !important;
  gap: 12px !important;
  overflow: hidden !important;
}

#adminPanel .admin-help,
#adminPanel .admin-action-message,
#adminPanel .admin-event-message {
  margin: 0 !important;
  padding: 10px 12px !important;
  border-radius: 11px !important;
  background: rgba(255, 218, 141, .1) !important;
  border: 1px solid rgba(255, 218, 141, .16) !important;
  color: #fbe6b5 !important;
  font: 800 13px/1.28 Arial, Helvetica, sans-serif !important;
}

#adminPanel .admin-body-items,
#adminPanel .admin-body-entities,
#adminPanel .admin-body-teleport,
#adminPanel .admin-body-modes,
#adminPanel .admin-body-events {
  grid-template-rows: auto minmax(0, 1fr) auto !important;
}

#adminPanel .admin-body-players {
  grid-template-rows: auto minmax(0, 1fr) !important;
}

#adminPanel .admin-tools {
  display: grid !important;
  grid-template-columns: minmax(260px, 1fr) auto !important;
  align-items: stretch !important;
  gap: 10px !important;
  padding: 10px !important;
  border-radius: 14px !important;
  background: rgba(0, 0, 0, .18) !important;
  border: 1px solid rgba(255, 218, 141, .14) !important;
}

#adminPanel .admin-search-wrap {
  display: grid !important;
  gap: 5px !important;
}

#adminPanel .admin-search-wrap span {
  color: #ffd988 !important;
  font: 900 12px/1 Arial, Helvetica, sans-serif !important;
  text-transform: uppercase !important;
  letter-spacing: .06em !important;
}

#adminPanel .admin-tools input,
#adminPanel .admin-amount-box input {
  min-height: 42px !important;
  border-radius: 10px !important;
  font: 900 15px/1 Arial, Helvetica, sans-serif !important;
}

#adminPanel .admin-list,
#adminPanel .admin-item-list,
#adminPanel .admin-event-list,
#adminPanel .admin-mode-list {
  min-height: 0 !important;
  overflow: auto !important;
  padding: 10px !important;
  border-radius: 15px !important;
  background: rgba(0, 0, 0, .16) !important;
  border: 1px solid rgba(255, 218, 141, .12) !important;
}

#adminPanel .admin-list,
#adminPanel .admin-teleport-list {
  display: grid !important;
  align-content: start !important;
  grid-template-columns: repeat(auto-fill, minmax(270px, 1fr)) !important;
  gap: 9px !important;
}

#adminPanel .admin-item-list {
  display: grid !important;
  align-content: start !important;
  grid-template-columns: repeat(auto-fill, minmax(184px, 1fr)) !important;
  gap: 9px !important;
}

#adminPanel .admin-row,
#adminPanel .admin-item-row,
#adminPanel .admin-event-card,
#adminPanel .admin-mode-row {
  min-height: 64px !important;
  border-radius: 13px !important;
  border: 1px solid rgba(255, 218, 141, .18) !important;
  background: rgba(61, 36, 16, .72) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08) !important;
}

#adminPanel .admin-row.selected,
#adminPanel .admin-item-row.selected,
#adminPanel .admin-mode-row.enabled {
  border-color: rgba(255, 213, 95, .78) !important;
  background: linear-gradient(180deg, rgba(125, 75, 18, .88), rgba(69, 39, 14, .88)) !important;
}

#adminPanel .admin-item-row {
  display: grid !important;
  grid-template-columns: 48px minmax(0, 1fr) !important;
  gap: 10px !important;
  align-items: center !important;
  text-align: left !important;
  padding: 9px !important;
}

#adminPanel .admin-item-icon {
  width: 48px !important;
  height: 48px !important;
  border-radius: 10px !important;
  background-size: contain !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
  background-color: rgba(0,0,0,.18) !important;
}

#adminPanel .admin-item-label {
  min-width: 0 !important;
}

#adminPanel .admin-item-label b,
#adminPanel .admin-row-main b,
#adminPanel .admin-mode-main b,
#adminPanel .admin-event-info b {
  display: block !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
  color: #ffe09a !important;
  font-weight: 950 !important;
}

#adminPanel .admin-item-label span,
#adminPanel .admin-row-main span,
#adminPanel .admin-mode-main span,
#adminPanel .admin-event-info span,
#adminPanel .admin-event-info em {
  color: rgba(255, 238, 196, .82) !important;
  font-weight: 800 !important;
}

#adminPanel .admin-give-controls,
#adminPanel .admin-teleport-controls,
#adminPanel .admin-spawn-controls {
  display: grid !important;
  grid-template-columns: minmax(230px, 1fr) auto auto !important;
  align-items: stretch !important;
  gap: 10px !important;
  padding: 10px !important;
  border-radius: 15px !important;
  background: rgba(0,0,0,.22) !important;
  border: 1px solid rgba(255, 218, 141, .16) !important;
}

#adminPanel .admin-selected-item,
#adminPanel .admin-amount-box,
#adminPanel .admin-target {
  min-height: 58px !important;
  border-radius: 12px !important;
}

#adminPanel .admin-give-button {
  min-width: 138px !important;
  min-height: 58px !important;
  border-radius: 12px !important;
  font: 950 15px/1 Arial, Helvetica, sans-serif !important;
}

#adminPanel .admin-quick-amounts,
#adminPanel .admin-entity-categories,
#adminPanel .preset-speeds {
  display: flex !important;
  gap: 7px !important;
  flex-wrap: wrap !important;
  align-items: center !important;
}

#adminPanel .admin-quick-amounts button,
#adminPanel .admin-entity-categories button,
#adminPanel .preset-speeds button {
  min-height: 34px !important;
  border-radius: 9px !important;
  font-weight: 900 !important;
}

#adminPanel .admin-diagnostics-grid-v354 {
  grid-template-columns: repeat(auto-fill, minmax(185px, 1fr)) !important;
}

#adminPanel .admin-technical-v354 {
  min-height: 0 !important;
  max-height: none !important;
  overflow: auto !important;
}

.player-chat-bubble,
.player-chat-bubble * {
  font-weight: 900 !important;
}

@media (max-width: 760px) {
  .main-solo-cards-v559 {
    grid-template-columns: 1fr !important;
  }

  #adminPanel.admin-panel {
    width: calc(100vw - 14px) !important;
    height: calc(100vh - 16px) !important;
    min-width: 0 !important;
    padding: 10px !important;
    gap: 9px !important;
  }

  #adminPanel .admin-title b {
    font-size: 20px !important;
  }

  #adminPanel .admin-title-subtitle-v559 {
    max-width: 62vw !important;
  }

  #adminPanel .admin-tabs {
    display: flex !important;
    overflow-x: auto !important;
    flex-wrap: nowrap !important;
  }

  #adminPanel .admin-tabs .craft-category-tab,
  #adminPanel .admin-tabs button {
    flex: 0 0 auto !important;
  }

  #adminPanel .admin-tools,
  #adminPanel .admin-give-controls,
  #adminPanel .admin-teleport-controls,
  #adminPanel .admin-spawn-controls {
    grid-template-columns: 1fr !important;
  }

  #adminPanel .admin-list,
  #adminPanel .admin-teleport-list,
  #adminPanel .admin-item-list {
    grid-template-columns: 1fr !important;
  }
}


/* v561: polished main-menu clans. Clans are account UI and must not auto-start a match. */
#clanButton {
  display: inline-grid !important;
  position: relative;
}

.main-clan-panel-v561 {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(330px, .82fr);
  gap: 18px;
  min-height: min(620px, calc(100vh - 250px));
  align-items: stretch;
}

.main-clan-browser-v561,
.main-clan-side-v561 {
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 24px;
  background:
    radial-gradient(circle at 18% 0%, rgba(115,198,63,.18), transparent 34%),
    linear-gradient(180deg, rgba(20,31,39,.96), rgba(9,15,20,.94));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08), 0 18px 44px rgba(0,0,0,.25);
}

.main-clan-browser-v561 {
  display: grid;
  grid-template-rows: auto auto minmax(0, 1fr);
  min-width: 0;
  overflow: hidden;
}

.main-clan-hero-v561 {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
  padding: 18px 18px 12px;
}

.main-clan-hero-v561 div {
  display: grid;
  gap: 5px;
}

.main-clan-hero-v561 span,
.main-clan-detail-title-v561 span,
.main-clan-form-v561 > span,
.main-clan-status-v561 {
  color: rgba(220,235,228,.72);
  font-size: 13px;
  line-height: 1.35;
}

.main-clan-hero-v561 b,
.main-clan-detail-title-v561 b,
.main-clan-form-v561 > b {
  color: #fff;
  font-size: 21px;
  letter-spacing: .01em;
}

.main-clan-hero-v561 em,
.main-clan-detail-title-v561 em {
  color: rgba(215,229,222,.68);
  font-size: 13px;
  font-style: normal;
  line-height: 1.35;
}

.main-clan-hero-v561 strong {
  flex: 0 0 auto;
  padding: 9px 12px;
  border-radius: 14px;
  background: rgba(115,198,63,.14);
  color: #aaf073;
  border: 1px solid rgba(115,198,63,.28);
  font-size: 13px;
}

.main-clan-search-v561 {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 10px;
  padding: 0 18px 14px;
}

.main-clan-search-v561 span {
  grid-column: 1 / -1;
  color: rgba(231,241,235,.76);
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .11em;
}

.main-clan-search-v561 input,
.main-clan-form-v561 input {
  width: 100%;
  box-sizing: border-box;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 15px;
  background: rgba(4,9,12,.64);
  color: #fff;
  outline: none;
  padding: 12px 14px;
  font: inherit;
  font-weight: 800;
}

.main-clan-search-v561 input:focus,
.main-clan-form-v561 input:focus {
  border-color: rgba(115,198,63,.62);
  box-shadow: 0 0 0 3px rgba(115,198,63,.14);
}

.main-clan-refresh-v561 {
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 15px;
  background: rgba(255,255,255,.08);
  color: #dcebe4;
  padding: 0 14px;
  font: inherit;
  font-size: 13px;
  font-weight: 900;
  cursor: pointer;
}

.main-clan-refresh-v561:hover:not(:disabled) {
  background: rgba(255,255,255,.13);
}

.main-clan-banner-list-v561 {
  display: grid;
  align-content: start;
  gap: 10px;
  padding: 0 18px 18px;
  overflow: auto;
  min-height: 0;
}

.main-clan-banner-v561 {
  position: relative;
  display: grid;
  grid-template-columns: 58px minmax(0, 1fr);
  gap: 13px;
  width: 100%;
  min-height: 82px;
  text-align: left;
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 20px;
  background: linear-gradient(135deg, rgba(255,255,255,.08), rgba(255,255,255,.035));
  color: inherit;
  padding: 12px;
  cursor: pointer;
  overflow: hidden;
}

.main-clan-banner-v561:hover,
.main-clan-banner-v561.selected {
  border-color: rgba(255,213,74,.54);
  background: linear-gradient(135deg, rgba(255,213,74,.14), rgba(255,255,255,.045));
  transform: translateY(-1px);
}

.main-clan-banner-v561.current {
  border-color: rgba(115,198,63,.62);
  box-shadow: 0 0 0 2px rgba(115,198,63,.10), inset 0 1px 0 rgba(255,255,255,.08);
}

.main-clan-banner-badge-v561,
.main-clan-detail-badge-v561 {
  display: grid;
  place-items: center;
  border-radius: 18px;
  background:
    radial-gradient(circle at 30% 24%, rgba(255,255,255,.35), transparent 28%),
    linear-gradient(145deg, #73c63f, #2d7b30);
  color: #0d1a10;
  font-weight: 1000;
  letter-spacing: .04em;
  box-shadow: inset 0 -8px 18px rgba(0,0,0,.20), 0 10px 24px rgba(0,0,0,.24);
}

.main-clan-banner-info-v561 {
  position: relative;
  z-index: 1;
  display: grid;
  gap: 5px;
  min-width: 0;
}

.main-clan-banner-info-v561 b {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: #fff;
  font-size: 16px;
}

.main-clan-banner-info-v561 span,
.main-clan-banner-info-v561 em {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: rgba(220,235,228,.72);
  font-size: 12px;
  font-style: normal;
}

.main-clan-banner-info-v561 em {
  color: rgba(255,213,74,.86);
  font-weight: 800;
}

.main-clan-banner-fill-v561 {
  position: absolute;
  left: 0;
  bottom: 0;
  height: 3px;
  width: var(--fill, 0%);
  background: linear-gradient(90deg, #73c63f, #ffd54a);
  box-shadow: 0 0 18px rgba(115,198,63,.45);
}

.main-clan-side-v561 {
  display: grid;
  align-content: start;
  gap: 14px;
  padding: 18px;
  min-width: 0;
}

.main-clan-detail-v561 {
  display: grid;
  grid-template-columns: 72px minmax(0, 1fr);
  gap: 14px;
  align-items: center;
  padding: 14px;
  border-radius: 22px;
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.055);
}

.main-clan-detail-badge-v561 {
  width: 72px;
  height: 72px;
  font-size: 25px;
}

.main-clan-detail-title-v561 {
  display: grid;
  gap: 5px;
  min-width: 0;
}

.main-clan-capacity-v561 {
  grid-column: 1 / -1;
  display: grid;
  gap: 8px;
  color: rgba(232,242,235,.80);
  font-size: 13px;
  font-weight: 800;
}

.main-clan-capacity-v561 i {
  height: 9px;
  border-radius: 999px;
  background: rgba(0,0,0,.35);
  overflow: hidden;
}

.main-clan-capacity-v561 i::before {
  content: '';
  display: block;
  height: 100%;
  width: var(--fill, 0%);
  border-radius: inherit;
  background: linear-gradient(90deg, #73c63f, #ffd54a);
}

.main-clan-side-actions-v561,
.main-clan-form-v561 {
  display: grid;
  gap: 10px;
}

.main-clan-form-v561 {
  padding-top: 4px;
}

.main-clan-side-v561 button:disabled,
.main-clan-refresh-v561:disabled {
  opacity: .48;
  cursor: not-allowed;
  transform: none !important;
}

.main-clan-empty-v561 {
  min-height: 180px;
  display: grid;
  place-items: center;
  text-align: center;
  color: rgba(224,235,229,.62);
  border: 1px dashed rgba(255,255,255,.14);
  border-radius: 20px;
  background: rgba(255,255,255,.035);
  padding: 22px;
}

@media (max-width: 980px) {
  .main-clan-panel-v561 {
    grid-template-columns: 1fr;
    min-height: auto;
  }
}


/* v562: reference-style clans window: search, list/detail and create screen. */
.main-tab-clans .menu-panel,
.main-tab-clans .menu-section,
.main-tab-clans .main-menu-content {
  overflow: visible;
}

.main-tab-clans .menu-section-title {
  display: none !important;
}


.ahardice-main-menu.main-tab-clans .main-side-panel {
  left: 50% !important;
  top: 8px !important;
  transform: translateX(-50%) !important;
  width: min(982px, calc(100vw - 30px)) !important;
  max-height: calc(100vh - 16px) !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.ahardice-main-menu.main-tab-clans .main-menu-content {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
}

.main-clan-window-v562 {
  position: relative;
  box-sizing: border-box;
  width: min(965px, 100%);
  height: min(668px, calc(100vh - 16px));
  margin: -10px auto 0;
  padding: 20px 20px 12px;
  display: flex;
  flex-direction: column;
  border: 3px solid #035c7b;
  border-radius: 11px;
  background: linear-gradient(180deg, #087ea3 0%, #05789c 22%, #045d7c 100%);
  box-shadow: 0 5px 0 #01384f, 0 22px 58px rgba(0,0,0,.48), inset 0 1px 0 rgba(255,255,255,.18);
  color: #e8f7ff;
  font-family: inherit;
}

.main-clan-top-v562 {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  min-height: 48px;
}

.main-clan-top-v562 > b {
  color: #fff;
  font-size: 27px;
  font-weight: 1000;
  text-shadow: 0 2px 0 rgba(0,0,0,.46);
}

.main-clan-close-v562 {
  width: 43px;
  height: 43px;
  border: 2px solid rgba(0,0,0,.22);
  border-radius: 8px;
  background: linear-gradient(180deg, #52acd2, #1e7fa9);
  color: #d9f5ff;
  font-size: 40px;
  line-height: 34px;
  font-weight: 1000;
  text-shadow: 0 2px 0 rgba(0,0,0,.32);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.22), 0 2px 0 rgba(0,0,0,.24);
  cursor: pointer;
}

.main-clan-search-tab-v562 {
  display: block;
  width: calc(100% - 70px);
  margin: 15px auto 18px;
  height: 45px;
  border: 2px solid rgba(0,0,0,.34);
  border-radius: 7px;
  background: linear-gradient(180deg, #117da1, #046b8e);
  color: #fff;
  font: inherit;
  font-size: 22px;
  font-weight: 1000;
  text-shadow: 0 2px 0 rgba(0,0,0,.45);
  box-shadow: 0 3px 0 rgba(0,0,0,.34), inset 0 1px 0 rgba(255,255,255,.12);
  cursor: pointer;
}

.main-clan-body-v562 {
  position: relative;
  flex: 1 1 auto;
  min-height: 0;
  padding: 20px;
  overflow: hidden;
  background: #075775;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08);
}

.main-clan-statebar-v562 {
  display: grid;
  gap: 4px;
  margin-bottom: 10px;
  padding: 13px 14px;
  background: rgba(94,162,190,.24);
  color: #d7eff8;
}

.main-clan-statebar-v562 b {
  color: #fff;
  font-size: 16px;
  font-weight: 1000;
}

.main-clan-statebar-v562 span {
  font-size: 16px;
}

.main-clan-tools-v562 {
  display: grid;
  grid-template-columns: minmax(210px, 250px) 124px 170px;
  gap: 14px;
  margin-bottom: 14px;
  align-items: center;
}

.main-clan-tools-v562 input,
.main-clan-create-form-v562 input,
.main-clan-create-form-v562 textarea,
.main-clan-create-form-v562 select {
  box-sizing: border-box;
  width: 100%;
  border: 2px solid rgba(72,168,205,.85);
  border-radius: 6px;
  background: #002d3b;
  color: #f3fbff;
  padding: 10px 13px;
  font: inherit;
  font-size: 17px;
  font-weight: 900;
  outline: none;
  box-shadow: inset 0 3px 7px rgba(0,0,0,.35);
}

.main-clan-tools-v562 input::placeholder {
  color: rgba(222,242,249,.62);
  font-style: italic;
}

.main-clan-find-v562,
.main-clan-create-nav-v562,
.main-clan-back-v562 {
  height: 43px;
  border: 0;
  border-radius: 7px;
  font: inherit;
  font-size: 18px;
  font-weight: 1000;
  cursor: pointer;
  text-shadow: 0 1px 0 rgba(0,0,0,.28);
  box-shadow: 0 3px 0 rgba(0,0,0,.32), inset 0 1px 0 rgba(255,255,255,.28);
}

.main-clan-find-v562,
.main-clan-back-v562 {
  background: linear-gradient(180deg, #85d4f0, #4aa5cd);
  color: #fff;
}

.main-clan-create-nav-v562 {
  background: linear-gradient(180deg, #ffe15f, #ffc11e);
  color: #173014;
  text-shadow: none;
}

.main-clan-search-grid-v562 {
  display: grid;
  grid-template-columns: minmax(330px, .92fr) minmax(330px, 1.08fr);
  gap: 14px;
  height: calc(100% - 132px);
  min-height: 0;
}

.main-clan-list-v562 {
  display: grid;
  gap: 8px;
  align-content: start;
  max-height: none;
  min-height: 0;
  overflow-y: auto;
  padding-right: 7px;
}

.main-clan-row-v562 {
  display: grid;
  grid-template-columns: 49px minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
  width: 100%;
  min-height: 86px;
  border: 2px solid transparent;
  border-radius: 4px;
  background: #1d6380;
  color: inherit;
  padding: 10px;
  text-align: left;
  cursor: pointer;
}

.main-clan-row-v562:hover,
.main-clan-row-v562.selected {
  border-color: #ffd44d;
  background: #2b7b99;
}

.main-clan-row-v562.current {
  box-shadow: inset 4px 0 0 #8ee04f;
}

.main-clan-mini-badge-v562,
.main-clan-big-badge-v562 {
  display: grid;
  place-items: center;
  border: 3px solid #ffd44d;
  background: #1b5a72;
  color: #ffe45b;
  font-weight: 1000;
  text-transform: uppercase;
  text-align: center;
}

.main-clan-mini-badge-v562 {
  width: 43px;
  height: 43px;
  font-size: 12px;
}

.main-clan-big-badge-v562 {
  width: 64px;
  height: 64px;
  font-size: 13px;
}

.main-clan-row-info-v562 {
  display: grid;
  gap: 4px;
  min-width: 0;
}

.main-clan-row-info-v562 b,
.main-clan-card-head-v562 b,
.main-clan-create-head-v562 b {
  overflow: hidden;
  color: #fff;
  font-size: 19px;
  font-weight: 1000;
  text-overflow: ellipsis;
  white-space: nowrap;
  text-shadow: 0 2px 0 rgba(0,0,0,.38);
}

.main-clan-row-info-v562 em,
.main-clan-card-head-v562 em {
  overflow: hidden;
  color: #c9e4ef;
  font-size: 15px;
  font-style: normal;
  font-weight: 800;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.main-clan-row-v562 strong,
.main-clan-card-stats-v562 b,
.main-clan-preview-v562 b {
  color: #fff;
  font-weight: 1000;
}

.main-clan-row-v562 strong::before,
.main-clan-card-stats-v562 b.main-clan-coin-v562::before,
.main-clan-submit-v562.with-coin-v562::after {
  content: '';
  display: inline-block;
  width: 17px;
  height: 17px;
  margin-right: 5px;
  vertical-align: -3px;
  background: url('/assets/items/coin.png') center/contain no-repeat;
}

.main-clan-card-v562,
.main-clan-preview-v562 {
  display: grid;
  align-content: start;
  gap: 14px;
  min-height: 302px;
  border: 2px solid rgba(101,176,205,.52);
  background: #073a50;
  padding: 12px;
}

.main-clan-card-head-v562 {
  display: grid;
  grid-template-columns: 70px minmax(0, 1fr);
  gap: 12px;
  align-items: center;
}

.main-clan-card-head-v562 > div {
  display: grid;
  gap: 4px;
  min-width: 0;
}

.main-clan-card-v562 p {
  min-height: 72px;
  margin: 0;
  color: #d7edf6;
  font-size: 18px;
  font-weight: 850;
  line-height: 1.35;
  white-space: pre-wrap;
}

.main-clan-card-stats-v562 {
  display: grid;
  gap: 6px;
  margin-top: auto;
}

.main-clan-card-stats-v562 span {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  border-bottom: 1px solid rgba(255,255,255,.10);
  color: #cce5ef;
  font-size: 16px;
  font-weight: 850;
}

.main-clan-submit-v562 {
  min-height: 42px;
  border: 0;
  border-radius: 9px;
  background: linear-gradient(180deg, #a9eb5d, #61bd31);
  color: #183313;
  font: inherit;
  font-size: 19px;
  font-weight: 1000;
  box-shadow: 0 5px 0 #2d8624, inset 0 1px 0 rgba(255,255,255,.35);
  cursor: pointer;
}

.main-clan-submit-v562.pending {
  background: linear-gradient(180deg, #ffdc56, #f8ba22);
  box-shadow: 0 5px 0 #ae7c0d, inset 0 1px 0 rgba(255,255,255,.32);
}

.main-clan-submit-v562.muted,
.main-clan-submit-v562:disabled,
.main-clan-create-nav-v562:disabled,
.main-clan-find-v562:disabled {
  opacity: .55;
  cursor: not-allowed;
  filter: saturate(.7);
}

.main-clan-submit-v562.with-coin-v562::after {
  margin-left: 6px;
  margin-right: 0;
}

.main-clan-submit-v562.muted::after,
.main-clan-submit-v562:disabled::after {
  display: none;
}

.main-clan-create-screen-v562 {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 310px;
  gap: 22px;
  height: 100%;
  min-height: 0;
}

.main-clan-create-form-v562,
.main-clan-preview-v562 {
  min-width: 0;
}

.main-clan-create-form-v562 {
  display: grid;
  align-content: start;
}

.main-clan-create-head-v562 {
  display: flex;
  align-items: center;
  gap: 18px;
  margin-bottom: 18px;
}

.main-clan-back-v562 {
  min-width: 126px;
}

.main-clan-form-row-v562 {
  display: grid;
  gap: 8px;
  margin-bottom: 13px;
}

.main-clan-form-row-v562.two {
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}

.main-clan-form-row-v562.three {
  grid-template-columns: 1fr 1fr 1fr;
  gap: 14px;
}

.main-clan-form-row-v562 label,
.main-clan-create-form-v562 label {
  display: grid;
  gap: 7px;
}

.main-clan-create-form-v562 label > span {
  color: #c9e4ef;
  font-size: 16px;
  font-weight: 1000;
}

.main-clan-create-form-v562 textarea {
  min-height: 118px;
  resize: vertical;
}

.main-clan-create-form-v562 select {
  background-color: #287da2;
}

.main-clan-preview-v562 {
  align-content: start;
  border-left: 3px solid rgba(101,176,205,.42);
}

.main-clan-card-empty-v562,
.main-clan-empty-v562 {
  display: grid;
  min-height: 170px;
  place-items: center;
  color: rgba(225,242,248,.7);
  font-size: 18px;
  font-weight: 900;
  text-align: center;
}

.main-clan-modal-overlay-v562 {
  position: absolute;
  inset: 0;
  z-index: 10;
  display: grid;
  place-items: center;
  background: rgba(0, 9, 16, .76);
  border-radius: 9px;
}

.main-clan-modal-v562 {
  display: grid;
  place-items: center;
  gap: 74px;
  width: min(520px, calc(100% - 120px));
  min-height: 260px;
  border: 3px solid #00648a;
  border-radius: 12px;
  background: linear-gradient(180deg, #0b83ab, #08789e);
  box-shadow: 0 5px 0 #00435d, 0 20px 60px rgba(0,0,0,.45), inset 0 1px 0 rgba(255,255,255,.16);
}

.main-clan-modal-v562 b {
  color: #fff;
  font-size: 38px;
  font-weight: 1000;
  text-align: center;
  text-shadow: 0 2px 0 rgba(0,0,0,.32);
}

.main-clan-modal-ok-v562 {
  min-width: 120px;
  min-height: 56px;
  border: 0;
  border-radius: 8px;
  background: linear-gradient(180deg, #ffe161, #ffc325);
  color: #fff;
  font: inherit;
  font-size: 34px;
  font-weight: 1000;
  text-shadow: 0 2px 0 rgba(0,0,0,.24);
  box-shadow: 0 5px 0 #be8412, inset 0 1px 0 rgba(255,255,255,.32);
  cursor: pointer;
}

@media (max-width: 920px) {
  .main-clan-window-v562 {
    width: 100%;
    height: auto;
    min-height: auto;
  }
  .main-clan-tools-v562,
  .main-clan-search-grid-v562,
  .main-clan-create-screen-v562,
  .main-clan-form-row-v562.two,
  .main-clan-form-row-v562.three {
    grid-template-columns: 1fr;
  }
}
/* v563: clan menu final reference sizing and free-create polish. */
.ahardice-main-menu.main-tab-clans .main-side-panel {
  left: 50% !important;
  top: 8px !important;
  transform: translateX(-50%) !important;
  width: min(982px, calc(100vw - 30px)) !important;
  max-height: calc(100vh - 16px) !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  overflow: visible !important;
}

.ahardice-main-menu.main-tab-clans .main-menu-content,
.ahardice-main-menu.main-tab-clans .menu-section {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  overflow: visible !important;
}

.ahardice-main-menu.main-tab-clans .menu-section-title {
  display: none !important;
}

.ahardice-main-menu.main-tab-clans .main-clan-window-v562 {
  width: min(965px, 100%) !important;
  max-width: none !important;
  height: min(668px, calc(100vh - 16px)) !important;
  min-height: 0 !important;
  margin: 0 auto !important;
  padding: 20px 20px 12px !important;
  display: flex !important;
  flex-direction: column !important;
}

.ahardice-main-menu.main-tab-clans .main-clan-body-v562 {
  flex: 1 1 auto !important;
  min-height: 0 !important;
  overflow: hidden !important;
}

.ahardice-main-menu.main-tab-clans .main-clan-search-grid-v562 {
  height: calc(100% - 132px) !important;
  min-height: 0 !important;
}

.ahardice-main-menu.main-tab-clans .main-clan-list-v562 {
  max-height: none !important;
  min-height: 0 !important;
}

.ahardice-main-menu.main-tab-clans .main-clan-create-screen-v562 {
  height: 100% !important;
  min-height: 0 !important;
}

.ahardice-main-menu.main-tab-clans .main-clan-submit-v562::after {
  display: none !important;
}

.ahardice-main-menu.main-tab-clans .main-clan-submit-v562.with-coin-v562::after {
  display: inline-block !important;
}
/* v564: clan menu 720p fit pass. */
.ahardice-main-menu.main-tab-clans .main-side-panel {
  width: min(982px, calc(100vw - 30px)) !important;
  max-height: calc(100vh - 82px) !important;
  overflow: visible !important;
}

.ahardice-main-menu.main-tab-clans #mainMenuPanelBody {
  max-height: none !important;
  overflow: visible !important;
}

.ahardice-main-menu.main-tab-clans .main-clan-window-v562 {
  height: min(576px, calc(100vh - 96px)) !important;
  padding: 16px 18px 10px !important;
}

.ahardice-main-menu.main-tab-clans .main-clan-top-v562 {
  min-height: 42px !important;
}

.ahardice-main-menu.main-tab-clans .main-clan-top-v562 > b {
  font-size: 25px !important;
}

.ahardice-main-menu.main-tab-clans .main-clan-close-v562 {
  width: 40px !important;
  height: 40px !important;
  font-size: 37px !important;
}

.ahardice-main-menu.main-tab-clans .main-clan-search-tab-v562 {
  height: 40px !important;
  margin: 10px auto 14px !important;
}

.ahardice-main-menu.main-tab-clans .main-clan-body-v562 {
  padding: 16px 18px !important;
}

.ahardice-main-menu.main-tab-clans .main-clan-statebar-v562 {
  padding: 10px 13px !important;
  margin-bottom: 8px !important;
}

.ahardice-main-menu.main-tab-clans .main-clan-tools-v562 {
  grid-template-columns: minmax(210px, 250px) 124px 170px !important;
  gap: 12px !important;
  margin-bottom: 12px !important;
}

.ahardice-main-menu.main-tab-clans .main-clan-tools-v562 input,
.ahardice-main-menu.main-tab-clans .main-clan-create-form-v562 input,
.ahardice-main-menu.main-tab-clans .main-clan-create-form-v562 textarea,
.ahardice-main-menu.main-tab-clans .main-clan-create-form-v562 select {
  padding: 8px 12px !important;
  font-size: 16px !important;
}

.ahardice-main-menu.main-tab-clans .main-clan-find-v562,
.ahardice-main-menu.main-tab-clans .main-clan-create-nav-v562,
.ahardice-main-menu.main-tab-clans .main-clan-back-v562 {
  height: 39px !important;
  font-size: 17px !important;
}

.ahardice-main-menu.main-tab-clans .main-clan-search-grid-v562 {
  grid-template-columns: minmax(360px, .95fr) minmax(360px, 1.05fr) !important;
  gap: 14px !important;
  height: calc(100% - 112px) !important;
}

.ahardice-main-menu.main-tab-clans .main-clan-row-v562 {
  min-height: 72px !important;
  padding: 8px 10px !important;
}

.ahardice-main-menu.main-tab-clans .main-clan-card-v562,
.ahardice-main-menu.main-tab-clans .main-clan-preview-v562 {
  min-height: 0 !important;
  gap: 9px !important;
  padding: 11px !important;
}

.ahardice-main-menu.main-tab-clans .main-clan-card-v562 p {
  min-height: 42px !important;
  font-size: 16px !important;
}

.ahardice-main-menu.main-tab-clans .main-clan-card-stats-v562 span {
  font-size: 15px !important;
}

.ahardice-main-menu.main-tab-clans .main-clan-submit-v562 {
  min-height: 38px !important;
  font-size: 18px !important;
}

.ahardice-main-menu.main-tab-clans .main-clan-create-screen-v562 {
  grid-template-columns: minmax(0, 1fr) 310px !important;
  gap: 18px !important;
}

.ahardice-main-menu.main-tab-clans .main-clan-create-head-v562 {
  margin-bottom: 10px !important;
}

.ahardice-main-menu.main-tab-clans .main-clan-form-row-v562 {
  gap: 6px !important;
  margin-bottom: 9px !important;
}

.ahardice-main-menu.main-tab-clans .main-clan-form-row-v562.two,
.ahardice-main-menu.main-tab-clans .main-clan-form-row-v562.three {
  gap: 12px !important;
}

.ahardice-main-menu.main-tab-clans .main-clan-create-form-v562 label > span {
  font-size: 15px !important;
}

.ahardice-main-menu.main-tab-clans .main-clan-create-form-v562 textarea {
  min-height: 86px !important;
}
/* v565: centered clan modal and full clan management screen. */
.ahardice-main-menu.main-tab-clans .main-side-panel {
  position: fixed !important;
  left: 50% !important;
  top: 50% !important;
  right: auto !important;
  bottom: auto !important;
  transform: translate(-50%, -50%) !important;
  width: min(982px, calc(100vw - 30px)) !important;
  max-width: calc(100vw - 30px) !important;
  max-height: calc(100vh - 24px) !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  overflow: visible !important;
}

.ahardice-main-menu.main-tab-clans #mainMenuPanelBody,
.ahardice-main-menu.main-tab-clans .main-menu-content,
.ahardice-main-menu.main-tab-clans .menu-section {
  width: 100% !important;
  max-width: none !important;
  max-height: none !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  overflow: visible !important;
}

.ahardice-main-menu.main-tab-clans .main-clan-window-v562 {
  width: min(965px, 100%) !important;
  height: min(640px, calc(100vh - 28px)) !important;
  margin: 0 auto !important;
  padding: 18px 20px 12px !important;
  display: flex !important;
  flex-direction: column !important;
}

.ahardice-main-menu.main-tab-clans .main-clan-tabs-row-v565 {
  display: grid !important;
  grid-template-columns: 1fr !important;
  width: calc(100% - 70px) !important;
  margin: 12px auto 14px !important;
  gap: 10px !important;
}

.ahardice-main-menu.main-tab-clans .main-clan-tabs-row-v565.has-manage {
  grid-template-columns: 1fr 1fr !important;
}

.ahardice-main-menu.main-tab-clans .main-clan-tabs-row-v565 .main-clan-search-tab-v562 {
  width: 100% !important;
  margin: 0 !important;
  height: 42px !important;
  opacity: .78;
}

.ahardice-main-menu.main-tab-clans .main-clan-tabs-row-v565 .main-clan-search-tab-v562.active {
  opacity: 1;
  border-color: rgba(255, 220, 85, .55) !important;
}

.ahardice-main-menu.main-tab-clans .main-clan-body-v562 {
  flex: 1 1 auto !important;
  min-height: 0 !important;
  overflow: hidden !important;
  padding: 16px 18px !important;
}

.ahardice-main-menu.main-tab-clans .main-clan-body-v562.mode-manage {
  overflow: hidden !important;
}

.ahardice-main-menu.main-tab-clans .main-clan-manage-v565 {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 330px;
  grid-template-rows: auto auto minmax(0, 1fr) auto;
  gap: 11px 14px;
  height: 100%;
  min-height: 0;
}

.ahardice-main-menu.main-tab-clans .main-clan-manage-summary-v565,
.ahardice-main-menu.main-tab-clans .main-clan-treasury-v565,
.ahardice-main-menu.main-tab-clans .main-clan-members-v565 {
  min-width: 0;
  border: 2px solid rgba(101,176,205,.52);
  background: #073a50;
  padding: 11px;
  color: #d7edf6;
}

.ahardice-main-menu.main-tab-clans .main-clan-manage-summary-v565 {
  display: grid;
  gap: 9px;
}

.ahardice-main-menu.main-tab-clans .main-clan-manage-summary-v565 p {
  margin: 0;
  min-height: 34px;
  font-size: 16px;
  font-weight: 850;
  line-height: 1.25;
}

.ahardice-main-menu.main-tab-clans .main-clan-treasury-v565 {
  display: grid;
  gap: 8px;
  align-content: start;
}

.ahardice-main-menu.main-tab-clans .main-clan-treasury-v565 > b,
.ahardice-main-menu.main-tab-clans .main-clan-members-v565 > b {
  color: #fff;
  font-size: 19px;
  font-weight: 1000;
  text-shadow: 0 2px 0 rgba(0,0,0,.38);
}

.ahardice-main-menu.main-tab-clans .main-clan-treasury-v565 > span {
  color: #c9e4ef;
  font-size: 14px;
  font-weight: 800;
  line-height: 1.25;
}

.ahardice-main-menu.main-tab-clans .main-clan-treasury-controls-v565 {
  display: grid;
  gap: 8px;
}

.ahardice-main-menu.main-tab-clans .main-clan-treasury-controls-v565 input {
  box-sizing: border-box;
  width: 100%;
  border: 2px solid rgba(72,168,205,.85);
  border-radius: 6px;
  background: #002d3b;
  color: #f3fbff;
  padding: 8px 12px;
  font: inherit;
  font-size: 16px;
  font-weight: 900;
  outline: none;
  box-shadow: inset 0 3px 7px rgba(0,0,0,.35);
}

.ahardice-main-menu.main-tab-clans .main-clan-members-v565 {
  grid-column: 1 / 3;
  display: grid;
  gap: 8px;
  align-content: start;
  min-height: 0;
  overflow-y: auto;
  padding-right: 8px;
}

.ahardice-main-menu.main-tab-clans .main-clan-member-v565 {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
  min-height: 50px;
  padding: 8px 10px;
  border: 2px solid rgba(101,176,205,.34);
  border-radius: 6px;
  background: #1d6380;
}

.ahardice-main-menu.main-tab-clans .main-clan-member-v565.owner {
  border-color: rgba(255, 212, 77, .75);
}

.ahardice-main-menu.main-tab-clans .main-clan-member-info-v565 {
  display: grid;
  gap: 2px;
  min-width: 0;
}

.ahardice-main-menu.main-tab-clans .main-clan-member-info-v565 b {
  overflow: hidden;
  color: #fff;
  font-size: 17px;
  font-weight: 1000;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.ahardice-main-menu.main-tab-clans .main-clan-member-info-v565 span {
  overflow: hidden;
  color: #c9e4ef;
  font-size: 13px;
  font-weight: 800;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.ahardice-main-menu.main-tab-clans .main-clan-member-actions-v565,
.ahardice-main-menu.main-tab-clans .main-clan-manage-footer-v565 {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: flex-end;
}

.ahardice-main-menu.main-tab-clans .main-clan-manage-footer-v565 {
  grid-column: 1 / 3;
}

.ahardice-main-menu.main-tab-clans .main-clan-small-green-v565,
.ahardice-main-menu.main-tab-clans .main-clan-small-yellow-v565,
.ahardice-main-menu.main-tab-clans .main-clan-small-red-v565 {
  min-height: 34px;
  border: 0;
  border-radius: 8px;
  padding: 6px 12px;
  font: inherit;
  font-size: 15px;
  font-weight: 1000;
  cursor: pointer;
  box-shadow: 0 4px 0 rgba(0,0,0,.30), inset 0 1px 0 rgba(255,255,255,.30);
}

.ahardice-main-menu.main-tab-clans .main-clan-small-green-v565 {
  background: linear-gradient(180deg, #a9eb5d, #61bd31);
  color: #183313;
}

.ahardice-main-menu.main-tab-clans .main-clan-small-yellow-v565 {
  background: linear-gradient(180deg, #ffdc56, #f8ba22);
  color: #312400;
}

.ahardice-main-menu.main-tab-clans .main-clan-small-red-v565 {
  background: linear-gradient(180deg, #ff8a76, #d5483c);
  color: #fff;
}

.ahardice-main-menu.main-tab-clans .main-clan-small-red-v565.danger {
  background: linear-gradient(180deg, #ff665b, #ad211b);
}

.ahardice-main-menu.main-tab-clans .main-clan-small-green-v565:disabled,
.ahardice-main-menu.main-tab-clans .main-clan-small-yellow-v565:disabled,
.ahardice-main-menu.main-tab-clans .main-clan-small-red-v565:disabled {
  opacity: .55;
  cursor: not-allowed;
  filter: saturate(.7);
}

.ahardice-main-menu.main-tab-clans button.with-coin-v562::after {
  content: '';
  display: inline-block;
  width: 16px;
  height: 16px;
  margin-left: 6px;
  vertical-align: -3px;
  background: url('/assets/items/coin.png') center/contain no-repeat;
}

@media (max-width: 920px) {
  .ahardice-main-menu.main-tab-clans .main-clan-window-v562 {
    height: min(640px, calc(100vh - 18px)) !important;
  }
  .ahardice-main-menu.main-tab-clans .main-clan-manage-v565 {
    grid-template-columns: 1fr;
    overflow-y: auto;
  }
  .ahardice-main-menu.main-tab-clans .main-clan-members-v565,
  .ahardice-main-menu.main-tab-clans .main-clan-manage-footer-v565 {
    grid-column: 1;
  }
}
/* v566: clan requests and safe main-tab click layer. */
.ahardice-main-menu.main-tab-clans .main-menu-tabs,
.ahardice-main-menu.main-tab-clans .main-menu-left-tabs {
  z-index: 90 !important;
  pointer-events: auto !important;
}

.ahardice-main-menu.main-tab-clans .main-account-bar {
  z-index: 91 !important;
}

.ahardice-main-menu.main-tab-clans .main-side-panel {
  z-index: 70 !important;
  pointer-events: none !important;
}

.ahardice-main-menu.main-tab-clans .main-clan-window-v562 {
  pointer-events: auto !important;
}

.ahardice-main-menu.main-tab-clans .main-clan-requests-v566 {
  grid-column: 1 / 3;
  display: grid;
  gap: 8px;
  min-height: 0;
  max-height: 118px;
  overflow-y: auto;
  border: 2px solid rgba(255, 212, 77, .38);
  background: rgba(16, 83, 106, .78);
  padding: 10px;
}

.ahardice-main-menu.main-tab-clans .main-clan-requests-v566 > b {
  color: #fff;
  font-size: 18px;
  font-weight: 1000;
  text-shadow: 0 2px 0 rgba(0,0,0,.38);
}

.ahardice-main-menu.main-tab-clans .main-clan-request-empty-v566 {
  color: #c9e4ef;
  font-size: 14px;
  font-weight: 850;
}

.ahardice-main-menu.main-tab-clans .main-clan-request-row-v566 {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
  min-height: 44px;
  padding: 7px 9px;
  border-radius: 6px;
  background: #1d6380;
  border: 2px solid rgba(255, 212, 77, .34);
}

@media (max-width: 920px) {
  .ahardice-main-menu.main-tab-clans .main-clan-requests-v566 {
    grid-column: 1;
    max-height: 150px;
  }
}
/* v567: center clan window inside the menu workspace, clear of the left navigation. */
.ahardice-main-menu.main-tab-clans .main-side-panel {
  left: calc(50% + 82px) !important;
  top: 50% !important;
  transform: translate(-50%, -50%) !important;
  width: min(965px, calc(100vw - 198px)) !important;
  max-width: calc(100vw - 198px) !important;
}

.ahardice-main-menu.main-tab-clans .main-clan-window-v562 {
  width: 100% !important;
}

@media (max-width: 760px) {
  .ahardice-main-menu.main-tab-clans .main-side-panel {
    left: 50% !important;
    width: min(965px, calc(100vw - 24px)) !important;
    max-width: calc(100vw - 24px) !important;
  }
}
/* v568: keep clan panel below the account card while staying visually centered. */
.ahardice-main-menu.main-tab-clans .main-side-panel {
  top: calc(50% + 54px) !important;
  width: min(965px, calc(100vw - 198px)) !important;
  max-width: calc(100vw - 198px) !important;
}

.ahardice-main-menu.main-tab-clans .main-clan-window-v562 {
  height: min(590px, calc(100vh - 132px)) !important;
}

@media (max-height: 640px) {
  .ahardice-main-menu.main-tab-clans .main-side-panel {
    top: calc(50% + 44px) !important;
  }
  .ahardice-main-menu.main-tab-clans .main-clan-window-v562 {
    height: min(540px, calc(100vh - 108px)) !important;
  }
}
/* v569: clan panel accepts clicks; navigation stays above it only where they overlap. */
.ahardice-main-menu.main-tab-clans .main-side-panel {
  pointer-events: auto !important;
  z-index: 70 !important;
}

.ahardice-main-menu.main-tab-clans .main-clan-window-v562,
.ahardice-main-menu.main-tab-clans .main-clan-window-v562 * {
  pointer-events: auto;
}
/* v571: visible clan action feedback for requests and management operations. */
.ahardice-main-menu.main-tab-clans .main-clan-action-note-v570 {
  margin: 0 0 9px;
  padding: 8px 12px;
  border: 2px solid rgba(255, 212, 77, .58);
  border-radius: 4px;
  background: rgba(255, 201, 45, .18);
  color: #fff;
  font-size: 16px;
  font-weight: 1000;
  text-align: center;
  text-shadow: 0 2px 0 rgba(0,0,0,.35);
}
/* v572: clan typography, tabs, close button and sharp custom scrollbars. */
.ahardice-main-menu.main-tab-clans .main-clan-window-v562,
.ahardice-main-menu.main-tab-clans .main-clan-window-v562 * {
  font-family: Arial, Helvetica, sans-serif !important;
  font-weight: 800 !important;
}

.ahardice-main-menu.main-tab-clans .main-clan-window-v562 b,
.ahardice-main-menu.main-tab-clans .main-clan-window-v562 strong,
.ahardice-main-menu.main-tab-clans .main-clan-window-v562 button,
.ahardice-main-menu.main-tab-clans .main-clan-window-v562 input,
.ahardice-main-menu.main-tab-clans .main-clan-window-v562 textarea,
.ahardice-main-menu.main-tab-clans .main-clan-window-v562 select {
  font-family: Arial, Helvetica, sans-serif !important;
  font-weight: 900 !important;
}

.ahardice-main-menu.main-tab-clans .main-clan-tabs-row-v565.has-clan-v572 {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

.ahardice-main-menu.main-tab-clans .main-clan-body-v562.mode-requests,
.ahardice-main-menu.main-tab-clans .main-clan-body-v562.mode-logs {
  overflow: hidden !important;
}

.ahardice-main-menu.main-tab-clans .main-clan-requests-screen-v572,
.ahardice-main-menu.main-tab-clans .main-clan-logs-screen-v572 {
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  gap: 12px;
  height: 100%;
  min-height: 0;
}

.ahardice-main-menu.main-tab-clans .main-clan-requests-v566.full-v572 {
  grid-column: auto !important;
  max-height: none !important;
  min-height: 0 !important;
  overflow-y: auto !important;
}

.ahardice-main-menu.main-tab-clans .main-clan-logs-empty-v572 {
  display: grid;
  place-items: center;
  min-height: 0;
  border: 2px solid rgba(101,176,205,.52);
  background: #073a50;
  color: #c9e4ef;
  font-size: 18px;
  text-align: center;
}

.ahardice-main-menu.main-tab-clans .main-clan-action-note-v570 {
  display: none !important;
}

.ahardice-main-menu.main-tab-clans .main-clan-close-v562 {
  right: 14px !important;
  top: 14px !important;
  width: 48px !important;
  min-width: 48px !important;
  height: 48px !important;
  min-height: 48px !important;
  padding: 0 !important;
  border: 2px solid #1d3a12 !important;
  border-radius: 6px !important;
  background: linear-gradient(180deg, #97d66a, #5b9b34) !important;
  color: #fffbd0 !important;
  font-size: 44px !important;
  line-height: 42px !important;
  font-weight: 1000 !important;
  text-shadow: 0 2px 0 rgba(0,0,0,.45) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.28), 0 3px 0 rgba(0,0,0,.35) !important;
}

.ahardice-main-menu.main-tab-clans .main-clan-list-v562,
.ahardice-main-menu.main-tab-clans .main-clan-members-v565,
.ahardice-main-menu.main-tab-clans .main-clan-requests-v566,
.ahardice-main-menu.main-tab-clans .main-clan-manage-v565,
.ahardice-main-menu.main-tab-clans .main-clan-body-v562 {
  scrollbar-width: thin !important;
  scrollbar-color: #8fd0ee rgba(0,0,0,.22) !important;
}

.ahardice-main-menu.main-tab-clans .main-clan-list-v562::-webkit-scrollbar,
.ahardice-main-menu.main-tab-clans .main-clan-members-v565::-webkit-scrollbar,
.ahardice-main-menu.main-tab-clans .main-clan-requests-v566::-webkit-scrollbar,
.ahardice-main-menu.main-tab-clans .main-clan-manage-v565::-webkit-scrollbar,
.ahardice-main-menu.main-tab-clans .main-clan-body-v562::-webkit-scrollbar {
  width: 12px !important;
  height: 12px !important;
}

.ahardice-main-menu.main-tab-clans .main-clan-list-v562::-webkit-scrollbar-track,
.ahardice-main-menu.main-tab-clans .main-clan-members-v565::-webkit-scrollbar-track,
.ahardice-main-menu.main-tab-clans .main-clan-requests-v566::-webkit-scrollbar-track,
.ahardice-main-menu.main-tab-clans .main-clan-manage-v565::-webkit-scrollbar-track,
.ahardice-main-menu.main-tab-clans .main-clan-body-v562::-webkit-scrollbar-track {
  background: rgba(0,0,0,.22) !important;
  border-radius: 0 !important;
}

.ahardice-main-menu.main-tab-clans .main-clan-list-v562::-webkit-scrollbar-thumb,
.ahardice-main-menu.main-tab-clans .main-clan-members-v565::-webkit-scrollbar-thumb,
.ahardice-main-menu.main-tab-clans .main-clan-requests-v566::-webkit-scrollbar-thumb,
.ahardice-main-menu.main-tab-clans .main-clan-manage-v565::-webkit-scrollbar-thumb,
.ahardice-main-menu.main-tab-clans .main-clan-body-v562::-webkit-scrollbar-thumb {
  min-height: 38px !important;
  border-radius: 0 !important;
  border: 2px solid #073a50 !important;
  background: #8fd0ee !important;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.32) !important;
}

/* v573: live clan logs, deputy role highlight and confirmation state. */
.ahardice-main-menu.main-tab-clans .main-clan-member-v565.deputy {
  border-color: rgba(143, 208, 238, .78) !important;
  background: linear-gradient(180deg, rgba(49, 127, 154, .92), rgba(24, 88, 115, .95)) !important;
}

.ahardice-main-menu.main-tab-clans .main-clan-member-role-v565.deputy {
  color: #b9efff !important;
}

.ahardice-main-menu.main-tab-clans .main-clan-logs-list-v573 {
  display: grid;
  align-content: start;
  gap: 8px;
  min-height: 0;
  overflow-y: auto;
  padding-right: 6px;
}

.ahardice-main-menu.main-tab-clans .main-clan-log-row-v573 {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
  padding: 10px 12px;
  border: 2px solid rgba(101, 176, 205, .52);
  border-radius: 0;
  background: rgba(9, 62, 85, .92);
  color: #e9f8ff;
  font-size: 16px;
  line-height: 1.18;
  text-shadow: 0 1px 0 rgba(0,0,0,.35);
}

.ahardice-main-menu.main-tab-clans .main-clan-log-row-v573 b {
  min-width: 0;
  white-space: normal;
  word-break: break-word;
}

.ahardice-main-menu.main-tab-clans .main-clan-log-row-v573 span {
  color: #9ed1e3;
  font-size: 13px;
  white-space: nowrap;
}

.ahardice-main-menu.main-tab-clans .main-clan-logs-list-v573::-webkit-scrollbar {
  width: 12px !important;
}

.ahardice-main-menu.main-tab-clans .main-clan-logs-list-v573::-webkit-scrollbar-track {
  background: rgba(0,0,0,.22) !important;
  border-radius: 0 !important;
}

.ahardice-main-menu.main-tab-clans .main-clan-logs-list-v573::-webkit-scrollbar-thumb {
  min-height: 38px !important;
  border-radius: 0 !important;
  border: 2px solid #073a50 !important;
  background: #8fd0ee !important;
}


/* v585: clans match the main menu orange style; leaderboard period tabs match Profile/Stats tabs. */
.ahardice-main-menu.main-tab-clans .main-clan-window-v562 {
  border: 4px solid #3b1500 !important;
  border-radius: 16px !important;
  background: linear-gradient(180deg, #FEAA01 0%, #F36B0F 48%, #b94800 100%) !important;
  box-shadow:
    0 7px 0 rgba(56,18,0,.50),
    0 24px 58px rgba(0,0,0,.40),
    inset 0 2px 0 rgba(255,255,255,.30) !important;
  color: #fff7d8 !important;
}

.ahardice-main-menu.main-tab-clans .main-clan-top-v562 > b {
  color: #fff7d8 !important;
  text-shadow: 0 2px 0 rgba(45,14,0,.88) !important;
}

.ahardice-main-menu.main-tab-clans .main-clan-tabs-row-v565 {
  gap: 8px !important;
  margin: 8px 48px 10px 0 !important;
}

.ahardice-main-menu.main-tab-clans .main-clan-tabs-row-v565 .main-clan-search-tab-v562,
.ahardice-main-menu.main-tab-clans .main-clan-search-tab-v562 {
  border: 4px solid #3b1500 !important;
  border-radius: 9px !important;
  background: linear-gradient(180deg, #ffd069 0%, #FEAA01 34%, #F36B0F 100%) !important;
  color: #4a1800 !important;
  text-shadow: 0 1px 0 rgba(255,255,255,.55) !important;
  box-shadow: 0 4px 0 #7b2d00, inset 0 2px 0 rgba(255,255,255,.32) !important;
}

.ahardice-main-menu.main-tab-clans .main-clan-tabs-row-v565 .main-clan-search-tab-v562.active,
.ahardice-main-menu.main-tab-clans .main-clan-search-tab-v562.active,
.ahardice-main-menu.main-tab-clans .main-clan-search-tab-v562:hover:not(:disabled) {
  background: linear-gradient(180deg, #ffbd35 0%, #f47b0c 48%, #c64d00 100%) !important;
  color: #fff7d8 !important;
  text-shadow: 0 2px 0 rgba(45,14,0,.78) !important;
}

.ahardice-main-menu.main-tab-clans .main-clan-body-v562 {
  border: 3px solid rgba(55,17,0,.98) !important;
  border-radius: 12px !important;
  background: linear-gradient(180deg, rgba(105,36,0,.98), rgba(48,15,0,.99)) !important;
  box-shadow:
    inset 0 2px 0 rgba(255,255,255,.12),
    inset 0 -4px 0 rgba(0,0,0,.22) !important;
}

.ahardice-main-menu.main-tab-clans .main-clan-statebar-v562,
.ahardice-main-menu.main-tab-clans .main-clan-card-v562,
.ahardice-main-menu.main-tab-clans .main-clan-preview-v562,
.ahardice-main-menu.main-tab-clans .main-clan-manage-summary-v565,
.ahardice-main-menu.main-tab-clans .main-clan-treasury-v565,
.ahardice-main-menu.main-tab-clans .main-clan-members-v565,
.ahardice-main-menu.main-tab-clans .main-clan-requests-v566,
.ahardice-main-menu.main-tab-clans .main-clan-logs-empty-v572,
.ahardice-main-menu.main-tab-clans .main-clan-create-card-v562 {
  border: 2px solid rgba(55,17,0,.98) !important;
  border-radius: 10px !important;
  background: linear-gradient(180deg, rgba(99,33,0,.97), rgba(54,17,0,.98)) !important;
  color: #fff7d8 !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.10) !important;
}

.ahardice-main-menu.main-tab-clans .main-clan-row-v562,
.ahardice-main-menu.main-tab-clans .main-clan-member-v565,
.ahardice-main-menu.main-tab-clans .main-clan-member-v565.owner,
.ahardice-main-menu.main-tab-clans .main-clan-member-v565.deputy,
.ahardice-main-menu.main-tab-clans .main-clan-request-row-v566,
.ahardice-main-menu.main-tab-clans .main-clan-log-row-v573 {
  border: 2px solid rgba(55,17,0,.94) !important;
  border-radius: 8px !important;
  background: linear-gradient(90deg, rgba(132,52,0,.84), rgba(83,30,0,.80)) !important;
  color: #fff7d8 !important;
}

.ahardice-main-menu.main-tab-clans .main-clan-row-v562:hover,
.ahardice-main-menu.main-tab-clans .main-clan-row-v562.selected,
.ahardice-main-menu.main-tab-clans .main-clan-member-v565.owner,
.ahardice-main-menu.main-tab-clans .main-clan-member-v565.deputy {
  border-color: #FEAA01 !important;
  background: linear-gradient(90deg, rgba(159,63,0,.92), rgba(96,35,0,.90)) !important;
}

.ahardice-main-menu.main-tab-clans .main-clan-mini-badge-v562,
.ahardice-main-menu.main-tab-clans .main-clan-big-badge-v562 {
  border: 3px solid #FEAA01 !important;
  border-radius: 8px !important;
  background: rgba(43,16,4,.88) !important;
  color: #ffd76f !important;
  box-shadow: 0 0 0 2px #3b1500, inset 0 1px 0 rgba(255,255,255,.20) !important;
}

.ahardice-main-menu.main-tab-clans .main-clan-card-v562 p,
.ahardice-main-menu.main-tab-clans .main-clan-window-v562 em,
.ahardice-main-menu.main-tab-clans .main-clan-window-v562 span,
.ahardice-main-menu.main-tab-clans .main-clan-log-row-v573 span {
  color: rgba(255,240,205,.82) !important;
}

.ahardice-main-menu.main-tab-clans .main-clan-window-v562 b,
.ahardice-main-menu.main-tab-clans .main-clan-window-v562 strong,
.ahardice-main-menu.main-tab-clans .main-clan-member-info-v565 b,
.ahardice-main-menu.main-tab-clans .main-clan-row-info-v562 b,
.ahardice-main-menu.main-tab-clans .main-clan-card-head-v562 b {
  color: #fff7d8 !important;
  text-shadow: 0 2px 0 rgba(45,14,0,.88) !important;
}

.ahardice-main-menu.main-tab-clans .main-clan-card-stats-v562 b,
.ahardice-main-menu.main-tab-clans .main-clan-preview-v562 b,
.ahardice-main-menu.main-tab-clans .main-clan-row-v562 strong {
  color: #ffd76f !important;
}

.ahardice-main-menu.main-tab-clans .main-clan-tools-v562 input,
.ahardice-main-menu.main-tab-clans .main-clan-create-form-v562 input,
.ahardice-main-menu.main-tab-clans .main-clan-create-form-v562 textarea,
.ahardice-main-menu.main-tab-clans .main-clan-create-form-v562 select,
.ahardice-main-menu.main-tab-clans .main-clan-treasury-controls-v565 input {
  border: 3px solid #3b1500 !important;
  border-radius: 8px !important;
  background: rgba(37,11,0,.94) !important;
  color: #fff7d8 !important;
  box-shadow: inset 0 2px 3px rgba(0,0,0,.45) !important;
}

.ahardice-main-menu.main-tab-clans .main-clan-find-v562,
.ahardice-main-menu.main-tab-clans .main-clan-back-v562,
.ahardice-main-menu.main-tab-clans .main-clan-submit-v562,
.ahardice-main-menu.main-tab-clans .main-clan-small-green-v565,
.ahardice-main-menu.main-tab-clans .main-clan-modal-ok-v562 {
  border: 3px solid #3b1500 !important;
  border-radius: 9px !important;
  background: linear-gradient(180deg, #a9eb5d, #61bd31) !important;
  color: #183313 !important;
  text-shadow: 0 1px 0 rgba(255,255,255,.35) !important;
  box-shadow: 0 4px 0 #2d8624, inset 0 1px 0 rgba(255,255,255,.35) !important;
}

.ahardice-main-menu.main-tab-clans .main-clan-create-nav-v562,
.ahardice-main-menu.main-tab-clans .main-clan-small-yellow-v565,
.ahardice-main-menu.main-tab-clans .main-clan-submit-v562.with-coin-v562 {
  border: 3px solid #3b1500 !important;
  border-radius: 9px !important;
  background: linear-gradient(180deg, #ffd069 0%, #FEAA01 38%, #F36B0F 100%) !important;
  color: #4a1800 !important;
  text-shadow: 0 1px 0 rgba(255,255,255,.52) !important;
  box-shadow: 0 4px 0 #7b2d00, inset 0 2px 0 rgba(255,255,255,.32) !important;
}

.ahardice-main-menu.main-tab-clans .main-clan-small-red-v565,
.ahardice-main-menu.main-tab-clans .main-clan-small-red-v565.danger {
  border: 3px solid #3b1500 !important;
  border-radius: 9px !important;
  background: linear-gradient(180deg, #ff8a76, #d5483c) !important;
  color: #ffffff !important;
  box-shadow: 0 4px 0 #7b2d00, inset 0 1px 0 rgba(255,255,255,.24) !important;
}

.ahardice-main-menu.main-tab-clans .main-clan-close-v562 {
  border-radius: 9px !important;
}

.ahardice-main-menu.main-tab-leaderboard #mainMenuPanelTitle.main-leaderboard-title-tabs-v550 {
  display: flex !important;
  grid-template-columns: none !important;
  justify-content: center !important;
  gap: 8px !important;
}

.ahardice-main-menu.main-tab-leaderboard #mainMenuPanelTitle.main-leaderboard-title-tabs-v550 .main-panel-title-tab-v550 {
  width: auto !important;
  min-width: 128px !important;
  height: 34px !important;
  padding: 0 14px !important;
  border-radius: 6px !important;
  font-size: 15px !important;
}

.ahardice-main-menu.main-tab-leaderboard #mainMenuPanelTitle.main-leaderboard-title-tabs-v550 .main-panel-title-tab-v550.active,
.ahardice-main-menu.main-tab-leaderboard #mainMenuPanelTitle.main-leaderboard-title-tabs-v550 .main-panel-title-tab-v550:hover {
  background: rgba(255, 255, 255, .28) !important;
  color: inherit !important;
}

/* v586: exact leaderboard title tabs like Profile/Stats and fixed clan corner/border consistency. */
.ahardice-main-menu.main-tab-leaderboard #mainMenuPanelTitle.main-panel-title-tabs-shell-v550 {
  position: absolute !important;
  left: 14px !important;
  top: -58px !important;
  width: auto !important;
  min-width: 470px !important;
  height: 58px !important;
  margin: 0 !important;
  padding: 0 24px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  box-sizing: border-box !important;
  border: 4px solid #3b1500 !important;
  border-bottom: 0 !important;
  border-radius: 15px 15px 0 0 !important;
  background: linear-gradient(180deg, #ffd069 0%, #FEAA01 30%, #F36B0F 100%) !important;
  color: #4a1800 !important;
  font-size: 22px !important;
  font-weight: 1000 !important;
  letter-spacing: .2px !important;
  text-shadow: 0 1px 0 rgba(255,255,255,.55) !important;
  box-shadow: inset 0 2px 0 rgba(255,255,255,.34) !important;
  z-index: 4 !important;
}

.ahardice-main-menu.main-tab-leaderboard #mainMenuPanelTitle.main-leaderboard-title-tabs-v550 .main-panel-title-tab-v550 {
  width: auto !important;
  min-width: 0 !important;
  height: 26px !important;
  padding: 0 10px !important;
  border: 0 !important;
  border-radius: 6px !important;
  background: transparent !important;
  background-image: none !important;
  color: inherit !important;
  font: inherit !important;
  font-size: inherit !important;
  line-height: 1 !important;
  font-weight: inherit !important;
  text-align: center !important;
  text-shadow: inherit !important;
  box-shadow: none !important;
  opacity: .74 !important;
}

.ahardice-main-menu.main-tab-leaderboard #mainMenuPanelTitle.main-leaderboard-title-tabs-v550 .main-panel-title-tab-v550.active,
.ahardice-main-menu.main-tab-leaderboard #mainMenuPanelTitle.main-leaderboard-title-tabs-v550 .main-panel-title-tab-v550:hover {
  background: rgba(255,255,255,.28) !important;
  background-image: none !important;
  color: inherit !important;
  opacity: 1 !important;
}

.ahardice-main-menu.main-tab-clans .main-clan-window-v562 {
  overflow: hidden !important;
}

.ahardice-main-menu.main-tab-clans .main-clan-body-v562,
.ahardice-main-menu.main-tab-clans .main-clan-statebar-v562,
.ahardice-main-menu.main-tab-clans .main-clan-card-v562,
.ahardice-main-menu.main-tab-clans .main-clan-preview-v562,
.ahardice-main-menu.main-tab-clans .main-clan-manage-summary-v565,
.ahardice-main-menu.main-tab-clans .main-clan-treasury-v565,
.ahardice-main-menu.main-tab-clans .main-clan-members-v565,
.ahardice-main-menu.main-tab-clans .main-clan-requests-v566,
.ahardice-main-menu.main-tab-clans .main-clan-logs-empty-v572,
.ahardice-main-menu.main-tab-clans .main-clan-create-card-v562 {
  border-radius: 10px !important;
}

.ahardice-main-menu.main-tab-clans .main-clan-body-v562 {
  border-radius: 12px !important;
}

.ahardice-main-menu.main-tab-clans .main-clan-search-tab-v562,
.ahardice-main-menu.main-tab-clans .main-clan-search-tab-v562.active,
.ahardice-main-menu.main-tab-clans .main-clan-search-tab-v562:hover:not(:disabled),
.ahardice-main-menu.main-tab-clans .main-clan-find-v562,
.ahardice-main-menu.main-tab-clans .main-clan-create-nav-v562,
.ahardice-main-menu.main-tab-clans .main-clan-back-v562,
.ahardice-main-menu.main-tab-clans .main-clan-submit-v562,
.ahardice-main-menu.main-tab-clans .main-clan-small-green-v565,
.ahardice-main-menu.main-tab-clans .main-clan-small-yellow-v565,
.ahardice-main-menu.main-tab-clans .main-clan-small-red-v565,
.ahardice-main-menu.main-tab-clans .main-clan-modal-ok-v562 {
  border-radius: 9px !important;
}

.ahardice-main-menu.main-tab-clans .main-clan-search-tab-v562.active,
.ahardice-main-menu.main-tab-clans .main-clan-search-tab-v562:hover:not(:disabled) {
  border-color: #3b1500 !important;
}

.ahardice-main-menu.main-tab-clans .main-clan-row-v562,
.ahardice-main-menu.main-tab-clans .main-clan-member-v565,
.ahardice-main-menu.main-tab-clans .main-clan-request-row-v566,
.ahardice-main-menu.main-tab-clans .main-clan-log-row-v573 {
  border-radius: 8px !important;
}

/* v587: final clan inner tab border fix. */
.ahardice-main-menu.main-tab-clans .main-clan-tabs-row-v565 .main-clan-search-tab-v562,
.ahardice-main-menu.main-tab-clans .main-clan-tabs-row-v565 .main-clan-search-tab-v562.active,
.ahardice-main-menu.main-tab-clans .main-clan-tabs-row-v565 .main-clan-search-tab-v562:hover:not(:disabled) {
  border: 4px solid #3b1500 !important;
  border-radius: 9px !important;
}

/* v588: clan inputs keep focus, no useless Search tab, visible leaderboard periods. */
.ahardice-main-menu.main-tab-clans .main-clan-tabs-row-v565:empty {
  display: none !important;
  margin: 0 !important;
  height: 0 !important;
}

.ahardice-main-menu.main-tab-clans .main-clan-body-v562.mode-search,
.ahardice-main-menu.main-tab-clans .main-clan-body-v562.mode-create {
  margin-top: 0 !important;
}

.ahardice-main-menu.main-tab-clans .main-clan-find-v562 {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0 !important;
  padding: 0 14px !important;
  text-align: center !important;
  line-height: 1 !important;
}

.ahardice-main-menu.main-tab-leaderboard #mainMenuPanelTitle.main-panel-title-tabs-shell-v550 {
  position: relative !important;
  left: auto !important;
  top: auto !important;
  width: 100% !important;
  min-width: 0 !important;
  height: 42px !important;
  min-height: 42px !important;
  margin: 0 0 8px 0 !important;
  padding: 0 14px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  box-sizing: border-box !important;
  border: 2px solid var(--ah-flat-panel-border, #3b1500) !important;
  border-radius: 8px !important;
  background: var(--ah-flat-panel-title, #FEAA01) !important;
  background-image: none !important;
  color: #4a1700 !important;
  font-size: 20px !important;
  font-weight: 1000 !important;
  line-height: 1.05 !important;
  text-align: center !important;
  text-shadow: 0 1px 0 rgba(255,255,255,.35) !important;
  box-shadow: none !important;
  z-index: 6 !important;
}

.ahardice-main-menu.main-tab-leaderboard #mainMenuPanelTitle.main-leaderboard-title-tabs-v550 .main-panel-title-tab-v550 {
  flex: 1 1 0 !important;
  min-width: 0 !important;
  height: 28px !important;
  padding: 0 10px !important;
  border-radius: 6px !important;
  font-size: 17px !important;
  line-height: 1 !important;
}

/* v589: flat clan style, compact member window, aligned clan tabs and Xsolla shop. */
.ahardice-main-menu.main-tab-clans .main-clan-window-v562,
.ahardice-main-menu.main-tab-clans .main-clan-body-v562,
.ahardice-main-menu.main-tab-clans .main-clan-statebar-v562,
.ahardice-main-menu.main-tab-clans .main-clan-card-v562,
.ahardice-main-menu.main-tab-clans .main-clan-preview-v562,
.ahardice-main-menu.main-tab-clans .main-clan-manage-summary-v565,
.ahardice-main-menu.main-tab-clans .main-clan-treasury-v565,
.ahardice-main-menu.main-tab-clans .main-clan-members-v565,
.ahardice-main-menu.main-tab-clans .main-clan-requests-v566,
.ahardice-main-menu.main-tab-clans .main-clan-logs-empty-v572,
.ahardice-main-menu.main-tab-clans .main-clan-create-card-v562,
.ahardice-main-menu.main-tab-clans .main-clan-row-v562,
.ahardice-main-menu.main-tab-clans .main-clan-member-v565,
.ahardice-main-menu.main-tab-clans .main-clan-request-row-v566,
.ahardice-main-menu.main-tab-clans .main-clan-log-row-v573,
.ahardice-main-menu.main-tab-clans .main-clan-search-tab-v562,
.ahardice-main-menu.main-tab-clans .main-clan-find-v562,
.ahardice-main-menu.main-tab-clans .main-clan-create-nav-v562,
.ahardice-main-menu.main-tab-clans .main-clan-back-v562,
.ahardice-main-menu.main-tab-clans .main-clan-submit-v562,
.ahardice-main-menu.main-tab-clans .main-clan-small-green-v565,
.ahardice-main-menu.main-tab-clans .main-clan-small-yellow-v565,
.ahardice-main-menu.main-tab-clans .main-clan-small-red-v565,
.ahardice-main-menu.main-tab-clans .main-clan-modal-ok-v562,
.ahardice-main-menu.main-tab-clans .main-clan-tools-v562 input,
.ahardice-main-menu.main-tab-clans .main-clan-create-form-v562 input,
.ahardice-main-menu.main-tab-clans .main-clan-create-form-v562 textarea,
.ahardice-main-menu.main-tab-clans .main-clan-create-form-v562 select,
.ahardice-main-menu.main-tab-clans .main-clan-treasury-controls-v565 input {
  background-image: none !important;
}

.ahardice-main-menu.main-tab-clans .main-clan-window-v562 {
  padding: 14px 18px 12px !important;
  background: #c26009 !important;
  border: 4px solid #3b1500 !important;
  border-radius: 14px !important;
}

.ahardice-main-menu.main-tab-clans .main-clan-top-v562 {
  position: absolute !important;
  top: 10px !important;
  right: 10px !important;
  width: 42px !important;
  height: 42px !important;
  margin: 0 !important;
  padding: 0 !important;
  display: block !important;
  z-index: 20 !important;
}

.ahardice-main-menu.main-tab-clans .main-clan-top-v562 > b {
  display: none !important;
}

.ahardice-main-menu.main-tab-clans .main-clan-close-v562 {
  width: 42px !important;
  height: 42px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: #ffb12c !important;
  color: #4a1700 !important;
  border: 3px solid #3b1500 !important;
  border-radius: 8px !important;
  font-size: 32px !important;
  line-height: 1 !important;
}

.ahardice-main-menu.main-tab-clans .main-clan-tabs-row-v565.has-clan-v572 {
  width: calc(100% - 58px) !important;
  margin: 2px 58px 10px 0 !important;
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 8px !important;
  align-items: stretch !important;
}

.ahardice-main-menu.main-tab-clans .main-clan-tabs-row-v565 .main-clan-search-tab-v562 {
  height: 42px !important;
  min-height: 42px !important;
  padding: 0 10px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  line-height: 1 !important;
  white-space: nowrap !important;
  background: #ffb12c !important;
  color: #4a1700 !important;
  border: 3px solid #3b1500 !important;
  border-radius: 8px !important;
  box-shadow: 0 3px 0 #7b2d00 !important;
}

.ahardice-main-menu.main-tab-clans .main-clan-tabs-row-v565 .main-clan-search-tab-v562.active,
.ahardice-main-menu.main-tab-clans .main-clan-tabs-row-v565 .main-clan-search-tab-v562:hover:not(:disabled) {
  background: #e6760d !important;
  color: #fff7d8 !important;
  border-color: #3b1500 !important;
}

.ahardice-main-menu.main-tab-clans .main-clan-body-v562 {
  background: #6c2b05 !important;
  border: 3px solid #3b1500 !important;
  border-radius: 11px !important;
}

.ahardice-main-menu.main-tab-clans .main-clan-statebar-v562,
.ahardice-main-menu.main-tab-clans .main-clan-card-v562,
.ahardice-main-menu.main-tab-clans .main-clan-preview-v562,
.ahardice-main-menu.main-tab-clans .main-clan-manage-summary-v565,
.ahardice-main-menu.main-tab-clans .main-clan-treasury-v565,
.ahardice-main-menu.main-tab-clans .main-clan-members-v565,
.ahardice-main-menu.main-tab-clans .main-clan-requests-v566,
.ahardice-main-menu.main-tab-clans .main-clan-logs-empty-v572,
.ahardice-main-menu.main-tab-clans .main-clan-create-card-v562 {
  background: #7f3508 !important;
  border: 2px solid #3b1500 !important;
  border-radius: 9px !important;
}

.ahardice-main-menu.main-tab-clans .main-clan-row-v562,
.ahardice-main-menu.main-tab-clans .main-clan-member-v565,
.ahardice-main-menu.main-tab-clans .main-clan-request-row-v566,
.ahardice-main-menu.main-tab-clans .main-clan-log-row-v573 {
  background: #8f410d !important;
  border: 2px solid #3b1500 !important;
  border-radius: 8px !important;
}

.ahardice-main-menu.main-tab-clans .main-clan-row-v562:hover,
.ahardice-main-menu.main-tab-clans .main-clan-row-v562.selected,
.ahardice-main-menu.main-tab-clans .main-clan-member-v565.owner,
.ahardice-main-menu.main-tab-clans .main-clan-member-v565.deputy {
  background: #a64f12 !important;
  border-color: #ffd45a !important;
}

.ahardice-main-menu.main-tab-clans .main-clan-tools-v562 input,
.ahardice-main-menu.main-tab-clans .main-clan-create-form-v562 input,
.ahardice-main-menu.main-tab-clans .main-clan-create-form-v562 textarea,
.ahardice-main-menu.main-tab-clans .main-clan-create-form-v562 select,
.ahardice-main-menu.main-tab-clans .main-clan-treasury-controls-v565 input {
  background: #351407 !important;
  border: 3px solid #3b1500 !important;
  color: #fff7d8 !important;
}

.ahardice-main-menu.main-tab-clans .main-clan-find-v562,
.ahardice-main-menu.main-tab-clans .main-clan-back-v562,
.ahardice-main-menu.main-tab-clans .main-clan-submit-v562,
.ahardice-main-menu.main-tab-clans .main-clan-small-green-v565,
.ahardice-main-menu.main-tab-clans .main-clan-modal-ok-v562 {
  background: #6fc83a !important;
  color: #183313 !important;
  border: 3px solid #3b1500 !important;
  box-shadow: 0 4px 0 #2d8624 !important;
}

.ahardice-main-menu.main-tab-clans .main-clan-create-nav-v562,
.ahardice-main-menu.main-tab-clans .main-clan-small-yellow-v565,
.ahardice-main-menu.main-tab-clans .main-clan-submit-v562.with-coin-v562 {
  background: #ffb12c !important;
  color: #4a1700 !important;
  border: 3px solid #3b1500 !important;
  box-shadow: 0 4px 0 #7b2d00 !important;
}

.ahardice-main-menu.main-tab-clans .main-clan-small-red-v565,
.ahardice-main-menu.main-tab-clans .main-clan-small-red-v565.danger {
  background: #d6261f !important;
  color: #ffffff !important;
  border: 3px solid #3b1500 !important;
  box-shadow: 0 4px 0 #7b1b14 !important;
  text-shadow: 0 2px 0 rgba(60, 0, 0, .55) !important;
}

.ahardice-main-menu.main-tab-shop .main-side-panel {
  width: min(760px, calc(100vw - 214px)) !important;
  max-width: calc(100vw - 214px) !important;
  height: min(520px, calc(100vh - 44px)) !important;
  max-height: calc(100vh - 44px) !important;
}

.main-xsolla-shop-v589 {
  position: relative;
  box-sizing: border-box;
  min-height: 410px;
  color: #fff7d8;
  font-family: Arial, Helvetica, sans-serif;
  font-weight: 900;
}

.main-xsolla-head-v589,
.main-xsolla-card-v589,
.main-xsolla-note-v589 {
  box-sizing: border-box;
  background: #7f3508;
  background-image: none;
  border: 2px solid #3b1500;
  border-radius: 10px;
}

.main-xsolla-head-v589 {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 170px;
  gap: 12px;
  align-items: center;
  padding: 14px;
  margin-bottom: 12px;
}

.main-xsolla-head-v589 > b {
  display: block;
  color: #fff7d8;
  font-size: 24px;
  text-shadow: 0 2px 0 rgba(45,14,0,.88);
}

.main-xsolla-head-v589 > span,
.main-xsolla-card-v589 > span,
.main-xsolla-note-v589 {
  color: rgba(255,240,205,.82);
}

.main-xsolla-balance-v589 {
  justify-self: end;
  min-width: 150px;
  padding: 10px;
  text-align: center;
  background: #351407;
  border: 2px solid #3b1500;
  border-radius: 9px;
}

.main-xsolla-balance-v589 span,
.main-xsolla-balance-v589 b {
  display: block;
}

.main-xsolla-balance-v589 b {
  color: #ffd76f;
  font-size: 22px;
}

.main-xsolla-grid-v589 {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.main-xsolla-card-v589 {
  min-height: 210px;
  padding: 14px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.main-xsolla-card-v589 > b {
  color: #fff7d8;
  font-size: 19px;
}

.main-xsolla-card-v589 > strong {
  color: #ffd76f;
  font-size: 25px;
}

.main-xsolla-card-v589 > em {
  margin-top: auto;
  color: #ffffff;
  font-style: normal;
  font-size: 20px;
}

.main-xsolla-card-v589 button,
.main-xsolla-modal-card-v589 button {
  min-height: 40px;
  border: 3px solid #3b1500;
  border-radius: 9px;
  background: #6fc83a;
  background-image: none;
  color: #183313;
  font: inherit;
  font-weight: 1000;
  box-shadow: 0 4px 0 #2d8624;
  cursor: pointer;
}

.main-xsolla-note-v589 {
  margin: 12px 0 0;
  padding: 10px 12px;
  font-size: 13px;
}

.main-xsolla-modal-v589 {
  position: absolute;
  inset: 0;
  z-index: 50;
  display: grid;
  place-items: center;
  background: rgba(0, 0, 0, .58);
}

.main-xsolla-modal-card-v589 {
  width: min(430px, calc(100% - 40px));
  min-height: 180px;
  box-sizing: border-box;
  padding: 28px;
  display: grid;
  gap: 24px;
  place-items: center;
  text-align: center;
  background: #0879a5;
  border: 3px solid #053244;
  border-radius: 12px;
  color: #ffffff;
}

.main-xsolla-modal-card-v589 b {
  font-size: 26px;
}

@media (max-width: 760px) {
  .main-xsolla-head-v589,
  .main-xsolla-grid-v589 {
    grid-template-columns: 1fr;
  }
  .main-xsolla-balance-v589 {
    justify-self: stretch;
  }
}

/* v590: clan/profile polish after flat style pass. */
.ahardice-main-menu.main-tab-clans .main-clan-window-v562 {
  padding-top: 14px !important;
}

.ahardice-main-menu.main-tab-clans .main-clan-top-v562 {
  top: 16px !important;
  right: 16px !important;
  width: 44px !important;
  height: 44px !important;
}

.ahardice-main-menu.main-tab-clans .main-clan-close-v562 {
  width: 44px !important;
  height: 44px !important;
  min-width: 44px !important;
  padding: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 34px !important;
  line-height: 36px !important;
  text-align: center !important;
  transform: none !important;
}

.ahardice-main-menu.main-tab-clans .main-clan-body-v562.mode-search .main-clan-statebar-v562,
.ahardice-main-menu.main-tab-clans .main-clan-body-v562.mode-create .main-clan-create-screen-v562,
.ahardice-main-menu.main-tab-clans .main-clan-body-v562.mode-manage .main-clan-manage-v565,
.ahardice-main-menu.main-tab-clans .main-clan-body-v562.mode-requests .main-clan-requests-screen-v572,
.ahardice-main-menu.main-tab-clans .main-clan-body-v562.mode-logs .main-clan-logs-screen-v572 {
  margin-right: 54px !important;
}

.ahardice-main-menu.main-tab-clans .main-clan-tabs-row-v565.has-clan-v572 {
  width: calc(100% - 62px) !important;
  margin: 0 62px 10px 0 !important;
  align-items: center !important;
}

.ahardice-main-menu.main-tab-clans .main-clan-tabs-row-v565 .main-clan-search-tab-v562 {
  height: 40px !important;
  min-height: 40px !important;
  padding: 0 8px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  line-height: 1 !important;
  text-align: center !important;
  vertical-align: middle !important;
}

.ahardice-main-menu.main-tab-clans .main-clan-create-nav-v562 {
  background: #ffd84f !important;
  background-image: none !important;
  color: #3b1500 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  line-height: 1 !important;
  padding: 0 16px !important;
}

.ahardice-main-menu.main-tab-clans .main-clan-submit-v562.pending {
  background: #d6261f !important;
  background-image: none !important;
  color: #ffffff !important;
  border-color: #3b1500 !important;
  box-shadow: 0 4px 0 #7b1b14 !important;
  text-shadow: 0 2px 0 rgba(60, 0, 0, .55) !important;
}

.ahardice-main-menu.main-tab-profile .main-profile-refresh-v139 {
  background: #ffd84f !important;
  background-image: none !important;
  color: #3b1500 !important;
  border-color: #3b1500 !important;
  box-shadow: 0 4px 0 #7b2d00 !important;
  text-shadow: 0 1px 0 rgba(255,255,255,.42) !important;
}

.ahardice-main-menu.main-tab-profile .main-profile-refresh-v139:hover:not(:disabled) {
  background: #ffe16b !important;
  background-image: none !important;
}

/* v591: align clan close button with the first content block. */
.ahardice-main-menu.main-tab-clans .main-clan-top-v562 {
  top: 32px !important;
  right: 16px !important;
}

.ahardice-main-menu.main-tab-clans .main-clan-body-v562.mode-search .main-clan-statebar-v562 {
  margin-right: 64px !important;
}

/* v592: apply clan close offset only on the no-clan search screen and restore badge icons. */
.ahardice-main-menu.main-tab-clans .main-clan-window-v562.mode-search .main-clan-top-v562 {
  top: 32px !important;
  right: 16px !important;
}

.ahardice-main-menu.main-tab-clans .main-clan-window-v562.mode-create .main-clan-top-v562,
.ahardice-main-menu.main-tab-clans .main-clan-window-v562.mode-manage .main-clan-top-v562,
.ahardice-main-menu.main-tab-clans .main-clan-window-v562.mode-requests .main-clan-top-v562,
.ahardice-main-menu.main-tab-clans .main-clan-window-v562.mode-logs .main-clan-top-v562 {
  top: 10px !important;
  right: 10px !important;
}

.ahardice-main-menu.main-tab-clans .main-clan-body-v562.mode-create .main-clan-create-screen-v562,
.ahardice-main-menu.main-tab-clans .main-clan-body-v562.mode-manage .main-clan-manage-v565,
.ahardice-main-menu.main-tab-clans .main-clan-body-v562.mode-requests .main-clan-requests-screen-v572,
.ahardice-main-menu.main-tab-clans .main-clan-body-v562.mode-logs .main-clan-logs-screen-v572 {
  margin-right: 0 !important;
}

.ahardice-main-menu.main-tab-clans .main-clan-tabs-row-v565.has-clan-v572 {
  width: calc(100% - 54px) !important;
  margin: 0 54px 10px 0 !important;
}

.ahardice-main-menu.main-tab-clans .main-clan-create-nav-v562 {
  background: #ffe15f !important;
  background-image: none !important;
  box-shadow: 0 4px 0 #d39a00, inset 0 2px 0 rgba(255,255,255,.32) !important;
  color: #3b1500 !important;
  text-shadow: 0 1px 0 rgba(255,255,255,.55) !important;
}

.ahardice-main-menu.main-tab-clans .main-clan-create-nav-v562:hover:not(:disabled) {
  background: #ffe878 !important;
  background-image: none !important;
}

.ahardice-main-menu.main-tab-profile .main-profile-summary-v139 {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

.ahardice-main-menu.main-tab-profile .main-profile-badges-v139.profile-badges-empty-v592 {
  display: none !important;
}

.ahardice-main-menu.main-tab-profile .main-profile-badges-v139.profile-badges-icons-only-v592 {
  margin-top: 10px !important;
  padding: 10px !important;
  background: #7f3508 !important;
  background-image: none !important;
  border: 2px solid #3b1500 !important;
  border-radius: 10px !important;
}

.ahardice-main-menu.main-tab-profile .profile-badges-icons-only-v592 .main-profile-badge-grid-v139 {
  margin: 0 !important;
}

/* v593: orange Create and Refresh buttons. */
.ahardice-main-menu.main-tab-clans .main-clan-create-nav-v562 {
  background: #f36b0f !important;
  background-image: none !important;
  color: #fff7d8 !important;
  border-color: #3b1500 !important;
  box-shadow: 0 4px 0 #9f3b00, inset 0 2px 0 rgba(255,255,255,.24) !important;
  text-shadow: 0 2px 0 rgba(75, 24, 0, .58) !important;
}

.ahardice-main-menu.main-tab-clans .main-clan-create-nav-v562:hover:not(:disabled) {
  background: #ff7a18 !important;
  background-image: none !important;
}

.ahardice-main-menu.main-tab-profile .main-profile-refresh-v139 {
  background: #f36b0f !important;
  background-image: none !important;
  color: #fff7d8 !important;
  border-color: #3b1500 !important;
  box-shadow: 0 4px 0 #9f3b00, inset 0 2px 0 rgba(255,255,255,.24) !important;
  text-shadow: 0 2px 0 rgba(75, 24, 0, .58) !important;
}

.ahardice-main-menu.main-tab-profile .main-profile-refresh-v139:hover:not(:disabled) {
  background: #ff7a18 !important;
  background-image: none !important;
}

/* v595: compact admin panel layout fixes. Keep controls inside the frame and avoid giant teleport rows. */
#adminPanel.admin-panel {
  box-sizing: border-box !important;
  width: min(660px, calc(100vw - 112px)) !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: min(560px, calc(100vh - 126px)) !important;
  left: 86px !important;
  top: 104px !important;
  right: auto !important;
  bottom: auto !important;
  padding: 10px !important;
  gap: 7px !important;
  overflow: hidden !important;
}

#adminPanel .admin-head {
  min-height: 36px !important;
  padding: 0 2px 3px !important;
  gap: 8px !important;
}

#adminPanel .admin-title {
  min-width: 0 !important;
  gap: 8px !important;
}

#adminPanel .admin-title b {
  font-size: 18px !important;
  line-height: 1 !important;
}

#adminPanel .admin-title-subtitle-v559 {
  display: block !important;
  max-width: 470px !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
  font-size: 11px !important;
  line-height: 1.15 !important;
  opacity: .9 !important;
}

#adminPanel .admin-crown {
  width: 30px !important;
  height: 30px !important;
  min-width: 30px !important;
  font-size: 20px !important;
}

#adminPanel .social-close {
  width: 32px !important;
  height: 32px !important;
  min-width: 32px !important;
  padding: 0 !important;
  font-size: 24px !important;
  line-height: 1 !important;
}

#adminPanel .admin-tabs {
  display: flex !important;
  flex: 0 0 auto !important;
  flex-wrap: wrap !important;
  justify-content: flex-start !important;
  align-items: center !important;
  gap: 5px !important;
  max-height: 74px !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  padding: 0 !important;
}

#adminPanel .admin-tabs .craft-category-tab,
#adminPanel .admin-tabs button {
  flex: 0 0 auto !important;
  width: auto !important;
  min-width: 74px !important;
  max-width: 118px !important;
  height: 32px !important;
  min-height: 32px !important;
  padding: 0 9px !important;
  border-radius: 8px !important;
  font-size: 12px !important;
  line-height: 1 !important;
}

#adminPanel .admin-body {
  flex: 1 1 auto !important;
  min-height: 0 !important;
  max-height: calc(min(560px, calc(100vh - 126px)) - 104px) !important;
  display: grid !important;
  gap: 7px !important;
  padding: 7px !important;
  overflow: hidden !important;
}

#adminPanel .admin-help,
#adminPanel .admin-action-message,
#adminPanel .admin-event-message {
  min-height: 0 !important;
  padding: 7px 9px !important;
  border-radius: 9px !important;
  font-size: 12px !important;
  line-height: 1.18 !important;
}

#adminPanel .admin-body-items,
#adminPanel .admin-body-entities {
  grid-template-rows: auto minmax(120px, 1fr) auto !important;
}

#adminPanel .admin-body-teleport {
  grid-template-rows: auto minmax(44px, auto) auto !important;
}

#adminPanel .admin-body-players,
#adminPanel .admin-body-modes,
#adminPanel .admin-body-events {
  grid-template-rows: auto minmax(0, 1fr) auto !important;
}

#adminPanel .admin-tools {
  grid-template-columns: minmax(0, 1fr) auto !important;
  gap: 7px !important;
  padding: 7px !important;
  border-radius: 10px !important;
  min-width: 0 !important;
}

#adminPanel .admin-search-wrap,
#adminPanel .admin-target,
#adminPanel .admin-selected-item,
#adminPanel .admin-amount-box,
#adminPanel .admin-item-label,
#adminPanel .admin-row-main,
#adminPanel .admin-mode-main,
#adminPanel .admin-event-info {
  min-width: 0 !important;
  max-width: 100% !important;
}

#adminPanel .admin-tools input,
#adminPanel .admin-amount-box input,
#adminPanel input {
  height: 36px !important;
  min-height: 36px !important;
  padding: 0 9px !important;
  font-size: 13px !important;
}

#adminPanel .admin-list,
#adminPanel .admin-item-list,
#adminPanel .admin-event-list,
#adminPanel .admin-mode-list {
  min-height: 0 !important;
  max-height: none !important;
  padding: 7px !important;
  gap: 6px !important;
  border-radius: 11px !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
}

#adminPanel .admin-list,
#adminPanel .admin-teleport-list {
  grid-template-columns: repeat(auto-fill, minmax(188px, 1fr)) !important;
  align-content: start !important;
}

#adminPanel .admin-teleport-list {
  flex: 0 1 auto !important;
  max-height: 178px !important;
}

#adminPanel .admin-body-teleport .admin-teleport-list:has(.admin-row:only-child) {
  max-height: 62px !important;
}

#adminPanel .admin-item-list {
  grid-template-columns: repeat(auto-fill, minmax(156px, 1fr)) !important;
}

#adminPanel .admin-row,
#adminPanel .admin-item-row,
#adminPanel .admin-mode-row,
#adminPanel .admin-event-card {
  box-sizing: border-box !important;
  min-height: 46px !important;
  height: auto !important;
  padding: 7px 8px !important;
  border-radius: 9px !important;
  gap: 7px !important;
}

#adminPanel .admin-teleport-list .admin-row,
#adminPanel .admin-body-players .admin-row {
  min-height: 44px !important;
  padding: 6px 8px !important;
}

#adminPanel .admin-item-row {
  grid-template-columns: 36px minmax(0, 1fr) !important;
}

#adminPanel .admin-item-icon {
  width: 36px !important;
  height: 36px !important;
  min-width: 36px !important;
  border-radius: 8px !important;
}

#adminPanel .admin-row-side {
  min-width: 22px !important;
  max-width: 56px !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
  font-size: 12px !important;
}

#adminPanel .admin-item-label b,
#adminPanel .admin-row-main b,
#adminPanel .admin-mode-main b,
#adminPanel .admin-event-info b,
#adminPanel .admin-selected-item b {
  font-size: 13px !important;
  line-height: 1.08 !important;
}

#adminPanel .admin-item-label span,
#adminPanel .admin-row-main span,
#adminPanel .admin-mode-main span,
#adminPanel .admin-event-info span,
#adminPanel .admin-event-info em,
#adminPanel .admin-selected-item span,
#adminPanel .admin-selected-item em,
#adminPanel .admin-amount-box span {
  font-size: 11px !important;
  line-height: 1.14 !important;
  overflow-wrap: anywhere !important;
}

#adminPanel .admin-give-controls,
#adminPanel .admin-spawn-controls,
#adminPanel .admin-teleport-controls {
  box-sizing: border-box !important;
  gap: 7px !important;
  padding: 7px !important;
  border-radius: 11px !important;
  min-height: 0 !important;
  align-items: stretch !important;
}

#adminPanel .admin-give-controls {
  grid-template-columns: minmax(0, 1fr) 116px 104px !important;
}

#adminPanel .admin-spawn-controls {
  grid-template-columns: minmax(0, 1fr) 70px 128px !important;
}

#adminPanel .admin-teleport-controls {
  grid-template-columns: minmax(0, 1fr) 88px 88px !important;
}

#adminPanel .admin-selected-item,
#adminPanel .admin-amount-box,
#adminPanel .admin-target {
  min-height: 42px !important;
  padding: 6px 8px !important;
  border-radius: 9px !important;
}

#adminPanel .admin-amount-box {
  gap: 5px !important;
}

#adminPanel .admin-quick-amounts,
#adminPanel .admin-entity-categories,
#adminPanel .preset-speeds,
#adminPanel .admin-speed-controls {
  gap: 4px !important;
}

#adminPanel .admin-quick-amounts button,
#adminPanel .admin-entity-categories button,
#adminPanel .preset-speeds button,
#adminPanel .admin-speed-controls button,
#adminPanel .admin-mode-toggle {
  min-width: 38px !important;
  height: 28px !important;
  min-height: 28px !important;
  padding: 0 7px !important;
  border-radius: 7px !important;
  font-size: 11px !important;
  line-height: 1 !important;
}

#adminPanel .admin-give-button,
#adminPanel .admin-event-button {
  min-width: 0 !important;
  min-height: 42px !important;
  height: auto !important;
  padding: 6px 9px !important;
  border-radius: 9px !important;
  font-size: 13px !important;
  line-height: 1.08 !important;
  white-space: normal !important;
}

#adminPanel .admin-event-list {
  display: grid !important;
  grid-template-columns: 1fr !important;
  align-content: start !important;
}

#adminPanel .admin-event-card {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 118px !important;
  align-items: center !important;
}

#adminPanel .admin-diagnostics-v354 {
  min-height: 0 !important;
  overflow: auto !important;
}

#adminPanel .admin-diagnostics-grid-v354 {
  grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)) !important;
  gap: 6px !important;
}

#adminPanel .admin-diagnostic-card-v354 {
  min-height: 48px !important;
  padding: 7px 8px !important;
}

#adminPanel .admin-technical-v354 {
  max-height: 145px !important;
  white-space: pre-wrap !important;
  overflow: auto !important;
}

@media (max-width: 820px) {
  #adminPanel.admin-panel {
    width: calc(100vw - 14px) !important;
    max-height: calc(100vh - 16px) !important;
    left: 7px !important;
    top: 8px !important;
  }

  #adminPanel .admin-title-subtitle-v559 {
    max-width: 58vw !important;
  }

  #adminPanel .admin-body {
    max-height: calc(100vh - 112px) !important;
  }

  #adminPanel .admin-tools,
  #adminPanel .admin-give-controls,
  #adminPanel .admin-spawn-controls,
  #adminPanel .admin-teleport-controls,
  #adminPanel .admin-event-card {
    grid-template-columns: 1fr !important;
  }

  #adminPanel .admin-list,
  #adminPanel .admin-teleport-list,
  #adminPanel .admin-item-list {
    grid-template-columns: 1fr !important;
  }

  #adminPanel .admin-teleport-list,
  #adminPanel .admin-body-teleport .admin-teleport-list:has(.admin-row:only-child) {
    max-height: 170px !important;
  }
}

/* v596: keep admin panel inside the visible game viewport on every resolution. */
#adminPanel.admin-panel {
  position: fixed !important;
  left: 50% !important;
  top: 50% !important;
  right: auto !important;
  bottom: auto !important;
  transform: translate(-50%, -50%) !important;
  width: min(640px, calc(100vw - 24px)) !important;
  max-width: calc(100vw - 24px) !important;
  height: auto !important;
  max-height: calc(100vh - 24px) !important;
  margin: 0 !important;
  overflow: hidden !important;
}

#adminPanel .admin-body {
  max-height: calc(100vh - 132px) !important;
}

@media (max-width: 820px), (max-height: 620px) {
  #adminPanel.admin-panel {
    left: 50% !important;
    top: 50% !important;
    width: calc(100vw - 12px) !important;
    max-width: calc(100vw - 12px) !important;
    max-height: calc(100vh - 12px) !important;
    padding: 8px !important;
  }

  #adminPanel .admin-body {
    max-height: calc(100vh - 108px) !important;
  }

  #adminPanel .admin-title-subtitle-v559 {
    max-width: 54vw !important;
  }
}

/* v597: admin full-player teleport, wider item tab, polished in-game settings. */
#adminPanel.admin-panel.admin-tab-items {
  width: min(760px, calc(100vw - 24px)) !important;
}

#adminPanel.admin-tab-items .admin-item-list {
  grid-template-columns: repeat(auto-fill, minmax(210px, 1fr)) !important;
}

#adminPanel.admin-tab-items .admin-give-controls {
  grid-template-columns: minmax(0, 1fr) 128px 124px !important;
}

#adminPanel.admin-tab-teleport {
  width: min(580px, calc(100vw - 24px)) !important;
}

#adminPanel.admin-tab-teleport .admin-list,
#adminPanel.admin-tab-teleport .admin-teleport-list {
  grid-template-columns: 1fr !important;
  max-height: min(260px, calc(100vh - 246px)) !important;
}

#adminPanel.admin-tab-teleport .admin-row {
  min-height: 42px !important;
}

#settingsPanel.settings-panel-v480 {
  box-sizing: border-box !important;
  position: fixed !important;
  left: 50% !important;
  top: 50% !important;
  right: auto !important;
  bottom: auto !important;
  transform: translate(-50%, -50%) !important;
  width: min(650px, calc(100vw - 24px)) !important;
  height: auto !important;
  max-height: calc(100vh - 24px) !important;
  min-width: 0 !important;
  padding: 14px 16px 16px !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  border-radius: 14px !important;
  border: 4px solid #06506c !important;
  background: #0b84ad !important;
  color: #ffffff !important;
  box-shadow: 0 6px 0 rgba(0, 43, 58, .75), 0 18px 34px rgba(0,0,0,.34) !important;
}

#settingsPanel.settings-panel-v480.hidden {
  display: none !important;
}

#settingsPanel.settings-panel-v480 .settings-close-v269 {
  position: absolute !important;
  top: 12px !important;
  right: 12px !important;
  width: 42px !important;
  height: 42px !important;
  min-width: 42px !important;
  padding: 0 !important;
  display: grid !important;
  place-items: center !important;
  border-radius: 9px !important;
  border: 3px solid #07597a !important;
  background: #299fd0 !important;
  color: #ffffff !important;
  font: 1000 34px/1 Arial, Helvetica, sans-serif !important;
  text-shadow: 0 2px 0 rgba(0,0,0,.24) !important;
  box-shadow: 0 3px 0 rgba(0, 43, 58, .55), inset 0 2px 0 rgba(255,255,255,.22) !important;
}

#settingsPanel.settings-panel-v480 .settings-close-v269:hover {
  background: #38addd !important;
}

#settingsPanel.settings-panel-v480 .settings-header-v269 {
  height: auto !important;
  min-height: 46px !important;
  margin: 0 52px 12px !important;
  padding: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

#settingsPanel.settings-panel-v480 .settings-icon-v269 {
  display: none !important;
}

#settingsPanel.settings-panel-v480 .settings-header-v269 b {
  display: block !important;
  max-width: 100% !important;
  color: #fff1bd !important;
  font: 1000 32px/1 Arial, Helvetica, sans-serif !important;
  letter-spacing: 0 !important;
  text-align: center !important;
  text-shadow: 0 3px 0 rgba(0,0,0,.28) !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

#settingsPanel.settings-panel-v480 .settings-options-v269 {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  grid-auto-rows: auto !important;
  gap: 10px !important;
  margin: 0 !important;
  padding: 10px !important;
  border-radius: 12px !important;
  background: rgba(4, 39, 50, .28) !important;
  border: 2px solid rgba(5, 76, 101, .74) !important;
}

#settingsPanel.settings-panel-v480 .settings-section-v480 {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  grid-column: 1 / -1 !important;
  gap: 10px !important;
  padding: 10px !important;
  border-radius: 12px !important;
  background: rgba(8, 79, 104, .48) !important;
  border: 2px solid rgba(91, 190, 226, .26) !important;
}

#settingsPanel.settings-panel-v480 .settings-section-title-v480 {
  display: block !important;
  grid-column: 1 / -1 !important;
  margin: 0 0 -2px !important;
  color: #d7f5ff !important;
  font: 1000 14px/1 Arial, Helvetica, sans-serif !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  text-shadow: 0 2px 0 rgba(0,0,0,.24) !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 {
  box-sizing: border-box !important;
  grid-column: auto !important;
  grid-row: auto !important;
  min-height: 52px !important;
  padding: 10px 12px !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  align-items: center !important;
  gap: 12px !important;
  border-radius: 10px !important;
  border: 2px solid rgba(5, 64, 86, .56) !important;
  background: #0a6f92 !important;
  color: #ffffff !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.12) !important;
}

#settingsPanel.settings-panel-v480 .settings-account-v270,
#settingsPanel.settings-panel-v480 .settings-audio-v301 {
  grid-column: 1 / -1 !important;
}

#settingsPanel.settings-panel-v480 .settings-section-v480 .settings-select-v480 {
  grid-column: 1 / -1 !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,
#settingsPanel.settings-panel-v480 .settings-account-v270 b {
  min-width: 0 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
  color: #ffffff !important;
  font: 1000 15px/1.08 Arial, Helvetica, sans-serif !important;
  text-shadow: 0 2px 0 rgba(0,0,0,.22) !important;
}

#settingsPanel.settings-panel-v480 .settings-account-v270 b {
  justify-self: end !important;
  max-width: 260px !important;
  font-size: 12px !important;
  opacity: .9 !important;
}

#settingsPanel.settings-panel-v480 .settings-select-v404 select,
#settingsPanel.settings-panel-v480 .settings-select-v480 select {
  box-sizing: border-box !important;
  width: 168px !important;
  max-width: 42vw !important;
  height: 36px !important;
  padding: 0 32px 0 10px !important;
  border-radius: 8px !important;
  border: 2px solid #49aeda !important;
  outline: none !important;
  background: #0f83ad !important;
  color: #ffffff !important;
  font: 1000 14px/1 Arial, Helvetica, sans-serif !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.14) !important;
}

#settingsPanel.settings-panel-v480 .settings-select-v404 select:focus,
#settingsPanel.settings-panel-v480 .settings-select-v480 select:focus {
  border-color: #ffe175 !important;
  box-shadow: 0 0 0 3px rgba(255, 225, 117, .18) !important;
}

#settingsPanel.settings-panel-v480 .settings-option-v269 i {
  position: relative !important;
  width: 48px !important;
  height: 28px !important;
  border-radius: 8px !important;
  border: 2px solid #064d68 !important;
  background: #f3f7f8 !important;
  box-shadow: inset 0 1px 1px rgba(0,0,0,.22) !important;
}

#settingsPanel.settings-panel-v480 .settings-option-v269 i::after {
  content: '' !important;
  position: absolute !important;
  top: 4px !important;
  left: 4px !important;
  width: 16px !important;
  height: 16px !important;
  border-radius: 5px !important;
  background: #0c6f93 !important;
  transform: none !important;
  transition: transform .12s ease, background .12s ease !important;
}

#settingsPanel.settings-panel-v480 .settings-option-v269 input:checked + i {
  background: #ffe175 !important;
  border-color: #b06d00 !important;
}

#settingsPanel.settings-panel-v480 .settings-option-v269 input:checked + i::after {
  transform: translateX(20px) !important;
  background: #8d4b00 !important;
}

#settingsPanel.settings-panel-v480 .settings-audio-v301 {
  grid-template-columns: minmax(0, 1fr) minmax(190px, .76fr) !important;
}

#settingsPanel.settings-panel-v480 .settings-audio-v301 output {
  float: none !important;
  margin-left: 8px !important;
  color: #ffe175 !important;
  font: 1000 15px/1 Arial, Helvetica, sans-serif !important;
}

#settingsPanel.settings-panel-v480 .settings-audio-v301 input[type='range'] {
  width: 100% !important;
  height: 24px !important;
  accent-color: #ffe175 !important;
}

#settingsPanel.settings-panel-v480 .settings-support-v497 {
  grid-column: 1 / -1 !important;
  justify-self: start !important;
  width: auto !important;
  min-width: 170px !important;
  height: 44px !important;
  min-height: 44px !important;
  margin: 0 !important;
  padding: 0 18px !important;
  display: inline-grid !important;
  place-items: center !important;
  border-radius: 9px !important;
  border: 3px solid #b06d00 !important;
  background: #ffcc33 !important;
  color: #8d3b00 !important;
  font: 1000 16px/1 Arial, Helvetica, sans-serif !important;
  text-decoration: none !important;
  text-shadow: 0 1px 0 rgba(255,255,255,.44) !important;
  box-shadow: 0 4px 0 #8d4b00, inset 0 2px 0 rgba(255,255,255,.32) !important;
}

#settingsPanel.settings-panel-v480 .settings-support-v497:hover {
  background: #ffd957 !important;
}

@media (max-width: 680px) {
  #settingsPanel.settings-panel-v480 {
    width: calc(100vw - 12px) !important;
    max-height: calc(100vh - 12px) !important;
    padding: 10px !important;
  }

  #settingsPanel.settings-panel-v480 .settings-header-v269 {
    margin: 0 46px 10px 0 !important;
    justify-content: flex-start !important;
  }

  #settingsPanel.settings-panel-v480 .settings-header-v269 b {
    font-size: 26px !important;
  }

  #settingsPanel.settings-panel-v480 .settings-options-v269,
  #settingsPanel.settings-panel-v480 .settings-section-v480 {
    grid-template-columns: 1fr !important;
  }

  #settingsPanel.settings-panel-v480 .settings-audio-v301 {
    grid-template-columns: 1fr !important;
  }

  #settingsPanel.settings-panel-v480 .settings-select-v404 select,
  #settingsPanel.settings-panel-v480 .settings-select-v480 select {
    width: 150px !important;
    max-width: 48vw !important;
  }
}
