/* Scoped to the existing game; retain the account, quests and realistic 3D. */
#game .game-city-navigation {
  position: relative;
  top: auto;
  color: #edf3f8;
  border-radius: 14px;
  padding: 12px;
}
#game .game-nav-more > summary { color: #edf3f8; background: #142535; }
#game .game-nav-more[open] > div { max-height: 65dvh; overflow-y: auto; }
#game :is(.game-heading,.game-session-strip,.game-nav-balance) { color: #edf3f8; }
html[data-theme=light] #game :is(.game-heading,.competition-summary,.game-next-step,.game-pending,.district-story,.gym-games>article,.life-action,.city-cup,.city-weekly,.city-ranking,.sports-chapter,.campaign-current,.challenge-controls,.game-session-strip) {
  background: #fff !important;
  color: #152536 !important;
  border-color: #9aafc0;
}
#game .challenge-head :is(h1,h2,h3,p,.eyebrow),#game .challenge-duel :is(p,span) { color: #edf3f8 !important; }
html[data-theme=light] #game .challenge-controls :is(h2,h3,p,label,.eyebrow) { color: #152536 !important; }
html[data-theme=light] #game .challenge-demo > span,
html[data-theme=light] #game .game-app-bar > :is(strong,span) { color: #855710 !important; }
html[data-theme=light] #game #introStart { background: #e8bd69 !important; color: #152536 !important; }
html[data-theme=light] #game .sports-card-stats > div { background: #eff4f8; color: #152536; }
#gameAvatar > .experience-art { grid-column: 1 / -1; width: 100%; height: 180px; }
html[data-theme=light] #game .game-heading::before { opacity: .08; }
html[data-theme=light] #game .game-nav-balance { color: #edf3f8 !important; }
html[data-theme=light] #game .game-nav-more > summary { color: #edf3f8 !important; }
html[data-theme=light] #game :is(.competition-summary,.game-heading) :is(h1,h2,h3,p,span,strong) { color: #152536; }
#game .competition-catalog { align-content: start; grid-auto-rows: max-content; }
#game .competition-catalog > button {
  height: auto;
  min-height: 112px;
  overflow: visible;
  white-space: normal;
  grid-template-columns: 64px minmax(0,1fr);
}
#game .competition-catalog > button > .experience-art { width: 64px; height: 64px; }
#game .competition-catalog > button :is(strong,small,span:not(.experience-art)) { min-width: 0; line-height: 1.4; }
#game .map-pin { overflow-wrap: normal; word-break: normal; hyphens: none; }
#game [data-location-panel] { scroll-margin-top: 16px; }
#game .city-travel-hero { z-index: 1; }
#game .map-pin { z-index: 2; }
@media(max-width:680px) {
  #game .city-map-board { height: 350px; }
  #game .map-pin { max-width: 118px; padding: 8px 6px; font-size: 12px; }
  #game .pin-style { left: 77%; width: 116px; }
  #game .competition-layout { grid-template-columns: minmax(0,1fr); }
  #game .competition-catalog { max-height: 540px; }
  #game .game-nav-primary > button,#game .game-nav-more > summary { font-size: 13px; }
}
@media(max-width:420px) {
  #game .game-nav-primary > button,#game .game-nav-more > summary {
    font-size: 11px;
    padding-inline: 2px;
    white-space: nowrap;
    overflow-wrap: normal;
    min-width: 0;
  }
}

/* The overview should open with the hero's actual state, without repeated notebook banners. */
#game #gameOverview > .section-banner,
#game #gameOverview > .game-overview > .experience-art { display: none; }

