/* Kontrol sentuh Android/iOS dan tata letak game pada layar kecil */
.arcade-shell{touch-action:manipulation}
.arcade-shell button,.mini-game-v2 button{touch-action:manipulation;-webkit-tap-highlight-color:transparent}
.level-select-shell{padding-bottom:22px}.game-level-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;padding:24px}.game-level-card{min-height:210px;border:2px solid #d7e6f4;border-radius:18px;background:linear-gradient(160deg,#fff,#eef8ff);padding:18px 14px;text-align:left;color:#0b2e52;display:flex;flex-direction:column;gap:10px;cursor:pointer;transition:.2s}.game-level-card:hover,.game-level-card:focus-visible{transform:translateY(-5px);border-color:#1685df;box-shadow:0 12px 28px #0b568d22}.game-level-card span{font-size:12px;font-weight:900;color:#087d91;letter-spacing:.08em}.game-level-card b{font-size:19px}.game-level-card small{line-height:1.45;flex:1}.game-level-card em{font-style:normal;font-weight:800;color:#fff;background:#146fbd;border-radius:999px;padding:6px 10px;align-self:flex-start}.level-note{margin:0 24px;padding:14px;border-radius:12px;background:#eaf7ff;color:#16456b}
@media(max-width:1050px){.game-level-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(pointer:coarse){
  .sort-bins button,.token-tray button,.password-actions button,.maze-controls button{min-height:52px}
  .moving-threat{min-width:54px;min-height:54px}
}
@media(max-width:600px){
  .game-level-grid{grid-template-columns:1fr;padding:14px;gap:10px}.game-level-card{min-height:0;padding:16px}.level-note{margin:0 14px}.game-level-card:hover{transform:none}
  .arcade-shell{border-width:2px;border-radius:14px}
  .arcade-bar{padding:9px}
  .arcade-bar>button{min-height:44px}
  .sort-game,.password-game,.maze-game,.defender-game{padding:14px 10px}
  .sort-bins button{min-height:92px}
  .token-tray{gap:7px;margin:16px 4px}
  .token-tray button{padding:10px 12px}
  .password-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}
  .password-actions button{min-width:0}
  .maze-cell{font-size:clamp(12px,4vw,17px)}
  .maze-controls button{width:58px;height:50px}
  .defender-help{font-size:12px;line-height:1.5}
  #threatLane{height:280px}
  .arcade-result{padding:32px 14px}
}

/* Arena dan kontrol Perburuan Data Aman: portrait, landscape, dan tablet. */
.phaser-shell,.phaser-toolbar,.phaser-stage,.phaser-bottom{min-width:0;max-width:100%}
.phaser-game{width:100%;min-height:0;aspect-ratio:16/9;overflow:hidden;touch-action:none}
.phaser-game canvas{max-width:100%;touch-action:none}
.phaser-status{flex-wrap:wrap;align-items:center}
.phaser-touch-controls button{touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;min-width:0;min-height:56px}
.phaser-touch-controls button:disabled{opacity:.5;cursor:wait}
.phaser-end-card{max-height:100%;overflow-y:auto;overscroll-behavior:contain}
@media(max-width:600px){
 .phaser-shell{border-width:2px;border-radius:12px}
 .phaser-toolbar{padding:10px;gap:8px}
 .phaser-status{gap:5px}
 .phaser-status span{padding:5px 7px}
 .phaser-touch-controls{grid-template-columns:repeat(3,minmax(0,1fr));padding:12px;gap:10px}
 .phaser-end-card{padding:10px;border-radius:12px}
 .phaser-end-card h2{font-size:19px}
 .phaser-end-card .end-icon{font-size:26px}
 .phaser-end-card p{font-size:12px;margin-bottom:8px}
 .phaser-end-card .btn{min-height:44px;margin:3px;padding:9px}
}
@media(orientation:landscape) and (max-height:520px){
 .phaser-touch-controls{padding:8px;gap:10px}
 .phaser-touch-controls button{height:56px}
 .phaser-toolbar{padding:8px}
}
