/* Unified world HUD geometry: minimap, objectives and resources share one visual system. */

@media (min-width: 761px) {
  .game-screen {
    --world-hud-width: clamp(320px, 24vw, 344px);
    --world-hud-map-height: clamp(222px, 16vw, 238px);
    --world-hud-radius: 20px;
    --world-hud-gap: 14px;
  }

  .game-screen .world-minimap {
    width: var(--world-hud-width) !important;
    height: var(--world-hud-map-height) !important;
    grid-template-rows: 36px minmax(0, 1fr) 38px !important;
    overflow: visible;
    border-radius: var(--world-hud-radius) !important;
    box-shadow: 0 18px 42px rgba(0, 27, 43, .25), 0 3px 10px rgba(0, 31, 48, .12) !important;
    contain: layout style;
    isolation: isolate;
  }
  .game-screen .world-minimap-topbar {
    min-height: 36px;
    padding-inline: 14px 12px;
    border-radius: var(--world-hud-radius) var(--world-hud-radius) 0 0 !important;
  }
  .game-screen .world-minimap-place b { font-size: 11px; letter-spacing: 0; }
  .game-screen .world-minimap-topbar time { font-size: 9.5px; }
  .game-screen .world-minimap-map-surface,
  .game-screen .world-minimap-frame {
    width: 100%;
    height: auto !important;
    min-height: 0;
  }
  .game-screen .world-minimap-map-surface { box-shadow: inset 0 1px rgba(255,255,255,.10), inset 0 -1px rgba(0,20,31,.10); }
  .game-screen .world-minimap-frame { border-radius: 0 !important; }
  .game-screen .world-minimap-preview { contain: strict; }
  .game-screen .world-minimap-bottombar {
    min-height: 38px;
    border-radius: 0 0 var(--world-hud-radius) var(--world-hud-radius) !important;
  }
  .game-screen .world-minimap-channel { height: 37px; border-radius: 0 0 0 var(--world-hud-radius) !important; }
  .game-screen .world-minimap-channel-copy b,
  .game-screen .world-minimap-ping b { font-size: 8.5px; }
  .game-screen .world-minimap-ping { height: 37px; }

  .game-screen .quest-widget,
  .game-screen .quest-widget.is-collapsed {
    right: max(14px, env(safe-area-inset-right)) !important;
    left: auto !important;
    top: calc(max(14px, env(safe-area-inset-top)) + var(--world-hud-map-height) + var(--world-hud-gap)) !important;
    width: var(--world-hud-width) !important;
    max-width: var(--world-hud-width) !important;
    border-radius: var(--world-hud-radius) !important;
    box-shadow: 0 14px 32px rgba(0, 27, 43, .20), 0 1px rgba(255,255,255,.72) inset !important;
    contain: layout paint;
    isolation: isolate;
  }
  .game-screen .quest-widget .quest-tracker-head-v57 {
    border-radius: var(--world-hud-radius) var(--world-hud-radius) 0 0;
  }
  .game-screen .quest-widget.is-collapsed .quest-tracker-head-v57 {
    border-radius: var(--world-hud-radius) !important;
  }
  .game-screen .quest-widget.is-collapsed { height: 68px !important; max-height: 68px !important; }
  .game-screen .quest-widget.is-hud-expanded { max-height: min(470px, calc(100dvh - var(--world-hud-map-height) - 52px)) !important; }
  .game-screen .quest-tracker-row-v57 > span > b {
    display: -webkit-box;
    overflow: hidden;
    white-space: normal;
    text-overflow: ellipsis;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
  }

  /* One resource rail instead of several unrelated blocks. */
  .game-screen .world-wallet {
    gap: 0 !important;
    padding: 4px;
    overflow: hidden;
    border: 1px solid rgba(132,191,211,.25);
    border-radius: 18px;
    background: linear-gradient(145deg, rgba(7,39,51,.91), rgba(7,30,42,.88));
    box-shadow: 0 10px 25px rgba(0,22,33,.18), inset 0 1px rgba(255,255,255,.07);
    backdrop-filter: blur(12px) saturate(1.06);
    contain: layout paint;
  }
  .game-screen .world-wallet-currency {
    min-height: 38px;
    border: 0 !important;
    border-radius: 13px !important;
    background: transparent !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
  }
  .game-screen .world-wallet-currency + .world-wallet-currency {
    border-left: 1px solid rgba(132,191,211,.18) !important;
    border-radius: 0 13px 13px 0 !important;
  }
  .game-screen .world-wallet-currency b { font-size: 11px; }
  .game-screen .world-wallet-currency button {
    border-color: rgba(255,255,255,.08);
    background: rgba(255,255,255,.065);
  }
  html[data-game-theme="light"] .game-screen .world-wallet {
    border-color: rgba(185,213,224,.95);
    background: rgba(249,253,255,.95);
    box-shadow: 0 9px 22px rgba(0,39,61,.12), inset 0 1px #fff;
  }
  html[data-game-theme="light"] .game-screen .world-wallet-currency + .world-wallet-currency { border-left-color: #d9e7ee !important; }
}

@media (min-width: 761px) and (max-width: 1180px) {
  .game-screen {
    --world-hud-width: clamp(292px, 34vw, 320px);
    --world-hud-map-height: 218px;
  }
  .game-screen .quest-tracker-row-v57 { grid-template-columns: 38px minmax(0, 1fr) 58px !important; gap: 9px; }
  .game-screen .quest-tracker-choice-v62 > button { min-width: 34px; width: 34px; padding: 0; }
  .game-screen .quest-tracker-choice-v62 > button > span,
  .game-screen .quest-primary-badge-v62 { display: none; }
}

@media (min-width: 1500px) {
  .game-screen {
    --world-hud-width: 360px;
    --world-hud-map-height: 248px;
  }
}

@media (min-width: 761px) and (max-height: 720px) {
  .game-screen {
    --world-hud-map-height: 202px;
    --world-hud-gap: 10px;
  }
  .game-screen .world-minimap { grid-template-rows: 33px minmax(0, 1fr) 35px !important; }
  .game-screen .world-minimap-topbar { min-height: 33px; }
  .game-screen .world-minimap-bottombar,
  .game-screen .world-minimap-channel,
  .game-screen .world-minimap-ping { min-height: 35px; height: 34px; }
  .game-screen .quest-widget.is-hud-expanded { max-height: min(360px, calc(100dvh - 250px)) !important; }
}

@media (max-width: 760px) {
  .game-screen .quest-widget:not(.is-collapsed) {
    top: max(118px, calc(env(safe-area-inset-top) + 112px)) !important;
    right: max(8px, env(safe-area-inset-right)) !important;
    left: max(8px, env(safe-area-inset-left)) !important;
    width: auto !important;
    max-width: none !important;
    border-radius: 19px !important;
    box-shadow: 0 12px 28px rgba(0, 27, 43, .20), 0 1px rgba(255,255,255,.7) inset !important;
    contain: layout paint;
  }
  .game-screen .quest-widget.is-collapsed {
    top: max(118px, calc(env(safe-area-inset-top) + 112px)) !important;
    right: max(29px, calc(env(safe-area-inset-right) + 21px)) !important;
    border: 2px solid rgba(255,255,255,.92) !important;
    background: color-mix(in srgb, var(--ui-glass-strong) 97%, transparent) !important;
    box-shadow: 0 10px 24px rgba(0,31,52,.24), 0 1px #fff inset !important;
    contain: layout paint;
  }
  .game-screen .quest-widget.is-collapsed > .quest-tracker-head-v57 { background: transparent; }
  .game-screen .quest-widget.is-hud-expanded { max-height: min(440px, calc(100dvh - 196px)) !important; }
  .game-screen .quest-tracker-row-v57 b { font-size: 13px !important; }
  .game-screen .quest-tracker-row-v57 em { font-size: 9.5px; }
}

@media (max-width: 430px) {
  .game-screen .quest-widget:not(.is-collapsed) {
    top: max(110px, calc(env(safe-area-inset-top) + 104px)) !important;
  }
  .game-screen .quest-widget.is-collapsed {
    top: max(108px, calc(env(safe-area-inset-top) + 102px)) !important;
    right: max(22px, calc(env(safe-area-inset-right) + 16px)) !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .game-screen .world-minimap,
  .game-screen .quest-widget,
  .game-screen .world-wallet { transition: none !important; }
}
