/* Shared town controls use the same jade, brass and cream as the city panels. */
.location-panel[data-place="profile"] { width: min(780px, 94vw); }
.profile-caret { color: #ecc87e !important; padding-left: 4px; }
.profile-balance {
  display: flex;
  align-items: center;
  gap: 14px;
  margin: -6px 0 20px;
  padding: 13px 16px;
  background: #214c3d;
  border: 1px solid #809461;
}
.profile-balance > div { flex: 1; }
.profile-balance .eyebrow, .profile-balance strong { display: block; }
.profile-balance strong { margin-top: 4px; font-size: 1.3rem; color: #ffe4a0; }
.profile-menu { grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 8px; }
.profile-menu > button { min-height: 91px; padding: 11px 6px; gap: 10px; font-size: 8px; }
.profile-account { margin-top: 18px; border-top: 1px solid #517558; padding-top: 12px; }
.profile-account summary { cursor: pointer; margin-bottom: 12px; color: #dbe3c3; }
.player-banner small { display: block; margin-top: 6px; color: #e5d398; }
#objective-progress { display: block; font-size: 10px; color: #f4d996; padding: 4px 0; }
.quest-where { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 8px 0; color: #e2e3bc; }
.quest-where .game-icon { width: 20px; height: 20px; flex-basis: 20px; }
.quest-where b { color: #f2ce80; margin-left: auto; font-size: 12px; }
.fishing-active :is(.hud-top-right, .city-player, .city-minimap, .city-map-button, .city-context, .city-joystick, .objective-hud) { display: none !important; }
.public-fishing {
  position: fixed;
  z-index: 12;
  right: 22px;
  bottom: 28px;
  width: min(300px, calc(100vw - 32px));
  max-height: calc(100dvh - 90px);
  overflow: auto;
  padding: 14px;
  background: #163b32f5;
  border: 2px solid #c4aa68;
  box-shadow: 0 0 0 3px #183c30, 0 5px 0 3px #122c25;
  color: #fff0cb;
}
.fishing-panel-heading { display: flex; justify-content: space-between; align-items: center; gap: 12px; }
.fishing-panel-heading .eyebrow { display: block; color: #e8c878; font-size: 8px; }
.fishing-panel-heading h2 { font: 15px/1.5 HakkenPixel, monospace; margin: 5px 0 0; }
.fishing-panel-heading button { min-width: 34px; min-height: 34px; padding: 4px 7px; font-size: 17px; }
.fishing-message { color: #e5e5c5; font-size: 12px; line-height: 1.45; margin: 11px 0; }
.public-reel { display: grid; grid-template-columns: 51px minmax(0,1fr); align-items: center; gap: 11px; margin: 10px 0; }
.public-reel .vertical-reel { width: 51px; height: 165px; }
.fishing-reel-help { font-size: 12px; }
.fishing-reel-help p { line-height: 1.5; margin: 8px 0; color: #d2dbb9; }
.fishing-reel-help progress { width: 100%; accent-color: #a4c671; }
.fishing-reel-help small { display: block; color: #e6c777; }
.fishing-bait { display: flex; gap: 7px; align-items: center; font-size: 11px; margin-bottom: 10px; }
.fishing-bait input { margin: 0; width: 16px; height: 16px; accent-color: #92b674; }
.fishing-primary { width: 100%; min-height: 45px; padding: 9px; font-size: 10px; touch-action: none; user-select: none; }
.fishing-primary.bite-ready, .fishing-primary.held { background: #e8c06a; color: #17382e; }
.fishing-primary:disabled, .public-fishing button:disabled { opacity: .65; cursor: default; }
.fishing-result { display: flex; align-items: center; gap: 10px; padding: 7px; margin: 8px 0; background: #254b38; border: 1px solid #678455; }
.fishing-result .fish-art { width: 42px; height: 42px; flex: 0 0 42px; }
.fishing-result strong, .fishing-result small { display: block; }
.fishing-result small { color: #e0d9af; font-size: 10px; margin-top: 3px; }
@media (max-width: 600px) {
  .profile-menu { grid-template-columns: repeat(3, minmax(0,1fr)); }
  .profile-menu > button { min-height: 78px; }
  .profile-balance { gap: 8px; padding: 10px; }
  .profile-balance strong { font-size: 1.05rem; }
  .profile-balance .pixel-button { font-size: 8px; }
  .public-fishing { width: min(220px, calc(100vw - 24px)); right: 12px; bottom: 20px; padding: 10px; }
  .public-reel { grid-template-columns: 43px minmax(0,1fr); gap: 7px; }
  .public-reel .vertical-reel { width: 43px; height: 136px; }
  .fishing-panel-heading .eyebrow { font-size: 7px; }
  .fishing-message, .fishing-reel-help { font-size: 11px; }
  .fishing-primary { min-height: 48px; }
}
@media (max-height: 530px) and (orientation: landscape) {
  .public-fishing { width: 218px; right: 13px; bottom: 13px; padding: 9px; max-height: calc(100dvh - 35px); }
  .public-reel .vertical-reel { height: 96px; }
  .public-reel { margin: 6px 0; }
}
