.touch-controls{display:grid;grid-template-columns:repeat(3,48px) 1fr repeat(2,64px);grid-template-rows:repeat(2,48px);gap:8px;align-content:center;padding:14px max(16px,env(safe-area-inset-right)) max(14px,env(safe-area-inset-bottom));background:linear-gradient(#101e32,#080f1e);touch-action:none;user-select:none;-webkit-user-select:none}
.touch-controls[hidden]{display:none!important}.touch-controls button{min-width:44px;min-height:44px;border:1px solid #bddbff35;border-radius:15px;background:#bddeff14;box-shadow:inset 0 1px #fff1;color:#d9eaff;font-family:inherit;font-size:12px;font-weight:600;touch-action:none}.touch-controls button.is-held{background:#bfdcf3;color:#091b30;transform:scale(.94)}
.touch-left{grid-column:1;grid-row:2}.touch-up{grid-column:2;grid-row:1}.touch-right{grid-column:3;grid-row:2}.touch-down{grid-column:2;grid-row:2}.touch-jump{grid-column:5;grid-row:1}.touch-dodge{grid-column:6;grid-row:1}.touch-light{grid-column:5;grid-row:2}.touch-strong{grid-column:6;grid-row:2}
@media(max-width:370px){.touch-controls{grid-template-columns:repeat(3,44px) 1fr repeat(2,56px);gap:5px;padding-inline:10px}}
@media(any-pointer:coarse) and (orientation:landscape){.touch-controls{position:absolute;bottom:0;left:0;right:0;background:none;pointer-events:none;grid-template-columns:repeat(3,44px) 1fr repeat(2,62px);grid-template-rows:repeat(2,44px);opacity:.8}.touch-controls button{pointer-events:auto;backdrop-filter:blur(5px)}.game-footer,.game-header #settings-button,.game-header #fullscreen-button{display:none!important}}
@media(prefers-reduced-motion:reduce){.touch-controls button{transform:none!important}}
