/* 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}
}
