/* Reuse the game's gold, ink and parchment surfaces for explicit ground-loot choices. */
#loot-prompt { position: fixed; gap: 7px; max-width: min(360px, calc(100vw - 24px)); }
#loot-prompt .loot-label { font-size: 13px; max-width: 100%; }
.loot-actions { display: flex; gap: 6px; pointer-events: auto; }
#loot-prompt .loot-actions button {
  min-height: 44px; min-width: 84px; padding: 8px 12px;
  display: flex; align-items: center; justify-content: center; gap: 7px;
  border: 1px solid var(--bb-gold, #e6c37a); border-radius: 8px;
  background: #142c32; color: #fff3d6; font: 700 14px/1.2 var(--bb-font, inherit);
  cursor: pointer; touch-action: manipulation;
}
#loot-prompt #btn-loot-equip { background: #e6c37a; color: #231b10; }
#loot-prompt #btn-loot-leave { border-color: #799b99; background: #101e25; }
#loot-prompt .loot-actions button:disabled { opacity: .55; cursor: default; }
#loot-prompt .loot-actions button:focus-visible { outline: 2px solid #fff3d6; outline-offset: 3px; }
#loot-prompt kbd { font: 700 12px/1 inherit; background: #0b161d; color: #fff3d6; border: 1px solid #799b99; border-radius: 4px; padding: 2px 4px; }
#loot-action-note { color: #fff3d6; background: #101e25; border-radius: 8px; padding: 4px 8px; font-size: 12px; text-align: center; }
#loot-action-note:empty { display: none; }
.bag-tile[data-bag]:not(.empty) { touch-action: none; user-select: none; cursor: grab; }
.bag-drag-help { margin: 8px 0 0; color: #d4ded6; font-size: 12px; line-height: 1.4; text-align: center; }
.bag-dragging, .bag-dragging * { cursor: grabbing !important; }
.bag-drag-ghost { position: fixed; z-index: 130; width: 96px; pointer-events: none; transform: translate(-50%, -50%); box-shadow: 0 8px 24px #000a; }
.bag-drag-ghost.can-drop { outline: 2px solid #e6c37a; outline-offset: 3px; }
.bag-drop-hint { position: fixed; z-index: 131; left: 50%; bottom: 24px; transform: translateX(-50%); width: max-content; max-width: calc(100vw - 24px); box-sizing: border-box; border: 1px solid #e6c37a; border-radius: 8px; background: #101e25; color: #fff3d6; padding: 12px 16px; font-size: 14px; text-align: center; pointer-events: none; }
@media (pointer: coarse) { #loot-prompt kbd { display: none; } }
@media (max-width: 700px) and (pointer: coarse) {
  #loot-prompt { bottom: max(310px, calc(env(safe-area-inset-bottom) + 300px)); }
  #loot-prompt .loot-actions button { min-height: 48px; }
}
/* Tidebound Chest interact bubble: same parchment/gold language as ground loot, own slot so it
   never collides with the ground-loot prompt (a chest hunter can still be standing on a gem). */
#chest-prompt[hidden] { display: none; }
#chest-prompt { position: fixed; left: 50%; bottom: 190px; transform: translateX(-50%); z-index: 22;
  display: flex; flex-direction: column; align-items: center; gap: 7px; max-width: min(340px, calc(100vw - 24px)); }
#chest-prompt .loot-label { font-size: 13px; text-align: center; }
#chest-prompt .loot-actions button {
  min-height: 44px; min-width: 96px; padding: 8px 14px;
  display: flex; align-items: center; justify-content: center; gap: 7px;
  border: 1px solid #e6c37a; border-radius: 8px; background: #e6c37a; color: #231b10;
  font: 700 14px/1.2 var(--bb-font, inherit); cursor: pointer; touch-action: manipulation;
}
#chest-prompt.sealed .loot-actions button { background: #142c32; color: #fff3d6; border-color: #799b99; cursor: default; opacity: .7; }
#chest-prompt kbd { font: 700 12px/1 inherit; background: #0b161d; color: #fff3d6; border: 1px solid #799b99; border-radius: 4px; padding: 2px 4px; }
#chest-channel-bar { width: 140px; height: 8px; border-radius: 999px; background: #101e25; border: 1px solid #e6c37a; overflow: hidden; }
#chest-channel-fill { display: block; height: 100%; width: 0%; background: #ff6b5e; transition: width .08s linear; }
@media (pointer: coarse) { #chest-prompt kbd { display: none; } }

/* Obelisk Trial touch bubble: violet variant of the chest prompt, same slot (an obelisk and the
   chest never light up at the same time). */
#obelisk-prompt[hidden] { display: none; }
#obelisk-prompt { position: fixed; left: 50%; bottom: 190px; transform: translateX(-50%); z-index: 22;
  display: flex; flex-direction: column; align-items: center; gap: 7px; max-width: min(340px, calc(100vw - 24px)); }
#obelisk-prompt .loot-label { font-size: 13px; text-align: center; }
#obelisk-prompt .loot-actions button {
  min-height: 44px; min-width: 96px; padding: 8px 14px;
  display: flex; align-items: center; justify-content: center; gap: 7px;
  border: 1px solid #b98cff; border-radius: 8px; background: #b98cff; color: #1c1130;
  font: 700 14px/1.2 var(--bb-font, inherit); cursor: pointer; touch-action: manipulation;
}
#obelisk-prompt kbd { font: 700 12px/1 inherit; background: #0b161d; color: #fff3d6; border: 1px solid #799b99; border-radius: 4px; padding: 2px 4px; }
@media (pointer: coarse) { #obelisk-prompt kbd { display: none; } }

/* Modal inventory controls must not sit beneath the mobile chat/voice dock. */
body.window-open .social-hud { visibility: hidden; }
