/* Keyboard editor overrides the small NPC dialog, preserving its shared close action. */
.dialog.keybind-dialog{inset:3% 2%;padding:14px 16px;max-height:none;background:linear-gradient(145deg,#24273bf7,#152c32fa);border-color:#a7c7b8;font-size:12px;line-height:1.35;display:flex;flex-direction:column;overflow:hidden}
.dialog.keybind-dialog>.dialog-content{min-height:0;flex:1;overflow:auto;scrollbar-width:thin;scrollbar-color:#778b87 transparent}
.dialog.keybind-dialog button{float:none;margin:0;min-width:0;font:inherit}
.dialog.keybind-dialog .dialog-actions{flex:none;margin-top:8px;padding-top:8px}
.dialog.keybind-dialog .dialog-actions button{padding:6px 16px}
.kb-heading{display:flex;justify-content:space-between;align-items:center;gap:12px}.kb-heading h3{font:23px Georgia,serif;margin:4px 0;color:#ffedc5}.kb-eyebrow{font-size:9px;letter-spacing:1.7px;color:#9dcfc4}.kb-save-note{font-size:10px;color:#bec9c9}.kb-instructions{margin:6px 0 10px;color:#c5d1d4;font-size:11px}
.kb-keyboard{display:flex;flex-direction:column;gap:4px;padding:8px;background:#0c182980;border:1px solid #647c7b;border-radius:9px}.kb-row{display:flex;gap:4px}.dialog.keybind-dialog .kb-key{flex:1;min-width:0;height:37px;padding:4px;background:linear-gradient(#344351,#263440);border:1px solid #647785;border-bottom:3px solid #102230;border-radius:5px;color:#ecf4f0;text-align:left;display:flex;flex-direction:column;gap:2px;overflow:hidden;cursor:pointer}.kb-keycap{font-size:10px;font-weight:700}.kb-key small{font-size:8px;line-height:1.08;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;color:#afc7c9;white-space:normal;overflow-wrap:anywhere}.dialog.keybind-dialog .kb-key.kb-assigned{background:linear-gradient(#345b59,#243e45);border-color:#789e92}.dialog.keybind-dialog .kb-key.kb-assigned small{color:#f3ebcb}.dialog.keybind-dialog .kb-key:hover,.dialog.keybind-dialog .kb-key.kb-drop-target{background:#4c676a;border-color:#ffe09e;box-shadow:0 0 0 1px #ffe09e}.dialog.keybind-dialog .kb-key.kb-space{flex:6}.dialog.keybind-dialog .kb-row-0 .kb-key{height:25px;flex-direction:row;align-items:center;justify-content:space-between}.dialog.keybind-dialog .kb-key.kb-fixed{opacity:.6;cursor:default}.kb-message{min-height:27px;padding:6px 2px;color:#f5dba1;font-size:11px}
.kb-palettes{display:grid;grid-template-columns:1.1fr 1fr;gap:12px}.kb-palettes h4{font-size:12px;margin:0 0 6px;color:#e1e9e1}.kb-palettes h4 small{font-size:9px;font-weight:400;color:#9eb0b7;margin-left:5px}.kb-palette{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}.dialog.keybind-dialog .kb-action{display:flex;gap:7px;align-items:center;text-align:left;padding:4px 6px;min-height:34px;border-color:#536773;background:#263a46}.kb-action>span:last-child{min-width:0}.kb-icon{font-size:18px;color:#e9cb8c;flex:none;width:20px;text-align:center}.kb-action b{display:block;font-size:10px;line-height:1.2;font-weight:600}.kb-action small{display:block;font-size:9px;color:#9ebabb;line-height:1.2;margin-top:2px}.dialog.keybind-dialog .kb-action:hover,.dialog.keybind-dialog .kb-action.kb-selected{background:#44645f;border-color:#ffe0a2}.dialog.keybind-dialog .kb-action.kb-selected{box-shadow:inset 0 0 0 1px #ffe0a2}.dialog.keybind-dialog .kb-action.kb-locked{opacity:.48;cursor:not-allowed}.dialog.keybind-dialog .kb-action.kb-locked:hover{background:#263a46;border-color:#536773}.kb-tools{display:flex;gap:8px;align-items:center;margin-top:6px}.dialog.keybind-dialog .kb-tools button{padding:6px 10px;font-size:10px}.kb-tools span{margin-left:auto;font-size:9px;color:#a7b6bd}.dialog.keybind-dialog button:disabled{cursor:default}.dialog.keybind-dialog #kb-clear:disabled{opacity:.45}
@media(max-width:900px){.dialog.keybind-dialog{inset:1%;padding:10px}.kb-heading h3{font-size:18px}.kb-instructions{font-size:10px}.kb-keyboard{padding:5px;gap:3px}.kb-row{gap:3px}.dialog.keybind-dialog .kb-key{height:36px;padding:3px}.kb-keycap{font-size:9px}.kb-key small{font-size:7px}.kb-palette{gap:4px}.dialog.keybind-dialog .kb-action{padding:4px;gap:4px;min-height:35px}.kb-icon{font-size:14px;width:16px}.kb-action b{font-size:9px}.kb-action small{font-size:8px}.kb-save-note{font-size:9px}.kb-tools span{display:none}}
@media(max-width:600px){.kb-palettes{grid-template-columns:1fr}.kb-save-note{display:none}.kb-heading h3{font-size:16px}.kb-row{gap:2px}.dialog.keybind-dialog .kb-key{padding:2px;height:34px}.kb-key small{font-size:6px}.kb-keycap{font-size:8px}.kb-palettes h4{margin-top:3px}.kb-eyebrow{font-size:8px}.dialog.keybind-dialog .dialog-content{overflow-x:hidden}.kb-tools{flex-wrap:wrap}}

@media(min-width:601px) and (max-width:1300px){.dialog.keybind-dialog{inset:1%;padding:8px 10px}.kb-heading h3{font-size:17px;margin:2px 0}.kb-eyebrow{font-size:7px;letter-spacing:1px}.kb-instructions{font-size:9px;margin:3px 0 5px}.kb-save-note{font-size:8px}.kb-keyboard{padding:4px;gap:3px}.kb-row{gap:3px}.dialog.keybind-dialog .kb-key{height:32px;padding:2px 3px;border-bottom-width:2px}.dialog.keybind-dialog .kb-row-0 .kb-key{height:22px}.kb-keycap{font-size:8px}.kb-key small{font-size:7px;line-height:1}.kb-message{min-height:20px;font-size:9px;padding:4px 1px}.kb-palettes{gap:8px}.kb-palettes h4{font-size:10px;margin-bottom:4px}.kb-palettes h4 small{font-size:8px}.kb-palette{gap:3px}.dialog.keybind-dialog .kb-action{min-height:30px;padding:3px 4px;gap:4px}.kb-action b{font-size:8px}.kb-action small{font-size:7px;margin-top:1px}.kb-icon{font-size:13px;width:15px}.kb-tools{margin-top:5px;gap:5px}.dialog.keybind-dialog .kb-tools button{font-size:9px;padding:5px 8px}.kb-tools span{display:none}.dialog.keybind-dialog .dialog-actions{margin-top:5px;padding-top:5px}.dialog.keybind-dialog .dialog-actions button{padding:5px 12px;font-size:11px}}

@media(max-width:1300px){.dialog.keybind-dialog{position:fixed;inset:auto 3vw auto;top:96px;height:min(600px,calc(100dvh - 112px));z-index:40}}
