/* Panama Aventura • play-first interface
   Only the world, one compact resource bar, movement, a context action,
   and three unmistakable navigation buttons remain visible on phones.
   Old modules stay accessible through the menu and legacy-build link. */
.mobile-game-dock,.mobile-menu-shade{display:none}
.estate-panel .estate-eyebrow{text-align:center;color:#58816b;font-size:12px;font-weight:900;letter-spacing:.14em}
.estate-panel h2{text-align:center;margin:4px auto 10px!important;padding:0!important}
.estate-panel .estate-intro{text-align:center;font-size:17px!important;line-height:1.42!important;max-width:550px;margin:0 auto 15px}
.estate-progress{display:flex;justify-content:space-between;gap:12px;max-width:620px;margin:0 auto 10px;font-size:18px}
.estate-progress b{color:#1b765e}
.estate-wallet{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin:0 auto 18px;max-width:640px}
.estate-currency{text-align:center;padding:9px 2px;background:#e6f5dd;border:1px solid #bad8a9;border-radius:14px;font-size:18px;font-weight:900;white-space:nowrap}
.estate-plans{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;max-width:650px;margin:auto}
.estate-plan{min-width:0;border:2px solid #c9d6cb;background:#fffbef;border-radius:19px;padding:13px;display:flex;flex-direction:column;gap:10px;box-shadow:0 3px 0 #3e604b12}
.estate-plan.estate-ready{border-color:#75bb91;background:#f1ffef}
.estate-plan-head{display:flex;align-items:center;gap:10px;font-size:19px;line-height:1.2}
.estate-emoji{font-size:38px}
.estate-costs{background:#eff1dc;border-radius:12px;padding:9px 5px;font-size:17px;font-weight:900;text-align:center;white-space:normal;line-height:1.55}
.estate-locked{margin:0!important;color:#8e5a45;font-size:14px!important;font-weight:800}
.estate-build-button{width:100%;min-height:51px;border:0;border-radius:13px;background:#e5b958;color:#27443c;font-size:16px;font-weight:900;padding:10px 7px;margin-top:auto}
.estate-build-button:disabled{background:#e8e7df;color:#7d817d}
.estate-legacy-link{display:block;width:min(100%,510px);min-height:50px;margin:17px auto 3px;background:#fff7df;color:#2d5c52;border:1px solid #d3d8c6;border-radius:13px;font-size:15px;font-weight:800}
@media(max-width:780px){
 body[data-scene="explore"] .topbar{height:55px;min-height:55px;padding:5px 11px;background:linear-gradient(#18484bbd,#18484b55,transparent)!important}
 body[data-scene="explore"] .topbar .brand{font-size:14px;max-width:195px;letter-spacing:-.02em}
 body[data-scene="explore"] .brand small,body[data-scene="explore"] .brand-mark{display:none}
 body[data-scene="explore"] .topbar .tools{gap:2px}
 body[data-scene="explore"] .topbar .tools>button{display:none}
 body[data-scene="explore"] .topbar .lang{padding:2px;border-radius:12px}
 body[data-scene="explore"] .topbar .lang button{font-size:12px;min-width:32px;min-height:32px;padding:5px 8px}
 body[data-scene="explore"] .explore-hud{top:64px;left:10px;right:10px;max-width:none;display:grid;gap:5px;z-index:16}
 body[data-scene="explore"] .explore-location{font-size:14px;max-width:calc(100vw - 20px);width:max-content;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:7px 11px;min-height:34px;border-radius:11px;background:#fffae9ed}
 body[data-scene="explore"] .explore-bag{display:block!important;font-size:15px;line-height:1.3;padding:7px 10px;white-space:nowrap;justify-self:start;max-width:calc(100vw - 20px);border-radius:11px;background:#fff6dbe8}
 body[data-scene="explore"] .helper-toggle.picture-button{display:none!important}
 body[data-scene="explore"] .island-goal,
 body[data-scene="explore"] .region-help-status,
 body[data-scene="explore"] .explore-world:not(.explore-fallback) .explore-hint,
 body[data-scene="explore"] .pizza-city-status,
 body[data-scene="explore"] .pizza-city-prompt,
 body[data-scene="explore"] .friend-peek,
 body[data-scene="explore"] .journey-peek,
 body[data-scene="explore"] .world-story,
 body[data-scene="explore"] .island-map-mini,
 body[data-scene="explore"] .volcano-hike-status{display:none!important}
 body[data-scene="explore"] .explore-actions .friend-hello,
 body[data-scene="explore"] .explore-actions .world-lesson{display:none!important}
 body[data-scene="explore"] .explore-actions{right:10px;bottom:max(12px,env(safe-area-inset-bottom));max-width:156px;flex-direction:row;gap:6px;justify-content:flex-end}
 body[data-scene="explore"] .explore-actions .picture-button{
  min-width:65px!important;max-width:73px!important;width:73px!important;min-height:70px!important;
  padding:7px 4px!important;gap:3px!important;border-radius:17px!important;
  background:#fff8eae8!important;border:2px solid #fffbee!important;
 }
 body[data-scene="explore"] .explore-actions .button-picture{font-size:30px!important}
 body[data-scene="explore"] .explore-actions .button-caption{font-size:12px!important}
 body[data-scene="explore"] .explore-stick{
  left:12px;bottom:max(12px,env(safe-area-inset-bottom));width:96px;height:96px;border-width:2px;z-index:18;
 }
 body[data-scene="explore"] .stick-knob{width:47px;height:47px}
 body[data-scene="explore"] .explore-menu{display:none!important}
 body[data-scene="explore"] .mobile-menu-shade{display:none}
 body[data-scene="explore"] .explore-world.helpers-open .mobile-menu-shade{
  display:block;position:absolute;inset:0;z-index:22;background:#071f2f84;border:0;min-width:100%;
 }
 body[data-scene="explore"] .explore-world.helpers-open .explore-menu{
  display:grid!important;position:absolute;z-index:28;left:10px;right:10px;top:auto;
  bottom:max(192px,calc(env(safe-area-inset-bottom) + 180px));width:auto;
  grid-template-columns:repeat(3,minmax(0,1fr));max-height:min(57svh,430px);
  overflow-y:auto;gap:7px;padding:11px;border-radius:18px;background:#fffaf1;
 }
 body[data-scene="explore"] .explore-menu>:first-child,
 body[data-scene="explore"] .explore-menu .craft-bag-button,
 body[data-scene="explore"] .explore-menu .estate-menu-button{display:none!important}
 body[data-scene="explore"] .explore-menu .picture-button{
  min-height:70px;padding:7px 3px;gap:2px;border-radius:12px;box-shadow:none;
 }
 body[data-scene="explore"] .explore-menu .button-picture{font-size:27px}
 body[data-scene="explore"] .explore-menu .button-caption{font-size:12px;line-height:1.15}
 body[data-scene="explore"] .mobile-game-dock{
  display:flex;align-items:stretch;justify-content:center;gap:7px;
  position:absolute;bottom:max(122px,calc(env(safe-area-inset-bottom) + 117px));
  left:50%;transform:translateX(-50%);z-index:27;pointer-events:auto;
 }
 body[data-scene="explore"] .mobile-game-dock button{
  border:2px solid #fff9e8;border-radius:15px;min-height:57px;padding:10px 8px;
  background:#fffae9f2;color:#264d46;font-weight:900;font-size:15px;
  box-shadow:0 4px 11px #123a4252;white-space:nowrap;touch-action:manipulation;
 }
 body[data-scene="explore"] .mobile-game-dock .mobile-dock-build{background:#f4c964;font-size:17px;padding:10px 13px}
 body[data-scene="explore"] .explore-world.snack-moment .mobile-game-dock{visibility:hidden}
 body[data-scene="explore"] .explore-world:has(.explore-panel:not([hidden])) .mobile-game-dock,
 body[data-scene="explore"] .explore-world:has(.explore-panel:not([hidden])) .explore-menu,
 body[data-scene="explore"] .explore-world:has(.explore-panel:not([hidden])) .mobile-menu-shade,
 body[data-scene="explore"] .explore-world:has(.explore-panel:not([hidden])) .explore-stick{
  visibility:hidden;pointer-events:none;
 }
 body[data-scene="explore"] .explore-panel{
  position:absolute;z-index:35;left:0;right:0;top:auto;bottom:0;transform:none;
  width:100%;max-width:none;max-height:min(82svh,calc(100svh - 55px));
  border-radius:26px 26px 0 0;border:2px solid #fffbee;border-bottom:0;
  padding:24px 14px max(27px,env(safe-area-inset-bottom));
  box-shadow:0 -12px 50px #0e293a90;overscroll-behavior:contain;
 }
 body[data-scene="explore"] .estate-panel h2{font-size:27px!important}
 body[data-scene="explore"] .estate-panel .estate-intro{font-size:16px!important}
 body[data-scene="explore"] .estate-plans{grid-template-columns:1fr;gap:10px}
 body[data-scene="explore"] .estate-plan{padding:12px;gap:8px}
 body[data-scene="explore"] .estate-emoji{font-size:38px}
 body[data-scene="explore"] .estate-costs{font-size:16px}
 body[data-scene="explore"] .estate-wallet{gap:4px}
 body[data-scene="explore"] .estate-currency{font-size:15px;padding:8px 1px}
 body[data-scene="explore"] .explore-message.show{top:153px;max-width:calc(100vw - 30px);font-size:14px;line-height:1.3;padding:8px 10px;border-width:2px}
}
@media(max-width:380px){
 body[data-scene="explore"] .mobile-game-dock{gap:4px;bottom:max(113px,calc(env(safe-area-inset-bottom) + 110px))}
 body[data-scene="explore"] .mobile-game-dock button{font-size:13px;min-height:53px;padding:8px 6px}
 body[data-scene="explore"] .mobile-game-dock .mobile-dock-build{font-size:15px;padding:8px 10px}
 body[data-scene="explore"] .explore-stick{width:86px;height:86px}
 body[data-scene="explore"] .explore-actions .picture-button{width:65px!important;min-width:65px!important;max-width:65px!important;min-height:65px!important}
 body[data-scene="explore"] .explore-menu .button-caption{font-size:11px}
}
@media(max-width:780px) and (max-height:600px){
 body[data-scene="explore"] .explore-hud{top:52px}
 body[data-scene="explore"] .explore-location{font-size:12px;padding:5px 8px;min-height:29px}
 body[data-scene="explore"] .explore-bag{font-size:12px;padding:5px 7px}
 body[data-scene="explore"] .mobile-game-dock{bottom:86px}
 body[data-scene="explore"] .explore-stick{width:76px;height:76px}
 body[data-scene="explore"] .explore-actions .picture-button{min-height:60px!important}
 body[data-scene="explore"] .explore-world.helpers-open .explore-menu{bottom:147px;max-height:50svh}
}

/* Estate progression and visible leveling */
.estate-upgrade-heading{text-align:center;font-size:21px;margin:22px 0 11px}
.estate-upgrades{display:grid;gap:9px}
.estate-upgrade-row{display:flex;align-items:center;justify-content:space-between;gap:9px;background:#fffaf0;border:1px solid #c9d5c3;border-radius:15px;padding:10px}
.estate-upgrade-row strong{font-size:16px;line-height:1.3}
.estate-upgrade-button{min-height:50px;border:0;border-radius:12px;background:#f0d48a;font-size:14px;font-weight:900;color:#244a42;padding:8px;max-width:56%}
.estate-upgrade-button:disabled{background:#e5e7dd;color:#879087}
.estate-find-link{display:block;width:min(100%,510px);min-height:52px;background:#d7edce;color:#285d43;border:1px solid #a7cbaa;border-radius:13px;margin:17px auto 2px;font-size:16px;font-weight:900}
@media(max-width:780px){
 body[data-scene="explore"] .friend-world-label,
 body[data-scene="explore"] .house-door-action{display:none!important}
 body[data-scene="explore"] .friend-panel,
 body[data-scene="explore"] .journey-panel,
 body[data-scene="explore"] .realm-panel{
  position:absolute;top:auto;bottom:0;left:0;right:0;transform:none;z-index:35;
  width:100%;max-width:none;max-height:min(82svh,calc(100svh - 55px));
  border-radius:24px 24px 0 0;padding:20px 16px max(24px,env(safe-area-inset-bottom));
  overflow-y:auto;overscroll-behavior:contain;
 }
 body[data-scene="explore"] .explore-world:has(.friend-panel:not([hidden])) .mobile-game-dock,
 body[data-scene="explore"] .explore-world:has(.realm-panel:not([hidden])) .mobile-game-dock,
 body[data-scene="explore"] .explore-world:has(.journey-panel:not([hidden])) .mobile-game-dock,
 body[data-scene="explore"] .explore-world:has(.friend-panel:not([hidden])) .explore-actions,
 body[data-scene="explore"] .explore-world:has(.realm-panel:not([hidden])) .explore-actions,
 body[data-scene="explore"] .explore-world:has(.journey-panel:not([hidden])) .explore-actions{
   visibility:hidden;pointer-events:none;
 }
 body[data-scene="explore"] .estate-upgrade-row{flex-direction:column;align-items:stretch}
 body[data-scene="explore"] .estate-upgrade-button{max-width:none}
}

/* Story activities remain tappable in the world; the old floating explanation
   must never hide the persistent four-resource bar. */
@media(max-width:780px){
 body[data-scene="explore"] .story-nearby .explore-hud{visibility:visible!important}
 body[data-scene="explore"] .explore-world:has(.friend-panel:not([hidden])) .explore-stick,
 body[data-scene="explore"] .explore-world:has(.realm-panel:not([hidden])) .explore-stick,
 body[data-scene="explore"] .explore-world:has(.journey-panel:not([hidden])) .explore-stick{visibility:hidden;pointer-events:none}
}


/* Gameplay-regression fix: protect useful actions on small screens. */
.estate-feedback{min-height:0;margin:3px 0 0!important;color:#864427;font-size:15px!important;line-height:1.42!important;font-weight:800}
.estate-feedback:empty{display:none}
.estate-view-button{min-height:46px;border:1px solid #a9c7ab;background:#e7f5e5;color:#215846;border-radius:12px;font-size:16px;font-weight:900;padding:8px}
.estate-plan:not(.estate-ready) .estate-build-button{background:#e9efe3;color:#315d4f}
.estate-plan.estate-ready:first-child .estate-build-button{background:#f6ca5e}
.estate-costs{white-space:normal}
@media(max-width:780px){
 body[data-scene="explore"] .topbar .tools>.sound-toggle{
  display:inline-flex!important;align-items:center;justify-content:center;
  width:32px;height:34px;min-height:34px;min-width:32px;
  padding:3px;font-size:19px;border-radius:10px;
 }
 body[data-scene="explore"] .mobile-game-dock{
  width:calc(100% - 16px);max-width:395px;gap:5px;
  bottom:max(115px,calc(env(safe-area-inset-bottom) + 111px));
 }
 body[data-scene="explore"] .mobile-game-dock button,
 body[data-scene="explore"] .mobile-game-dock .mobile-dock-build{
  flex:1 1 0;min-width:0;max-width:none;
  padding:8px 3px;font-size:13px;line-height:1.18;
  min-height:57px;overflow:hidden;text-overflow:ellipsis;
 }
 body[data-scene="explore"] .mobile-game-dock .mobile-dock-build{
  flex:1.22 1 0;font-size:15px;
 }
 body[data-scene="explore"] .mobile-game-dock .mobile-dock-friend.has-companion{
  background:#d8f1d3;border-color:#b1d5b2;color:#235a3c;
 }
 body[data-scene="explore"] .estate-plan{scroll-margin-top:25px}
 body[data-scene="explore"] .estate-feedback{font-size:16px!important;text-align:center;margin:6px 0!important}
 body[data-scene="explore"] .estate-view-button{width:100%;font-size:16px}
}
@media(max-width:380px){
 body[data-scene="explore"] .mobile-game-dock{width:calc(100% - 10px);gap:3px}
 body[data-scene="explore"] .mobile-game-dock button{font-size:12px;padding:7px 2px}
 body[data-scene="explore"] .mobile-game-dock .mobile-dock-build{font-size:13px;padding:7px 2px}
}


/* Restored gameplay essentials: one-tap backpack + return-your-friend-home.
   Backpack lives in the upper-right, away from moving/jump/Map/Build controls. */
.mobile-bag-shortcut{display:none}
.backpack-main-resources{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;max-width:640px;margin:12px auto}
.backpack-main-resource{display:block;min-width:0;text-align:center;background:#f0f8e9;border:1px solid #d0e3bd;border-radius:13px;padding:10px 3px;font-size:19px;font-weight:900;color:#265345;white-space:nowrap}
.backpack-extra-treasures{margin:16px 0;border:1px solid #d3e2ca;border-radius:16px;overflow:hidden;background:#f5f9ed}
.backpack-extra-treasures summary{cursor:pointer;list-style:revert;padding:14px 16px;min-height:50px;font-size:17px;font-weight:900;color:#2f5b4d}
.backpack-extra-treasures .craft-resource-list{padding:6px 12px 14px}
@media(max-width:780px){
 body[data-scene="explore"] .mobile-bag-shortcut{
  display:flex;position:absolute;z-index:21;top:65px;right:10px;width:63px;min-width:63px;height:67px;
  flex-direction:column;align-items:center;justify-content:center;gap:2px;
  background:#fff6dcef;color:#285446;border:2px solid #fffdf1;border-radius:18px;
  box-shadow:0 4px 14px #123e4950;font-size:29px;line-height:1;touch-action:manipulation;
 }
 body[data-scene="explore"] .mobile-bag-caption{font-size:11px;font-weight:900;line-height:1.05}
 body[data-scene="explore"] .mobile-bag-shortcut:focus-visible{outline:4px solid #2777c0;outline-offset:2px}
 body[data-scene="explore"] .explore-hud{max-width:calc(100% - 83px);right:83px}
 body[data-scene="explore"] .explore-location,
 body[data-scene="explore"] .explore-bag{max-width:calc(100vw - 105px)}
 body[data-scene="explore"] .explore-menu .craft-bag-button{display:flex!important}
 body[data-scene="explore"] .explore-world:has(.explore-panel:not([hidden])) .mobile-bag-shortcut,
 body[data-scene="explore"] .explore-world:has(.friend-panel:not([hidden])) .mobile-bag-shortcut,
 body[data-scene="explore"] .explore-world:has(.journey-panel:not([hidden])) .mobile-bag-shortcut,
 body[data-scene="explore"] .explore-world:has(.realm-panel:not([hidden])) .mobile-bag-shortcut{
  visibility:hidden;pointer-events:none;
 }
 body[data-scene="explore"] .explore-world.helpers-open .mobile-bag-shortcut{
  visibility:hidden;pointer-events:none;
 }
 body[data-scene="explore"] .backpack-main-resources{gap:5px}
 body[data-scene="explore"] .backpack-main-resource{padding:9px 2px;font-size:17px}
 body[data-scene="explore"] .explore-panel .backpack-extra-treasures summary{font-size:16px}
 body[data-scene="explore"] .mobile-dock-friend.has-companion{background:#d2efcd!important;color:#205740!important;border-color:#aad3a5!important}
}
@media(max-width:380px){
 body[data-scene="explore"] .mobile-bag-shortcut{top:62px;right:7px;width:55px;min-width:55px;height:61px;font-size:25px}
 body[data-scene="explore"] .mobile-bag-caption{font-size:10px}
 body[data-scene="explore"] .explore-hud{max-width:calc(100% - 73px);right:73px}
 body[data-scene="explore"] .explore-location,body[data-scene="explore"] .explore-bag{max-width:calc(100vw - 95px)}
}

/* Restore the ORIGINAL coordinate map with a live "you are here" pointer.
   The mini-map sits below the backpack; the full map is the primary Map action. */
.island-map-places{margin:12px 0 2px;background:#f4f9ee;border:1px solid #c7d8c9;border-radius:14px;overflow:hidden}
.island-map-places-toggle{padding:13px 14px;min-height:48px;color:#255a50;font-size:16px;font-weight:900;cursor:pointer}
.island-map-places[open] .island-map-destinations{padding:4px 10px 12px}
.island-map-player circle:first-child{filter:drop-shadow(0 1px 2px #144653aa)}
@media(max-width:780px){
 body[data-scene="explore"] .island-map-mini{
  display:grid!important;position:absolute;top:141px;right:10px;z-index:20;
  width:84px;min-width:84px;min-height:84px;padding:5px;gap:2px;
  border-radius:16px;background:#fff9e8f0;border:2px solid #fffaf0;
 }
 body[data-scene="explore"] .island-map-mini .island-map-art{height:60px;width:100%;border-radius:10px}
 body[data-scene="explore"] .island-map-mini-label{font-size:11px;line-height:1.1;letter-spacing:0}
 body[data-scene="explore"] .explore-menu>:first-child{display:flex!important}
 body[data-scene="explore"] .explore-panel.island-map-open{
  width:100%;max-width:none;max-height:min(88svh,calc(100svh - 55px));
  border-radius:26px 26px 0 0;padding:19px 13px max(24px,env(safe-area-inset-bottom));
  overflow-y:auto;
 }
 body[data-scene="explore"] .island-map-heading{font-size:24px!important;line-height:1.16!important;margin-right:50px!important;margin-bottom:6px!important}
 body[data-scene="explore"] .explore-panel .island-map-you-are{font-size:17px!important;line-height:1.26!important;margin:4px 0 10px!important;color:#1b5549}
 body[data-scene="explore"] .island-map-frame{border-radius:18px;border-width:2px;flex-shrink:0}
 body[data-scene="explore"] .island-map-frame .island-map-art{width:100%;height:auto;min-height:235px;max-height:min(43svh,340px);aspect-ratio:350/310;touch-action:manipulation}
 body[data-scene="explore"] .island-map-controls{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:10px 0 3px}
 body[data-scene="explore"] .island-map-control{min-width:0;min-height:49px;font-size:22px;padding:5px}
 body[data-scene="explore"] .island-map-guide{font-size:15px!important;line-height:1.35!important;margin:9px 0!important}
 body[data-scene="explore"] .island-map-places-toggle{font-size:16px;min-height:51px}
 body[data-scene="explore"] .island-map-destinations{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
 body[data-scene="explore"] .island-map-destination{min-height:50px;font-size:14px;padding:8px}
}
@media(max-width:380px){
 body[data-scene="explore"] .island-map-mini{top:135px;right:7px;width:74px;min-width:74px;min-height:77px;padding:4px}
 body[data-scene="explore"] .island-map-mini .island-map-art{height:53px}
 body[data-scene="explore"] .island-map-frame .island-map-art{min-height:200px}
}
@media(max-width:780px) and (max-height:600px){
 body[data-scene="explore"] .island-map-mini{top:116px;width:70px;min-width:70px;min-height:70px}
 body[data-scene="explore"] .island-map-mini .island-map-art{height:47px}
 body[data-scene="explore"] .island-map-frame .island-map-art{min-height:160px;max-height:36svh}
}


/* Mobile control grid – every touch target gets a non-overlapping zone.
   Bottom: persistent four-button nav.
   Above: joystick on the left, context/fly/jump actions on the right.
   Even when two action rows appear, they grow UP, never into the nav. */
@media (max-width:780px), (pointer:coarse) and (max-height:520px){
 body[data-scene="explore"] .explore-world{
  --game-dock-bottom:max(7px,env(safe-area-inset-bottom));
  --game-dock-height:58px;
  --game-control-bottom:calc(var(--game-dock-bottom) + var(--game-dock-height) + 14px);
 }
 body[data-scene="explore"] .mobile-game-dock{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr));
  align-items:stretch;
  justify-items:stretch;
  position:absolute;
  left:50%;
  right:auto;
  transform:translateX(-50%);
  bottom:var(--game-dock-bottom)!important;
  width:min(396px,calc(100% - 16px))!important;
  max-width:396px;
  height:var(--game-dock-height);
  gap:5px!important;
  z-index:27;
 }
 body[data-scene="explore"] .mobile-game-dock button,
 body[data-scene="explore"] .mobile-game-dock .mobile-dock-build{
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:1px;min-width:0;max-width:none;
  width:100%;height:var(--game-dock-height);min-height:var(--game-dock-height)!important;
  margin:0;padding:4px 2px!important;
  border-radius:14px;
  line-height:1.06;white-space:normal!important;overflow:hidden;
  font-size:11px!important;text-overflow:clip;
 }
 body[data-scene="explore"] .mobile-dock-icon{
  display:block;flex:none;font-family:"Apple Color Emoji","Segoe UI Emoji",sans-serif;
  font-size:24px;line-height:1.1;pointer-events:none;
 }
 body[data-scene="explore"] .mobile-dock-caption{
  display:block;max-width:100%;font-size:11px;font-weight:900;
  line-height:1.12;white-space:nowrap;text-align:center;pointer-events:none;
 }
 body[data-scene="explore"] .explore-stick{
  left:12px;right:auto;
  bottom:var(--game-control-bottom)!important;
  width:clamp(80px,22vw,96px)!important;
  height:clamp(80px,22vw,96px)!important;
  z-index:20;
 }
 body[data-scene="explore"] .stick-knob{
  width:clamp(40px,11vw,47px);height:clamp(40px,11vw,47px);
 }
 body[data-scene="explore"] .explore-actions{
  position:absolute;
  display:flex!important;flex-flow:row wrap;justify-content:flex-end;align-items:flex-end;
  right:10px;left:auto;
  bottom:var(--game-control-bottom)!important;
  width:clamp(130px,40vw,152px)!important;
  max-width:152px!important;
  margin:0;gap:6px!important;
  z-index:20;
 }
 body[data-scene="explore"] .explore-actions .picture-button{
  box-sizing:border-box;flex:0 0 calc((100% - 6px)/2);
  width:calc((100% - 6px)/2)!important;
  min-width:0!important;max-width:none!important;
  height:62px!important;min-height:62px!important;max-height:62px!important;
  padding:5px 2px!important;
  gap:2px!important;border-radius:15px!important;
  overflow:hidden;
 }
 body[data-scene="explore"] .explore-actions .button-picture{font-size:26px!important;line-height:1.05!important}
 body[data-scene="explore"] .explore-actions .button-caption{
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;
  max-width:100%;overflow:hidden;
  font-size:11px!important;line-height:1.12!important;word-break:break-word;
 }
 body[data-scene="explore"] .explore-world.helpers-open .explore-stick,
 body[data-scene="explore"] .explore-world.helpers-open .explore-actions{
  visibility:hidden;pointer-events:none;
 }
 body[data-scene="explore"] .explore-world.helpers-open .explore-menu{
  top:auto!important;
  bottom:calc(var(--game-dock-bottom) + var(--game-dock-height) + 12px)!important;
  max-height:min(66svh,470px);
  z-index:28;
 }
}
@media (max-width:780px) and (max-height:520px), (pointer:coarse) and (max-height:520px){
 body[data-scene="explore"] .explore-world{
  --game-dock-bottom:max(4px,env(safe-area-inset-bottom));
  --game-dock-height:49px;
  --game-control-bottom:calc(var(--game-dock-bottom) + var(--game-dock-height) + 9px);
 }
 body[data-scene="explore"] .mobile-game-dock button,
 body[data-scene="explore"] .mobile-game-dock .mobile-dock-build{
  border-radius:12px;padding:2px!important;
 }
 body[data-scene="explore"] .mobile-dock-icon{font-size:19px}
 body[data-scene="explore"] .mobile-dock-caption{font-size:10px}
 body[data-scene="explore"] .explore-stick{
  width:68px!important;height:68px!important;left:9px;
 }
 body[data-scene="explore"] .stick-knob{width:35px;height:35px}
 body[data-scene="explore"] .explore-actions{
  width:132px!important;max-width:132px!important;right:8px;gap:5px!important;
 }
 body[data-scene="explore"] .explore-actions .picture-button{
  flex-basis:calc((100% - 5px)/2);
  width:calc((100% - 5px)/2)!important;
  height:50px!important;min-height:50px!important;max-height:50px!important;
  padding:3px 2px!important;gap:1px!important;
  border-radius:11px!important;
 }
 body[data-scene="explore"] .explore-actions .button-picture{font-size:21px!important}
 body[data-scene="explore"] .explore-actions .button-caption{font-size:10px!important}
 /* In landscape the bottom action grid needs this space: the map remains
    instantly accessible using the Map navigation button. */
 body[data-scene="explore"] .island-map-mini{display:none!important}
 body[data-scene="explore"] .explore-world.helpers-open .explore-menu{max-height:min(63svh,290px)}
}

/* Respect game-loading fallback even with mobile grid display overrides. */
body[data-scene="explore"] .explore-actions[hidden],
body[data-scene="explore"] .explore-stick[hidden]{display:none!important}
/* Wide phone landscape (e.g. 844×390): keep the same usable bottom controls. */
@media(min-width:781px) and (max-height:520px) and (pointer:coarse){
 body[data-scene="explore"] .helper-toggle.picture-button{display:none!important}
 body[data-scene="explore"] .explore-menu{display:none!important}
 body[data-scene="explore"] .explore-world.helpers-open .explore-menu{
  display:grid!important;position:absolute;left:10px;right:10px;top:auto!important;
  width:auto;bottom:calc(var(--game-dock-bottom) + var(--game-dock-height) + 12px)!important;
  grid-template-columns:repeat(4,minmax(0,1fr));max-height:min(63svh,290px);
  overflow-y:auto;gap:6px;padding:10px;background:#fffaf1;border-radius:16px;z-index:28;
 }
 body[data-scene="explore"] .explore-menu .picture-button{width:100%;min-width:0;min-height:54px;padding:4px;border-radius:11px}
 body[data-scene="explore"] .explore-menu .button-picture{font-size:23px}
 body[data-scene="explore"] .explore-menu .button-caption{font-size:11px}
 body[data-scene="explore"] .explore-world.helpers-open .mobile-menu-shade{
  display:block;position:absolute;inset:0;z-index:22;
  background:#071f2f84;border:0;min-width:100%;
 }
 body[data-scene="explore"] .explore-world.helpers-open .mobile-bag-shortcut{visibility:hidden;pointer-events:none}
 body[data-scene="explore"] .explore-actions .friend-hello,
 body[data-scene="explore"] .explore-actions .world-lesson,
 body[data-scene="explore"] .island-goal{display:none!important}
 body[data-scene="explore"] .island-map-mini{display:none!important}
}

/* Five compact phone/map/build/friend/menu controls without overlap on small screens. */
@media(max-width:760px){
 body[data-scene="explore"] .mobile-game-dock{grid-template-columns:repeat(5,minmax(0,1fr))!important;}
 body[data-scene="explore"] .mobile-game-dock button{min-width:0!important;}
 body[data-scene="explore"] .mobile-dock-caption{font-size:clamp(9px,2.5vw,11px)!important;white-space:normal;text-align:center;}
}

/* Mobile HUD: location and nearby contextual action only. No stacked currencies or redundant chrome. */
@media(max-width:760px){
 body[data-scene="explore"] .explore-bag,
 body[data-scene="explore"] .region-help-status,
 body[data-scene="explore"] .volcano-hike-status,
 body[data-scene="explore"] .island-goal,
 body[data-scene="explore"] .explore-hint,
 body[data-scene="explore"] .mobile-bag-shortcut,
 body[data-scene="explore"] .helper-toggle{display:none!important}
 body[data-scene="explore"] .explore-hud{max-width:min(68vw,310px);pointer-events:none}
 body[data-scene="explore"] .explore-location{max-width:100%;white-space:normal;line-height:1.22;font-size:clamp(14px,3.8vw,17px);overflow-wrap:anywhere}
 body[data-scene="explore"] .mobile-game-dock{
  display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;
  width:min(270px,calc(100% - 24px))!important;max-width:270px!important;
  right:10px!important;left:auto!important;transform:none!important;
  gap:6px!important;
 }
 body[data-scene="explore"] .mobile-game-dock button,
 body[data-scene="explore"] .mobile-game-dock .mobile-dock-build{
  width:100%!important;height:64px!important;min-height:64px!important;
  max-width:none!important;flex:1 1 0!important;padding:5px 3px!important;
  font-size:13px!important;border-radius:13px!important;
 }
}

/* Single navigation source: remove legacy map/friend widgets and city counters. */
body[data-scene="explore"] .island-map-mini,
body[data-scene="explore"] .friend-peek,
body[data-scene="explore"] .pizza-city-status,
body[data-scene="explore"] .explore-bag{display:none!important;visibility:hidden!important;pointer-events:none!important}

/* Dedicated animal ride action: visible and touch-sized on all devices. */
body[data-scene="explore"] .animal-ride-quick[hidden]{display:none!important}
body[data-scene="explore"] .animal-ride-quick:not([hidden]){
 display:flex!important;align-items:center;justify-content:center;flex-direction:column;
 min-width:94px!important;min-height:72px!important;padding:8px!important;
 background:#f9dc95!important;border:2px solid #fff6d7!important;border-radius:15px!important;
 color:#294c43!important;font-weight:900;z-index:29;
}
@media(max-width:760px){
 body[data-scene="explore"] .animal-ride-quick:not([hidden]){
  width:88px!important;min-width:88px!important;min-height:76px!important;
  font-size:14px!important;box-shadow:0 4px 12px #123a4259;
 }
}

/* Fixed arrow controls share the keyboard movement loop; touch cannot scroll them. */
.world-arrows,.world-arrows button,.explore-stick{touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}
.world-arrows button[aria-pressed="true"]{background:#f6cc69!important;box-shadow:inset 0 2px 5px #244e4960}
.world-arrows button:focus-visible{outline:3px solid #246b91;outline-offset:2px}
.explore-actions .world-jump{touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}
.world-arrows .movement-speed{font-size:12px;font-weight:900;touch-action:none}
.cruise-status{position:absolute;top:115px;left:50%;transform:translateX(-50%);z-index:29;width:max-content;max-width:calc(100% - 32px);padding:12px 16px;border:2px solid #fff3ce;border-radius:16px;background:#16364ef2;color:#fff8e5;text-align:center;font-size:16px;font-weight:800;pointer-events:none}
.cruise-status[hidden]{display:none}
.colon-status{position:absolute;top:138px;left:24px;z-index:17;max-width:calc(100% - 48px);padding:8px 12px;border-radius:12px;background:#173f36eb;color:#f8f1d9;font-size:15px;font-weight:800;pointer-events:none}
.colon-status[hidden]{display:none}
.inside-cottage .colon-status,.on-cruise .colon-status,.explore-world:has(.explore-panel:not([hidden]),.friend-panel:not([hidden]),.realm-panel:not([hidden]),.journey-panel:not([hidden])) .colon-status{visibility:hidden}
@media(max-width:780px){.colon-status{top:106px;left:10px;max-width:calc(100% - 20px);font-size:13px;padding:7px 10px}}
.on-cruise .world-arrows,.on-cruise .explore-stick,.on-cruise .explore-actions,.on-cruise .mobile-game-dock,.on-cruise .mobile-bag-shortcut,.on-cruise .explore-menu,.on-cruise .helper-toggle,.on-cruise .island-goal,.on-cruise .island-map-mini,.on-cruise .friend-peek,.on-cruise .world-story{visibility:hidden!important;pointer-events:none!important}
@media(max-width:780px),(pointer:coarse){
 body[data-scene="explore"] .explore-world{
  --game-dock-bottom:max(7px,env(safe-area-inset-bottom));--game-dock-height:58px;
  --game-control-bottom:calc(var(--game-dock-bottom) + var(--game-dock-height) + 14px);
 }
 body[data-scene="explore"] .explore-stick{display:none!important}
 body[data-scene="explore"] .world-arrows{
  position:absolute;display:grid!important;grid-template-columns:repeat(3,44px);grid-template-rows:repeat(3,44px);
  gap:2px;left:max(8px,env(safe-area-inset-left));bottom:var(--game-control-bottom);
  width:136px;height:136px;z-index:20;
 }
 body[data-scene="explore"] .world-arrows button{
  width:44px;height:44px;min-width:44px;min-height:44px;padding:0;margin:0;
  border:2px solid #fff9e8;border-radius:12px;background:#fff7e7ed;color:#264d46;font-size:28px;line-height:1;
 }
 .world-arrows [data-direction="ArrowUp"]{grid-area:1/2}
 .world-arrows [data-direction="ArrowLeft"]{grid-area:2/1}
 .world-arrows [data-direction="ArrowDown"]{grid-area:3/2}
 .world-arrows [data-direction="ArrowRight"]{grid-area:2/3}
 body[data-scene="explore"] .world-arrows .movement-speed{grid-area:2/2;font-size:11px;line-height:1.1;background:#f9dc95}
 body[data-scene="explore"] .world-arrows .movement-speed[hidden]{display:none!important}
 body[data-scene="explore"] .explore-actions .animal-ride-quick:not([hidden]){
  width:calc((100% - 6px)/2)!important;min-width:0!important;min-height:62px!important;height:62px!important;padding:5px 2px!important;
 }
 body[data-scene="explore"] .explore-world:not(.explore-ready) .world-arrows,
 body[data-scene="explore"] .explore-world.helpers-open .world-arrows,
 body[data-scene="explore"] .explore-world:has(.explore-panel:not([hidden]),.friend-panel:not([hidden]),.realm-panel:not([hidden]),.journey-panel:not([hidden])) .world-arrows{visibility:hidden;pointer-events:none}
}
@media(pointer:coarse) and (min-width:781px) and (min-height:521px){
 body[data-scene="explore"] .world-arrows{bottom:145px}
}
@media(max-height:520px) and (max-width:780px),(pointer:coarse) and (max-height:520px){
 body[data-scene="explore"] .world-arrows{--game-control-bottom:calc(max(4px,env(safe-area-inset-bottom)) + 49px + 9px)}
 body[data-scene="explore"] .explore-actions .animal-ride-quick:not([hidden]){height:50px!important;min-height:50px!important;padding:3px 2px!important}
}


/* One saved story objective remains available while exploring. */
.campaign-hud{position:absolute;z-index:24;top:82px;left:50%;transform:translateX(-50%);width:350px;max-width:calc(100% - 24px);padding:10px 14px;border:2px solid #e5c76e;border-radius:16px;background:#fff8e9f5;color:#274b43;text-align:left;box-shadow:0 3px 12px #102e3630;cursor:pointer;touch-action:manipulation}
.campaign-hud strong,.campaign-hud span{display:block}.campaign-hud strong{font-size:14px}.campaign-hud span{font-size:13px;line-height:1.35;margin-top:4px}
.explore-ready:has(.explore-panel:not([hidden])) .campaign-hud{display:none}
.campaign-primary{display:block;width:100%;min-height:50px;margin:12px 0;padding:12px;border:0;border-radius:12px;background:#276653;color:white;font-weight:700}
.campaign-choices{display:flex;gap:10px;flex-wrap:wrap}.campaign-choices button{min-width:64px;min-height:64px;border:2px solid #b6cfae;background:#fff8e9;border-radius:12px;font-size:28px;touch-action:manipulation}.campaign-task{font-size:15px;line-height:1.5}
@media(max-width:1100px){.campaign-hud{left:12px;transform:none;top:106px;width:290px}.story-following .island-goal{display:none!important}}
@media(max-width:600px){.campaign-hud{top:106px;left:10px;width:calc(100% - 20px);padding:8px 12px}.story-following .colon-status{top:205px!important}.story-following .explore-message{top:205px!important}.campaign-task{font-size:14px}.campaign-choices{gap:8px}}
@media(max-height:520px) and (orientation:landscape){.campaign-hud{top:65px;left:10px;width:280px}.story-following .explore-hud{display:none}.story-following .explore-message{top:148px!important}}

.explore-ready:has(.friend-panel:not([hidden]),.journey-panel:not([hidden]),.realm-panel:not([hidden])) .campaign-hud,.on-cruise .campaign-hud{display:none}

/* Reserve the desktop title area, including over bright map labels. */
@media(min-width:781px){
 body[data-scene="entry"] .topbar .brand,
 body[data-scene="explore"] .topbar .brand{
  flex-shrink:0;isolation:isolate;background:#163e4b;padding:8px 12px;
  border-radius:12px;line-height:1.15;
 }
 body[data-scene="entry"] .brand-mark,
 body[data-scene="explore"] .brand-mark{flex-shrink:0}
 body[data-scene="entry"] .world-entry{
  height:auto;min-height:100svh;align-items:flex-start;padding-top:120px;padding-bottom:60px;
 }
}

/* Keep the desktop welcome compact, with Play visible on laptop screens. */
@media(min-width:781px){
 body[data-scene="entry"] .world-entry{
  height:100svh;min-height:600px;align-items:center;padding:110px 6vw 28px;
 }
 .world-entry .welcome-copy{max-width:400px}
 .world-entry .eyebrow{font-size:12px;line-height:1.35;letter-spacing:1px;max-width:360px}
 .world-entry h1{font-size:clamp(44px,4vw,58px);line-height:1.03;letter-spacing:-1.5px;margin:12px 0 16px}
 .world-entry h1 em{font-size:.48em;line-height:1.3;letter-spacing:-.5px;margin-top:6px}
 .world-entry p{font-size:15px;line-height:1.5;max-width:360px}
 .world-entry .welcome-feature-grid{max-width:360px;gap:7px;margin:12px 0}
 .world-entry .welcome-feature{min-height:66px;padding:7px 4px;border-radius:12px}
 .world-entry .welcome-feature-icon{font-size:28px}
 .world-entry .welcome-feature-label{font-size:13px}
 .world-entry .primary.enter-world{width:360px;max-width:100%;min-width:0;min-height:58px;padding:12px 20px;margin:14px 0 10px;font-size:19px;border-radius:15px}
 .world-entry .welcome-foot{font-size:12px!important;line-height:1.4}
}
@media(min-width:781px) and (max-height:650px){
 body[data-scene="entry"] .world-entry{padding-top:104px;padding-bottom:20px}
 .world-entry h1{font-size:44px;margin:10px 0 12px}
 .world-entry .welcome-feature{min-height:58px}
 .world-entry .welcome-feature-icon{font-size:25px}
 .world-entry .primary.enter-world{min-height:54px;margin-top:10px}
}

.camera-view-toggle{position:absolute;z-index:24;left:24px;top:158px;min-height:44px;padding:9px 13px;border:2px solid #fff5d5;border-radius:13px;background:#173f4bf2;color:#fff8e4;font-size:13px;font-weight:700;touch-action:manipulation}
.explore-ready:has(.explore-panel:not([hidden]),.journey-panel:not([hidden]),.realm-panel:not([hidden])) .camera-view-toggle{display:none}
@media(max-width:780px){.camera-view-toggle{left:auto;right:10px;top:178px;min-height:44px;max-width:150px;font-size:12px;padding:7px 10px}}
@media(max-height:520px) and (orientation:landscape){.camera-view-toggle{left:auto;right:10px;top:145px;max-width:140px}}
@media(min-width:781px){.explore-world:has(.world-story:not([hidden])) .camera-view-toggle{top:184px}}
@media(max-width:780px){.explore-world .explore-message.show{top:235px!important}.explore-world .colon-status{top:235px!important}}

.panama-food-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid #ccd5c0}
.panama-food-row .discover-place{min-height:44px;padding:8px 14px}
.panama-feedback{padding:10px;border-radius:10px;background:#e4efd6;color:#264b3d}

/* One-thumb joystick replaces the old mobile D-pad; existing desktop keys remain. */
@media(max-width:780px),(pointer:coarse){
 body[data-scene="explore"] .explore-world.explore-ready .explore-stick{
  display:grid!important;width:clamp(98px,29vw,120px)!important;
  height:clamp(98px,29vw,120px)!important;
  left:max(10px,env(safe-area-inset-left))!important;
  bottom:var(--game-control-bottom)!important;z-index:22;touch-action:none
 }
 body[data-scene="explore"] .world-arrows{display:none!important;pointer-events:none!important}
 body[data-scene="explore"] .explore-world.helpers-open .explore-stick,
 body[data-scene="explore"] .explore-world:has(.explore-panel:not([hidden]),.friend-panel:not([hidden]),.realm-panel:not([hidden]),.journey-panel:not([hidden])) .explore-stick{visibility:hidden!important;pointer-events:none!important}
}
@media(max-height:520px) and (max-width:780px),(pointer:coarse) and (max-height:520px){
 body[data-scene="explore"] .explore-world.explore-ready .explore-stick{width:80px!important;height:80px!important}
}

/* Keep travel speed available beside the phone joystick, even when arrows hide. */
@media(max-width:780px),(pointer:coarse){
 body[data-scene="explore"] .world-arrows{display:contents!important;pointer-events:auto!important}
 body[data-scene="explore"] .world-arrows [data-direction]{display:none!important}
 body[data-scene="explore"] .world-arrows .movement-speed{position:absolute;z-index:20;left:18px;bottom:calc(210px + env(safe-area-inset-bottom));min-width:94px;min-height:46px;padding:9px 12px;font-size:14px;line-height:1.2;border:2px solid #fff5d5;border-radius:14px;background:#fff3d9ed;color:#284b49;touch-action:none}
 body[data-scene="explore"] .world-arrows .movement-speed[aria-pressed="true"]{background:#f6cc69}
}

@media(max-height:520px) and (max-width:780px),(pointer:coarse) and (max-height:520px){
 body[data-scene="explore"] .world-arrows .movement-speed{left:110px;bottom:calc(var(--game-control-bottom) + 18px)}
}

.explore-stick.stick-held{border-color:#ffe3a0;background:#294c5270;box-shadow:0 0 0 4px #ffe3a02b,inset 0 0 20px #214a5420}
/* More room to steer left before a thumb reaches the tablet's screen edge. */
@media(min-width:600px) and (min-height:600px) and (pointer:coarse){
 body[data-scene="explore"] .explore-world.explore-ready .explore-stick{left:max(54px,env(safe-area-inset-left))!important}
 body[data-scene="explore"] .world-arrows .movement-speed{left:67px}
}
@media(min-width:781px) and (max-width:1100px) and (pointer:coarse){
 .campaign-hud{top:136px}
 .explore-world:has(.campaign-hud:not([hidden])) .camera-view-toggle{top:218px}
}


/* Keep speed above the joystick; legacy mobile offsets must not overlap it. */
body[data-scene="explore"] .explore-world.phone-interface.explore-ready .explore-stick{left:max(24px,env(safe-area-inset-left))!important;bottom:calc(24px + env(safe-area-inset-bottom))!important;width:104px!important;height:104px!important}
body[data-scene="explore"] .explore-world.phone-interface.explore-ready .world-arrows .movement-speed{left:max(24px,env(safe-area-inset-left))!important;bottom:calc(140px + env(safe-area-inset-bottom))!important;pointer-events:auto!important;z-index:23}
