/* Keep mobile text at readable screen pixels instead of scaling whole menus. */
@media (max-width: 620px), (max-width: 1024px) and (max-height: 560px), (pointer: coarse) and (max-width: 1024px) {
  .game-menu {
    padding: 8px !important;
  }

  .game-menu.open[class] .game-menu-panel {
    width: calc(100vw - 16px) !important;
    max-width: 100% !important;
    height: auto !important;
    max-height: calc(100dvh - 16px) !important;
    min-height: 0 !important;
    aspect-ratio: auto !important;
    padding: 10px !important;
    border: 3px solid #ba792d !important;
    border-radius: 18px !important;
    background: linear-gradient(180deg, #fff5d5, #ffe0a1) !important;
    overflow: auto !important;
    overscroll-behavior: contain;
    transform: none !important;
    will-change: auto;
    -webkit-overflow-scrolling: touch;
  }

  .game-menu .game-menu-head {
    position: sticky !important;
    inset: 0 0 auto !important;
    display: grid !important;
    min-height: 52px;
    margin: -10px -10px 12px !important;
    padding: 8px 12px;
    background: #fff1c7;
    border-bottom: 2px solid #d4a358;
    z-index: 150;
  }

  .game-menu-head > div,
  .game-menu-head span,
  .game-menu-head strong { display: block !important; }
  .game-menu.open[class] .game-menu-head .round-command {
    width: 44px !important;
    height: 44px !important;
    font-size: 24px !important;
    color: #fff !important;
    background: #c44327 !important;
    border: 2px solid #f4c36a !important;
    border-radius: 50% !important;
    opacity: 1 !important;
    text-indent: 0 !important;
  }
  .game-menu .game-menu-body { height: auto !important; padding: 0 !important; }

  .game-menu.open[class] :is(strong, span, small, em, p, label, button, input, select, textarea),
  .menu-copy,
  .game-alert-stack :is(strong, span, small, p, button) {
    font-size: 16px !important;
    line-height: 1.35 !important;
    white-space: normal !important;
    overflow-wrap: anywhere;
    text-overflow: clip !important;
  }
  .game-menu.open[class] :is(small, em) { font-size: 14px !important; }
  .game-menu strong { font-size: 20px !important; }
  .game-menu.open[class] .game-menu-head strong { font-size: 24px !important; }
  .game-menu.open[class] :is(h2, h3) { font-size: 24px !important; line-height: 1.2 !important; }
  .game-menu button { min-height: 44px; }
  .game-menu.open[class] :is(input, select, textarea) { min-height: 44px; max-width: 100%; }
  .game-menu.open[class] :is(.market-title, .field-crop-card strong, .coop-slot strong, .barn-slot strong) {
    font-size: 18px !important;
  }

  .game-menu.open[class] :is(.barn-visual, .coop-visual, .field-visual, .market-visual, .home-menu, .player-profile, .lake-menu, .achievements-menu, .quests-menu) {
    position: relative !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    max-height: none !important;
    min-height: 0 !important;
    aspect-ratio: auto !important;
    padding: 0 !important;
    background-image: none !important;
    overflow: visible !important;
  }

  .game-menu.open[class] :is(.market-board, .field-board, .home-dashboard, .achievement-score, .achievement-road, .achievement-tabs, .achievement-rows, .quest-bonus, .daily-quest-rows, .coop-overlay-tip, .barn-overlay-tip) {
    position: relative !important;
    inset: auto !important;
    width: 100% !important;
    height: auto !important;
    max-height: none !important;
    min-height: 0 !important;
    padding: 8px !important;
    margin: 0 !important;
    overflow: visible !important;
    transform: none !important;
  }
  .market-board, .field-board, .home-dashboard { grid-template-rows: auto !important; gap: 12px !important; }
  .market-shelf { grid-template-rows: auto auto !important; gap: 10px !important; }
  .market-grid { overflow: visible !important; padding: 0 !important; }
  .market-tabs, .player-tabs, .achievement-tabs { display: flex !important; flex-wrap: wrap; gap: 6px !important; }
  .market-tabs button, .player-tabs button, .achievement-tabs button { flex: 1 1 125px; padding: 8px !important; }
  .market-shelf header { flex-wrap: wrap; }
  .market-shelf header span { display: block !important; }

  .market-grid, .field-crop-grid, .lake-fish-grid {
    grid-template-columns: repeat(auto-fit, minmax(min(150px, 100%), 1fr)) !important;
    grid-template-rows: auto !important;
    gap: 10px !important;
  }
  .market-card { min-height: 88px !important; padding: 10px !important; gap: 4px 8px !important; }
  .field-crop-card, .lake-fish-card { min-height: 155px !important; padding: 10px !important; }
  .field-crop-card img, .lake-fish-card img { height: 64px !important; max-height: 64px !important; }
  .field-supply-strip { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 8px; }
  .field-quick-actions, .market-wide-actions, .home-actions { min-height: 0 !important; gap: 8px !important; }
  .field-quick-actions button, .market-wide-actions button, .home-actions button { padding: 10px !important; }
  .field-board-tip, .coop-overlay-tip, .barn-overlay-tip { font-size: 16px !important; line-height: 1.4 !important; }

  .coop-visual, .barn-visual { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
  .coop-slot, .barn-slot {
    position: relative !important;
    inset: auto !important;
    width: 100% !important;
    height: auto !important;
    min-height: 135px !important;
    padding: 12px !important;
    grid-template-columns: 64px minmax(0, 1fr) !important;
    gap: 5px 10px !important;
    background: linear-gradient(180deg, #fff8de, #ffe5a5) !important;
  }
  .coop-slot img, .barn-slot img { height: 80px !important; }
  .coop-slot div, .barn-slot div { gap: 5px !important; }
  .coop-overlay-tip, .barn-overlay-tip { grid-column: 1 / -1; }
  .barn-feed-label, .barn-hit { display: none !important; }
  .barn-production { font-size: 14px !important; }

  .player-profile, .home-dashboard { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important; gap: 14px !important; }
  .player-side, .player-main, .player-content, .chat-messages, .private-messages { max-height: none !important; overflow: visible !important; }
  .player-main, .player-content, .player-tabs {
    min-width: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
  }
  .player-main { grid-template-columns: minmax(0, 1fr) !important; }
  .player-side { gap: 8px !important; }
  .player-avatar { width: 64px !important; }
  .player-stat, .home-status-pill { min-height: 60px !important; padding: 8px !important; }
  .player-side-menu button { min-height: 44px !important; padding: 8px !important; }
  .friend-list > div { grid-template-columns: 44px minmax(0, 1fr) !important; gap: 8px !important; }
  .friend-list > div button { grid-column: 1 / -1; min-width: 0 !important; width: 100%; }
  .home-recipe { min-height: 100px !important; grid-template-columns: 48px minmax(0, 1fr) !important; gap: 8px !important; }
  .home-recipe button { grid-column: 1 / -1; }
  .home-status-board { gap: 8px !important; }
  .lake-menu { grid-template-columns: minmax(0, 1fr) !important; gap: 12px !important; }
  .lake-scene { min-height: 120px; background: #8dcfda; }
  .lake-basket { position: relative !important; inset: auto !important; margin: 10px auto; width: fit-content !important; }
  .lake-scene > img { display: none; }

  .achievement-score, .achievement-road, .achievement-tabs, .quest-bonus { margin-bottom: 12px !important; }
  .achievement-rows, .daily-quest-rows { display: grid; grid-auto-rows: auto !important; gap: 10px !important; }
  .achievement-row, .daily-quest-row {
    grid-template-columns: 48px minmax(0, 1fr) 55px !important;
    min-height: 120px !important;
    gap: 8px !important;
    padding: 10px !important;
  }
  .achievement-row button, .daily-quest-row button { grid-column: 2 / -1; height: auto !important; min-height: 44px !important; }
  .achievement-copy i, .daily-quest-copy i { height: 22px !important; }
  .achievement-copy small, .daily-quest-copy small { font-size: 14px !important; }
  .achievements-menu::before, .quests-menu::before { display: none !important; }

  .game-menu.open[class] :is(.coop-animal-detail, .barn-animal-detail, .field-crop-detail, .field-picker, .market-dialog, .convert-dialog) {
    position: fixed !important;
    left: 50% !important;
    top: 50% !important;
    right: auto !important;
    bottom: auto !important;
    width: min(560px, calc(100vw - 36px)) !important;
    max-height: calc(100dvh - 36px) !important;
    height: auto !important;
    padding: 16px !important;
    overflow: auto !important;
    transform: translate(-50%, -50%) !important;
    z-index: 160;
  }
  .hud-bar strong { font-size: 20px !important; }
  .supply-notice-card, .activity-notice-card { height: auto !important; min-height: 95px !important; }
  .premium-grid, .reward-grid { grid-template-columns: repeat(auto-fit, minmax(min(280px, 100%), 1fr)) !important; }
  .premium-card, .reward-card { min-height: 120px !important; height: auto !important; }

  .puzzle-modal { padding: 8px !important; }
  .puzzle-panel {
    width: min(760px, calc(100vw - 16px)) !important;
    max-height: calc(100dvh - 16px) !important;
    overflow: auto;
    overscroll-behavior: contain;
  }
  .puzzle-head { position: sticky; top: -12px; z-index: 3; background: #fff1c7; }
  .puzzle-head span, .puzzle-goal, .word-actions button { font-size: 20px !important; line-height: 1.35; }
  .puzzle-head strong { font-size: 28px !important; }
  .word-mask { font-size: 32px !important; overflow-wrap: anywhere; }
  .word-slot, .word-letter { width: 56px !important; height: 56px !important; font-size: 32px !important; }
  .word-actions { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  .word-actions button { min-height: 56px; padding: 8px; }
}

@media (max-width: 620px) {
  .player-profile, .home-dashboard { grid-template-columns: minmax(0, 1fr) !important; }
  .coop-slot, .barn-slot { grid-template-columns: minmax(0, 1fr) !important; }
  .coop-slot img, .barn-slot img { grid-row: auto !important; max-width: 80px; margin: auto; }
  .coop-slot em { grid-column: 1 !important; }
  .home-status-board { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}


/* Wide market artwork: keep controls at their real size on every screen. */
.menu-close-icon { display: none; }
.game-menu.open.menu-market[class] .game-menu-panel {
  width: min(1400px, calc(100vw - 16px)) !important;
  height: min(820px, calc(100dvh - 16px)) !important;
  max-height: calc(100dvh - 16px) !important;
  padding: 0 !important; border: 0 !important;
  background: transparent !important; overflow: hidden !important;
  transform: none !important;
}
.game-menu.open.menu-market[class] .game-menu-body { height: 100%; padding: 0; overflow: hidden; }
.game-menu.open.menu-market[class] .market-visual {
  position: relative !important; width: 100% !important; max-width: none !important;
  height: 100% !important; aspect-ratio: auto !important; padding: 0 !important;
  background: url("assets/market-menu.png") center / 100% 100% no-repeat !important;
  overflow: hidden !important;
}
.game-menu.open.menu-market[class] .game-menu-head {
  position: absolute !important; inset: 3% 4% auto auto !important;
  margin: 0 !important; padding: 0 !important; border: 0 !important;
  background: transparent !important; display: block !important;
}
.game-menu.open.menu-market[class] .game-menu-head div { display: none !important; }
.game-menu.open.menu-market[class] #closeMenu {
  display: grid !important; place-items: center; width: 52px !important; height: 52px !important;
  padding: 0 !important; border: 0 !important; border-radius: 50% !important;
  background: transparent !important; opacity: 1 !important; text-indent: 0 !important;
  box-shadow: none !important; overflow: hidden; cursor: pointer;
}
.game-menu.open.menu-market[class] #closeMenu:hover { filter: brightness(1.12); }
.game-menu.open.menu-market[class] #closeMenu:focus-visible { outline: 3px solid #64310d; outline-offset: 3px; }
.game-menu.open.menu-market[class] .menu-close-icon { display: block; width: 100%; height: 100%; }
.game-menu.open.menu-market[class] .menu-close-label { display: none !important; }
.game-menu.open.menu-market[class] .market-tip {
  position: absolute; inset: 14% 6% auto; height: 8%; margin: 0;
  display: flex; align-items: center; font-size: 18px !important;
  line-height: 1.25; color: #703c13; font-weight: 700;
}
.game-menu.open.menu-market[class] .market-board {
  position: absolute !important; inset: 25% 4.5% 4% !important;
  width: auto !important; height: auto !important; margin: 0 !important; padding: 0 !important;
  display: grid; grid-template-rows: auto auto minmax(0, 1fr) auto !important;
  gap: 10px !important; background: transparent; overflow: hidden !important;
}
.game-menu.open.menu-market[class] .market-wallet { min-height: 40px; grid-template-columns: 40px auto; padding: 4px 12px; }
.game-menu.open.menu-market[class] .market-wallet strong { font-size: 22px !important; }
.game-menu.open.menu-market[class] .market-wallet span { font-size: 16px !important; }
.game-menu.open.menu-market[class] .market-tabs { display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; }
.game-menu.open.menu-market[class] .market-tabs button { min-height: 44px; font-size: 18px !important; padding: 6px; white-space: normal; }
.game-menu.open.menu-market[class] .market-shelf {
  min-height: 0; grid-template-rows: auto minmax(0, 1fr) !important; padding: 8px; gap: 8px;
}
.game-menu.open.menu-market[class] .market-shelf header { flex-wrap: wrap; gap: 4px 12px; }
.game-menu.open.menu-market[class] .market-shelf header strong { font-size: 20px !important; }
.game-menu.open.menu-market[class] .market-shelf header span { font-size: 16px !important; }
.game-menu.open.menu-market[class] .market-grid {
  grid-template-columns: repeat(auto-fit, minmax(min(230px, 100%), 1fr)) !important;
  gap: 10px !important; min-height: 0; overflow-y: auto !important; overscroll-behavior: contain;
}
.game-menu.open.menu-market[class] .market-card {
  min-height: 96px !important; padding: 10px !important;
  grid-template-columns: 64px minmax(0, 1fr); gap: 4px 10px;
}
.game-menu.open.menu-market[class] .market-card .market-icon { width: 64px; height: 64px; max-width: none; max-height: none; object-fit: contain; }
.game-menu.open.menu-market[class] .market-card span:not(.market-icon) {
  font-size: 20px !important; white-space: normal !important; overflow: visible;
  text-overflow: clip; overflow-wrap: anywhere; line-height: 1.2 !important;
}
.game-menu.open.menu-market[class] .market-card small { font-size: 16px !important; white-space: normal; overflow: visible; line-height: 1.25 !important; }
.game-menu.open.menu-market[class] .market-wide-actions { gap: 10px; }
@media (max-height: 560px) {
  .game-menu.open.menu-market[class] .market-board { gap: 6px !important; grid-template-rows: auto auto minmax(0, 1fr) !important; overflow-y: auto !important; }
  .game-menu.open.menu-market[class] .market-wallet { display: none; }
  .game-menu.open.menu-market[class] .market-shelf { min-height: 145px; }
  .game-menu.open.menu-market[class] .market-tip { font-size: 16px !important; }
  .game-menu.open.menu-market[class] #closeMenu { width: 44px !important; height: 44px !important; }
}
@media (max-width: 620px) {
  .game-menu.open.menu-market[class] .market-visual::before {
    content: "Market · Alış ve satış"; position: absolute; top: 3%; left: 5%; right: 22%;
    padding: 8px 0; background: #ffedaf; color: #753b08; font-size: 22px; font-weight: 900;
  }
  .game-menu.open.menu-market[class] .market-tip { font-size: 16px !important; }
  .game-menu.open.menu-market[class] .market-tabs { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .game-menu.open.menu-market[class] .market-grid { grid-template-columns: minmax(0, 1fr) !important; }
  .game-menu.open.menu-market[class] .market-wide-actions { grid-template-columns: minmax(0, 1fr); }
}
.game-menu.open.menu-market[class] .market-card {
  height: auto !important; max-height: none !important;
  grid-template-rows: auto auto !important; align-items: center;
}
.game-menu.open.menu-market[class] .market-grid { grid-auto-rows: minmax(108px, auto); }
.game-menu.open.menu-market[class] .market-board > * { min-width: 0; }
.game-menu.open.menu-market[class] .game-menu-body {
  display: block !important; height: 100% !important; max-height: none !important;
  padding: 0 !important; overflow: hidden !important;
}
@media (max-width: 620px) {
  .game-menu.open.menu-market[class] .market-visual::before {
    height: 10%; box-sizing: border-box; display: flex; align-items: flex-start;
  }
  .game-menu.open.menu-market[class] .market-wide-actions { gap: 6px; }
  .game-menu.open.menu-market[class] .market-card.wide {
    min-height: 66px !important; padding: 6px !important; grid-template-columns: 40px minmax(0, 1fr);
  }
  .game-menu.open.menu-market[class] .market-card.wide .market-icon { width: 40px; height: 40px; }
  .game-menu.open.menu-market[class] .market-card.wide span:not(.market-icon) { font-size: 18px !important; }
  .game-menu.open.menu-market[class] .market-card.wide small { font-size: 14px !important; }
}
