/* Comfortable controls and readable content at the narrowest supported widths. */
.chess-move,#play-strategy,.fallback-moves button{min-height:44px;min-width:44px;flex-shrink:0}
#chess-moves{flex-wrap:wrap;justify-content:center}
.menu-links a{min-width:0}
@media(max-width:767px){
 .strategy-controls{bottom:78px}
 .chess-move{padding:9px 8px}
 .fallback-moves{gap:6px}
 .fallback-moves button{font-size:13px;padding:10px 8px}
 .menu-links a{font-size:clamp(37px,10.5vw,52px)}
 .contact-form .next-goals label span{font-size:14px;min-height:48px}
 .contact-direct,.closing-details a{overflow-wrap:anywhere}
 .king-panel{max-height:calc(100svh - 125px);overflow-y:auto;overscroll-behavior:contain}
 .no-webgl .king-panel{max-height:none;overflow:visible}
}
@media(max-width:480px){
 .site-controls{right:16px;top:18px;gap:4px}
 .site-menu-trigger{width:44px;height:44px;min-height:44px;padding:12px;justify-content:center}
 .site-menu-trigger>span{display:none}
 .site-language-switch{padding:2px}
 .site-language-switch button{min-width:30px;min-height:40px;padding:9px 6px}
 .sound-toggle{width:44px;height:44px;padding:10px}
 .menu-top{gap:8px}.menu-top p{font-size:10px}
}
@media(max-width:359px){
 .fw-heading h2{font-size:57px}
 .founder-bio :is(h1,h2){font-size:47px}
 .fallback-cell{font-size:30px}
 .next-letter-fallback{font-size:68px}
}
