/* Touch-first layout; retain the same playable scene and input model. */
.mobile-play-hint{display:none}
@media(max-width:640px){
 :root{--mobile-gap:12px}
 body{overscroll-behavior-y:contain;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}
 header{height:56px;margin:0 16px}.brand{font-size:18px}nav{gap:4px}nav button{min-width:44px;min-height:44px;font-size:12px;padding:8px}nav button span{display:none}
 main{padding:10px 12px 16px;gap:8px}
 .intro{height:40px;justify-content:flex-start}.intro h1,.intro .best{display:none}
 .score-card{width:100%;padding:0;justify-content:flex-start;gap:12px}.score-card>div:first-child{display:flex;align-items:baseline;gap:10px}.score-card .caption{font-size:11px;letter-spacing:1px}.score-card strong{font-size:30px;letter-spacing:-1px;line-height:1}
 .arena{width:100%}.board-heading{font-size:11px;padding:0 2px 6px;letter-spacing:.5px;line-height:1.3}.board-heading>span:first-child{font-size:11px}.board-heading i{display:none}
 .canvas-wrap{width:min(100%,calc((100svh - 246px)*.8));height:auto!important;aspect-ratio:4/5;min-width:220px;border-radius:14px;filter:none}#board{height:100%!important;border-radius:14px}
 .board-bottom{padding:7px 2px;font-size:11px;letter-spacing:.3px}.board-bottom>span:last-child{display:none}
 .mobile-play-hint{display:block;margin:0;font-size:12px;line-height:1.5;color:var(--muted);text-align:center}
 .play-panel{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:0}
 .play-panel .instruction,.play-panel .power-control{display:none}
 .play-panel>.text-button{min-height:44px;width:100%;padding:8px;border:1px solid var(--line);border-radius:9px;font-size:11px;justify-content:center;align-items:center;gap:4px;text-align:center;background:#ffffff40}
 .play-panel>.primary{grid-column:1/-1;min-height:52px;margin:0;font-size:15px;align-items:center}
 dialog{padding:24px;max-height:calc(100svh - 32px);overflow:auto}dialog h2{font-size:28px}.close{width:44px;height:44px;right:4px;top:4px}dialog button{min-height:44px}
 .board-toast{font-size:12px}
}
/* Short landscape phones: board on the left, compact controls on the right. */
@media(max-height:500px) and (min-width:641px) and (pointer:coarse){
 body{padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}header{height:48px;margin:0 16px}nav button{min-height:44px;min-width:44px}.edition{display:none}
 main{display:grid;grid-template-columns:1fr 180px;padding:8px 16px;gap:8px 20px}.arena{grid-column:1;grid-row:1/3}.intro{grid-column:2;padding:0}.intro>:not(.score-card){display:none}.score-card{padding:0;border:0}.best{display:none}.score-card strong{font-size:36px}
 .canvas-wrap{width:calc((100svh - 112px)*.8);height:auto;aspect-ratio:4/5}.board-heading,.board-bottom{font-size:11px;padding:3px 0}.board-bottom>span:last-child{display:none}
 .play-panel{grid-column:2;display:flex;flex-direction:column;gap:4px;align-items:stretch}.instruction,.power-control,.club-mark,.tiny-note{display:none}.play-panel>.text-button,.play-panel>.primary{width:100%;min-height:44px;margin:0;padding:10px;font-size:12px}footer{display:none}
}
