/* Lane 336: minimal HUD. Rules only; the state classes are set by js/hud-minimal.js (body.hud-minimal.hud-minimal / hud-full / hud-idle / hud-hidden / hud-carrying / hud-*-live).
   Default screen: action bar, player frame, target frame (with a target), compact minimap, slim quest tracker. Everything else is closed or transient.
   Selectors carry `html body.hud-minimal.hud-minimal` so they win over the older HUD skins whatever the load order. Nothing here removes a control from the DOM: hidden launchers stay
   clickable by script and are reached from the micro menu (the gear opens the flyout) or their key. */

/* ---- 1. closed by default (opens from the micro menu / a key) ---- */
html body.hud-minimal.hud-minimal #zoom-controls,
html body.hud-minimal.hud-minimal #mmo-minimap .wmu-mini-controls,
html body.hud-minimal.hud-minimal #mmo-minimap [title^="Minimap pin legend"],
html body.hud-minimal.hud-minimal .mmo-mini-clock,
html body.hud-minimal.hud-minimal .mmo-mini-coords,
html body.hud-minimal.hud-minimal #mmo-minimap .mmo-mini-tools,
html body.hud-minimal.hud-minimal .mmo-mini-tools,
html body.hud-minimal.hud-minimal .mmo-mini-calendar,
html body.hud-minimal.hud-minimal #actionbar-side,
html body.hud-minimal.hud-minimal #msh-online-entry,
html body.hud-minimal.hud-minimal #open-loadout,
html body.hud-minimal.hud-minimal #auction-open,
html body.hud-minimal.hud-minimal .lfgw-btn,
html body.hud-minimal.hud-minimal .mp-root > .mp-toggle,
html body.hud-minimal.hud-minimal #micro-menu .micro-menu-bags,
html body.hud-minimal.hud-minimal #quest-edge,
html body.hud-minimal.hud-minimal .quest-tracker .quest-tracker-head button[data-quest-toggle] { display: none !important; }

/* Wallet: shows when coins or gems change, or while the bags are open. */
html body.hud-minimal.hud-minimal:not(.hud-wallet-live):not(.hud-bags-open) .msh-currency-strip { display: none !important; }
/* Pack count: only while the hero carries something. */
html body.hud-minimal.hud-minimal:not(.hud-carrying) #stack-meter-container,
html body.hud-minimal.hud-minimal:not(.hud-carrying) #micro-menu #cargo-floating-pill { display: none !important; }
/* Zone name: shows when the zone changes, then fades. */
html body.hud-minimal.hud-minimal #mmo-zone-name { opacity: 0 !important; transition: opacity .6s ease; }
html body.hud-minimal.hud-minimal.hud-zone-live #mmo-zone-name { opacity: 1 !important; }
/* Online guide card: shows when it has something to say, then steps aside (Group in the flyout still opens everything). */
html body.hud-minimal.hud-minimal:not(.hud-guide-live) #mp-guide:not(:focus-within):not(:hover) { display: none !important; }

/* ---- 2. slim quest tracker: the active quest or two, no buttons ---- */
html body.hud-minimal.hud-minimal .quest-tracker .quest-tracker-quest:nth-of-type(n+3) { display: none !important; }
html body.hud-minimal.hud-minimal .quest-tracker { background: transparent !important; border-color: transparent !important; box-shadow: none !important; }

/* ---- 3. chat: a small fading line area; Enter (or the flyout's Chat history) opens the full panel ---- */
html body.hud-minimal.hud-minimal #chat-panel:not(.open) { background: transparent !important; border-color: transparent !important; box-shadow: none !important; resize: none !important; pointer-events: none !important; opacity: 0; transition: opacity .5s ease; }
html body.hud-minimal.hud-minimal #chat-panel:not(.open) .chat-tabs,
html body.hud-minimal.hud-minimal #chat-panel:not(.open) .chat-tag,
html body.hud-minimal.hud-minimal #chat-panel:not(.open) input { display: none !important; }
html body.hud-minimal.hud-minimal #chat-panel:not(.open) .chat-lines { background: transparent !important; text-shadow: 0 1px 2px #000, 0 0 4px #000; overflow: hidden !important; display: flex; flex-direction: column; justify-content: flex-end; max-height: 5.6em; }
html body.hud-minimal.hud-minimal.hud-chat-live #chat-panel:not(.open) { opacity: 1; }
/* Lane 357: the chat tool buttons (Friends, menu, scroll) belong to the chat panel: they leave with it, and come back when it opens. */
html body.hud-minimal.hud-minimal #chat-panel:not(.open) ~ .chat-tools { display: none !important; }

