:root{--glow-cyan:#00f0f0;--glow-magenta:#f000f0;--glow-green:#00f000;--glow-danger:#ff4d4d;--bg-dark:#0a0a1a;--bg-module:rgba(16, 16, 36, 0.85);--bg-module-heavy:rgba(16, 16, 36, 0.95);--border-color:rgba(0, 240, 240, 0.4);--text-light:#e0e0e0;--text-dark:#12121e;--font-hud:'Teko',sans-serif}body{font-family:Inter,sans-serif;background-color:var(--bg-dark);color:var(--text-light);background-image:linear-gradient(rgba(10,10,26,.92),rgba(10,10,26,.98)),url(../background.png);background-size:cover;background-position:center;background-attachment:fixed;background-repeat:no-repeat;padding-bottom:80px}.navbar,.page-footer{font-family:var(--font-hud);font-size:1.2rem;letter-spacing:1px;background-color:var(--bg-module-heavy)!important;border-bottom:1px solid!important}.navbar-brand{font-size:1.8rem;font-weight:700;color:var(--glow-cyan)!important;text-shadow:0 0 5px var(--glow-cyan),0 0 10px var(--glow-cyan)}.nav-link{color:var(--text-light)!important;transition:.3s}.nav-link:hover{color:var(--glow-cyan)!important;text-shadow:0 0 5px var(--glow-cyan)}.page-footer{border-top:1px solid!important}.footer-text{color:var(--text-light)}.footer-text b{color:var(--glow-cyan)}.page-footer .link-body-emphasis{color:var(--glow-cyan)!important;transition:.3s;font-size:1.5rem}.page-footer .link-body-emphasis:hover{color:#fff!important;text-shadow:0 0 5px var(--glow-cyan)}.page-footer .bi{fill:currentColor}#offlinebar.offline-container:not([style*="display: none"]){display:flex!important;flex-direction:column;justify-content:center;align-items:center;text-align:center;min-height:70vh;padding:2rem}#offlinebar h1{font-family:var(--font-hud);font-weight:500;font-size:2.5rem;color:#fff;text-shadow:0 0 5px var(--glow-cyan)}#offlinebar:not([style*="display: none"])~#mainmenu,#offlinebar:not([style*="display: none"])~#onlinebar{display:none!important}.dashboard-header{display:flex;justify-content:space-between;align-items:center;padding:1rem;font-family:var(--font-hud);font-size:1.3rem;border-bottom:1px solid var(--border-color);margin-bottom:1rem}.device-info{color:var(--text-light)}.device-info strong{color:var(--glow-cyan);margin-left:10px}.device-status{display:flex;align-items:center}#d-bat{font-weight:700;color:var(--glow-green);text-shadow:0 0 5px var(--glow-green)}.dashboard-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:1.5rem}.dash-module{background-color:var(--bg-module);border:1px solid var(--border-color);border-radius:8px;box-shadow:0 0 15px rgba(0,240,240,.1),0 0 10px rgba(0,240,240,.1) inset;display:flex;flex-direction:column;transition:.3s}.dash-module:hover{border-color:var(--glow-cyan);box-shadow:0 0 25px rgba(0,240,240,.3),0 0 15px rgba(0,240,240,.2) inset}.dash-module .card-header{font-family:var(--font-hud);font-size:1.5rem;font-weight:500;color:var(--glow-cyan);background-color:rgba(0,240,240,.05);border-bottom:1px solid var(--border-color);text-align:center}.module-joysticks{grid-column:span 1}.btn-glow-base{font-family:var(--font-hud);font-size:1.2rem;font-weight:500;letter-spacing:1px;padding:12px 24px;border-radius:5px;border:2px solid;background:0 0;transition:.3s;width:100%;text-transform:uppercase}.btn-glow-base:disabled{filter:grayscale(80%);opacity:.5;cursor:not-allowed;background:rgba(120,120,120,.2)!important;color:#777!important;border-color:#555!important;box-shadow:none!important;text-shadow:none!important}.btn-glow-base:not(:disabled):active{transform:scale(.98);box-shadow:0 0 5px var(--glow-cyan) inset!important}.btn-glow-connect{font-family:var(--font-hud);font-weight:500;letter-spacing:1px;padding:15px 30px;border-radius:5px;border:2px solid;background:0 0;transition:.3s;width:100%;text-transform:uppercase;color:var(--glow-cyan);border-color:var(--glow-cyan);text-shadow:0 0 5px var(--glow-cyan);box-shadow:0 0 10px var(--glow-cyan),0 0 10px var(--glow-cyan) inset;font-size:1.5rem}.btn-glow-connect:hover{color:var(--bg-dark);background:var(--glow-cyan);box-shadow:0 0 15px var(--glow-cyan),0 0 30px var(--glow-cyan)}.btn-glow-disconnect{font-family:var(--font-hud);font-weight:500;letter-spacing:1px;padding:5px 10px;border-radius:5px;border:2px solid;background:0 0;transition:.3s;text-transform:uppercase;color:var(--glow-danger);border-color:var(--glow-danger);text-shadow:0 0 5px var(--glow-danger);font-size:1rem;width:auto}.btn-glow-disconnect:hover{color:var(--bg-dark);background:var(--glow-danger);box-shadow:0 0 10px var(--glow-danger)}.btn-glow-primary{font-family:var(--font-hud);font-size:1.2rem;font-weight:500;letter-spacing:1px;padding:12px 24px;border-radius:5px;border:2px solid;background:0 0;transition:.3s;width:100%;text-transform:uppercase;color:var(--glow-cyan);border-color:var(--glow-cyan)}.btn-glow-primary:hover{color:var(--bg-dark);background:var(--glow-cyan);box-shadow:0 0 10px var(--glow-cyan),0 0 20px var(--glow-cyan)}.btn-glow-secondary{font-family:var(--font-hud);font-size:1.2rem;font-weight:500;letter-spacing:1px;padding:12px 24px;border-radius:5px;border:2px solid;background:0 0;transition:.3s;width:100%;text-transform:uppercase;color:var(--glow-magenta);border-color:var(--glow-magenta)}.btn-glow-secondary:hover{color:var(--bg-dark);background:var(--glow-magenta);box-shadow:0 0 10px var(--glow-magenta),0 0 20px var(--glow-magenta)}.btn-glow-success{font-family:var(--font-hud);font-size:1.2rem;font-weight:500;letter-spacing:1px;padding:px 24px;border-radius:5px;border:2px solid;background:0 0;transition:.3s;width:100%;text-transform:uppercase;color:var(--glow-green);border-color:var(--glow-green)}.btn-glow-success:hover{color:var(--bg-dark);background:var(--glow-green);box-shadow:0 0 10px var(--glow-green),0 0 20px var(--glow-green)}.btn-glow-danger{font-family:var(--font-hud);font-size:1.2rem;font-weight:500;letter-spacing:1px;padding:12px 24px;border-radius:5px;border:2px solid;background:0 0;transition:.3s;width:100%;text-transform:uppercase;color:var(--glow-danger);border-color:var(--glow-danger)}.btn-glow-danger:hover{color:var(--bg-dark);background:var(--glow-danger);box-shadow:0 0 10px var(--glow-danger),0 0 20px var(--glow-danger)}.btn-glow-red{font-family:var(--font-hud);font-size:1.2rem;font-weight:500;letter-spacing:1px;padding:12px 24px;border-radius:5px;border:2px solid red;background:0 0;transition:.3s;width:100%;text-transform:uppercase;color:red;text-shadow:0 0 5px red}.btn-glow-red:hover{color:var(--bg-dark);background:red;box-shadow:0 0 10px red,0 0 20px red}.btn-glow-blue{font-family:var(--font-hud);font-size:1.2rem;font-weight:500;letter-spacing:1px;padding:px 24px;border-radius:5px;border:2px solid #2979ff;background:0 0;transition:.3s;width:100%;text-transform:uppercase;color:#2979ff;text-shadow:0 0 5px #2979ff}.btn-glow-blue:hover{color:var(--bg-dark);background:#2979ff;box-shadow:0 0 10px #2979ff,0 0 20px #2979ff}.btn-glow-white{font-family:var(--font-hud);font-size:1.2rem;font-weight:500;letter-spacing:1px;padding:12px 24px;border-radius:5px;border:2px solid #fff;background:0 0;transition:.3s;width:100%;text-transform:uppercase;color:#fff;text-shadow:0 0 5px #fff}.btn-glow-white:hover{color:var(--bg-dark);background:#fff;box-shadow:0 0 10px #fff,0 0 20px #fff}.modal-header{font-family:var(--font-hud);font-size:1.5rem;color:var(--glow-cyan);border-bottom:1px solid var(--border-color)}.modal-footer{border-top:1px solid var(--border-color)}.modal-body{color:#000}.modal-body .list-group-item{border-color:rgba(0,240,240,.2)}.modal-body .list-group-item.active{background-color:var(--glow-cyan);color:var(--bg-dark)!important;border-color:var(--glow-cyan)}.modal-body .alert{background-color:rgba(0,240,240,.1);border-color:var(--border-color);color:var(--bs-white)}.modal-footer .btn-primary{font-family:var(--font-hud);font-size:1.1rem;font-weight:500;letter-spacing:1px;padding:8px 16px;border-radius:5px;border:2px solid;background:0 0;transition:.3s;width:auto;text-transform:uppercase;color:var(--glow-cyan);border-color:var(--glow-cyan)}.modal-footer .btn-primary:hover{color:var(--bg-dark);background:var(--glow-cyan);box-shadow:0 0 10px var(--glow-cyan),0 0 20px var(--glow-cyan)}.modal-footer .btn-outline-secondary{font-family:var(--font-hud);font-size:1.1rem;font-weight:500;letter-spacing:1px;padding:8px 16px;border-radius:5px;border:2px solid;background:0 0;transition:.3s;width:auto;text-transform:uppercase;color:var(--glow-magenta);border-color:var(--glow-magenta)}.modal-footer .btn-outline-secondary:hover{color:var(--bg-dark);background:var(--glow-magenta);box-shadow:0 0 10px var(--glow-magenta),0 0 20px var(--glow-magenta)}.modal-footer .btn-secondary{font-family:var(--font-hud);font-size:1.1rem;font-weight:500;letter-spacing:1px;padding:8px 16px;border-radius:5px;border:2px solid #555;background:0 0;transition:.3s;width:auto;text-transform:uppercase;color:#999}.modal-footer .btn-secondary:hover{color:#fff;background:#555}@media (max-width:768px){.dashboard-grid{grid-template-columns:1fr}.dashboard-header{flex-direction:column;align-items:stretch;text-align:center}.device-status{justify-content:space-between;margin-top:10px}.offline-container h1{font-size:1.8rem}}dl.row dt{font-weight:400;color:#aaa}dl.row dd{font-family:monospace;color:#fff}.module-controller-svg{grid-column:span 1;padding:1rem 0}#controller-svg-placeholder svg{width:100%;height:auto}.modal-content{box-shadow:0 0 30px rgba(0,240,240,.5);border-width:2px!important;box-shadow:0 0 30px rgba(0,240,240,.5)!important}.calib-wizard-header{text-align:center;border-bottom:1px solid var(--border-color);padding-bottom:1rem;margin-bottom:1rem}.calib-step-counter{font-family:var(--font-hud);font-size:1.2rem;color:#000}.calib-wizard-content{text-align:center;padding:1rem 0;min-height:200px;display:flex;flex-direction:column;justify-content:center;align-items:center}.calib-wizard-content h4{font-family:var(--font-hud);font-size:1.8rem;color:var(--glow-cyan);margin-bottom:1rem;text-shadow:0 0 5px var(--glow-cyan)}.calib-wizard-content p{font-size:1.1rem;color:var(--bg-dark);max-width:90%}.range-animation{width:100px;height:100px;border:2px solid var(--border-color);border-radius:50%;margin:1.5rem auto;position:relative}.range-stick{width:30px;height:30px;background-color:var(--glow-cyan);border-radius:50%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 10px var(--glow-cyan),0 0 15px var(--glow-cyan);animation:4s ease-in-out infinite rotate-stick}@keyframes rotate-stick{0%,100%{transform:translate(calc(-50% + 0),calc(-50% + 0))}10%,90%{transform:translate(calc(-50% + 0),calc(-50% - 35px))}20%{transform:translate(calc(-50% + 35px),calc(-50% - 35px))}30%{transform:translate(calc(-50% + 35px),calc(-50% + 0))}40%{transform:translate(calc(-50% + 35px),calc(-50% + 35px))}50%{transform:translate(calc(-50% + 0),calc(-50% + 35px))}60%{transform:translate(calc(-50% - 35px),calc(-50% + 35px))}70%{transform:translate(calc(-50% - 35px),calc(-50% + 0))}80%{transform:translate(calc(-50% - 35px),calc(-50% - 35px))}}#digital-buttons-container{text-align:center}.btn-indicator{font-family:var(--font-hud);font-size:1.2rem;padding:8px 10px;border:2px solid var(--border-color);border-radius:5px;background-color:rgba(16,16,36,.8);color:var(--text-light);transition:.1s;opacity:.6;width:50px;height:45px;display:inline-flex;justify-content:center;align-items:center;line-height:1}.btn-indicator.pressed{background-color:var(--glow-cyan);color:var(--bg-dark);border-color:var(--glow-cyan);box-shadow:0 0 10px var(--glow-cyan);opacity:1;transform:scale(1.05)}#l2-progress,#r2-progress{background-color:var(--glow-magenta);transition:width 50ms linear}#controller-svg-placeholder .pressed-glow{filter:drop-shadow(0 0 3px var(--glow-cyan)) drop-shadow(0 0 6px var(--glow-cyan)) brightness(1.5);fill:var(--glow-cyan)!important;stroke:var(--glow-cyan)!important}#controller-svg-placeholder circle,#controller-svg-placeholder ellipse,#controller-svg-placeholder path,#controller-svg-placeholder rect{transition:fill .1s,stroke .1s,filter .1s!important}#d-board{font-family:var(--font-hud);font-size:1.1rem;font-weight:500;color:var(--bs-white);opacity:.7;margin-left:1.5rem}#d-board::before{content:'|';margin-right:1.5rem;opacity:.3}.analysis-stat-card{border:1px solid;transition:.3s}.analysis-stat-card:hover{transform:translateY(-3px);box-shadow:0 5px 15px rgba(0,0,0,.3)}.stat-polling{background-color:rgba(0,240,240,.05);border-color:var(--border-color)!important}.stat-polling h2{color:var(--glow-cyan)}.stat-latency{background-color:rgba(240,0,240,.05);border-color:rgba(240,0,240,.4)!important}.stat-latency h2{color:var(--glow-magenta)}.stat-jitter{background-color:rgba(255,77,77,.05);border-color:rgba(255,77,77,.4)!important}.stat-jitter h2{color:var(--glow-danger)}.analysis-graph-container{background-color:var(--bg-dark);border:1px solid var(--border-color)}.analysis-graph-header{background-color:rgba(255,255,255,.05);border-bottom:1px solid var(--border-color);font-family:var(--font-hud);color:var(--text-light)}#analysis-overlay{background:rgba(0,0,0,.6);backdrop-filter:blur(2px);z-index:10;transition:opacity .3s}#finetuneStickCanvasLx-lbl,#finetuneStickCanvasLy-lbl,#finetuneStickCanvasRx-lbl,#finetuneStickCanvasRy-lbl{padding:2px 4px!important;border-radius:3px!important;background-color:transparent!important}input[id^=finetune]{border:1px solid transparent!important;width:90px!important;min-width:90px!important;color:#969696!important}#finetuneStickCanvasLx-lbl.text-primary,#finetuneStickCanvasLy-lbl.text-primary,#finetuneStickCanvasRx-lbl.text-primary,#finetuneStickCanvasRy-lbl.text-primary{color:#0d6efd!important;background-color:rgba(13,110,253,.1)!important}.finetune-grid{display:grid;grid-template-columns:1fr auto 1fr;grid-template-rows:auto 1fr auto;grid-template-areas:". top ." "left center right" ". bottom .";justify-items:center;align-items:center;width:100%;margin:0 auto;max-width:fit-content}.finetune-top{grid-area:top}.finetune-left{grid-area:left}.finetune-center{grid-area:center}.finetune-right{grid-area:right}.finetune-bottom{grid-area:bottom}.finetune-center-mode{display:block}#finetuneModal.circularity-mode .finetune-center-mode,.finetune-circularity-mode{display:none}#finetuneModal.circularity-mode .finetune-circularity-mode{display:block}#finetuneModal.hide-raw-numbers .finetune-bottom,#finetuneModal.hide-raw-numbers .finetune-left,#finetuneModal.hide-raw-numbers .finetune-right,#finetuneModal.hide-raw-numbers .finetune-top,#finetuneModal.hide-raw-numbers .spacer.hide-raw-numbers{display:none}#finetuneModal.hide-raw-numbers .finetune-grid{grid-template-columns:1fr;grid-template-rows:1fr;grid-template-areas:"center"}#finetuneModal.hide-raw-numbers #finetuneStickCanvasL,#finetuneModal.hide-raw-numbers #finetuneStickCanvasR{display:none}#finetuneModal.hide-raw-numbers #finetuneStickCanvasL_large,#finetuneModal.hide-raw-numbers #finetuneStickCanvasR_large,#finetuneModal:not(.hide-raw-numbers) #finetuneStickCanvasL,#finetuneModal:not(.hide-raw-numbers) #finetuneStickCanvasR{display:block}#finetuneModal:not(.hide-raw-numbers) #finetuneStickCanvasL_large,#finetuneModal:not(.hide-raw-numbers) #finetuneStickCanvasR_large{display:none}.left-stick-values,.right-stick-values{display:block}.left-stick-slider,.right-stick-slider{display:none}#finetuneModal.circularity-mode #left-stick-card.show-slider .left-stick-values{display:none!important}#finetuneModal.circularity-mode #left-stick-card.show-slider .left-stick-slider.finetune-circularity-mode{display:block!important}#finetuneModal.circularity-mode #right-stick-card.show-slider .right-stick-values{display:none!important}#finetuneModal.circularity-mode #right-stick-card.show-slider .right-stick-slider.finetune-circularity-mode{display:block!important}