/* Raster game navigation and circular phone minimap v2.28.0. */

.game-ui-raster-v2280 {
  display:block;
  width:100%;
  height:100%;
  max-width:100%;
  max-height:100%;
  object-fit:contain;
  object-position:center;
  filter:drop-shadow(0 2px 2px rgba(9,42,60,.18));
  pointer-events:none;
  user-select:none;
  -webkit-user-drag:none;
}

.mobile-quest-launcher-v2270 { display:none; }

.game-screen[data-mobile-navigation="v2280"] :is(.desktop-dock,.mobile-dock) [data-nav-icon] {
  display:grid;
  place-items:center;
  overflow:visible;
}

.game-screen[data-mobile-navigation="v2280"] :is(.desktop-dock,.mobile-dock) .mobile-nav-icon {
  display:block!important;
  width:100%!important;
  height:100%!important;
  overflow:visible!important;
  object-fit:contain!important;
}

.game-screen[data-mobile-navigation="v2280"] #desktopMoreMenu > button > span[data-nav-icon] {
  display:grid!important;
  place-items:center!important;
  width:34px!important;
  height:34px!important;
  padding:2px!important;
  overflow:visible!important;
  border:1px solid color-mix(in srgb,var(--theme-border) 72%,white)!important;
  border-radius:11px!important;
  background:color-mix(in srgb,var(--theme-card) 90%,#e9f7fc)!important;
  box-shadow:inset 0 1px rgba(255,255,255,.9),0 3px 8px rgba(7,45,64,.09)!important;
}

.game-screen[data-mobile-navigation="v2280"] #desktopMoreMenu > button > span[data-nav-icon] .mobile-nav-icon {
  width:31px!important;
  height:31px!important;
}

.game-screen[data-mobile-navigation="v2280"] .chat-title-icon > .game-ui-raster-v2280 {
  width:29px!important;
  height:29px!important;
}

.game-screen[data-mobile-navigation="v2280"] .chat-head-actions .game-ui-raster-v2280 {
  width:20px!important;
  height:20px!important;
  filter:none;
}

.game-screen[data-mobile-navigation="v2280"] .resource-art-v74--experience {
  filter:drop-shadow(0 2px 2px rgba(18,82,143,.22));
}

.game-screen[data-mobile-navigation="v2280"] .world-wallet-currency.is-gems .world-wallet-currency-icon,
.game-screen[data-mobile-navigation="v2280"] .world-wallet-currency.is-gems .resource-art-v74--crystal {
  width:32px!important;
  height:32px!important;
}

.inventory-v52 .inventory-wallet-v49 > span.is-gems > .resource-art-v74--crystal {
  width:26px!important;
  height:26px!important;
}

.inventory-v52 .inventory-capacity-v52 > button > .resource-art-v74--crystal {
  width:22px!important;
  height:22px!important;
}

@media (min-width:761px) {
  .game-screen[data-mobile-navigation="v2280"] .desktop-dock .mobile-nav-icon {
    width:42px!important;
    height:42px!important;
  }
}

