/* NEW_IMPLEMENTATION: mobile convenience controls only. Source window art,
   native positions, PC shortcuts and all asset pixels remain unchanged. */
.mobile-action-art-v66 {
  display: none;
}
@media (max-width: 950px) {
  .game-shell .player-toolbar .action-bar {
    width: 156px;
    grid-template-columns: repeat(3, 48px);
    gap: 6px;
  }
  .game-shell .player-toolbar .action-bar > button {
    display: grid;
    place-items: center;
    position: relative;
    width: 48px;
    height: 48px;
    min-width: 44px;
    min-height: 44px;
    padding: 3px;
    border: 1px solid #a58d5c;
    border-radius: 50%;
    color: #e8d0a2;
    background: radial-gradient(circle at 45% 30%, #57452be8, #211a12e8 76%);
    box-shadow:
      inset 0 0 0 2px #1a150d99,
      0 2px 5px #0007;
    touch-action: manipulation;
  }
  .game-shell .action-bar > button .mobile-action-art-v66 {
    display: block;
    width: 32px;
    height: 32px;
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
    image-rendering: pixelated;
    pointer-events: none;
    user-select: none;
    -webkit-user-select: none;
  }
  .game-shell .action-bar > button .mobile-action-text-v66,
  .game-shell .action-bar > button kbd {
    display: none;
  }
  .game-shell .action-bar > button .mobile-action-glyph-v66 {
    width: 29px;
    height: 29px;
    fill: #221b1280;
    stroke: currentColor;
    stroke-width: 1.8px;
    stroke-linejoin: round;
    stroke-linecap: round;
  }
  .game-shell .player-toolbar .action-bar > button:active {
    filter: brightness(1.25);
    box-shadow: inset 0 0 0 2px #c5a46388;
  }
  .game-shell .player-toolbar .action-bar > button:focus-visible,
  .mobile-controls .dpad > button:focus-visible {
    outline: 2px solid #f0d7a2;
    outline-offset: 2px;
  }
  .mobile-controls .dpad > button {
    display: grid;
    place-items: center;
    position: relative;
    border-radius: 50%;
    border: 1px solid #a58d5c;
    color: #d5bd88;
    background: radial-gradient(circle at 45% 30%, #57452bd9, #211a12c9 76%);
    box-shadow: inset 0 0 0 2px #1a150d80;
  }
  .mobile-controls .dpad > button > .mobile-direction-symbol-v66 {
    font-size: 0;
    pointer-events: none;
  }
  .mobile-controls .dpad > button::after {
    content: "";
    position: absolute;
    width: 11px;
    height: 11px;
    border-top: 2px solid currentColor;
    border-right: 2px solid currentColor;
    pointer-events: none;
  }
  .mobile-controls .dpad > button[data-direction="0,-1"]::after {
    transform: translateY(3px) rotate(-45deg);
  }
  .mobile-controls .dpad > button[data-direction="1,0"]::after {
    transform: translateX(-3px) rotate(45deg);
  }
  .mobile-controls .dpad > button[data-direction="0,1"]::after {
    transform: translateY(-3px) rotate(135deg);
  }
  .mobile-controls .dpad > button[data-direction="-1,0"]::after {
    transform: translateX(3px) rotate(225deg);
  }
  .mobile-controls .dpad > span {
    font-size: 13px;
    color: #c7b58c;
  }
  /* Convenience launchers must not cover the save/return header or a native
     window's touch close control. Original window images stay unchanged. */
  body:has(.game-panel[open]) .navigation-open-v64,
  body:has(.game-panel[open]) .hunting-open-v65 {
    visibility: hidden;
  }
}
@media (max-width: 950px) and (min-height: 431px) {
  .navigation-open-v64,
  .hunting-open-v65 {
    top: calc(94px + env(safe-area-inset-top));
  }
  .embedded .navigation-open-v64,
  .embedded .hunting-open-v65 {
    top: calc(50px + env(safe-area-inset-top));
  }
}
@media (max-width: 550px) and (max-height: 430px) {
  .hunting-open-v65 {
    max-width: max(44px, calc(100vw - 240px));
  }
}
