.mobile-controls:empty{display:none}
/* Give the two side-scrolling games more of the phone's available width. */
@media (max-width:760px), (max-width:950px) and (max-height:500px){
 .mission{margin:18px 0 8px;padding:20px 18px}.mission h1{font-size:30px}.mission p:not(.eyebrow){font-size:14px;line-height:1.55}.game-feedback{margin-top:12px}
 .arcade:has(.shooter-wrap,.hyper-wrap,.blocks-wrap,.cosmic-wrap){margin-inline:-8px}
 .play-panel:has(.shooter-wrap,.hyper-wrap,.blocks-wrap,.cosmic-wrap){padding-inline:6px}
}
@media (max-width:760px), (max-width:950px) and (max-height:500px){
 main{padding-left:12px;padding-right:12px}
 .play-panel{padding:14px;min-width:0;min-height:0}
 .panel-top{gap:12px;margin-bottom:12px;line-height:1.4}
 #play-area{min-height:0;flex:none;width:100%;min-width:0}
 #play-area canvas:not(.dash-canvas,.shooter-canvas,.hyper-canvas,.blocks-canvas,.cosmic-canvas){width:min(100%,350px,48svh);height:auto}
 .mobile-controls{width:100%;max-width:440px;margin:12px auto 0}
 .mobile-controls #extra-controls:empty{display:none}
 .mobile-controls #extra-controls>.secondary{margin:0 0 10px;min-height:48px}
 .mobile-controls .dpad{margin:0 0 10px;gap:10px}
 .mobile-controls .dpad button{width:54px;min-height:48px;font-size:23px;touch-action:manipulation}
 .mobile-actions{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:8px}
 .mobile-actions button{margin:0;min-height:48px;padding:10px;font-size:13px;justify-content:center;touch-action:manipulation}
 .mobile-controls #status{margin:10px 0 0;min-height:0;color:var(--muted);font-size:13px;line-height:1.4;text-align:center}
 .arcade{grid-template-columns:1fr}
 aside{border-left:0;border-top:1px solid var(--line);padding:22px}
 .instructions{margin-top:16px}
 .memory-board,.merge-board,.ttt-board,.simon-board,.mole-board{max-width:min(100%,350px,48svh)}
 .memory-board,.merge-board{aspect-ratio:1;grid-template-rows:repeat(4,minmax(0,1fr))}
 .ttt-board,.mole-board{aspect-ratio:1;grid-template-rows:repeat(3,minmax(0,1fr))}
 .simon-board{aspect-ratio:1;grid-template-rows:repeat(2,minmax(0,1fr))}
 .memory-board button,.merge-board button,.ttt-board button,.simon-board button,.mole-board button{min-height:0;min-width:0;padding:0}
 .play-panel:has(.says-arena) .mobile-actions{grid-template-columns:1fr}
 .play-panel:has(.says-arena) #main-action{display:none}
 .connect-wrap{max-width:400px}.connect-drops{gap:4px}.connect-drops button{min-height:48px;touch-action:manipulation}
 .mine-board{gap:2px;max-width:400px}.mine-board button{touch-action:manipulation}
 .letter-board{grid-template-columns:repeat(6,minmax(0,1fr));gap:5px}.letter-board button{min-height:44px;touch-action:manipulation}
 .word-clue{margin:8px 0}.mistake-meter{margin:12px 0}.word-slots{margin:16px 0}
 .memory-card,.ttt-cell,.simon-board button,.mole-board button{touch-action:manipulation}
 .dash-legend{flex-wrap:wrap;gap:6px;font-size:9px;letter-spacing:0}.dash-progress{min-width:30px}
 .dash-control{min-height:52px}
}
@media (max-width:360px){
 .arcade:has(.shooter-wrap,.hyper-wrap,.blocks-wrap,.cosmic-wrap){margin-inline:-4px}
 main{padding-left:8px;padding-right:8px}.play-panel{padding:10px}.panel-top{font-size:9px;gap:6px}
 .game-tab>span:nth-child(2){overflow-wrap:anywhere}
 .letter-board{grid-template-columns:repeat(5,minmax(0,1fr))}
}
@media (min-width:600px) and (max-width:950px) and (max-height:500px){
 .play-panel:has(.shooter-wrap,.hyper-wrap,.blocks-wrap,.cosmic-wrap){grid-template-columns:minmax(0,1fr) minmax(170px,.42fr);column-gap:12px}
 .play-panel{display:grid;grid-template-columns:minmax(0,1fr) minmax(190px,.7fr);gap:0 18px;align-items:center}
 .panel-top{grid-column:1/-1}
 .mobile-controls{margin:0;align-self:center}
 #play-area canvas:not(.dash-canvas,.shooter-canvas,.hyper-canvas,.blocks-canvas,.cosmic-canvas){width:min(100%,300px,70svh)}
 .memory-board,.merge-board,.ttt-board,.simon-board,.mole-board{max-width:min(100%,300px,70svh)}
 .mine-board{max-width:280px}.connect-wrap{max-width:290px}
 .hangman-wrap{max-width:360px}.letter-board{grid-template-columns:repeat(9,minmax(0,1fr));gap:3px}
 .says-arena{padding:10px}.says-stage{height:130px}.says-player,.says-host{width:50px;bottom:12px}.says-orbit{height:100px;width:100px}
 .says-command{min-height:40px;font-size:18px;padding:5px 0}.says-hint{min-height:0;margin-top:5px;font-size:10px}
 .says-controls{margin-top:6px}.says-controls button{padding:10px 3px;min-height:44px}.says-session{margin-top:0;min-height:36px;padding:5px}
 .says-verdict{font-size:36px}
}
