/* Approved walking HUD: journal paper with small, illustrated activity entries. */
.hud-icon {
  display: block; flex: none; width: 48px; height: 64px;
  background: url('./assets/hud-icons.webp') no-repeat;
  background-size: 400% 100%; image-rendering: pixelated;
}
.hud-icon-games { background-position: 0 0; }
.hud-icon-explore { background-position: 33.333333% 0; }
.hud-icon-board { background-position: 66.666667% 0; }
.gathering-header, .scene-chat, .scene-minimap, .activity-shortcut {
  isolation: isolate; border-color: #263448; border-radius: 8px;
  box-shadow: 2px 3px 0 #07142e35, inset 0 0 0 2px #fffdf5b3;
}
.gathering-header::before, .scene-chat::before, .scene-minimap::before, .activity-shortcut::before {
  content: ''; position: absolute; z-index: -1; inset: 0; border-radius: inherit;
  background: url('./assets/journal-paper.webp') repeat; background-size: 256px;
  opacity: .4; pointer-events: none;
}
.gathering-header::after, .scene-chat::after {
  content: ''; position: absolute; left: 9px; top: -9px; width: 21px; height: 28px;
  background: url('./assets/hud-icons.webp') 100% 0 / 400% 100% no-repeat;
  pointer-events: none; image-rendering: pixelated;
}
.gathering-header { top: 22px; left: 22px; min-height: 58px; padding-right: 20px; background-color: #fff7e8f5; }
.gathering-header h1 { font-size: 22px; }
.gathering-header > div { gap: 16px; }
.gathering-header span { color: #277466; }
.activity-shortcuts {
  right: max(22px, env(safe-area-inset-right)); bottom: max(22px, env(safe-area-inset-bottom));
  gap: 9px; padding: 0;
}
.activity-shortcut {
  position: relative; display: flex; flex-direction: column; justify-content: center;
  width: 62px; height: 68px; min-height: 44px; padding: 0 5px 5px; gap: 0;
  background: #fff8eaf7; border: 2px solid #263448; color: #102440;
  font-size: 13px; line-height: 17px; transition: transform 130ms, box-shadow 130ms;
}
.activity-shortcut > .hud-icon { width: 36px; height: 48px; }
.activity-shortcut:hover { filter: none; transform: translateY(-2px); border-color: #254fe0; box-shadow: 0 0 0 2px #ccd8ff, 2px 4px 0 #07142e35; }
.activity-shortcut:active { transform: translate(1px, 1px); box-shadow: 0 1px 0 #07142e35; }
.activity-shortcut:focus-visible { outline: 3px solid #254fe0; outline-offset: 3px; }
.activity-hint {
  position: absolute; left: 50%; bottom: calc(100% + 9px); transform: translateX(-50%);
  visibility: hidden; padding: 6px 9px; border: 1px solid #fff9; border-radius: 5px;
  background: #172a44f5; color: #fff; font-size: 12px; font-weight: 650; line-height: 1.3;
  white-space: nowrap; pointer-events: none;
}
#boardHint { left: auto; right: 0; transform: none; }
.activity-shortcut:hover .activity-hint, .activity-shortcut:focus-visible .activity-hint { visibility: visible; }
.activity-shortcuts[data-hints-dismissed] .activity-hint { visibility: hidden; }
.scene-minimap { top: max(22px, env(safe-area-inset-top)); right: max(22px, env(safe-area-inset-right)); width: 168px; padding: 5px; border-width: 2px; background: #fff7e8f5; }
.scene-minimap-toggle { min-height: 44px; padding: 3px 5px; gap: 6px; color: #142b48; }
.scene-minimap-map { border: 1px solid #d1b67f; border-radius: 4px; }
.scene-minimap-home { display: flex; align-items: center; justify-content: center; gap: 5px; width: 100%; min-height: 44px; margin-top: 4px; padding: 3px; border: 1px solid #b7a37d; border-radius: 4px; background: #fffaf0c9; color: #16304f; font-family: inherit; font-weight: 750; font-size: 12px; line-height: 1.3; }
.scene-minimap-home img { width: 17px; height: 17px; }
.scene-minimap-home:hover { background-color: #e4ede6; }
.scene-minimap-home:focus-visible { outline: 3px solid #254fe0; outline-offset: 1px; }
.scene-minimap-folded { display: none; }
.scene-minimap.is-collapsed { width: 62px; padding: 2px; }
.scene-minimap.is-collapsed .scene-minimap-toggle { min-height: 52px; justify-content: center; padding: 0; }
.scene-minimap.is-collapsed .scene-minimap-folded { display: block; width: 33px; height: 44px; }
.scene-minimap.is-collapsed .scene-minimap-title, .scene-minimap.is-collapsed .scene-minimap-chevron { display: none; }
.scene-help { display: none; }
.scene-dpad { bottom: 122px; }
.scene-chat { left: 22px; bottom: 22px; padding: 7px 12px 9px; color: #152b4b; background-color: #fff9edb8; border-color: #263448; }
.scene-chat::before { opacity: .18; }
.scene-chat__header { border-bottom-color: #b8a88880; }
.scene-chat__tabs button { font-size: 16px; }
.scene-chat__tabs button[aria-selected=true]::after { height: 2px; background: #2a53e3; }
.scene-chat__toggle { border: 0; background: transparent; color: #173151; }
.scene-chat__form textarea { border: 1px solid #8593a9; border-radius: 4px; background-color: #fffdf8dc; }
.scene-chat__send { border-radius: 4px; background: #254fe0; border: 1px solid #16348e; }
.scene-chat__status { color: #506879; }
@media (pointer: coarse) {
  .scene-minimap-toggle { min-height: 44px; }
  .activity-shortcut:hover { transform: none; }
  .activity-shortcut:hover .activity-hint { visibility: hidden; }
  .activity-shortcut:focus-visible .activity-hint { visibility: visible; }
}
@media (max-height: 560px) and (orientation: landscape) {
  .gathering-header { left: 12px; top: 10px; min-height: 44px; padding-right: 14px; }
  .gathering-header h1 { font-size: 17px; }
  .gathering-header > div { gap: 10px; }
  .gathering-header::after, .scene-chat::after { top: -6px; width: 16px; height: 22px; }
  .activity-shortcuts { right: max(12px, env(safe-area-inset-right)); bottom: max(12px, env(safe-area-inset-bottom)); gap: 7px; }
  .activity-shortcut { width: 52px; height: 60px; font-size: 12px; line-height: 15px; padding-bottom: 3px; }
  .activity-shortcut > .hud-icon { width: 27px; height: 36px; }
  .scene-minimap { right: 12px; top: 10px; width: 118px; padding: 3px; }
  .scene-minimap-toggle { width: calc(100% - 44px); min-height: 44px; padding: 0 1px; gap: 1px; font-size: 10px; }
  .scene-minimap-home { position: absolute; right: 3px; top: 3px; width: 44px; min-height: 44px; margin: 0; padding: 0; border: 0; font-size: 0; background: transparent; }
  .scene-minimap.is-collapsed { width: 52px; }
  .scene-minimap.is-collapsed .scene-minimap-toggle { width: 100%; min-height: 44px; }
  .scene-minimap.is-collapsed .scene-minimap-folded { width: 30px; height: 40px; }
  .scene-dpad { bottom: 100px; }
  .scene-chat { left: 12px; bottom: 12px; padding: 6px 10px; }
}
@media (pointer: coarse) and (max-height: 560px) {
  .scene-minimap-toggle, .scene-minimap-home { min-height: 44px; }
}
@media (max-width: 680px) and (orientation: landscape) {
  .activity-shortcut { width: 48px; height: 58px; }
  .activity-shortcut > .hud-icon { width: 27px; height: 36px; }
  .scene-nearby { bottom: 80px; right: 167px; }
}
.activity-shortcuts::after {
  content: ''; position: absolute; z-index: -1; left: -7px; right: -7px; bottom: -7px; height: 16px;
  background: url('./assets/hud-rail.webp') center / 100% 100% no-repeat;
  image-rendering: pixelated; pointer-events: none;
}
