#controls-dialog{width:min(640px,calc(100vw - 36px));max-height:86vh;overflow:auto;padding:24px;color:#e7e9da}
#settings-dialog{width:min(1100px,calc(100vw - 32px));max-width:none;max-height:calc(100dvh - 32px);padding:20px 24px;box-sizing:border-box}
#settings-dialog .settings-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}
#settings-dialog .settings-heading h2{margin:0;font-size:28px;line-height:1.2}
#settings-dialog .settings-heading form{margin:0}
#settings-dialog .dialog-close{position:static;padding:0 5px}
#settings-dialog .settings-modules{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
#settings-dialog .settings-module{min-width:0;padding:12px 14px;background:#10201980;border:1px solid #71805b55;border-radius:4px}
#settings-dialog .settings-module h3{margin:0 0 10px;color:#e8d29a;font-size:15px;line-height:1.3;letter-spacing:1px}
#settings-dialog .setting{min-height:28px;margin:4px 0;gap:10px;font-size:12px;line-height:1.4}
#settings-dialog .setting input[type=range]{width:132px;max-width:49%;min-width:0}
#settings-dialog .setting select{max-width:60%;min-width:0}
#settings-dialog #control-mode-setting{margin:0 0 10px;padding:0;border:0}
#settings-dialog .control-mode-choices{gap:8px}
#settings-dialog .control-mode-choices button{padding:10px}
#settings-dialog .control-mode-choices b{font-size:17px;margin-bottom:5px}
#settings-dialog .control-mode-choices span{font-size:11px;line-height:1.6}
#settings-dialog #settings-controls{padding:5px 12px;font-size:12px}
#settings-dialog .guide-settings{margin-top:8px;padding:4px 0 0;border-top:1px solid #71805b44;border-bottom:0}
#settings-dialog .guide-settings .setting{margin:0}
#settings-dialog .guide-settings>div{gap:6px;flex-wrap:wrap}
#settings-dialog .pointer-sensitivity-setting{margin:8px 0 0}
#settings-dialog .pointer-sensitivity-setting .setting{margin:0 0 10px}
#settings-dialog .pointer-sensitivity-footer{flex-wrap:wrap;gap:8px}
#settings-dialog .audio-preview{margin-top:10px}
#settings-dialog .settings-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:16px;padding-top:12px;border-top:1px solid #71805b55}
#settings-dialog .settings-footer .dialog-note{margin:0;padding:0;border:0;white-space:nowrap}
#settings-dialog #settings-done{width:auto;min-width:112px;flex:none;margin:0;padding:9px 24px}
@media(max-width:900px){#settings-dialog .settings-modules{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:580px){#settings-dialog{padding:16px}#settings-dialog .settings-modules{grid-template-columns:1fr}}
.pointer-sensitivity-setting{margin:22px 0}.pointer-sensitivity-setting .setting{margin:0 0 8px}.pointer-sensitivity-setting output{display:block;margin-top:4px;color:#e8d29a;font-variant-numeric:tabular-nums}.pointer-sensitivity-setting input[type=range]{max-width:50%;min-width:0}.pointer-sensitivity-footer{display:flex;justify-content:space-between;align-items:center;gap:12px}.pointer-sensitivity-footer small{color:#a9baa1;font-size:11px}.pointer-sensitivity-footer button{flex-shrink:0;padding:4px 8px;font-size:11px}
#control-mode-setting{margin:0 0 16px;padding:0 0 16px;border-bottom:1px solid #8f966344}#control-mode-setting h3{margin:0 0 10px;font-size:15px;color:#e8d29a}.control-mode-choices{display:grid;grid-template-columns:1fr 1fr;gap:10px}.control-mode-choices button{text-align:left;min-width:0;padding:14px 16px;background:#1b2c23;border:1px solid #687353;color:#e7e9da;cursor:pointer}.control-mode-choices b{display:block;font-size:20px;letter-spacing:1px;margin-bottom:7px}.control-mode-choices span{display:block;font-size:13px;line-height:1.65;color:#becbb5}.control-mode-choices button[aria-pressed=true]{background:#3a472b;border-color:#d9bb6d;box-shadow:inset 0 0 0 1px #d9bb6d33}.control-mode-choices button:focus-visible{outline:2px solid #f2d17b;outline-offset:3px}#control-mode-dialog{width:min(540px,calc(100vw - 36px));padding:28px}#control-mode-dialog h2{margin:0 0 22px}#control-mode-dialog p{margin:18px 0 8px;color:#cbd4bc;font-size:13px}#control-mode-dialog small{color:#a9baa1;font-size:12px}#controls-dialog [hidden]{display:none!important}body[data-control-mode=rpg] #attack-order{display:none}@media(max-width:420px){.control-mode-choices{grid-template-columns:1fr}}
#controls-dialog h2{margin:0 0 18px}.mouse-binding{display:flex;justify-content:space-between;align-items:center;gap:16px}.mouse-binding div{display:flex;gap:8px}
#controls-dialog button{min-height:34px;padding:5px 14px;font-size:14px}.mouse-binding button[aria-pressed=true]{background:#4c5632;border-color:#f2d17b;color:#fff0bf}
#mouse-binding-note{color:#b9c5ac;font-size:13px;line-height:1.6}.keybinding-list{display:grid;grid-template-columns:1fr 1fr;gap:8px 20px}.keybinding-list label{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:14px}.keybinding-list button{min-width:88px}.keybinding-list .listening{color:#fff1b7;border-color:#e8cc78;box-shadow:0 0 9px #ddba4355}
#binding-status{min-height:22px;font-size:13px;color:#f0d894}#controls-dialog footer{display:flex;justify-content:space-between;gap:16px}#controls-dialog footer form{margin:0}#control-mode-dialog small{display:block;margin-top:18px}@media(max-width:580px){.keybinding-list{grid-template-columns:1fr}}
