.keyboard-setting-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.keyboard-setting-row .check-label{margin:16px 0}.keyboard-setting-row>button{min-height:44px;white-space:nowrap}
#keyboard-mapping-dialog,#gamepad-mapping-dialog{position:fixed;inset:0;margin:auto;width:min(560px,calc(100vw - 24px));max-width:none;max-height:calc(100dvh - 24px);padding:18px;border:1px solid var(--line,#b6c4cb);background:var(--menu-color,#304859);color:#fff;font:14px/22px KctSpeech,"DotumChe",sans-serif}
#keyboard-mapping-dialog::backdrop,#gamepad-mapping-dialog::backdrop{background:#0008}
#keyboard-mapping-dialog form,#gamepad-mapping-dialog form{display:flex;flex-direction:column;gap:12px;max-height:calc(100dvh - 62px);min-height:0}
#keyboard-mapping-title,#gamepad-mapping-title{font:16px/24px KctMenu,"GulimChe",sans-serif;color:#ffff66;margin:0}
.keyboard-mapping-hint{margin:0;flex-shrink:0;overflow-wrap:anywhere}.keyboard-mapping-list{overflow:auto;min-height:0;overscroll-behavior:contain}
.keyboard-mapping-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:4px 10px;align-items:start;margin-bottom:16px}.keyboard-mapping-action{grid-column:1/-1;overflow-wrap:anywhere;color:#ffff99}.keyboard-mapping-binding{display:flex;flex-direction:column;min-width:0;gap:4px}.keyboard-mapping-binding>button{width:100%}.keyboard-mapping-binding-header{display:flex;align-items:center;justify-content:space-between;min-height:44px;font-size:13px}.keyboard-mapping-binding-header button{min-height:44px;padding:4px 8px;font-size:13px}.keyboard-mapping-binding-header button:disabled{opacity:.45}
.keyboard-mapping-row button{min-height:48px;font:inherit;line-height:20px;padding:8px;overflow-wrap:anywhere}.keyboard-mapping-row button[aria-pressed=true]{outline:2px solid #ffff66;outline-offset:-2px;color:#ffff66}
.gamepad-mapping-pad{margin:0;flex-shrink:0;color:#ffff99;overflow-wrap:anywhere;font-size:13px;white-space:pre-line}.mobile .gamepad-mapping-pad{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.gamepad-mapping-live{margin:0;flex-shrink:0;min-height:20px;font-size:13px;line-height:20px;overflow-wrap:anywhere}.gamepad-mapping-live:empty{display:none}.mobile .gamepad-mapping-live{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.gamepad-mapping-note{margin:0;flex-shrink:0;padding:8px 10px;border:1px solid #ffff6680;font-size:13px;line-height:20px;overflow-wrap:anywhere}.gamepad-mapping-note[hidden]{display:none}.mobile .gamepad-mapping-note{font-size:12px;line-height:17px;padding:6px 8px}
.keyboard-mapping-status{margin:0;min-height:22px;color:#ffff99;overflow-wrap:anywhere}.keyboard-mapping-controls{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:8px;flex-shrink:0}.keyboard-mapping-controls button{min-height:48px;padding:8px 4px;font:inherit}
.keyboard-mapping-binding-header{min-height:48px}
@media(max-height:500px){#keyboard-mapping-dialog,#gamepad-mapping-dialog{padding:12px}#keyboard-mapping-dialog form,#gamepad-mapping-dialog form{max-height:calc(100dvh - 50px);gap:8px}.keyboard-mapping-hint{font-size:12px;line-height:18px}.keyboard-mapping-status{font-size:12px;line-height:18px;min-height:18px}}

#keyboard-mapping-dialog.mobile,#gamepad-mapping-dialog.mobile{width:min(560px,calc(100vw - 16px));padding:12px;overflow:hidden}
#keyboard-mapping-dialog.mobile form,#gamepad-mapping-dialog.mobile form{max-height:calc(100dvh - 50px);min-width:0}
.mobile .keyboard-mapping-hint{display:none}
.mobile .keyboard-mapping-list{min-width:0;padding:2px 3px;overflow-x:hidden}
.mobile .keyboard-mapping-row{column-gap:8px}
.mobile .keyboard-mapping-action,.mobile .keyboard-mapping-binding-header,.mobile .keyboard-mapping-row button,.mobile .keyboard-mapping-controls button{white-space:nowrap;overflow-wrap:normal}
.mobile .keyboard-mapping-binding-header{gap:4px}
.mobile .keyboard-mapping-binding-header>span{flex-shrink:0}
.mobile .keyboard-mapping-row button{font-size:13px;padding:8px 3px}
.mobile .keyboard-mapping-status:empty{display:none}
@media (min-width:900px) and (pointer:fine){
 #keyboard-mapping-dialog,#gamepad-mapping-dialog{width:min(680px,calc(100vw - 64px));padding:24px 32px}
}
