:root{
  --fgt-bg:#f4f6f8;
  --fgt-surface:#ffffff;
  --fgt-surface-2:#f8fafc;
  --fgt-text:#111827;
  --fgt-muted:#6b7280;
  --fgt-border:#e5e7eb;
  --fgt-accent:#e11d2e;
  --fgt-accent-dark:#b91020;
  --fgt-success:#15803d;
  --fgt-warning:#b45309;
  --fgt-shadow:0 18px 45px rgba(15,23,42,.08);
}
html[data-fgt-theme="dark"]{
  --fgt-bg:#0b0d10;
  --fgt-surface:#11151a;
  --fgt-surface-2:#171c22;
  --fgt-text:#f8fafc;
  --fgt-muted:#aab2bd;
  --fgt-border:#2a313a;
  --fgt-shadow:0 20px 50px rgba(0,0,0,.35);
  color-scheme:dark;
}
*{box-sizing:border-box}
html,body{background:var(--fgt-bg)!important;color:var(--fgt-text)!important}

body{padding-bottom:12px!important;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
body>.container.p-2{max-width:1140px!important;padding:16px 10px 20px!important}
#offlinebar,#onlinebar{background:var(--fgt-surface);border:1px solid var(--fgt-border);border-radius:18px;padding:18px!important;box-shadow:none;margin-bottom:14px}
#offlinebar{align-items:center;text-align:center;justify-content:center;gap:12px;min-height:300px}
#onlinebar p{margin-bottom:8px;color:var(--fgt-muted)}
#btnconnect{background:var(--fgt-accent);border-color:var(--fgt-accent);color:#fff;border-radius:12px;font-weight:800;padding:11px 20px;min-width:180px}
#btnconnect:hover{background:var(--fgt-accent-dark);border-color:var(--fgt-accent-dark)}
.fgt-connect-loader{width:min(680px,100%);display:flex;flex-direction:column;align-items:center;gap:12px;margin:0 auto 8px}
.fgt-connect-loader-visual{display:flex;align-items:center;justify-content:center;min-height:122px}
#fgt-loader-controller{width:min(220px,52vw);height:auto;display:block;filter:drop-shadow(0 10px 24px rgba(0,0,0,.10));animation:fgtFloat 2.6s ease-in-out infinite}
.fgt-loader-progress{position:relative;width:min(650px,100%);height:12px;background:var(--fgt-border);border-radius:999px;overflow:hidden}
.fgt-loader-progress-bar{position:absolute;left:-35%;top:0;height:100%;width:35%;border-radius:999px;background:linear-gradient(90deg,#16a34a,#4ade80);animation:fgtIndeterminate 1.8s ease-in-out infinite}
.fgt-loader-caption{margin:0;color:var(--fgt-muted);font-size:14px;line-height:1.5;max-width:540px}
.fgt-is-connecting .fgt-loader-progress-bar{animation-duration:1s}
.fgt-is-connected #offlinebar{display:none!important}
#missinghid>div>div,#aboutdrift>div>div:first-child{border:1px solid rgba(225,29,46,.4)!important;color:var(--fgt-text)!important;background:var(--fgt-surface)!important;border-left:4px solid var(--fgt-accent)!important}
footer{background:var(--fgt-surface)!important;color:var(--fgt-muted)!important;border-color:var(--fgt-border)!important}
footer a{color:var(--fgt-muted)!important}
#footbody{font-size:12px}
html[data-fgt-theme="dark"] .btn-outline-secondary{color:#d8dee7;border-color:#47505c}
html[data-fgt-theme="dark"] .btn-secondary{background:#343b45;border-color:#343b45}
html[data-fgt-theme="dark"] .form-control,html[data-fgt-theme="dark"] .form-select{background:#0d1116;color:#fff;border-color:#36404a}
html[data-fgt-hide-debug="1"] #debug-tab,html[data-fgt-hide-debug="1"] [aria-controls="debug-content"]{display:none!important}
@keyframes fgtFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
@keyframes fgtIndeterminate{0%{left:-35%}50%{left:32%}100%{left:100%}}
@media(max-width:767px){body>.container.p-2{padding-inline:8px!important}#offlinebar{min-height:260px;padding:16px!important}.fgt-connect-loader{gap:10px}#fgt-loader-controller{width:min(180px,64vw)}#mainTabs{overflow:auto;flex-wrap:nowrap}#mainTabs .nav-link{white-space:nowrap;padding:9px 12px}.card{border-radius:15px!important}footer{position:relative!important}body{padding-bottom:12px!important}#controller-svg-container{overflow:hidden}}

footer{display:none!important}

/* Xbox / Gamepad API diagnostics */
.fgt-xbox-panel{max-width:1140px;margin:0 auto 24px;background:var(--fgt-surface);border:1px solid var(--fgt-border);border-radius:20px;padding:22px;box-shadow:var(--fgt-shadow)}
.fgt-xbox-head{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;padding-bottom:18px;border-bottom:1px solid var(--fgt-border)}
.fgt-xbox-kicker{font-size:11px;letter-spacing:.14em;text-transform:uppercase;font-weight:850;color:var(--fgt-accent);margin-bottom:5px}.fgt-xbox-head h2{margin:0;font-size:30px;font-weight:850;letter-spacing:-.03em}.fgt-xbox-head p{margin:5px 0 0;color:var(--fgt-muted);max-width:680px;font-size:13px}.fgt-xbox-head-actions{display:flex;align-items:center;gap:10px}.fgt-xbox-connected{display:inline-flex;align-items:center;gap:7px;padding:8px 11px;border:1px solid var(--fgt-border);border-radius:999px;font-size:12px;font-weight:800}.fgt-xbox-connected>span{width:9px;height:9px;border-radius:50%;background:#22c55e;box-shadow:0 0 0 4px rgba(34,197,94,.13)}
.fgt-xbox-meta{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:16px 0}.fgt-xbox-meta>div{background:var(--fgt-surface-2);border:1px solid var(--fgt-border);border-radius:14px;padding:12px 14px}.fgt-xbox-meta span{display:block;color:var(--fgt-muted);font-size:10px;text-transform:uppercase;letter-spacing:.08em;font-weight:750}.fgt-xbox-meta strong{display:block;margin-top:4px;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fgt-xbox-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.fgt-xbox-card{border:1px solid var(--fgt-border);border-radius:17px;background:var(--fgt-surface);padding:16px}.fgt-xbox-card-title{font-weight:850;margin-bottom:15px;display:flex;gap:8px;align-items:center}.fgt-xbox-card-title i{color:var(--fgt-accent)}
.fgt-xbox-buttons{display:grid;grid-template-columns:repeat(4,minmax(54px,1fr));gap:8px}.xbtn{height:48px;border-radius:12px;border:1px solid var(--fgt-border);background:var(--fgt-surface-2);display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:850;transition:.08s ease}.xbtn.pressed{transform:scale(.96);background:var(--fgt-text);color:var(--fgt-bg);border-color:var(--fgt-text);box-shadow:0 0 0 3px rgba(225,29,46,.14)}.xbtn-a.pressed{background:#15803d;color:#fff}.xbtn-b.pressed{background:#dc2626;color:#fff}.xbtn-x.pressed{background:#2563eb;color:#fff}.xbtn-y.pressed{background:#ca8a04;color:#fff}
.fgt-stick-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}.fgt-stick-unit{text-align:center;display:flex;flex-direction:column;align-items:center;gap:7px}.fgt-stick-unit small{color:var(--fgt-muted);font-size:11px}.fgt-stick-box{width:132px;aspect-ratio:1;border-radius:50%;border:1px solid var(--fgt-border);background:radial-gradient(circle at center,transparent 0 7%,var(--fgt-border) 7.5% 8.2%,transparent 8.7%),linear-gradient(90deg,transparent 49.5%,var(--fgt-border) 50%,transparent 50.5%),linear-gradient(0deg,transparent 49.5%,var(--fgt-border) 50%,transparent 50.5%);position:relative}.fgt-stick-dot{position:absolute;width:17px;height:17px;border-radius:50%;background:var(--fgt-accent);left:50%;top:50%;transform:translate(-50%,-50%);box-shadow:0 4px 10px rgba(225,29,46,.3)}.fgt-stick-health{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:15px}.fgt-stick-health>div,.fgt-diagnostic-list>div{display:flex;justify-content:space-between;gap:10px;background:var(--fgt-surface-2);border-radius:10px;padding:9px 11px;font-size:11px}.fgt-health,.fgt-diagnostic-list strong{font-size:11px}.pass{color:#15803d!important}.warning{color:#b45309!important}.fail{color:#dc2626!important}
.fgt-trigger{margin-bottom:17px}.fgt-trigger-label{display:flex;justify-content:space-between;font-size:12px;font-weight:800;margin-bottom:6px}.fgt-trigger-track{height:13px;background:var(--fgt-border);border-radius:999px;overflow:hidden}.fgt-trigger-track span{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--fgt-accent),#fb7185);border-radius:999px;transition:width .05s linear}.fgt-xbox-tip{font-size:11px;color:var(--fgt-muted);line-height:1.5}.fgt-diagnostic-list{display:grid;gap:7px}.fgt-xbox-note{margin-top:14px;border:1px solid var(--fgt-border);border-left:4px solid var(--fgt-accent);border-radius:13px;padding:12px 14px;display:flex;gap:10px;color:var(--fgt-muted);font-size:12px;line-height:1.5}.fgt-xbox-note i{color:var(--fgt-accent);margin-top:2px}
@media(max-width:767px){.fgt-xbox-panel{margin:0 8px 18px;padding:15px;border-radius:16px}.fgt-xbox-head{flex-direction:column}.fgt-xbox-head-actions{width:100%;justify-content:space-between}.fgt-xbox-meta{grid-template-columns:1fr 1fr}.fgt-xbox-grid{grid-template-columns:1fr}.fgt-xbox-buttons{grid-template-columns:repeat(4,1fr)}.fgt-stick-box{width:112px}}
