.mobile-combat-controls{position:fixed;inset:0;z-index:35;pointer-events:none;touch-action:none;user-select:none;-webkit-user-select:none;--combat-safe-left:max(12px,env(safe-area-inset-left,0px));--combat-safe-right:max(12px,env(safe-area-inset-right,0px));--combat-safe-bottom:max(12px,env(safe-area-inset-bottom,0px))}
.mobile-combat-controls[hidden]{display:none!important}
.mobile-move-pad{position:absolute;left:calc(var(--combat-occlusion-left,0px) + var(--combat-safe-left));bottom:var(--combat-safe-bottom);width:104px;height:104px;max-width:calc(100vw - var(--combat-occlusion-left,0px) - var(--combat-occlusion-right,0px) - 88px);max-height:34dvh;border:2px solid #b29856;border-radius:50%;background:radial-gradient(circle,#1b2424ad 0 42%,#10191bad 43%);box-shadow:0 1px 6px #0008;pointer-events:auto;touch-action:none;display:grid;place-items:center;outline-offset:4px}
.mobile-move-cross{color:#e3d2a0;font-size:56px;line-height:1;opacity:.72;pointer-events:none}
.mobile-move-knob{position:absolute;left:50%;top:50%;width:38px;height:38px;border-radius:50%;background:#a08e54bc;border:2px solid #e5d3a5;transform:translate(-50%,-50%);box-shadow:0 1px 4px #000a;pointer-events:none}
.mobile-attack-button{position:absolute;right:calc(var(--combat-occlusion-right,0px) + var(--combat-safe-right));bottom:calc(var(--combat-safe-bottom) + 17px);width:66px!important;height:66px!important;min-width:44px;min-height:44px;padding:0!important;border:2px solid #c39a43;border-radius:50%;background:#302617dc;color:#fff0bc;font:32px/1 system-ui,sans-serif;box-shadow:0 1px 7px #000b;pointer-events:auto;touch-action:none;text-shadow:0 1px 2px #000}
.mobile-attack-button[aria-pressed=true]{border-color:#ffe18d;box-shadow:0 0 0 3px #b46c2d77,0 1px 7px #000b}
.mobile-combat-controls[data-stacked=true] .mobile-move-pad{--combat-pad-size:min(82px,max(44px,calc(100vw - var(--combat-occlusion-left,0px) - var(--combat-occlusion-right,0px) - 16px)));width:var(--combat-pad-size);height:var(--combat-pad-size);max-width:none;max-height:none;left:calc(var(--combat-occlusion-left,0px) + (100vw - var(--combat-occlusion-left,0px) - var(--combat-occlusion-right,0px) - var(--combat-pad-size))/2);bottom:calc(var(--combat-safe-bottom) + 82px)}
.mobile-combat-controls[data-stacked=true] .mobile-attack-button{right:calc(var(--combat-occlusion-right,0px) + (100vw - var(--combat-occlusion-left,0px) - var(--combat-occlusion-right,0px) - 66px)/2);bottom:var(--combat-safe-bottom)}
.mobile-combat-controls[data-stacked=true] .mobile-move-cross{font-size:46px}
.mobile-move-pad:focus-visible,.mobile-attack-button:focus-visible{outline:2px solid #ffe2a0}
@media(max-height:360px){.mobile-move-pad{width:88px;height:88px}.mobile-move-cross{font-size:48px}.mobile-attack-button{width:58px!important;height:58px!important;bottom:calc(var(--combat-safe-bottom) + 13px)}}
@media(prefers-reduced-motion:reduce){.mobile-combat-controls *{transition:none!important}}