.fitness-world-modes {position:relative;inset:auto;display:flex;gap:8px;flex-wrap:wrap;margin:0 auto 16px;max-width:1240px;padding:0 12px;}
.fitness-world-modes a {padding:10px 16px;border:1px solid var(--ofw-border,#9aafc0);border-radius:12px;background:var(--ofw-panel,#fff);color:var(--ofw-text,#152536);font-weight:600;text-decoration:none;}
.fitness-world-modes a[aria-current="page"] {background:#e8bd69;color:#152536;border-color:#855710;}
.fitness-world-modes a:focus-visible {outline:3px solid #855710;outline-offset:3px;}

/* Keep the store full-width and prices readable in both themes. */
#game #gameStore { grid-column: 1 / -1; min-width: 0; }
#game #gameDaily:has(> #gameStore:not([hidden])) > .section-banner { display: none; }
#game #gameStore .game-store-tabs { display: flex; flex-wrap: wrap; gap: 8px; }
#game #gameStore .game-store-tabs > button { flex: 1 1 9rem; min-width: 0; white-space: nowrap; overflow-wrap: normal; word-break: normal; }
#game #gameStore .visual-store-item > div > p { color: var(--ofw-text,#152536); opacity: 1; font-weight: 500; }

/* Category scenes retain their entire square composition on every screen. */
/* Face choices and tattoo sketches already illustrate the style workspace. */
#game #gameStyle > .section-banner,
#game #gameStyle > .nutrition-panel > .experience-art {display:none;}
#game .housing-choice:has(> .housing-art) > .experience-art {display:none;}
#game #gameWardrobe .wardrobe-banner {
  width:min(100%,240px);height:auto;aspect-ratio:1;
  background-image:url(/assets/game-services-panels.webp);background-size:300% 200%;background-position:100% 0;
}
#game #gameWardrobe .wardrobe-layout:has(> div > p[role="status"]) {grid-template-columns:minmax(0,1fr);}
#game #gameWardrobe .wardrobe-layout > div > p[role="status"] {
  color:var(--ofw-text,#152536);background:var(--ofw-panel,#fff);border:1px solid var(--ofw-border,#9aafc0);border-left:3px solid #bd8b30;
}
#game #gameWardrobe label:has(> #wardrobeOwned) {display:flex;align-items:center;gap:8px;}
#game #wardrobeOwned {width:auto;min-width:0;}
#game #gameStore > .store-category-banner {
  display:grid;grid-template-columns:minmax(140px,220px) minmax(0,1fr);align-items:center;gap:24px;
  margin:0 0 24px;padding:16px;border-radius:16px;background:#112434;color:#f1f5f8;
}
#game #gameStore > .store-category-banner > svg {display:block;width:100%;height:auto;aspect-ratio:1;border-radius:12px;overflow:hidden;background:#112434;}
#game .store-category-banner figcaption {min-width:0;}
#game .store-category-banner figcaption > strong {font-size:clamp(22px,3vw,32px);line-height:1.2;color:#f2cb80;}
#game .store-category-banner figcaption > p {font-size:16px;line-height:1.5;color:#e0e8ee;margin:12px 0 0;}
@media(max-width:600px){
  #game #gameStore > .store-category-banner {grid-template-columns:100px minmax(0,1fr);gap:14px;padding:12px;}
  #game .store-category-banner figcaption > p {font-size:14px;margin-top:8px;}
}

/* Direct location cards replace walking and map pins on every device. */
#game .city-map-board {
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;
  height:auto;min-height:0;padding:0;background:none !important;border:0;
}
#game .city-map-board .map-pin {
  position:static;inset:auto;transform:none;width:100%;max-width:none;
  min-height:76px;margin:0;padding:16px 12px;white-space:normal;
  font-size:16px;line-height:1.3;text-align:center;touch-action:manipulation;
}
#game .city-travel-hero,
#game .city-volume-option,
#game .city-map-note,
#game .city-map-board .map-pending {display:none;}
#game .city-map-board .map-pin:focus-visible {outline:3px solid #bd8b30;outline-offset:3px;}
@media(max-width:360px){#game .city-map-board{gap:8px;}#game .city-map-board .map-pin{font-size:14px;padding:12px 8px;}}

/* Remove the duplicate walking prompt and the old map aspect ratio. */
#game .city-map-board {aspect-ratio:auto;align-content:start;grid-auto-rows:auto;}
#game .direct-city {display:none;}
