:root{--safe-bottom:env(safe-area-inset-bottom,0px)}
.wrap{padding-left:max(5.5%,env(safe-area-inset-left,0px));padding-right:max(5.5%,env(safe-area-inset-right,0px))}
@media(min-width:1500px){.wrap{padding-left:max(65px,env(safe-area-inset-left,0px));padding-right:max(65px,env(safe-area-inset-right,0px))}}
@media (min-width:701px) and (min-height:600px) and (max-width:1366px) and (any-pointer:coarse){
 .wrap{padding-left:max(4%,env(safe-area-inset-left,0px));padding-right:max(4%,env(safe-area-inset-right,0px))}
 .hero h1{font-size:clamp(46px,6.1vw,72px);letter-spacing:-2.5px}.game-card:hover{transform:none}
 body.is-playing .header{height:64px}body.is-playing .header-note,body.is-playing .header .nav-play,body.is-playing .footer{display:none}
 .play-screen{padding-top:10px;padding-bottom:max(14px,env(safe-area-inset-bottom,0px));min-height:0}
 .play-top{margin-bottom:12px}.text-button{min-height:48px;padding-block:8px}.difficulty select{min-height:48px}
 .play-heading{margin-bottom:14px;gap:16px}.play-heading h1{font-size:30px;letter-spacing:-1px;margin-bottom:8px}.play-heading .eyebrow{font-size:10px;margin-bottom:6px}.play-heading p:not(.eyebrow){font-size:16px;line-height:1.4;max-width:760px}.score{font-size:13px;padding:7px 11px}
 .play-layout{grid-template-columns:minmax(0,1fr) 210px;gap:18px}.game-side{padding:17px;max-height:var(--tablet-stage-room,none);overflow-y:auto;overscroll-behavior:contain}.side-label,.side-note{display:none}#feedback{font-size:18px;line-height:1.45;min-height:0;margin:0 0 16px}.control-help{font-size:14px;line-height:1.5;margin-top:14px}.game-actions button,.secondary{min-height:56px;font-size:16px}.game-actions{margin-bottom:10px}
 .game-stage{padding:14px;gap:12px;min-height:300px}.game-stage[data-tablet-fit="true"]{height:var(--tablet-stage-room);min-height:0;overflow:hidden}.game-stage>*{flex-shrink:0}
 .game-stage canvas{width:min(100%,calc((var(--tablet-board-room,400px) - 2px)*1.5));height:auto;max-width:900px;max-height:var(--tablet-board-room,400px)}
 .game-stage[data-game="snake"] canvas{width:min(100%,var(--tablet-board-room,400px));max-width:none!important;aspect-ratio:1}
 .maze,.puzzle-grid,.target-board{width:min(100%,var(--tablet-board-room,400px),720px)}
 .game-stage[data-game="memory"][data-level="easy"] .puzzle-grid{width:min(100%,calc(var(--tablet-board-room,400px)*4/3),720px)}
 .puzzle-grid{gap:12px}.puzzle-grid button{font-size:34px;min-height:56px}
 .four-wrap{width:min(100%,calc((var(--tablet-board-room,460px) - 128px)*7/6),720px)}.four-columns{gap:6px;grid-template-columns:repeat(7,minmax(48px,1fr))}.four-columns button{min-height:56px;font-size:18px}
 .direction-pad{grid-template-columns:repeat(3,64px);grid-template-rows:repeat(2,56px);gap:8px}.direction-pad button{font-size:28px}
 .canvas-controls{gap:12px}.canvas-controls button{min-width:96px;min-height:56px;font-size:20px}.canvas-controls button.wide{min-width:190px}
 .game-stage canvas,.game-stage .maze,.puzzle-grid,.target-board,.direction-pad,.canvas-controls,.four-columns{touch-action:none;overscroll-behavior:contain;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}
 .direction-pad button:active,.canvas-controls button:active,.four-columns button:active{background:#b6e0fc}
 .board-caption{font-size:14px}.result-badge{font-size:15px;padding-block:7px}
}
@media (min-width:701px) and (min-height:600px) and (max-width:1366px) and (any-pointer:coarse) and (orientation:portrait){
 .game-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.header{height:88px}
 .play-layout{grid-template-columns:minmax(0,1fr) auto auto;gap:10px 12px;align-items:center}
 .game-side{display:contents}.game-stage{grid-column:1/-1;grid-row:3}
 #feedback{grid-column:1;grid-row:1;margin:0;font-size:17px;line-height:1.4}
 #game-actions{grid-column:2;grid-row:1;margin:0;min-width:136px}#game-actions:empty{display:none}
 #restart{grid-column:3;grid-row:1;width:auto;min-width:136px;padding-inline:16px}
 .control-help{grid-column:1/-1;grid-row:2;margin:0;font-size:14px;line-height:1.45}
 .play-heading p:not(.eyebrow){max-width:620px}
}
@media (min-width:701px) and (min-height:600px) and (max-width:1366px) and (any-pointer:coarse) and (orientation:landscape){
 body.is-playing .header{height:58px}.play-top{margin-bottom:8px}.play-heading{margin-bottom:10px}
 .game-stage[data-game="snake"]{display:grid;grid-template-columns:minmax(0,1fr) 208px;gap:12px 16px;justify-items:center;align-content:center}
 .game-stage[data-game="snake"] .result-badge{grid-column:1/-1}
}