/* ---- 4. idle fade: low opacity while nothing happens; movement keys do not wake it ---- */
html body.hud-minimal.hud-minimal .msh-player-frame,
html body.hud-minimal.hud-minimal #micro-menu,
html body.hud-minimal.hud-minimal .quest-tracker,
html body.hud-minimal.hud-minimal #mmo-minimap,
html body.hud-minimal.hud-minimal #hud-xpbar,
html body.hud-minimal.hud-minimal #action-bar,
html body.hud-minimal.hud-minimal #stack-meter-container,
html body.hud-minimal.hud-minimal .msh-currency-strip { transition: opacity .8s ease; }
html body.hud-minimal.hud-minimal.hud-idle .msh-player-frame,
html body.hud-minimal.hud-minimal.hud-idle #micro-menu,
html body.hud-minimal.hud-minimal.hud-idle .quest-tracker,
html body.hud-minimal.hud-minimal.hud-idle #mmo-minimap,
html body.hud-minimal.hud-minimal.hud-idle #hud-xpbar,
html body.hud-minimal.hud-minimal.hud-idle #stack-meter-container,
html body.hud-minimal.hud-minimal.hud-idle .msh-currency-strip { opacity: .28; }
html body.hud-minimal.hud-minimal.hud-idle #action-bar { opacity: .5; }
html body.hud-minimal.hud-minimal.hud-idle .msh-player-frame:hover,
html body.hud-minimal.hud-minimal.hud-idle #micro-menu:hover,
html body.hud-minimal.hud-minimal.hud-idle .quest-tracker:hover,
html body.hud-minimal.hud-minimal.hud-idle #mmo-minimap:hover,
html body.hud-minimal.hud-minimal.hud-idle #action-bar:hover,
html body.hud-minimal.hud-minimal.hud-idle #hud-xpbar:hover { opacity: 1; }

/* ---- 5. the tutorial names a panel: its button pulses instead of the panel staying open ---- */
html body .hud-pointer { outline: 2px solid #facc15; outline-offset: 2px; animation: hudPointerPulse 1.4s ease-in-out infinite; }
@keyframes hudPointerPulse { 0%, 100% { box-shadow: 0 0 0 0 rgba(250, 204, 21, .6); } 50% { box-shadow: 0 0 0 6px rgba(250, 204, 21, 0); } }
html.reduce-motion body .hud-pointer { animation: none; }
html body.hud-minimal.hud-minimal.hud-idle .hud-pointer { opacity: 1; }
html body.hud-minimal.hud-minimal.hud-idle #micro-menu:has(.hud-pointer) { opacity: 1; }

/* ---- 6. hide all UI (Alt+Z): screenshots. The joystick and touch context buttons stay so a phone can still move. ---- */
html body.hud-hidden #hud-top, html body.hud-hidden .msh-player-frame, html body.hud-hidden #micro-menu, html body.hud-hidden #micro-menu-more, html body.hud-hidden .quest-tracker,
html body.hud-hidden #mmo-minimap, html body.hud-hidden #chat-panel, html body.hud-hidden #action-bar, html body.hud-hidden #actionbar-side, html body.hud-hidden #hud-xpbar,
html body.hud-hidden .msh-currency-strip, html body.hud-hidden #zoom-controls, html body.hud-hidden #stack-meter-container, html body.hud-hidden #msh-waypoint-arrow,
html body.hud-hidden #ftue-next, html body.hud-hidden #ftue-intro, html body.hud-hidden #mp-guide, html body.hud-hidden .msh-castbar, html body.hud-hidden #msh-online-entry,
html body.hud-hidden #auction-open, html body.hud-hidden .lfgw-btn, html body.hud-hidden .mp-root, html body.hud-hidden #quest-edge, html body.hud-hidden .hubnpc-prompt,
html body.hud-hidden #cargo-floating-pill { visibility: hidden !important; pointer-events: none !important; }
#hud-show-ui { position: fixed; left: max(8px, env(safe-area-inset-left)); top: max(8px, env(safe-area-inset-top)); z-index: 9500; min-width: 44px; min-height: 44px; padding: 0 12px; border-radius: 8px; border: 1px solid rgba(255,255,255,.35); background: rgba(8,15,28,.55); color: #fff; font: 600 13px system-ui, sans-serif; opacity: .45; touch-action: manipulation; }
#hud-show-ui:focus-visible, #hud-show-ui:hover { opacity: 1; outline: 2px solid #facc15; }
#touch-menu [data-launcher][hidden] { display: none !important; }
