

@media (hover:none) and (pointer:coarse) and (orientation:portrait){
  /* Visual size/position stays the same; only the transparent touch target is larger. */
  .mpSteerHit{
    --steer-hit:clamp(58px,16vw,66px);
    --steer-visual:clamp(42px,11.5vw,46px);
    width:var(--steer-hit)!important;height:var(--steer-hit)!important;
    min-width:var(--steer-hit)!important;min-height:var(--steer-hit)!important;
    max-width:var(--steer-hit)!important;max-height:var(--steer-hit)!important;
    border:0!important;background:transparent!important;box-shadow:none!important;
    font-size:0!important;overflow:visible!important;
  }
  .mpSteerHit::before{
    content:'';position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
    width:var(--steer-visual);height:var(--steer-visual);box-sizing:border-box;
    display:grid;place-items:center;border:2px solid rgba(255,255,255,.88);border-radius:50%;
    background:rgba(0,0,0,.18);color:#fff;
    font:900 clamp(16px,4.8vw,22px)/1 Arial,"Segoe UI Symbol",sans-serif;
    text-shadow:0 1px 3px #000;box-shadow:0 0 0 1px rgba(0,0,0,.55),0 0 8px rgba(255,255,255,.22);
    pointer-events:none;
  }
  .mpSteerHit.left::before{content:'←'}
  .mpSteerHit.right::before{content:'→'}
  .mpSteerHit.active{border:0!important;background:transparent!important;box-shadow:none!important;}
  .mpSteerHit.active::before{
    border-color:#fff;background:rgba(255,255,255,.30);
    box-shadow:0 0 16px rgba(255,255,255,.95),inset 0 0 10px rgba(255,255,255,.34);
  }
}

