/* Full-color profession-world scene; Home and Entry retain their own scenes. */
body:not(.lobby-body):not(.entry-page) {
  background-color: #fff4dc;
  background-image: url("images/backgrounds/talent-wars-entry-world.webp");
  background-position: center, center;
  background-size: cover, cover;
  background-repeat: no-repeat;
  background-attachment: fixed;
}

/* Login keeps the same illustrated world; legal copy uses it as a watermark. */
body.login-page:not(.profile-page) {
  background-image:url("images/backgrounds/talent-wars-entry-world.webp");
  background-position:center;
  background-size:cover;
}
body.legal-page:not(.lobby-body):not(.entry-page) {
  background-image:
    linear-gradient(rgb(255 244 220 / 86%),rgb(255 244 220 / 86%)),
    url("images/backgrounds/talent-wars-entry-world.webp");
}
.legal-page .legal-document {
  box-sizing:border-box;
  padding:clamp(24px,4vw,42px);
  margin-block:24px;
  border:1px solid #d7c7a6;
  border-radius:20px;
  background:rgb(255 250 240 / 94%);
}

/* Older body overlays must not wash out the full-color illustration. */
body:not(.lobby-body):not(.entry-page)::before,
body:not(.lobby-body):not(.entry-page)::after {
  display: none;
}

/* Small copy outside panels needs a local backing, not a faded whole scene. */
.login-page .login-brand,
.login-page .login-footnote {
  color: #23434a;
  background: rgb(255 250 240 / 94%);
  padding: 6px 12px;
  border-radius: 10px;
}

/* Keep text on solid, themed panels while the world remains fully illustrated.
   Group related copy rather than putting a separate box around every line. */
body:not(.lobby-body):not(.entry-page) :is(
  .seasonal-nav,.seasonal-hero-copy,.track-heading,.seasonal-footer,
  .sp-nav,.sp-hero-copy,.sp-section-heading,.sp-footer,
  .deck-topline,.deck-intro,.decks-topline,.decks-intro,.decks-footer,
  .gm-top,.gm-intro,.shop-topbar,.shop-hero,.shop-section-heading,.shop-footer,
  .legal-topline,.legal-page .entry-footer,main>nav[aria-label="Navegação"]
){
  box-sizing:border-box;
  padding:12px 16px;
  border:2px solid #2c4a50;
  border-radius:16px;
  background:#fffaf0;
  color:#23434a;
  box-shadow:0 3px 0 rgb(44 74 80 / 25%);
}
.seasonal-page .tier-number{
  border:1px solid #d7cbb6;
  border-radius:12px;
  background:#fffaf0;
}
.seasonal-page .track-labels{background:#fffaf0;}
.match-page .hand h2.hand-company{
  padding:4px 8px;
  border-radius:8px;
  background:#fffaf0;
  color:#23434a;
  text-shadow:none;
}
.match-page .game-header .game-title-copy h1{
  padding:4px 8px;
  border:1px solid #6a3b0c;
  border-radius:8px;
  background:#2c1b10;
}
@media(max-width:700px){
  body:not(.lobby-body):not(.entry-page) :is(
    .seasonal-nav,.seasonal-hero-copy,.track-heading,.seasonal-footer,
    .sp-nav,.sp-hero-copy,.sp-section-heading,.sp-footer,
    .deck-topline,.deck-intro,.decks-topline,.decks-intro,.decks-footer,
    .gm-top,.gm-intro,.shop-topbar,.shop-hero,.shop-section-heading,.shop-footer,
    .legal-topline,.legal-page .entry-footer,main>nav[aria-label="Navegação"]
  ){padding:8px 10px;border-radius:12px;}
}

.deck-builder-page .collection-total {
  color: #23434a;
  background: #ffe09a;
  border-color: #aa7529;
  font-weight: 800;
  font-variant-numeric: tabular-nums;
}

.deck-builder-page .sector-heading [data-sector-count] {
  color: #294e43;
  font-weight: 700;
}

.deck-builder-page .card-copy-count {
  color: #fffdf5;
  background: #315f4e;
  border-color: #315f4e;
  font-weight: 800;
}

@media (max-width: 720px) {
  body:not(.lobby-body):not(.entry-page) {
    background-attachment: scroll;
  }
}
