/* Configurações dialog and the squad portraits. The dialog frame, header and footer come from styles.css. */
.settings-open{display:grid;place-items:center;width:34px;min-width:34px;padding:0;font-size:16px;line-height:1}
.settings-dialog{width:min(760px,calc(100vw - 32px));height:min(760px,calc(100svh - 32px))}
.settings-dialog[open]{display:grid;grid-template-rows:auto auto minmax(0,1fr) auto}
.settings-header{padding:22px 26px 16px}.settings-header .squad-close{flex:none}
.settings-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2px;margin:14px 26px 4px;padding:3px;border-radius:4px;background:#0a0b0f;box-shadow:inset 0 0 0 1px var(--edge)}
.settings-tabs button{min-height:40px;border:0;border-radius:3px;background:transparent;box-shadow:none;font:700 14px/1 var(--tv-font);letter-spacing:1.2px;text-transform:uppercase;color:var(--muted)}
.settings-tabs button:hover{background:#ffffff0d;color:var(--ink)}
.settings-tabs button[aria-selected=true]{background:linear-gradient(180deg,#2c313c,#1c1f27);color:#fff;box-shadow:inset 0 -3px 0 var(--red),inset 0 1px 0 #ffffff1f}
.settings-body{padding:18px 26px 22px;overflow:auto;overscroll-behavior:contain}.settings-body [hidden]{display:none}
.settings-body>section>h3{margin:0 0 12px;font:700 13px/1 var(--tv-font);letter-spacing:2px;text-transform:uppercase;color:var(--accent)}.settings-body>section>h3:not(:first-child){margin-top:26px}
.settings-toggle{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:58px;padding:10px 0;border-bottom:1px solid #ffffff14;cursor:pointer;font-size:14px;font-weight:700}
.settings-toggle small{display:block;margin-top:5px;font-size:11px;line-height:1.4;font-weight:400;color:#adb3be}
.settings-toggle input{appearance:none;-webkit-appearance:none;flex:none;position:relative;width:46px;height:26px;margin:0;border-radius:13px;border:1px solid #ffffff33;background:#0a0b0f;cursor:pointer;transition:background .18s,border-color .18s}
.settings-toggle input::before{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#9aa0ac;box-shadow:0 1px 3px #0008;transition:transform .18s,background .18s}
.settings-toggle input:checked{background:var(--primary);border-color:#ff8a9c}
.settings-toggle input:checked::before{transform:translateX(20px);background:#fff}
.settings-toggle:hover input{border-color:#ffffff66}
.settings-volume{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;margin:20px 0;font-size:13px;font-weight:700}
.settings-volume output{padding:1px 8px;border-radius:3px;background:#0a0b0f;box-shadow:inset 0 0 0 1px var(--edge);color:var(--accent);font-variant-numeric:tabular-nums;font-size:12px}
.settings-volume input{width:100%;height:24px}
.settings-field{display:grid;gap:8px;margin-bottom:18px;font-size:10px;font-weight:800;letter-spacing:1.2px;text-transform:uppercase;color:#b9bfca}
.settings-field select{width:100%;min-height:44px;border:1px solid #ffffff2e;border-radius:4px;padding:8px 12px;background-color:#0a0b0f;color:var(--ink);font:inherit;font-size:13px;font-weight:600;letter-spacing:0;text-transform:none}
.settings-field select:hover{border-color:#ffffff66}
.settings-note{font-size:12px;line-height:1.6;color:#aab0bc;margin:10px 0 18px}
.formation-board{max-width:390px;margin:0 auto;border:1px solid #416658;border-radius:4px;overflow:hidden;background:#153d2d;box-shadow:0 10px 30px #02091455}.formation-board svg{display:block;width:100%;height:auto}.formation-player{fill:#b4e88e;stroke:#10251b;stroke-width:1.5}.formation-player.keeper{fill:#ffce79}.formation-number{fill:#10251b;font:700 10px 'Segoe UI',sans-serif;text-anchor:middle;dominant-baseline:central;pointer-events:none}
.settings-footer{padding:16px 26px}.settings-footer button{min-height:44px;flex:none}
.controller-status{padding:12px 14px;border:1px solid var(--edge);border-left:3px solid var(--accent);border-radius:4px;background:#0a0b0f;font-size:13px;line-height:1.5;margin:0 0 10px}
.gamepad-bindings{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.gamepad-binding{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 12px;border:1px solid #ffffff1a;border-radius:4px;background:linear-gradient(180deg,#1f232c,#15181e);min-width:0}
.gamepad-binding strong{display:block;font-size:12px}.gamepad-binding small{display:block;font-size:10px;line-height:1.4;color:#adb3be;margin-top:4px;overflow-wrap:anywhere}
.gamepad-binding button{min-height:44px;padding:0 12px;border-radius:4px;font-size:11px;font-weight:700;background:#0a0b0f;border-color:#ffffff2e;border-bottom-width:3px;color:#e8eaee}
.gamepad-binding button:hover{border-color:#ffffff66;background:#23262f}
.gamepad-binding button[aria-pressed=true]{background:linear-gradient(180deg,#3a3421,#1d1a12);border-color:var(--accent);color:#ffe3a1;box-shadow:0 0 0 1px #ffc42e44,0 0 14px #ffc42e33}
.controller-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}.controller-actions button{min-height:44px;padding:8px 14px;border-radius:4px;font-size:12px;font-weight:700}
.squad-player-identity{display:flex;align-items:center;gap:9px;min-width:0}.squad-player-info{flex:1;min-width:0}.squad-portrait{display:block;flex:none;width:48px;height:60px;aspect-ratio:4/5;border:1px solid #ffffff1f;border-radius:3px;background:#0a0b0f;image-rendering:pixelated}.squad-player-top{gap:5px}.squad-player-name{font-size:14px}.squad-player-meta{line-height:1.4}.squad-compare-person .squad-portrait{width:64px;height:80px;margin:2px 0 4px}.squad-compare-person:nth-child(2) .squad-portrait{align-self:flex-end}.squad-compare-number{font-size:10px;font-weight:700;color:#9aa0ac}
@media(max-width:700px){.settings-dialog{width:calc(100vw - 16px);height:calc(100svh - 16px);border-radius:6px}.settings-header{padding:18px 16px 14px}.settings-header h2{font-size:25px}.settings-header p{font-size:11px}.settings-tabs{margin:12px 16px 2px}.settings-body{padding:16px 16px 18px}.settings-footer{padding:12px 16px}.settings-footer .squad-confirm{min-width:112px;max-width:145px}.gamepad-bindings{grid-template-columns:1fr}.squad-player-list{grid-template-columns:1fr}.squad-player-identity{gap:12px}.squad-player-top{gap:7px}.squad-player-name{font-size:15px}.squad-player-meta{display:flex}.squad-condition{margin-top:0}.squad-portrait{width:48px;height:60px}.squad-player .squad-special{margin-left:60px}.squad-player .squad-energy{margin-left:60px}}
@media(any-pointer:coarse){.settings-open{width:44px;min-width:44px;height:44px;font-size:20px}.settings-dialog button{touch-action:manipulation}.settings-tabs button{min-height:44px}.game-footer .player-label{max-width:80px;overflow:hidden;text-overflow:ellipsis}.game-footer{gap:5px}.settings-toggle{min-height:64px}}
@media(any-pointer:coarse) and (max-width:360px){.game-footer{padding:0;gap:4px}.game-footer .player-label{max-width:63px}.game-footer .controls-help summary{gap:4px;font-size:9px}.settings-footer{gap:8px;padding:10px 12px}.settings-body{padding:14px 12px 16px}.settings-header{padding:16px 12px 12px}.settings-tabs{margin:10px 12px 2px}.settings-tabs button{font-size:12px}.settings-footer p{font-size:10px}.squad-player-name{font-size:14px}}
@media(min-width:701px){.settings-dialog:has([data-settings-tab=controller][aria-selected=true]){width:min(920px,calc(100vw - 32px));height:min(880px,calc(100svh - 32px))}.settings-body .controller-visual h3{margin-top:7px}.controller-visual-mount{min-width:0}}
