
/* ---- styles.css?v=149-scroll-fix ---- */
html,
body {
  margin: 0;
  padding: 0;
}

body {
  min-height: 100vh;
  min-height: 100dvh;
  background: rgb(180, 230, 255);
}

.page {
  min-height: 100vh;
  min-height: 100dvh;
  text-align: center;
  padding-top: 100px;
  box-sizing: border-box;
}

.shorebuild-intro > h1 {
  font-family: "Minecraft Ten", sans-serif;
  font-size: 60px;
  margin: 0;
  color: #1769aa;
  position: relative;
  display: inline-block;
  isolation: isolate;
}

/* Faded island mark behind the homepage wordmark. */
.shorebuild-intro > h1::before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 50%;
  left: 50%;
  width: 300px;
  aspect-ratio: 1;
  background: url("images/shorebuild-island-logo.png") center / contain no-repeat;
  opacity: 0.16;
  transform: translate(-50%, -46%);
  pointer-events: none;
}

.shorebuild-intro > h1[hidden],
.donutsmp-logo[hidden],
.donutsmp-mode[hidden] { display: none !important; }

.donutsmp-logo {
  display: block;
  width: min(300px, 62vw);
  margin: -42px auto -25px;
  filter: drop-shadow(0 16px 28px rgba(0, 0, 0, .38));
}

