/* Xbox guidance is absent until a recognized Xbox/XInput device is connected. */
.xbox-only,#xbox-guide{display:none}
.xbox-connected .xbox-only{display:initial}
.xbox-connected .non-xbox-help{display:none!important}
html:not(.xbox-connected) :is(.display-pad-help,.radio-pad-help,.map-pad-help){display:none!important}
#controller-status{display:none}
.xbox-connected #pause-controller-guide{display:block;width:100%}
.xbox-key{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;min-width:27px;height:27px;padding:0 6px;border:1px solid #b1c1cb;border-radius:6px;background:#26343f;color:#f3f6f8;font:700 11px/1 'DM Sans',sans-serif;box-shadow:0 2px 0 #0008;white-space:nowrap}
.xbox-key:is(.xbox-a,.xbox-b,.xbox-x,.xbox-y){width:27px;padding:0;border-radius:50%;font-size:14px;background:#19262d}
.xbox-key.xbox-a{color:#a2e282;border-color:#8acc73}.xbox-key.xbox-b{color:#ff9c92;border-color:#da827a}.xbox-key.xbox-x{color:#8ecfff;border-color:#79b5e1}.xbox-key.xbox-y{color:#ffe298;border-color:#e0c075}
.xbox-binding{display:inline-flex;align-items:center;gap:8px;line-height:1.3;text-align:left}
.xbox-connected #xbox-guide:not([hidden]){position:fixed;display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:12px 25px;left:0;right:0;bottom:0;z-index:81;min-height:52px;padding:9px max(20px,env(safe-area-inset-right)) max(9px,env(safe-area-inset-bottom)) max(20px,env(safe-area-inset-left));background:#101b24f5;border-top:1px solid #9cafba60;color:#ecf1f4;font-size:12px;pointer-events:none}
.xbox-guide-visible.is-driving #radio-mini.drive-radio{bottom:76px}
.xbox-guide-visible.is-driving .speed{bottom:94px!important}
.xbox-guide-visible.is-driving #recover{bottom:85px!important}
.xbox-guide-visible.is-driving #vibe-hud{bottom:150px}
.xbox-guide-visible.is-driving.bike-selected #bike-balance{bottom:158px}
.xbox-guide-visible :is(#dialog,#display-settings,#city-map,#radio-panel){padding-bottom:90px}
#menu .garage-help .xbox-only{align-items:center;gap:13px;flex-wrap:wrap}
.xbox-connected #menu .garage-help .xbox-only{display:flex}
#menu .garage-help .xbox-key{height:24px;min-width:24px;font-size:10px}
#controller-help>div{width:min(760px,100%);max-width:760px;max-height:calc(100dvh - 40px);overflow-y:auto;padding:6px;text-align:left}
#controller-help{padding:20px;background:#08111af7}
.xbox-help-title{display:flex;align-items:center;gap:8px;font-size:11px;letter-spacing:.14em;color:#c5e4b5}
.xbox-dot{width:8px;height:8px;background:#a7de82;border-radius:50%}
#controller-help h2{font-size:38px;line-height:1.05;margin:10px 0 12px}
#controller-help .xbox-intro{font-size:12px;line-height:1.5;margin:0 0 15px;color:#bfccd4}
.xbox-controls-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.xbox-controls-grid .xbox-binding{padding:10px;border:1px solid #81939f46;border-radius:6px;background:#15232eee;color:#f6f3eb;font-size:12px;min-height:47px}
#controller-help .xbox-bike-tip{margin:14px 0;padding:12px 14px;background:#3a493147;border-left:3px solid #bbdf85;color:#e3ecda;font-size:13px;line-height:1.6}
.xbox-bike-tip strong{color:#d4f4b2;margin-right:5px}
#controller-close{width:100%;max-width:none;min-height:44px;text-align:center;justify-content:center}
@media(max-width:800px){.xbox-connected #xbox-guide:not([hidden]){gap:6px 15px;font-size:10px;padding:8px 12px;min-height:50px}.xbox-key{height:24px;min-width:24px;font-size:10px}.xbox-controls-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.xbox-controls-grid .xbox-binding{padding:8px;font-size:11px}}
@media(max-height:500px) and (orientation:landscape){#controller-help{padding:12px 20px}#controller-help>div{max-height:calc(100dvh - 24px)}#controller-help h2{font-size:27px;margin:7px 0}#controller-help .xbox-intro{font-size:11px;margin-bottom:9px}.xbox-controls-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}.xbox-controls-grid .xbox-binding{min-height:39px;font-size:10px;padding:6px}#controller-help .xbox-bike-tip{font-size:11px;padding:8px;margin:10px 0}.xbox-guide-visible.is-driving #vibe-hud{bottom:137px}.xbox-guide-visible.is-driving.bike-selected #bike-balance{bottom:133px;width:215px}.xbox-guide-visible.is-driving #radio-mini.drive-radio{bottom:66px}.xbox-guide-visible.is-driving #recover{bottom:75px!important}.xbox-connected #xbox-guide:not([hidden]){gap:5px 12px;font-size:10px}}
@media(min-width:1900px){.xbox-connected #xbox-guide:not([hidden]){font-size:16px;gap:32px;padding:12px 5vw;min-height:68px}.xbox-key{height:32px;min-width:32px;font-size:13px}.xbox-guide-visible.is-driving #radio-mini.drive-radio{bottom:100px}.xbox-guide-visible.is-driving .speed{bottom:140px!important}}