@media (max-width:760px), (pointer:coarse) and (max-height:560px) {
  body:not(.is-battling) .game-screen[data-mobile-navigation="v2280"] {
    --m28-map-top:calc(var(--pk-mobile-vv-offset-top,0px) + max(7px,env(safe-area-inset-top)));
    --m28-map-size:118px;
    --m28-quest-size:52px;
  }

  body:not(.is-battling) .game-screen[data-mobile-navigation="v2280"] .mobile-dock .mobile-nav-icon {
    width:35px!important;
    height:35px!important;
  }

  body:not(.is-battling) .game-screen[data-mobile-navigation="v2280"] .world-topbar > .world-wallet {
    display:flex!important;
    z-index:25!important;
  }

  body:not(.is-battling) .game-screen[data-mobile-navigation="v2280"] .mobile-dock > button:is(.is-active,.is-menu-open) .game-ui-raster-v2280 {
    filter:drop-shadow(0 4px 5px color-mix(in srgb,var(--theme-accent) 30%,transparent)) brightness(1.04);
    transform:translateY(-1px) scale(1.035);
  }

  body:not(.is-battling) .game-screen[data-mobile-navigation="v2280"] #questWidget { display:none!important; }

  body:not(.is-battling) .game-screen[data-mobile-navigation="v2280"] .mobile-quest-launcher-v2270 {
    position:absolute!important;
    z-index:83!important;
    top:calc(var(--m28-map-top) + var(--m28-map-size) + 7px)!important;
    right:max(7px,env(safe-area-inset-right))!important;
    display:grid!important;
    grid-template-rows:31px 10px!important;
    place-items:center!important;
    gap:1px!important;
    width:var(--m28-quest-size)!important;
    min-width:var(--m28-quest-size)!important;
    height:var(--m28-quest-size)!important;
    min-height:var(--m28-quest-size)!important;
    padding:4px 3px!important;
    border:1px solid color-mix(in srgb,var(--theme-border) 88%,white)!important;
    border-radius:17px!important;
    background:color-mix(in srgb,var(--theme-card) 96%,transparent)!important;
    color:var(--theme-text)!important;
    box-shadow:0 8px 22px rgba(5,35,52,.22),inset 0 1px rgba(255,255,255,.92)!important;
    backdrop-filter:blur(12px) saturate(1.08)!important;
  }

  body:not(.is-battling) .game-screen[data-mobile-navigation="v2280"] .mobile-quest-launcher-v2270 > span,
  body:not(.is-battling) .game-screen[data-mobile-navigation="v2280"] .mobile-quest-launcher-v2270 .mobile-nav-icon {
    display:grid!important;
    place-items:center!important;
    width:31px!important;
    height:31px!important;
  }

  body:not(.is-battling) .game-screen[data-mobile-navigation="v2280"] .mobile-quest-launcher-v2270 > b {
    max-width:100%!important;
    overflow:hidden!important;
    font-size:8px!important;
    font-weight:850!important;
    line-height:1!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
  }

  body:not(.is-battling) .game-screen[data-mobile-navigation="v2280"] .mobile-quest-launcher-v2270 > i {
    position:absolute!important;
    top:-5px!important;
    right:-5px!important;
    display:grid!important;
    place-items:center!important;
    min-width:20px!important;
    height:20px!important;
    padding:0 5px!important;
    border:2px solid var(--theme-card)!important;
    border-radius:999px!important;
    background:#ef4e5f!important;
    color:#fff!important;
    font-size:9px!important;
    font-style:normal!important;
    font-weight:900!important;
    box-shadow:0 3px 8px rgba(118,20,34,.25)!important;
  }

  body:not(.is-battling) .game-screen[data-mobile-navigation="v2280"] .mobile-quest-launcher-v2270 > i[hidden] { display:none!important; }
  body:not(.is-battling) .game-screen[data-mobile-navigation="v2280"] .mobile-quest-launcher-v2270.has-ready { border-color:#58c995!important;background:color-mix(in srgb,#eafff4 88%,var(--theme-card))!important; }

  /* The phone map is intentionally circular. Desktop keeps its full rectangular navigator. */
  body:not(.is-battling) .game-screen[data-mobile-navigation="v2280"] .world-minimap {
    top:var(--m28-map-top)!important;
    right:max(7px,env(safe-area-inset-right))!important;
    display:block!important;
    width:var(--m28-map-size)!important;
    min-width:var(--m28-map-size)!important;
    max-width:var(--m28-map-size)!important;
    height:var(--m28-map-size)!important;
    min-height:var(--m28-map-size)!important;
    max-height:var(--m28-map-size)!important;
    overflow:hidden!important;
    border:2px solid rgba(255,255,255,.95)!important;
    border-radius:50%!important;
    background:#17394a!important;
    box-shadow:0 10px 25px rgba(0,24,38,.27),inset 0 0 0 1px rgba(11,110,184,.14)!important;
  }

  body:not(.is-battling) .game-screen[data-mobile-navigation="v2280"] .world-minimap-topbar,
  body:not(.is-battling) .game-screen[data-mobile-navigation="v2280"] .world-minimap-bottombar,
  body:not(.is-battling) .game-screen[data-mobile-navigation="v2280"] .world-minimap-channel-menu {
    display:none!important;
  }

  body:not(.is-battling) .game-screen[data-mobile-navigation="v2280"] .world-minimap-map-surface,
  body:not(.is-battling) .game-screen[data-mobile-navigation="v2280"] .world-minimap-frame {
    position:absolute!important;
    inset:0!important;
    width:100%!important;
    height:100%!important;
    overflow:hidden!important;
    border-radius:50%!important;
  }

  body:not(.is-battling) .game-screen[data-mobile-navigation="v2280"] .world-minimap-frame::after { border-radius:50%!important; }
  body:not(.is-battling) .game-screen[data-mobile-navigation="v2280"] .world-minimap-preview { width:100%!important;height:100%!important;object-fit:cover!important; }

  body:not(.is-battling) .game-screen[data-mobile-navigation="v2280"] .world-topbar {
    right:calc(max(7px,env(safe-area-inset-right)) + var(--m28-map-size) + 9px)!important;
  }

  body:not(.is-battling) .game-screen[data-mobile-navigation="v2280"] #desktopMoreMenu > button { min-height:58px!important; }
  body:not(.is-battling) .game-screen[data-mobile-navigation="v2280"] #desktopMoreMenu > button > b { font-size:11px!important; }

  body:not(.is-battling) .game-screen[data-mobile-navigation="v2280"]:has(#sidePanel.is-open,#chatPanel.is-open:not(.is-minimized),#editorPanel.is-open) .mobile-quest-launcher-v2270,
  body:not(.is-battling) .game-screen[data-mobile-navigation="v2280"]:has(#desktopMoreMenu.is-desktop-menu-open) .mobile-quest-launcher-v2270 {
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
  }

  .inventory-v52 .inventory-wallet-v49 > span.is-gems > .resource-art-v74--crystal {
    width:21px!important;
    height:21px!important;
  }
}

@media (max-width:340px) {
  body:not(.is-battling) .game-screen[data-mobile-navigation="v2280"] {
    --m28-map-size:104px;
    --m28-quest-size:48px;
  }

  body:not(.is-battling) .game-screen[data-mobile-navigation="v2280"] .mobile-dock .mobile-nav-icon {
    width:31px!important;
    height:31px!important;
  }
}

@media (max-width:340px) and (orientation:portrait) {
  body:not(.is-battling) .game-screen[data-mobile-navigation="v2280"] {
    --m28-map-top:calc(var(--pk-mobile-vv-offset-top,0px) + max(108px,calc(env(safe-area-inset-top) + 104px)));
  }

  body:not(.is-battling) .game-screen[data-mobile-navigation="v2280"] .world-topbar {
    right:max(7px,env(safe-area-inset-right))!important;
  }
}

@media (max-width:760px) and (orientation:portrait) {
  body:not(.is-battling) .game-screen[data-mobile-navigation="v2280"] .world-topbar > .world-wallet {
    top:calc(var(--pk-mobile-vv-offset-top,0px) + max(120px,calc(env(safe-area-inset-top) + 112px)))!important;
    left:max(8px,env(safe-area-inset-left))!important;
  }
}

@media (pointer:coarse) and (max-height:560px) and (orientation:landscape) {
  body:not(.is-battling) .game-screen[data-mobile-navigation="v2280"] {
    --m28-map-size:94px;
    --m28-quest-size:44px;
  }

  body:not(.is-battling) .game-screen[data-mobile-navigation="v2280"] .mobile-quest-launcher-v2270 {
    grid-template-rows:27px 9px!important;
    border-radius:14px!important;
  }

  body:not(.is-battling) .game-screen[data-mobile-navigation="v2280"] .mobile-quest-launcher-v2270 > span,
  body:not(.is-battling) .game-screen[data-mobile-navigation="v2280"] .mobile-quest-launcher-v2270 .mobile-nav-icon {
    width:27px!important;
    height:27px!important;
  }

  body:not(.is-battling) .game-screen[data-mobile-navigation="v2280"] .world-topbar > .world-wallet {
    top:max(18px,env(safe-area-inset-top))!important;
    left:calc(max(8px,env(safe-area-inset-left)) + 308px)!important;
    right:auto!important;
    transform:none!important;
  }

  body:not(.is-battling) .game-screen[data-mobile-navigation="v2280"] .notification-center-button {
    display:none!important;
  }
}

@media (min-width:761px) and (pointer:coarse) and (max-height:560px) and (orientation:landscape) {
  body:not(.is-battling) .game-screen[data-mobile-navigation="v2280"] .world-topbar > .world-wallet {
    left:calc(max(18px,env(safe-area-inset-left)) + 328px)!important;
  }
}

@media (prefers-reduced-motion:reduce) {
  .game-screen[data-mobile-navigation="v2280"] .game-ui-raster-v2280 { transition:none!important;transform:none!important; }
}
