/* Public gamepad workspace. All rules stay inside this page's tool. */
#gpd .rt-gamepad-public{--bg:#07121c;--surface:#0e1c2a;--surface-alt:#142635;--text:#eef4fa;--text-muted:#b2c2d1;--border:#314b5e;--accent:#f4fa35;--gp-ink:#eef4fa;--gp-effect-sticky-top:12px;color-scheme:dark;color:var(--text);font-family:inherit;max-width:none;width:100%;padding:0;margin:24px 0 0;text-align:left}
#gpd .rt-gamepad-public *,#gpd .rt-gamepad-public *::before,#gpd .rt-gamepad-public *::after{box-sizing:border-box}
#gpd .rt-gamepad-public h2,#gpd .rt-gamepad-public h3,#gpd .rt-gamepad-public h4{color:var(--text);font-family:inherit;font-weight:700;letter-spacing:normal;text-transform:none;line-height:1.3}
#gpd .rt-gamepad-public h2{font-size:clamp(21px,1.4vw,30px);margin:0 0 5px}
#gpd .rt-gamepad-public h3{font-size:18px;margin:0 0 8px}
#gpd .rt-gamepad-public h4{font-size:16px;margin:0 0 8px}
#gpd .rt-gamepad-public p{line-height:1.6}
#gpd .rt-gamepad-public p,#gpd .rt-gamepad-public label,#gpd .rt-gamepad-public button,#gpd .rt-gamepad-public select,#gpd .rt-gamepad-public input,#gpd .rt-gamepad-public summary{font-family:inherit;text-transform:none;letter-spacing:normal}
#gpd .rt-gamepad-public [hidden]{display:none!important}
#gpd .rt-gamepad-public a{color:#9ddeee}
#gpd .rt-gamepad-public .diag-surface{border-color:#314b5e;background:linear-gradient(145deg,#0c1926,#0a1621);box-shadow:0 20px 70px #0003}
#gpd .rt-gamepad-public .gp-workbench{--gp-muted:#b2c2d1;--gp-accent:#37caba;--gp-soft:#142635;--gp-line:#314b5e;--gp-ink:#eef4fa}
#gpd .rt-gamepad-public button,#gpd .rt-gamepad-public select,#gpd .rt-gamepad-public input{line-height:1.35;max-width:100%}
#gpd .rt-gamepad-public button{white-space:normal;font-weight:650;transition:background-color .15s,border-color .15s;box-shadow:none}
#gpd .rt-gamepad-public button:disabled{opacity:.48;cursor:not-allowed}
#gpd .rt-gamepad-public #diag-tool .gp-primary{background:#f4fa35;border-color:#f4fa35;color:#111820;font-weight:750}
#gpd .rt-gamepad-public #diag-tool .gp-primary:hover:not(:disabled){background:#e1e929;border-color:#e1e929}
#gpd .rt-gamepad-public :is(button,select,input,a,summary):focus-visible{outline:3px solid #ffed64;outline-offset:3px}
#gpd .rt-gamepad-public .gp-map-card{background:linear-gradient(150deg,#102333,#0e1c2a)}
#gpd .rt-gamepad-public .gp-inline-note,#gpd .rt-gamepad-public .gp-gate,#gpd .rt-gamepad-public .gp-message{color:#c3d5e4;background:#152e3a;border-color:#315461}
#gpd .rt-gamepad-public .gp-eyebrow{color:#6bdec9}
#gpd .rt-gamepad-public .gp-flow-steps .is-current{color:#9aecd7;box-shadow:inset 0 0 0 1px #57bda7}
#gpd .rt-gamepad-public .gp-command-state[data-state=done]{background:#153c32;color:#b9f3dc;border-color:#65d8ae}
#gpd .rt-gamepad-public .gp-command-state[data-state=error]{background:#3c2328;color:#ffcbd0;border-color:#f27b86}
#gpd .rt-gamepad-public .gp-firmware-grid strong{color:var(--text)}
#gpd .rt-gamepad-public .diag-result{border-color:#314b5e;background:#0e1c2a;margin-top:20px;padding:clamp(18px,2vw,32px)}
#gpd .rt-gamepad-public .diag-result h2{font-size:23px}
#gpd .rt-gamepad-public .diag-result dl{grid-template-columns:minmax(0,1fr) minmax(120px,1fr);gap:7px 20px;max-width:1100px;font-size:13px}
#gpd .rt-gamepad-public .diag-result img{max-width:100%;height:auto;border-radius:12px}
#gpd .rt-gamepad-public .diag-status{display:inline-flex;margin:0 0 16px;background:#1e3447;color:#e4f1ff}
#gpd .rt-gamepad-public .diag-status.pass{background:#153c32;color:#b9f3dc}
#gpd .rt-gamepad-public .diag-status.warn{background:#443618;color:#ffe69b}
#gpd .rt-gamepad-public .diag-status.fail{background:#3c2328;color:#ffcbd0}
#gpd .rt-gamepad-public .rt-public-state{padding:16px;border:1px solid #3a6379;border-radius:12px;color:#d2e8f5;background:#102c3d}
#gpd .rt-gamepad-public .rt-public-footer{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;padding:20px 4px;color:#a6becf;font-size:13px}
#gpd .rt-gamepad-public .rt-public-footer a{display:inline-flex;align-items:center;min-height:42px;padding:10px 14px;border:1px solid #3a6170;border-radius:10px;font-weight:650;text-decoration:none;color:#cfefea}
#gpd .rt-gamepad-public.gp-focused{padding:clamp(14px,1.8vw,50px);margin:0;background:#07121c;z-index:100000;--gp-effect-sticky-top:0px}
#gpd .rt-gamepad-public.gp-focused .gp-tabs{background:#142635}
#gpd .gpd-new-connection .gpd-connect-copy{font-size:16px;line-height:1.65;color:#bfcedb;margin:12px 0 20px}
#gpd .gpd-new-connection .gpd-connect-actions{display:flex;gap:12px;flex-wrap:wrap;margin:18px 0}
#gpd .gpd-new-connection .gpd-connect-actions a{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:14px 20px;border-radius:12px;background:#f4fa35;color:#101820;font-weight:750;text-decoration:none;line-height:1.4}
#gpd .gpd-new-connection .gpd-capabilities{display:flex;flex-wrap:wrap;gap:8px;padding:0;margin:20px 0;list-style:none}
#gpd .gpd-new-connection .gpd-capabilities li{margin:0;padding:7px 10px;border:1px solid #335269;border-radius:8px;color:#c7e0ef;font-size:12px}
#gpd .gpd-new-connection .gpd-device-state{font-size:12px;color:#80dfc8;font-weight:650;letter-spacing:.04em}
#gpd #tester{scroll-margin-top:30px}
@media(min-width:1920px){#gpd .rt-gamepad-public .gp-overview-grid{grid-template-columns:minmax(0,1.2fr) minmax(430px,.8fr)}}
@media(min-width:2560px){#gpd .rt-gamepad-public .gp-two-col{gap:28px}#gpd .rt-gamepad-public .gp-module{padding:28px}#gpd .rt-gamepad-public .gp-photo{max-width:1300px;margin-inline:auto}}
@media(max-width:650px){#gpd .rt-gamepad-public{margin-top:18px}#gpd .rt-gamepad-public .diag-surface{padding:12px}#gpd .rt-gamepad-public .gp-module{padding:14px}#gpd .rt-gamepad-public .gp-flow-steps{grid-template-columns:repeat(2,minmax(0,1fr))}#gpd .rt-gamepad-public .gp-connect-actions button{min-height:44px}#gpd .rt-gamepad-public .diag-result dl{grid-template-columns:minmax(0,1fr) auto}#gpd .gpd-new-connection .gpd-connect-actions a{width:100%}}
/* The public page uses larger readable controls while keeping the instrument layout. */
#gpd .rt-gamepad-public #diag-tool button,#gpd .rt-gamepad-public #diag-tool select{font-size:clamp(13px,.72vw,18px);min-height:42px}
#gpd .rt-gamepad-public .gp-workbench p,#gpd .rt-gamepad-public .gp-small,#gpd .rt-gamepad-public .gp-control-label,#gpd .rt-gamepad-public .gp-select-row label,#gpd .rt-gamepad-public .gp-inline-note{font-size:clamp(13px,.75vw,18px)}
#gpd .rt-gamepad-public .gp-chip,#gpd .rt-gamepad-public .gp-map-legend,#gpd .rt-gamepad-public .gp-live-badge,#gpd .rt-gamepad-public .gp-dial-metrics,#gpd .rt-gamepad-public .gp-stat-line,#gpd .rt-gamepad-public .gp-coverage{font-size:clamp(12px,.65vw,16px)}
#gpd .rt-gamepad-public #diag-tool .gp-tab-link{color:#6bdec9}
#gpd .rt-gamepad-public #diag-tool select{background:#102333;color:#eef4fa;border:1px solid #486375;border-radius:8px}
@media(min-width:2560px){#gpd .rt-gamepad-public h3{font-size:23px}#gpd .rt-gamepad-public h4{font-size:20px}#gpd .rt-gamepad-public .gp-eyebrow{font-size:13px}#gpd .rt-gamepad-public .gp-footer{font-size:15px}}
/* Keep the floating contact button from covering controls while the tester is in view. */
body.rt-gamepad-visible .rt-fc-toggle{visibility:hidden!important;pointer-events:none!important}
#gpd #tester{scroll-margin-top:90px}
/* In focus mode the inactive site chrome must also be visually out of the way. */
body:has(#gpd .rt-gamepad-public.gp-focused) [inert],body:has(#gpd .rt-gamepad-public.gp-focused) [inert] *{visibility:hidden!important}
#gpd .rt-gamepad-public #diag-tool .gp-fine-card{background:#0e1c2a;border-color:#486375;color:#eef4fa}
#gpd .rt-gamepad-public .gp-fine-badge,#gpd .rt-gamepad-public .gp-live-badge[data-live=true]{background:#153c32;color:#b9f3dc}
#gpd .rt-gamepad-public #diag-tool .gp-v2-legend span:first-child{color:#f1bd6a}
#gpd .rt-gamepad-public #diag-tool .gp-v2-legend span:nth-child(2),#gpd .rt-gamepad-public #diag-tool [data-fine-lane][data-capture-stage=done] .gp-v2-lane-guide strong{color:#6bdec9}
#gpd .rt-gamepad-public .gp-flow-steps .is-done,#gpd .rt-gamepad-public .gp-save-checks .is-done{color:#8fe3c1}
#gpd .rt-gamepad-public .gp-command-state[data-state=running],#gpd .rt-gamepad-public .gp-command-state[data-state=stopping],#gpd .rt-gamepad-public .gp-test-running{background:#392f18;color:#ffe2a0;border-color:#a98437}
#gpd .rt-gamepad-public .gp-command-state[data-state=sent]{background:#153c32;color:#b9f3dc;border-color:#65d8ae}
