/* Legenda de console sobre o diorama; símbolos específicos do controle informado. */
.gamepad-panel { position:fixed; z-index:8; bottom:18px; left:50%; transform:translateX(-50%);
  width:min(850px,calc(100vw - 32px)); color:#efe8d6; border:1px solid #d6b77b55;
  background:#0b1719ed; padding:9px 13px; font:12px/1.45 Arial,sans-serif;
  box-shadow:0 5px 24px #0006; max-height:65dvh; overflow:auto; }
.gamepad-panel details { margin:0; font-size:11px; }
.gamepad-panel summary { padding:2px 0; cursor:pointer; color:#d6b77b; font-weight:600; }
.gamepad-status { margin:7px 0; color:#a0b4a9; }
.gamepad-panel [hidden] { display:none!important; }
.gamepad-settings { display:grid; gap:8px; padding:6px 0; }
.gamepad-settings label { display:flex; align-items:center; gap:10px; justify-content:space-between; margin:0; }
.gamepad-settings input[type=range] { width:40%; accent-color:#d6b77b; }
.gamepad-settings input[type=checkbox] { width:auto; accent-color:#d6b77b; }
.gamepad-settings output { min-width:30px; color:#d6b77b; }
.gamepad-settings select { max-width:55%; padding:5px; font:inherit; color:#efe8d6; background:#112624; border:1px solid #d6b77b55; }
.gamepad-settings input[type=number] { width:64px; padding:4px; color:#efe8d6; background:#112624; border:1px solid #d6b77b55; }
.gamepad-settings button { width:auto; min-height:32px; font:11px Arial,sans-serif; color:#d6b77b; background:transparent; border:1px solid #d6b77b55; padding:6px 12px; text-transform:none; letter-spacing:0; }
.gamepad-guide { margin:0; color:#a0b4a9; max-width:700px; }
.gamepad-mapping[open] { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:6px 24px; }
.gamepad-mapping summary { grid-column:1/-1; }
.gamepad-mapping p { grid-column:1/-1; margin:3px 0; overflow-wrap:anywhere; }
.gamepad-legend { display:flex; flex-wrap:wrap; justify-content:center; gap:7px 15px; margin-top:6px; }
.gamepad-command { display:inline-flex; gap:5px; align-items:center; white-space:nowrap; }
.gamepad-glyph { display:inline-flex; align-items:center; justify-content:center; min-width:22px; height:22px;
  padding:0 5px; border:1px solid #849c90; border-radius:5px; background:#162a27; font:700 10px Arial,sans-serif; color:#efe8d6; }
.gamepad-glyph[data-button] { width:22px; padding:0; border-radius:50%; }
.gamepad-panel:is([data-profile=xbox],[data-profile=steamdeck]) .gamepad-glyph[data-button=A] { color:#8dd388; border-color:#8dd388; }
.gamepad-panel:is([data-profile=xbox],[data-profile=steamdeck]) .gamepad-glyph[data-button=B] { color:#ef9292; border-color:#ef9292; }
.gamepad-panel:is([data-profile=xbox],[data-profile=steamdeck]) .gamepad-glyph[data-button=X] { color:#8cbcf0; border-color:#8cbcf0; }
.gamepad-panel:is([data-profile=xbox],[data-profile=steamdeck]) .gamepad-glyph[data-button=Y] { color:#ebd883; border-color:#ebd883; }
.gamepad-panel:is([data-profile=ps5],[data-profile=playstation]) .gamepad-glyph[data-button] { font-size:16px; }
.gamepad-target { margin:5px 0; text-align:center; color:#d6b77b; font-weight:600; }
.gamepad-focus { outline:2px solid #6ec9b7!important; outline-offset:3px!important; }
.gamepad-panel[data-connected=false]:not(:has(details[open])) { left:auto; right:16px; transform:none; width:auto; max-width:calc(100vw - 32px); opacity:.85; }
body.gamepad-active .controls-panel, body.gamepad-active .title-panel { opacity:0; pointer-events:none; }
body.gamepad-active #crosshair { opacity:1; }
body.gamepad-active #touch-controls, body.gamepad-active #touch-exit { display:none; }
body.gamepad-menu .controls-panel, body.gamepad-menu .title-panel { opacity:1!important; pointer-events:auto!important; }
body.photo .gamepad-panel { bottom:auto; top:16px; }
.gamepad-panel:has(details[open]) { bottom:16px; }
body:has(#realm-canvas) .gamepad-panel { bottom:8px; }
body:has(#realm-canvas):has(.gamepad-panel[data-connected=true]) > footer { visibility:hidden; }
@media(max-width:720px) { .gamepad-panel { padding:7px 10px; bottom:8px; width:calc(100vw - 16px); font-size:11px; }
  .gamepad-legend { gap:5px 9px; }
  .gamepad-mapping[open] { grid-template-columns:1fr; }
  .gamepad-panel:has(details[open]) { max-height:55dvh; }
  body:has(#realm-canvas) > footer { visibility:hidden; }
}
