/* Gamepad Tester (MIT) */
.gp{--gp-bg:var(--surface,#151c19);--gp-2:var(--surface2,#1c2521);--gp-3:var(--surface3,#25302b);--gp-tx:var(--text,#eef2ee);--gp-mu:var(--muted,#a2ada6);--gp-on:var(--brand,#5fd497);--gp-line:var(--line,#232d29);background:var(--gp-bg);color:var(--gp-tx);border-radius:16px;padding:16px;margin:12px 0 24px}
.gp-status{margin:0 0 10px;font-weight:800;font-size:1.05rem}
.gp.live .gp-status{color:var(--gp-mu);font-weight:600;font-size:.9rem}
.gp-tabs{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}
.gp-tabs button{border:0;border-radius:999px;padding:6px 12px;background:var(--gp-2);color:var(--gp-tx);font:inherit;font-size:.82rem;font-weight:700;cursor:pointer}
.gp-tabs button[aria-pressed=true]{background:var(--gp-on);color:#07130c}
.gp-main{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:16px;align-items:start}
.gp-svg{width:100%;height:auto;display:block}
.gp-svg .body{fill:var(--gp-2);stroke:var(--gp-line);stroke-width:2}
.gp-svg .btn{fill:var(--gp-3);stroke:var(--gp-line);stroke-width:1.5;transition:fill .05s}
.gp-svg .btn.on{fill:var(--gp-on)}
.gp-svg .base{fill:var(--gp-bg);stroke:var(--gp-line);stroke-width:2}
.gp-svg .tfill{fill:var(--gp-on);transform-box:fill-box;transform-origin:left;transform:scaleX(var(--v,0))}
.gp-svg text{fill:var(--gp-mu);font:600 11px system-ui,sans-serif;text-anchor:middle;pointer-events:none}
.gp-svg.dim{opacity:.45}
.gp-side dl{margin:0 0 10px;display:grid;gap:6px}
.gp-side dl div{display:flex;justify-content:space-between;gap:10px;border-bottom:1px solid var(--gp-line);padding-bottom:6px}
.gp-side dt{color:var(--gp-mu)}.gp-side dd{margin:0;font-weight:700;text-align:end;overflow-wrap:anywhere}
.gp button.gp-vib,.gp button.gp-reset{border:0;border-radius:999px;min-height:40px;padding:0 16px;background:var(--gp-3);color:var(--gp-tx);font:inherit;font-weight:800;cursor:pointer}
.gp button:disabled{opacity:.45;cursor:default}
.gp-vibnote{min-height:1.2em;margin:6px 0;color:var(--gp-mu);font-size:.85rem}
.gp-h{font-weight:800;margin:12px 0 4px}
.gp-tip{margin:0 0 6px;color:var(--gp-mu);font-size:.85rem}
.gp-drift{width:100%;border-collapse:collapse;font-size:.85rem;margin-bottom:8px}
.gp-drift th,.gp-drift td{padding:4px 6px;border-bottom:1px solid var(--gp-line);text-align:end;font-variant-numeric:tabular-nums}
.gp-drift th:first-child{text-align:start}
.gp-raw{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:14px}
.gp-raw ol{list-style:none;margin:0;padding:0;display:grid;gap:3px;font-size:.8rem}
.gp-raw li{display:grid;grid-template-columns:34px 1fr 52px;gap:8px;align-items:center}
.gp-raw li span{color:var(--gp-mu)}.gp-raw li.on span{color:var(--gp-on);font-weight:800}
.gp-raw i{display:block;height:8px;border-radius:4px;background:linear-gradient(90deg,var(--gp-on) calc(var(--v)*100%),var(--gp-3) 0)}
.gp-raw i.ax{background:linear-gradient(90deg,var(--gp-3) calc(var(--v)*100% - 2px),var(--gp-on) 0 calc(var(--v)*100% + 2px),var(--gp-3) 0)}
.gp-raw code{font-variant-numeric:tabular-nums;text-align:end}
@media (max-width:760px){.gp-main,.gp-raw{grid-template-columns:1fr}}
