.nes-pad {display:none}
@media (any-pointer:coarse),(max-width:700px) {
  .game-page :is(.game-controls,.bm-controls),.game-page :is(:fullscreen,.expanded-game) :is(.game-controls,.bm-controls) {display:none}
  .game-page .nes-pad {
    --plastic:#cecac1;display:block;position:relative;box-sizing:border-box;width:min(100%,425px);aspect-ratio:2.5;margin:4px auto;padding:7px;
    border:1px solid #968f85;border-radius:7px;background:var(--plastic);
    box-shadow:inset 1px 2px 1px #f4f1e5,inset -2px -3px 1px #aaa69c,0 2px 5px #1414148c;
    touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;
  }
  .nes-face {position:relative;display:grid;grid-template-columns:31% 31% 38%;height:100%;overflow:hidden;border-radius:3px;background:#282829;container-type:inline-size}
  .nes-pad button {appearance:none;touch-action:none;cursor:pointer;box-sizing:border-box;margin:0;padding:0;border:0;color:inherit;background:transparent;font-family:Arial,sans-serif}
  .nes-cross {position:relative;align-self:center;justify-self:center;width:83%;aspect-ratio:1;margin-top:12%}
  .nes-cross i,.nes-cross i::before,.nes-cross i::after {position:absolute;inset:0;content:"";clip-path:polygon(31% 0,69% 0,69% 31%,100% 31%,100% 69%,69% 69%,69% 100%,31% 100%,31% 69%,0 69%,0 31%,31% 31%)}
  .nes-cross i {background:#dedbd2}.nes-cross i::before {inset:2px;background:#777471}
  .nes-cross i::after {inset:4px;background:radial-gradient(circle at center,#383838 0%,#161617 12%,transparent 14%),linear-gradient(145deg,#393839,#19191a 80%)}
  .nes-dir {position:absolute;width:44%;height:44%;min-height:44px;min-width:44px}
  .nes-dir.up {top:-3%;left:50%;transform:translateX(-50%)}.nes-dir.down {bottom:-3%;left:50%;transform:translateX(-50%)}.nes-dir.left {left:-3%;top:50%;transform:translateY(-50%)}.nes-dir.right {right:-3%;top:50%;transform:translateY(-50%)}
  .nes-dir:after {content:"";display:block;margin:auto;width:27%;height:20%;background:#585757;clip-path:polygon(50% 0,100% 85%,0 85%)}
  .nes-dir.down:after {rotate:180deg}.nes-dir.left:after {rotate:-90deg}.nes-dir.right:after {rotate:90deg}.nes-dir:active:after {background:#aaa}
  .nes-middle {position:relative;background:repeating-linear-gradient(to bottom,#777572 0 9%,transparent 9% 13%);border-inline:2px solid #282829}
  .nes-system {position:absolute;top:59%;height:29%;width:100%;display:flex;background:var(--plastic);border:2px solid #151516;box-sizing:border-box;border-radius:6px}
  .nes-system button {width:50%;position:relative}
  .nes-system button::before {content:"";position:absolute;left:0;right:0;top:50%;height:max(100%,44px);transform:translateY(-50%)}
  .nes-system button span {position:absolute;bottom:calc(100% + 3px);left:0;width:100%;background:#282829;color:#eb3438;letter-spacing:.05em;font:bold 2.7cqw/1.5 Arial,sans-serif}
  .nes-system button:after {content:"";display:block;width:55%;height:24%;margin:auto;background:#272727;border-radius:9px;box-shadow:0 1px 0 #f7f4ec,inset 1px 2px 1px #555}
  .nes-end {position:relative}
  .nes-wordmark {position:absolute;width:100%;top:17%;text-align:center;color:#e33236;font:800 4.8cqw/1 Arial,sans-serif;letter-spacing:-.06em}
  .nes-pair {position:absolute;left:7%;right:6%;top:47%;display:flex;gap:5%}
  .nes-pad .nes-action {position:relative;flex:1;aspect-ratio:1;border-radius:3px;background:var(--plastic);box-shadow:0 1px 1px #181819}
  .nes-action::before {content:"";position:absolute;inset:8%;border-radius:50%;background:linear-gradient(140deg,#e33739,#c82028 75%);box-shadow:inset 1px 2px 1px #f5534d,inset -1px -3px 1px #971821,0 1px 2px #302121}
  .nes-action:active::before {background:#ab2027;box-shadow:inset 1px 2px 3px #731723}
  .nes-action span {position:absolute;right:3%;top:100%;font:900 3.5cqw/1 Arial,sans-serif;color:#ef353a}
  .game-page :is(.game-shell,.bm-machine):is(:fullscreen,.expanded-game) {
    display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr) auto;
    padding-bottom:calc(env(safe-area-inset-bottom) + clamp(18px,3dvh,36px));row-gap:8px;
  }
  .game-page :is(:fullscreen,.expanded-game) :is(.game-stage,.bm-stage) {position:relative;inset:auto;grid-area:1/1}
  .game-page :is(.game-shell,.bm-machine):is(:fullscreen,.expanded-game) .nes-pad {
    grid-area:2/1;justify-self:center;width:min(calc(100% - 36px),530px);margin:0;
  }
  .game-page :is(:fullscreen,.expanded-game):has(.game-overlay,.bm-overlay) .nes-pad {display:none}
  .game-page :is(:fullscreen,.expanded-game) .game-message {bottom:12px}
  @media (orientation:portrait) {
    .game-page :is(.game-shell,.bm-machine):is(:fullscreen,.expanded-game) {
      padding-bottom:0;row-gap:0;
    }
    .game-page .nes-pad,.game-page :is(.game-shell,.bm-machine):is(:fullscreen,.expanded-game) .nes-pad {
      width:100%;aspect-ratio:auto;margin:0;border:0;border-radius:0;box-shadow:none;
      padding:6px max(5px,env(safe-area-inset-right)) calc(8px + env(safe-area-inset-bottom)) max(5px,env(safe-area-inset-left));
    }
    .nes-face {width:100%;height:auto;aspect-ratio:2.5;grid-template-columns:34% 24% 42%}
    .nes-cross {width:93%;margin:0}
    .nes-pair {left:4%;right:4%;top:36%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5%;align-items:start}
    .nes-pad .nes-action {width:100%;height:auto;aspect-ratio:1}
  }
  @media (orientation:landscape) {
    .game-page :is(.game-shell,.bm-machine) {
      display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto auto auto;
    }
    .game-page .world-options {grid-area:1/1}
    .game-page :is(.game-hud,.bm-hud) {grid-area:2/1}
    .game-page :is(.game-stage,.bm-stage) {grid-area:3/1}
    .game-page .game-progress {grid-area:4/1}
    .game-page :is(.game-shell,.bm-machine):is(:fullscreen,.expanded-game) {
      grid-template-rows:minmax(0,1fr);padding:0;row-gap:0;
    }
    .game-page :is(:fullscreen,.expanded-game) :is(.game-stage,.bm-stage,.game-hud,.bm-hud,.world-options,.game-progress) {grid-area:1/1}
    .game-page .nes-pad,.game-page :is(.game-shell,.bm-machine):is(:fullscreen,.expanded-game) .nes-pad {
      --side:clamp(24px,5vw,80px);
      grid-area:3/1;align-self:end;justify-self:stretch;z-index:2;
      margin:0 calc(env(safe-area-inset-right) + var(--side)) calc(env(safe-area-inset-bottom) + clamp(18px,5vh,45px)) calc(env(safe-area-inset-left) + var(--side));
      width:auto;aspect-ratio:auto;padding:0;border:0;background:transparent;box-shadow:none;pointer-events:none;
    }
    .game-page :is(.game-shell,.bm-machine):is(:fullscreen,.expanded-game) .nes-pad {grid-area:1/1}
    .game-page :is(.game-shell,.bm-machine):has(.game-overlay,.bm-overlay) .nes-pad {visibility:hidden}
    .nes-face {display:flex;align-items:end;justify-content:space-between;overflow:visible;background:transparent;container-type:normal}
    .nes-cross {width:clamp(128px,17vw,168px);margin:0;opacity:.57}
    .nes-pad button {pointer-events:auto}
    .nes-cross:has(button:active) {opacity:.8}
    .nes-wordmark {display:none}
    .nes-middle,.nes-system,.nes-end,.nes-pair {position:static;border:0;background:transparent}
    .nes-middle {align-self:end}
    .nes-system {gap:6px;height:auto}
    .nes-system button {width:52px;min-height:44px}
    .nes-system button:before,.nes-system button:after {display:none}
    .nes-system button span {position:static;display:block;border-radius:10px;color:white;background:#13171b68;font:700 9px/21px Arial,sans-serif}
    .nes-pair {gap:clamp(12px,2vw,24px);align-items:end}
    .nes-pad .nes-action {
      width:clamp(58px,7.6vw,84px);height:auto;flex:none;display:grid;place-items:center;
      border:2px solid #ffededbf;border-radius:50%;background:#a81a31;box-shadow:none;opacity:.55;
    }
    .nes-action::before {display:none}
    .nes-action span {position:static;color:white;font:800 21px/1 Arial,sans-serif}
    .nes-pad .nes-action:active {opacity:.83}
    .nes-pair button:last-child {margin-bottom:13px}
  }
}