.donutsmp-mode {
  width: min(760px, calc(100% - 32px));
  margin: 55px auto;
  padding: 38px 30px;
  box-sizing: border-box;
  color: #e6f8ff;
  background: rgba(5, 44, 73, .9);
  border: 2px solid #2296c6;
  border-radius: 18px;
  box-shadow: 0 18px 40px rgba(0, 0, 0, .35);
}
.donutsmp-mode > span { color: #57d9ff; font: 13px "Minecraft Ten", sans-serif; }
.donutsmp-mode h2 { margin: 12px 0 22px; color: #fff; font: 32px "Minecraft Ten", sans-serif; }
.donutsmp-mode p { margin: 22px 0 0; color: #afdbef; font-size: 16px; }
.donutsmp-categories { display: flex; justify-content: center; flex-wrap: wrap; gap: 12px; }
.donutsmp-categories button { min-width: 150px; padding: 13px 20px; color: #dff7ff; background: #083752; border: 2px solid #2588b2; border-radius: 8px; cursor: pointer; font: 15px "Minecraft Ten", sans-serif; }
.donutsmp-categories button:hover, .donutsmp-categories button.active { color: #fff; background: #087eb1; border-color: #75e2ff; box-shadow: 0 0 16px rgba(72, 212, 255, .34); }

body.smp-donutsmp {
  min-height: 100vh;
  background: radial-gradient(circle at 50% -10%, #126889 0, #06334f 40%, #021b31 100%);
}
body.smp-donutsmp .page { min-height: 100vh; }
body.smp-donutsmp .shorebuild-intro > h1 { color: #74e4ff; }
body.smp-donutsmp .shorebuild-intro > h1::before {
  width: 240px;
  background-image: url("images/donutsmp-logo.png");
  opacity: .16;
}
body.smp-donutsmp .search-box input,
body.smp-donutsmp .sort-box select,
body.smp-donutsmp .category-btn { color: #e8faff; background: #093d5c; border-color: #39bee9; }
body.smp-donutsmp .search-box input::placeholder { color: #9ed9ef; }
body.smp-donutsmp .category-btn.active,
body.smp-donutsmp .category-btn:hover { color: #fff; background: #0c94c8; border-color: #8eeaff; box-shadow: 0 0 14px rgba(81, 218, 255, .28); }


/* =========================
   SEARCH
========================= */

.search-row {
  margin-top: 25px;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 12px;
}

.search-box {
  margin: 0;
}

.search-box input {
  width: 450px;
  height: 55px;
  padding: 0 20px;
  box-sizing: border-box;

  background: #fffbd6;
  border: 4px solid #123b5d;
  border-radius: 6px;

  font-family: "Minecraft Ten", sans-serif;
  font-size: 18px;
  color: #123b5d;

  outline: none;
}

.search-box input::placeholder {
  color: #6b7780;
}

.sort-box select {
  width: 170px;
  height: 55px;
  padding: 0 14px;
  box-sizing: border-box;

  background: #fffbd6;
  border: 4px solid #123b5d;
  border-radius: 6px;

  font-family: "Minecraft Ten", sans-serif;
  font-size: 14px;
  color: #123b5d;

  cursor: pointer;
  outline: none;
}


/* =========================
   CATEGORIES
========================= */

.categories {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 20px;
}

.category-btn {
  padding: 10px 18px;

  background: #fffbd6;
  border: 3px solid #123b5d;
  border-radius: 8px;

  font-family: "Minecraft Ten", sans-serif;
  font-size: 14px;
  color: #123b5d;

  cursor: pointer;
}

.category-btn:hover {
  background: #fff7ad;
}

.category-btn.active {
  background: #1769aa;
  color: white;
}


/* =========================
   BUILDS
========================= */

.builds {
  margin: 60px auto;
  width: 100%;
  max-width: 1500px;

  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));

  gap: 25px;

  box-sizing: border-box;
  padding: 0 15px;
}

.build-card.is-hidden {
  display: none !important;
}

.build-card {
  overflow: hidden;

  background: #dff3ff;
  border: 1.5px solid #159de0;
  border-radius: 24px;

  min-height: 340px;

  text-align: left;

  cursor: pointer;

  transition:
    transform .2s ease,
    box-shadow .2s ease;
}

.build-card:hover {
  transform: translateY(-5px);

  box-shadow:
    0 8px 20px rgba(0,70,120,.15);
}

.build-card img {
  width: 100%;
  height: 300px;

  object-fit: cover;
  display: block;

  background: #dff3ff;
}

.build-info {
  padding: 20px 16px 18px;
}

.build-category {
  font-family: "Minecraft Ten", sans-serif;
  font-size: 13px;

  color: #0874a8;

  margin-bottom: 8px;
}

.build-card h2,
.popup-info h2 {
  font-family: "Minecraft Ten", sans-serif;
  color: #142536;
  margin: 0;
}

.build-card h2 {
  font-size: 18px;
}


/* =========================
   POPUPS
========================= */

.build-popup,
.addon-popup,
.sub-popup {
  position: fixed;
  inset: 0;

  display: flex;
  justify-content: center;
  align-items: center;

  padding: 20px;
  box-sizing: border-box;

  background: rgba(0,20,40,.75);

  backdrop-filter: blur(5px);

  z-index: 9999;

  opacity: 0;
  visibility: hidden;
  pointer-events: none;

  transition:
    opacity .25s ease,
    visibility .25s ease;
}

.build-popup.show,
.addon-popup.show,
.sub-popup.show {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

.popup-content,
.addon-popup-content,
.sub-popup-content {
  position: relative;

  background: #dff3ff;

  border: 3px solid #123b5d;
  border-radius: 20px;

  box-shadow:
    0 15px 50px rgba(0,0,0,.35);

  box-sizing: border-box;
}

.popup-content {
  width: min(800px,95vw);

  max-height: 90vh;

  overflow-y: auto;
}

.popup-content img {
  width: 100%;
  max-height: 500px;

  object-fit: contain;
  display: block;

  background: #b4e6ff;
}

.popup-info {
  padding: 25px;
  text-align: left;
}

.popup-info h2 {
  font-size: 28px;
}

.popup-close,
.addon-popup-close,
.sub-popup-close {
  position: absolute;

  top: 10px;
  right: 10px;

  width: 40px;
  height: 40px;

  background: #fffbd6;

  border: 2px solid #123b5d;
  border-radius: 8px;

  color: #123b5d;

  font-size: 28px;

  cursor: pointer;

  z-index: 5;
}


/* =========================
   BUILD DETAILS
========================= */

.popup-details {
  margin-top: 20px;

  display: grid;
  gap: 10px;
}

.detail {
  display: flex;

  justify-content: space-between;
  align-items: center;

  gap: 10px;

  padding: 16px 18px;

  background: #fffbd6;

  border: 2px solid #123b5d;
  border-radius: 8px;

  font-family: "Minecraft Ten", sans-serif;
  font-size: 18px;

  color: #123b5d;
}

.detail strong {
  color: #0874a8;
}


/* =========================
   PRICES
========================= */

.popup-prices {
  margin-top: 20px;
  padding-top: 15px;

  border-top: 2px solid #159de0;

  font-family: "Minecraft Ten", sans-serif;

  color: #123b5d;
}

.popup-prices h3 {
  font-size: 24px;
  margin: 0 0 14px;
}

.price-row {
  display: flex;

  justify-content: space-between;
  align-items: center;

  gap: 12px;

  padding: 11px 0;

  font-size: 19px;
}

.price-row strong {
  color: #0874a8;
}

.price-row.total {
  margin-top: 8px;

  padding-top: 15px;

  border-top: 2px solid #159de0;

  font-size: 23px;
}


/* =========================
   ADDONS
========================= */

.addon-price-right {
  display: flex;

  align-items: center;
  justify-content: flex-end;

  gap: 12px;

  margin-left: auto;
}

.addons-button,
.addon-choice-button {
  padding: 9px 16px;

  background: #fffbd6;

  border: 2px solid #123b5d;
  border-radius: 6px;

  font-family: "Minecraft Ten", sans-serif;

  color: #123b5d;

  cursor: pointer;

  white-space: nowrap;
}

.addons-button:hover,
.addon-choice-button:hover {
  background: #fff7ad;
}

.addon-popup-content {
  width: min(650px,92vw);

  max-height: 90vh;

  overflow-y: auto;

  padding: 30px;
}

.addon-popup-content h2,
.sub-popup-content h2 {
  margin: 0 0 25px;

  font-family: "Minecraft Ten", sans-serif;

  color: #142536;
}

.addon-list {
  display: grid;
  gap: 12px;
}

.addon-option {
  display: flex;

  align-items: center;
  justify-content: space-between;

  flex-wrap: wrap;

  gap: 12px;

  padding: 16px;

  background: #dff3ff;

  border: 2px solid #123b5d;
  border-radius: 10px;

  font-family: "Minecraft Ten", sans-serif;

  color: #123b5d;
}

.addon-select {
  min-width: 150px;

  padding: 9px 12px;

  background: #fffbd6;

  border: 2px solid #123b5d;
  border-radius: 6px;

  font-family: "Minecraft Ten", sans-serif;

  color: #123b5d;

  cursor: pointer;
}

.addon-select:hover {
  background: #fff7ad;
}

.addon-choice-right {
  display: flex;

  align-items: center;

  gap: 10px;
}

.addon-popup-bottom {
  display: flex;

  justify-content: space-between;

  margin-top: 25px;

  padding-top: 18px;

  border-top: 2px solid #159de0;

  font-family: "Minecraft Ten", sans-serif;

  font-size: 20px;

  color: #123b5d;
}

.addon-popup-bottom strong {
  color: #0874a8;
}

.addon-done-button,
.sub-popup-done {
  width: 100%;

  margin-top: 20px;

  padding: 14px;

  background: #1769aa;

  border: 2px solid #123b5d;
  border-radius: 8px;

  color: white;

  font-family: "Minecraft Ten", sans-serif;

  cursor: pointer;
}

.addon-done-button:hover,
.sub-popup-done:hover {
  background: #0d568e;
}

.clear-addons-button {
  width: 100%;

  margin-top: 10px;

  padding: 14px;

  background: #fffbd6;

  border: 2px solid #123b5d;
  border-radius: 8px;

  color: #123b5d;

  font-family: "Minecraft Ten", sans-serif;

  cursor: pointer;
}

.clear-addons-button:hover {
  background: #fff7ad;
}


/* =========================
   TRIM POPUP
========================= */

.sub-popup-content {
  width: min(450px,92vw);

  padding: 30px;
}

.sub-popup-content select {
  width: 100%;

  padding: 12px;

  background: white;

  border: 2px solid #123b5d;
  border-radius: 7px;

  font-family: "Minecraft Ten", sans-serif;

  color: #123b5d;
}

.sub-title {
  margin-top: 25px !important;
}


/* =========================
   CUSTOM TRIM SELECT
========================= */

.custom-select {
  position: relative;
  width: 100%;
}

.custom-select-button {
  width: 100%;
  min-height: 50px;

  padding: 10px 14px;

  display: flex;

  align-items: center;
  justify-content: space-between;

  gap: 10px;

  background: #fffbd6;

  border: 2px solid #123b5d;
  border-radius: 7px;

  font-family: "Minecraft Ten", sans-serif;

  font-size: 16px;

  color: #123b5d;

  cursor: pointer;

  text-align: left;
}

.custom-select-arrow {
  font-size: 12px;

  transition:
    transform .2s ease;
}

.custom-select.open
.custom-select-arrow {
  transform: rotate(180deg);
}

.custom-select-options {
  display: none;

  position: absolute;

  left: 0;
  right: 0;

  top: calc(100% + 5px);

  max-height: 260px;

  overflow-y: auto;

  background: #dff3ff;

  border: 2px solid #123b5d;
  border-radius: 7px;

  z-index: 10001;

  box-shadow:
    0 8px 20px rgba(0,0,0,.25);
}

.custom-select.open
.custom-select-options {
  display: block;
}

.custom-select-options button {
  width: 100%;

  display: flex;

  align-items: center;

  gap: 12px;

  padding: 10px 12px;

  background: transparent;

  border: 0;

  font-family: "Minecraft Ten", sans-serif;

  font-size: 15px;

  color: #123b5d;

  cursor: pointer;

  text-align: left;
}

.custom-select-options button:hover {
  background: #fff7ad;
}


/* =========================
   PAGINATION
========================= */

.pagination {
  display: flex;

  justify-content: center;
  align-items: center;

  gap: 14px;

  width: 100%;

  margin: 35px auto 60px;

  font-family: "Minecraft Ten", sans-serif;
}

.pagination button {
  min-width: 55px;
  height: 50px;

  padding: 8px 14px;

  background: #fffbd6;

  color: #123b5d;

  border: 3px solid #123b5d;
  border-radius: 7px;

  font-family: "Minecraft Ten", sans-serif;

  font-size: 22px;

  cursor: pointer;

  transition:
    background .15s ease,
    transform .15s ease,
    box-shadow .15s ease;
}

.pagination button:hover:not(:disabled) {
  background: #fff2a8;

  transform: translateY(-2px);

  box-shadow:
    0 4px 0 #123b5d;
}

.pagination button:active:not(:disabled) {
  transform: translateY(2px);

  box-shadow: none;
}

.pagination button:disabled {
  opacity: 0.45;
  cursor: default;
}

#pageNumber {
  min-width: 100px;

  font-family: "Minecraft Ten", sans-serif;

  font-size: 17px;

  color: #123b5d;

  background: #dff3ff;

  border: 3px solid #123b5d;
  border-radius: 7px;

  padding: 12px 15px;
}


/* =========================
   PURCHASE
========================= */

.purchase-build-button {
  width: 100%;

  margin-top: 20px;

  padding: 15px;

  background: #1769aa;

  color: white;

  border: 2px solid #123b5d;
  border-radius: 8px;

  font-family: "Minecraft Ten", sans-serif;

  font-size: 18px;

  cursor: pointer;
}

.purchase-build-button:hover {
  background: #0d568e;
}

.purchase-build-button:active {
  transform: translateY(1px);
}


/* =========================================================
   DISCORD ACCOUNT
========================================================= */

.account-area {
  position: fixed;

  right: 22px;
  bottom: 22px;

  z-index: 9999;
}


/* =========================
   LOGIN BUTTON
========================= */

.discord-login-button {
  display: flex;

  align-items: center;
  justify-content: center;

  min-width: 190px;
  height: 52px;

  padding: 0 20px;

  border: 3px solid rgba(255,255,255,.45);
  border-radius: 10px;

  background:
    linear-gradient(
      135deg,
      #5865f2,
      #4752c4
    );

  color: white;

  font-family: Arial, sans-serif;

  font-size: 16px;

  font-weight: 800;

  cursor: pointer;

  box-shadow:
    0 5px 0 #303b9e,
    0 8px 18px rgba(0,0,0,.3);

  transition:
    transform .15s ease,
    box-shadow .15s ease,
    filter .15s ease;
}

.discord-login-button:hover {
  transform: translateY(-3px);

  filter: brightness(1.08);

  box-shadow:
    0 8px 0 #303b9e,
    0 12px 22px rgba(0,0,0,.35);
}

.discord-login-button:active {
  transform: translateY(3px);

  box-shadow:
    0 2px 0 #303b9e,
    0 4px 10px rgba(0,0,0,.25);
}


/* =========================
   LOGGED-IN PROFILE
========================= */

.account-info {
  position: relative;

  display: flex;

  align-items: center;

  padding: 0;

  background: transparent;

  border: none;

  box-shadow: none;
}


/* =========================
   PROFILE BUTTON
========================= */

.account-profile-button {
  display: flex;
  align-items: center;
  gap: 10px;

  min-width: 190px;
  height: 52px;

  padding: 0 14px;

  background: #fffbd6;

  border: 3px solid #123b5d;
  border-radius: 8px;

  color: #123b5d;

  font-family: "Minecraft Ten", sans-serif;
  font-size: 14px;
  font-weight: normal;

  cursor: pointer;

  box-shadow:
    0 5px 0 #123b5d,
    0 8px 15px rgba(0,0,0,.18);

  transition:
    transform .15s ease,
    background .15s ease,
    box-shadow .15s ease;
}

.account-profile-button:hover {
  background: #fff7ad;

  transform: translateY(-2px);

  box-shadow:
    0 7px 0 #123b5d,
    0 11px 20px rgba(0,0,0,.22);
}

.account-profile-button:active {
  transform: translateY(3px);

  box-shadow:
    0 2px 0 #123b5d,
    0 4px 8px rgba(0,0,0,.15);
}


/* =========================
   AVATAR
========================= */

.account-profile-button img {
  width: 36px;
  height: 36px;

  border-radius: 6px;

  object-fit: cover;

  border: 2px solid #123b5d;
}


/* =========================
   USERNAME
========================= */

#accountUsername {
  flex: 1;

  max-width: 150px;

  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;

  color: #123b5d;

  font-family: "Minecraft Ten", sans-serif;

  font-size: 14px;
  font-weight: normal;

  text-align: left;
}


/* =========================
   ARROW
========================= */

.account-arrow {
  font-size: 12px;

  color: #123b5d;

  transition: transform .25s ease;
}

.account-profile-button.open .account-arrow {
  transform: rotate(180deg);
}

/* =========================
   AVATAR
========================= */

.account-profile-button img {
  width: 36px;
  height: 36px;

  border-radius: 50%;

  object-fit: cover;

  border:
    2px solid
    rgba(255,255,255,.35);
}


/* =========================
   USERNAME
========================= */

#accountUsername {
  flex: 1;

  max-width: 150px;

  overflow: hidden;

  white-space: nowrap;

  text-overflow: ellipsis;

  color: white;

  font-family: Arial, sans-serif;

  font-size: 14px;

  font-weight: 800;

  text-align: left;
}


/* =========================
   ARROW
========================= */

.account-arrow {
  font-size: 12px;

  transition:
    transform .25s ease;
}

.account-profile-button.open
.account-arrow {
  transform: rotate(180deg);
}


/* =========================
   PROFILE DROPDOWN
========================= */

.account-dropdown {
  position: absolute;

  right: 0;

  bottom: calc(100% + 12px);

  width: 280px;

  padding: 10px;

  box-sizing: border-box;

  background:
    rgba(35,45,55,.98);

  border:
    2px solid
    rgba(255,255,255,.25);

  border-radius: 14px;

  box-shadow:
    0 15px 40px rgba(0,0,0,.4);

  backdrop-filter: blur(12px);

  opacity: 0;

  visibility: hidden;

  pointer-events: none;

  transform:
    translateY(12px)
    scale(.94);

  transform-origin:
    bottom right;

  transition:
    opacity .22s ease,
    transform .22s cubic-bezier(.2,.8,.2,1),
    visibility .22s ease;
}

.account-dropdown.show {
  opacity: 1;

  visibility: visible;

  pointer-events: auto;

  transform:
    translateY(0)
    scale(1);
}


/* =========================
   PROFILE HEADER
========================= */

.account-dropdown-header {
  display: flex;

  align-items: center;

  gap: 12px;

  padding: 12px;

  border-radius: 10px;

  background:
    rgba(255,255,255,.06);
}

.account-dropdown-header img {
  width: 48px;
  height: 48px;

  border-radius: 50%;

  object-fit: cover;

  border:
    2px solid
    rgba(255,255,255,.3);
}

.account-dropdown-header div {
  display: flex;

  flex-direction: column;

  min-width: 0;
}

.account-dropdown-header strong {
  color: white;

  font-family: Arial, sans-serif;

  font-size: 15px;

  font-weight: 800;

  white-space: nowrap;

  overflow: hidden;

  text-overflow: ellipsis;
}

.account-dropdown-header span {
  margin-top: 3px;

  color:
    rgba(255,255,255,.6);

  font-family: Arial, sans-serif;

  font-size: 12px;
}


/* =========================
   PROFILE MENU BUTTONS
========================= */

.account-menu-button {
  width: 100%;

  margin-top: 8px;

  padding: 12px;

  border: none;

  border-radius: 9px;

  background:
    rgba(255,255,255,.07);

  color: white;

  font-family: Arial, sans-serif;

  font-size: 14px;

  font-weight: 700;

  cursor: pointer;

  text-align: left;

  transition:
    background .15s ease,
    transform .15s ease;
}

.account-menu-button:hover {
  background:
    rgba(255,255,255,.13);

  transform:
    translateX(2px);
}

.account-menu-button:active {
  transform:
    translateX(2px)
    scale(.99);
}


/* =========================
   LOGOUT INSIDE PROFILE
========================= */

.account-menu-button.logout {
  margin-top: 10px;

  background:
    rgba(217,83,79,.15);

  color: #ff7773;

  border:
    1px solid
    rgba(217,83,79,.25);
}

.account-menu-button.logout:hover {
  background:
    rgba(217,83,79,.28);

  color: white;
}


/* =========================
   POPUP LOCK
========================= */

body.popup-open {
  overflow: hidden;
}


/* =========================
   DISCORD LOGIN POPUP
========================= */

.discord-login-popup {
  position: fixed;

  inset: 0;

  display: flex;

  justify-content: center;
  align-items: center;

  padding: 20px;

  box-sizing: border-box;

  background:
    rgba(0,20,40,.75);

  backdrop-filter: blur(5px);

  z-index: 20000;

  opacity: 0;

  visibility: hidden;

  pointer-events: none;

  transition:
    opacity .25s ease,
    visibility .25s ease;
}

.discord-login-popup.show {
  opacity: 1;

  visibility: visible;

  pointer-events: auto;
}

.discord-login-popup-content {
  position: relative;

  width: min(420px,92vw);

  padding: 35px 30px 30px;

  box-sizing: border-box;

  background: #dff3ff;

  border: 3px solid #123b5d;

  border-radius: 20px;

  box-shadow:
    0 15px 50px rgba(0,0,0,.4);

  text-align: center;

  transform:
    translateY(10px)
    scale(.97);

  transition:
    transform .25s ease;
}

.discord-login-popup.show
.discord-login-popup-content {
  transform:
    translateY(0)
    scale(1);
}

.discord-login-popup-content h2 {
  margin: 0;

  font-family:
    "Minecraft Ten",
    sans-serif;

  font-size: 30px;

  color: #142536;
}

.discord-login-popup-content p {
  margin: 15px 0 25px;

  font-family: Arial, sans-serif;

  font-size: 15px;

  color: #123b5d;

  line-height: 1.5;
}

.discord-login-popup-close {
  position: absolute;

  top: 10px;
  right: 10px;

  width: 40px;
  height: 40px;

  background: #fffbd6;

  border: 2px solid #123b5d;

  border-radius: 8px;

  color: #123b5d;

  font-size: 28px;

  cursor: pointer;
}

.discord-login-popup-close:hover {
  background: #fff7ad;
}

.discord-popup-login-button {
  width: 100%;

  height: 52px;

  border: 3px solid
    rgba(255,255,255,.45);

  border-radius: 10px;

  background:
    linear-gradient(
      135deg,
      #5865f2,
      #4752c4
    );

  color: white;

  font-family: Arial, sans-serif;

  font-size: 16px;

  font-weight: 800;

  cursor: pointer;

  box-shadow:
    0 5px 0 #303b9e,
    0 8px 18px rgba(0,0,0,.3);

  transition:
    transform .15s ease,
    box-shadow .15s ease,
    filter .15s ease;
}

.discord-popup-login-button:hover {
  transform: translateY(-3px);

  filter: brightness(1.08);

  box-shadow:
    0 8px 0 #303b9e,
    0 12px 22px rgba(0,0,0,.35);
}

.discord-popup-login-button:active {
  transform: translateY(3px);

  box-shadow:
    0 2px 0 #303b9e,
    0 4px 10px rgba(0,0,0,.25);
}


/* =========================
   SUCCESS PAGE
========================= */

.discord-success-page {
  position: fixed;

  inset: 0;

  display: flex;

  justify-content: center;
  align-items: center;

  padding: 30px;

  box-sizing: border-box;

  background:
    rgb(180,230,255);

  z-index: 30000;

  opacity: 0;

  visibility: hidden;

  pointer-events: none;
}

.discord-success-page.show {
  opacity: 1;

  visibility: visible;

  pointer-events: auto;
}

.discord-success-content {
  width: min(800px,90vw);

  padding: 45px 35px;

  background: #dff3ff;

  border: 4px solid #123b5d;

  border-radius: 20px;

  box-shadow:
    0 15px 50px rgba(0,0,0,.3);

  text-align: center;
}

.discord-success-content h1 {
  margin: 0;

  font-family:
    "Minecraft Ten",
    sans-serif;

  font-size:
    clamp(28px,5vw,55px);

  line-height: 1.25;

  color: #1769aa;
}


/* =========================
   MOBILE
========================= */

@media (max-width: 900px) {

  .builds {
    grid-template-columns:
      repeat(2,minmax(0,1fr));
  }

  .search-row {
    flex-direction: column;
  }

  .search-box input,
  .sort-box select {
    width: 90vw;

    max-width: 450px;
  }

}


@media (max-width: 768px) {

  .builds {
    display: grid !important;

    grid-template-columns:
      repeat(3,minmax(0,1fr)) !important;

    gap: 15px;
  }

}


@media (max-width: 500px) {

  .builds {
    grid-template-columns: repeat(3,minmax(0,1fr)) !important;
    gap: 8px;
    padding: 0 8px;
  }

  .build-card { min-height: 0; border-radius: 12px; }

  .build-card img { height: 105px; }

  .build-info { padding: 9px 7px 10px; }

  .build-category { font-size: 8px; margin-bottom: 4px; }

  .build-card h2 { font-size: 10px; line-height: 1.35; }

  h1 {
    font-size: 45px;
  }

  .addon-price-right {
    gap: 7px;
  }

  .addons-button {
    padding: 8px 10px;

    font-size: 12px;
  }

}


@media (max-width: 600px) {

  .account-area {
    right: 12px;
    bottom: 12px;
  }

  .discord-login-button {
    min-width: 0;

    height: 46px;

    padding: 0 14px;

    font-size: 14px;
  }

  .account-profile-button {
    min-width: 0;

    width: 52px;
    height: 52px;

    padding: 0;

    justify-content: center;

    border-radius: 50%;
  }

  .account-profile-button img {
    width: 38px;
    height: 38px;
  }

  #accountUsername,
  .account-arrow {
    display: none;
  }

  .account-dropdown {
    right: 0;

    width:
      min(
        280px,
        calc(100vw - 24px)
      );
  }

}


/* =========================
   FORCE SHOREBUILDS PROFILE
========================= */

.account-profile-button {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 10px !important;

  width: 190px !important;
  min-width: 190px !important;
  height: 52px !important;

  padding: 0 14px !important;
  box-sizing: border-box !important;

  background: #fffbd6 !important;

  border: 3px solid #123b5d !important;
  border-radius: 8px !important;

  color: #123b5d !important;

  font-family: "Minecraft Ten", sans-serif !important;
  font-size: 14px !important;
  font-weight: normal !important;

  box-shadow:
    0 5px 0 #123b5d,
    0 8px 15px rgba(0,0,0,.18) !important;

  cursor: pointer !important;
}

.account-profile-button:hover {
  background: #fff7ad !important;

  transform: translateY(-2px) !important;

  box-shadow:
    0 7px 0 #123b5d,
    0 11px 20px rgba(0,0,0,.22) !important;
}

.account-profile-button img {
  width: 36px !important;
  height: 36px !important;

  border-radius: 6px !important;

  object-fit: cover !important;

  border: 2px solid #123b5d !important;
}

#accountUsername {
  color: #123b5d !important;

  font-family: "Minecraft Ten", sans-serif !important;
  font-size: 14px !important;
  font-weight: normal !important;
}

.account-arrow {
  color: #123b5d !important;
}

.build-price {
  font-family: "Minecraft Ten", sans-serif !important;
  font-size: 18px;
  color: #0874a8;
}

.price {
  font-family: "Minecraft Ten", sans-serif !important;
}
/* Hide build prices from the main build cards */
.build-card .build-price,
.build-card .price,
.build-card [data-price] {
    display: none !important;
}

.smp-swapper-button { color: #8eeaff; border: 1px solid rgba(69, 201, 245, .55); }
.smp-swapper-popup { position: fixed; z-index: 80; inset: 0; display: grid; place-items: center; padding: 20px; background: rgba(2, 18, 30, .7); }
.smp-swapper-popup[hidden] { display: none !important; }
.smp-swapper-card { position: relative; width: min(530px, 100%); padding: 29px; background: #092536; border: 2px solid #32c4f2; border-radius: 14px; box-shadow: 0 20px 55px rgba(0, 0, 0, .52); color: #dff7ff; }
.smp-swapper-card > span { color: #60d8ff; font: 12px "Minecraft Ten", sans-serif; }
.smp-swapper-card h2 { margin: 8px 35px 9px 0; color: #fff; font: 27px "Minecraft Ten", sans-serif; }
.smp-swapper-card p { margin: 0; color: #a8cedd; line-height: 1.5; }
.smp-swapper-close { position: absolute; top: 15px; right: 15px; width: 34px; height: 34px; color: #fff; background: #1769aa; border: 2px solid #32c4f2; border-radius: 7px; cursor: pointer; font-size: 21px; }
.smp-swapper-choices { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; margin-top: 22px; }
.smp-swapper-choices button { min-height: 64px; padding: 12px; color: #dff7ff; background: #10384d; border: 2px solid #267b9d; border-radius: 9px; cursor: pointer; font: 14px "Minecraft Ten", sans-serif; }
.smp-swapper-choices button:hover, .smp-swapper-choices button.active { color: #fff; background: #1769aa; border-color: #67ddff; box-shadow: 0 0 13px rgba(65, 207, 248, .35); }

.farm-spawner-row {
  align-items: flex-end;
}

.farm-spawner-label,
.farm-spawner-control {
  display: flex;
  flex-direction: column;
  gap: 5px;
}

.farm-spawner-label small {
  color: #4a6e89;
  font-size: 12px;
}

.farm-spawner-control {
  align-items: flex-end;
}

.farm-spawner-control input {
  width: 112px;
  padding: 8px 10px;
  border: 2px solid #123b5d;
  border-radius: 6px;
  background: #fffbd6;
  color: #123b5d;
  font: inherit;
  text-align: right;
  appearance: textfield;
  -moz-appearance: textfield;
}

.farm-spawner-control input::-webkit-inner-spin-button,
.farm-spawner-control input::-webkit-outer-spin-button {
  margin: 0;
  -webkit-appearance: none;
}

.farm-spawner-row[hidden],
.plain-build-popup .popup-details[hidden],
.farm-build-popup #standardAddonRow,
.plain-build-popup #standardAddonRow {
  display: none !important;
}

.farm-spawner-control strong {
  min-height: 20px;
}
.custom-shulker-icon{width:96px;height:96px;object-fit:contain;display:block;margin:18px auto 6px;border-radius:10px;image-rendering:auto}.custom-shulker-card{cursor:pointer}

/* Keep the logged-in Discord name visible on phones, beside the avatar. */
@media (max-width: 600px) {
  #accountUsername { display: block !important; max-width: 118px; font-size: 11px !important; }
}

/* First-login tutorial */
.tutorial-overlay {
  position: fixed;
  inset: 0;
  z-index: 9000;
  display: grid;
  place-items: center;
  padding: 20px;
  background: rgba(1, 13, 24, .58);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}

.tutorial-overlay[hidden] { display: none !important; }
.tutorial-open { overflow: hidden; }

.tutorial-choice-card,
.tutorial-popup,
.tutorial-orders-popup {
  color: #eefaff;
  background: #082336;
  border: 3px solid #40c8fa;
  border-radius: 18px;
  box-shadow: 0 20px 55px rgba(0, 0, 0, .48);
}

.tutorial-choice-card {
  width: min(470px, 100%);
  padding: 36px;
  text-align: center;
  animation: tutorialPopIn .35s ease-out both;
}

.tutorial-choice-card > span,
.tutorial-popup > span,
.tutorial-orders-popup > span {
  color: #48cdf9;
  font: 12px "Minecraft Ten", sans-serif;
  letter-spacing: 1px;
}

.tutorial-choice-card h2,
.tutorial-popup h2 { margin: 12px 0 10px; font: 30px "Minecraft Ten", sans-serif; color: #fff; }
.tutorial-choice-card p,
.tutorial-popup p { margin: 0; color: #c8e4ef; line-height: 1.55; }
.tutorial-choice-actions { display: flex; gap: 12px; justify-content: center; margin-top: 28px; }
.tutorial-choice-actions button,
.tutorial-exit { min-height: 44px; padding: 0 20px; border-radius: 8px; cursor: pointer; font: 15px "Minecraft Ten", sans-serif; }
.tutorial-start-button { background: #45c7f2; color: #062035; border: 2px solid #a8edff; }
.tutorial-skip-button { background: #ffd873; color: #4d3600; border: 2px solid #b98200; }

.tutorial-guide { align-items: stretch; }
.tutorial-scene { position: relative; width: min(1060px, 100%); height: min(680px, calc(100vh - 40px)); overflow: hidden; }
.tutorial-exit { position: fixed; top: 22px; right: 24px; z-index: 3; color: #d9f5ff; background: #123d56; border: 2px solid #48c8f4; }

.tutorial-popup { position: absolute; z-index: 2; top: 78px; left: 50%; width: min(420px, calc(100% - 30px)); padding: 25px; transform: translateX(-50%); text-align: center; transition: opacity .45s ease, transform .45s ease; }
.tutorial-popup p { min-height: 75px; }

.tutorial-skin-stage { position: absolute; z-index: 1; width: 360px; height: 0; left: 50%; bottom: -80px; overflow: hidden; transform: translateX(-50%); transition: height .7s ease, bottom .7s ease; }
.tutorial-skin { position: absolute; bottom: 0; left: 0; width: 100%; display: block; }
.tutorial-hand { position: absolute; z-index: 3; top: 120px; width: 76px; height: 38px; border: 4px solid #e37942; border-radius: 18px; background: #f29b55; opacity: 0; transition: all .45s ease; }
.tutorial-left-hand { left: -18px; transform: rotate(15deg); }
.tutorial-right-hand { right: -18px; transform: rotate(-15deg); }
.tutorial-wave-hand { position: absolute; z-index: 4; top: 92px; right: 3px; font-size: 55px; opacity: 0; }

.tutorial-orders-popup { position: absolute; z-index: 3; top: 110px; right: -380px; width: 270px; padding: 14px; opacity: 0; transition: right .8s cubic-bezier(.2,.9,.2,1), opacity .4s ease; }
.tutorial-profile-row,
.tutorial-menu-row { padding: 12px; margin-top: 9px; border-radius: 9px; background: #304351; color: #fff; text-align: left; font: 14px "Minecraft Ten", sans-serif; }
.tutorial-profile-row { display: flex; gap: 10px; align-items: center; }
.tutorial-profile-row span { font-size: 24px; color: #ffe0a7; }
.tutorial-orders-highlight { border: 2px solid #55d4ff; background: #126b91; box-shadow: 0 0 0 4px rgba(85, 212, 255, .17); }
.tutorial-orders-highlight b { float: right; font-size: 24px; line-height: 12px; }

.tutorial-guide.stage-intro .tutorial-skin-stage { height: 365px; bottom: -118px; }
.tutorial-guide.stage-intro .tutorial-hand { opacity: 1; }
.tutorial-guide.stage-intro .tutorial-left-hand { left: 10px; }
.tutorial-guide.stage-intro .tutorial-right-hand { right: 10px; }
.tutorial-guide.stage-orders .tutorial-popup { opacity: 0; transform: translate(-50%, -80px); }
.tutorial-guide.stage-orders .tutorial-skin-stage { height: 390px; bottom: -112px; }
.tutorial-guide.stage-orders .tutorial-orders-popup { right: 5%; opacity: 1; }
.tutorial-guide.stage-orders .tutorial-right-hand { opacity: 1; top: 116px; right: -8px; transform: rotate(-35deg); }
.tutorial-guide.stage-farewell .tutorial-popup { opacity: 1; }
.tutorial-guide.stage-farewell .tutorial-popup h2 { font-size: 25px; }
.tutorial-guide.stage-farewell .tutorial-skin-stage { height: 520px; bottom: -4px; }
.tutorial-guide.stage-farewell .tutorial-wave-hand { opacity: 1; animation: tutorialWave .75s ease-in-out infinite; }
.tutorial-guide.stage-farewell .tutorial-orders-popup { right: -380px; opacity: 0; }

@keyframes tutorialPopIn { from { opacity: 0; transform: scale(.9); } to { opacity: 1; transform: scale(1); } }
@keyframes tutorialWave { 0%, 100% { transform: rotate(-18deg); } 50% { transform: rotate(25deg); } }

@media (max-width: 650px) {
  .tutorial-choice-card { padding: 28px 20px; }
  .tutorial-choice-actions { flex-direction: column-reverse; }
  .tutorial-choice-actions button { width: 100%; }
  .tutorial-scene { height: calc(100vh - 30px); }
  .tutorial-popup { top: 60px; padding: 19px; }
  .tutorial-popup h2 { font-size: 24px; }
  .tutorial-skin-stage { width: 285px; }
  .tutorial-orders-popup { top: 275px; width: 245px; }
  .tutorial-guide.stage-orders .tutorial-orders-popup { right: 50%; transform: translateX(50%); }
  .tutorial-guide.stage-orders .tutorial-skin-stage { opacity: .38; }
}

/* Tutorial cutscene: guide is behind the welcome card while its hands hold it. */
.tutorial-guide .tutorial-popup { z-index: 4; top: 246px; }
.tutorial-guide .tutorial-popup::before,
.tutorial-guide .tutorial-popup::after { content: ""; position: absolute; top: 43%; width: 80px; height: 42px; border: 4px solid #db7d42; border-radius: 24px; background: linear-gradient(90deg, #f7b063, #c96538); box-shadow: 0 3px 0 #803e2b; }
.tutorial-guide .tutorial-popup::before { left: -65px; transform: rotate(15deg); }
.tutorial-guide .tutorial-popup::after { right: -65px; transform: rotate(-15deg); }
.tutorial-guide .tutorial-skin-stage { z-index: 3; top: 22px; bottom: auto; width: 390px; height: 455px; overflow: hidden; transition: left .8s ease, top .65s ease, width .65s ease, height .65s ease, opacity .45s ease; }
.tutorial-guide .tutorial-skin { top: 0; bottom: auto; }
.tutorial-guide .tutorial-hand { display: none; }
.tutorial-guide.stage-intro .tutorial-skin-stage { height: 455px; bottom: auto; }
.tutorial-guide.stage-orders .tutorial-skin-stage { top: 68px; left: 19%; width: 330px; height: 420px; bottom: auto; opacity: .98; }
.tutorial-guide.stage-farewell .tutorial-skin-stage { top: 8px; width: 410px; height: 590px; bottom: auto; }
.tutorial-guide.stage-farewell .tutorial-popup { top: 38px; }
.tutorial-guide.stage-farewell .tutorial-popup::before,
.tutorial-guide.stage-farewell .tutorial-popup::after { opacity: 0; }
.tutorial-guide.stage-orders .tutorial-orders-popup { top: 90px; right: 7%; z-index: 5; }
.tutorial-guide.stage-orders .tutorial-orders-popup::after { content: "👉"; position: absolute; left: -76px; top: 113px; font-size: 51px; transform: rotate(-10deg); animation: tutorialPoint .65s ease-in-out infinite alternate; }
.tutorial-guide.orders-exit .tutorial-orders-popup { transform: translateY(110vh) rotate(8deg); opacity: 0; transition: transform .9s cubic-bezier(.5,-.2,.75,.2), opacity .45s ease; }
.tutorial-guide.orders-glow .tutorial-orders-highlight { animation: tutorialOrderGlow 1s ease-in-out infinite alternate; }
.tutorial-logout-row { color: #ff8585 !important; border: 1px solid #8a3d47; background: #4a2932 !important; }
@keyframes tutorialPoint { to { transform: translateX(13px) rotate(-10deg); } }
@keyframes tutorialOrderGlow { to { box-shadow: 0 0 8px 4px #63ddff, 0 0 28px 9px rgba(99,221,255,.55); transform: scale(1.035); } }
@media (max-width: 650px) { .tutorial-guide .tutorial-popup { top: 198px; }.tutorial-guide .tutorial-skin-stage { width: 300px; top: 18px; height: 350px; }.tutorial-guide.stage-orders .tutorial-skin-stage { left: 12%; width: 275px; opacity: .5; }.tutorial-guide.stage-orders .tutorial-orders-popup { top: 245px; }.tutorial-guide .tutorial-orders-popup::after { display: none; }.tutorial-guide.stage-farewell .tutorial-skin-stage { width: 325px; height: 470px; top: 55px; }.tutorial-guide.stage-farewell .tutorial-popup { top: 15px; }.tutorial-guide .tutorial-popup::before,.tutorial-guide .tutorial-popup::after { width: 48px; }.tutorial-guide .tutorial-popup::before { left: -40px; }.tutorial-guide .tutorial-popup::after { right: -40px; } }

/* Generated Minecraft hand frames for the cutscene. */
.tutorial-guide .tutorial-popup::before,.tutorial-guide .tutorial-popup::after { display: none; }
.tutorial-arm-image { position: absolute; z-index: 7; width: 220px; height: 130px; object-fit: contain; opacity: 0; pointer-events: none; transition: opacity .35s ease, transform .45s ease; }
.tutorial-hold-left-image { top: 325px; left: calc(50% - 310px); transform: rotate(12deg); }.tutorial-hold-right-image { top: 325px; right: calc(50% - 310px); transform: scaleX(-1) rotate(12deg); }.tutorial-point-image { top: 186px; left: 10%; width: 270px; transform: rotate(-9deg); }.tutorial-wave-image { top: 112px; left: calc(50% + 44px); width: 180px; transform-origin: 22% 78%; }
.tutorial-guide.stage-intro .tutorial-hold-left-image,.tutorial-guide.stage-intro .tutorial-hold-right-image { opacity: 1; }.tutorial-guide.stage-orders .tutorial-point-image { opacity: 1; animation: tutorialArmPoint .7s ease-in-out infinite alternate; }.tutorial-guide.stage-farewell .tutorial-wave-image { opacity: 1; animation: tutorialArmWave .65s ease-in-out infinite alternate; }
@keyframes tutorialArmPoint { to { transform: translateX(14px) rotate(-9deg); } } @keyframes tutorialArmWave { to { transform: rotate(22deg) translateY(-5px); } }
@media (max-width: 650px) { .tutorial-arm-image { width: 140px; height: 85px; }.tutorial-hold-left-image { top: 268px; left: -18px; }.tutorial-hold-right-image { top: 268px; right: -18px; }.tutorial-point-image { display: none; }.tutorial-wave-image { top: 110px; left: calc(50% + 15px); width: 130px; } }

/* Attached blocky character arms: no image tiles or checkerboard backgrounds. */
.tutorial-arm-image { display: none !important; }
.tutorial-guide .tutorial-hand { display: block !important; z-index: 6; top: 334px; width: 116px; height: 34px; border: 0; border-radius: 0; background: repeating-linear-gradient(90deg, #e99620 0 19px, #c97700 19px 38px); box-shadow: inset 0 -7px rgba(119,70,0,.26); opacity: 0; transition: opacity .3s ease, transform .45s ease, top .45s ease, left .65s ease, right .65s ease; }
.tutorial-guide .tutorial-hand::after { content: ""; position: absolute; top: -5px; width: 30px; height: 44px; border-radius: 3px; background: #f3bb4b; box-shadow: inset -7px -7px rgba(186,116,0,.25); }.tutorial-guide .tutorial-left-hand { left: calc(50% - 318px); transform: rotate(9deg); }.tutorial-guide .tutorial-left-hand::after { right: -8px; }.tutorial-guide .tutorial-right-hand { right: calc(50% - 318px); transform: scaleX(-1) rotate(9deg); }.tutorial-guide .tutorial-right-hand::after { right: -8px; }
.tutorial-guide.stage-intro .tutorial-left-hand,.tutorial-guide.stage-intro .tutorial-right-hand { opacity: 1; }.tutorial-guide.stage-orders .tutorial-left-hand { opacity: 0; }.tutorial-guide.stage-orders .tutorial-right-hand { opacity: 1; top: 185px; right: 42%; width: 185px; transform: scaleX(-1) rotate(-18deg); animation: tutorialAttachedPoint .7s ease-in-out infinite alternate; }.tutorial-guide.stage-farewell .tutorial-left-hand { opacity: 0; }.tutorial-guide.stage-farewell .tutorial-right-hand { opacity: 1; top: 145px; right: calc(50% - 205px); width: 92px; transform-origin: right center; animation: tutorialAttachedWave .55s ease-in-out infinite alternate; }.tutorial-guide.stage-farewell .tutorial-wave-hand { display: none; }.tutorial-guide.stage-farewell .tutorial-popup > span { display: none; }
@keyframes tutorialAttachedPoint { to { transform: scaleX(-1) translateX(16px) rotate(-18deg); } } @keyframes tutorialAttachedWave { to { transform: rotate(30deg) translateY(-10px); } }
@media (max-width: 650px) { .tutorial-guide .tutorial-hand { top: 273px; width: 75px; height: 25px; }.tutorial-guide .tutorial-hand::after { width: 22px; height: 32px; }.tutorial-guide .tutorial-left-hand { left: calc(50% - 210px); }.tutorial-guide .tutorial-right-hand { right: calc(50% - 210px); }.tutorial-guide.stage-orders .tutorial-right-hand { top: 275px; right: 39%; width: 120px; }.tutorial-guide.stage-farewell .tutorial-right-hand { top: 120px; right: calc(50% - 155px); width: 65px; } }

/* Phone layout: retain the desktop-style account name and three build cards. */
#mobileAccountUsername { display: none; }

@media (max-width: 900px) {
  .builds {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 16px !important;
    padding: 0 8px;
  }

  .build-card { min-height: 0; border-radius: 24px; }

  .build-card img { height: 300px; }
}

@media (max-width: 600px) {
  #accountUsername { display: none !important; }

  #mobileAccountUsername {
    display: block !important;
    flex: 1;
    min-width: 0;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    color: #123b5d;
    font-family: "Minecraft Ten", sans-serif;
    font-size: 11px;
    text-align: left;
  }
}
.bundle-addon-dialog{max-width:420px}.bundle-addon-dialog>p{margin:0 0 18px;color:#b9d7e6}.bundle-material-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.bundle-material-choices button{min-height:82px;border:2px solid #178dbd;border-radius:9px;background:#103044;color:#e7f8ff;font:800 15px "Minecraft Ten",Arial,sans-serif;cursor:pointer}.bundle-material-choices button:hover{background:#1b5876;border-color:#4ed0f4}.bundle-material-choices small{display:block;margin-top:9px;color:#5ed5f5;font:700 12px Arial,sans-serif}.bundle-quantity-label{display:grid;gap:8px;margin:8px 0 4px;font:800 13px "Minecraft Ten",Arial,sans-serif;color:#dff8ff}.bundle-quantity-label input{width:100%;box-sizing:border-box;padding:13px;border:2px solid #1d94c2;border-radius:7px;background:#071f2e;color:#fff;font-size:16px}.bundle-quantity-error{min-height:18px;margin:4px 0 10px;color:#ff8c9d;font-weight:800}

/* Discord self-service roles beneath the build pager. */
.discord-role-preferences{max-width:900px;margin:28px auto 44px;padding:25px;border:3px solid #0d608b;border-radius:16px;background:#d8f2ff;color:#082f4c;box-shadow:0 8px 0 #14557c;font-family:Arial,sans-serif}.discord-role-preferences h2{margin:7px 0 8px;font:24px "Minecraft Ten",Arial,sans-serif;color:#07385d}.discord-role-preferences p{margin:0;color:#164b6d}.discord-role-preference-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:18px}.discord-role-preference{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 14px;border:2px solid #0d608b;border-radius:9px;background:#effbff}.discord-role-preference strong{font:16px "Minecraft Ten",Arial,sans-serif}.discord-role-preference button{min-width:112px;padding:9px 12px;border:2px solid #083f66;border-radius:7px;background:#237ab8;color:#fff;font:13px "Minecraft Ten",Arial,sans-serif;cursor:pointer}.discord-role-preference button.has-role{background:#c9f7d8;color:#0b6133;border-color:#207b4e}.discord-role-preference button:disabled{opacity:.55;cursor:wait}.discord-role-preference-message{min-height:20px;margin-top:14px!important;font-weight:700}.addon-choice-stack{align-items:flex-end!important;flex-direction:column!important}.addon-choice-stack strong{display:block;min-height:18px;margin-top:7px;color:#0b4c76;font:14px "Minecraft Ten",Arial,sans-serif;text-align:right;white-space:nowrap}@media(max-width:640px){.discord-role-preferences{margin:24px 14px 38px;padding:19px}.discord-role-preference-list{grid-template-columns:1fr}.discord-role-preference{align-items:flex-start;flex-direction:column}.discord-role-preference button{width:100%}}

/* V8: load build art eagerly but only reveal after a complete decode. */
.build-card > img.shore-image-pending,
#popupImage.shore-image-pending { opacity: 0 !important; }
.build-card > img.shore-image-ready,
#popupImage.shore-image-ready { opacity: 1 !important; transition: opacity .08s linear; }


/* =========================
   HOMEPAGE INTRO / PROCESS
========================= */

.shorebuild-intro {
  width: min(1180px, calc(100% - 48px));
  margin: 0 auto;
  text-align: left;
}

.shorebuild-intro > h1 {
  text-align: left;
}

.shorebuild-intro > p {
  margin: 12px 0 18px;
  color: #245d7d;
  font-family: "Minecraft Ten", sans-serif;
  font-size: 18px;
  line-height: 1.35;
}

.building-process-button {
  min-height: 48px;
  padding: 0 18px;
  border: 3px solid #123b5d;
  border-radius: 6px;
  background: #fffbd6;
  color: #123b5d;
  box-shadow: 0 4px 0 rgba(18, 59, 93, .22);
  cursor: pointer;
  font-family: "Minecraft Ten", sans-serif;
  font-size: 15px;
  transition: transform .15s ease, box-shadow .15s ease, background .15s ease;
}

.building-process-button:hover {
  background: #fff6ad;
  transform: translateY(-2px);
  box-shadow: 0 6px 0 rgba(18, 59, 93, .2);
}

.building-process-popup[hidden] { display: none !important; }

.building-process-popup {
  position: fixed;
  inset: 0;
  z-index: 10000;
  display: grid;
  place-items: center;
  padding: 24px;
  background: rgba(5, 30, 48, .72);
  backdrop-filter: blur(5px);
}

.building-process-card {
  position: relative;
  width: min(650px, 100%);
  box-sizing: border-box;
  padding: 30px;
  border: 4px solid #123b5d;
  border-radius: 10px;
  background: #bfeaff;
  box-shadow: 0 22px 60px rgba(8, 44, 67, .3);
  text-align: left;
}

.building-process-eyebrow {
  color: #34799f;
  font-family: "Minecraft Ten", sans-serif;
  font-size: 12px;
}

.building-process-card h2 {
  margin: 8px 42px 8px 0;
  color: #1769aa;
  font-family: "Minecraft Ten", sans-serif;
  font-size: 30px;
}

.building-process-card > p {
  margin: 0 0 20px;
  color: #315f77;
  font-size: 15px;
}

.building-process-close {
  position: absolute;
  top: 16px;
  right: 18px;
  border: 0;
  background: transparent;
  color: #123b5d;
  cursor: pointer;
  font-size: 30px;
  line-height: 1;
}

.building-process-options {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.building-process-options a {
  display: flex;
  min-height: 88px;
  box-sizing: border-box;
  flex-direction: column;
  justify-content: center;
  padding: 15px 16px;
  border: 3px solid #174b70;
  border-radius: 7px;
  background: #fffbd6;
  color: #123b5d;
  text-decoration: none;
  transition: transform .15s ease, background .15s ease;
}

.building-process-options a:hover {
  background: #fff4a4;
  transform: translateY(-2px);
}

.building-process-options strong {
  font-family: "Minecraft Ten", sans-serif;
  font-size: 16px;
}

.building-process-options span {
  margin-top: 5px;
  color: #57788b;
  font-size: 12px;
  line-height: 1.35;
}

body.smp-donutsmp .shorebuild-intro { display: none; }

@media (max-width: 650px) {
  .shorebuild-intro {
    width: min(100% - 30px, 1180px);
  }

  .shorebuild-intro > h1 {
    font-size: 45px;
  }

  .shorebuild-intro > p {
    font-size: 15px;
  }

  .building-process-button {
    width: 100%;
    font-size: 13px;
  }

  .building-process-card {
    padding: 24px 18px 20px;
  }

  .building-process-card h2 {
    font-size: 24px;
  }

  .building-process-options {
    grid-template-columns: 1fr;
  }
}


/* v47: stop browser rubber-band/overscroll beyond the real document on every ShoreBuilds page. */
html, body { overscroll-behavior: none; }


/* V63 — DonutSMP / SMP Swapper retired */
.smp-swapper-button,
.smp-swapper-popup,
.donutsmp-logo,
.donutsmp-mode,
body.smp-donutsmp {
  display: none !important;
}


/* =========================================================
   V78 — SITE-WIDE MINECRAFT TYPOGRAPHY
   ShoreBuild primarily uses Minecraft Ten throughout the UI.
========================================================= */
html,
body,
button,
input,
select,
textarea,
a,
label,
small,
strong,
p,
span,
div,
section,
article,
nav,
header,
footer {
  font-family: "Minecraft Ten", Arial, sans-serif;
}

input,
textarea,
select {
  font-family: "Minecraft Ten", Arial, sans-serif !important;
}


/* ---- pwa.css?v=4 ---- */
.pwa-install-ui {
  display: grid;
  gap: 8px;
  margin-bottom: 10px;
  width: min(260px, calc(100vw - 44px));
}

.pwa-install-button {
  min-height: 48px;
  padding: 11px 16px;
  color: #ffffff;
  background: linear-gradient(135deg, #1faee6, #1769aa);
  border: 2px solid #9beaff;
  border-radius: 9px;
  box-shadow: 0 4px 0 #0a477c, 0 9px 18px rgba(0, 0, 0, .25);
  font: 16px "Minecraft Ten", Arial, sans-serif;
  cursor: pointer;
}

.pwa-install-button:hover { filter: brightness(1.1); }
.pwa-install-button:active { transform: translateY(2px); box-shadow: 0 2px 0 #0a477c, 0 5px 12px rgba(0, 0, 0, .25); }

.pwa-ios-install-hint {
  margin: 0;
  padding: 10px 12px;
  color: #e9fbff;
  background: rgba(5, 47, 71, .94);
  border: 2px solid #28bce9;
  border-radius: 9px;
  font: 12px/1.35 Arial, sans-serif;
  text-align: center;
  box-shadow: 0 8px 18px rgba(0, 0, 0, .24);
}

@media (max-width: 600px) {
  .pwa-install-ui { width: min(248px, calc(100vw - 28px)); }
}

.shorebuild-install-callout,
.shorebuild-install-main {
  font-family: "Minecraft Ten", Arial, sans-serif;
}

.shorebuild-install-callout {
  width: min(680px, calc(100% - 32px));
  margin: 56px auto 100px;
  padding: 36px 30px;
  color: #0a3b62;
  background: rgba(210, 242, 255, .96);
  border: 3px solid #1769aa;
  border-radius: 18px;
  box-shadow: 0 9px 0 #0a477c, 0 16px 32px rgba(15, 75, 112, .22);
  text-align: center;
}

/* A hard fallback for installed Chrome, Edge, Android, and iOS app windows. */
@media (display-mode: standalone), (display-mode: window-controls-overlay), (display-mode: minimal-ui), (display-mode: fullscreen) {
  .shorebuild-install-callout { display: none !important; }
}

.shorebuild-install-callout > p,
.shorebuild-install-main > p,
.shorebuild-how-to > p,
.pwa-install-modal-card > p {
  margin: 0 0 10px;
  color: #129fd0;
  font: 13px "Minecraft Ten", Arial, sans-serif;
  letter-spacing: .06em;
}

.shorebuild-install-callout h2,
.shorebuild-install-main h1,
.shorebuild-how-to h2,
.pwa-install-modal-card h2 {
  margin: 0;
  font-family: "Minecraft Ten", Arial, sans-serif;
}

.shorebuild-install-callout h2 { font-size: clamp(28px, 4vw, 46px); }

.shorebuild-install-actions,
.pwa-install-modal-actions {
  display: flex;
  justify-content: center;
  gap: 14px;
  margin-top: 28px;
  flex-wrap: wrap;
}

.shorebuild-install-primary,
.shorebuild-install-secondary,
.pwa-modal-back,
.pwa-modal-install {
  display: inline-flex;
  min-height: 48px;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  padding: 10px 23px;
  border: 2px solid #0a477c;
  border-radius: 8px;
  color: #fff;
  font: 16px "Minecraft Ten", Arial, sans-serif;
  text-decoration: none;
  cursor: pointer;
}

.shorebuild-install-primary,
.pwa-modal-install { background: #1faee6; box-shadow: 0 4px 0 #0a477c; }
.shorebuild-install-secondary,
.pwa-modal-back { background: #fff9d6; color: #0a477c; box-shadow: 0 4px 0 #c4b66a; }
.shorebuild-install-primary:hover,
.pwa-modal-install:hover,
.shorebuild-install-secondary:hover,
.pwa-modal-back:hover { filter: brightness(1.08); }

.pwa-install-modal[hidden] { display: none; }
.pwa-install-modal {
  position: fixed;
  z-index: 99999;
  inset: 0;
  display: grid;
  place-items: center;
  padding: 18px;
  background: rgba(1, 20, 34, .72);
  backdrop-filter: blur(5px);
  opacity: 0;
}

.pwa-install-modal-card {
  width: min(440px, 100%);
  padding: 30px;
  color: #073451;
  background: #d2f2ff;
  border: 3px solid #1769aa;
  border-radius: 16px;
  box-shadow: 0 10px 0 #0a477c, 0 22px 42px rgba(0, 0, 0, .32);
  text-align: center;
}

.pwa-install-modal.is-open { animation: pwa-modal-backdrop-in .24s ease-out forwards; }
.pwa-install-modal.is-open .pwa-install-modal-card { animation: pwa-modal-card-in .3s cubic-bezier(.2, .85, .3, 1.18) both; }
.pwa-install-modal.is-closing { animation: pwa-modal-backdrop-out .22s ease-in forwards; }
.pwa-install-modal.is-closing .pwa-install-modal-card { animation: pwa-modal-card-out .2s ease-in both; }

@keyframes pwa-modal-backdrop-in { from { opacity: 0; } to { opacity: 1; } }
@keyframes pwa-modal-backdrop-out { from { opacity: 1; } to { opacity: 0; } }
@keyframes pwa-modal-card-in {
  from { opacity: 0; transform: translateY(22px) scale(.92); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}
@keyframes pwa-modal-card-out {
  from { opacity: 1; transform: translateY(0) scale(1); }
  to { opacity: 0; transform: translateY(14px) scale(.95); }
}

.pwa-install-status { display: block; margin-top: 14px; font: 15px/1.45 Arial, sans-serif; }
.pwa-modal-open { overflow: hidden; }

.shorebuild-install-page {
  min-height: 100vh;
  margin: 0;
  color: #073451;
  background: linear-gradient(180deg, #9be1fc, #bceaff 70%, #9ed5ef);
}

.shorebuild-install-main { width: min(930px, calc(100% - 36px)); margin: 0 auto; padding: 38px 0 90px; text-align: center; }
.shorebuild-install-main > * { animation: shorebuild-install-page-in .42s ease-out both; }
.shorebuild-install-main > :nth-child(2) { animation-delay: .05s; }
.shorebuild-install-main > :nth-child(3) { animation-delay: .1s; }
.shorebuild-install-main > :nth-child(4) { animation-delay: .15s; }
.shorebuild-install-main > :nth-child(5) { animation-delay: .2s; }
@keyframes shorebuild-install-page-in { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: translateY(0); } }
.shorebuild-install-back { display: inline-block; color: #1769aa; font: 15px "Minecraft Ten", Arial, sans-serif; text-decoration: none; }
.shorebuild-install-logo { display: block; width: min(190px, 46vw); margin: 24px auto 12px; }
.shorebuild-install-main h1 { max-width: 780px; margin: 0 auto; font-size: clamp(32px, 6vw, 62px); line-height: 1.1; }

.shorebuild-how-to {
  margin-top: 64px;
  padding: 34px;
  background: rgba(232, 250, 255, .86);
  border: 3px solid #1769aa;
  border-radius: 18px;
  box-shadow: 0 8px 0 #0a477c;
}
.shorebuild-how-to h2 { font-size: clamp(28px, 4vw, 42px); }
.shorebuild-install-guide-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin: 28px 0; text-align: left; }
.shorebuild-install-guide-grid article { padding: 20px; background: #083d5b; border: 2px solid #1faee6; border-radius: 12px; color: #effcff; }
.shorebuild-install-guide-grid h3 { margin: 0 0 13px; color: #60d4ff; font: 18px "Minecraft Ten", Arial, sans-serif; }
.shorebuild-install-guide-grid ol { margin: 0; padding-left: 22px; font: 15px/1.5 Arial, sans-serif; }
.shorebuild-install-guide-grid strong { color: #fff1a8; }
.shorebuild-install-guide-back { margin-top: 8px; }

@media (max-width: 700px) {
  .shorebuild-install-callout { margin-top: 38px; padding: 28px 18px; }
  .shorebuild-install-guide-grid { grid-template-columns: 1fr; }
  .shorebuild-how-to { padding: 25px 18px; }
}

@media (prefers-reduced-motion: reduce) {
  .pwa-install-modal.is-open,
  .pwa-install-modal.is-open .pwa-install-modal-card,
  .pwa-install-modal.is-closing,
  .pwa-install-modal.is-closing .pwa-install-modal-card,
  .shorebuild-install-main > * { animation: none; }
  .pwa-install-modal { opacity: 1; }
}


/* ---- maintenance.css?v=1 ---- */
.shorebuild-maintenance-screen {
  min-height: 100vh;
  display: grid;
  place-items: center;
  overflow-y: auto;
  padding: 28px 16px;
  background: radial-gradient(circle at top, rgba(28, 122, 165, .92), #061b2a 64%);
  color: #fff;
}

.shorebuild-maintenance-card {
  width: min(690px, 100%);
  text-align: center;
  padding: clamp(28px, 5vw, 54px);
  border: 2px solid #42cafa;
  border-radius: 18px;
  background: rgba(4, 28, 44, .94);
  box-shadow: 0 20px 70px rgba(0, 0, 0, .48);
}

.shorebuild-maintenance-card h1,
.shorebuild-maintenance-card h2,
.shorebuild-maintenance-card button,
.shorebuild-maintenance-intro {
  font-family: 'Minecraft', 'Minecraft Ten', monospace;
}

.shorebuild-maintenance-card h1 {
  margin: 0;
  color: #72ddff;
  font-size: clamp(24px, 4.3vw, 43px);
  line-height: 1.3;
}

.shorebuild-maintenance-card p {
  margin: 18px auto 26px;
  max-width: 560px;
  color: #d3effa;
  font-size: clamp(16px, 2vw, 20px);
  line-height: 1.55;
}

.shorebuild-maintenance-intro {
  font-size: clamp(15px, 2vw, 19px) !important;
}

.maintenance-game-cards {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 220px));
  justify-content: center;
  gap: 18px;
  margin: 28px auto 0;
}

.maintenance-game-card {
  overflow: hidden;
  padding: 0;
  border: 2px solid #42cafa;
  border-radius: 14px;
  background: #08283b;
  color: #f4fbff;
  cursor: pointer;
  box-shadow: 0 8px 0 #063850;
  transition: transform .16s ease, border-color .16s ease, box-shadow .16s ease;
}

.maintenance-game-card:hover,
.maintenance-game-card:focus-visible {
  transform: translateY(-4px);
  border-color: #a2ecff;
  box-shadow: 0 12px 0 #063850, 0 0 22px rgba(66, 202, 250, .28);
}

.maintenance-game-card:active { transform: translateY(2px); box-shadow: 0 4px 0 #063850; }

.maintenance-game-card img {
  display: block;
  width: 100%;
  aspect-ratio: 1 / .82;
  object-fit: cover;
  image-rendering: pixelated;
  background: #69bfca;
}

.cookie-game-art{display:grid!important;place-items:center;height:180px;background:radial-gradient(circle at 35% 28%,#ffd596 0 5%,transparent 6%),radial-gradient(circle at 62% 58%,#ffd596 0 6%,transparent 7%),radial-gradient(circle at 42% 70%,#ffd596 0 4%,transparent 5%),#b96528;color:#5a280e;font-size:104px;line-height:1;text-shadow:0 6px 0 rgba(72,30,9,.35)}
.cookie-clicker-shell{width:min(900px,100%)}.cookie-clicker-game{display:grid;grid-template-columns:minmax(0,1fr) 280px;min-height:520px;background:linear-gradient(135deg,#bd7036,#72411f)}.cookie-clicker-main{display:grid;place-items:center;align-content:center;gap:5px;padding:28px;text-align:center;background:radial-gradient(circle at 50% 45%,rgba(255,218,161,.48),transparent 44%)}.cookie-clicker-total{margin:0!important;color:#fff!important;font-size:30px!important;text-shadow:2px 3px #533117}.cookie-clicker-rate{margin:0!important;color:#ffe6b9!important;font-size:12px!important}.cookie-clicker-cookie{width:min(290px,72vw);aspect-ratio:1;margin-top:13px;border:8px solid #5c2d12;border-radius:50%;background:radial-gradient(circle at 35% 27%,#4c2511 0 4%,transparent 5%),radial-gradient(circle at 65% 39%,#4c2511 0 5%,transparent 6%),radial-gradient(circle at 40% 65%,#4c2511 0 4%,transparent 5%),radial-gradient(circle at 63% 72%,#4c2511 0 3%,transparent 4%),#d98a42;color:transparent;cursor:pointer;box-shadow:inset -18px -22px rgba(87,39,13,.25),0 14px 0 rgba(70,30,9,.42);transition:transform .08s ease}.cookie-clicker-cookie:hover{transform:scale(1.03)}.cookie-clicker-cookie:active{transform:translateY(8px) scale(.97);box-shadow:inset -18px -22px rgba(87,39,13,.25),0 6px 0 rgba(70,30,9,.42)}.cookie-clicker-notice{min-height:20px;margin:8px 0 0!important;color:#fff6cd!important;font-size:11px!important}.cookie-clicker-shop{padding:18px;overflow:auto;background:#291b19;color:#fff3d0}.cookie-clicker-shop h3{margin:0 0 12px;color:#ffe0a3;font-size:18px}.cookie-clicker-shop button{display:grid;width:100%;gap:7px;margin:8px 0;padding:13px;border:2px solid #a45e2e;border-radius:8px;background:#59321e;color:#fff3d0;text-align:left;cursor:pointer}.cookie-clicker-shop button:hover:not(:disabled){background:#7b4728;border-color:#ffd18e}.cookie-clicker-shop button:disabled{opacity:.46;cursor:not-allowed}.cookie-clicker-shop button strong{font-size:14px}.cookie-clicker-shop button span{font:11px Arial,sans-serif;color:#ffddb3}.cookie-clicker-achievements{display:grid;gap:8px;margin-top:18px;padding:12px;border:1px solid #a45e2e;border-radius:8px;background:#3c251b}.cookie-clicker-achievements strong{color:#ffda7a;font-size:13px}.cookie-clicker-achievements span{font:11px Arial,sans-serif;color:#f1caa1}.cookie-clicker-achievements .unlocked{color:#94f4a4}

.maintenance-game-card span {
  display: block;
  padding: 16px 12px;
  font-family: 'Minecraft', 'Minecraft Ten', monospace;
  font-size: 16px;
}

.shorebuild-game-shell {
  width: min(620px, 100%);
  border: 2px solid #47cdf7;
  border-radius: 12px;
  overflow: hidden;
  background: #0a3852;
}

.shorebuild-game-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 13px;
  font-size: 17px;
  background: #0e5475;
  color: #fff8cf;
}

.shorebuild-game-heading h2 { margin: 0; font-size: 17px; }

.shorebuild-game-heading button {
  width: 30px;
  height: 30px;
  border: 1px solid #72ddff;
  border-radius: 7px;
  background: #09354d;
  color: #fff;
  cursor: pointer;
  font-size: 21px;
}

#shorebuildFlappyBird {
  display: block;
  width: 100%;
  aspect-ratio: 1;
  cursor: pointer;
  touch-action: manipulation;
}

.maintenance-game-popup {
  position: fixed;
  inset: 0;
  z-index: 10;
  display: grid;
  place-items: center;
  padding: 24px;
  background: rgba(1, 13, 22, .83);
}

.maintenance-game-popup[hidden] { display: none; }

/* A game owns the screen while it is open; only its own inner panels scroll. */
body:has(.maintenance-game-popup:not([hidden])), body.shorebuild-modal-open { overflow: hidden; }

.maintenance-game-popup .shorebuild-game-shell {
  max-height: calc(100vh - 48px);
  box-shadow: 0 22px 70px rgba(0, 0, 0, .52);
}

.maintenance-control-card {
  margin-top: 22px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
}

.maintenance-control-actions {
  display: flex;
  align-items: center;
  gap: 10px;
}

.maintenance-preview-popup {
  position: fixed;
  inset: 0;
  z-index: 2147483646;
  display: grid;
  place-items: center;
  padding: 24px;
  background: rgba(1, 13, 22, .76);
  opacity: 0;
  pointer-events: none;
  transition: opacity .18s ease;
}

.maintenance-preview-popup.is-open { opacity: 1; pointer-events: auto; }

.maintenance-preview-dialog {
  position: relative;
  width: min(960px, 100%);
  height: min(760px, 88vh);
  overflow: hidden;
  border: 2px solid #42cafa;
  border-radius: 15px;
  background: #061b2a;
  box-shadow: 0 26px 80px rgba(0, 0, 0, .56);
}

.maintenance-preview-dialog iframe { display: block; width: 100%; height: 100%; border: 0; }

.maintenance-preview-close {
  position: absolute;
  z-index: 1;
  top: 11px;
  right: 11px;
  width: 34px;
  height: 34px;
  border: 1px solid #5cdcff;
  border-radius: 8px;
  background: #0d5272;
  color: #fff;
  cursor: pointer;
  font-size: 23px;
  line-height: 1;
}

.maintenance-control-copy strong { display: block; font-size: 18px; color: #e8f9ff; }
.maintenance-control-copy span { display: block; margin-top: 5px; color: #83a9ba; }

.maintenance-toggle {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  min-width: 105px;
  justify-content: center;
  border: 1px solid #3e6274;
  border-radius: 7px;
  padding: 11px 14px;
  background: #122330;
  color: #e8f9ff;
  font-family: inherit;
  font-weight: 800;
  cursor: pointer;
}

.maintenance-toggle::before {
  content: '';
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #ff4e62;
  box-shadow: 0 0 9px rgba(255, 78, 98, .55);
}

.maintenance-toggle.is-on { border-color: #48dc90; color: #8cffbb; }
.maintenance-toggle.is-on::before { background: #56e994; box-shadow: 0 0 9px rgba(86, 233, 148, .65); }

@media (max-width: 560px) {
  .maintenance-control-card { align-items: flex-start; flex-direction: column; }
  .maintenance-control-actions { width: 100%; justify-content: space-between; }
  .maintenance-preview-popup { padding: 12px; }
  .maintenance-preview-dialog { height: min(700px, 92vh); }
}
@media(max-width:700px){.cookie-clicker-game{grid-template-columns:1fr}.cookie-clicker-shop{max-height:360px}.cookie-clicker-main{min-height:410px}}

/* Public Games page */
.games-page-screen { grid-template-rows: auto 1fr; align-content: start; gap: 30px; }
.games-toolbar { width: min(840px, 100%); display: grid; grid-template-columns: 1fr auto auto; gap: 12px; }
.games-toolbar input { min-width: 0; padding: 14px 16px; border: 2px solid #42cafa; border-radius: 9px; background: #08283b; color: #fff; font-family: "Minecraft", "Minecraft Ten", monospace; }
.games-toolbar input::placeholder { color: #9fc9dc; }
.games-toolbar a,.games-toolbar button { display:grid; place-items:center; padding: 12px 16px; border:2px solid #42cafa; border-radius:9px; background:#0e5475; color:#fff8cf; font-family:"Minecraft", "Minecraft Ten", monospace; text-decoration:none; cursor:pointer; }
.games-page-card { align-self:start; }
.games-page-card, .games-page-card * { font-family: "Minecraft", "Minecraft Ten", monospace; }
.shorebuild-game-shell, .shorebuild-game-shell * { font-family: "Minecraft", "Minecraft Ten", monospace; }
@media (max-width: 560px) { .games-toolbar { grid-template-columns: 1fr; }.games-toolbar a { min-height: 44px; } }
.games-leaderboard-dialog{width:min(720px,100%);background:#092438;color:#e9fbff}.games-leaderboard-dialog,.games-leaderboard-dialog *{font-family:Arial,sans-serif}.games-leaderboard-dialog .shorebuild-game-heading h2{font-family:"Minecraft","Minecraft Ten",monospace}.games-leaderboard-body{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:20px;max-height:70vh;overflow:auto}.games-leaderboard-body section{border:1px solid #2e98c2;border-radius:9px;padding:12px;background:#0e3a53}.games-leaderboard-body h3{margin:0 0 10px;color:#68dfff;font-size:14px}.games-leaderboard-body ol{display:grid;gap:7px;margin:0;padding-left:26px}.games-leaderboard-body li{display:flex;justify-content:space-between;gap:10px;font:14px Arial,sans-serif}.games-leaderboard-body strong{color:#fff3ab}@media(max-width:560px){.games-leaderboard-body{grid-template-columns:1fr}}

/* Clickable Cookie Clicker achievement list. */
.cookie-clicker-shop .cookie-clicker-achievements { display:grid; gap:8px; margin-top:18px; padding:12px; border:1px solid #a45e2e; border-radius:8px; background:#3c251b; text-align:left; }
.cookie-clicker-shop .cookie-clicker-achievements:hover { background:#4f2f20; border-color:#ffd18e; }
.cookie-achievements-dialog { width:min(650px,100%); background:#291b19; color:#fff3d0; }
.cookie-achievements-summary { margin:0; padding:18px 22px; color:#ffddb3; font:13px Arial,sans-serif; }
.cookie-achievements-list { display:grid; gap:10px; max-height:min(58vh,520px); margin:0; padding:0 22px 22px; overflow:auto; list-style:none; }
.cookie-achievements-list li { display:grid; grid-template-columns:1fr auto; gap:5px 14px; padding:12px; border:1px solid #875027; border-radius:8px; background:#3c251b; color:#f1caa1; font:12px Arial,sans-serif; }
.cookie-achievements-list strong { color:#ffe0a3; }
.cookie-achievements-list em { grid-column:2; grid-row:1 / span 2; align-self:center; color:#b9987d; font-style:normal; font-size:11px; }
.cookie-achievements-list .is-unlocked { border-color:#69c878; background:#23422d; }
.cookie-achievements-list .is-unlocked strong, .cookie-achievements-list .is-unlocked em { color:#aef6bd; }

/* Keep the Cookie Clicker game completely inside its dialog.  The browser page
   never scrolls while the player browses the long upgrade list. */
.maintenance-page-body:has(#cookieClickerGame:not([hidden])) { overflow: hidden; }
.cookie-clicker-shell { height: min(760px, calc(100vh - 48px)); display: flex; flex-direction: column; }
.cookie-clicker-game { min-height: 0; flex: 1; overflow: hidden; }
.cookie-clicker-main { min-height: 0; overflow: hidden; }
.cookie-clicker-main > * { position: relative; z-index: 1; }
.cookie-clicker-cookie { display: block !important; flex: 0 0 auto; background-color: #d98a42 !important; }
.cookie-clicker-shop { min-height: 0; overflow-y: auto; overscroll-behavior: contain; }
.cookie-clicker-rebirth { border-color: #a26bff !important; background: linear-gradient(135deg, #45267b, #1d153d) !important; }
.cookie-clicker-rebirth strong { color: #e3c7ff !important; }
.cookie-clicker-rebirth span { color: #dbc9f7 !important; }
@media(max-width:700px){.cookie-clicker-shell{height:min(92vh,760px)}.cookie-clicker-game{grid-template-rows:minmax(330px,1fr) minmax(0,1fr)}.cookie-clicker-shop{max-height:none}.cookie-clicker-main{min-height:0}}


/* ---- stock.css?v=151 ---- */
.stock-purchase-modal[hidden]{display:none}.stock-purchase-modal{position:fixed;z-index:90;inset:0;display:grid;place-items:center;padding:18px;background:rgba(3,11,18,.76);backdrop-filter:blur(4px)}.stock-purchase-dialog{position:relative;width:min(440px,100%);max-height:90vh;overflow:auto;padding:28px;border:2px solid #258fbb;border-radius:14px;background:#0b2638;color:#fff;box-shadow:0 18px 48px rgba(0,0,0,.5)}.stock-purchase-dialog>span{color:#62d7ff;font-size:11px;font-weight:800;letter-spacing:.14em}.stock-purchase-dialog h2{margin:8px 0;font-family:"Minecraft Ten",Arial,sans-serif}.stock-purchase-dialog p{color:#c8e7f2}.stock-purchase-dialog label{display:block;margin:20px 0 14px;color:#dff7ff;font-weight:700}.stock-purchase-dialog input{box-sizing:border-box;width:100%;margin-top:7px;padding:11px;border:1px solid #367b98;border-radius:6px;background:#071c2b;color:#fff}.stock-purchase-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.stock-purchase-actions button{padding:12px;border:2px solid #107ba6;border-radius:7px;background:#45c4ef;color:#042030;font-weight:900;cursor:pointer}.stock-purchase-actions button:last-child{border-color:#996f18;background:#ffd66b;color:#3f2c00}.stock-purchase-close{position:absolute;right:11px;top:8px;border:0;background:transparent;color:#91dff7;font-size:26px;cursor:pointer}
.stock-gui-preview{margin:16px 0;padding:12px;border:1px solid #8e673b;border-radius:8px;background:#3c2818;box-shadow:inset 0 0 0 3px #bd925d}.stock-gui-preview-heading{display:flex;justify-content:space-between;margin-bottom:9px;color:#fff0c4;font-size:12px}.stock-gui-preview-slots{display:grid;grid-template-columns:repeat(9,1fr);gap:4px;padding:7px;border:4px solid #6c4324;background:#26180e}.stock-gui-preview-slot{aspect-ratio:1;min-width:0;border:1px solid #160e08;background:#273d48;position:relative}.stock-gui-preview-slot img{width:100%;height:100%;object-fit:contain;image-rendering:pixelated}.stock-gui-preview-quantity{position:absolute;right:1px;bottom:0;color:#fff;font-size:10px;font-weight:900;text-shadow:1px 1px #000}
.spawner-stock-card{cursor:pointer}.spawner-card-art{box-sizing:border-box;display:block;width:100%;height:300px;padding:20px;object-fit:contain;background:radial-gradient(circle,#6ef2ff 0 8%,#16709a 9% 18%,#0a283c 19% 100%)}.spawner-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:18px}.spawner-options button{display:flex;align-items:center;gap:10px;padding:9px;border:2px solid #178dbb;border-radius:8px;background:#10384e;color:#effcff;font-family:"Minecraft Ten",Arial,sans-serif;cursor:pointer;text-align:left}.spawner-options button img{width:38px;height:38px;object-fit:contain;image-rendering:auto}.spawner-options button:hover{background:#1c5d7c}.spawner-price-heading{margin:18px 0 9px!important;font-family:"Minecraft Ten",Arial,sans-serif;color:#fff!important}.spawner-price-options{display:grid;grid-template-columns:1fr 1fr;gap:10px}.spawner-price-options section{display:grid;gap:8px;padding:12px;border:2px solid #287fa4;border-radius:8px;background:#092033}.spawner-price-options section:first-child{border-color:#1698c9}.spawner-price-options section:last-child{border-color:#c38b27}.spawner-price-options strong{font-family:"Minecraft Ten",Arial,sans-serif;color:#63d9ff}.spawner-price-options b{font-size:20px;color:#fff}.spawner-price-options small{color:#b9dce8}.spawner-purchase-modal label{font-family:"Minecraft Ten",Arial,sans-serif}@media(max-width:600px){.spawner-card-art{height:105px;padding:8px}.spawner-options{grid-template-columns:1fr}.spawner-price-options{grid-template-columns:1fr}}

.spawner-purchase-image{
  display:block;
  width:150px;
  height:150px;
  margin:12px auto 4px;
  object-fit:contain;
  border:2px solid #287fa4;
  border-radius:12px;
  background:#082438;
}
@media(max-width:600px){
  .spawner-purchase-image{width:120px;height:120px}
}


/* Mineouts */
.mineouts-card{cursor:pointer}.mineouts-card-art{box-sizing:border-box;display:block;width:100%;height:300px;padding:34px;object-fit:contain;background:radial-gradient(circle,#51d5ff 0 7%,#155a80 28%,#082438 70%)}
.mineouts-dialog{width:min(620px,calc(100vw - 28px));max-height:min(90vh,820px);overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}
.mineouts-section{margin-top:16px;padding:15px;border:2px solid #287fa4;border-radius:10px;background:#092033}.mineouts-section h3{margin:0 0 6px;font-family:"Minecraft Ten",Arial,sans-serif;color:#effcff}.mineouts-section p{margin:0 0 12px;color:#b9dce8}.mineouts-price-section{display:flex;align-items:center;justify-content:space-between;gap:14px}.mineouts-price-section span{font-family:"Minecraft Ten",Arial,sans-serif;color:#78ddff}.mineouts-price-section strong{font-size:22px;color:#fff}.mineouts-drills{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.mineouts-drills label{cursor:pointer}.mineouts-drills input{position:absolute;opacity:0;pointer-events:none}.mineouts-drills span{display:grid;place-items:center;min-height:56px;padding:10px;border:2px solid #1b8eb8;border-radius:8px;background:#10384e;color:#eaffff;font-family:"Minecraft Ten",Arial,sans-serif;text-align:center}.mineouts-drills input:checked+span{border-color:#7be4ff;background:#1d8ebd;box-shadow:0 0 0 2px rgba(123,228,255,.16) inset}.mineouts-size-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.mineouts-size-grid label{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:8px;margin:0;padding:10px;border:2px solid #287fa4;border-radius:8px;background:#071b2a}.mineouts-size-grid span{font-family:"Minecraft Ten",Arial,sans-serif;color:#7ce5ff}.mineouts-size-grid input{width:100%;min-width:0;box-sizing:border-box;padding:10px;border:0;border-radius:6px;background:#fffbd6;color:#10293a;font-weight:800}.mineouts-summary{display:grid;grid-template-columns:1fr auto;gap:8px 14px;margin-top:16px;padding:14px;border:2px solid #287fa4;border-radius:10px;background:#071b2a}.mineouts-summary span{color:#8fbed2}.mineouts-summary strong{color:#fff;text-align:right}.mineouts-message{min-height:20px;margin:10px 0 0;color:#ffb8b8;font-weight:800}.mineouts-continue{width:100%;margin-top:8px;padding:14px;border:2px solid #65dcff;border-radius:9px;background:#1280af;color:#fff;font-family:"Minecraft Ten",Arial,sans-serif;cursor:pointer}
@media(max-width:600px){.mineouts-card-art{height:105px;padding:10px}.mineouts-drills{grid-template-columns:1fr}.mineouts-size-grid{grid-template-columns:1fr}.mineouts-dialog{max-height:92dvh}}


/* =========================================================
   MINEOUTS V17
========================================================= */
html.mineouts-open,
body.mineouts-open {
  overflow: hidden !important;
  overscroll-behavior: none !important;
}

.mineouts-card-art {
  padding: 0 !important;
  object-fit: cover !important;
  object-position: center !important;
  background: #031226 !important;
}

.mineouts-dialog,
.mineouts-dialog button,
.mineouts-dialog input,
.mineouts-dialog label,
.mineouts-dialog span,
.mineouts-dialog strong,
.mineouts-dialog h2,
.mineouts-dialog h3,
.mineouts-dialog p {
  font-family: "Minecraft Ten", Arial, sans-serif;
}

.mineouts-price-section strong,
#mineoutsBlockCount,
#mineoutsEstimatedTotal {
  font-family: "Minecraft Ten", Arial, sans-serif !important;
}

.mineouts-summary span {
  font-family: "Minecraft Ten", Arial, sans-serif;
  color: #8fbed2;
}

.mineouts-summary strong {
  font-size: 18px;
  color: #7ce5ff;
}

@media (max-width: 600px) {
  .mineouts-modal {
    align-items: stretch;
    place-items: stretch;
    padding: 0;
    overflow: hidden;
    touch-action: none;
  }

  .mineouts-dialog {
    box-sizing: border-box;
    width: 100%;
    max-width: none;
    height: 100dvh;
    max-height: 100dvh;
    margin: 0;
    border-radius: 0;
    overflow-y: auto;
    overflow-x: hidden;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
    touch-action: pan-y;
  }

  .mineouts-card-art {
    height: 105px !important;
  }
}


/* V18: stock-card sizing + hide Discord role chooser behind stock modals */
body.mineouts-open #discordRolePreferences,
body.spawner-modal-open #discordRolePreferences {
  display: none !important;
}

@media (max-width: 600px) {
  .mineouts-card-art {
    height: 300px !important;
    padding: 0 !important;
    object-fit: cover !important;
    object-position: center center !important;
  }
}

@media (max-width: 600px) {
  #mineoutsX,
  #mineoutsY,
  #mineoutsZ,
  .mineouts-size-grid input {
    font-size: 16px !important;
  }
}


/* ---- stock-order-style.css ---- */
.stock-purchase-dialog label{font-family:"Minecraft Ten",Arial,sans-serif}.stock-purchase-dialog input{font-family:"Minecraft Ten",Arial,sans-serif;appearance:textfield}.stock-purchase-dialog input::-webkit-inner-spin-button,.stock-purchase-dialog input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}


/* ---- homepage-empty.css ---- */
.empty-build-notice{grid-column:1/-1;display:grid;justify-items:center;gap:16px;min-height:230px;padding:52px 20px;box-sizing:border-box;border:3px dashed #123b5d;border-radius:18px;background:rgba(223,243,255,.62);text-align:center}.empty-build-notice h2{margin:0;color:#123b5d;font-family:"Minecraft Ten",Arial,sans-serif;font-size:26px}.empty-build-notice button{padding:13px 20px;border:3px solid #123b5d;border-radius:7px;background:#fffbd6;color:#123b5d;font-family:"Minecraft Ten",Arial,sans-serif;font-size:14px;cursor:pointer}.empty-build-notice button:hover{background:#fff2a8}.pagination[hidden]{display:none}


/* ---- feature-flags.css?v=119 ---- */

@font-face{font-family:"Minecraft Ten";src:local("Minecraft Ten"),local("Minecraft")}
.shore-feature-disabled{
  position:fixed;
  z-index:2147483000;
  inset:0;
  display:grid;
  place-items:center;
  padding:22px;
  background:rgba(5,25,38,.86);
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
}
.shore-feature-disabled.compact{
  position:relative;
  z-index:2;
  inset:auto;
  min-height:280px;
  background:transparent;
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
}
.shore-feature-disabled-card{
  width:min(560px,100%);
  padding:28px;
  text-align:center;
  color:#eafaff;
  background:#08283b;
  border:2px solid #4bcdf8;
  border-radius:14px;
  box-shadow:0 18px 55px rgba(0,0,0,.34);
  font-family:"Minecraft Ten","Press Start 2P",monospace;
}
.shore-feature-disabled-card>span{color:#62d8ff;font-size:11px;letter-spacing:.12em}
.shore-feature-disabled-card h2{margin:14px 0 10px;color:#fff;font-size:clamp(20px,4vw,30px)}
.shore-feature-disabled-card p{margin:0 0 18px;color:#a9d6e8;line-height:1.55;font-family:Arial,sans-serif}
.shore-feature-disabled-card a{
  display:inline-block;
  padding:11px 15px;
  border:1px solid #65ddff;
  border-radius:7px;
  background:#0c709c;
  color:white;
  text-decoration:none;
}
.shore-feature-page-disabled{overflow:hidden!important}
.feature-disabled-control{opacity:.45!important;cursor:not-allowed!important;filter:grayscale(.7)}
.shore-feature-toast{
  position:fixed;z-index:2147483647;left:50%;bottom:26px;
  transform:translate(-50%,15px);
  opacity:0;pointer-events:none;
  max-width:min(90vw,520px);padding:12px 16px;
  border:1px solid #66d8ff;border-radius:9px;
  background:#08283b;color:#eaffff;
  font-family:"Minecraft Ten","Press Start 2P",monospace;
  font-size:11px;text-align:center;
  transition:.18s ease;
}
.shore-feature-toast.show{opacity:1;transform:translate(-50%,0)}
/* v119 runtime feature-disable states */
html.shore-stock-disabled [data-stock-item],
html.shore-stock-disabled .stock-card,
html.shore-stock-disabled .stock-grid,
html.shore-stock-disabled .stock-content,
html.shore-stock-disabled #stockPurchaseModal{display:none!important}
html.shore-live-chat-disabled .customer-message-compose,
html.shore-live-chat-disabled .order-message-compose{opacity:.55!important}
a.feature-disabled-control{pointer-events:auto!important;text-decoration:none!important}


/* ---- big-update.css?v=151 ---- */
/* ShoreBuilds staged homepage/navigation update. Normal visitors do not see this while the release flag is false. */
.future-homepage { display: none; }

html.shore-big-update-active body { min-height: 100vh; }
html.shore-big-update-active .future-homepage { display: block !important; min-height: 100vh; }
html.shore-big-update-active:not([data-big-update-subpage="true"]) body > .page { display: none !important; }
html.shore-big-update-active body > .donut-smp-content,
html.shore-big-update-active body > #tutorialChoice,
html.shore-big-update-active body > #tutorialGuide { display: none !important; }

.future-topbar {
  position: sticky;
  top: 0;
  z-index: 9000;
  display: grid;
  grid-template-columns: auto auto minmax(180px, 1fr) 240px;
  align-items: center;
  gap: 22px;
  min-height: 78px;
  padding: 12px 28px;
  border-bottom: 3px solid #276b98;
  background: rgba(186, 232, 255, .97);
  box-shadow: 0 4px 18px rgba(27, 82, 119, .12);
}
.future-brand {
  color: #1769aa;
  font-family: "Minecraft Ten", sans-serif;
  font-size: 25px;
  text-decoration: none;
  white-space: nowrap;
}
.future-nav { display: flex; align-items: center; gap: 6px; }
.future-nav a {
  padding: 10px 11px;
  border-radius: 6px;
  color: #164f76;
  font-family: "Minecraft Ten", sans-serif;
  font-size: 13px;
  text-decoration: none;
  transition: background .15s ease, transform .15s ease;
}
.future-nav a:hover { background: rgba(255,255,255,.58); transform: translateY(-1px); }
.future-nav-search { min-width: 0; margin: 0; }
.future-nav-search input {
  width: 100%;
  height: 42px;
  border: 2px solid #2e709d;
  border-radius: 7px;
  outline: none;
  padding: 0 13px;
  background: #f8fdff;
  color: #123b5d;
  font: inherit;
}
.future-nav-search input:focus { border-color: #1769aa; box-shadow: 0 0 0 3px rgba(23,105,170,.12); }
.future-account-space { width: 240px; }

html.shore-big-update-active .account-area {
  position: fixed !important;
  z-index: 9500 !important;
  top: 17px !important;
  right: 27px !important;
  width: 220px;
}
html.shore-big-update-active .discord-login-button,
html.shore-big-update-active .account-profile-button { width: 100%; max-width: 220px; }

.future-home-main { width: min(1240px, calc(100% - 54px)); margin: 0 auto; padding: 76px 0 90px; }
.future-hero { max-width: 720px; text-align: left; }
.future-eyebrow { color: #3e87ae; font-family: "Minecraft Ten", sans-serif; font-size: 12px; letter-spacing: .12em; }
.future-hero h1 { margin: 10px 0 12px; color: #1769aa; font-family: "Minecraft Ten", sans-serif; font-size: clamp(44px, 7vw, 82px); line-height: .98; }
.future-hero p { margin: 0 0 22px; color: #245d7d; font-family: "Minecraft Ten", sans-serif; font-size: 19px; }
.future-home-empty { margin-top: 70px; padding: 26px; border: 2px solid rgba(39,107,152,.28); border-radius: 10px; background: rgba(255,255,255,.28); }
.future-home-empty div { display: flex; flex-direction: column; gap: 6px; color: #2f647f; }
.future-home-empty strong { color: #175c88; font-family: "Minecraft Ten", sans-serif; font-size: 15px; }
.future-home-empty span { font-size: 13px; }

/* Future subpages */
body.big-update-subpage { padding-top: 84px; }
body.big-update-subpage .future-subpage-topbar { position: fixed; inset: 0 0 auto 0; }
body.big-update-subpage .shorebuild-intro { display: none !important; }
body.big-update-subpage .search-row .search-box { display: none !important; }
body.big-update-subpage .page { padding-top: 28px; }

.future-simple-page { width: min(980px, calc(100% - 42px)); margin: 60px auto; }
.future-simple-page h1 { color: #1769aa; font-family: "Minecraft Ten", sans-serif; font-size: 48px; }
.future-simple-page p { color: #315f77; line-height: 1.65; }

@media (max-width: 1050px) {
  .future-topbar { grid-template-columns: auto 1fr 190px; gap: 12px; }
  .future-nav { grid-column: 1 / -1; grid-row: 2; overflow-x: auto; }
  .future-account-space { width: 190px; }
  html.shore-big-update-active .account-area { width: 180px; }
}
@media (max-width: 650px) {
  .future-topbar { position: relative; grid-template-columns: 1fr; padding: 15px; }
  .future-brand { font-size: 22px; }
  .future-nav { grid-column: auto; grid-row: auto; overflow-x: auto; }
  .future-nav-search { width: 100%; }
  .future-account-space { display: none; }
  html.shore-big-update-active .account-area { position: relative !important; top: auto !important; right: auto !important; width: auto; margin: 10px 15px 0; }
  .future-home-main { width: min(100% - 30px, 1240px); padding-top: 48px; }
  .future-hero h1 { font-size: 45px; }
}
.future-nav a.active { background: rgba(255,255,255,.72); color: #0f5f94; }
body.big-update-subpage .legacy-build-controls .search-box { display: none !important; }

/* Owner-only staged release gate */
html[data-big-update-subpage="true"].shore-big-update-checking body {
  visibility: hidden !important;
}


/* v43 owner-preview refinements */
html.shore-big-update-active:not([data-big-update-subpage="true"]),
html.shore-big-update-active:not([data-big-update-subpage="true"]) body {
  height: 100%;
  overflow: hidden;
}
html.shore-big-update-active:not([data-big-update-subpage="true"]) .future-homepage {
  height: 100vh;
  min-height: 0;
  overflow: hidden;
}
html.shore-big-update-active:not([data-big-update-subpage="true"]) .future-home-main {
  height: calc(100vh - 78px);
  padding-top: clamp(42px, 8vh, 92px);
  padding-bottom: 24px;
  box-sizing: border-box;
}
html.shore-big-update-active:not([data-big-update-subpage="true"]) .future-home-empty { display:none !important; }

.future-topbar.v43-topbar {
  grid-template-columns: minmax(0, auto) minmax(140px, 1fr) 240px;
}
.future-topbar.v43-topbar .future-nav { min-width: 0; }
.future-nav-search-button {
  height: 42px;
  min-width: 145px;
  border: 2px solid #2e709d;
  border-radius: 7px;
  padding: 0 15px;
  background: #f8fdff;
  color: #164f76;
  font-family: "Minecraft Ten", "Press Start 2P", monospace;
  font-size: 13px;
  text-align: left;
  cursor: pointer;
  box-shadow: inset 0 -2px 0 rgba(23,105,170,.08);
}
.future-nav-search-button:hover { background:#fff; border-color:#1769aa; }

/* Builds page: keep the actual build catalog and categories visible. */
body.big-update-subpage .shorebuild-intro { display:none !important; }
body.big-update-subpage .legacy-build-controls { display:none !important; }
body.big-update-subpage .categories,
body.big-update-subpage .builds,
body.big-update-subpage .pagination { visibility:visible !important; opacity:1 !important; }

/* Search popup */
.future-search-popup[hidden] { display:none !important; }
.future-search-popup {
  position:fixed; inset:0; z-index:12000; display:grid; place-items:start center;
  padding:110px 18px 30px; background:rgba(6,25,38,.56); backdrop-filter:blur(5px);
}
.future-search-card {
  width:min(680px,100%); max-height:min(650px,calc(100vh - 150px)); overflow:hidden;
  border:3px solid #2a78a7; border-radius:12px; background:#dff4ff;
  box-shadow:0 22px 70px rgba(14,66,100,.30); padding:18px;
}
.future-search-head { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:13px; }
.future-search-head strong { color:#1769aa; font-family:"Minecraft Ten",monospace; font-size:18px; }
.future-search-close { border:0; background:transparent; color:#245d7d; font-size:28px; cursor:pointer; }
.future-search-input {
  width:100%; height:48px; box-sizing:border-box; border:2px solid #2e709d; border-radius:7px;
  padding:0 14px; outline:none; background:#fff; color:#123b5d;
  font-family:"Minecraft Ten", "Press Start 2P", monospace; font-size:14px;
}
.future-search-input:focus { border-color:#1769aa; box-shadow:0 0 0 3px rgba(23,105,170,.12); }
.future-search-results { margin-top:12px; max-height:430px; overflow:auto; display:flex; flex-direction:column; gap:7px; }
.future-search-result {
  width:100%; display:flex; align-items:center; gap:11px; border:1px solid rgba(39,107,152,.30); border-radius:7px;
  padding:10px 11px; background:rgba(255,255,255,.62); color:#174e72; text-decoration:none; cursor:pointer;
}
.future-search-result:hover { background:#fff; border-color:#2a78a7; }
.future-search-result img { width:35px; height:35px; border-radius:5px; object-fit:cover; image-rendering:auto; }
.future-search-result-copy { min-width:0; display:flex; flex-direction:column; gap:2px; }
.future-search-result-copy strong { font-family:"Minecraft Ten",monospace; font-size:13px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.future-search-result-copy span { color:#5d859b; font-size:10px; text-transform:uppercase; letter-spacing:.08em; }
.future-search-empty { padding:24px 8px; color:#507990; text-align:center; font-family:"Minecraft Ten",monospace; font-size:12px; }

/* Roles */
.future-role-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin-top:25px; }
.future-role-card { display:flex; align-items:center; gap:12px; min-height:68px; padding:14px 16px; border:2px solid rgba(39,107,152,.26); border-radius:9px; background:rgba(255,255,255,.38); }
.future-role-icon { width:38px; height:38px; display:grid; place-items:center; border-radius:7px; background:#b8e6fa; color:#1769aa; font-family:"Minecraft Ten",monospace; font-size:15px; }
.future-role-card strong { color:#175c88; font-family:"Minecraft Ten",monospace; font-size:13px; }
.future-role-card span { display:block; margin-top:3px; color:#568097; font-size:11px; }

/* Catalog categories */
.future-catalog-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; margin-top:25px; }
.future-catalog-card { display:block; padding:22px; border:2px solid rgba(39,107,152,.26); border-radius:10px; background:rgba(255,255,255,.38); text-decoration:none; }
.future-catalog-card:hover { background:rgba(255,255,255,.68); border-color:#2e709d; }
.future-catalog-card strong { display:block; color:#1769aa; font-family:"Minecraft Ten",monospace; font-size:17px; }
.future-catalog-card span { display:block; margin-top:7px; color:#527a90; font-size:12px; }

@media (max-width:700px) {
  .future-topbar.v43-topbar { grid-template-columns:1fr; }
  .future-role-grid,.future-catalog-grid { grid-template-columns:1fr; }
  .future-search-popup { padding-top:70px; }
}

/* v44 — owner build/card + live Discord role controls */
.future-open-target {
  outline: 3px solid #1769aa !important;
  outline-offset: 4px;
  animation: future-open-pulse .8s ease-in-out 2;
}
@keyframes future-open-pulse { 50% { transform: translateY(-3px); box-shadow: 0 10px 28px rgba(23,105,170,.24); } }
.future-role-card {
  width: 100%;
  text-align: left;
  cursor: pointer;
  color: inherit;
  font: inherit;
  transition: .16s ease;
}
.future-role-card:hover { transform: translateY(-1px); border-color:#2e709d; background:rgba(255,255,255,.68); }
.future-role-card.enabled { border-color:#2b9b69; background:rgba(221,255,237,.62); }
.future-role-card:disabled { opacity:.62; cursor:wait; transform:none; }
.future-role-copy { min-width:0; flex:1; }
.future-role-state {
  margin-left:auto !important;
  padding:7px 9px;
  border:1px solid rgba(23,105,170,.25);
  border-radius:6px;
  color:#1769aa !important;
  background:rgba(255,255,255,.58);
  font-family:"Minecraft Ten",monospace;
  font-size:10px !important;
  white-space:nowrap;
}
.future-role-card.enabled .future-role-state { color:#17633f !important; border-color:rgba(43,155,105,.35); }
.future-role-status { margin-top:16px; min-height:20px; color:#48748c !important; font-size:12px; }
.future-role-status.error { color:#b43d4c !important; }

/* Keep the complete owner Builds experience visible after owner access resolves. */
html[data-big-update-subpage="true"].shore-big-update-active body.big-update-subpage .categories,
html[data-big-update-subpage="true"].shore-big-update-active body.big-update-subpage .builds,
html[data-big-update-subpage="true"].shore-big-update-active body.big-update-subpage .pagination {
  visibility: visible !important;
  opacity: 1 !important;
}


/* v45: owner staged pages stay visible and account menu opens below the top bar. */
html[data-big-update-subpage="true"].shore-big-update-active body.big-update-subpage > .page {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
}
html[data-big-update-subpage="true"].shore-big-update-active body.big-update-subpage .categories,
html[data-big-update-subpage="true"].shore-big-update-active body.big-update-subpage .builds,
html[data-big-update-subpage="true"].shore-big-update-active body.big-update-subpage .pagination {
  display: grid;
  visibility: visible !important;
  opacity: 1 !important;
}
html[data-big-update-subpage="true"].shore-big-update-active body.big-update-subpage .pagination {
  display: flex;
}
html.shore-big-update-active .account-dropdown {
  top: calc(100% + 10px);
  bottom: auto;
  transform-origin: top right;
  transform: translateY(-8px) scale(.96);
}
html.shore-big-update-active .account-dropdown.show {
  transform: translateY(0) scale(1);
}


/* v46 homepage + roles cleanup */
.future-nav .future-home-link,
.future-nav .future-home-link.active {
  background: transparent !important;
  color: #164f76;
  box-shadow: none !important;
}
.future-nav .future-home-link:hover {
  background: rgba(32, 117, 170, .10) !important;
  color: #0f5f94;
}
.roles-page-main {
  width: min(1180px, calc(100% - 42px));
  margin: 72px auto 40px;
}
.roles-page .roles-page-selector {
  max-width: 1140px;
  margin: 0 auto;
}
html.shore-big-update-active:not([data-big-update-subpage="true"]) .future-hero > .future-eyebrow { display:none !important; }


/* v47 — consistent staged overhead, catalog changelog, and edge scroll behavior */
html, body {
  overscroll-behavior-y: none;
  overscroll-behavior-x: none;
}
body.big-update-subpage,
body.marketplace-owner-shell {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}
body.big-update-subpage > main:last-of-type,
body.marketplace-owner-shell > main:last-of-type {
  margin-bottom: 0 !important;
}

/* Marketplace keeps its public layout, but Owner sees the same overhaul header. */
.marketplace-owner-shell .marketplace-future-topbar { display: none; }
html.shore-big-update-active .marketplace-owner-shell .marketplace-future-topbar { display: grid; }
html.shore-big-update-active .marketplace-owner-shell .marketplace-page {
  padding-top: 34px;
}
html.shore-big-update-active .marketplace-owner-shell .marketplace-back { display: none; }

/* Roles/Catalog use the exact same top account placement as Builds. */
html.shore-big-update-active body.roles-page .account-area,
html.shore-big-update-active body.catalog-page .account-area,
html.shore-big-update-active body.marketplace-owner-shell .account-area {
  position: fixed !important;
  z-index: 9500 !important;
  top: 17px !important;
  right: 27px !important;
  width: 220px;
}

/* Update Catalog / large-update history */
.update-catalog-page { max-width: 980px; }
.update-catalog-intro { max-width: 760px; margin-bottom: 28px; }
.update-entry {
  margin-top: 24px;
  padding: 26px 28px;
  border: 2px solid rgba(39,107,152,.32);
  border-radius: 12px;
  background: rgba(255,255,255,.46);
  box-shadow: 0 8px 24px rgba(24,90,130,.08);
}
.update-entry-heading { display:flex; align-items:center; gap:9px; flex-wrap:wrap; }
.update-version,
.update-tag {
  display:inline-flex;
  align-items:center;
  min-height:28px;
  padding:5px 9px;
  border:1px solid rgba(39,107,152,.28);
  border-radius:6px;
  font-family:"Minecraft Ten",monospace;
  font-size:10px;
  letter-spacing:.05em;
}
.update-version { background:#1769aa; color:#fff; }
.update-tag { background:#fff8cf; color:#174e72; }
.update-entry h2 {
  margin:17px 0 8px;
  color:#1769aa;
  font-family:"Minecraft Ten",monospace;
  font-size:clamp(20px,3vw,31px);
  line-height:1.2;
}
.update-entry p { margin:0 0 12px; }
.update-entry ul { margin:0; padding-left:23px; color:#315f77; line-height:1.75; }
.update-entry li + li { margin-top:4px; }

@media (max-width: 650px) {
  html.shore-big-update-active body.roles-page .account-area,
  html.shore-big-update-active body.catalog-page .account-area,
  html.shore-big-update-active body.marketplace-owner-shell .account-area {
    position: relative !important;
    top: auto !important;
    right: auto !important;
    width: auto;
    margin: 10px 15px 0;
  }
  .update-entry { padding:20px 18px; }
}

/* v48 — keep every Owner-preview page in a readable light-blue range while scrolling */
html.shore-big-update-active,
html.shore-big-update-active body,
html.shore-big-update-active body.big-update-subpage,
html.shore-big-update-active body.marketplace-owner-shell {
  background: linear-gradient(180deg, #c8efff 0%, #b8e8fb 42%, #a9ddf4 100%) !important;
  background-attachment: fixed !important;
  color: #174e72;
}

/* Prevent legacy dark page backgrounds/sections from taking over farther down a page. */
html.shore-big-update-active body.big-update-subpage > .page,
html.shore-big-update-active body.big-update-subpage main,
html.shore-big-update-active body.catalog-page .future-simple-page,
html.shore-big-update-active body.roles-page .roles-page-main,
html.shore-big-update-active body.marketplace-owner-shell .marketplace-page {
  background-color: transparent !important;
  background-image: none !important;
}

/* Catalog stays light and readable from top to bottom. */
html.shore-big-update-active body.catalog-page .update-catalog-page,
html.shore-big-update-active body.catalog-page .update-catalog-intro,
html.shore-big-update-active body.catalog-page .update-entry {
  color: #245d7d;
}
html.shore-big-update-active body.catalog-page .update-entry {
  background: rgba(239, 249, 255, .72) !important;
  border-color: rgba(39, 107, 152, .34);
}
html.shore-big-update-active body.catalog-page .update-entry p,
html.shore-big-update-active body.catalog-page .update-entry ul,
html.shore-big-update-active body.catalog-page .update-entry li,
html.shore-big-update-active body.catalog-page .update-catalog-intro p {
  color: #2d6687 !important;
}

/* Keep the page edge itself light if content is shorter than the viewport. */
html.shore-big-update-active body.big-update-subpage::before,
html.shore-big-update-active body.big-update-subpage::after,
html.shore-big-update-active body.marketplace-owner-shell::before,
html.shore-big-update-active body.marketplace-owner-shell::after {
  background: transparent !important;
}

/* v49 — Builds controls restored and page bottoms tightened */
html.shore-big-update-active body.builds-page .shorebuild-intro,
html.shore-big-update-active body.builds-page .donutsmp-logo {
  display: none !important;
}
html.shore-big-update-active body.builds-page > .page {
  min-height: 0 !important;
  padding-top: 28px !important;
  padding-bottom: 24px !important;
  margin-bottom: 0 !important;
}
html.shore-big-update-active body.builds-page .restored-build-controls {
  display: flex !important;
  align-items: center;
  justify-content: center;
  gap: 12px;
  width: min(1040px, calc(100% - 36px));
  margin: 0 auto 14px;
}
html.shore-big-update-active body.builds-page .restored-build-controls .search-box {
  flex: 1;
  margin: 0 !important;
}
html.shore-big-update-active body.builds-page .restored-build-controls .search-box input,
html.shore-big-update-active body.builds-page .sort-select {
  min-height: 48px;
  border: 3px solid #164c72;
  border-radius: 8px;
  background: #f8fdff;
  color: #174c70;
  box-shadow: 0 4px 0 #164c72;
  font-family: "Minecraft Ten", "Press Start 2P", monospace;
  font-size: 13px;
  font-weight: 800;
}
html.shore-big-update-active body.builds-page .restored-build-controls .search-box input {
  width: 100%;
  padding: 0 16px;
}
html.shore-big-update-active body.builds-page .sort-select {
  width: 190px;
  padding: 0 12px;
  cursor: pointer;
}
html.shore-big-update-active body.builds-page .categories {
  display: flex !important;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px;
  width: min(1040px, calc(100% - 36px));
  margin: 0 auto 34px !important;
}
html.shore-big-update-active body.builds-page .categories .category-btn {
  width: auto !important;
  min-width: 105px;
  margin: 0 !important;
}
html.shore-big-update-active body.builds-page .pagination {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}
/* Anything below pagination is modal/legacy helper UI and must not add document height. */
html.shore-big-update-active body.builds-page .shorebuild-install-callout,
html.shore-big-update-active body.builds-page .donutsmp-mode {
  display: none !important;
}
html.shore-big-update-active body.builds-page {
  padding-bottom: 0 !important;
}

/* Contact page */
.contact-page-main {
  width: min(980px, calc(100% - 36px));
  margin: 0 auto;
  padding: 54px 0 40px !important;
}
.contact-content-card {
  padding: 34px;
  border: 2px solid rgba(31,107,151,.35);
  border-radius: 14px;
  background: rgba(255,255,255,.46);
  box-shadow: 0 8px 0 rgba(25,91,132,.16);
}
.contact-content-card h1,
.contact-content-card h2 {
  font-family: "Minecraft Ten", "Press Start 2P", monospace;
  color: #1769aa;
}
.contact-content-card h1 { margin: 0 0 30px; font-size: clamp(34px, 5vw, 58px); }
.contact-content-card h2 { margin: 26px 0 10px; font-size: 18px; }
.contact-content-card p,
.contact-content-card li {
  color: #2e6788;
  font-size: 16px;
  line-height: 1.65;
}
.contact-content-card a { color: #1769aa; font-weight: 800; }
.contact-methods { padding-left: 24px; }
.contact-methods li + li { margin-top: 18px; }
.contact-people { display: grid; gap: 6px; margin-top: 10px; }
.contact-people span { font-weight: 800; color: #195c86; }
.contact-people small { font-weight: 600; color: #5f8498; }
.contact-discord-box {
  margin-top: 30px;
  padding: 20px 22px;
  border: 2px solid rgba(31,107,151,.28);
  border-radius: 10px;
  background: rgba(232,248,255,.72);
}
.contact-discord-box h2 { margin-top: 0; }
@media (max-width: 700px) {
  html.shore-big-update-active body.builds-page .restored-build-controls { flex-direction: column; }
  html.shore-big-update-active body.builds-page .sort-select { width: 100%; }
  .contact-content-card { padding: 22px 18px; }
}


/* v50 — keep the dedicated Builds/Stock search visible on /builds.
   This is separate from the global search button in the header. */
html.shore-big-update-active body.builds-page .restored-build-controls .search-box,
html.shore-big-update-active body.big-update-subpage.builds-page .restored-build-controls .search-box,
body.big-update-subpage.builds-page .legacy-build-controls .search-box,
body.big-update-subpage.builds-page .search-row .search-box {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  flex: 1 1 520px !important;
  min-width: 280px;
}
html.shore-big-update-active body.builds-page .restored-build-controls {
  flex-wrap: wrap;
}
html.shore-big-update-active body.builds-page .restored-build-controls .search-box input {
  display: block !important;
  width: 100% !important;
}
@media (max-width: 720px) {
  html.shore-big-update-active body.builds-page .restored-build-controls .search-box {
    flex-basis: 100% !important;
    min-width: 0;
  }
  html.shore-big-update-active body.builds-page .sort-select {
    width: 100% !important;
  }
}


/* v51 — staged My Orders navigation. While the overhaul is Owner-only,
   My Orders lives in the top navigation instead of the profile dropdown. */
html.shore-big-update-active #ordersButton { display: none !important; }

html.shore-big-update-active body.my-orders-page {
  min-height: 100vh;
  margin: 0;
  background: linear-gradient(180deg, #b9eaff 0%, #a9ddf4 52%, #9fd4eb 100%) !important;
  color: #103f5f;
}
html.shore-big-update-active body.my-orders-page .orders-page {
  width: min(1120px, calc(100% - 36px));
  margin: 0 auto;
  padding: 42px 0 64px;
}
html.shore-big-update-active body.my-orders-page .orders-page h1 {
  margin: 0 0 8px;
  color: #0c5f96;
  font-family: "Minecraft Ten", Arial, sans-serif;
  font-size: clamp(34px, 5vw, 58px);
}
html.shore-big-update-active body.my-orders-page .orders-intro,
html.shore-big-update-active body.my-orders-page .orders-message {
  color: #315f78;
}
html.shore-big-update-active body.my-orders-page .orders-back { display: none; }
html.shore-big-update-active body.my-orders-page .orders-list {
  gap: 15px;
  margin-top: 24px;
}
html.shore-big-update-active body.my-orders-page .customer-order-card {
  border: 2px solid #2785b5;
  border-radius: 12px;
  background: rgba(239, 250, 255, .86);
  box-shadow: 0 5px 0 rgba(19, 78, 112, .18);
  color: #123f59;
}
html.shore-big-update-active body.my-orders-page .customer-order-card:hover,
html.shore-big-update-active body.my-orders-page .customer-order-card:focus-visible {
  border-color: #0c6da7;
  background: #f7fdff;
  transform: translateY(-2px);
}
html.shore-big-update-active body.my-orders-page .customer-order-card h2 { color: #103f5f; }
html.shore-big-update-active body.my-orders-page .customer-order-card p { color: #47738a; }
html.shore-big-update-active body.my-orders-page .customer-order-total { color: #0c6da7; }

@media (max-width: 900px) {
  html.shore-big-update-active body.my-orders-page .orders-page { padding-top: 28px; }
}

/* v51 shared orders route: public users keep the current legacy My Orders page;
   only the staged Owner preview gets the new navigation and light-blue shell. */
html:not(.shore-big-update-active) body.my-orders-page {
  padding-top: 0 !important;
  background: linear-gradient(180deg, #0b2638 0%, #0b1d2a 62%, #071522 100%) !important;
}
html:not(.shore-big-update-active) body.my-orders-page > .future-topbar,
html:not(.shore-big-update-active) body.my-orders-page > .account-area {
  display: none !important;
}
html:not(.shore-big-update-active) body.my-orders-page .orders-back { display: inline-block !important; }


/* V52 — mobile account avatar floats at bottom-right on the staged redesign. */
@media (max-width: 700px) {
  html[data-big-update-subpage="true"] .account-area,
  body.big-update-home .account-area {
    position: static !important;
  }
  html[data-big-update-subpage="true"] .account-info,
  body.big-update-home .account-info {
    position: fixed !important;
    right: 14px !important;
    bottom: max(14px, env(safe-area-inset-bottom)) !important;
    top: auto !important;
    left: auto !important;
    z-index: 120 !important;
  }
  html[data-big-update-subpage="true"] .account-profile-button,
  body.big-update-home .account-profile-button {
    width: 58px !important;
    height: 58px !important;
    min-width: 58px !important;
    padding: 5px !important;
    border-radius: 18px !important;
    display: grid !important;
    place-items: center !important;
    box-shadow: 0 8px 24px rgba(16, 70, 108, .25) !important;
  }
  html[data-big-update-subpage="true"] .account-profile-button #accountAvatar,
  body.big-update-home .account-profile-button #accountAvatar {
    width: 44px !important;
    height: 44px !important;
    margin: 0 !important;
    border-radius: 13px !important;
  }
  html[data-big-update-subpage="true"] .account-profile-button #accountUsername,
  html[data-big-update-subpage="true"] .account-profile-button #mobileAccountUsername,
  html[data-big-update-subpage="true"] .account-profile-button .account-arrow,
  body.big-update-home .account-profile-button #accountUsername,
  body.big-update-home .account-profile-button #mobileAccountUsername,
  body.big-update-home .account-profile-button .account-arrow {
    display: none !important;
  }
  html[data-big-update-subpage="true"] .account-dropdown,
  body.big-update-home .account-dropdown {
    position: absolute !important;
    right: 0 !important;
    bottom: 68px !important;
    top: auto !important;
    min-width: 220px !important;
  }
}


/* =========================================================
   V71 — HOMEPAGE FEATURED FAREX + DYNAMIC CATALOG
========================================================= */
.dynamic-catalog-updates {
  display: grid;
  gap: 18px;
  margin-bottom: 22px;
}

.dynamic-update-information {
  white-space: pre-wrap;
}

html.shore-big-update-active:not([data-big-update-subpage="true"]) .future-home-main {
  position: relative;
  min-height: 540px;
}

.future-featured-build-card {
  position: absolute;
  top: 40px;
  right: 0;
  width: min(390px, 34vw);
  overflow: hidden;
  border: 3px solid #276b98;
  border-radius: 14px;
  background: rgba(234,249,255,.94);
  box-shadow:
    0 14px 28px rgba(29,91,128,.18),
    0 5px 0 rgba(39,107,152,.16);
  cursor: pointer;
  transition: transform .16s ease, box-shadow .16s ease;
}

.future-featured-build-card:hover {
  transform: translateY(-3px);
  box-shadow:
    0 18px 34px rgba(29,91,128,.22),
    0 5px 0 rgba(39,107,152,.16);
}

.future-featured-build-card img {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 10;
  object-fit: cover;
  background: #ccefff;
}

.future-featured-build-info {
  padding: 13px 15px 16px;
}

.future-featured-build-info .build-category {
  color: #397a9d;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .08em;
}

.future-featured-build-info h2 {
  margin: 5px 0 0;
  color: #1769aa;
  font-family: "Minecraft Ten", sans-serif;
  font-size: 22px;
}

.future-featured-build-price {
  display: inline-block;
  margin-top: 7px;
  color: #245d7d;
  font-weight: 900;
}

@media (max-width: 980px) {
  html.shore-big-update-active:not([data-big-update-subpage="true"]) .future-home-main {
    min-height: auto;
  }

  .future-featured-build-card {
    position: relative;
    top: auto;
    right: auto;
    width: min(100%, 430px);
    margin-top: 34px;
  }
}


/* =========================================================
   V72 — MOST FEATURED FAREX CARD
   Matches the tall portrait card shown in the reference.
========================================================= */
.future-featured-build-card {
  position: absolute !important;
  top: 18px !important;
  right: 4.2vw !important;
  width: clamp(300px, 24vw, 455px) !important;
  min-height: 0 !important;
  border: 3px solid #159be0 !important;
  border-radius: 44px !important;
  overflow: hidden !important;
  background: #d8f2ff !important;
  box-shadow: none !important;
  cursor: pointer;
  padding: 0 !important;
}

.future-featured-build-card:hover {
  transform: translateY(-3px) scale(1.006) !important;
  box-shadow: 0 14px 30px rgba(16, 112, 165, .18) !important;
}

.future-featured-build-card > img {
  display: block !important;
  width: 100% !important;
  aspect-ratio: 0.72 / 1 !important;
  height: auto !important;
  object-fit: cover !important;
  object-position: center !important;
  border-radius: 40px 40px 0 0 !important;
  background: #b9e9fb;
}

.future-featured-build-info {
  padding: 8px 12px 14px !important;
  background: #d8f2ff !important;
}

.future-featured-build-info .build-category {
  margin: 0 !important;
  color: #1075ae !important;
  font-family: "Minecraft Ten", "Trebuchet MS", Arial, sans-serif !important;
  font-size: clamp(18px, 1.35vw, 28px) !important;
  font-weight: 900 !important;
  line-height: 1 !important;
}

.future-featured-build-info h2 {
  margin: 10px 0 0 !important;
  color: #15283a !important;
  font-family: "Minecraft Ten", "Trebuchet MS", Arial, sans-serif !important;
  font-size: clamp(24px, 2vw, 38px) !important;
  line-height: .95 !important;
}

.future-featured-build-price {
  display: none !important;
}

/* Special callout at the top of the normal build popup. */
.featured-build-popup-banner {
  margin: 0 42px 14px 0;
  padding: 11px 14px;
  border: 2px solid #2495cf;
  border-radius: 10px;
  background: #d9f4ff;
  color: #125d8d;
  font-family: "Minecraft Ten", "Trebuchet MS", Arial, sans-serif;
  font-size: 15px;
  font-weight: 900;
  text-align: center;
  letter-spacing: .01em;
}

.featured-build-popup-banner[hidden] {
  display: none !important;
}

@media (max-width: 980px) {
  .future-featured-build-card {
    position: relative !important;
    top: auto !important;
    right: auto !important;
    width: min(88vw, 410px) !important;
    margin: 34px auto 0 !important;
  }
}


/* V73 — Owner preview: featured Farex must never vanish with grid pagination. */
html.shore-big-update-active .future-featured-build-card {
  visibility: visible !important;
  opacity: 1 !important;
}


/* =========================================================
   V74 — FEATURED FAREX VISIBILITY / FIT
========================================================= */

/*
  The homepage preview is intentionally locked to one viewport.
  Size the IMAGE by viewport height instead of aspect-ratio so the
  STASH + FAREX STASH text always remains inside the visible homepage.
*/
.future-featured-build-card {
  display: block !important;
  height: auto !important;
  max-height: calc(100vh - 150px) !important;
}

.future-featured-build-card > img {
  width: 100% !important;
  height: clamp(350px, 54vh, 515px) !important;
  aspect-ratio: auto !important;
  object-fit: cover !important;
}

.future-featured-build-info,
.future-featured-build-card .build-info {
  display: block !important;
  position: relative !important;
  visibility: visible !important;
  opacity: 1 !important;
  min-height: 92px !important;
  padding: 9px 14px 16px !important;
  background: #d8f2ff !important;
  overflow: visible !important;
}

.future-featured-build-info .build-category {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  margin: 0 0 9px !important;
  color: #0874a8 !important;
  font-size: clamp(17px, 1.25vw, 25px) !important;
  line-height: 1 !important;
}

.future-featured-build-info h2 {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  margin: 0 !important;
  color: #142536 !important;
  font-size: clamp(25px, 1.9vw, 36px) !important;
  line-height: 1 !important;
}

/* Clear hover/focus feedback so the card feels clickable. */
.future-featured-build-card:focus-visible {
  outline: 4px solid rgba(21,157,224,.42) !important;
  outline-offset: 5px;
}

/* Featured popup callout must be visible whenever JS un-hides it. */
.featured-build-popup-banner:not([hidden]) {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  position: relative;
  z-index: 3;
}

@media (max-height: 760px) and (min-width: 981px) {
  .future-featured-build-card > img {
    height: 390px !important;
  }

  .future-featured-build-info,
  .future-featured-build-card .build-info {
    min-height: 82px !important;
  }
}


/* =========================================================
   V75 — FEATURED POPUP GUARANTEE
========================================================= */
#buildPopup.show {
  display: flex !important;
  visibility: visible !important;
  opacity: 1 !important;
  pointer-events: auto !important;
}

#buildPopup.show .popup-content {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
}

#featuredBuildPopupBanner:not([hidden]) {
  display: block !important;
  width: auto !important;
  margin: 0 44px 14px 0 !important;
  padding: 12px 14px !important;
  border: 2px solid #159be0 !important;
  border-radius: 10px !important;
  background: #d8f2ff !important;
  color: #0c6597 !important;
  font-family: "Minecraft Ten", "Trebuchet MS", Arial, sans-serif !important;
  font-size: 16px !important;
  font-weight: 900 !important;
  line-height: 1.15 !important;
  text-align: center !important;
  visibility: visible !important;
  opacity: 1 !important;
}


/* =========================================================
   V76 — OWNER-ONLY FEATURED FAREX + POPUP HARD FIX
========================================================= */

/* Special homepage build is hidden unless owner access explicitly reveals it. */
#featuredCustomBuildCard[hidden] {
  display: none !important;
}

html.shore-big-update-active #featuredCustomBuildCard:not([hidden]) {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  pointer-events: auto !important;
  cursor: pointer !important;
  z-index: 100 !important;
}

/* Make the ENTIRE featured card one click target. */
#featuredCustomBuildCard,
#featuredCustomBuildCard * {
  cursor: pointer !important;
}

#featuredCustomBuildCard img,
#featuredCustomBuildCard .future-featured-build-info,
#featuredCustomBuildCard .build-category,
#featuredCustomBuildCard h2 {
  pointer-events: none !important;
}

/* Popup is moved to <body> in Owner preview so it isn't trapped inside
   the hidden legacy .page element. */
body > #buildPopup.show {
  display: flex !important;
  position: fixed !important;
  inset: 0 !important;
  z-index: 30000 !important;
  visibility: visible !important;
  opacity: 1 !important;
  pointer-events: auto !important;
}

body > #buildPopup.show .popup-content {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  z-index: 30001 !important;
}

body > #buildPopup.show #featuredBuildPopupBanner:not([hidden]) {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  margin: 0 44px 14px 0 !important;
  padding: 12px 14px !important;
  border: 2px solid #159be0 !important;
  border-radius: 10px !important;
  background: #d8f2ff !important;
  color: #0b5f91 !important;
  font-family: "Minecraft Ten", "Trebuchet MS", Arial, sans-serif !important;
  font-size: 16px !important;
  font-weight: 900 !important;
  text-align: center !important;
}


/* =========================================================
   V77 — #1 REQUESTED BUILD BADGE
========================================================= */
#featuredCustomBuildCard {
  position: absolute !important;
}

.featured-requested-tag {
  position: absolute;
  top: 16px;
  left: 16px;
  z-index: 8;
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  padding: 7px 12px;
  border: 2px solid #0f78b3;
  border-radius: 999px;
  background: rgba(223, 247, 255, .96);
  color: #0a5f91;
  font-family: "Minecraft Ten", "Trebuchet MS", Arial, sans-serif;
  font-size: 13px;
  font-weight: 900;
  letter-spacing: .01em;
  line-height: 1;
  box-shadow: 0 5px 0 rgba(19, 105, 154, .14);
  pointer-events: none;
  user-select: none;
}

#featuredCustomBuildCard[hidden] .featured-requested-tag {
  display: none !important;
}

/* The old featured text belongs on the card now, never inside the popup. */
#featuredBuildPopupBanner {
  display: none !important;
}


/* =========================================================
   V78 — HOMEPAGE HERO STATS + ACTIONS + DISCORD POPUP
========================================================= */
.future-hero-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 20px 0 16px;
}

.future-hero-tags span {
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  padding: 7px 12px;
  border: 2px solid #1769aa;
  border-radius: 999px;
  background: rgba(224, 246, 255, .92);
  color: #125a89;
  font-family: "Minecraft Ten", sans-serif;
  font-size: 12px;
  font-weight: 900;
  box-shadow: 0 4px 0 rgba(23, 105, 170, .13);
}

.future-hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 8px;
}

.future-hero-button {
  min-height: 48px;
  padding: 0 20px;
  border: 3px solid #103f63;
  border-radius: 8px;
  font-family: "Minecraft Ten", sans-serif;
  font-size: 14px;
  font-weight: 900;
  text-decoration: none;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 6px 0 rgba(16, 63, 99, .18);
  transition: transform .14s ease, box-shadow .14s ease;
}

.future-hero-button:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 0 rgba(16, 63, 99, .18);
}

.future-discord-button {
  background: #fff7cb;
  color: #123d5d;
}

.future-browse-button {
  background: #1769aa;
  color: #fff;
}

.shore-discord-invite-popup {
  position: fixed;
  inset: 0;
  z-index: 40000;
  display: none;
  place-items: center;
  padding: 20px;
  background: rgba(6, 30, 45, .52);
  backdrop-filter: blur(7px);
}

.shore-discord-invite-popup.show {
  display: grid !important;
}

.shore-discord-invite-popup[hidden] {
  display: none !important;
}

.shore-discord-invite-card {
  position: relative;
  width: min(540px, 94vw);
  padding: 26px;
  border: 3px solid #1769aa;
  border-radius: 18px;
  background: #ddf5ff;
  color: #103f63;
  box-shadow: 0 18px 45px rgba(8, 52, 78, .26);
  font-family: "Minecraft Ten", sans-serif;
  text-align: center;
}

.shore-discord-invite-card h2 {
  margin: 8px 36px 12px;
  color: #1769aa;
  font-family: "Minecraft Ten", sans-serif;
  font-size: 26px;
}

.shore-discord-invite-card p {
  margin: 0;
  color: #356a89;
  line-height: 1.55;
  font-family: "Minecraft Ten", sans-serif;
  font-size: 12px;
}

.shore-discord-eyebrow {
  color: #347fa8;
  font-size: 10px;
  letter-spacing: .09em;
}

.shore-discord-invite-close {
  position: absolute;
  top: 12px;
  right: 12px;
  width: 34px;
  height: 34px;
  border: 2px solid #1769aa;
  border-radius: 8px;
  background: #f6fcff;
  color: #1769aa;
  font-family: "Minecraft Ten", sans-serif;
  font-size: 20px;
  cursor: pointer;
}

.shore-discord-invite-stats {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 8px;
  margin: 18px 0;
}

.shore-discord-invite-stats span {
  padding: 7px 10px;
  border: 2px solid rgba(23,105,170,.38);
  border-radius: 999px;
  background: #eefbff;
  color: #175c88;
  font-size: 10px;
}

.shore-discord-join-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 0 20px;
  border: 3px solid #103f63;
  border-radius: 8px;
  background: #5865f2;
  color: #fff;
  font-family: "Minecraft Ten", sans-serif;
  font-size: 14px;
  text-decoration: none;
  box-shadow: 0 5px 0 rgba(16,63,99,.18);
}

html.shore-discord-popup-open,
body.shore-discord-popup-open {
  overflow: hidden !important;
}

@media (max-width: 700px) {
  .future-hero-tags,
  .future-hero-actions {
    justify-content: center;
  }

  .future-hero-button {
    width: min(100%, 300px);
  }
}


/* =========================================================
   V79 — HOME NAV ACTIVE BOX
========================================================= */
.future-nav .active-home-nav,
.future-nav a.active-home-nav,
.future-nav button.active-home-nav {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 58px !important;
  padding: 0 22px !important;
  border-radius: 12px !important;
  background: rgba(255, 255, 255, .86) !important;
  color: #0e5c8e !important;
  box-shadow: none !important;
}


/* =========================================================
   V86 — FULL SCROLLABLE HOMEPAGE
========================================================= */

/* Previous staged homepage intentionally locked itself to one viewport.
   V86 turns it into a real landing page. */
html.shore-big-update-active:not([data-big-update-subpage="true"]),
html.shore-big-update-active:not([data-big-update-subpage="true"]) body {
  height: auto !important;
  min-height: 100% !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
}

html.shore-big-update-active:not([data-big-update-subpage="true"]) .future-homepage {
  height: auto !important;
  min-height: 100vh !important;
  overflow: visible !important;
}

html.shore-big-update-active:not([data-big-update-subpage="true"]) .future-home-main {
  position: relative !important;
  width: min(1240px, calc(100% - 54px)) !important;
  height: auto !important;
  min-height: 720px !important;
  padding-top: clamp(42px, 8vh, 92px) !important;
  padding-bottom: 0 !important;
  overflow: visible !important;
}

/* Hero remains the first-screen experience. */
html.shore-big-update-active:not([data-big-update-subpage="true"]) .future-hero {
  min-height: 620px;
}

/* Existing Farex feature card stays in the hero, not in the scrolling grid. */
html.shore-big-update-active:not([data-big-update-subpage="true"]) #featuredCustomBuildCard {
  top: 38px !important;
}

/* All new sections begin after the hero/Farex area. */
.shore-home-scroll-content {
  position: relative;
  z-index: 2;
  width: 100%;
  margin-top: 14px;
  padding-bottom: 36px;
}

.shore-home-section {
  margin: 0 0 86px;
}

.shore-home-section-heading {
  max-width: 720px;
  margin-bottom: 24px;
}

.shore-home-section-heading > span,
.shore-home-feature-card > span,
.shore-home-community-card > div > span,
.shore-home-trust-copy > span {
  display: block;
  margin-bottom: 8px;
  color: #3486b3;
  font-family: "Minecraft Ten", Arial, sans-serif;
  font-size: 10px;
  letter-spacing: .09em;
}

.shore-home-section-heading h2,
.shore-home-community-card h2,
.shore-home-trust-copy h2 {
  margin: 0 0 10px;
  color: #155f91;
  font-family: "Minecraft Ten", Arial, sans-serif;
  font-size: clamp(27px, 4vw, 44px);
  line-height: 1.06;
}

.shore-home-section-heading p,
.shore-home-community-card p,
.shore-home-trust-copy p {
  margin: 0;
  color: #47738b;
  font-family: Arial, sans-serif;
  font-size: 15px;
  line-height: 1.6;
}

.shore-home-heading-center {
  max-width: 760px;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}

/* QUICK ACCESS */
.shore-home-quick-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}

.shore-home-quick-card {
  position: relative;
  display: flex;
  flex-direction: column;
  min-height: 210px;
  padding: 20px;
  overflow: hidden;
  border: 2px solid rgba(39, 107, 152, .28);
  border-radius: 16px;
  background: rgba(239, 250, 255, .86);
  color: #153f59;
  text-decoration: none;
  box-shadow: 0 9px 22px rgba(39, 107, 152, .08);
  transition: transform .16s ease, border-color .16s ease, box-shadow .16s ease;
}

.shore-home-quick-card:hover {
  transform: translateY(-4px);
  border-color: #42a8d9;
  box-shadow: 0 15px 28px rgba(39, 107, 152, .14);
}

.shore-home-card-kicker {
  color: #4d93b7;
  font-size: 9px;
  letter-spacing: .08em;
}

.shore-home-quick-card strong {
  margin-top: 13px;
  color: #1769aa;
  font-size: 19px;
  line-height: 1.12;
}

.shore-home-quick-card p {
  margin: 10px 0 18px;
  color: #55798c;
  font-family: Arial, sans-serif;
  font-size: 13px;
  line-height: 1.5;
}

.shore-home-quick-card em {
  margin-top: auto;
  color: #1769aa;
  font-style: normal;
  font-size: 10px;
}

/* PROCESS */
.shore-home-process-section {
  padding: 58px 28px;
  border: 2px solid rgba(39, 107, 152, .18);
  border-radius: 24px;
  background:
    linear-gradient(145deg, rgba(255,255,255,.56), rgba(222,246,255,.72));
}

.shore-home-process-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  margin-top: 30px;
}

.shore-home-process-card {
  min-height: 250px;
  padding: 22px;
  border: 2px solid rgba(42, 121, 166, .23);
  border-radius: 16px;
  background: rgba(255,255,255,.76);
}

.shore-home-process-card b {
  display: inline-grid;
  place-items: center;
  width: 43px;
  height: 43px;
  margin-bottom: 19px;
  border: 2px solid #4fa8d3;
  border-radius: 10px;
  color: #1769aa;
  background: #e6f8ff;
  font-size: 14px;
}

.shore-home-process-card strong {
  display: block;
  color: #1b638f;
  font-size: 16px;
}

.shore-home-process-card p {
  min-height: 73px;
  margin: 10px 0 18px;
  color: #537486;
  font-family: Arial, sans-serif;
  font-size: 13px;
  line-height: 1.55;
}

.shore-home-process-card a {
  color: #1769aa;
  font-size: 9px;
  text-decoration: none;
}

/* FEATURE CARDS */
.shore-home-feature-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 16px;
}

.shore-home-feature-card {
  display: flex;
  flex-direction: column;
  min-height: 230px;
  padding: 24px;
  border: 2px solid rgba(38, 111, 153, .24);
  border-radius: 18px;
  background: rgba(235, 249, 255, .82);
  box-shadow: 0 10px 24px rgba(31, 93, 129, .08);
}

.shore-home-feature-wide {
  grid-column: 1 / -1;
  min-height: 250px;
  justify-content: space-between;
  background:
    radial-gradient(circle at 80% 20%, rgba(91,195,235,.18), transparent 35%),
    rgba(236,250,255,.92);
}

.shore-home-feature-card h3 {
  margin: 4px 0 10px;
  color: #175f8c;
  font-size: 20px;
  line-height: 1.15;
}

.shore-home-feature-card p {
  max-width: 720px;
  margin: 0 0 22px;
  color: #55798c;
  font-family: Arial, sans-serif;
  font-size: 13px;
  line-height: 1.55;
}

.shore-home-feature-card a {
  align-self: flex-start;
  margin-top: auto;
  padding: 10px 12px;
  border: 2px solid #377fa8;
  border-radius: 8px;
  background: #f6fcff;
  color: #1769aa;
  font-size: 9px;
  text-decoration: none;
}

/* TRUST/STATS */
.shore-home-trust-panel {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr);
  gap: 30px;
  align-items: center;
  padding: 34px;
  border: 3px solid #2675a4;
  border-radius: 22px;
  background: #dff5ff;
  box-shadow: 0 11px 0 rgba(39,107,152,.10);
}

.shore-home-stat-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 11px;
}

.shore-home-stat-grid div {
  min-height: 110px;
  padding: 17px;
  border: 2px solid rgba(38,117,164,.22);
  border-radius: 13px;
  background: rgba(255,255,255,.66);
}

.shore-home-stat-grid strong {
  display: block;
  color: #1769aa;
  font-size: 25px;
}

.shore-home-stat-grid span {
  display: block;
  margin-top: 7px;
  color: #5b7d8f;
  font-family: Arial, sans-serif;
  font-size: 11px;
}

/* UPDATES */
.shore-home-updates-heading {
  display: flex;
  justify-content: space-between;
  gap: 24px;
  max-width: none;
  align-items: end;
}

.shore-home-updates-heading > div {
  max-width: 720px;
}

.shore-home-updates-heading > a {
  flex: 0 0 auto;
  color: #1769aa;
  font-size: 10px;
  text-decoration: none;
}

.shore-home-update-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 15px;
}

.shore-home-update-card {
  min-height: 205px;
  padding: 20px;
  border: 2px solid rgba(44, 118, 160, .22);
  border-radius: 16px;
  background: rgba(248,253,255,.78);
}

.shore-home-update-card > span {
  color: #3b8db7;
  font-size: 8px;
  letter-spacing: .08em;
}

.shore-home-update-card > strong {
  display: block;
  margin: 12px 0 10px;
  color: #1769aa;
  font-size: 15px;
  line-height: 1.25;
}

.shore-home-update-card p {
  margin: 0;
  color: #56798b;
  font-family: Arial, sans-serif;
  font-size: 12px;
  line-height: 1.55;
}

.shore-home-update-card time {
  display: block;
  margin-top: 18px;
  color: #7898a8;
  font-family: Arial, sans-serif;
  font-size: 10px;
}

.shore-home-update-card a {
  display: inline-block;
  margin-top: 18px;
  color: #1769aa;
  font-size: 9px;
  text-decoration: none;
}

/* COMMUNITY CTA */
.shore-home-community-card {
  display: flex;
  justify-content: space-between;
  gap: 25px;
  align-items: center;
  padding: 34px;
  border: 3px solid #2b739e;
  border-radius: 22px;
  background:
    radial-gradient(circle at 92% 22%, rgba(255,255,255,.56), transparent 28%),
    #bfeaff;
}

.shore-home-community-card > div:first-child {
  max-width: 700px;
}

.shore-home-community-actions {
  display: flex;
  flex-direction: column;
  gap: 10px;
  min-width: 210px;
}

.shore-home-community-actions button,
.shore-home-community-actions a {
  min-height: 46px;
  padding: 0 16px;
  border: 3px solid #163f5c;
  border-radius: 9px;
  font-family: "Minecraft Ten", Arial, sans-serif;
  font-size: 10px;
  text-align: center;
  text-decoration: none;
  cursor: pointer;
}

.shore-home-community-actions button {
  background: #5865f2;
  color: #fff;
}

.shore-home-community-actions a {
  display: grid;
  place-items: center;
  background: #fff9d5;
  color: #153f59;
}

/* FOOTER */
.shore-home-footer {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 24px;
  align-items: center;
  padding: 28px 0 10px;
  border-top: 2px solid rgba(39,107,152,.18);
}

.shore-home-footer > a {
  color: #1769aa;
  font-size: 13px;
  text-decoration: none;
}

.shore-home-footer > div {
  display: flex;
  justify-content: center;
  gap: 18px;
  flex-wrap: wrap;
}

.shore-home-footer > div a,
.shore-home-footer > span {
  color: #638599;
  font-size: 8px;
  text-decoration: none;
}

/* Keep the existing account dropdown and popup layers above the long page. */
.future-topbar {
  position: sticky !important;
  top: 0;
  z-index: 5000 !important;
}

/* Responsive */
@media (max-width: 1000px) {
  html.shore-big-update-active:not([data-big-update-subpage="true"]) .future-hero {
    min-height: 530px;
    max-width: 58%;
  }

  .shore-home-quick-grid {
    grid-template-columns: 1fr 1fr;
  }

  .shore-home-process-grid {
    grid-template-columns: 1fr;
  }

  .shore-home-process-card {
    min-height: 0;
  }

  .shore-home-process-card p {
    min-height: 0;
  }

  .shore-home-update-grid {
    grid-template-columns: 1fr;
  }

  .shore-home-trust-panel {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 760px) {
  html.shore-big-update-active:not([data-big-update-subpage="true"]) .future-home-main {
    width: min(100% - 28px, 1240px) !important;
    padding-top: 34px !important;
  }

  html.shore-big-update-active:not([data-big-update-subpage="true"]) .future-hero {
    max-width: none;
    min-height: 520px;
    text-align: center;
  }

  html.shore-big-update-active:not([data-big-update-subpage="true"]) #featuredCustomBuildCard {
    position: relative !important;
    top: auto !important;
    right: auto !important;
    width: min(100%, 390px) !important;
    margin: -40px auto 72px;
  }

  .shore-home-scroll-content {
    margin-top: 0;
  }

  .shore-home-section {
    margin-bottom: 62px;
  }

  .shore-home-quick-grid,
  .shore-home-feature-grid,
  .shore-home-stat-grid {
    grid-template-columns: 1fr;
  }

  .shore-home-feature-wide {
    grid-column: auto;
  }

  .shore-home-process-section {
    padding: 34px 17px;
  }

  .shore-home-trust-panel,
  .shore-home-community-card {
    padding: 24px 18px;
  }

  .shore-home-community-card {
    flex-direction: column;
    align-items: stretch;
  }

  .shore-home-community-actions {
    min-width: 0;
  }

  .shore-home-updates-heading {
    display: block;
  }

  .shore-home-updates-heading > a {
    display: inline-block;
    margin-top: 15px;
  }

  .shore-home-footer {
    grid-template-columns: 1fr;
    text-align: center;
  }
}



/* =========================================================
   V87 — STRONGER SCROLLING + DARKER HOMEPAGE DEPTH
========================================================= */

/* Make sure NO homepage wrapper traps vertical scrolling. */
html.shore-big-update-active:not([data-big-update-subpage="true"]),
html.shore-big-update-active:not([data-big-update-subpage="true"]) body,
html.shore-big-update-active:not([data-big-update-subpage="true"]) .future-homepage,
html.shore-big-update-active:not([data-big-update-subpage="true"]) .future-home-main,
html.shore-big-update-active:not([data-big-update-subpage="true"]) .shore-home-scroll-content {
  overflow-x: hidden !important;
  overflow-y: visible !important;
  height: auto !important;
  max-height: none !important;
}

html.shore-big-update-active:not([data-big-update-subpage="true"]) body {
  min-height: 100vh !important;
  overflow-y: auto !important;
  scroll-behavior: smooth;
  background:
    linear-gradient(
      180deg,
      rgb(var(--shore-home-r1, 196) var(--shore-home-g1, 236) var(--shore-home-b1, 255)) 0%,
      rgb(var(--shore-home-r2, 173) var(--shore-home-g2, 224) var(--shore-home-b2, 250)) 48%,
      rgb(var(--shore-home-r3, 135) var(--shore-home-g3, 202) var(--shore-home-b3, 239)) 100%
    ) fixed !important;
  transition: background .18s linear;
}

/* Let the staged homepage inherit the changing page background. */
html.shore-big-update-active:not([data-big-update-subpage="true"]) .future-homepage,
html.shore-big-update-active:not([data-big-update-subpage="true"]) .future-home-main {
  background: transparent !important;
}

/* Subtle depth overlay that gets stronger farther down the page. */
html.shore-big-update-active:not([data-big-update-subpage="true"]) body::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background:
    radial-gradient(circle at 10% 8%, rgba(255,255,255,.42), transparent 28%),
    radial-gradient(circle at 88% 36%, rgba(29,119,171,.14), transparent 30%),
    linear-gradient(
      180deg,
      rgba(255,255,255,.16),
      rgba(18,96,145,var(--shore-home-depth, .05))
    );
}

/* Stronger outlines across homepage content. */
.shore-home-quick-card,
.shore-home-process-card,
.shore-home-feature-card,
.shore-home-update-card,
.shore-home-stat-grid div,
.shore-home-process-section,
.shore-home-trust-panel,
.shore-home-community-card {
  border-color: #1b5f8c !important;
}

.shore-home-quick-card,
.shore-home-process-card,
.shore-home-feature-card,
.shore-home-update-card {
  box-shadow:
    0 0 0 1px rgba(10, 62, 95, .12),
    0 10px 24px rgba(18, 74, 108, .12) !important;
}

.shore-home-quick-card:hover,
.shore-home-feature-card:hover,
.shore-home-update-card:hover {
  border-color: #0f4f79 !important;
  box-shadow:
    0 0 0 2px rgba(12, 73, 109, .10),
    0 14px 30px rgba(18, 74, 108, .17) !important;
}

/* Slightly richer section backgrounds as the page progresses. */
.shore-home-quick-section {
  padding: 26px;
  border: 2px solid rgba(19, 85, 125, .40);
  border-radius: 20px;
  background: rgba(234, 248, 255, .64);
}

.shore-home-process-section {
  background:
    linear-gradient(
      145deg,
      rgba(242, 251, 255, .90),
      rgba(205, 236, 250, .82)
    ) !important;
}

.shore-home-feature-section {
  padding: 28px;
  border: 2px solid rgba(19, 85, 125, .38);
  border-radius: 22px;
  background:
    linear-gradient(
      155deg,
      rgba(219, 244, 255, .78),
      rgba(192, 229, 247, .72)
    );
}

.shore-home-trust-panel {
  background:
    linear-gradient(
      145deg,
      #c7ecff,
      #a9daf4
    ) !important;
  border-width: 3px !important;
}

.shore-home-updates-section {
  padding: 28px;
  border: 2px solid rgba(19, 85, 125, .40);
  border-radius: 22px;
  background:
    linear-gradient(
      150deg,
      rgba(196, 232, 249, .82),
      rgba(168, 216, 241, .78)
    );
}

.shore-home-community-card {
  background:
    radial-gradient(circle at 88% 18%, rgba(255,255,255,.36), transparent 30%),
    linear-gradient(145deg, #a7ddf7, #88caec) !important;
  border-width: 3px !important;
}

.shore-home-footer {
  border-top-color: rgba(12, 67, 102, .50) !important;
}

/* Slightly darker text hierarchy for better contrast. */
.shore-home-section-heading h2,
.shore-home-feature-card h3,
.shore-home-community-card h2,
.shore-home-trust-copy h2,
.shore-home-quick-card strong,
.shore-home-process-card strong {
  color: #0e507d !important;
}

.shore-home-section-heading p,
.shore-home-community-card p,
.shore-home-trust-copy p,
.shore-home-feature-card p,
.shore-home-process-card p,
.shore-home-quick-card p,
.shore-home-update-card p {
  color: #345f78 !important;
}

/* Keep header usable while scrolling up/down. */
.future-topbar {
  position: sticky !important;
  top: 0 !important;
  z-index: 7000 !important;
  backdrop-filter: blur(10px);
  background: rgba(190, 234, 255, .90) !important;
  border-bottom: 2px solid #185a84 !important;
}

/* Mobile safety: the long page must always remain scrollable. */
@media (max-width: 760px) {
  html.shore-big-update-active:not([data-big-update-subpage="true"]),
  html.shore-big-update-active:not([data-big-update-subpage="true"]) body {
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch;
  }

  .shore-home-quick-section,
  .shore-home-feature-section,
  .shore-home-updates-section {
    padding: 18px;
  }
}


/* =========================================================
   V88 — OWNER PREVIEW INTERNAL SCROLLER
========================================================= */

/*
  Keep the staged update completely hidden unless the existing Owner gate
  adds .shore-big-update-active. Normal visitors continue using the legacy
  homepage and cannot see the staged update.
*/
#futureHomepage,
.future-homepage {
  display: none !important;
}

/* Use normal document scrolling. The former fixed 100dvh inner scroller could
   initialize at the wrong height until a resize/fullscreen event forced layout. */
html.shore-big-update-active:not([data-big-update-subpage="true"]) body > #futureHomepage {
  display: block !important;
  position: relative !important;
  z-index: 1000 !important;

  width: 100% !important;
  height: auto !important;
  min-height: 100dvh !important;
  max-height: none !important;

  overflow: visible !important;

  scrollbar-gutter: stable;
  background:
    linear-gradient(
      180deg,
      rgb(var(--shore-home-r1, 202) var(--shore-home-g1, 239) var(--shore-home-b1, 255)) 0%,
      rgb(var(--shore-home-r2, 181) var(--shore-home-g2, 228) var(--shore-home-b2, 250)) 48%,
      rgb(var(--shore-home-r3, 153) var(--shore-home-g3, 213) var(--shore-home-b3, 242)) 100%
    ) !important;
}

/* The released homepage participates in the normal document flow. */
html.shore-big-update-active:not([data-big-update-subpage="true"]),
html.shore-big-update-active:not([data-big-update-subpage="true"]) body {
  width: 100% !important;
  height: auto !important;
  min-height: 100% !important;
  max-height: none !important;
  overflow-x: clip !important;
  overflow-y: auto !important;
}

/* Nothing inside the update can impose an old viewport-height cap. */
html.shore-big-update-active:not([data-big-update-subpage="true"]) #futureHomepage .future-home-main,
html.shore-big-update-active:not([data-big-update-subpage="true"]) #futureHomepage .shore-home-scroll-content {
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  overflow: visible !important;
}

/* Keep the navigation at the top while the update itself scrolls. */
html.shore-big-update-active:not([data-big-update-subpage="true"]) #futureHomepage .future-topbar {
  position: sticky !important;
  top: 0 !important;
  z-index: 8000 !important;
}

/* Ensure the bottom of the update always has enough room to scroll past. */
html.shore-big-update-active:not([data-big-update-subpage="true"]) #futureHomepage .shore-home-footer {
  margin-bottom: 60px !important;
}

/* Mobile keeps native document scrolling and safe bottom room. */
@media (max-width: 760px) {
  html.shore-big-update-active:not([data-big-update-subpage="true"]) body > #futureHomepage {
    height: auto !important;
    min-height: 100dvh !important;
    max-height: none !important;
    overflow: visible !important;
    touch-action: pan-y !important;
  }

  html.shore-big-update-active:not([data-big-update-subpage="true"]) #futureHomepage .future-topbar {
    position: sticky !important;
    top: 0 !important;
  }

  html.shore-big-update-active:not([data-big-update-subpage="true"]) #futureHomepage .shore-home-scroll-content {
    padding-bottom: 90px !important;
  }
}



/* =========================================================
   V89 — PUBLIC RELEASE GATE
========================================================= */

/*
  Before the scheduled release this stays hidden for normal visitors.
  After Supabase marks the target release as `released`, the JS adds
  shore-big-update-active + data-shorebuild-public-release and this exact
  staged UI becomes the public homepage.
*/
html[data-shorebuild-public-release="true"] body > #futureHomepage {
  display: block !important;
}

/* Preserve full internal scrolling after the UI becomes public. */
html[data-shorebuild-public-release="true"] body > #futureHomepage {
  overflow: visible !important;
  touch-action: pan-y;
}

@media (max-width: 760px) {
  html[data-shorebuild-public-release="true"] body > #futureHomepage {
    height: auto !important;
    min-height: 100dvh !important;
    max-height: none !important;
  }
}


/* =========================================================
   V90 — FAREX PUBLIC AFTER RELEASE
========================================================= */
html[data-shorebuild-public-release="true"]
#featuredCustomBuildCard:not([hidden]) {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  pointer-events: auto !important;
}


/* =========================================================
   V91 — RETIRED LEGACY HOMEPAGE
========================================================= */

/*
  Public launch has completed.
  Keep legacy homepage markup inaccessible only as an internal data source
  for existing build-popup code. It must never paint to the screen.
*/
html[data-shorebuild-public-release="true"]:not([data-big-update-subpage="true"]) body > .page,
html.shore-big-update-active:not([data-big-update-subpage="true"]) body > .page {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
  position: absolute !important;
  width: 0 !important;
  height: 0 !important;
  overflow: hidden !important;
}

/* Subpages like /builds use .page for their REAL content.
   Never hide or collapse that content after public release. */
html[data-big-update-subpage="true"].shore-big-update-active body.big-update-subpage > .page,
html[data-big-update-subpage="true"][data-shorebuild-public-release="true"] body.big-update-subpage > .page {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  pointer-events: auto !important;
  position: static !important;
  width: auto !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  overflow: visible !important;
}

/* Released homepage is the ONLY homepage UI. */
html[data-shorebuild-public-release="true"] body > #futureHomepage {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
}


/* =========================================================
   V92 — DISCORD AUTH + DISCORD POPUPS ON RELEASED UI
========================================================= */

/* Account/auth control is part of the new top navigation. */
html[data-shorebuild-public-release="true"] .account-area,
html.shore-big-update-active .account-area {
  display: block !important;
  position: fixed !important;
  top: 14px !important;
  right: 24px !important;
  bottom: auto !important;
  z-index: 12000 !important;
  width: 220px !important;
  margin: 0 !important;
  pointer-events: auto !important;
}

html[data-shorebuild-public-release="true"] .discord-login-button,
html[data-shorebuild-public-release="true"] .account-profile-button,
html.shore-big-update-active .discord-login-button,
html.shore-big-update-active .account-profile-button {
  width: 100% !important;
  min-height: 48px !important;
  border: 2px solid #184f76 !important;
  border-radius: 10px !important;
  box-shadow: 0 5px 0 rgba(15, 63, 93, .16) !important;
  font-family: "Minecraft Ten", Arial, sans-serif !important;
}

html[data-shorebuild-public-release="true"] .discord-login-button,
html.shore-big-update-active .discord-login-button {
  background: #5865f2 !important;
  color: #fff !important;
}

html[data-shorebuild-public-release="true"] .account-profile-button,
html.shore-big-update-active .account-profile-button {
  background: #164f76 !important;
  color: #fff !important;
}

html[data-shorebuild-public-release="true"] .account-dropdown,
html.shore-big-update-active .account-dropdown {
  top: calc(100% + 10px) !important;
  right: 0 !important;
  bottom: auto !important;
  z-index: 12500 !important;
  transform-origin: top right !important;
}

/* Login popup is global now, not trapped in retired .page. */
.discord-login-popup {
  position: fixed !important;
  inset: 0 !important;
  z-index: 30000 !important;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 20px;
  background: rgba(10, 37, 58, .46) !important;
  backdrop-filter: blur(8px);
}

.discord-login-popup.show {
  display: flex !important;
}

.discord-login-popup-content {
  position: relative;
  width: min(430px, calc(100vw - 32px)) !important;
  padding: 30px 28px 26px !important;
  border: 3px solid #185a84 !important;
  border-radius: 18px !important;
  background:
    linear-gradient(145deg, #eaf9ff, #c9ecff) !important;
  box-shadow:
    0 0 0 1px rgba(11, 67, 101, .14),
    0 22px 50px rgba(13, 54, 80, .26) !important;
  color: #164f76 !important;
  text-align: center;
}

.discord-login-popup-content h2 {
  margin: 0 0 10px !important;
  color: #125987 !important;
  font-family: "Minecraft Ten", Arial, sans-serif !important;
  font-size: 28px !important;
}

.discord-login-popup-content p {
  margin: 0 0 22px !important;
  color: #446f88 !important;
  font-family: Arial, sans-serif !important;
  line-height: 1.5;
}

.discord-login-popup-close {
  position: absolute;
  top: 11px;
  right: 12px;
  width: 36px;
  height: 36px;
  border: 2px solid #185a84 !important;
  border-radius: 9px !important;
  background: #f7fdff !important;
  color: #185a84 !important;
  font-size: 23px !important;
  cursor: pointer;
}

.discord-popup-login-button {
  width: 100% !important;
  min-height: 50px !important;
  border: 3px solid #283896 !important;
  border-radius: 10px !important;
  background: #5865f2 !important;
  color: #fff !important;
  font-family: "Minecraft Ten", Arial, sans-serif !important;
  cursor: pointer;
  box-shadow: 0 5px 0 rgba(36, 48, 126, .22);
}

/* Join Discord popup on the released UI. */
.shore-discord-invite-popup {
  position: fixed !important;
  inset: 0 !important;
  z-index: 30000 !important;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 20px;
  background: rgba(10, 37, 58, .46) !important;
  backdrop-filter: blur(8px);
}

.shore-discord-invite-popup.show {
  display: flex !important;
}

.shore-discord-invite-card {
  position: relative;
  width: min(520px, calc(100vw - 32px)) !important;
  padding: 31px 28px 27px !important;
  border: 3px solid #185a84 !important;
  border-radius: 19px !important;
  background:
    radial-gradient(circle at 90% 12%, rgba(255,255,255,.65), transparent 28%),
    linear-gradient(145deg, #e9f9ff, #bfe8fb) !important;
  box-shadow:
    0 0 0 1px rgba(11,67,101,.13),
    0 23px 54px rgba(13,54,80,.28) !important;
}

.shore-discord-invite-card h2 {
  color: #125987 !important;
  font-family: "Minecraft Ten", Arial, sans-serif !important;
}

.shore-discord-invite-card p {
  color: #416e86 !important;
  font-family: Arial, sans-serif !important;
  line-height: 1.55;
}

.shore-discord-invite-stats {
  display: flex !important;
  flex-wrap: wrap;
  gap: 8px;
  margin: 17px 0 20px;
}

.shore-discord-invite-stats span {
  padding: 8px 10px;
  border: 2px solid #367ba5;
  border-radius: 8px;
  background: rgba(255,255,255,.68);
  color: #175b85;
  font-size: 9px;
}

.shore-discord-join-link {
  display: grid !important;
  place-items: center;
  min-height: 50px;
  border: 3px solid #283896 !important;
  border-radius: 10px !important;
  background: #5865f2 !important;
  color: #fff !important;
  font-family: "Minecraft Ten", Arial, sans-serif !important;
  text-decoration: none !important;
}

.shore-discord-invite-close {
  position: absolute;
  top: 11px;
  right: 12px;
  width: 36px;
  height: 36px;
  border: 2px solid #185a84 !important;
  border-radius: 9px !important;
  background: #f7fdff !important;
  color: #185a84 !important;
  font-size: 23px !important;
  cursor: pointer;
}

@media (max-width: 760px) {
  html[data-shorebuild-public-release="true"] .account-area,
  html.shore-big-update-active .account-area {
    top: 10px !important;
    right: 10px !important;
    width: 160px !important;
  }

  html[data-shorebuild-public-release="true"] .discord-login-button,
  html[data-shorebuild-public-release="true"] .account-profile-button,
  html.shore-big-update-active .discord-login-button,
  html.shore-big-update-active .account-profile-button {
    min-height: 42px !important;
    font-size: 9px !important;
  }

  .discord-login-popup,
  .shore-discord-invite-popup {
    padding: 14px !important;
  }

  .discord-login-popup-content,
  .shore-discord-invite-card {
    width: 100% !important;
    max-height: calc(100svh - 28px);
    overflow-y: auto;
  }
}


/* =========================================================
   V93 — BUILDS SUBPAGE CONTENT RESTORE
========================================================= */
html[data-big-update-subpage="true"] body.builds-page > .page {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  pointer-events: auto !important;
  position: static !important;
  width: auto !important;
  height: auto !important;
  max-height: none !important;
  overflow: visible !important;
}

html[data-big-update-subpage="true"] body.builds-page .builds {
  display: grid !important;
  visibility: visible !important;
  opacity: 1 !important;
}

html[data-big-update-subpage="true"] body.builds-page .categories {
  visibility: visible !important;
  opacity: 1 !important;
}

html[data-big-update-subpage="true"] body.builds-page .pagination {
  display: flex !important;
  visibility: visible !important;
  opacity: 1 !important;
}


/* V151 homepage Custom Builds feature card */
#featuredCustomBuildCard.future-custom-build-card{display:block!important;visibility:visible!important;opacity:1!important;pointer-events:auto!important}
#featuredCustomBuildCard .featured-custom-build-copy{margin:9px 0 0;color:#456f86;font:700 clamp(12px,1vw,15px)/1.35 Arial,sans-serif}
#featuredCustomBuildCard .featured-build-bottom strong{font-size:clamp(13px,1.15vw,18px)}
#featuredCustomBuildCard .featured-view-build{white-space:nowrap}


/* ---- /release-scheduler.css?v=124-free-active-role ---- */

#shoreReleaseCountdown {
  position: fixed;
  left: 50%;
  bottom: 18px;
  z-index: 9000;
  transform: translateX(-50%);
  width: min(680px, calc(100vw - 24px));
  padding: 11px 16px;
  border: 1px solid rgba(54,151,211,.38);
  border-radius: 13px;
  background: rgba(232,247,255,.96);
  color: #0f527f;
  box-shadow: 0 10px 26px rgba(25,92,135,.18);
  text-align: center;
  font: 800 13px "Trebuchet MS", Arial, sans-serif;
  backdrop-filter: blur(10px);
}

#shoreReleaseCountdown strong {
  color: #1769aa;
}

#shoreReleaseMaintenance {
  position: fixed;
  inset: 0;
  z-index: 20000;
  display: grid;
  place-items: center;
  padding: 20px;
  background: linear-gradient(180deg, #bfeaff 0%, #93d7f6 100%);
}

#shoreReleaseMaintenance[hidden] {
  display: none !important;
}

.shore-release-maintenance-card {
  width: min(620px, 100%);
  padding: 30px;
  border: 1px solid rgba(23,105,170,.28);
  border-radius: 20px;
  background: rgba(240,251,255,.95);
  color: #104d7d;
  text-align: center;
  box-shadow: 0 18px 45px rgba(24,94,138,.2);
}

.shore-release-maintenance-card h2 {
  margin: 8px 0 12px;
  color: #1769aa;
  font-family: "Minecraft Ten", "Trebuchet MS", Arial, sans-serif;
}

.shore-release-maintenance-card p {
  margin: 0;
  line-height: 1.55;
}

.shore-release-maintenance-count {
  display: inline-block;
  margin-top: 16px;
  color: #1769aa;
  font-size: 22px;
  font-weight: 900;
}


/* V70 — countdown is display-only and must never block page controls */
#shoreReleaseCountdown {
  pointer-events: none !important;
  user-select: none;
}

#shoreReleaseMaintenance {
  pointer-events: auto;
}


/* =========================================================
   V88 — COUNTDOWN RELIABILITY / MOBILE
========================================================= */
#shoreReleaseCountdown {
  z-index: 50000 !important;
  max-width: calc(100vw - 24px);
  border: 2px solid #245f88 !important;
  background: rgba(238, 249, 255, .98) !important;
  box-shadow:
    0 0 0 1px rgba(13,72,106,.10),
    0 10px 28px rgba(18,74,108,.22) !important;
  font-family: "Minecraft Ten", "Trebuchet MS", Arial, sans-serif !important;
}

#shoreReleaseCountdown span {
  font-family: Arial, sans-serif;
  font-weight: 800;
}

#shoreReleaseCountdown[hidden] {
  display: none !important;
}

@media (max-width: 760px) {
  #shoreReleaseCountdown {
    left: 12px !important;
    right: 12px !important;
    bottom: max(12px, env(safe-area-inset-bottom)) !important;
    transform: none !important;
    width: auto !important;
    padding: 10px 12px !important;
    border-radius: 11px !important;
    font-size: 10px !important;
    line-height: 1.45 !important;
  }

  #shoreReleaseCountdown strong,
  #shoreReleaseCountdown span {
    display: block;
  }
}



/* V124 — 15-second Free Active role claim */
.shore-release-free-role {
  width: min(390px, 100%);
  margin: 18px auto 0;
  padding-top: 16px;
  border-top: 1px solid rgba(23, 105, 170, .18);
}

#shoreReleaseFreeRole {
  min-width: 170px;
  min-height: 48px;
  padding: 12px 22px;
  border: 2px solid #155f96;
  border-radius: 12px;
  background: #1769aa;
  color: #fff;
  box-shadow: 0 5px 0 #0d4d7c;
  cursor: pointer;
  font: 800 15px "Minecraft Ten", "Trebuchet MS", Arial, sans-serif;
  transition: transform .14s ease, box-shadow .14s ease, background .14s ease;
}

#shoreReleaseFreeRole:hover:not(:disabled),
#shoreReleaseFreeRole:focus-visible:not(:disabled) {
  transform: translateY(-2px) scale(1.025);
  background: #0f78c8;
  box-shadow: 0 7px 0 #0d4d7c;
}

#shoreReleaseFreeRole:active:not(:disabled) {
  transform: translateY(3px);
  box-shadow: 0 2px 0 #0d4d7c;
}

#shoreReleaseFreeRole:disabled { opacity: .72; cursor: default; }
#shoreReleaseFreeRole.is-claimed {
  border-color: #238052;
  background: #2c9b64;
  box-shadow: 0 5px 0 #17633f;
  opacity: 1;
}

#shoreReleaseFreeRoleStatus {
  display: block;
  margin-top: 12px;
  color: #346a8f;
  font: 700 12px/1.45 Arial, sans-serif;
}

@media (max-width: 600px) {
  .shore-release-maintenance-card { padding: 24px 18px; }
  #shoreReleaseFreeRole { width: 100%; min-height: 50px; }
}


/* ---- /order-notifications.css?v=81-unread-preview ---- */

.shore-orders-notification-host {
  position: relative !important;
}

.shore-orders-alert-badge {
  position: absolute;
  top: -7px;
  right: -9px;
  z-index: 50;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 19px;
  height: 19px;
  border: 2px solid #fff;
  border-radius: 50%;
  background: #e53935;
  color: #fff;
  font-family: Arial, sans-serif !important;
  font-size: 12px;
  font-weight: 900;
  line-height: 1;
  box-shadow: 0 2px 6px rgba(96,16,16,.25);
  pointer-events: none;
}

.shore-orders-alert-badge[hidden] {
  display: none !important;
}


.shore-orders-unread-preview {
  position: absolute;
  top: calc(100% + 12px);
  right: 0;
  z-index: 5000;
  width: min(330px, 80vw);
  padding: 10px;
  border: 2px solid #4ba9d8;
  border-radius: 10px;
  background: #eefaff;
  color: #163f57;
  box-shadow: 0 12px 28px rgba(16,65,92,.2);
  text-align: left;
  pointer-events: none;
}

.shore-orders-unread-preview[hidden] {
  display: none !important;
}

.shore-orders-unread-preview > strong {
  display: block;
  margin-bottom: 7px;
  color: #1769aa;
  font-size: 10px;
}

.shore-orders-unread-row {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 6px;
  align-items: start;
  padding: 6px 0;
  border-top: 1px solid rgba(75,169,216,.2);
  font-size: 9px;
  line-height: 1.35;
}

.shore-orders-unread-row b {
  color: #1769aa;
  white-space: nowrap;
}

.shore-orders-unread-row span {
  min-width: 0;
  color: #385e73;
  overflow-wrap: anywhere;
}


/* ---- /popup-animations.css?v=83 ---- */

/* =========================================================
   ShoreBuild V83 — GLOBAL POPUP OPEN/CLOSE MOTION
   Uses discrete display transitions so existing popup JS does
   not need to be rewritten just to animate closing.
========================================================= */

:where(
  .build-popup,
  .addon-popup,
  .sub-popup,
  .discord-login-popup,
  .building-process-popup,
  .feature-disabler-popup,
  .pwa-install-modal,
  .shore-discord-invite-popup,
  .customer-order-popup,
  .customer-reminder-modal,
  .order-participant-profile-modal,
  .admin-popup,
  .admin-user-popup,
  .interactive-preview-modal,
  .tutorial-preview-modal,
  .leave-shulker-modal,
  .shulker-enchant-modal,
  .shulker-quantity-modal,
  .stock-purchase-modal,
  .mineouts-modal,
  .spawner-selection-modal,
  .buildbucks-modal,
  .owned-item-popup,
  .name-appearance-popup,
  .buildnitro-perks-popup,
  .maintenance-game-popup,
  .future-search-popup,
  .buildnitro-popup,
  .marketplace-detail-popup
) {
  opacity: 0;
  visibility: hidden;
  transition:
    opacity .20s ease,
    visibility .20s ease,
    display .20s allow-discrete;
  transition-behavior: allow-discrete;
}

/* Existing open states */
:where(
  .build-popup.show,
  .addon-popup.show,
  .sub-popup.show,
  .discord-login-popup.show,
  .building-process-popup.show,
  .feature-disabler-popup.show,
  .pwa-install-modal.show,
  .shore-discord-invite-popup.show,
  .customer-order-popup.show,
  .customer-reminder-modal.show,
  .order-participant-profile-modal.show,
  .admin-popup.show,
  .admin-user-popup.show,
  .interactive-preview-modal.show,
  .tutorial-preview-modal.show,
  .leave-shulker-modal.show,
  .shulker-enchant-modal.show,
  .shulker-quantity-modal.show,
  .stock-purchase-modal.show,
  .mineouts-modal.show,
  .spawner-selection-modal.show,
  .buildbucks-modal.show,
  .owned-item-popup.show,
  .name-appearance-popup.show,
  .buildnitro-perks-popup.show,
  .maintenance-game-popup.show,
  .future-search-popup.show,
  .buildnitro-popup.show,
  .marketplace-detail-popup.show
),
:where(
  .build-popup:not([hidden]),
  .addon-popup:not([hidden]),
  .sub-popup:not([hidden]),
  .discord-login-popup:not([hidden]),
  .building-process-popup:not([hidden]),
  .feature-disabler-popup:not([hidden]),
  .pwa-install-modal:not([hidden]),
  .shore-discord-invite-popup:not([hidden]),
  .customer-order-popup:not([hidden]),
  .customer-reminder-modal:not([hidden]),
  .order-participant-profile-modal:not([hidden]),
  .admin-popup:not([hidden]),
  .admin-user-popup:not([hidden]),
  .interactive-preview-modal:not([hidden]),
  .tutorial-preview-modal:not([hidden]),
  .leave-shulker-modal:not([hidden]),
  .shulker-enchant-modal:not([hidden]),
  .shulker-quantity-modal:not([hidden]),
  .stock-purchase-modal:not([hidden]),
  .mineouts-modal:not([hidden]),
  .spawner-selection-modal:not([hidden]),
  .buildbucks-modal:not([hidden]),
  .owned-item-popup:not([hidden]),
  .name-appearance-popup:not([hidden]),
  .buildnitro-perks-popup:not([hidden]),
  .maintenance-game-popup:not([hidden]),
  .future-search-popup:not([hidden]),
  .buildnitro-popup:not([hidden]),
  .marketplace-detail-popup:not([hidden])
) {
  opacity: 1;
  visibility: visible;
}

/* Opening scale for the actual dialog/card */
:where(
  .popup-content,
  .addon-popup-content,
  .sub-popup-content,
  .discord-login-popup-content,
  .building-process-card,
  .feature-disabler-card,
  .pwa-install-modal-card,
  .shore-discord-invite-card,
  .customer-order-card,
  .customer-reminder-card,
  .order-participant-profile-card,
  .admin-popup-content,
  .admin-user-popup-card,
  .interactive-preview-modal-card,
  .tutorial-preview-modal-card,
  .leave-shulker-modal-card,
  .shulker-enchant-modal-card,
  .shulker-quantity-modal-card,
  .stock-purchase-modal-card,
  .buildbucks-modal-card,
  .owned-item-popup-card,
  .name-appearance-popup-card,
  .buildnitro-perks-popup-card,
  .maintenance-game-popup-card,
  .future-search-card,
  .buildnitro-popup-card,
  .marketplace-detail-card
) {
  transform: translateY(10px) scale(.975);
  transition: transform .22s cubic-bezier(.2,.85,.25,1);
}

:where(
  .show > .popup-content,
  .show > .addon-popup-content,
  .show > .sub-popup-content,
  .show > .discord-login-popup-content,
  .show > .building-process-card,
  .show > .feature-disabler-card,
  .show > .pwa-install-modal-card,
  .show > .shore-discord-invite-card,
  .show > .customer-order-card,
  .show > .customer-reminder-card,
  .show > .order-participant-profile-card,
  .show > .admin-popup-content,
  .show > .admin-user-popup-card,
  .show > .interactive-preview-modal-card,
  .show > .tutorial-preview-modal-card,
  .show > .leave-shulker-modal-card,
  .show > .shulker-enchant-modal-card,
  .show > .shulker-quantity-modal-card,
  .show > .stock-purchase-modal-card,
  .show > .buildbucks-modal-card,
  .show > .owned-item-popup-card,
  .show > .name-appearance-popup-card,
  .show > .buildnitro-perks-popup-card,
  .show > .maintenance-game-popup-card,
  .show > .future-search-card,
  .show > .buildnitro-popup-card,
  .show > .marketplace-detail-card
) {
  transform: translateY(0) scale(1);
}

@starting-style {
  :where(
    .build-popup.show,
    .addon-popup.show,
    .sub-popup.show,
    .discord-login-popup.show,
    .building-process-popup.show,
    .feature-disabler-popup.show,
    .pwa-install-modal.show,
    .shore-discord-invite-popup.show,
    .customer-order-popup.show,
    .customer-reminder-modal.show,
    .order-participant-profile-modal.show,
    .admin-popup.show,
    .admin-user-popup.show,
    .interactive-preview-modal.show,
    .tutorial-preview-modal.show,
    .leave-shulker-modal.show,
    .shulker-enchant-modal.show,
    .shulker-quantity-modal.show,
    .stock-purchase-modal.show,
    .mineouts-modal.show,
    .spawner-selection-modal.show,
    .buildbucks-modal.show,
    .owned-item-popup.show,
    .name-appearance-popup.show,
    .buildnitro-perks-popup.show,
    .maintenance-game-popup.show,
    .future-search-popup.show,
    .buildnitro-popup.show,
    .marketplace-detail-popup.show
  ) {
    opacity: 0;
  }
}

/* Respect reduced-motion settings. */
@media (prefers-reduced-motion: reduce) {
  :where(
    .build-popup,
    .addon-popup,
    .sub-popup,
    .discord-login-popup,
    .building-process-popup,
    .feature-disabler-popup,
    .pwa-install-modal,
    .shore-discord-invite-popup,
    .customer-order-popup,
    .customer-reminder-modal,
    .order-participant-profile-modal,
    .admin-popup,
    .admin-user-popup,
    .interactive-preview-modal,
    .tutorial-preview-modal,
    .leave-shulker-modal,
    .shulker-enchant-modal,
    .shulker-quantity-modal,
    .stock-purchase-modal,
    .mineouts-modal,
    .spawner-selection-modal,
    .buildbucks-modal,
    .owned-item-popup,
    .name-appearance-popup,
    .buildnitro-perks-popup,
    .maintenance-game-popup,
    .future-search-popup,
    .buildnitro-popup,
    .marketplace-detail-popup
  ) {
    transition-duration: .01ms !important;
  }
}


/* ---- /mobile-v106.css?v=109 ---- */
/* ShoreBuild v103 — dedicated mobile application-style layout.
   Desktop remains unchanged: every rule is scoped to <= 768px unless noted. */

:root{
  --mobile-page-padding:16px;
  --mobile-card-gap:12px;
  --mobile-section-gap:40px;
  --mobile-card-padding:14px;
  --mobile-control-h:46px;
  --mobile-header-h:60px;
  --mobile-safe-top:env(safe-area-inset-top,0px);
  --mobile-safe-bottom:env(safe-area-inset-bottom,0px);
  --sb-mobile-blue:#1769aa;
  --sb-mobile-blue-2:#39bce8;
  --sb-mobile-ink:#0b3555;
  --sb-mobile-bg:#c9efff;
  --sb-mobile-card:#f6fcff;
  --sb-mobile-border:#77cdef;
}

@media (max-width:768px){
  html{scroll-padding-top:calc(var(--mobile-header-h) + var(--mobile-safe-top) + 8px)}
  body{min-width:0;max-width:100%;padding-top:calc(var(--mobile-header-h) + var(--mobile-safe-top));-webkit-text-size-adjust:100%;}
  body.mobile-drawer-open{overflow:hidden;touch-action:none}
  *,*::before,*::after{box-sizing:border-box}
  img,video,canvas,svg,iframe{max-width:100%}
  button,input,select,textarea{font:inherit;max-width:100%}
  table{max-width:100%}
  td,th,a,p,h1,h2,h3,h4,h5,h6,strong,span{overflow-wrap:anywhere}

  /* Original wide nav becomes a compact app bar. */
  .future-topbar,.future-topbar.v43-topbar,.future-subpage-topbar,
  html.shore-big-update-active:not([data-big-update-subpage="true"]) #futureHomepage .future-topbar{
    position:fixed!important;z-index:9000!important;top:0!important;left:0!important;right:0!important;
    height:calc(var(--mobile-header-h) + var(--mobile-safe-top))!important;
    min-height:calc(var(--mobile-header-h) + var(--mobile-safe-top))!important;
    padding:var(--mobile-safe-top) var(--mobile-page-padding) 0!important;
    display:flex!important;align-items:center!important;justify-content:space-between!important;gap:10px!important;
    background:rgba(235,249,255,.96)!important;border-bottom:1px solid rgba(35,122,184,.22)!important;
    box-shadow:0 4px 18px rgba(14,77,118,.08)!important;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
  }
  .future-topbar > .future-nav,.future-topbar > .future-nav-search-button,.future-topbar > .future-account-space{display:none!important}
  .sb-mobile-brand{display:flex;align-items:center;min-width:0;color:var(--sb-mobile-blue)!important;text-decoration:none!important;font-family:"Minecraft Ten",Arial,sans-serif;font-size:19px;font-weight:800;line-height:1}
  .sb-mobile-menu-button{width:44px;height:44px;min-width:44px;border:2px solid #2a88bd;border-radius:12px;background:#effaff;color:#0b4c76;display:grid;place-items:center;padding:0;cursor:pointer;box-shadow:0 3px 0 rgba(18,91,135,.18)}
  .sb-mobile-menu-button span,.sb-mobile-menu-button span::before,.sb-mobile-menu-button span::after{display:block;width:19px;height:2px;border-radius:2px;background:currentColor;content:"";position:relative}
  .sb-mobile-menu-button span::before{position:absolute;top:-6px}.sb-mobile-menu-button span::after{position:absolute;top:6px}
  .sb-mobile-menu-button:active{transform:translateY(1px);box-shadow:0 1px 0 rgba(18,91,135,.18)}

  /* Drawer */
  .sb-mobile-drawer-backdrop{position:fixed;z-index:9996;inset:0;background:rgba(3,28,47,.38);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);opacity:0;visibility:hidden;transition:opacity .2s ease,visibility .2s ease}
  .sb-mobile-drawer{position:fixed;z-index:9997;top:0;right:0;bottom:0;width:min(86vw,330px);padding:calc(14px + var(--mobile-safe-top)) 14px calc(20px + var(--mobile-safe-bottom));background:#f2fbff;border-left:1px solid #8ed6f0;box-shadow:-16px 0 44px rgba(6,48,77,.18);transform:translateX(105%);transition:transform .22s ease;overflow-y:auto;overscroll-behavior:contain}
  body.mobile-drawer-open .sb-mobile-drawer-backdrop{opacity:1;visibility:visible}
  body.mobile-drawer-open .sb-mobile-drawer{transform:translateX(0)}
  .sb-mobile-drawer-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:2px 2px 14px;border-bottom:1px solid #b6e2f3;margin-bottom:12px}
  .sb-mobile-drawer-head strong{font:800 18px "Minecraft Ten",Arial,sans-serif;color:#1769aa}
  .sb-mobile-drawer-close{width:44px;height:44px;border:0;border-radius:11px;background:#dff5ff;color:#0b4c76;font-size:27px;line-height:1;cursor:pointer}
  .sb-mobile-drawer-label{margin:17px 8px 7px;color:#52809c;font:800 10px "Minecraft Ten",Arial,sans-serif;letter-spacing:.08em;text-transform:uppercase}
  .sb-mobile-drawer-nav{display:grid;gap:4px}
  .sb-mobile-drawer-nav a,.sb-mobile-drawer-category{min-height:44px;display:flex;align-items:center;width:100%;padding:9px 11px;border:0;border-radius:10px;background:transparent;color:#103f60;text-decoration:none;text-align:left;font:800 14px "Minecraft Ten",Arial,sans-serif;cursor:pointer}
  .sb-mobile-drawer-nav a:active,.sb-mobile-drawer-category:active,.sb-mobile-drawer-category.active{background:#d9f2fd;color:#0c6598}
  .sb-mobile-drawer-divider{height:1px;background:#c5e7f4;margin:14px 5px}
  .sb-mobile-drawer-account{padding:8px 10px 4px;color:#456f88;font-size:12px;line-height:1.4}

  /* The existing account/login is a bottom-right floating action on mobile. */
  .account-area{position:fixed!important;z-index:8990!important;right:14px!important;left:auto!important;top:auto!important;bottom:calc(14px + var(--mobile-safe-bottom))!important;width:auto!important;max-width:calc(100vw - 28px)!important;margin:0!important;padding:0!important;display:flex!important;justify-content:flex-end!important;pointer-events:none}
  .account-area > *{pointer-events:auto}
  .discord-login-button,.account-profile-button{min-height:48px!important;max-width:min(220px,calc(100vw - 28px))!important;border-radius:15px!important;box-shadow:0 7px 24px rgba(8,64,99,.22)!important}
  .discord-login-button{padding:10px 14px!important;width:auto!important;font-size:12px!important;white-space:nowrap}
  .account-profile-button{padding:6px 10px 6px 7px!important;gap:8px!important}
  .account-profile-button img{width:34px!important;height:34px!important;min-width:34px!important;border-radius:10px!important}
  #accountUsername{display:block!important;max-width:120px!important;font-size:11px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
  .account-arrow{display:block!important}
  .account-dropdown{position:absolute!important;right:0!important;left:auto!important;top:auto!important;bottom:calc(100% + 10px)!important;width:min(286px,calc(100vw - 28px))!important;max-height:min(66vh,510px)!important;overflow-y:auto!important;transform-origin:bottom right!important}
  .account-dropdown-header{position:sticky;top:0;z-index:2;background:inherit}

  /* Leave safe room for the floating account control. */
  body::after{content:"";display:block;height:calc(78px + var(--mobile-safe-bottom));pointer-events:none}
  .pagination,.shorebuild-install-callout,.future-home-main,.page,.my-orders-main,.marketplace-owner-shell{scroll-margin-bottom:90px}

  /* Build page intro and controls. */
  .page{width:100%!important;max-width:100%!important;padding-left:var(--mobile-page-padding)!important;padding-right:var(--mobile-page-padding)!important;margin-left:auto!important;margin-right:auto!important}
  .shorebuild-intro{width:100%!important;margin:18px 0 12px!important;padding:0!important}
  .shorebuild-intro h1,#shoreSmpWordmark{font-size:clamp(28px,9vw,36px)!important;line-height:1.05!important;margin:0 0 5px!important}
  .shorebuild-intro p{font-size:13px!important;margin:0!important}
  .search-row,.restored-build-controls{display:grid!important;grid-template-columns:1fr!important;gap:9px!important;width:100%!important;margin:14px 0 10px!important;padding:0!important}
  .search-box{width:100%!important;min-width:0!important;margin:0!important}
  .search-box input,.sort-select{width:100%!important;height:var(--mobile-control-h)!important;min-height:var(--mobile-control-h)!important;border-radius:12px!important;padding:0 13px!important;margin:0!important;font-size:14px!important}
  .categories{display:none!important}
  .sb-mobile-build-filter{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:9px;margin:0 0 13px;width:100%}
  .sb-mobile-category-button,.sb-mobile-sort-label{min-width:0;height:44px;border:2px solid #6bc8e9;border-radius:12px;background:#eefaff;color:#154a6a;padding:0 11px;display:flex;align-items:center;justify-content:space-between;gap:7px;font:800 11px "Minecraft Ten",Arial,sans-serif}
  .sb-mobile-category-button{cursor:pointer}
  .sb-mobile-filter-caption{font:700 9px Arial,sans-serif;color:#5d88a0;display:block;margin-bottom:3px}
  .sb-mobile-filter-value{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

  /* Build cards: connected compact components. */
  .builds{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:var(--mobile-card-gap)!important;width:100%!important;max-width:100%!important;margin:0!important;padding:0!important;align-items:stretch!important}
  .build-card{min-width:0!important;width:100%!important;min-height:0!important;margin:0!important;border-radius:14px!important;overflow:hidden!important;display:flex!important;flex-direction:column!important;background:#f6fcff!important;border-width:2px!important;box-shadow:0 4px 0 rgba(22,105,170,.13)!important;transition:transform .16s ease,box-shadow .16s ease!important}
  .build-card:active{transform:scale(.985)!important;box-shadow:0 2px 0 rgba(22,105,170,.12)!important}
  .build-card > img{width:100%!important;height:auto!important;aspect-ratio:16/9!important;object-fit:cover!important;display:block!important;border-radius:0!important;margin:0!important;flex:none!important}
  .build-card-content,.build-card .build-info{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;grid-template-rows:auto auto!important;gap:3px 8px!important;align-items:end!important;min-width:0!important;padding:10px 10px 11px!important;margin:0!important;background:transparent!important;flex:1!important}
  .build-card .build-category{grid-column:1 / -1!important;margin:0!important;font-size:9px!important;line-height:1.2!important;letter-spacing:.04em!important}
  .build-card h2{grid-column:1!important;grid-row:2!important;margin:0!important;min-width:0!important;font-size:12px!important;line-height:1.3!important;display:-webkit-box!important;-webkit-line-clamp:2!important;-webkit-box-orient:vertical!important;overflow:hidden!important}
  .build-card-content::after,.build-card .build-info::after{content:"View →";grid-column:2;grid-row:2;align-self:end;white-space:nowrap;color:#1769aa;font:800 9px "Minecraft Ten",Arial,sans-serif}
  .build-card[data-price] .build-card-content::before,.build-card[data-price] .build-info::before{content:attr(data-price);grid-column:1 / -1;grid-row:3;margin-top:5px;color:#0b4c76;font:800 13px "Minecraft Ten",Arial,sans-serif}

  /* Pagination. */
  .pagination{width:100%!important;display:grid!important;grid-template-columns:46px minmax(0,1fr) 46px!important;align-items:center!important;gap:10px!important;margin:18px auto 26px!important;padding:0!important}
  .pagination button{width:46px!important;height:44px!important;min-width:46px!important;border-radius:12px!important;padding:0!important}
  #pageNumber{text-align:center!important;font-size:12px!important;white-space:nowrap}

  /* Build detail modal becomes a nearly-full-height bottom sheet. */
  .build-popup,.addon-popup,.sub-popup,.stock-order-popup,.spawner-modal,.mineouts-modal{padding:0!important;align-items:flex-end!important;justify-content:center!important}
  .build-popup .popup-content,.addon-popup .popup-content,.sub-popup .popup-content,
  .stock-order-popup > div,.spawner-modal > div,.mineouts-modal > div{
    position:relative!important;width:100%!important;max-width:100%!important;max-height:calc(92dvh - var(--mobile-safe-top))!important;margin:0!important;border-radius:22px 22px 0 0!important;padding:16px var(--mobile-page-padding) calc(18px + var(--mobile-safe-bottom))!important;overflow-y:auto!important;overscroll-behavior:contain!important;-webkit-overflow-scrolling:touch!important;
  }
  .build-popup .popup-content::before{content:"";display:block;width:42px;height:4px;border-radius:5px;background:rgba(17,75,108,.25);margin:0 auto 12px}
  .popup-close{position:sticky!important;float:right!important;top:0!important;right:0!important;z-index:4!important;width:44px!important;height:44px!important;min-width:44px!important}
  #popupImage{width:100%!important;height:auto!important;aspect-ratio:16/9!important;object-fit:cover!important;border-radius:13px!important;margin:0 0 12px!important}
  .popup-info{min-width:0!important;padding:0!important}
  .popup-info h2{font-size:21px!important;line-height:1.2!important;margin:4px 0 12px!important}
  .popup-details{display:grid!important;grid-template-columns:1fr!important;gap:7px!important;margin:0 0 12px!important}
  .detail,.price-row{min-width:0!important;padding:10px 0!important;gap:8px!important}
  .popup-prices{min-width:0!important}
  .purchase-build-button{width:100%!important;min-height:48px!important;margin-top:8px!important}

  /* Generic modal safety net across every section. */
  [class*="modal"] > [class*="content"],[class*="popup"] > [class*="content"],.dialog,.modal-content{
    max-width:calc(100vw - 24px);max-height:calc(90dvh - var(--mobile-safe-top) - var(--mobile-safe-bottom));overflow:auto;overflow-x:hidden;
  }

  /* Homepage */
  .future-home-main{width:100%!important;max-width:100%!important;padding-left:var(--mobile-page-padding)!important;padding-right:var(--mobile-page-padding)!important}
  html.shore-big-update-active:not([data-big-update-subpage="true"]) .future-hero{width:100%!important;max-width:100%!important;min-height:0!important;margin:0!important;padding:24px 0 18px!important;text-align:left!important}
  .future-hero h1{font-size:clamp(30px,10vw,36px)!important;margin:0 0 8px!important;line-height:1!important}
  .future-hero p{font-size:14px!important;line-height:1.45!important;margin:0 0 14px!important}
  .future-hero-tags{display:flex!important;flex-wrap:wrap!important;gap:7px!important;margin:0 0 14px!important}
  .future-hero-tags span{font-size:9px!important;padding:6px 8px!important;min-height:0!important}
  .future-hero-actions{display:grid!important;grid-template-columns:1fr 1fr!important;gap:9px!important;margin:0!important}
  .future-hero-button{min-width:0!important;min-height:44px!important;width:100%!important;padding:9px 8px!important;font-size:10px!important}
  .future-featured-build-card{width:100%!important;max-width:100%!important;margin:6px 0 24px!important;border-radius:16px!important;display:grid!important;grid-template-columns:42% minmax(0,1fr)!important;min-height:0!important}
  .future-featured-build-card > img{height:100%!important;min-height:120px!important;aspect-ratio:auto!important;border-radius:0!important;object-fit:cover!important}
  .future-featured-build-info,.future-featured-build-card .build-info{display:flex!important;flex-direction:column!important;justify-content:center!important;align-items:flex-start!important;padding:12px!important}
  .featured-requested-tag{font-size:8px!important;padding:5px 8px!important}
  .future-featured-build-info h2{font-size:16px!important;line-height:1.2!important}
  .future-featured-build-card .build-info::after,.future-featured-build-card .build-info::before{display:none!important}
  .shore-home-scroll-content{width:100%!important;max-width:100%!important;margin:0!important}
  .shore-home-section{margin:0 0 var(--mobile-section-gap)!important;padding:0!important}
  .shore-home-section-heading{margin-bottom:14px!important}
  .shore-home-section-heading h2{font-size:23px!important;line-height:1.13!important;margin:5px 0 7px!important}
  .shore-home-section-heading p{font-size:13px!important;line-height:1.45!important;margin:0!important}
  .shore-home-quick-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}
  .shore-home-quick-card{min-width:0!important;min-height:0!important;padding:13px!important;border-radius:14px!important}
  .shore-home-quick-card strong{font-size:14px!important;line-height:1.2!important}
  .shore-home-quick-card p{font-size:11px!important;line-height:1.35!important;margin:6px 0!important;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
  .shore-home-quick-card em,.shore-home-card-kicker{font-size:8px!important}
  .shore-home-process-grid{display:grid!important;grid-template-columns:1fr!important;gap:0!important;padding-left:7px!important}
  .shore-home-process-card{position:relative!important;min-height:0!important;padding:4px 8px 20px 45px!important;border:0!important;background:transparent!important;box-shadow:none!important}
  .shore-home-process-card:not(:last-child)::after{content:"";position:absolute;left:16px;top:33px;bottom:0;width:2px;background:#86cfe9}
  .shore-home-process-card b{position:absolute!important;left:0!important;top:0!important;width:34px!important;height:34px!important;border-radius:50%!important;display:grid!important;place-items:center!important;background:#e9f9ff!important;border:2px solid #37aede!important;font-size:9px!important}
  .shore-home-process-card strong{font-size:15px!important}
  .shore-home-process-card p{font-size:12px!important;line-height:1.4!important;margin:5px 0!important}
  .shore-home-process-card a{font-size:10px!important}
  .shore-home-feature-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}
  .shore-home-feature-card,.shore-home-feature-wide{grid-column:auto!important;min-width:0!important;min-height:0!important;padding:13px!important;border-radius:14px!important}
  .shore-home-feature-card h3{font-size:14px!important;line-height:1.2!important;margin:4px 0 6px!important}
  .shore-home-feature-card p{font-size:11px!important;line-height:1.35!important;margin:0 0 8px!important;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
  .shore-home-feature-card span,.shore-home-feature-card a{font-size:8px!important}
  .shore-home-stats,.shore-home-stat-grid,.shore-home-stats-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}
  .shore-home-stat,.shore-home-stat-card{min-width:0!important;padding:14px 10px!important;text-align:center!important}

  /* Stock, Mineouts, spawners and form-heavy screens. */
  .mineouts-form,.mineout-form,.stock-form,.spawner-form{width:100%!important;max-width:100%!important}
  .mineouts-dimensions,.mineout-dimensions,.dimension-grid,.size-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:8px!important}
  .mineouts-dimensions input,.mineout-dimensions input,.dimension-grid input,.size-grid input{min-width:0!important;width:100%!important}
  .mineouts-summary,.mineout-summary,.order-estimate,.stock-summary{width:100%!important;max-width:100%!important;padding:14px!important;border-radius:14px!important}
  .mineouts-summary button,.mineout-summary button,.order-estimate button,.stock-summary button{width:100%!important;min-height:46px!important}

  /* Footer */
  footer,.future-footer,.shore-footer{max-width:100%!important;padding-left:var(--mobile-page-padding)!important;padding-right:var(--mobile-page-padding)!important}
  footer nav,.future-footer nav,.shore-footer nav{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px 12px!important;white-space:normal!important}

  /* Tables become horizontally self-contained instead of breaking page width. */
  .table-wrap,.admin-table-wrap,.orders-table-wrap,[class*="table-container"]{max-width:100%!important;overflow-x:auto!important;-webkit-overflow-scrolling:touch!important}

  /* Touch sizes */
  a.button,button,.account-menu-button,.category-btn,select,input[type="button"],input[type="submit"]{min-height:44px}
  .account-menu-button{width:100%!important}

  @media (prefers-reduced-motion:reduce){
    *,*::before,*::after{scroll-behavior:auto!important;animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}
  }
}

@media (max-width:360px){
  :root{--mobile-page-padding:14px;--mobile-card-gap:10px;--mobile-section-gap:34px}
  @media (max-width:768px){
    .builds{grid-template-columns:1fr!important}
    .build-card > img{aspect-ratio:16/8.5!important}
    .build-card h2{font-size:14px!important}
    .build-card-content,.build-card .build-info{padding:11px 12px 12px!important}
    .shore-home-quick-grid,.shore-home-feature-grid{grid-template-columns:1fr!important}
    .future-hero-actions{grid-template-columns:1fr!important}
    .sb-mobile-build-filter{grid-template-columns:1fr!important}
  }
}

@media (min-width:769px) and (max-width:1024px){
  /* Tablet-only guardrails; desktop visual language is preserved. */
  body{min-width:0}
  .future-topbar{padding-left:18px;padding-right:18px}
  .builds{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
  .build-card{min-width:0}
  [class*="modal"] > [class*="content"],[class*="popup"] > [class*="content"]{max-width:calc(100vw - 40px);max-height:90vh;overflow:auto}
}

/* =========================================================
   ShoreBuild v104 mobile stability + specificity fixes
   - overrides older high-specificity released UI rules
   - restores normal document scrolling on homepage
   - keeps Discord/account control truly bottom-right
   - prevents blank cyan gaps caused by legacy min-heights
========================================================= */
@media (max-width:768px){
  /* The released homepage previously had desktop-only fixed-height/overflow rules.
     Override them with equal/higher specificity so mobile uses normal page scrolling. */
  html.shore-big-update-active:not([data-big-update-subpage="true"]),
  html.shore-big-update-active:not([data-big-update-subpage="true"]) body{
    height:auto!important;
    min-height:100%!important;
    overflow-x:clip!important;
    overflow-y:auto!important;
  }

  html.shore-big-update-active:not([data-big-update-subpage="true"]) #futureHomepage,
  html[data-shorebuild-public-release="true"] #futureHomepage{
    height:auto!important;
    min-height:0!important;
    overflow:visible!important;
  }

  html.shore-big-update-active:not([data-big-update-subpage="true"]) #futureHomepage .future-home-main,
  html[data-shorebuild-public-release="true"] #futureHomepage .future-home-main{
    position:relative!important;
    width:100%!important;
    max-width:100%!important;
    height:auto!important;
    min-height:0!important;
    margin:0!important;
    padding:20px var(--mobile-page-padding) 8px!important;
    overflow:visible!important;
  }

  html.shore-big-update-active:not([data-big-update-subpage="true"]) #futureHomepage .future-hero,
  html[data-shorebuild-public-release="true"] #futureHomepage .future-hero{
    width:100%!important;
    max-width:100%!important;
    min-height:0!important;
    height:auto!important;
    margin:0!important;
    padding:18px 0 14px!important;
    text-align:left!important;
  }

  html.shore-big-update-active:not([data-big-update-subpage="true"]) #futureHomepage #featuredCustomBuildCard,
  html[data-shorebuild-public-release="true"] #futureHomepage #featuredCustomBuildCard{
    position:relative!important;
    inset:auto!important;
    width:100%!important;
    max-width:100%!important;
    min-height:0!important;
    margin:4px 0 24px!important;
    border-radius:16px!important;
  }

  html.shore-big-update-active:not([data-big-update-subpage="true"]) #futureHomepage .shore-home-scroll-content,
  html[data-shorebuild-public-release="true"] #futureHomepage .shore-home-scroll-content{
    position:relative!important;
    width:100%!important;
    max-width:100%!important;
    height:auto!important;
    min-height:0!important;
    margin:0!important;
    padding:0 0 28px!important;
    overflow:visible!important;
  }

  /* Old release rules used html.shore-big-update-active .account-area with !important,
     which beat the v103 .account-area selector. These selectors deliberately match/beat it. */
  html[data-shorebuild-public-release="true"] .account-area,
  html.shore-big-update-active .account-area,
  html[data-big-update-subpage="true"] .account-area,
  body > .account-area{
    display:flex!important;
    position:fixed!important;
    z-index:22000!important;
    top:auto!important;
    right:14px!important;
    bottom:calc(14px + env(safe-area-inset-bottom,0px))!important;
    left:auto!important;
    width:auto!important;
    max-width:calc(100vw - 28px)!important;
    height:auto!important;
    margin:0!important;
    padding:0!important;
    justify-content:flex-end!important;
    align-items:flex-end!important;
    pointer-events:none!important;
  }

  html[data-shorebuild-public-release="true"] .account-area > *,
  html.shore-big-update-active .account-area > *,
  html[data-big-update-subpage="true"] .account-area > *,
  body > .account-area > *{
    pointer-events:auto!important;
  }

  html[data-shorebuild-public-release="true"] .discord-login-button,
  html[data-shorebuild-public-release="true"] .account-profile-button,
  html.shore-big-update-active .discord-login-button,
  html.shore-big-update-active .account-profile-button,
  html[data-big-update-subpage="true"] .discord-login-button,
  html[data-big-update-subpage="true"] .account-profile-button{
    width:auto!important;
    min-width:0!important;
    max-width:min(220px,calc(100vw - 28px))!important;
    min-height:48px!important;
    height:auto!important;
    border-radius:15px!important;
    font-size:11px!important;
    box-shadow:0 7px 24px rgba(8,64,99,.22)!important;
  }

  html[data-shorebuild-public-release="true"] .discord-login-button,
  html.shore-big-update-active .discord-login-button,
  html[data-big-update-subpage="true"] .discord-login-button{
    padding:10px 14px!important;
    white-space:nowrap!important;
  }

  html[data-shorebuild-public-release="true"] .account-profile-button,
  html.shore-big-update-active .account-profile-button,
  html[data-big-update-subpage="true"] .account-profile-button{
    padding:6px 10px 6px 7px!important;
    gap:8px!important;
  }

  html[data-shorebuild-public-release="true"] .account-dropdown,
  html.shore-big-update-active .account-dropdown,
  html[data-big-update-subpage="true"] .account-dropdown{
    position:absolute!important;
    top:auto!important;
    right:0!important;
    bottom:calc(100% + 10px)!important;
    left:auto!important;
    width:min(286px,calc(100vw - 28px))!important;
    max-height:min(66dvh,510px)!important;
    overflow-y:auto!important;
    transform-origin:bottom right!important;
    z-index:22500!important;
  }

  .account-area.sb-account-obscured{
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
  }

  /* Make the app header deterministic instead of inheriting desktop grid behavior. */
  html[data-shorebuild-public-release="true"] .future-topbar,
  html.shore-big-update-active .future-topbar,
  html[data-big-update-subpage="true"] .future-topbar,
  .future-topbar.future-subpage-topbar{
    display:flex!important;
    grid-template-columns:none!important;
    position:fixed!important;
    inset:0 0 auto 0!important;
    width:100%!important;
    height:calc(var(--mobile-header-h) + env(safe-area-inset-top,0px))!important;
    min-height:calc(var(--mobile-header-h) + env(safe-area-inset-top,0px))!important;
    margin:0!important;
    padding:env(safe-area-inset-top,0px) var(--mobile-page-padding) 0!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:10px!important;
    overflow:visible!important;
  }

  html[data-shorebuild-public-release="true"] .future-topbar > .future-nav,
  html[data-shorebuild-public-release="true"] .future-topbar > .future-nav-search-button,
  html[data-shorebuild-public-release="true"] .future-topbar > .future-account-space,
  html.shore-big-update-active .future-topbar > .future-nav,
  html.shore-big-update-active .future-topbar > .future-nav-search-button,
  html.shore-big-update-active .future-topbar > .future-account-space,
  html[data-big-update-subpage="true"] .future-topbar > .future-nav,
  html[data-big-update-subpage="true"] .future-topbar > .future-nav-search-button,
  html[data-big-update-subpage="true"] .future-topbar > .future-account-space{
    display:none!important;
  }

  .sb-mobile-brand,
  .sb-mobile-menu-button{
    position:relative!important;
    z-index:1!important;
  }

  /* Builds page: guarantee the active mobile layout beats legacy 3-column rules. */
  body.builds-page .page{
    display:block!important;
    visibility:visible!important;
    opacity:1!important;
    pointer-events:auto!important;
    width:100%!important;
    max-width:100%!important;
    margin:0!important;
    padding:18px var(--mobile-page-padding) calc(92px + env(safe-area-inset-bottom,0px))!important;
  }

  body.builds-page .restored-build-controls,
  body.builds-page .search-row{
    display:grid!important;
    grid-template-columns:1fr!important;
    width:100%!important;
    gap:9px!important;
    margin:0 0 9px!important;
    padding:0!important;
  }

  body.builds-page .categories{
    display:none!important;
  }

  body.builds-page .builds{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:var(--mobile-card-gap)!important;
    width:100%!important;
    max-width:100%!important;
    margin:0!important;
    padding:0!important;
  }

  body.builds-page .build-card{
    min-width:0!important;
    max-width:100%!important;
    width:100%!important;
  }

  /* Avoid invisible overlays blocking taps. */
  .sb-mobile-drawer-backdrop:not(.mobile-drawer-open *){
    pointer-events:none;
  }
  body.mobile-drawer-open .sb-mobile-drawer-backdrop{
    pointer-events:auto;
  }
}

@media (max-width:360px){
  body.builds-page .builds{
    grid-template-columns:1fr!important;
  }
}
@media (max-width:768px){
  .sb-mobile-drawer-backdrop{pointer-events:none!important}
  .sb-mobile-drawer{pointer-events:none!important}
  body.mobile-drawer-open .sb-mobile-drawer-backdrop,
  body.mobile-drawer-open .sb-mobile-drawer{pointer-events:auto!important}
}

/* =========================================================
   ShoreBuild v106 — targeted mobile builds/header fixes
   ========================================================= */
@media (max-width:768px){
  html[data-big-update-subpage="true"] body.builds-page,
  html.shore-big-update-active[data-big-update-subpage="true"] body.builds-page{
    min-height:100svh!important;
    height:auto!important;
  }

  html[data-big-update-subpage="true"] body.builds-page > .page,
  html.shore-big-update-active[data-big-update-subpage="true"] body.builds-page > .page{
    min-height:0!important;
    height:auto!important;
    padding:16px var(--mobile-page-padding) calc(96px + env(safe-area-inset-bottom,0px))!important;
    margin:0!important;
  }

  /* Mobile uses one search control + the compact category/sort row. Hide the
     original desktop select/categories instead of letting legacy !important
     rules create duplicate controls and giant gaps. */
  html.shore-big-update-active[data-big-update-subpage="true"] body.builds-page .restored-build-controls,
  html[data-big-update-subpage="true"] body.builds-page .restored-build-controls,
  html[data-big-update-subpage="true"] body.builds-page .search-row{
    display:block!important;
    width:100%!important;
    min-height:0!important;
    height:auto!important;
    margin:10px 0 10px!important;
    padding:0!important;
  }
  html.shore-big-update-active[data-big-update-subpage="true"] body.builds-page .restored-build-controls .search-box,
  html[data-big-update-subpage="true"] body.builds-page .restored-build-controls .search-box{
    display:block!important;
    width:100%!important;
    min-width:0!important;
    margin:0!important;
    flex:none!important;
  }
  html.shore-big-update-active[data-big-update-subpage="true"] body.builds-page #sortSelect,
  html[data-big-update-subpage="true"] body.builds-page #sortSelect{
    display:none!important;
  }
  html.shore-big-update-active[data-big-update-subpage="true"] body.builds-page .categories,
  html[data-big-update-subpage="true"] body.builds-page .categories{
    display:none!important;
    visibility:hidden!important;
    height:0!important;
    min-height:0!important;
    margin:0!important;
    padding:0!important;
    overflow:hidden!important;
  }

  .sb-mobile-build-filter{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
    gap:10px!important;
    width:100%!important;
    margin:0 0 12px!important;
  }
  .sb-mobile-sort-native-wrap{
    position:relative;
    min-width:0;
    height:58px;
    border:2px solid #6bc8e9;
    border-radius:12px;
    background:#eefaff;
    color:#154a6a;
    padding:6px 10px 5px;
    display:flex;
    flex-direction:column;
    justify-content:center;
    box-sizing:border-box;
  }
  .sb-mobile-sort-native{
    appearance:none;
    -webkit-appearance:none;
    width:100%;
    min-width:0;
    height:28px;
    border:0;
    outline:0;
    background:transparent;
    color:#154a6a;
    font:800 12px "Minecraft Ten",Arial,sans-serif;
    padding:0 20px 0 0;
  }
  .sb-mobile-sort-native-wrap::after{
    content:"⌄";
    position:absolute;
    right:10px;
    bottom:10px;
    pointer-events:none;
    font-weight:900;
  }
  .sb-mobile-category-button{
    height:58px!important;
  }

  html[data-big-update-subpage="true"] body.builds-page .builds,
  html.shore-big-update-active[data-big-update-subpage="true"] body.builds-page .builds{
    margin-top:0!important;
  }

  /* Small mobile-only quick access buttons in the top bar. */
  .future-topbar .sb-mobile-header-quick,
  .future-subpage-topbar .sb-mobile-header-quick{
    display:flex!important;
    align-items:center;
    gap:6px;
    margin-left:auto;
    margin-right:6px;
  }
  .sb-mobile-quick-link{
    width:36px;
    height:36px;
    min-width:36px;
    display:grid;
    place-items:center;
    border:2px solid #2b8fc3;
    border-radius:10px;
    background:#effaff;
    color:#154a6a;
    text-decoration:none;
    font-size:16px;
    line-height:1;
    box-shadow:0 2px 0 rgba(22,76,114,.2);
  }
  .sb-mobile-quick-link:active{transform:translateY(1px);box-shadow:none}

  /* Keep the floating account control mobile-only and avatar-first. */
  body .account-area{
    right:14px!important;
    bottom:calc(14px + env(safe-area-inset-bottom,0px))!important;
  }
  body .account-info .account-profile-button{
    width:58px!important;
    min-width:58px!important;
    height:58px!important;
    padding:5px!important;
    border-radius:18px!important;
  }
  body .account-info .account-profile-button #accountUsername,
  body .account-info .account-profile-button #mobileAccountUsername,
  body .account-info .account-profile-button .account-arrow{
    display:none!important;
  }
  body .account-info .account-profile-button #accountAvatar{
    width:44px!important;
    height:44px!important;
    border-radius:12px!important;
    margin:0!important;
  }
}

@media (max-width:360px){
  .sb-mobile-header-quick .sb-mobile-quick-link:nth-child(2){display:none!important}
  .sb-mobile-build-filter{grid-template-columns:1fr!important}
}

/* v109: mobile shell must never exist visually on desktop. */
@media (min-width:769px){
  .sb-mobile-brand,
  .sb-mobile-header-quick,
  .sb-mobile-menu-button,
  .sb-mobile-drawer-backdrop,
  .sb-mobile-drawer,
  .sb-mobile-build-filter{display:none!important;visibility:hidden!important;pointer-events:none!important}
  body.mobile-drawer-open{overflow:auto!important;touch-action:auto!important}
}


/* ---- /polish-v105.css?v=105 ---- */

/* ShoreBuild v105 — targeted polish only */
:root{--shore-card-radius:16px;--shore-gap:12px}
.build-card{display:flex;flex-direction:column;height:100%;overflow:hidden}
.build-card>img{aspect-ratio:16/9;width:100%;object-fit:cover}
.build-card-content,.build-info{display:flex;flex-direction:column;gap:6px;flex:1;min-width:0}
.build-card-content h2,.build-info h2{margin:0;line-height:1.25;min-height:2.5em;overflow-wrap:anywhere}
.build-card-footer{margin-top:auto;display:grid;gap:9px;padding-top:4px}.build-card-price{font-size:18px;color:#0e5d93}.build-card-actions{display:flex;gap:8px;align-items:center}.build-card-actions button{min-height:40px;border-radius:10px;border:1px solid rgba(23,105,170,.24);font:inherit;cursor:pointer}.build-view-button{flex:1;background:#1769aa;color:white;padding:0 12px}.build-favorite-button{background:#f7fcff;color:#1769aa;padding:0 10px}.build-favorite-button.is-favorited{background:#eaf7ff;color:#0d5b91}.build-favorite-button:focus-visible,.build-view-button:focus-visible{outline:3px solid rgba(59,181,255,.35);outline-offset:2px}
.build-card-skeleton{pointer-events:none}.build-skeleton-image{aspect-ratio:16/9;background:linear-gradient(90deg,#e5f4fc,#f4fbff,#e5f4fc);background-size:200% 100%;animation:shoreSkeleton 1.3s linear infinite}.build-skeleton-line{height:14px;border-radius:6px;background:#e3f2fa;display:block}.build-skeleton-line.short{width:35%;height:10px}.build-skeleton-line.price{width:25%}@keyframes shoreSkeleton{to{background-position:-200% 0}}
.shore-load-error,.empty-build-notice,.catalog-empty-state,.orders-empty-state,.profile-favorites-empty{text-align:center;padding:28px;border:1px solid rgba(23,105,170,.18);border-radius:16px;background:rgba(255,255,255,.72)}.shore-load-error button,.empty-build-notice button,.orders-empty-state a,.profile-favorites-empty a,.profile-favorites-empty button{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:0 16px;border:0;border-radius:10px;background:#1769aa;color:#fff;text-decoration:none}
.shore-image-fallback{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:4px;aspect-ratio:16/9;background:linear-gradient(135deg,#dff4ff,#bfe7fb);color:#1769aa;font-weight:700;text-align:center;padding:16px}.shore-image-fallback small{font-weight:600;opacity:.8}
.shore-home-update-meta{display:flex;justify-content:space-between;gap:8px;align-items:center}.shore-update-indicator{font-size:11px;padding:4px 7px;border-radius:999px;background:#dff5ff;color:#0d5d91}.shore-home-update-card time{font-size:12px;opacity:.7}.shore-home-update-card>a{margin-top:auto;color:#1769aa;font-weight:700;text-decoration:none}
.featured-build-bottom{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:8px}.featured-build-bottom strong{font-size:18px;color:#0e5d93}.featured-view-build{font-weight:700;color:#1769aa}
.catalog-full-update{margin-top:12px}.catalog-full-update summary{cursor:pointer;color:#1769aa;font-weight:700}.catalog-full-update-body{padding-top:12px}.catalog-update-text{white-space:pre-line}.dynamic-update-summary{margin-bottom:4px}
.profile-favorites{margin-top:28px}.profile-favorites-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px}.profile-favorite-card{display:flex;gap:10px;padding:10px;border:1px solid rgba(23,105,170,.18);border-radius:14px;text-decoration:none;color:inherit;background:#fff}.profile-favorite-card img{width:74px;height:58px;object-fit:cover;border-radius:9px}.profile-favorite-card div{display:flex;flex-direction:column;min-width:0}.profile-favorite-card span{font-size:11px;color:#1769aa}.profile-favorite-card strong{overflow-wrap:anywhere}.profile-favorite-card b{margin-top:auto;color:#0e5d93}.profile-secondary-action{background:#eaf7ff!important;color:#1769aa!important}
.order-success-card{padding:18px;border:1px solid rgba(32,154,95,.25);border-radius:14px;background:#f1fff8;text-align:left}.order-success-card strong{display:block;font-size:20px;color:#167347}.order-success-card div{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}.order-success-card a{display:inline-flex;min-height:42px;align-items:center;padding:0 14px;border-radius:9px;background:#1769aa;color:#fff;text-decoration:none;font-weight:700}.order-success-card a+a{background:#eaf7ff;color:#1769aa}
.customer-order-meta{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:7px}.order-status-badge{display:inline-flex;padding:4px 8px;border-radius:999px;font-size:12px;font-weight:800;background:#edf4f7;color:#334}.status-pending{background:#fff4cf;color:#7a5a00}.status-accepted,.status-in-progress,.status-building{background:#dff3ff;color:#0d5d91}.status-waiting{background:#f0e7ff;color:#6940a3}.status-completed{background:#e5f8ed;color:#19693b}.status-cancelled{background:#ffe6e9;color:#9b2334}.order-card-unread{background:#1769aa;color:white;border-radius:999px;padding:4px 8px;font-size:11px;font-weight:800}.customer-order-card-side{display:flex;flex-direction:column;align-items:flex-end;gap:8px}.customer-order-open{font-weight:700;color:#1769aa}
.mineouts-summary{border-radius:14px;padding:14px;background:#f5fbff}.mineouts-size-grid input:invalid{border-color:#c24}.spawner-purchase-dialog .stock-price-grid{gap:10px}
@media (max-width:768px){.build-card-content h2,.build-info h2{font-size:15px;min-height:2.5em}.build-card-price{font-size:16px}.build-card-actions{display:grid;grid-template-columns:auto 1fr}.build-favorite-button span{display:none}.build-favorite-button{width:42px;padding:0}.customer-order-card{align-items:stretch}.customer-order-card-side{align-items:flex-start}.profile-favorites-grid{grid-template-columns:1fr}.shore-home-update-grid{gap:12px}.shore-home-update-card{min-height:0}.order-success-card div{display:grid}.order-success-card a{width:100%;justify-content:center}}
@media (prefers-reduced-motion:reduce){.build-skeleton-image{animation:none}}


/* ---- /desktop-polish-v107.css?v=151 ---- */
/* ShoreBuild v107 — targeted desktop polish only. No layout redesign. */
:root{--shore-desktop-gap:14px}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}

/* The legacy mobile username duplicate must never render beside the real desktop username. */
#mobileAccountUsername{display:none!important}

@media (min-width:769px){
  /* Shared header/account alignment. */
  .future-topbar,.future-subpage-topbar{box-sizing:border-box;align-items:center}
  .future-nav{min-width:0}
  .future-nav a{white-space:nowrap}
  .future-nav-search-button{min-width:0}
  .account-area{box-sizing:border-box}
  .account-profile-button{box-sizing:border-box;justify-content:flex-start;gap:10px;overflow:hidden}
  .account-profile-button #accountUsername{display:block!important;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .account-dropdown{box-sizing:border-box;max-width:min(320px,calc(100vw - 32px));z-index:12550!important}
  .account-dropdown-header{min-width:0}
  .account-dropdown-header div{min-width:0}
  .account-dropdown-header strong{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

  /* Homepage statistics: keep number and label visually separated. */
  .shore-home-stat-grid div{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:8px;box-sizing:border-box}
  .shore-home-stat-grid strong{display:block;margin:0;line-height:1}
  .shore-home-stat-grid span{display:block;margin:0!important;line-height:1.25;max-width:100%}

  /* Keep cards and shared sections inside their desktop containers. */
  .shore-home-quick-card,.shore-home-feature-card,.shore-home-update-card,.update-entry,.marketplace-card{min-width:0}
  .shore-home-quick-card *,.shore-home-feature-card *,.shore-home-update-card *,.update-entry *,.marketplace-card *{overflow-wrap:anywhere}
  img{max-width:100%}

  /* Contact people should look intentional rather than like loose inline usernames. */
  .contact-people{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:14px}
  .contact-person-row{display:flex;flex-direction:column;gap:4px;min-width:0;padding:13px 14px;border:2px solid rgba(31,107,151,.22);border-radius:10px;background:rgba(255,255,255,.58)}
  .contact-person-row strong{color:#195c86;font-family:"Minecraft Ten",Arial,sans-serif;font-size:14px;overflow-wrap:anywhere}
  .contact-person-row small{color:#5f8498;font:600 13px/1.35 Arial,sans-serif;overflow-wrap:anywhere}
  .contact-discord-box a{display:inline-block;max-width:100%;overflow-wrap:anywhere}

  /* Consistent desktop image treatment without changing card proportions. */
  .build-card img,.marketplace-card img,.future-featured-build-card img{object-fit:cover}
}

/* Marketplace initial state: no raw "Loading..." flash. */
.marketplace-buildbucks-loading{min-width:170px;min-height:20px;display:inline-flex!important;align-items:center}
.marketplace-inline-skeleton{display:block;width:138px;height:12px;border-radius:6px;background:linear-gradient(90deg,rgba(255,255,255,.18),rgba(255,255,255,.48),rgba(255,255,255,.18));background-size:220% 100%;animation:shoreSkeleton 1.25s ease-in-out infinite}
.marketplace-message-loading{height:24px;min-height:24px;margin:22px 0 12px}
.marketplace-grid-loading{pointer-events:none}
.marketplace-skeleton-card{min-height:276px}
.marketplace-skeleton-image{height:176px;background:linear-gradient(90deg,#a8ddf4,#d7f2ff,#a8ddf4);background-size:220% 100%;animation:shoreSkeleton 1.25s ease-in-out infinite}
.marketplace-skeleton-line{display:block;height:13px;margin:9px 0;border-radius:6px;background:linear-gradient(90deg,rgba(23,105,170,.12),rgba(255,255,255,.7),rgba(23,105,170,.12));background-size:220% 100%;animation:shoreSkeleton 1.25s ease-in-out infinite}
.marketplace-skeleton-line.short{width:34%}.marketplace-skeleton-line.medium{width:62%}
@keyframes shoreSkeleton{0%{background-position:100% 0}100%{background-position:-100% 0}}
@media (prefers-reduced-motion:reduce){.marketplace-inline-skeleton,.marketplace-skeleton-image,.marketplace-skeleton-line{animation:none}}

/* Prevent hidden tutorial decoration from ever escaping into normal page flow. */
.tutorial-wave-hand{display:none!important}

/* General desktop overflow safeguards on user-facing text, not blanket overflow hiding. */
@media (min-width:769px){
  .future-simple-page,.marketplace-page,.shore-home-scroll-content,.orders-page,.profile-page{min-width:0;box-sizing:border-box}
  .future-simple-page input,.future-simple-page select,.marketplace-page input,.marketplace-page select{max-width:100%;box-sizing:border-box}
}

/* Keep the existing desktop header comfortable at common laptop widths without changing its design. */
@media (min-width:1051px) and (max-width:1450px){
  .future-topbar{gap:12px;padding-left:20px;padding-right:20px}
  .future-nav{gap:3px}
  .future-nav a{padding-left:8px;padding-right:8px;font-size:12px}
  .future-account-space{width:220px}
  html[data-shorebuild-public-release="true"] .account-area,
  html.shore-big-update-active .account-area{right:20px!important}
}
.marketplace-empty strong{display:block;margin-bottom:7px;font-family:"Minecraft Ten",Arial,sans-serif;color:#123b5d}
.marketplace-empty p{margin:0 0 14px;color:#426b85}
.marketplace-empty button{padding:10px 14px;border:2px solid #123b5d;border-radius:7px;background:#1769aa;color:#fff;font-family:"Minecraft Ten",Arial,sans-serif;cursor:pointer}

/* v109 desktop shell cleanup: mobile-only navigation must never leak into desktop. */
@media (min-width:769px){
  .sb-mobile-brand,
  .sb-mobile-header-quick,
  .sb-mobile-menu-button,
  .sb-mobile-drawer-backdrop,
  .sb-mobile-drawer,
  .sb-mobile-build-filter{display:none!important;visibility:hidden!important;pointer-events:none!important}

  /* Keep scrolling functional while removing the thin right-side track/line. */
  html,
  body,
  #futureHomepage,
  .future-simple-page,
  .marketplace-page,
  .my-orders-main,
  .profile-page,
  .roles-page-main,
  .catalog-page-main{
    scrollbar-width:none!important;
    -ms-overflow-style:none!important;
  }
  html::-webkit-scrollbar,
  body::-webkit-scrollbar,
  #futureHomepage::-webkit-scrollbar,
  .future-simple-page::-webkit-scrollbar,
  .marketplace-page::-webkit-scrollbar,
  .my-orders-main::-webkit-scrollbar,
  .profile-page::-webkit-scrollbar,
  .roles-page-main::-webkit-scrollbar,
  .catalog-page-main::-webkit-scrollbar{
    width:0!important;
    height:0!important;
    display:none!important;
  }
  html.shore-big-update-active:not([data-big-update-subpage="true"]) #futureHomepage{
    scrollbar-gutter:auto!important;
    scrollbar-width:none!important;
  }
}


/* =========================================================
   V151 — desktop breathing room + consistent card language
========================================================= */
@media (min-width: 769px){
  :root{--shore-desktop-page-pad:clamp(26px,3vw,54px);--shore-desktop-section-gap:clamp(22px,2.4vw,38px)}

  /* Public pages get one comfortable content rail instead of hugging the viewport. */
  .future-simple-page,.marketplace-page,.my-orders-main,.profile-page,.roles-page-main,.catalog-page-main,
  .custom-build-main,.custombuilds-main,.custom-builds-main,.shore-home-scroll-content{
    width:min(1500px,calc(100% - (var(--shore-desktop-page-pad) * 2)))!important;
    margin-left:auto!important;margin-right:auto!important;box-sizing:border-box!important;
  }
  .shore-home-scroll-content,.future-simple-page,.marketplace-page,.my-orders-main,.profile-page,.roles-page-main,.catalog-page-main{
    padding-left:0!important;padding-right:0!important;
  }

  /* Give cards/forms room to breathe on laptops and desktops. */
  .shore-home-quick-grid,.shore-home-feature-grid,.builds,.marketplace-grid,.custom-build-layout,.custom-build-grid{
    gap:clamp(16px,1.6vw,26px)!important;
  }
  .shore-home-section,.future-simple-page section,.marketplace-section,.custom-build-panel{
    scroll-margin-top:110px;
  }
  .shore-home-section+.shore-home-section{margin-top:var(--shore-desktop-section-gap)!important}

  /* Desktop dialogs should feel like real cards, not cramped mobile sheets. */
  .stock-purchase-dialog{width:min(680px,calc(100vw - 64px))!important;padding:30px!important;border-radius:22px!important;background:#f7fcff!important;color:#17354a!important;border-color:#78c8ef!important;box-shadow:0 28px 70px rgba(23,83,118,.24)!important}
  .stock-purchase-dialog>span,.stock-purchase-dialog h2,.spawner-price-heading{color:#175f89!important}
  .stock-purchase-dialog p,.mineouts-section p,.spawner-price-options small{color:#5e7d91!important}
  .stock-purchase-close{color:#276f98!important}
  .mineouts-dialog{width:min(780px,calc(100vw - 64px))!important;max-height:min(88vh,860px)!important}
  .mineouts-section{padding:20px!important;border-radius:16px!important;border-color:#c7e7f6!important;background:#fff!important}
  .mineouts-price-section{padding:18px 20px!important;background:#eaf7ff!important}
  .mineouts-price-section span{color:#327da7!important}.mineouts-price-section strong{color:#17354a!important}
  .mineouts-drills{gap:14px!important}
  .mineouts-drills span{min-height:70px!important;border-radius:14px!important;border-color:#b8ddf0!important;background:#f5fbff!important;color:#17354a!important;box-shadow:0 7px 18px rgba(41,117,157,.08)!important}
  .mineouts-drills input:checked+span{border-color:#4fafe9!important;background:#e1f4ff!important;color:#155c84!important;box-shadow:0 0 0 3px rgba(79,175,233,.14)!important}
  .mineouts-size-grid{gap:14px!important}
  .mineouts-size-grid label{border-color:#c7e7f6!important;background:#f7fbfe!important;border-radius:14px!important}
  .mineouts-summary{border:2px solid #bfe3f5!important;border-radius:16px!important;background:#eef9ff!important}

  /* Spawners now read visually like normal build cards. */
  .spawner-selection-modal .stock-purchase-dialog{width:min(980px,calc(100vw - 64px))!important}
  .spawner-options{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:18px!important;margin-top:22px!important}
  .spawner-options button{display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:0!important;padding:0!important;overflow:hidden!important;border:2px solid #c0e2f4!important;border-radius:18px!important;background:#fff!important;color:#17354a!important;box-shadow:0 12px 26px rgba(28,97,136,.10)!important;text-align:left!important;transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease!important}
  .spawner-options button:hover{transform:translateY(-3px)!important;border-color:#5bb8e8!important;background:#fff!important;box-shadow:0 17px 32px rgba(28,97,136,.16)!important}
  .spawner-options button img{width:100%!important;height:150px!important;padding:18px!important;box-sizing:border-box!important;object-fit:contain!important;background:linear-gradient(145deg,#eaf8ff,#cceeff)!important}
  .spawner-options button span{display:block!important;padding:14px 16px 16px!important;font-size:15px!important;line-height:1.2!important}
  .spawner-price-options{gap:14px!important}
  .spawner-price-options section{padding:16px!important;border-radius:14px!important;background:#fff!important;border-color:#c7e7f6!important}
  .spawner-price-options strong{color:#357fa7!important}.spawner-price-options b{color:#17354a!important}

  /* Search-only tools are literally the same shape/proportions as build cards. */
  .catalog-search-only-results{margin:8px 0 28px!important}
  .catalog-search-only-grid{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:18px!important}
  .catalog-search-only-card{overflow:hidden!important;border-radius:18px!important;min-width:0!important}
  .catalog-search-only-card>img{width:100%!important;aspect-ratio:4/3!important;object-fit:cover!important}
  .catalog-search-only-card .build-card-content{padding:13px 14px 16px!important}

  /* Forms and copy should not crowd each other. */
  .custom-build-layout{align-items:start!important;column-gap:clamp(24px,3vw,46px)!important}
  .custom-order-form,.custom-build-panel,.contact-card,.profile-card,.marketplace-toolbar{padding:clamp(20px,2vw,30px)!important}
}
@media (min-width: 769px) and (max-width: 1180px){
  .spawner-options{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .catalog-search-only-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
}

@media (min-width:769px){
  .spawner-options button span small{display:block;margin-bottom:5px;color:#5794b5;font:900 10px/1 Arial,sans-serif;letter-spacing:.11em}
  .spawner-options button span strong{display:block;color:#17354a;font:900 16px/1.15 "Minecraft Ten",Arial,sans-serif}
  .spawner-options button span em{display:block;margin-top:8px;color:#678596;font:700 11px/1.3 Arial,sans-serif;font-style:normal}
}


/* ---- /panel-redesign-v109.css?v=115-master-merge ---- */
/* =========================================================
   ShoreBuild V109 — Staff Panel Visual Refresh
   UI-only layer. Existing role permissions and panel logic remain unchanged.
========================================================= */

:root {
  --shore-panel-ease: cubic-bezier(.2,.75,.2,1);
}

/* ---------- shared motion / cleanup ---------- */
.admin-sidebar,
.admin-main,
.sidebar-button,
.sidebar-logout,
.primary-button,
.secondary-button,
.dashboard-card,
.dashboard-panel,
.admin-build-card,
.admin-user-row,
.admin-panel-card,
.staff-header,
.staff-workspace,
.staff-tabs button,
.staff-row,
.admin-search,
.admin-select,
.staff-schematics-search,
.shore-role-quick-card {
  transition:
    transform .22s var(--shore-panel-ease),
    background-color .22s ease,
    border-color .22s ease,
    box-shadow .22s ease,
    color .22s ease,
    filter .22s ease;
}

button:hover:not(:disabled),
.sidebar-button:hover,
.sidebar-logout:hover,
.admin-panel-card:hover,
.staff-tabs button:hover,
.staff-row:hover,
.admin-build-card:hover,
.shore-role-quick-card:hover {
  transform: translateY(-2px) scale(1.025);
}

button:active:not(:disabled),
.sidebar-button:active,
.staff-tabs button:active,
.staff-row:active,
.shore-role-quick-card:active {
  transform: translateY(0) scale(.985);
}

@media (prefers-reduced-motion: reduce) {
  .admin-sidebar,.admin-main,.sidebar-button,.sidebar-logout,.primary-button,.secondary-button,
  .dashboard-card,.dashboard-panel,.admin-build-card,.admin-user-row,.admin-panel-card,
  .staff-header,.staff-workspace,.staff-tabs button,.staff-row,.admin-search,.admin-select,
  .staff-schematics-search,.shore-role-quick-card { transition: none !important; }
  button:hover:not(:disabled),.sidebar-button:hover,.sidebar-logout:hover,.admin-panel-card:hover,
  .staff-tabs button:hover,.staff-row:hover,.admin-build-card:hover,.shore-role-quick-card:hover { transform:none !important; }
}

/* =========================================================
   ADMIN — BLACK + WHITE
========================================================= */
body:has(.admin-layout) {
  background: #f4f4f4 !important;
  color: #111 !important;
}

.admin-sidebar {
  background: #080808 !important;
  border-right: 1px solid #2e2e2e !important;
  box-shadow: 10px 0 35px rgba(0,0,0,.12) !important;
}
.sidebar-brand { border-bottom-color:#272727 !important; }
.sidebar-brand h1 {
  font-family:"Minecraft Ten","Press Start 2P",monospace !important;
  color:#fff !important;
  text-shadow:none !important;
  letter-spacing:.02em;
}
.sidebar-brand span { color:#9b9b9b !important; }
.sidebar-nav { gap:9px !important; }
.sidebar-button {
  border:1px solid transparent !important;
  border-radius:10px !important;
  color:#aaa !important;
  padding:13px 14px !important;
}
.sidebar-button:hover {
  background:#191919 !important;
  border-color:#383838 !important;
  color:#fff !important;
  box-shadow:0 8px 22px rgba(0,0,0,.22) !important;
}
.sidebar-button.active {
  background:#fff !important;
  border-color:#fff !important;
  color:#050505 !important;
  box-shadow:0 8px 24px rgba(255,255,255,.12) !important;
}
.sidebar-bottom { border-top-color:#272727 !important; }
.sidebar-user-avatar { background:#fff !important;border-color:#fff !important;color:#000 !important; }
.sidebar-user-info strong { color:#fff !important; }
.sidebar-user-info span { color:#8f8f8f !important; }
.sidebar-role-label.role-owner { color:#fff !important; }
.sidebar-logout { background:#121212 !important;border-color:#333 !important;color:#bbb !important;border-radius:9px !important; }
.sidebar-logout:hover { background:#fff !important;border-color:#fff !important;color:#000 !important; }

.admin-main {
  background:
    radial-gradient(circle at 90% 0%, rgba(0,0,0,.06), transparent 34%),
    #f4f4f4 !important;
  color:#111 !important;
}
.admin-header h2,
.admin-section h2,
.panel-heading h3 {
  font-family:"Minecraft Ten","Press Start 2P",monospace !important;
  color:#0b0b0b !important;
  text-shadow:none !important;
}
.page-label { color:#555 !important; }
.admin-header p,
.panel-heading p { color:#666 !important; }

.dashboard-card,
.dashboard-panel,
.users-panel,
.admin-build-card,
.empty-panel,
.maintenance-control-card,
.release-scheduler-card,
.admin-user-row,
.admin-user-details>div {
  background:#fff !important;
  border-color:#d4d4d4 !important;
  color:#111 !important;
  box-shadow:0 10px 32px rgba(0,0,0,.055) !important;
}
.dashboard-card:hover,
.dashboard-panel:hover,
.admin-build-card:hover,
.admin-user-row:hover {
  border-color:#111 !important;
  box-shadow:0 14px 36px rgba(0,0,0,.10) !important;
}
.dashboard-card strong,.dashboard-panel strong,.admin-build-info h3,.admin-user-row strong { color:#111 !important; }
.dashboard-card span,.dashboard-card p,.dashboard-panel p,.admin-build-info p,.admin-user-row small { color:#686868 !important; }

.admin-search,
.admin-select,
.admin-user-role-label select,
.admin-user-popup-card input,
.admin-user-popup-card select,
.admin-user-popup-card textarea {
  background:#fff !important;
  border-color:#cfcfcf !important;
  color:#111 !important;
  border-radius:9px !important;
}
.admin-search:focus-within,.admin-select:focus { border-color:#111 !important;box-shadow:0 0 0 3px rgba(0,0,0,.08) !important; }
.admin-search input { color:#111 !important; }
.admin-search input::placeholder { color:#8a8a8a !important; }

.primary-button { background:#090909 !important;border-color:#090909 !important;color:#fff !important;border-radius:9px !important; }
.primary-button:hover { background:#242424 !important;border-color:#242424 !important;box-shadow:0 9px 22px rgba(0,0,0,.18) !important; }
.secondary-button { background:#fff !important;border-color:#bdbdbd !important;color:#111 !important;border-radius:9px !important; }
.secondary-button:hover { border-color:#111 !important;background:#ededed !important; }

.admin-panel-card { border-radius:13px !important;background:#fff !important;border-color:#d5d5d5 !important;color:#111 !important;box-shadow:0 10px 28px rgba(0,0,0,.06) !important; }
.admin-panel-card span,.admin-panel-card h3 { color:#111 !important; }
.admin-panel-card p { color:#686868 !important; }
.admin-panel-card:hover { border-color:#111 !important;filter:none !important;box-shadow:0 15px 35px rgba(0,0,0,.11) !important; }

/* Keep modal overlays readable in the monochrome admin theme. */
.admin-user-popup-card { background:#fff !important;border-color:#111 !important;color:#111 !important; }
.admin-user-popup-close { color:#111 !important; }

/* =========================================================
   DEV / MANAGER / BUILDER — SHARED STAFF LAYOUT
========================================================= */
.staff-shell {
  width:min(1380px,calc(100% - 40px)) !important;
  padding:28px 0 52px !important;
}
.staff-header {
  border-radius:16px !important;
  padding:22px 24px !important;
  box-shadow:0 12px 34px rgba(38,39,60,.10) !important;
}
.staff-header h1,
.staff-tab h2,
.staff-tab .admin-header h2 {
  font-family:"Minecraft Ten","Press Start 2P",monospace !important;
  letter-spacing:.015em;
}
.role-badge { border-radius:999px !important;padding:9px 13px !important; }

@media (min-width:701px) {
  .staff-workspace {
    display:grid !important;
    grid-template-columns:220px minmax(0,1fr);
    column-gap:26px;
    align-items:start;
    padding:18px !important;
    border-radius:16px !important;
  }
  .staff-mobile-menu-row { display:none !important; }
  .staff-tabs {
    display:flex !important;
    flex-direction:column;
    gap:9px;
    grid-column:1;
    position:sticky;
    top:18px;
    border:0 !important;
    border-right:1px solid var(--staff-border) !important;
    padding:5px 17px 5px 0 !important;
    min-height:calc(100vh - 175px);
    overflow:visible !important;
  }
  .staff-tabs button {
    width:100%;
    text-align:left;
    padding:13px 14px !important;
    border-radius:10px !important;
  }
  .staff-tab {
    grid-column:2;
    grid-row:1;
    min-width:0;
    padding:7px 5px 20px !important;
  }
  .staff-tab.active { display:block !important; }
}

.staff-row { border-radius:11px !important;cursor:pointer; }
.admin-build-card { border-radius:12px !important;overflow:hidden; }
.admin-search,.admin-select,.staff-schematics-search { border-radius:10px !important; }

/* DEV — light purple */
body.role-dev {
  --staff-bg:#eee6ff;
  --staff-surface:#fbf9ff;
  --staff-surface-2:#f3edff;
  --staff-border:#c9b6ef;
  --staff-accent:#8658d5;
  --staff-accent-dark:#6637b5;
  --staff-text:#2b1b45;
  --staff-muted:#77648f;
  background:var(--staff-bg) !important;
  color:var(--staff-text) !important;
}
body.role-dev .staff-header,
body.role-dev .staff-workspace { background:var(--staff-surface) !important;border-color:var(--staff-border) !important;color:var(--staff-text) !important; }
body.role-dev .staff-header span,
body.role-dev .page-label { color:var(--staff-accent-dark) !important; }
body.role-dev .staff-header p,
body.role-dev .staff-tab>p,
body.role-dev .admin-header p { color:var(--staff-muted) !important; }
body.role-dev .role-badge { background:#e4d5ff !important;border-color:#aa88e8 !important;color:#54279b !important; }
body.role-dev .staff-tabs button { background:transparent !important;border-color:transparent !important;color:#684d86 !important; }
body.role-dev .staff-tabs button:hover { background:#e5d8fb !important;border-color:#b89ae9 !important;color:#4b2581 !important; }
body.role-dev .staff-tabs button.active { background:var(--staff-accent) !important;border-color:var(--staff-accent-dark) !important;color:#fff !important;box-shadow:0 8px 20px rgba(102,55,181,.20) !important; }
body.role-dev .staff-row,
body.role-dev .admin-build-card { background:#fff !important;border-color:#d3c4ee !important;color:var(--staff-text) !important; }
body.role-dev .staff-row:hover,
body.role-dev .admin-build-card:hover { background:#f5efff !important;border-color:var(--staff-accent) !important;box-shadow:0 12px 26px rgba(102,55,181,.12) !important; }
body.role-dev .staff-row small { color:var(--staff-muted) !important; }
body.role-dev .admin-search,
body.role-dev .admin-select,
body.role-dev .staff-schematics-search { background:#fff !important;border-color:#cbb9ed !important;color:var(--staff-text) !important; }
body.role-dev .admin-search input { color:var(--staff-text) !important; }

/* MANAGER — light red */
body.role-manager {
  --staff-bg:#fde8ea;
  --staff-surface:#fffafb;
  --staff-surface-2:#fceff0;
  --staff-border:#efb9be;
  --staff-accent:#d95d68;
  --staff-accent-dark:#b53e49;
  --staff-text:#4c2025;
  --staff-muted:#8d6064;
  background:var(--staff-bg) !important;
  color:var(--staff-text) !important;
}
body.role-manager .staff-header,
body.role-manager .staff-workspace { background:var(--staff-surface) !important;border-color:var(--staff-border) !important;color:var(--staff-text) !important; }
body.role-manager .staff-header span,
body.role-manager .page-label { color:var(--staff-accent-dark) !important; }
body.role-manager .staff-header p,
body.role-manager .staff-tab>p,
body.role-manager .admin-header p { color:var(--staff-muted) !important; }
body.role-manager .role-badge { background:#f9d9dc !important;border-color:#e9959c !important;color:#9b303a !important; }
body.role-manager .staff-tabs button { background:transparent !important;border-color:transparent !important;color:#8b4b50 !important; }
body.role-manager .staff-tabs button:hover { background:#f6d9dc !important;border-color:#e7a5ab !important;color:#7b3037 !important; }
body.role-manager .staff-tabs button.active { background:var(--staff-accent) !important;border-color:var(--staff-accent-dark) !important;color:#fff !important;box-shadow:0 8px 20px rgba(181,62,73,.18) !important; }
body.role-manager .staff-row,
body.role-manager .admin-build-card { background:#fff !important;border-color:#edc8cc !important;color:var(--staff-text) !important; }
body.role-manager .staff-row:hover,
body.role-manager .admin-build-card:hover { background:#fff2f3 !important;border-color:var(--staff-accent) !important;box-shadow:0 12px 26px rgba(181,62,73,.10) !important; }
body.role-manager .staff-row small { color:var(--staff-muted) !important; }
body.role-manager .admin-search,
body.role-manager .admin-select,
body.role-manager .staff-schematics-search { background:#fff !important;border-color:#e9b8bc !important;color:var(--staff-text) !important; }
body.role-manager .admin-search input { color:var(--staff-text) !important; }

/* BUILDER — light blue */
body.role-builder {
  --staff-bg:#dff3ff;
  --staff-surface:#f9fdff;
  --staff-surface-2:#eaf7ff;
  --staff-border:#9fd5ef;
  --staff-accent:#3ca7dc;
  --staff-accent-dark:#207daf;
  --staff-text:#123b55;
  --staff-muted:#61859a;
  background:var(--staff-bg) !important;
  color:var(--staff-text) !important;
}
body.role-builder .staff-header,
body.role-builder .staff-workspace { background:var(--staff-surface) !important;border-color:var(--staff-border) !important;color:var(--staff-text) !important; }
body.role-builder .staff-header span,
body.role-builder .page-label { color:var(--staff-accent-dark) !important; }
body.role-builder .staff-header p,
body.role-builder .staff-tab>p,
body.role-builder .admin-header p { color:var(--staff-muted) !important; }
body.role-builder .role-badge { background:#d7effc !important;border-color:#75c5e9 !important;color:#126c99 !important; }
body.role-builder .staff-tabs button { background:transparent !important;border-color:transparent !important;color:#397896 !important; }
body.role-builder .staff-tabs button:hover { background:#d9f0fb !important;border-color:#94d2ee !important;color:#1c668a !important; }
body.role-builder .staff-tabs button.active { background:var(--staff-accent) !important;border-color:var(--staff-accent-dark) !important;color:#fff !important;box-shadow:0 8px 20px rgba(32,125,175,.17) !important; }
body.role-builder .staff-row,
body.role-builder .admin-build-card { background:#fff !important;border-color:#b9dff0 !important;color:var(--staff-text) !important; }
body.role-builder .staff-row:hover,
body.role-builder .admin-build-card:hover { background:#edf9ff !important;border-color:var(--staff-accent) !important;box-shadow:0 12px 26px rgba(32,125,175,.10) !important; }
body.role-builder .staff-row small { color:var(--staff-muted) !important; }
body.role-builder .admin-search,
body.role-builder .admin-select,
body.role-builder .staff-schematics-search { background:#fff !important;border-color:#acd9ed !important;color:var(--staff-text) !important; }
body.role-builder .admin-search input { color:var(--staff-text) !important; }

/* Owner previewing staff panel: neutral monochrome rather than old cyan. */
body.role-owner { --staff-border:#cfcfcf;background:#ededed !important;color:#111 !important; }
body.role-owner .staff-header,body.role-owner .staff-workspace { background:#fff !important;border-color:#d2d2d2 !important;color:#111 !important; }
body.role-owner .staff-header span,body.role-owner .page-label { color:#555 !important; }
body.role-owner .staff-header p,body.role-owner .staff-tab>p { color:#707070 !important; }
body.role-owner .staff-tabs button { background:transparent !important;border-color:transparent !important;color:#555 !important; }
body.role-owner .staff-tabs button:hover { background:#ececec !important;border-color:#bbb !important;color:#111 !important; }
body.role-owner .staff-tabs button.active { background:#111 !important;border-color:#111 !important;color:#fff !important; }
body.role-owner .staff-row,body.role-owner .admin-build-card { background:#fff !important;border-color:#d5d5d5 !important;color:#111 !important; }

/* Mobile keeps the existing menu behavior, but gets the refreshed colors. */
@media (max-width:700px) {
  .staff-shell { width:min(100% - 18px,1180px) !important;padding-top:12px !important; }
  .staff-header { border-radius:13px !important;padding:17px !important;gap:12px !important; }
  .staff-header h1 { font-size:24px !important; }
  .staff-workspace { padding:12px !important;border-radius:13px !important; }
  .staff-mobile-menu { border-radius:10px !important; }
  body.role-dev .staff-mobile-menu { background:#8658d5 !important;border-color:#6637b5 !important;color:#fff !important; }
  body.role-manager .staff-mobile-menu { background:#d95d68 !important;border-color:#b53e49 !important;color:#fff !important; }
  body.role-builder .staff-mobile-menu { background:#3ca7dc !important;border-color:#207daf !important;color:#fff !important; }
  body.role-owner .staff-mobile-menu { background:#111 !important;border-color:#111 !important;color:#fff !important; }
  .staff-tabs { border-radius:11px !important; }
  body.role-dev .staff-tabs,body.role-manager .staff-tabs,body.role-builder .staff-tabs,body.role-owner .staff-tabs { background:#fff !important;border-color:var(--staff-border,#ccc) !important; }
}

/* =========================================================
   HOMEPAGE — EXACT ROLE QUICK ACCESS
========================================================= */
.shore-role-quick-card[hidden] { display:none !important; }
.shore-role-quick-card {
  display:flex;
  flex-direction:column;
  justify-content:center;
  position:relative;
  overflow:hidden;
}
.shore-role-quick-card::after {
  content:"";
  position:absolute;
  width:110px;
  height:110px;
  right:-38px;
  bottom:-48px;
  border-radius:50%;
  opacity:.13;
  background:currentColor;
}
.role-owner-quick { background:#111 !important;border-color:#111 !important;color:#fff !important; }
.role-owner-quick span,.role-owner-quick strong,.role-owner-quick em,.role-owner-quick p { color:#fff !important; }
.role-dev-quick { background:#eee6ff !important;border-color:#ae8ee5 !important;color:#542b92 !important; }
.role-dev-quick span,.role-dev-quick strong,.role-dev-quick em { color:#542b92 !important; }
.role-dev-quick p { color:#786391 !important; }
.role-manager-quick { background:#fde5e7 !important;border-color:#e49aa1 !important;color:#92333c !important; }
.role-manager-quick span,.role-manager-quick strong,.role-manager-quick em { color:#92333c !important; }
.role-manager-quick p { color:#8b6064 !important; }
.role-builder-quick { background:#ddf3ff !important;border-color:#8bcbe9 !important;color:#176f9e !important; }
.role-builder-quick span,.role-builder-quick strong,.role-builder-quick em { color:#176f9e !important; }
.role-builder-quick p { color:#5f8195 !important; }

/* Embedded Stock Creator adopts the parent staff role palette. */
html[data-staff-embed-theme="dev"] body:has(.admin-layout),
html[data-staff-embed-theme="dev"] .admin-main { background:#eee6ff !important; }
html[data-staff-embed-theme="dev"] .admin-sidebar { background:#6840ad !important;border-color:#8e68ce !important; }
html[data-staff-embed-theme="dev"] .primary-button { background:#7448bf !important;border-color:#7448bf !important; }
html[data-staff-embed-theme="dev"] .primary-button:hover { background:#5d35a4 !important;border-color:#5d35a4 !important; }

html[data-staff-embed-theme="manager"] body:has(.admin-layout),
html[data-staff-embed-theme="manager"] .admin-main { background:#fde8ea !important; }
html[data-staff-embed-theme="manager"] .admin-sidebar { background:#b7444f !important;border-color:#d26872 !important; }
html[data-staff-embed-theme="manager"] .primary-button { background:#ce5661 !important;border-color:#ce5661 !important; }
html[data-staff-embed-theme="manager"] .primary-button:hover { background:#ae3944 !important;border-color:#ae3944 !important; }

html[data-staff-embed-theme="builder"] body:has(.admin-layout),
html[data-staff-embed-theme="builder"] .admin-main { background:#dff3ff !important; }
html[data-staff-embed-theme="builder"] .admin-sidebar { background:#207da9 !important;border-color:#46a9d5 !important; }
html[data-staff-embed-theme="builder"] .primary-button { background:#318fc0 !important;border-color:#318fc0 !important; }
html[data-staff-embed-theme="builder"] .primary-button:hover { background:#1e719e !important;border-color:#1e719e !important; }


/* ---- /site-improvements-v112.css?v=134 ---- */
/* ShoreBuild v112 — coordinated public polish. Loaded last on public pages. */
:root{
  --sb-bg:#c9efff;
  --sb-surface:#ffffff;
  --sb-surface-soft:#eefaff;
  --sb-text:#08243b;
  --sb-muted:#53758a;
  --sb-border:rgba(23,105,170,.22);
  --sb-primary:#1769aa;
  --sb-primary-strong:#0d527f;
  --sb-success:#237a4a;
  --sb-warning:#8a6515;
  --sb-error:#a43c4b;
  --sb-radius:14px;
  --sb-focus:0 0 0 3px rgba(23,105,170,.24);
  --sb-header-safe:78px;
}

html{scroll-padding-top:calc(var(--sb-header-safe) + 12px)}
body{overflow-x:clip}
:where(a,button,input,select,textarea,[tabindex]):focus-visible{
  outline:2px solid var(--sb-primary)!important;
  outline-offset:3px!important;
  box-shadow:var(--sb-focus);
}

/* Keep fixed navigation from covering first-page content. */
html[data-big-update-subpage="true"] body.big-update-subpage > main,
body.my-orders-page > main,
body.roles-page > main,
body.builds-page > .page,
.marketplace-owner-shell,
.future-simple-page{
  scroll-margin-top:calc(var(--sb-header-safe) + 12px);
}

/* Public header alignment and compact laptop behavior. */
.future-topbar.v43-topbar{
  min-height:64px;
  align-items:center;
}
.future-nav{align-items:center}
.future-nav a{white-space:nowrap}
.future-nav-search-button{min-width:170px}

/* Homepage: preserve ShoreBuild look, remove inflated empty spacing. */
.future-hero{padding-top:6px}
.future-hero h1{letter-spacing:-.025em}
.future-hero p{max-width:640px;line-height:1.5}
.future-hero-actions{flex-wrap:wrap}
.future-hero-button{min-height:44px}
.shore-home-section{scroll-margin-top:96px}
.shore-home-stat-grid > div{gap:5px}
.shore-home-stat-grid strong,.shore-home-stat-grid span{display:block}
.shore-home-stat-grid span{line-height:1.2}
.shore-home-update-loading{min-height:132px}

/* A single compact account entry stays above content, never above modal dialogs. */
.account-area{z-index:22000}
.account-dropdown{max-height:min(560px,calc(100dvh - 100px));overflow:auto}

/* Signed-out account states. */
.sb-auth-state{
  background:var(--sb-surface);
  border:1px solid var(--sb-border);
  border-radius:var(--sb-radius);
  padding:24px;
  text-align:left;
  box-shadow:0 12px 32px rgba(25,91,128,.08);
}
.sb-auth-state h1,.sb-auth-state h2{margin:0 0 8px;color:var(--sb-text)}
.sb-auth-state p{margin:0 0 16px;color:var(--sb-muted);line-height:1.55}
.sb-auth-state button,.sb-auth-state a{
  display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 16px;
  border-radius:10px;border:1px solid var(--sb-primary);background:var(--sb-primary);color:#fff;
  text-decoration:none;font-weight:700;cursor:pointer;
}

/* Roles should never be a blank blue page while auth is unresolved. */
.roles-page-main{min-height:320px}
.roles-page-selector{min-height:220px}
.roles-signed-out{display:grid;gap:12px}
.roles-signed-out .role-examples{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:4px 0 6px}
.roles-signed-out .role-examples span{padding:9px 10px;border-radius:10px;background:var(--sb-surface-soft);border:1px solid var(--sb-border);font-size:12px}

/* Contact rows: compact and consistent. */
.contact-page-main .sb-contact-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:18px 0}
.contact-page-main .sb-contact-card{padding:16px;border:1px solid var(--sb-border);border-radius:12px;background:#fff}
.contact-page-main .sb-contact-card strong{display:block;margin-bottom:5px}
.contact-page-main .sb-contact-card span{color:var(--sb-muted);font-size:13px}

/* Updates replaces the ambiguous Catalog label without changing route. */
.update-catalog-intro{max-width:760px;line-height:1.55}
.dynamic-update-entry{scroll-margin-top:92px}

/* Loading, empty and failure states share one restrained treatment. */
.sb-state-card{border:1px solid var(--sb-border);border-radius:12px;background:#fff;padding:18px;text-align:center;color:var(--sb-muted)}
.sb-state-card strong{display:block;color:var(--sb-text);margin-bottom:6px}
.sb-skeleton{position:relative;overflow:hidden;background:#dfeff7!important;color:transparent!important}
.sb-skeleton::after{content:"";position:absolute;inset:0;transform:translateX(-100%);background:linear-gradient(90deg,transparent,rgba(255,255,255,.55),transparent);animation:sbShimmer 1.2s ease-in-out infinite}
@keyframes sbShimmer{to{transform:translateX(100%)}}
@media (prefers-reduced-motion:reduce){.sb-skeleton::after{animation:none}.build-card{transition:none!important}}

/* Build/media reliability. */
.build-card img{object-fit:cover}
.sb-image-fallback{display:grid;place-items:center;min-height:120px;background:#e8f7fd;border-bottom:1px solid var(--sb-border);color:var(--sb-muted);text-align:center;padding:12px}
.sb-image-fallback strong{display:block;color:var(--sb-text);font-size:12px}.sb-image-fallback span{font-size:10px}

/* Custom shulker: tap/keyboard first, drag remains a shortcut. */
.shulker-slot{position:relative}
.shulker-slot[aria-selected="true"]{box-shadow:0 0 0 3px rgba(23,105,170,.28) inset}
.shulker-slot-empty-index{font-size:9px;color:#7c99a8}
.shulker-editor-status{margin:8px 0 0;color:var(--sb-muted);font-size:12px}
.shulker-summary{gap:10px;align-items:center}
.shulker-summary .sb-slot-summary{display:flex;gap:12px;flex-wrap:wrap}

/* Keep overlays within the viewport. */
:where(.future-search-card,.customer-order-dialog,.name-appearance-card,.owned-item-popup-card,.shulker-quantity-dialog,.shulker-enchant-dialog){max-height:calc(100dvh - 28px);overflow:auto}

@media (max-width:1024px){
  :root{--sb-header-safe:72px}
  .future-nav{gap:10px}.future-nav a{font-size:11px}.future-nav-search-button{min-width:150px}
}
@media (max-width:768px){
  :root{--sb-header-safe:64px}
  html{scroll-padding-top:72px}
  .future-home-main{padding-top:18px!important}
  .future-hero{padding-top:10px!important}
  .contact-page-main .sb-contact-grid{grid-template-columns:1fr}
  .roles-signed-out .role-examples{grid-template-columns:1fr}
  .account-area{right:max(14px,env(safe-area-inset-right));bottom:max(14px,env(safe-area-inset-bottom))}
  .customer-message-compose textarea,input,select{font-size:16px}
}
@media (max-width:390px){
  .future-hero h1{font-size:32px!important}
  .shore-home-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
/* v112 Shulker shelf view controls */
.shulker-shelf-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.shulker-view-toggle{display:flex;gap:6px}.shulker-view-toggle button{min-height:36px;border:1px solid var(--sb-border);background:#fff;color:var(--sb-text);border-radius:9px;padding:7px 10px;cursor:pointer}.shulker-view-toggle button.active{background:var(--sb-primary);color:#fff;border-color:var(--sb-primary)}
.item-grid.list-view{display:flex!important;flex-direction:column!important;gap:8px!important}.item-grid.list-view .item-card{display:grid!important;grid-template-columns:42px 1fr auto!important;align-items:center!important;gap:10px!important;min-height:54px!important}.item-grid.list-view .item-card img,.item-grid.list-view .item-placeholder{width:42px!important;height:42px!important;grid-row:1/3!important}.item-grid.list-view .item-card strong{align-self:end}.item-grid.list-view .item-card small{grid-column:3;grid-row:1/3;align-self:center}.shulker-summary-actions{display:flex;gap:8px;align-items:center}.shulker-summary-actions button{min-height:42px}
/* Grouped global search */
.future-search-results{gap:14px!important}.future-search-group{display:flex;flex-direction:column;gap:7px}.future-search-group h3{margin:4px 4px 2px;color:var(--sb-muted);font-size:10px;letter-spacing:.12em;text-transform:uppercase}.future-search-empty{display:grid;gap:5px}.future-search-empty strong{color:var(--sb-text);font-size:13px}.future-search-empty span{font-size:11px}


/* ---- /build-3d-popup.css?v=153 ---- */
.popup-3d-view{display:flex;align-items:center;justify-content:center;width:100%;min-height:46px;margin:8px 0 10px;border:1px solid rgba(44,163,219,.38);border-radius:11px;background:linear-gradient(135deg,#eefaff,#dff4ff);color:#12668f;text-decoration:none;font-weight:900;letter-spacing:.01em;box-shadow:0 7px 18px rgba(26,126,173,.12);transition:transform .18s ease,box-shadow .18s ease}.popup-3d-view:hover{transform:translateY(-1px);box-shadow:0 10px 23px rgba(26,126,173,.18)}@media(max-width:700px){.popup-3d-view{min-height:48px}}
.popup-3d-view.is-disabled{opacity:.52;cursor:not-allowed;pointer-events:none;filter:saturate(.4)}


/* ---- /homepage-scroll-v169.css?v=169 ---- */
/* ShoreBuild V169 — desktop homepage native-scroll repair. */
@media (min-width: 769px) {
  html[data-shorebuild-public-release="true"]:not([data-big-update-subpage="true"]),
  html.shore-big-update-active:not([data-big-update-subpage="true"]) {
    width: 100% !important;
    height: auto !important;
    min-height: 100% !important;
    max-height: none !important;
    overflow-x: hidden !important;
    overflow-y: scroll !important;
    overscroll-behavior-y: auto !important;
    scrollbar-gutter: stable;
  }

  html[data-shorebuild-public-release="true"]:not([data-big-update-subpage="true"]) body,
  html.shore-big-update-active:not([data-big-update-subpage="true"]) body {
    width: 100% !important;
    height: auto !important;
    min-height: 100vh !important;
    max-height: none !important;
    overflow-x: hidden !important;
    overflow-y: visible !important;
    overscroll-behavior-y: auto !important;
  }

  html[data-shorebuild-public-release="true"]:not([data-big-update-subpage="true"]) body > #futureHomepage,
  html.shore-big-update-active:not([data-big-update-subpage="true"]) body > #futureHomepage,
  html[data-shorebuild-public-release="true"]:not([data-big-update-subpage="true"]) #futureHomepage .future-home-main,
  html.shore-big-update-active:not([data-big-update-subpage="true"]) #futureHomepage .future-home-main,
  html[data-shorebuild-public-release="true"]:not([data-big-update-subpage="true"]) #futureHomepage .shore-home-scroll-content,
  html.shore-big-update-active:not([data-big-update-subpage="true"]) #futureHomepage .shore-home-scroll-content {
    position: relative !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    overflow: visible !important;
  }

  /* Keep real modal locks working while preventing stale homepage lock classes. */
  html.popup-open,
  html.tutorial-open,
  html.mineouts-open,
  html.spawner-modal-open,
  html.shore-discord-popup-open,
  html.order-modal-open,
  html.order-profile-modal-open,
  html.custom-block-modal-open,
  html.panel-popup-scroll-locked,
  html.dev-scroll-locked {
    overflow-y: hidden !important;
  }
}


/* ---- /v176-update.css?v=177 ---- */
html[data-v176-page]:not([data-v176-mode]) body{visibility:hidden}[data-v176][hidden]{display:none!important}.v176-preview-badge{position:fixed;left:16px;bottom:16px;z-index:20050;background:#17354a;color:#fff;border:1px solid #68bdf2;border-radius:999px;padding:8px 12px;font:700 11px/1.2 system-ui;box-shadow:0 8px 24px #17354a33}.v176-feature-link{display:inline-flex;align-items:center;gap:8px;text-decoration:none}.v176-oauth-row{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}.v176-oauth{border:1px solid #d7e7f2;background:#fff;color:#17354a;border-radius:10px;padding:10px 12px;font-weight:700;cursor:pointer}.v176-oauth:disabled{opacity:.5;cursor:not-allowed}.v176-market-banner{max-width:1100px;margin:18px auto;padding:16px 18px;border:1px solid #cde8f8;border-radius:16px;background:linear-gradient(135deg,#eef7ff,#fff);display:flex;align-items:center;justify-content:space-between;gap:16px}.v176-market-banner strong{color:#17354a}.v176-market-banner p{margin:4px 0 0;color:#5f7483}.v176-market-banner a{background:#4fafe9;color:#fff;border-radius:10px;padding:10px 14px;text-decoration:none;font-weight:800}@media(max-width:640px){.v176-market-banner{align-items:flex-start;flex-direction:column}.v176-oauth-row{grid-template-columns:1fr}}

