@import"https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,400;0,9..40,500;0,9..40,600;0,9..40,700;1,9..40,400&family=JetBrains+Mono:wght@400;500;600&display=swap";:root{--ui-bg-deep: #050810;--ui-bg-panel: rgba(10, 14, 24, .94);--ui-bg-card: rgba(255, 255, 255, .035);--ui-bg-card-hover: rgba(255, 255, 255, .06);--ui-border: rgba(255, 255, 255, .1);--ui-border-strong: rgba(255, 255, 255, .18);--ui-text: #eef2f8;--ui-text-muted: #8b9cb0;--ui-text-dim: #5c6d80;--ui-accent: #4da3ff;--ui-accent-soft: rgba(77, 163, 255, .14);--ui-accent-glow: rgba(77, 163, 255, .35);--ui-cta: #ff7a2e;--ui-cta-hover: #ff9447;--ui-cta-glow: rgba(255, 122, 46, .35);--ui-ok: #4ade80;--ui-warn: #fbbf24;--ui-radius-sm: 8px;--ui-radius-md: 12px;--ui-radius-lg: 16px;--ui-font-ui: "DM Sans", system-ui, sans-serif;--ui-font-mono: "JetBrains Mono", "SF Mono", Consolas, monospace;--ui-shadow-lg: 0 24px 64px rgba(0, 0, 0, .55)}*{box-sizing:border-box}html,body{margin:0;padding:0;overflow:hidden;background:var(--ui-bg-deep);font-family:var(--ui-font-ui);color:var(--ui-text);-webkit-font-smoothing:antialiased}#canvas-container{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0}#canvas-container canvas{display:block;width:100%;height:100%}#ui-root{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10;pointer-events:none}.ui-overlay{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.ui-overlay button,.ui-overlay input,.ui-overlay select,.ui-overlay label,.ui-overlay .panel{pointer-events:auto}.top-bar{display:flex;align-items:center;gap:16px;padding:8px 12px;background:#00000080;pointer-events:auto}.stats span{margin-right:12px;font-size:12px;color:#8f8}.toolbar button{background:#ffffff1a;border:1px solid rgba(255,255,255,.2);color:#fff;padding:4px 10px;margin-left:4px;cursor:pointer;font-family:inherit;font-size:12px}.toolbar button:hover{background:#fff3}.radio-status{display:flex;align-items:center;gap:8px;font-size:12px}.radio-status .dot{width:8px;height:8px;border-radius:50%;background:#f44}.radio-status.connected .dot{background:#4f4}.armed-badge{background:#f44;padding:2px 6px;border-radius:3px;font-weight:700;font-size:10px;letter-spacing:.5px}.disarmed-badge{background:#556;color:#dde;padding:2px 6px;border-radius:3px;font-weight:700;font-size:10px;letter-spacing:.5px}.crash-badge{background:#c62828;color:#fff;padding:2px 6px;border-radius:3px;font-weight:700;font-size:10px;letter-spacing:.5px;animation:blink .6s step-end infinite}.onboarding{position:absolute;bottom:80px;left:50%;transform:translate(-50%);background:#000000bf;padding:12px 20px;border-radius:8px;text-align:center;font-size:13px;pointer-events:auto;max-width:90%}.panel{position:absolute;top:48px;right:12px;width:320px;max-height:calc(100vh - 60px);overflow-y:auto;background:#0a0a14eb;border:1px solid rgba(255,255,255,.15);border-radius:8px;padding:12px 16px;font-size:12px;pointer-events:auto}.panel h3{margin:0 0 12px;font-size:14px}.panel label{display:block;margin-bottom:8px}.panel select,.panel input[type=number]{width:100%;margin-top:4px;background:#222;border:1px solid #444;color:#fff;padding:4px}.panel-actions{display:flex;gap:8px;margin-top:12px}.panel-actions button,.panel button{background:#335;border:1px solid #557;color:#fff;padding:6px 12px;cursor:pointer;font-family:inherit}.input-debug{right:auto;left:12px}.bar-row{display:grid;grid-template-columns:60px 1fr 40px;align-items:center;gap:6px;margin-bottom:4px}.bar-track{height:8px;background:#333;border-radius:4px;overflow:hidden}.bar-fill{height:100%;transition:width .05s}.setpoints{margin-top:12px;padding-top:8px;border-top:1px solid #333}.setpoints div{margin-bottom:4px}.slider-row{margin-bottom:8px}.slider-row input[type=range]{width:100%}fieldset{border:1px solid #333;margin:8px 0;padding:8px}.dji-osd{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;font-family:Roboto Mono,SF Mono,Consolas,monospace;font-size:13px;color:#fff;z-index:20}.dji-osd-goggles .dji-top{top:6%;padding:0 8%}.dji-osd-goggles .dji-bottom{bottom:6%;padding:0 8%}.dji-osd-goggles .dji-side-left{left:7%}.dji-osd-goggles .dji-side-right{right:7%}.dji-osd-goggles .dji-reticle{transform:translate(-50%,-50%) scale(.95)}.dji-top{position:absolute;top:52px;left:0;right:0;display:flex;justify-content:space-between;align-items:flex-start;padding:0 28px}.dji-battery{display:flex;align-items:center;gap:8px}.dji-batt-icon{width:28px;height:14px;border:2px solid #fff;border-radius:2px;position:relative;padding:2px}.dji-batt-icon:after{content:"";position:absolute;right:-5px;top:3px;width:3px;height:6px;background:#fff;border-radius:0 1px 1px 0}.dji-batt-fill{height:100%;background:#4caf50;border-radius:1px;transition:width .3s}.dji-warn{color:#ff5252;animation:blink .6s step-end infinite}.dji-batt-pct{opacity:.75;font-size:11px}.dji-top-center{text-align:center;display:flex;flex-direction:column;gap:2px}.dji-rec{color:#ff1744;font-size:11px;font-weight:700;animation:blink 1s step-end infinite}.dji-timer{font-size:18px;font-weight:500;letter-spacing:2px;text-shadow:0 0 8px rgba(0,0,0,.8)}.dji-signal{display:flex;align-items:center;gap:6px;font-size:11px;font-weight:700}.dji-link-panel{display:flex;flex-direction:column;align-items:flex-end;gap:4px;min-width:120px}.dji-link-row{display:flex;align-items:center;gap:6px}.dji-link-row-weak .dji-link-label,.dji-link-row-weak .dji-link-meta{color:#ffb74d}.dji-link-label{font-size:10px;letter-spacing:1px;opacity:.85;min-width:42px;text-align:right}.dji-link-meta{font-size:9px;opacity:.7;white-space:nowrap}.dji-link-dist{font-size:9px;opacity:.5;letter-spacing:.5px}.dji-signal-weak .dji-bar.on{background:#ffb74d}.dji-bar-partial.on{opacity:.55}.dji-side{position:absolute;top:50%;transform:translateY(-50%);z-index:2}.dji-side-left{left:14px}.dji-side-right{right:14px}.dji-sticks-panel,.dji-config-panel{background:#00000059;border:1px solid rgba(255,255,255,.12);border-radius:6px;padding:8px 10px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.dji-panel-title{display:block;font-size:9px;letter-spacing:1.2px;opacity:.55;margin-bottom:6px;text-transform:uppercase}.dji-sticks-row{display:flex;gap:8px}.dji-sticks-panel .stick-viz{gap:2px}.dji-sticks-panel .stick-label{font-size:8px;opacity:.65}.dji-sticks-panel .stick-values{font-size:8px;opacity:.5}.dji-stick-rates{display:flex;flex-direction:column;gap:1px;margin-top:6px;font-size:9px;opacity:.6}.dji-config-grid{display:grid;grid-template-columns:1fr 1fr;gap:4px 10px;min-width:148px}.dji-config-item{display:flex;justify-content:space-between;gap:8px;font-size:10px}.dji-config-wide{grid-column:1 / -1}.dji-config-key{opacity:.55;letter-spacing:.5px}.dji-config-val{font-weight:600;text-align:right;max-width:110px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dji-signal-bars{display:flex;align-items:flex-end;gap:2px;height:14px}.dji-bar{width:4px;background:#ffffff40;border-radius:1px}.dji-bar.on{background:#fff}.dji-horizon{position:absolute;top:50%;left:50%;width:200px;height:200px;transform:translate(-50%,-50%);opacity:.35}.dji-horizon-line{position:absolute;top:50%;left:10%;right:10%;height:1px;background:#fff9}.dji-horizon-tick{position:absolute;top:50%;width:12px;height:1px;background:#ffffff80}.dji-horizon-tick-l{left:5%}.dji-horizon-tick-r{right:5%}.dji-reticle{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:60px;height:60px}.dji-reticle-bracket{position:absolute;width:14px;height:14px;border-color:#ffffffb3;border-style:solid}.dji-rb-tl{top:0;left:0;border-width:2px 0 0 2px}.dji-rb-tr{top:0;right:0;border-width:2px 2px 0 0}.dji-rb-bl{bottom:0;left:0;border-width:0 0 2px 2px}.dji-rb-br{bottom:0;right:0;border-width:0 2px 2px 0}.dji-reticle-dot{position:absolute;top:50%;left:50%;width:4px;height:4px;background:#fffc;border-radius:50%;transform:translate(-50%,-50%)}.dji-bottom{position:absolute;bottom:28px;left:0;right:0;display:flex;justify-content:space-between;align-items:flex-end;padding:0 28px}.dji-stat{display:flex;flex-direction:column;gap:1px}.dji-stat-center{align-items:center;text-align:center}.dji-stat-right{align-items:flex-end;text-align:right}.dji-stat-label{font-size:10px;opacity:.65;letter-spacing:1px}.dji-stat-val{font-size:22px;font-weight:700;line-height:1;text-shadow:0 0 10px rgba(0,0,0,.9)}.dji-stat-unit{font-size:10px;opacity:.6}.dji-stat-sub{font-size:9px;opacity:.5;letter-spacing:.5px}.dji-mode{font-size:12px;font-weight:700;letter-spacing:2px;opacity:.85}.dji-aux-reserved{font-size:9px;letter-spacing:1px;opacity:.45}.dji-g-label{margin-top:4px}.dji-g-val{font-size:16px}.dji-thr{font-size:11px;opacity:.7;margin-top:2px}.dji-gforce{font-size:11px;opacity:.65;margin-top:2px}.dji-gates{position:absolute;top:90px;right:28px;font-size:12px;color:#69f0ae}.dji-warning{position:absolute;top:42%;left:50%;transform:translate(-50%);font-size:22px;font-weight:700;color:#ff5252;letter-spacing:3px;text-shadow:0 0 20px rgba(255,0,0,.5);animation:blink .5s step-end infinite}.dji-warning-dim{color:#ffd740;opacity:.7;animation:none}.dji-warning-god{color:#69f0ae;opacity:.85;animation:none;text-shadow:0 0 16px rgba(105,240,174,.45)}.dji-arm-status{display:flex;flex-direction:column;align-items:center;gap:2px;margin-bottom:4px}.dji-arm-label{font-size:18px;font-weight:800;letter-spacing:4px;padding:2px 12px;border-radius:4px;line-height:1.2}.dji-arm-status.armed .dji-arm-label{color:#ff5252;background:#ff28282e;text-shadow:0 0 12px rgba(255,60,60,.6)}.dji-arm-status.disarmed .dji-arm-label{color:#ffd740;background:#ffd7401a;text-shadow:0 0 8px rgba(255,215,64,.35)}.dji-arm-status.crashed .dji-arm-label{color:#ff5252;background:#ff282840;animation:blink .5s step-end infinite}.dji-arm-hint{font-size:10px;letter-spacing:.5px;opacity:.75;color:#b0bec5;text-transform:none;font-weight:500}.goggles-frame{position:fixed;top:0;right:0;bottom:0;left:0;z-index:15;pointer-events:none}.goggles-mask{position:absolute;top:0;right:0;bottom:0;left:0;background:#000;-webkit-mask:radial-gradient(ellipse 92% 84% at 50% 47%,transparent 72%,black 76%);mask:radial-gradient(ellipse 92% 84% at 50% 47%,transparent 72%,black 76%)}.goggles-viewport{position:absolute;top:8%;right:4%;bottom:10%;left:4%;border-radius:20%/24%;box-shadow:inset 0 0 60px #00000073}.goggles-edge{position:absolute;background:#0a0a0a}.goggles-edge-top{top:0;left:0;right:0;height:9%}.goggles-edge-bottom{bottom:0;left:0;right:0;height:11%}.goggles-edge-left{top:0;bottom:0;left:0;width:5%}.goggles-edge-right{top:0;bottom:0;right:0;width:5%}.goggles-nose-cutout{position:absolute;bottom:0;left:50%;transform:translate(-50%);width:80px;height:40px;background:#0a0a0a;border-radius:40px 40px 0 0}.postfx-overlay{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:4;mix-blend-mode:overlay;opacity:0}.postfx-overlay.goggles-active{mix-blend-mode:normal;background:radial-gradient(ellipse 94% 88% at 50% 47%,transparent 62%,rgba(0,0,0,.12) 100%)}.postfx-overlay[data-mode=o3],.postfx-overlay[data-mode=dji]{box-shadow:inset 0 0 120px #00000040}.postfx-overlay[data-mode=o4pro]{box-shadow:inset 0 0 60px #00000024;background:radial-gradient(ellipse 96% 90% at 50% 47%,transparent 65%,rgba(0,20,40,.06) 100%)}.postfx-overlay[data-mode=o4]{box-shadow:inset 0 0 100px #00000038}.postfx-overlay[data-mode=o2]{box-shadow:inset 0 0 140px #0000004d}.blink{animation:blink .5s step-end infinite}@keyframes blink{50%{opacity:.3}}.cal-row{display:flex;gap:12px;align-items:center;margin-bottom:6px}.tuning-panel fieldset legend{font-size:11px}.tuning-panel-body{max-width:960px}.flight-tuning{display:flex;flex-direction:column;gap:16px}.flight-tuning-profiles{display:flex;flex-direction:column;gap:10px;padding:12px;border-radius:8px;background:#00000040;border:1px solid rgba(255,255,255,.08)}.flight-tuning-profile-tabs{display:flex;gap:6px;flex-wrap:wrap}.flight-tuning-profile-btn{padding:6px 14px;border-radius:6px;border:1px solid rgba(255,255,255,.15);background:#ffffff0d;color:inherit;cursor:pointer;font-size:12px}.flight-tuning-profile-btn.active{background:#4fc3f733;border-color:#4fc3f780}.flight-tuning-profile-name{display:flex;flex-direction:column;gap:4px;font-size:12px;max-width:280px}.flight-tuning-profile-name input{padding:6px 8px;border-radius:4px;border:1px solid rgba(255,255,255,.15);background:#0000004d;color:inherit}.flight-tuning-profile-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.flight-tuning-copy-row{display:inline-flex;gap:4px;align-items:center}.flight-tuning-copy-row select{font-size:11px;padding:4px 6px}.menu-btn-sm{padding:5px 10px!important;font-size:11px!important}.flight-tuning-status.ok{color:#81c784;font-size:12px;margin:0}.flight-tuning-status.err{color:#ef5350;font-size:12px;margin:0}.flight-tuning-mode-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}@media(max-width:600px){.flight-tuning-mode-row{grid-template-columns:1fr}}.flight-tuning-tabs{display:flex;gap:4px;border-bottom:1px solid rgba(255,255,255,.1);padding-bottom:0}.flight-tuning-tabs button{padding:8px 16px;border:none;background:transparent;color:#fff9;cursor:pointer;font-size:13px;border-bottom:2px solid transparent;margin-bottom:-1px}.flight-tuning-tabs button.active{color:#4fc3f7;border-bottom-color:#4fc3f7}.flight-tuning-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}@media(max-width:720px){.flight-tuning-grid{grid-template-columns:1fr}}.flight-tuning-axis-col{padding:12px;border-radius:8px;background:#0003;border:1px solid rgba(255,255,255,.06)}.flight-tuning-axis-col h4{margin:0 0 10px;font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.04em}.flight-tuning-axis-col.disabled{opacity:.45;pointer-events:none}.flight-tuning-max-rate{margin-top:8px;font-size:12px;color:#ffffff8c;font-variant-numeric:tabular-nums}.tuning-slider-row{display:flex;flex-direction:column;gap:4px;margin-bottom:8px;font-size:12px}.tuning-slider-row.disabled{opacity:.5}.tuning-slider-header{display:flex;justify-content:space-between;align-items:center;gap:8px}.tuning-num-input{width:64px;padding:2px 6px;text-align:right;border-radius:4px;border:1px solid rgba(255,255,255,.15);background:#00000059;color:inherit;font-size:11px;font-variant-numeric:tabular-nums}.tuning-slider-row input[type=range]{width:100%}.flight-tuning-rates-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.flight-tuning-pid-hint{margin-top:0}.rate-curve-chart{padding:10px 12px;border-radius:8px;background:#00000059;border:1px solid rgba(255,255,255,.06);margin-bottom:12px}.rate-curve-header{display:flex;justify-content:space-between;font-size:11px;color:#ffffff8c;margin-bottom:6px}.rate-curve-svg{width:100%;max-width:480px;height:auto;display:block}.rate-curve-grid{stroke:#ffffff1f;stroke-width:1}.rate-curve-label{fill:#ffffff59;font-size:9px}.rate-curve-legend{display:flex;gap:14px;font-size:11px;margin-top:6px}.flight-tuning-realism{display:flex;flex-direction:column;gap:10px;max-width:420px}.flight-tuning-settings-group{overflow:visible}.view-settings input[type=range]{width:100%}.game-menu{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;pointer-events:auto;z-index:100}.menu-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse at 30% 20%,#141e3cd9,#000000eb);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.menu-content{position:relative;z-index:1;text-align:center;padding:40px;max-width:420px;width:90%}.menu-content-compact{max-width:360px}.menu-header{margin-bottom:20px;display:flex;justify-content:center}.game-logo{display:flex;flex-direction:column;align-items:center;gap:12px;justify-content:center}.game-logo-image{display:block;width:auto;height:auto;max-width:100%;object-fit:contain;background:transparent;border-radius:0;box-shadow:none;filter:drop-shadow(0 8px 24px rgba(30,95,212,.25));transition:transform .25s ease,filter .25s ease}.game-logo:hover .game-logo-image{transform:translateY(-2px) scale(1.02);filter:drop-shadow(0 12px 32px rgba(30,95,212,.38))}.game-logo-tag{display:block;margin:0;font-size:11px;color:#6a8499;letter-spacing:4px;text-transform:uppercase}.game-logo-compact{gap:0}.game-logo-compact .game-logo-image{filter:drop-shadow(0 4px 14px rgba(30,95,212,.2))}.game-logo-compact .game-logo-tag{display:none}.menu-vtx-badge{font-size:11px;color:#789;margin:0 0 16px;padding:8px 12px;border-radius:6px;background:#4488ff14;border:1px solid rgba(68,136,255,.2)}.menu-vtx-badge strong{color:#acf}.menu-footer{display:flex;flex-direction:column;gap:8px;align-items:center;margin-top:16px;padding-top:12px;border-top:1px solid rgba(255,255,255,.06);font-size:12px;color:#667}.menu-footer-row{width:100%}.menu-author{font-size:11px;color:#567;text-decoration:none;letter-spacing:1px;transition:color .15s}.menu-author:hover{color:#8cf}.venue-lighting-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:12px}.venue-lighting-label{font-size:11px;color:#89a;text-transform:uppercase;letter-spacing:1px;width:100%;margin-bottom:4px}.venue-light-btn{flex:1;min-width:70px;padding:6px 10px;font-size:11px;font-family:inherit;border:1px solid rgba(255,255,255,.15);border-radius:6px;background:#ffffff0a;color:#aab;cursor:pointer}.venue-light-btn.active{border-color:#fa4;background:#ffaa441f;color:#fc8}.track-meta{color:#89a;font-weight:400}.menu-title{font-size:42px;font-weight:800;letter-spacing:6px;margin:0;background:linear-gradient(135deg,#fff,#8cf);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.menu-title-sm{font-size:28px;margin:0 0 24px;letter-spacing:3px}.menu-subtitle{font-size:14px;color:#89a;letter-spacing:8px;text-transform:uppercase;margin:8px 0 0}.menu-nav{display:flex;flex-direction:column;gap:10px}.menu-btn{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;padding:14px 20px;font-family:inherit;font-size:15px;font-weight:600;letter-spacing:1px;color:#fff;background:#ffffff0f;border:1px solid rgba(255,255,255,.15);border-radius:8px;cursor:pointer;transition:background .15s,border-color .15s,transform .1s}.menu-btn:hover{background:#ffffff1f;border-color:#ffffff4d;transform:translateY(-1px)}.menu-btn-primary{background:linear-gradient(135deg,#26c,#48f);border-color:#59f}.menu-btn-primary:hover{background:linear-gradient(135deg,#37d,#59f)}.menu-btn-secondary{background:transparent;color:#89a;font-size:13px}.menu-btn-icon{font-size:18px;opacity:.8}.menu-badge{margin-left:auto;font-size:10px;padding:2px 8px;border-radius:10px;font-weight:700}.menu-badge.ok{background:#1a4a1a;color:#4f4}.menu-badge.warn{background:#4a2a1a;color:#fa4}.menu-status.ok{color:#4f4}.fullscreen-panel{position:absolute;top:0;right:0;bottom:0;left:0;z-index:110;display:flex;flex-direction:column;background:#080a12f2;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);pointer-events:auto}.panel-header{display:flex;align-items:center;justify-content:space-between;padding:16px 24px;border-bottom:1px solid rgba(255,255,255,.1)}.panel-header h2{margin:0;font-size:18px;letter-spacing:2px}.panel-close{background:none;border:none;color:#89a;font-size:20px;cursor:pointer;padding:4px 8px}.panel-close:hover{color:#fff}.panel-body{flex:1;overflow-y:auto;padding:20px 24px}.panel-footer{display:flex;gap:12px;justify-content:flex-end;padding:16px 24px;border-top:1px solid rgba(255,255,255,.1)}.panel-footer .menu-btn{width:auto;min-width:140px}.wizard-steps{display:flex;gap:4px;padding:12px 24px;border-bottom:1px solid rgba(255,255,255,.08);overflow-x:auto}.wizard-step{flex:1;padding:8px 12px;background:#ffffff0a;border:1px solid transparent;border-radius:6px;color:#89a;font-family:inherit;font-size:12px;cursor:pointer;white-space:nowrap}.wizard-step.active{background:#4488ff26;border-color:#48f6;color:#fff}.settings-tabs{display:flex;gap:4px;padding:12px 24px;border-bottom:1px solid rgba(255,255,255,.08)}.settings-tab{padding:8px 16px;background:#ffffff0a;border:1px solid transparent;border-radius:6px;color:#89a;font-family:inherit;font-size:13px;cursor:pointer}.settings-tab.active{background:#4488ff26;border-color:#48f6;color:#fff}.settings-panel-v2 .settings-panel-header{align-items:flex-start}.settings-panel-subtitle{margin:4px 0 0;font-size:12px;color:#678;font-weight:400}.settings-layout{display:flex;flex:1;min-height:0;overflow:hidden}.settings-sidebar{width:200px;flex-shrink:0;display:flex;flex-direction:column;gap:4px;padding:12px 10px 12px 16px;border-right:1px solid rgba(255,255,255,.08);background:#00000026}.settings-sidebar-btn{display:flex;flex-direction:column;align-items:flex-start;gap:2px;width:100%;padding:10px 12px;background:transparent;border:1px solid transparent;border-radius:8px;color:#89a;font-family:inherit;cursor:pointer;text-align:left;transition:background .15s,border-color .15s}.settings-sidebar-btn:hover{background:#ffffff0a;color:#cde}.settings-sidebar-btn.active{background:#4488ff24;border-color:#4488ff59;color:#fff}.settings-sidebar-label{font-size:13px;font-weight:600;letter-spacing:.3px}.settings-sidebar-hint{font-size:10px;color:#567;line-height:1.3}.settings-sidebar-btn.active .settings-sidebar-hint{color:#79b}.settings-sidebar-summary{margin-top:auto;padding:12px 10px;border-radius:8px;background:#ffffff08;border:1px solid rgba(255,255,255,.06)}.settings-summary-row{display:flex;justify-content:space-between;gap:8px;font-size:10px;padding:4px 0;color:#678}.settings-summary-row strong{color:#ace;font-weight:600;text-align:right;font-size:10px;max-width:100px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.settings-summary-row strong.ok{color:#6c6}.settings-summary-row strong.warn{color:#ca4}.settings-body-v2{flex:1;padding:16px 20px 24px}.settings-content{max-width:720px}.settings-content-graphics{max-width:820px}.settings-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:12px}.settings-graphics-columns{display:grid;grid-template-columns:1fr 1fr;gap:8px 20px}.settings-toggles{display:flex;flex-direction:column;gap:8px}.setting-toggle{display:flex;align-items:flex-start;gap:12px;padding:10px 12px;border-radius:8px;background:#ffffff08;border:1px solid rgba(255,255,255,.07);cursor:pointer;transition:border-color .15s}.setting-toggle:hover{border-color:#ffffff24}.setting-toggle input{margin-top:3px;flex-shrink:0}.setting-toggle-body{display:flex;flex-direction:column;gap:2px}.setting-toggle-label{font-size:13px;color:#def;font-weight:500}.setting-toggle-hint{font-size:11px;color:#678;line-height:1.35}.setting-range{display:block;margin-bottom:14px}.setting-range-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px;font-size:13px;color:#aab}.setting-range-value{font-size:12px;font-weight:600;color:#8cf;font-variant-numeric:tabular-nums}.setting-range input[type=range]{width:100%}.vtx-card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(155px,1fr));gap:8px;margin-bottom:12px}.vtx-card{display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:10px 12px;background:#ffffff0a;border:1px solid rgba(255,255,255,.1);border-radius:8px;color:#cde;font-family:inherit;text-align:left;cursor:pointer;transition:border-color .15s,background .15s;position:relative}.vtx-card:hover{border-color:#4488ff59;background:#4488ff0f}.vtx-card.active{border-color:#48f;background:#4488ff26;box-shadow:0 0 0 1px #4488ff40}.vtx-card-name{font-size:12px;font-weight:600;line-height:1.3}.vtx-card-specs{font-size:10px;color:#789}.vtx-card-tag{position:absolute;top:6px;right:6px;padding:1px 5px;border-radius:3px;font-size:8px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:#fc8;background:#ffaa4426;border:1px solid rgba(255,170,68,.3)}.vtx-card-tag.analog{color:#caa;background:#78505033;border-color:#b478784d}.vtx-preview-card{padding:12px 14px;border-radius:8px;background:#4488ff14;border:1px solid rgba(68,136,255,.22)}.vtx-preview-title{font-size:14px;font-weight:600;color:#cce0ff;margin-bottom:6px}.vtx-preview-specs{display:flex;flex-wrap:wrap;gap:8px 14px;font-size:11px;color:#89a}.settings-panel-footer{justify-content:space-between;align-items:center}.settings-footer-hint{font-size:11px;color:#567}@media(max-width:720px){.settings-layout{flex-direction:column}.settings-sidebar{width:100%;flex-direction:row;flex-wrap:wrap;border-right:none;border-bottom:1px solid rgba(255,255,255,.08);padding:8px 12px}.settings-sidebar-btn{flex:1;min-width:120px}.settings-sidebar-summary{display:none}.settings-graphics-columns,.settings-grid-2{grid-template-columns:1fr}.settings-panel-footer{flex-direction:column;gap:8px;align-items:stretch}.settings-footer-hint{text-align:center}}.field-row{display:block;margin-bottom:16px;font-size:13px;color:#aab}.field-row select,.field-row input[type=range]{display:block;width:100%;margin-top:6px}.field-row select{background:#1a1a2e;border:1px solid #334;color:#fff;padding:8px;border-radius:4px}.checkbox-row{display:flex;align-items:center;gap:10px}.checkbox-row input{width:auto;margin:0}.settings-hint{font-size:12px;color:#667}.settings-hint.warn{color:#fa4}.settings-group{margin-bottom:28px;padding-bottom:20px;border-bottom:1px solid rgba(255,255,255,.06)}.settings-group:last-child{margin-bottom:0;padding-bottom:0;border-bottom:none}.settings-group-title{margin:0 0 14px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:2px;color:#789}.settings-details{margin-top:12px;font-size:12px;color:#89a}.settings-details summary{cursor:pointer;color:#abc;padding:6px 0}.settings-details-body{margin-top:10px;padding:12px 14px;border-radius:8px;background:#ffffff08;border:1px solid rgba(255,255,255,.08)}.settings-details-body h4{margin:12px 0 8px;font-size:12px;color:#8bf}.settings-details-body h4:first-child{margin-top:0}.settings-help-toggle{width:100%;text-align:left;padding:10px 12px;background:#ffffff0a;border:1px solid rgba(255,255,255,.1);border-radius:6px;color:#aab;font-family:inherit;font-size:12px;cursor:pointer}.settings-help-content{margin-top:12px}.controller-settings-layout{display:grid;grid-template-columns:1fr 280px;gap:24px;align-items:start}.controller-settings-preview{position:sticky;top:0;padding:16px;border-radius:10px;background:#ffffff08;border:1px solid rgba(255,255,255,.1)}.controller-connect-actions{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:12px}.controller-connect-actions .menu-btn{width:auto;min-width:0;flex:1;min-width:140px}.controller-connect-btn{width:100%;margin-bottom:8px}.controller-preset-grid{display:grid;grid-template-columns:1fr;gap:8px}.controller-preset-card{display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:12px 14px;border-radius:8px;border:1px solid rgba(255,255,255,.12);background:#ffffff08;color:inherit;font-family:inherit;text-align:left;cursor:pointer;transition:border-color .15s,background .15s}.controller-preset-card:hover{border-color:#00c8ff59;background:#00c8ff0f}.controller-preset-card.active{border-color:#00c8ff99;background:#00c8ff1a}.controller-preset-card strong{font-size:13px}.controller-preset-card span{font-size:11px;color:#89a;line-height:1.4}.drone-function-list{display:flex;flex-direction:column;gap:10px;margin-bottom:14px}.drone-function-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border-radius:8px;background:#ffffff08;border:1px solid rgba(255,255,255,.08)}.drone-function-info{display:flex;flex-direction:column;gap:2px;font-size:11px;color:#89a}.drone-function-info strong{font-size:13px;color:#e8f0f8}.drone-function-axis{font-family:monospace;color:#5a8aaa}.drone-function-row .menu-btn{width:auto;min-width:90px;padding:8px 12px;font-size:12px}.stick-mode-presets{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:14px}.stick-mode-btn{padding:6px 12px;border-radius:6px;font-size:12px;font-weight:600;background:#ffffff0d;border:1px solid rgba(255,255,255,.12);color:#b8c8d8;cursor:pointer;transition:background .15s,border-color .15s}.stick-mode-btn:hover{background:#00c8ff1a;border-color:#00c8ff59}.stick-mode-btn.active{background:#00c8ff33;border-color:#00c8ff;color:#00e8ff}.stick-mode-custom{font-size:11px;color:#ff9800;padding:4px 8px}.stick-mode-custom.active{font-weight:600}.stick-map-list{display:flex;flex-direction:column;gap:8px;margin-bottom:14px}.stick-map-row{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:10px;padding:10px 12px;border-radius:8px;background:#ffffff08;border:1px solid rgba(255,255,255,.08)}.stick-map-info{display:flex;align-items:center;gap:10px;min-width:0}.stick-map-info strong{display:block;font-size:13px;color:#e8f0f8}.stick-map-info span{display:block;font-size:11px;color:#89a}.stick-map-icon{font-size:18px;width:28px;text-align:center;flex-shrink:0}.stick-map-select{min-width:180px;max-width:220px;padding:6px 8px;font-size:11px;border-radius:6px;background:#00000059;border:1px solid rgba(255,255,255,.12);color:#c8d8e8}.stick-map-bind{min-width:72px!important;padding:6px 10px!important;font-size:11px!important}.stick-map-diagram{display:flex;flex-direction:column;gap:6px;margin-bottom:14px;padding:10px;border-radius:8px;background:#00000040;border:1px solid rgba(255,255,255,.06)}.stick-map-diagram-row{display:flex;align-items:center;gap:8px;font-size:11px;color:#89a}.stick-map-diagram-row strong{color:#c8d8e8;min-width:42px}.stick-map-diagram-axis{font-family:monospace;font-size:10px;color:#5a8aaa;margin-left:auto}.settings-hint.warn{color:#ff9800;margin-bottom:10px}.drone-function-row{display:grid;grid-template-columns:1fr auto auto;align-items:center}.menu-btn.binding-active{background:#ff505040;border-color:#ff5050;animation:pulse-bind 1s ease infinite}@keyframes pulse-bind{0%,to{opacity:1}50%{opacity:.7}}.arm-test-checklist{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px;font-size:12px}.arm-test-checklist .check-ok{color:#4caf50}.arm-test-checklist .check-fail{color:#ff9800}.arm-test-checklist .check-armed{color:#f36;font-weight:700}.drone-function-live{display:flex;gap:8px;margin:10px 0}.fn-live{flex:1;padding:8px;border-radius:6px;font-size:11px;background:#0000004d;border:1px solid rgba(255,255,255,.08);color:#89a}.fn-live.fn-on{border-color:#00c8ff66;color:#00c8ff}.fn-live span{display:block;font-family:monospace;font-size:12px;margin-top:2px}.settings-hint-recording{color:#ff9800}.link-btn{background:none;border:none;color:#00c8ff;cursor:pointer;font:inherit;text-decoration:underline;padding:0}.channel-map-row{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid #222;font-size:12px}.channel-map-label{color:#89a}.sticks-row-compact{margin:12px 0;gap:16px}.test-setpoints-compact{flex-direction:column;gap:12px;margin:12px 0}.arm-indicator-compact{padding:10px 16px;font-size:14px;width:100%}.axis-list-compact .axis-config-row{flex-wrap:wrap}.axis-list-preview{margin-top:8px}.menu-summary-cards{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}.menu-summary-card{padding:10px 12px;border-radius:8px;background:#ffffff0a;border:1px solid rgba(255,255,255,.08)}.menu-summary-card.ok{border-color:#44ff4440;background:#0050001f}.menu-summary-card.warn{border-color:#ffaa4440;background:#5028001f}.menu-summary-label{display:block;font-size:9px;text-transform:uppercase;letter-spacing:1.5px;color:#678;margin-bottom:4px}.menu-summary-value{display:block;font-size:13px;font-weight:600;color:#def;line-height:1.3}.menu-summary-meta{display:block;margin-top:4px;font-size:10px;color:#789;line-height:1.4;word-break:break-word}.menu-action-row{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:8px}.menu-action-row .menu-btn-tile{min-height:48px}.menu-bank-quick-row{display:flex;flex-direction:column;gap:6px;margin-bottom:10px;padding:10px 12px;border-radius:8px;background:#4488ff0f;border:1px solid rgba(68,136,255,.18)}.menu-btn-save-now{width:100%;padding:10px 14px;font-size:12px;font-weight:600;letter-spacing:.5px;background:#48f3;border-color:#4488ff73;color:#eef6ff}.menu-btn-save-now:hover{background:#4488ff52;border-color:#48f9}.menu-bank-quick-meta{display:flex;flex-direction:column;gap:2px}.menu-bank-hint{font-size:10px;color:#678;line-height:1.4}.menu-save-toast{font-size:11px;line-height:1.4}.menu-save-toast.ok{color:#7c9}.menu-btn-link{width:100%;padding:8px 12px;font-size:11px;font-weight:500;letter-spacing:.3px;color:#8ac;background:transparent;border:none;border-radius:6px;cursor:pointer;text-align:left;transition:color .15s,background .15s}.menu-btn-link:hover{color:#ace;background:#4488ff14}@media(max-width:720px){.controller-settings-layout{grid-template-columns:1fr}.controller-settings-preview{position:static;order:-1}}.settings-fieldset{border:1px solid #334;padding:12px;margin-top:16px;border-radius:6px}.sticks-row{display:flex;gap:24px;justify-content:center;margin:20px 0}.stick-viz{text-align:center}.stick-label{display:block;font-size:11px;color:#89a;margin-bottom:6px}.stick-svg .stick-bg{fill:#1a1a2e;stroke:#334;stroke-width:1}.stick-svg .stick-cross{stroke:#334;stroke-width:1}.stick-svg .stick-dot{fill:#48f}.stick-values{display:block;font-size:10px;color:#667;margin-top:4px}.axis-bar-row{display:grid;grid-template-columns:70px 1fr 45px 50px;align-items:center;gap:8px;margin-bottom:6px;font-size:12px}.axis-bar-track{position:relative;height:10px;background:#222;border-radius:5px}.axis-bar-center{position:absolute;left:50%;top:0;bottom:0;width:2px;background:#555;transform:translate(-50%)}.axis-bar-fill{position:absolute;top:1px;width:8px;height:8px;background:#48f;border-radius:50%;transform:translate(-50%);transition:left .05s}.axis-bar-raw{color:#556;font-size:10px}.detect-status{display:flex;align-items:center;gap:16px;padding:16px;border-radius:8px;margin:20px 0}.detect-status.ok{background:#00500033;border:1px solid #2a4}.detect-status.fail{background:#50000033;border:1px solid #a42}.status-icon{font-size:28px}.setup-steps{text-align:left;line-height:1.8;color:#aab}.cal-actions{display:flex;gap:12px;margin-bottom:16px}.axis-config-row{display:flex;align-items:center;gap:12px;padding:6px 0;border-bottom:1px solid #222;font-size:12px}.axis-invert-section{margin-top:16px;padding-top:16px;border-top:1px solid rgba(255,255,255,.08)}.controller-bank-section{margin-top:20px;padding-top:16px;border-top:1px solid rgba(255,255,255,.08)}.controller-bank-list{margin-top:12px}.axis-invert-title{margin:0 0 8px;font-size:12px;font-weight:600;color:#9ab;text-transform:uppercase;letter-spacing:1px}.axis-invert-grid{display:flex;flex-direction:column;gap:6px}.axis-invert-row{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:10px;padding:8px 10px;border-radius:8px;background:#ffffff08;border:1px solid rgba(255,255,255,.08);cursor:pointer;transition:border-color .15s,background .15s}.axis-invert-row:hover{border-color:#ffffff29}.axis-invert-row.inverted{border-color:#ff884459;background:#ff642814}.axis-invert-info{display:flex;flex-direction:column;gap:2px;min-width:0}.axis-invert-name{font-size:12px;font-weight:600;color:#def}.axis-invert-role{font-size:10px;color:#678}.axis-invert-value{font-size:11px;font-family:monospace;color:#8ac;min-width:44px;text-align:right}.axis-invert-toggle{display:flex;align-items:center;gap:6px;font-size:11px;color:#89a;white-space:nowrap}.axis-invert-toggle input{margin:0;cursor:pointer}.axis-invert-row.inverted .axis-invert-toggle span{color:#fa6;font-weight:600}.axis-idx{width:40px;color:#89a}.axis-range{flex:1;font-family:monospace;color:#667;font-size:11px}.inline-check{display:flex;align-items:center;gap:4px;font-size:11px}.deadband-input{width:50px;background:#222;border:1px solid #444;color:#fff;padding:2px}.channel-map-grid{margin:16px 0}.test-setpoints{display:flex;gap:24px;align-items:center;justify-content:center;margin:16px 0}.setpoint-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;font-size:14px}.arm-indicator{padding:16px 24px;border:2px solid #a44;border-radius:8px;text-align:center;font-weight:700;font-size:18px;color:#fa4}.arm-indicator.armed{border-color:#f44;color:#f44;animation:blink .8s step-end infinite}.arm-indicator small{display:block;font-size:11px;font-weight:400;color:#89a;margin-top:4px}.drone-customizer{background:#080a12b8;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.drone-customizer .panel-body{padding-top:12px}.drone-showcase-banner{display:flex;align-items:center;gap:10px;padding:8px 24px;font-size:11px;color:#789;background:#4488ff14;border-bottom:1px solid rgba(68,136,255,.15)}.drone-showcase-dot{width:8px;height:8px;border-radius:50%;background:#4c8;box-shadow:0 0 8px #4c8;animation:drone-showcase-pulse 1.8s ease-in-out infinite}@keyframes drone-showcase-pulse{0%,to{opacity:1}50%{opacity:.45}}.drone-physics-chips{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:16px}.drone-chip{font-size:10px;color:#9ab;background:#ffffff0f;border:1px solid rgba(255,255,255,.08);padding:4px 8px;border-radius:4px}.preset-badges{display:flex;gap:4px;flex-wrap:wrap;justify-content:center}.preset-frame-tag{font-size:8px;color:#89a;background:#ffffff0f;padding:1px 5px;border-radius:3px}.customizer-section-compact{margin-bottom:20px}.drone-parts-search{width:100%;box-sizing:border-box;margin-bottom:12px;padding:8px 10px;background:#00000040;border:1px solid rgba(255,255,255,.1);border-radius:6px;color:#cde;font-family:inherit;font-size:12px}.drone-parts-search:focus{outline:none;border-color:#4488ff80}.preview-prop-spin{animation:preview-prop-idle .35s linear infinite}.preview-prop-spin-rev{animation-direction:reverse}@keyframes preview-prop-idle{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.drone-preview-pusher .preview-prop-fl,.drone-preview-pusher .preview-prop-fr,.drone-preview-pusher .preview-prop-rl,.drone-preview-pusher .preview-prop-rr{top:auto;bottom:8%}.drone-preview-pusher .preview-motor-fl,.drone-preview-pusher .preview-motor-fr,.drone-preview-pusher .preview-motor-rl,.drone-preview-pusher .preview-motor-rr{top:auto;bottom:14%}.preview-battery-top{bottom:auto;top:18%}.drone-customizer .panel-subtitle{margin:4px 0 0;font-size:12px;color:#789}.drone-customizer .panel-subtitle strong{color:#cde}.drone-build-meta{color:#678}.customizer-layout{display:grid;grid-template-columns:1fr minmax(280px,340px);gap:28px;align-items:start}.customizer-main{min-width:0}.customizer-sidebar{position:sticky;top:0}.customizer-hint{font-size:11px;color:#678;margin:-6px 0 12px;line-height:1.45}.preset-grid-models{grid-template-columns:repeat(auto-fill,minmax(110px,1fr))}.drone-preset-card.active{border-color:#48f;background:#4488ff1a;box-shadow:0 0 0 1px #4488ff59}.preset-name{text-align:center;line-height:1.25}.preset-battery{font-size:9px;color:#68a;background:#4488ff1f;padding:1px 6px;border-radius:4px}.preset-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:10px;margin-bottom:20px}.drone-preset-card{display:flex;flex-direction:column;align-items:center;gap:8px;padding:12px;background:#ffffff0a;border:1px solid rgba(255,255,255,.1);border-radius:8px;color:#fff;font-family:inherit;font-size:11px;cursor:pointer}.drone-preset-card:hover{border-color:#ffffff4d}.preset-preview{display:flex;gap:4px}.preset-preview span{width:16px;height:16px;border-radius:3px}.frame-style-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:20px}.frame-style-btn{padding:12px;background:#ffffff0a;border:1px solid rgba(255,255,255,.1);border-radius:8px;color:#fff;font-family:inherit;cursor:pointer;text-align:left}.frame-style-btn.active{border-color:#48f;background:#4488ff1f}.frame-style-btn small{display:block;color:#667;margin-top:4px;font-size:10px}.color-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:20px}.color-picker span{display:block;font-size:12px;color:#89a;margin-bottom:6px}.color-picker-row{display:flex;gap:8px;align-items:center}.color-picker-row input[type=color]{width:40px;height:32px;border:none;padding:0;cursor:pointer}.color-picker-row input[type=text]{flex:1;background:#1a1a2e;border:1px solid #334;color:#fff;padding:6px;font-family:monospace;font-size:12px}.customizer-section{margin-bottom:28px}.customizer-section h3{font-size:13px;color:#89a;text-transform:uppercase;letter-spacing:2px;margin:0 0 12px}.drone-preview-3d-hint{text-align:center;margin-top:24px}.drone-preview-box{position:relative;width:120px;height:120px;margin:0 auto 12px;border-radius:8px}.preview-arm{position:absolute;top:50%;left:10%;right:10%;height:4px;transform:translateY(-50%) rotate(45deg);border-radius:2px}.preview-arm-2{transform:translateY(-50%) rotate(-45deg)}.preview-nose{position:absolute;top:20%;left:50%;width:8px;height:12px;transform:translate(-50%);clip-path:polygon(50% 0,0 100%,100% 100%)}.preview-prop{position:absolute;width:20px;height:20px;border-radius:50%}.preview-prop-fl{top:15%;left:15%}.preview-prop-fr{top:15%;right:15%}.preview-prop-rl{bottom:15%;left:15%}.preview-prop-rr{bottom:15%;right:15%}.drone-preview-3d-hint p{font-size:11px;color:#556}.drone-preview-enhanced{width:140px;height:140px}.preview-stack{position:absolute;top:38%;left:50%;width:36%;height:8%;transform:translate(-50%);background:#2a2a32;border-radius:2px}.preview-camera{position:absolute;top:28%;left:50%;width:28%;height:12%;transform:translate(-50%);background:#111116;border-radius:3px;box-shadow:inset 0 0 0 2px #246}.preview-arm-3{transform:translateY(-50%) rotate(135deg)}.preview-arm-4{transform:translateY(-50%) rotate(-135deg)}.preview-motor{position:absolute;width:10px;height:10px;border-radius:50%;background:#222228;border:1px solid #444}.preview-motor-fl{top:12%;left:10%}.preview-motor-fr{top:12%;right:10%}.preview-motor-rl{bottom:12%;left:10%}.preview-motor-rr{bottom:12%;right:10%}.preview-duct{position:absolute;width:28px;height:28px;border:2px solid;border-radius:50%;opacity:.5}.preview-duct-fl{top:8%;left:6%}.preview-duct-fr{top:8%;right:6%}.preview-duct-rl{bottom:8%;left:6%}.preview-duct-rr{bottom:8%;right:6%}.preview-battery{position:absolute;bottom:22%;left:50%;width:40%;height:10%;transform:translate(-50%);background:#1a1a1a;border-radius:2px;border:1px solid #333}.drone-parts-section h3{margin-top:20px}.drone-build-specs{display:flex;flex-wrap:wrap;gap:8px;font-size:10px;color:#89a;margin:0 0 14px}.drone-build-specs span{background:#ffffff0d;padding:3px 8px;border-radius:4px}.drone-parts-list{max-height:320px;overflow-y:auto;padding-right:4px}.drone-parts-group{margin-bottom:14px}.drone-parts-group h4{margin:0 0 6px;font-size:10px;text-transform:uppercase;letter-spacing:1.5px;color:#68a}.drone-part-row{display:flex;align-items:flex-start;gap:10px;padding:8px 0;border-bottom:1px solid rgba(255,255,255,.05)}.drone-part-logo{width:28px;height:28px;object-fit:contain;border-radius:4px;background:#ffffff0f;flex-shrink:0}.drone-part-logo-fallback{width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:4px;background:#4488ff26;color:#8ac;font-size:12px;font-weight:700;flex-shrink:0}.drone-part-info{display:flex;flex-direction:column;gap:2px;min-width:0}.drone-part-info strong{font-size:12px;color:#def}.drone-part-model{font-size:11px;color:#9ab}.drone-part-note{font-size:10px;color:#678}.drone-parts-disclaimer{font-size:10px;color:#567;margin-top:12px;line-height:1.4}@media(max-width:900px){.customizer-layout{grid-template-columns:1fr}.customizer-sidebar{position:static}}.controls-table{width:100%;border-collapse:collapse;margin-bottom:20px;font-size:13px}.controls-table td{padding:8px 12px;border-bottom:1px solid #222}.controls-table td:first-child{color:#48f;font-weight:700;width:100px}.controls-help section{margin-bottom:24px}.controls-help h3{font-size:14px;color:#89a;margin:0 0 12px}.controller-body section h3{margin:0 0 12px;font-size:16px}.menu-content-wide{max-width:640px;padding:28px 32px 24px;text-align:left}.menu-layout{display:grid;grid-template-columns:1fr 240px;gap:14px;align-items:start}.menu-column-side{display:flex;flex-direction:column;gap:10px}.menu-section{background:#ffffff08;border:1px solid rgba(255,255,255,.09);border-radius:12px;padding:14px 16px}.menu-section-scenario{min-width:0}.menu-section-play{padding:12px;background:transparent;border:none}.menu-section-title{display:flex;align-items:center;gap:8px;margin:0 0 12px;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:2px;color:#789}.menu-section-num{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:18px;padding:0 5px;border-radius:4px;font-size:9px;font-weight:700;letter-spacing:0;color:#8cf;background:#4488ff26;border:1px solid rgba(68,136,255,.25)}.menu-section-hint{margin:8px 0 0;font-size:10px;color:#567}.menu-subgroup{margin-top:12px;padding-top:12px;border-top:1px solid rgba(255,255,255,.06)}.menu-subgroup-label{display:block;font-size:10px;text-transform:uppercase;letter-spacing:1px;color:#89a;margin-bottom:8px}.menu-vtx-card{padding:10px 12px;border-radius:8px;background:#4488ff14;border:1px solid rgba(68,136,255,.2)}.menu-vtx-name{font-size:13px;font-weight:600;color:#cce0ff;margin-bottom:6px}.menu-vtx-specs{display:flex;flex-wrap:wrap;gap:8px;font-size:11px;color:#89a}.menu-vtx-tag{padding:1px 6px;border-radius:4px;font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:#fc8;background:#ffaa4426;border:1px solid rgba(255,170,68,.3)}.menu-btn-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.menu-btn-tile{flex-direction:column;align-items:flex-start;justify-content:center;gap:4px;min-height:52px;padding:10px 12px;font-size:12px}.menu-btn-tile-label{font-weight:600;letter-spacing:.5px}.menu-btn-tile .menu-badge{margin-left:0;align-self:flex-start}.menu-btn-fly{width:100%;padding:16px 20px;font-size:17px;letter-spacing:3px}.menu-radio-hint{margin:10px 0 0;font-size:10px;color:#678;line-height:1.4;word-break:break-all}@media(max-width:580px){.menu-layout{grid-template-columns:1fr}.menu-column-side{order:2}.menu-section-scenario{order:1}.menu-section-play{order:3}}.dji-setup-box{margin-bottom:20px;padding:14px 16px;border:1px solid rgba(68,136,255,.35);border-radius:10px;background:#4488ff14}.dji-setup-box h4{margin:0 0 10px;font-size:13px;color:#8bf}.setup-hint{font-size:12px;color:#89a;margin:8px 0 0}.setup-hint.warn{color:#ffab91}.settings-hint{font-size:12px;color:#89a;margin:0 0 12px;line-height:1.45}.settings-fieldset{border:1px solid rgba(255,255,255,.12);border-radius:8px;padding:12px 14px;margin-top:16px}.settings-fieldset legend{padding:0 6px;font-size:12px;color:#89a}.track-category-tabs{display:flex;gap:6px;margin-bottom:8px;flex-wrap:wrap}.track-category-tab{flex:1;min-width:100px;padding:8px 10px;font-size:11px;font-family:inherit;border:1px solid rgba(255,255,255,.15);border-radius:6px;background:#ffffff0a;color:#aab;cursor:pointer}.track-category-tab.active{border-color:#48f;background:#4488ff26;color:#fff}.track-category-hint{font-size:11px;color:#667;margin:0 0 10px}.track-shot-brief{display:block;font-size:10px;color:#69f0ae;margin-top:6px;line-height:1.35}.dji-venue-hint{position:absolute;bottom:72px;left:50%;transform:translate(-50%);max-width:90%;text-align:center;font-size:10px;color:#ffffff8c;text-shadow:0 1px 4px rgba(0,0,0,.8);pointer-events:none}.track-picker{text-align:left}.track-picker-label{font-size:11px;text-transform:uppercase;letter-spacing:2px;color:#89a;margin:0 0 10px}.track-options{display:flex;flex-direction:column;gap:8px}.track-option{text-align:left;padding:10px 14px;background:#ffffff0a;border:1px solid rgba(255,255,255,.12);border-radius:8px;color:#fff;font-family:inherit;cursor:pointer}.track-option.active{border-color:#48f;background:#4488ff1f}.track-option strong{display:block;font-size:14px;margin-bottom:4px}.track-option small{color:#89a;font-size:11px}.track-selected{margin:10px 0 0;font-size:12px;color:#667}.dji-home{position:absolute;top:18%;left:50%;transform:translate(-50%);text-align:center;opacity:.7}.dji-home-arrow{font-size:14px;color:#69f0ae;text-shadow:0 0 6px rgba(105,240,158,.5)}.dji-home-dist{display:block;font-size:10px;margin-top:2px}.dji-pitch-label{position:absolute;right:-30px;top:50%;transform:translateY(-50%);font-size:10px;opacity:.6}.dji-best-lap{display:block;font-size:10px;color:#69f0ae;margin-top:2px}.dji-lap{display:block;font-size:10px;color:#8cf;margin-top:4px}.dji-lap-count{position:absolute;top:100px;left:28px;font-size:11px;color:#69f0ae}.crash-flash{position:fixed;top:0;right:0;bottom:0;left:0;background:#ff282873;z-index:50;pointer-events:none;animation:crashFade .6s ease-out forwards}@keyframes crashFade{0%{opacity:1}to{opacity:0}}.fpv-hint{position:absolute;bottom:12px;right:16px;font-size:10px;color:#ffffff59;pointer-events:none;z-index:25}.bank-intro{margin-bottom:16px}.bank-current-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px}.bank-stat{padding:10px 12px;border-radius:8px;background:#ffffff08;border:1px solid rgba(255,255,255,.08)}.bank-stat-label{display:block;font-size:10px;text-transform:uppercase;letter-spacing:1.5px;color:#678;margin-bottom:4px}.bank-stat-value{display:block;font-size:13px;color:#def}.bank-text-input{display:block;width:100%;margin-top:6px;background:#1a1a2e;border:1px solid #334;color:#fff;padding:8px 10px;border-radius:4px;font-family:inherit;font-size:13px}.bank-text-input:focus{outline:none;border-color:#4488ff80}.bank-rename-input{margin-top:0;max-width:220px}.settings-inline-link{background:none;border:none;padding:0;color:#6eb5ff;font:inherit;font-size:inherit;text-decoration:underline;cursor:pointer}.settings-inline-link:hover{color:#9ecfff}.bank-actions-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:8px}.bank-file-input{display:none}.bank-slot-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}.bank-slot-item{padding:14px 16px;border-radius:10px;background:#ffffff08;border:1px solid rgba(255,255,255,.1)}.bank-slot-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap}.bank-slot-name{font-size:14px;color:#fff;display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap}.bank-slot-badge{font-size:9px;font-weight:600;text-transform:uppercase;letter-spacing:1px;padding:2px 6px;border-radius:4px;background:#48f3;border:1px solid rgba(68,136,255,.35);color:#9bc}.bank-slot-date{font-size:11px;color:#678}.bank-slot-note{margin:6px 0 4px;font-size:12px;color:#9ab;font-style:italic}.bank-slot-meta{display:block;font-size:11px;color:#789;margin-top:4px;line-height:1.4}.bank-slot-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:12px}.bank-slot-actions .menu-btn{padding:6px 12px;font-size:12px}.bank-confirm-label{font-size:12px;color:#fa4;margin-right:4px}.bank-btn-danger:hover{border-color:#ff505080;color:#f88}.bank-status.ok{color:#6c8}.bank-status.warn{color:#fa4}.menu-backdrop-grid{position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(rgba(77,163,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(77,163,255,.04) 1px,transparent 1px);background-size:48px 48px;-webkit-mask-image:radial-gradient(ellipse 80% 70% at 50% 40%,black 20%,transparent 75%);mask-image:radial-gradient(ellipse 80% 70% at 50% 40%,black 20%,transparent 75%);pointer-events:none}.game-menu .menu-backdrop{background:radial-gradient(ellipse 90% 60% at 15% 0%,rgba(77,163,255,.12),transparent 55%),radial-gradient(ellipse 70% 50% at 85% 100%,rgba(255,122,46,.08),transparent 50%),linear-gradient(165deg,#080c16f7,#04060cfa);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.menu-content-wide{max-width:920px;width:min(94vw,920px);padding:28px 32px 20px;text-align:left}.menu-content-compact{max-width:400px}.menu-layout-v2{grid-template-columns:1fr 300px;gap:18px}.menu-section-head{margin-bottom:14px}.menu-section-lead{margin:4px 0 0;font-size:12px;color:var(--ui-text-muted);line-height:1.4}.menu-section{background:var(--ui-bg-card);border:1px solid var(--ui-border);border-radius:var(--ui-radius-md);box-shadow:inset 0 1px #ffffff0a}.menu-section-play-v2{padding:14px;background:linear-gradient(145deg,#ff7a2e0f,#4da3ff0a);border-color:#ff7a2e33}.menu-heading-block{text-align:center;margin-bottom:8px}.menu-subtitle-inline{margin:6px 0 0;font-size:13px;color:var(--ui-text-muted)}.game-logo-meta{display:flex;align-items:center;gap:10px}.game-logo-version{font-family:var(--ui-font-mono);font-size:10px;font-weight:600;letter-spacing:1px;color:var(--ui-accent);padding:3px 8px;border-radius:999px;border:1px solid rgba(77,163,255,.35);background:var(--ui-accent-soft)}.game-logo-tag{letter-spacing:3px;color:var(--ui-text-muted)}.game-logo-image{filter:drop-shadow(0 10px 28px var(--ui-accent-glow))}.track-category-tab{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:10px 12px;border-radius:var(--ui-radius-sm);transition:border-color .15s,background .15s,transform .12s}.track-category-tab:hover{background:var(--ui-bg-card-hover);transform:translateY(-1px)}.track-category-tab-label{font-size:12px;font-weight:600}.track-category-tab-hint{font-size:10px;color:var(--ui-text-dim);line-height:1.3;text-align:left}.track-category-tab.active .track-category-tab-hint{color:#ffffff8c}.track-options-v2{max-height:280px;overflow-y:auto;padding-right:4px;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.15) transparent}.track-option{transition:border-color .15s,background .15s,transform .12s}.track-option:hover{background:var(--ui-bg-card-hover);border-color:var(--ui-border-strong);transform:translate(2px)}.track-option-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:4px}.track-option-badge{font-family:var(--ui-font-mono);font-size:9px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--ui-accent);padding:2px 7px;border-radius:999px;background:var(--ui-accent-soft);border:1px solid rgba(77,163,255,.3);flex-shrink:0}.track-shot-brief{color:#7ee787;font-style:normal;opacity:.9}.menu-summary-cards-v2{display:flex;flex-direction:column;gap:8px}.menu-summary-cards-v2 .menu-summary-card{display:flex;align-items:flex-start;gap:10px;padding:10px 12px}.menu-summary-icon{font-size:14px;line-height:1;color:var(--ui-accent);opacity:.85;margin-top:2px}.menu-summary-card.ok .menu-summary-icon{color:var(--ui-ok)}.menu-summary-card.warn .menu-summary-icon{color:var(--ui-warn)}.menu-summary-body{flex:1;min-width:0}.menu-action-row-v2 .menu-btn-tile{text-align:left}.menu-btn-tile-hint{font-size:10px;font-weight:400;color:var(--ui-text-dim);letter-spacing:0}.menu-link-row{display:flex;flex-direction:column;gap:2px;margin-top:4px}.menu-tutorial-v2{margin-top:10px;border-radius:var(--ui-radius-sm);border:1px solid var(--ui-border);background:#0003;overflow:hidden}.menu-tutorial-v2 summary{padding:10px 12px;font-size:12px;font-weight:600;cursor:pointer;color:var(--ui-text-muted);list-style:none}.menu-tutorial-v2 summary::-webkit-details-marker{display:none}.menu-tutorial-v2[open] summary{border-bottom:1px solid var(--ui-border);color:var(--ui-text)}.menu-btn-fly{background:linear-gradient(135deg,#e86520,var(--ui-cta));border-color:#ffa06480;box-shadow:0 8px 24px var(--ui-cta-glow);font-weight:700}.menu-btn-fly:hover{background:linear-gradient(135deg,#f07028,var(--ui-cta-hover));box-shadow:0 10px 28px var(--ui-cta-glow)}.menu-btn-autopilot{margin-top:8px;background:transparent;border-color:var(--ui-border);color:var(--ui-text-muted);font-size:13px}.menu-btn-autopilot:hover{color:var(--ui-text);border-color:var(--ui-accent);background:var(--ui-accent-soft)}.menu-nav-v2{gap:14px}.menu-nav-group{display:flex;flex-direction:column;gap:6px;padding:10px 0 4px;border-top:1px solid var(--ui-border)}.menu-nav-group:first-of-type{border-top:none;padding-top:0}.menu-nav-group-label{font-family:var(--ui-font-mono);font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:1.5px;color:var(--ui-text-dim);text-align:left;padding:0 2px 4px}.menu-btn-kbd{margin-left:auto;font-family:var(--ui-font-mono);font-size:10px;font-weight:500;padding:2px 7px;border-radius:4px;background:#00000040;border:1px solid var(--ui-border);color:var(--ui-text-muted)}.menu-btn-ghost{background:transparent;border-color:transparent;color:var(--ui-text-dim);font-size:13px}.menu-btn-ghost:hover{color:var(--ui-text-muted);background:#ffffff0a;border-color:var(--ui-border)}.menu-btn{font-family:var(--ui-font-ui);border-radius:var(--ui-radius-sm)}.menu-btn-primary{background:linear-gradient(135deg,#2a6fd4,var(--ui-accent));border-color:#78b4ff73}.fullscreen-panel{background:var(--ui-bg-panel);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.panel-shell-header,.settings-panel-header{background:#00000040}.panel-shell-heading h2,.panel-header h2{font-family:var(--ui-font-ui);font-weight:700;letter-spacing:.5px}.panel-close-btn{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:var(--ui-radius-sm);border:1px solid var(--ui-border);background:#ffffff0a;transition:background .15s,border-color .15s,color .15s}.panel-close-btn:hover{background:#ff50501f;border-color:#ff787859;color:#ffb4b4}.panel-subtitle,.settings-panel-subtitle{font-family:var(--ui-font-ui)}.settings-sidebar-btn{font-family:var(--ui-font-ui);border-radius:var(--ui-radius-sm);transition:background .15s,border-color .15s}.settings-sidebar-btn.active{background:var(--ui-accent-soft);border-color:#4da3ff66}.top-bar{background:#080c16d1;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--ui-border);font-family:var(--ui-font-mono);font-size:11px}.top-bar .stats span{color:var(--ui-ok)}.toolbar button{font-family:var(--ui-font-ui);font-size:11px;font-weight:600;border-radius:6px;padding:5px 12px;transition:background .15s,border-color .15s}.toolbar button:hover{border-color:var(--ui-accent);background:var(--ui-accent-soft)}.fpv-hint{font-family:var(--ui-font-mono);font-size:11px;color:var(--ui-text-dim);background:#080c1699;border:1px solid var(--ui-border);border-radius:999px;padding:6px 14px}.drone-showcase-banner{font-family:var(--ui-font-ui);background:var(--ui-accent-soft);border-bottom:1px solid rgba(77,163,255,.2)}@media(max-width:720px){.menu-layout-v2{grid-template-columns:1fr}.menu-content-wide{padding:20px 16px 16px}.track-options-v2{max-height:220px}}.top-bar-v2{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:12px;padding:8px 14px;min-height:44px}.top-bar-stats{display:flex;gap:10px}.top-bar-stat{display:flex;align-items:baseline;gap:3px;padding:4px 10px;border-radius:6px;background:#ffffff0a;border:1px solid var(--ui-border)}.top-bar-stat-value{font-family:var(--ui-font-mono);font-size:12px;font-weight:600;color:var(--ui-ok)}.top-bar-stat-label{font-family:var(--ui-font-mono);font-size:9px;text-transform:uppercase;letter-spacing:.5px;color:var(--ui-text-dim)}.toolbar-v2{display:flex;gap:6px}.toolbar-btn{font-family:var(--ui-font-ui);font-size:11px;font-weight:600;border-radius:6px;padding:6px 12px;border:1px solid var(--ui-border);background:#ffffff0a;color:var(--ui-text-muted);cursor:pointer;transition:background .15s,border-color .15s,color .15s}.toolbar-btn:hover{color:var(--ui-text);border-color:var(--ui-border-strong);background:var(--ui-bg-card-hover)}.toolbar-btn-primary{color:var(--ui-text);border-color:#4da3ff66;background:var(--ui-accent-soft)}.toolbar-btn-primary:hover{border-color:var(--ui-accent);background:#4da3ff38}.radio-status-v2{display:flex;align-items:center;gap:8px;min-width:0;flex:1}.radio-status-v2 .dot{flex-shrink:0;box-shadow:0 0 8px currentColor}.radio-status-v2.connected .dot{background:var(--ui-ok);color:var(--ui-ok)}.radio-status-v2.disconnected .dot{background:#f87171;color:#f87171}.radio-status-v2.needs-gesture .dot{background:var(--ui-warn);color:var(--ui-warn);animation:blink 1s step-end infinite}.radio-status-body{display:flex;flex-direction:column;min-width:0;gap:1px}.radio-status-source{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.6px;color:var(--ui-text-muted)}.radio-status-id,.radio-status-text{font-family:var(--ui-font-mono);font-size:11px;color:var(--ui-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.radio-status-text{color:var(--ui-text-muted)}.status-pill{flex-shrink:0;font-family:var(--ui-font-mono);font-size:9px;font-weight:700;letter-spacing:.8px;padding:3px 8px;border-radius:999px;border:1px solid transparent}.status-pill-arm{color:var(--ui-ok);background:#4ade801f;border-color:#4ade8059}.status-pill-disarm{color:var(--ui-accent);background:var(--ui-accent-soft);border-color:#4da3ff59}.status-pill-crash{color:#ff8a80;background:#ff505026;border-color:#ff787866;animation:blink .6s step-end infinite}.settings-layout{border-top:1px solid var(--ui-border)}.settings-sidebar{background:#0003;border-right:1px solid var(--ui-border)}.settings-group{background:var(--ui-bg-card);border:1px solid var(--ui-border);border-radius:var(--ui-radius-md);padding:16px 18px;margin-bottom:14px}.settings-group-title{font-family:var(--ui-font-ui);font-size:13px;font-weight:700;letter-spacing:.3px;color:var(--ui-text);margin:0 0 10px}.settings-hint{font-family:var(--ui-font-ui);line-height:1.5}.bank-current-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.bank-stat{padding:10px 12px;border-radius:var(--ui-radius-sm);background:#0003;border:1px solid var(--ui-border)}.bank-stat-label{display:block;font-size:9px;font-weight:600;text-transform:uppercase;letter-spacing:1px;color:var(--ui-text-dim);margin-bottom:4px}.bank-stat-value{font-size:12px;font-weight:600;color:var(--ui-text);line-height:1.3}.bank-slot-item{border-radius:var(--ui-radius-sm);border:1px solid var(--ui-border);background:#00000026;transition:border-color .15s,background .15s}.bank-slot-item:hover{border-color:var(--ui-border-strong);background:var(--ui-bg-card-hover)}.bank-text-input{font-family:var(--ui-font-ui);border-radius:var(--ui-radius-sm);border:1px solid var(--ui-border);background:#00000040;transition:border-color .15s,box-shadow .15s}.bank-text-input:focus{border-color:var(--ui-accent);box-shadow:0 0 0 2px var(--ui-accent-soft);outline:none}.bank-slot-badge{font-family:var(--ui-font-mono);font-size:8px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;padding:2px 6px;border-radius:999px;margin-left:8px;color:var(--ui-accent);background:var(--ui-accent-soft);border:1px solid rgba(77,163,255,.3);vertical-align:middle}.field-row select,.field-row input[type=text],.field-row input[type=number]{font-family:var(--ui-font-ui);border-radius:var(--ui-radius-sm)}.setting-toggle{font-family:var(--ui-font-ui)}.setting-toggle-label{font-weight:600}@media(max-width:640px){.top-bar-v2{grid-template-columns:1fr;gap:8px}.top-bar-stats,.toolbar-v2{justify-content:flex-start}.bank-current-grid{grid-template-columns:1fr 1fr}}.dji-osd-v2{font-family:var(--ui-font-mono, "JetBrains Mono", monospace);text-shadow:0 1px 3px rgba(0,0,0,.9),0 0 12px rgba(0,0,0,.5)}.dji-osd-v2 .dji-sticks-panel,.dji-osd-v2 .dji-config-panel{padding:8px 10px;border-radius:var(--ui-radius-sm, 8px);background:#00000059;border:1px solid rgba(255,255,255,.12);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.dji-osd-v2 .dji-panel-title{font-size:8px;letter-spacing:1.2px;color:#ffffff8c;margin-bottom:6px}.dji-osd-v2 .dji-batt-fill{background:linear-gradient(90deg,#22c55e,#4ade80)}.dji-osd-v2 .dji-batt-icon:has(+.dji-warn) .dji-batt-fill,.dji-osd-v2 .dji-warn~.dji-batt-pct{filter:none}.dji-osd-v2 .dji-battery:has(.dji-warn) .dji-batt-fill{background:linear-gradient(90deg,#dc2626,#f87171)}.dji-osd-v2 .dji-timer{font-size:20px;font-weight:600;letter-spacing:3px}.dji-osd-v2 .dji-link-panel{padding:6px 8px;border-radius:var(--ui-radius-sm, 8px);background:#0000004d;border:1px solid rgba(255,255,255,.08)}.dji-osd-v2 .dji-bar.on{background:#ffffffeb}.dji-osd-v2 .dji-signal-weak .dji-bar.on{background:var(--ui-warn, #fbbf24)}.dji-osd-v2 .dji-stat-val{font-size:24px;font-variant-numeric:tabular-nums}.dji-osd-v2 .dji-reticle-bracket{border-color:#ffffffbf}.dji-osd-v2 .dji-reticle-dot{width:3px;height:3px;background:#fffffff2;box-shadow:0 0 6px #ffffff80}.dji-osd-v2 .dji-warning{font-size:18px;letter-spacing:2px;padding:8px 16px;border-radius:6px;background:#00000073;border:1px solid rgba(255,82,82,.4)}.dji-osd-v2 .dji-venue-hint{font-family:var(--ui-font-ui, system-ui, sans-serif);font-size:10px;max-width:280px;line-height:1.4;padding:6px 10px;border-radius:6px;background:#0006;border:1px solid rgba(126,231,135,.25)}.goggles-frame .goggles-edge{background:linear-gradient(180deg,#0c0e14,#050608)}.goggles-frame .goggles-viewport{box-shadow:inset 0 0 80px #0000008c,inset 0 0 0 1px #ffffff0a}.input-debug-panel{position:absolute;top:52px;left:12px;width:min(300px,calc(100vw - 24px));pointer-events:auto;z-index:50;background:#080c16f0;border:1px solid var(--ui-border, rgba(255, 255, 255, .1));border-radius:var(--ui-radius-md, 12px);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:var(--ui-shadow-lg, 0 24px 64px rgba(0, 0, 0, .55));overflow:hidden}.input-debug-header{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding:12px 14px;border-bottom:1px solid var(--ui-border, rgba(255, 255, 255, .1));background:#0003}.input-debug-header h3{margin:0;font-family:var(--ui-font-ui, system-ui, sans-serif);font-size:13px;font-weight:700}.input-debug-sub{margin:4px 0 0;font-family:var(--ui-font-mono, monospace);font-size:10px;color:var(--ui-text-dim, #5c6d80);text-transform:uppercase;letter-spacing:.5px}.input-debug-bars{padding:10px 14px;display:flex;flex-direction:column;gap:6px}.input-debug-row{display:grid;grid-template-columns:52px 1fr 44px;align-items:center;gap:8px}.input-debug-row label{font-family:var(--ui-font-mono, monospace);font-size:10px;color:var(--ui-text-muted, #8b9cb0)}.input-debug-track{height:6px;border-radius:999px;background:#ffffff0f;overflow:hidden}.input-debug-fill{height:100%;border-radius:999px;transition:width .05s linear}.input-debug-fill.stick{background:linear-gradient(90deg,#22c55e,#4ade80)}.input-debug-fill.throttle{background:linear-gradient(90deg,var(--ui-accent, #4da3ff),#7cc4ff)}.input-debug-val{font-family:var(--ui-font-mono, monospace);font-size:10px;text-align:right;color:var(--ui-text-muted, #8b9cb0);font-variant-numeric:tabular-nums}.input-debug-setpoints{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;padding:10px 14px 14px;border-top:1px solid var(--ui-border, rgba(255, 255, 255, .1));background:#00000026}.input-debug-sp{display:flex;flex-direction:column;gap:2px;text-align:center}.input-debug-sp span{font-size:9px;text-transform:uppercase;letter-spacing:.5px;color:var(--ui-text-dim, #5c6d80)}.input-debug-sp strong{font-family:var(--ui-font-mono, monospace);font-size:11px;color:var(--ui-text, #eef2f8)}.input-debug-sp.input-debug-arm.on strong{color:var(--ui-ok, #4ade80)}.controller-settings-layout-v2{gap:20px}.controller-settings-preview-v2{border-radius:var(--ui-radius-md, 12px);background:#00000040;border:1px solid var(--ui-border, rgba(255, 255, 255, .1));box-shadow:inset 0 1px #ffffff0a}.controller-preview-hint{margin:-4px 0 12px;font-size:11px}.detect-status{border-radius:var(--ui-radius-sm, 8px);font-family:var(--ui-font-ui, system-ui, sans-serif)}.detect-status.ok{background:#4ade8014;border-color:#4ade8059}.detect-status.fail{background:#f8717114;border-color:#f871714d}.controller-gesture-hint{padding:10px 12px;border-radius:var(--ui-radius-sm, 8px);background:#fbbf241a;border:1px solid rgba(251,191,36,.3);color:#fcd34d!important}.cal-wizard-steps{display:flex;gap:6px;margin-bottom:14px}.cal-wizard-step{flex:1;text-align:center;padding:8px 6px;font-family:var(--ui-font-mono, monospace);font-size:10px;font-weight:600;letter-spacing:.3px;border-radius:var(--ui-radius-sm, 8px);border:1px solid var(--ui-border, rgba(255, 255, 255, .1));color:var(--ui-text-dim, #5c6d80);background:#0003}.cal-wizard-step.active{color:var(--ui-accent, #4da3ff);border-color:#4da3ff73;background:var(--ui-accent-soft, rgba(77, 163, 255, .14))}.cal-wizard-step.done{color:var(--ui-ok, #4ade80);border-color:#4ade804d}.stick-map-row,.drone-function-row{border-radius:var(--ui-radius-sm, 8px);transition:border-color .15s,background .15s}.stick-map-row:hover,.drone-function-row:hover{border-color:var(--ui-border-strong, rgba(255, 255, 255, .18));background:var(--ui-bg-card-hover, rgba(255, 255, 255, .06))}.stick-map-bind.binding-active,.menu-btn.binding-active{border-color:var(--ui-cta, #ff7a2e)!important;background:#ff7a2e26!important;color:#fc9!important;animation:blink 1s step-end infinite}.arm-test-checklist{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.arm-test-checklist>div{font-family:var(--ui-font-mono, monospace);font-size:11px;padding:6px 10px;border-radius:999px;border:1px solid var(--ui-border, rgba(255, 255, 255, .1));background:#0003;color:var(--ui-text-dim, #5c6d80)}.arm-test-checklist .check-ok{color:var(--ui-ok, #4ade80);border-color:#4ade8059}.arm-test-checklist .check-fail{color:var(--ui-warn, #fbbf24);border-color:#fbbf2459}.arm-test-checklist .check-armed{color:#fca5a5;border-color:#f8717166;background:#f871711a}.arm-indicator-compact{font-family:var(--ui-font-mono, monospace);font-size:10px;font-weight:700;letter-spacing:1px;padding:4px 10px;border-radius:999px;text-align:center;border:1px solid var(--ui-border, rgba(255, 255, 255, .1));color:var(--ui-text-dim, #5c6d80)}.arm-indicator-compact.armed{color:var(--ui-ok, #4ade80);border-color:#4ade8066;background:#4ade801a}@media(max-width:900px){.controller-settings-layout-v2{grid-template-columns:1fr}.controller-settings-preview-v2{position:static;order:-1}}.drone-customizer-v2 .customizer-layout-v2{gap:22px}.customizer-section-card{padding:16px 18px;margin-bottom:14px;border-radius:var(--ui-radius-md, 12px);background:var(--ui-bg-card, rgba(255, 255, 255, .035));border:1px solid var(--ui-border, rgba(255, 255, 255, .1))}.customizer-section-head{margin-bottom:12px}.customizer-section-head h3{margin:0;font-family:var(--ui-font-ui, system-ui, sans-serif);font-size:14px;font-weight:700;color:var(--ui-text, #eef2f8)}.customizer-section-head .customizer-hint{margin:4px 0 0;font-size:11px}.customizer-sidebar-v2{padding:16px;border-radius:var(--ui-radius-md, 12px);background:#00000038;border:1px solid var(--ui-border, rgba(255, 255, 255, .1))}.drone-physics-chips{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:14px}.drone-chip{font-family:var(--ui-font-mono, monospace);font-size:10px;font-weight:600;padding:5px 10px;border-radius:999px;border:1px solid var(--ui-border, rgba(255, 255, 255, .1));background:var(--ui-accent-soft, rgba(77, 163, 255, .12));color:#b8d4ff}.drone-preset-card{font-family:var(--ui-font-ui, system-ui, sans-serif);border-radius:var(--ui-radius-sm, 8px);transition:border-color .15s,background .15s,transform .12s}.drone-preset-card:hover{transform:translateY(-2px);border-color:var(--ui-accent, #4da3ff);background:var(--ui-accent-soft, rgba(77, 163, 255, .1))}.drone-preset-card.active{border-color:var(--ui-accent, #4da3ff);background:var(--ui-accent-soft, rgba(77, 163, 255, .14));box-shadow:0 0 0 1px #4da3ff59}.frame-style-btn{font-family:var(--ui-font-ui, system-ui, sans-serif);border-radius:var(--ui-radius-sm, 8px);transition:border-color .15s,background .15s}.frame-style-btn.active{border-color:var(--ui-accent, #4da3ff);background:var(--ui-accent-soft, rgba(77, 163, 255, .12))}.drone-parts-search{font-family:var(--ui-font-ui, system-ui, sans-serif);border-radius:var(--ui-radius-sm, 8px)}.drone-parts-section h3{font-family:var(--ui-font-ui, system-ui, sans-serif);font-size:13px;margin:0 0 8px}.customizer-footer{background:#0003}.customizer-footer .menu-btn{width:auto;min-width:140px}.drone-preview-3d-hint{padding:12px;border-radius:var(--ui-radius-sm, 8px);background:#00000040;border:1px solid var(--ui-border, rgba(255, 255, 255, .08));margin-bottom:14px}.flight-tuning-v2{gap:18px}.flight-tuning-profiles-v2{border-radius:var(--ui-radius-md, 12px);border:1px solid var(--ui-border, rgba(255, 255, 255, .1));background:#00000038;padding:14px 16px}.flight-tuning-profiles-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:10px}.flight-tuning-profiles-head h4{margin:0;font-family:var(--ui-font-ui, system-ui, sans-serif);font-size:13px;font-weight:700}.flight-tuning-profiles-hint{font-family:var(--ui-font-mono, monospace);font-size:10px;color:var(--ui-text-dim, #5c6d80);letter-spacing:.3px}.flight-tuning-profile-btn{font-family:var(--ui-font-ui, system-ui, sans-serif);font-weight:600;border-radius:var(--ui-radius-sm, 8px);transition:background .15s,border-color .15s}.flight-tuning-profile-btn.active{background:var(--ui-accent-soft, rgba(77, 163, 255, .14));border-color:#4da3ff73;color:var(--ui-text, #eef2f8)}.flight-tuning-profile-name input{font-family:var(--ui-font-ui, system-ui, sans-serif);border-radius:var(--ui-radius-sm, 8px);border:1px solid var(--ui-border, rgba(255, 255, 255, .1))}.flight-tuning-tabs-v2{display:flex;gap:4px;padding:4px;border-radius:var(--ui-radius-sm, 8px);background:#00000040;border:1px solid var(--ui-border, rgba(255, 255, 255, .08));width:fit-content}.flight-tuning-tabs-v2 button{font-family:var(--ui-font-ui, system-ui, sans-serif);font-weight:600;font-size:12px;padding:8px 16px;border-radius:6px;border:1px solid transparent;background:transparent;color:var(--ui-text-muted, #8b9cb0);cursor:pointer;transition:background .15s,color .15s}.flight-tuning-tabs-v2 button.active{background:var(--ui-accent-soft, rgba(77, 163, 255, .14));border-color:#4da3ff59;color:var(--ui-text, #eef2f8)}.flight-tuning-axis-col{border-radius:var(--ui-radius-sm, 8px);border:1px solid var(--ui-border, rgba(255, 255, 255, .08));background:#00000026}.rate-curve-chart{border-radius:var(--ui-radius-md, 12px);border:1px solid var(--ui-border, rgba(255, 255, 255, .1));background:#0000004d;padding:12px 14px}.rate-curve-header{font-family:var(--ui-font-ui, system-ui, sans-serif);font-weight:600;color:var(--ui-text-muted, #8b9cb0)}.rate-curve-max{font-family:var(--ui-font-mono, monospace);color:var(--ui-accent, #4da3ff)}.rate-curve-legend-roll{color:#4da3ff}.rate-curve-legend-pitch{color:#4ade80}.rate-curve-legend-yaw{color:#fbbf24}.rate-curve-legend span{font-family:var(--ui-font-mono, monospace);font-size:10px;font-weight:600;letter-spacing:.5px}@media(max-width:900px){.customizer-layout-v2{grid-template-columns:1fr}.customizer-sidebar-v2{order:-1;position:static}.flight-tuning-tabs-v2{width:100%;justify-content:stretch}.flight-tuning-tabs-v2 button{flex:1;text-align:center}}.crash-flash-v2{background:transparent;animation:crashFlashShell .8s ease-out forwards}.crash-flash-burst{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 50% 42%,rgba(255,255,255,.85) 0%,rgba(255,70,70,.55) 28%,rgba(160,20,20,.4) 55%,transparent 78%);animation:crashBurst .28s ease-out forwards}.crash-flash-vignette{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse at center,transparent 25%,rgba(100,0,0,.65) 100%);opacity:0;animation:crashVignette .65s .08s ease-out forwards}.crash-flash-scanlines{position:absolute;top:0;right:0;bottom:0;left:0;opacity:.12;background:repeating-linear-gradient(0deg,transparent,transparent 2px,rgba(0,0,0,.35) 2px,rgba(0,0,0,.35) 4px);animation:crashScanFade .5s ease-out forwards}@keyframes crashFlashShell{0%{opacity:1}to{opacity:0}}@keyframes crashBurst{0%{opacity:1;transform:scale(1.02)}to{opacity:.35;transform:scale(1)}}@keyframes crashVignette{0%{opacity:0}30%{opacity:1}to{opacity:0}}@keyframes crashScanFade{0%{opacity:.18}to{opacity:0}}.goggles-frame-v2 .goggles-mask{-webkit-mask:radial-gradient(ellipse 91% 83% at 50% 46%,transparent 71%,black 75%);mask:radial-gradient(ellipse 91% 83% at 50% 46%,transparent 71%,black 75%)}.goggles-frame-v2 .goggles-edge{background:linear-gradient(180deg,#10141c,#06080c);box-shadow:inset 0 1px #ffffff0a}.goggles-frame-v2 .goggles-nose-cutout{background:linear-gradient(180deg,#0c0e14,#050608);box-shadow:0 -2px 12px #00000080}.goggles-lens-ring{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;box-shadow:inset 0 0 0 1px #ffffff0f,inset 0 0 100px #00000080;pointer-events:none}.goggles-glare{position:absolute;top:8%;width:22%;height:18%;border-radius:50%;background:radial-gradient(ellipse at center,rgba(255,255,255,.07) 0%,transparent 70%);pointer-events:none}.goggles-glare-left{left:12%}.goggles-glare-right{right:12%}.goggles-corner{position:absolute;width:28px;height:28px;border:2px solid rgba(255,255,255,.08);pointer-events:none}.goggles-corner-tl{top:7%;left:5%;border-right:none;border-bottom:none;border-radius:4px 0 0}.goggles-corner-tr{top:7%;right:5%;border-left:none;border-bottom:none;border-radius:0 4px 0 0}.goggles-corner-bl{bottom:9%;left:5%;border-right:none;border-top:none;border-radius:0 0 0 4px}.goggles-corner-br{bottom:9%;right:5%;border-left:none;border-top:none;border-radius:0 0 4px}.flight-tuning-mode-row-v2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:12px 14px;border-radius:var(--ui-radius-md, 12px);border:1px solid var(--ui-border, rgba(255, 255, 255, .08));background:#0000002e}.flight-tuning-profile-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px;padding-top:10px;border-top:1px solid var(--ui-border, rgba(255, 255, 255, .06))}.flight-tuning-axis-col{padding:14px}.flight-tuning-axis-col h4{font-family:var(--ui-font-mono, monospace);font-size:11px;letter-spacing:.08em}.flight-tuning-axis-roll{border-top:2px solid #4da3ff}.flight-tuning-axis-pitch{border-top:2px solid #4ade80}.flight-tuning-axis-yaw{border-top:2px solid #fbbf24}.flight-tuning-axis-roll h4{color:#9ecfff}.flight-tuning-axis-pitch h4{color:#86efac}.flight-tuning-axis-yaw h4{color:#fcd34d}.flight-tuning-max-rate{font-family:var(--ui-font-mono, monospace);font-size:11px;color:var(--ui-text-dim, #5c6d80);padding-top:6px;border-top:1px dashed var(--ui-border, rgba(255, 255, 255, .08))}.flight-tuning-callout{margin:0 0 12px;padding:10px 12px;border-radius:var(--ui-radius-sm, 8px);border:1px solid var(--ui-border, rgba(255, 255, 255, .08));background:#0003;font-size:12px;line-height:1.45}.flight-tuning-callout-info{border-color:#4da3ff40;background:var(--ui-accent-soft, rgba(77, 163, 255, .08))}.flight-tuning-pid-v2{display:flex;flex-direction:column;gap:14px}.flight-tuning-pid-actions{display:flex;flex-wrap:wrap;gap:8px}.flight-tuning-fc-advanced-v2{padding:16px 18px;border-radius:var(--ui-radius-md, 12px);border:1px solid var(--ui-border, rgba(255, 255, 255, .1));background:#00000038;display:flex;flex-direction:column;gap:12px}.flight-tuning-fc-head h4{margin:0 0 4px;font-family:var(--ui-font-ui, system-ui, sans-serif);font-size:13px;font-weight:700}.flight-tuning-fc-head .settings-hint{margin:0}.tuning-slider-v2{gap:6px;margin-bottom:10px}.tuning-slider-v2 .tuning-slider-header span{font-family:var(--ui-font-ui, system-ui, sans-serif);font-size:11px;font-weight:600;color:var(--ui-text-muted, #8b9cb0)}.tuning-slider-v2 .tuning-num-input{width:72px;padding:4px 8px;border-radius:6px;border:1px solid var(--ui-border, rgba(255, 255, 255, .12));background:#00000059;font-family:var(--ui-font-mono, monospace);font-size:11px}.tuning-slider-v2 input[type=range]{-webkit-appearance:none;-moz-appearance:none;appearance:none;height:6px;border-radius:999px;background:#ffffff1a;cursor:pointer}.tuning-slider-v2 input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:14px;height:14px;border-radius:50%;border:2px solid rgba(255,255,255,.9);background:var(--ui-accent, #4da3ff);box-shadow:0 0 0 2px #4da3ff40}.tuning-slider-v2 input[type=range]::-moz-range-thumb{width:14px;height:14px;border-radius:50%;border:2px solid rgba(255,255,255,.9);background:var(--ui-accent, #4da3ff);box-shadow:0 0 0 2px #4da3ff40}.tuning-slider-v2.disabled input[type=range]{cursor:not-allowed}.flight-tuning-realism-v2{max-width:none;padding:16px 18px;border-radius:var(--ui-radius-md, 12px);border:1px solid var(--ui-border, rgba(255, 255, 255, .1));background:#0000002e}.flight-tuning-realism-v2 .settings-toggles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 16px;margin-top:8px;padding-top:12px;border-top:1px solid var(--ui-border, rgba(255, 255, 255, .06))}@media(max-width:720px){.flight-tuning-mode-row-v2,.flight-tuning-realism-v2 .settings-toggles{grid-template-columns:1fr}}.dji-signal-bars .dji-bar-1{height:25%}.dji-signal-bars .dji-bar-2{height:50%}.dji-signal-bars .dji-bar-3{height:75%}.dji-signal-bars .dji-bar-4{height:100%}.stick-viz-osd .stick-label{font-family:var(--ui-font-mono, monospace);font-size:8px;font-weight:600;letter-spacing:.6px;color:#ffffff8c}.stick-viz-osd .stick-svg .stick-bg{fill:#00000073;stroke:#ffffff24}.stick-viz-osd .stick-svg .stick-cross{stroke:#ffffff1f}.stick-viz-osd .stick-svg .stick-dot{fill:var(--ui-accent, #4da3ff);filter:drop-shadow(0 0 4px rgba(77,163,255,.55))}.stick-viz-osd .stick-values{font-family:var(--ui-font-mono, monospace);font-size:8px;color:#ffffff73}.dji-osd-v2 .dji-stick-rates-v2{display:flex;flex-direction:row;flex-wrap:wrap;gap:6px 10px;margin-top:8px;padding-top:6px;border-top:1px solid rgba(255,255,255,.08);font-size:9px;font-weight:600;letter-spacing:.3px;opacity:1}.dji-rate-roll{color:#9ecfff}.dji-rate-pitch{color:#86efac}.dji-rate-yaw{color:#fcd34d}.dji-osd-v2 .dji-config-roll{color:#9ecfff}.dji-osd-v2 .dji-config-pitch{color:#86efac}.dji-osd-v2 .dji-arm-status{display:inline-flex;flex-direction:column;align-items:center;gap:2px;padding:4px 12px;border-radius:999px;border:1px solid rgba(255,255,255,.15);background:#00000059}.dji-osd-v2 .dji-arm-status.armed{border-color:#4ade8073;background:#22c55e1f}.dji-osd-v2 .dji-arm-status.crashed{border-color:#f8717180;background:#dc262626}.dji-osd-v2 .dji-arm-label{font-size:11px;font-weight:700;letter-spacing:1.5px}.dji-osd-v2 .dji-arm-hint{font-size:8px;opacity:.7;letter-spacing:.3px}.dji-bottom-v2{padding:0 32px 4px}.dji-osd-v2 .dji-bottom-v2 .dji-stat{padding:6px 10px;border-radius:var(--ui-radius-sm, 8px);background:#00000047;border:1px solid rgba(255,255,255,.06)}.dji-osd-v2 .dji-mode{font-weight:700;letter-spacing:1px}.dji-osd-v2 .dji-thr{font-size:12px;color:#fcd34d}.dji-osd-v2 .dji-g-val{color:#fbbf24}.pause-menu-nav{max-width:360px;margin:0 auto}.pause-menu-footer{display:flex;flex-direction:column;align-items:center;gap:10px;width:100%}.pause-menu-hints{margin:0;font-family:var(--ui-font-mono, monospace);font-size:11px;color:var(--ui-text-dim, #5c6d80);letter-spacing:.2px}.pause-menu-hints kbd{display:inline-block;font-family:inherit;font-size:10px;font-weight:600;padding:2px 6px;margin:0 2px;border-radius:4px;border:1px solid var(--ui-border, rgba(255, 255, 255, .12));background:#0000004d;color:var(--ui-text-muted, #8b9cb0)}.pause-menu-nav .menu-btn-primary{padding:14px 18px;font-size:15px}@media(max-width:480px){.dji-osd-v2 .dji-side-left,.dji-osd-v2 .dji-side-right{display:none}.dji-bottom-v2{padding:0 16px 4px}}.main-menu-v2 .menu-btn-fly{display:flex;align-items:center;justify-content:center;gap:10px}.main-menu-v2 .menu-summary-card.ok .menu-summary-icon{color:#4ade80;animation:menu-link-pulse 2s ease-in-out infinite}@keyframes menu-link-pulse{0%,to{opacity:1}50%{opacity:.55}}.main-menu-v2 .track-options-v2{-webkit-mask-image:linear-gradient(180deg,#000 92%,transparent 100%);mask-image:linear-gradient(180deg,#000 92%,transparent 100%)}.settings-sidebar-v2 .settings-sidebar-btn{flex-direction:row;align-items:flex-start;gap:10px}.settings-sidebar-num{flex-shrink:0;font-family:var(--ui-font-mono, monospace);font-size:10px;font-weight:700;letter-spacing:.5px;color:var(--ui-text-dim, #5c6d80);padding-top:2px;min-width:20px}.settings-sidebar-btn.active .settings-sidebar-num{color:var(--ui-accent, #4da3ff)}.settings-sidebar-text{display:flex;flex-direction:column;gap:2px;min-width:0}.setting-range-v2 input[type=range]{-webkit-appearance:none;-moz-appearance:none;appearance:none;height:6px;border-radius:999px;background:#ffffff1a}.setting-range-v2 input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:14px;height:14px;border-radius:50%;border:2px solid rgba(255,255,255,.9);background:var(--ui-accent, #4da3ff)}.setting-range-v2 input[type=range]::-moz-range-thumb{width:14px;height:14px;border-radius:50%;border:2px solid rgba(255,255,255,.9);background:var(--ui-accent, #4da3ff)}.setting-range-v2 .setting-range-header span:first-child{font-family:var(--ui-font-ui, system-ui, sans-serif);font-weight:600;color:var(--ui-text-muted, #8b9cb0)}.settings-panel-footer-v2{justify-content:space-between;gap:12px}.settings-footer-hint kbd{display:inline-block;font-family:var(--ui-font-mono, monospace);font-size:10px;font-weight:600;padding:2px 6px;margin-right:4px;border-radius:4px;border:1px solid var(--ui-border, rgba(255, 255, 255, .12));background:#0000004d;color:var(--ui-text-muted, #8b9cb0)}.panel-loading-fallback{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:flex;align-items:center;justify-content:center;font-family:var(--ui-font-mono, monospace);font-size:13px;letter-spacing:1px;color:var(--ui-text-muted, #8b9cb0);background:#080c16bf;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}@media(max-width:720px){.settings-sidebar-v2{width:100%;flex-direction:row;flex-wrap:wrap;border-right:none;border-bottom:1px solid var(--ui-border, rgba(255, 255, 255, .08));padding-bottom:8px}.settings-sidebar-v2 .settings-sidebar-btn{flex:1 1 calc(50% - 4px);min-width:140px}.settings-sidebar-v2 .settings-sidebar-summary{display:none}}.settings-bank-v2{display:flex;flex-direction:column;gap:4px;max-width:820px}.settings-group-v2{position:relative}.settings-group-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.settings-group-head .settings-group-title{margin:0}.settings-group-badge{font-family:var(--ui-font-mono, monospace);font-size:9px;font-weight:700;letter-spacing:1px;text-transform:uppercase;padding:3px 8px;border-radius:999px;color:#86efac;background:#22c55e1f;border:1px solid rgba(74,222,128,.35)}.bank-section-current .bank-current-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.bank-section-file .bank-actions-row{padding-top:4px}.bank-slot-list-v2{display:flex;flex-direction:column;gap:10px}.bank-slot-list-v2 .bank-slot-item{padding:14px 16px}.bank-slot-reserved{border-color:#4da3ff40;background:#4da3ff0a}.bank-slot-reserved .bank-slot-name{color:var(--ui-accent, #4da3ff)}.bank-status-toast{position:sticky;bottom:8px;margin:12px 0 0;padding:10px 14px;border-radius:var(--ui-radius-sm, 8px);font-family:var(--ui-font-ui, system-ui, sans-serif);font-size:13px;font-weight:600;text-align:center;box-shadow:var(--ui-shadow-lg, 0 12px 32px rgba(0, 0, 0, .4));z-index:2}.bank-status-toast.ok{color:#86efac;background:#166534d9;border:1px solid rgba(74,222,128,.35)}.bank-status-toast.warn{color:#fca5a5;background:#7f1d1dd9;border:1px solid rgba(248,113,113,.35)}.tuning-panel-v2 .panel-shell-footer{justify-content:space-between;align-items:center}.tuning-panel-footer-hint{font-family:var(--ui-font-mono, monospace);font-size:11px;color:var(--ui-text-dim, #5c6d80)}.tuning-panel-footer-hint kbd{display:inline-block;font-family:inherit;font-size:10px;font-weight:600;padding:2px 6px;margin-right:4px;border-radius:4px;border:1px solid var(--ui-border, rgba(255, 255, 255, .12));background:#0000004d;color:var(--ui-text-muted, #8b9cb0)}.tuning-panel-body-v2{max-width:none;padding:16px 20px 24px}.tuning-panel-v2 .flight-tuning-v2{max-width:960px}@media(max-width:720px){.bank-section-current .bank-current-grid{grid-template-columns:1fr 1fr}.tuning-panel-v2 .panel-shell-footer{flex-direction:column;align-items:stretch;gap:10px}.tuning-panel-footer-hint{text-align:center}}.top-bar-v2{background:#080c16d1;border-bottom:1px solid var(--ui-border, rgba(255, 255, 255, .08));-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.toolbar-kbd{margin-left:6px;font-family:var(--ui-font-mono, monospace);font-size:9px;font-weight:600;padding:2px 5px;border-radius:3px;border:1px solid rgba(255,255,255,.15);background:#00000040;color:var(--ui-text-dim, #5c6d80);vertical-align:middle}.radio-status-pills{display:flex;flex-shrink:0;gap:6px}.radio-status-v2.connected{padding:6px 10px;border-radius:var(--ui-radius-sm, 8px);background:#00000040;border:1px solid var(--ui-border, rgba(255, 255, 255, .08))}.radio-status-v2.needs-gesture{padding:6px 12px;border-radius:var(--ui-radius-sm, 8px);background:#fbbf2414;border:1px solid rgba(251,191,36,.25)}.controller-settings-tab-v2 .controller-settings-main-v2{display:flex;flex-direction:column;gap:4px}.controller-preset-card-static{cursor:default;pointer-events:none}.controller-settings-preview-v2{padding:16px;position:sticky;top:0;align-self:start}.sticks-row-v2{gap:16px;margin:12px 0}.setpoint-grid-v2{display:grid;grid-template-columns:1fr 1fr;gap:6px 10px;font-family:var(--ui-font-mono, monospace);font-size:11px;color:var(--ui-text-muted, #8b9cb0)}.setpoint-grid-v2 strong{display:block;font-size:13px;margin-top:2px}.setpoint-roll strong{color:#9ecfff}.setpoint-pitch strong{color:#86efac}.setpoint-yaw strong{color:#fcd34d}.setpoint-thr strong{color:#fdba74}.test-setpoints-v2{padding:10px 12px;border-radius:var(--ui-radius-sm, 8px);background:#0003;border:1px solid var(--ui-border, rgba(255, 255, 255, .08));margin-bottom:12px}.controller-bank-section{margin-top:16px;padding-top:16px;border-top:1px solid var(--ui-border, rgba(255, 255, 255, .08))}.input-debug-panel-v2 .input-debug-fill{width:calc(var(--fill-pct, 0) * 1%)}.input-debug-header-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.input-debug-link-pill{font-family:var(--ui-font-mono, monospace);font-size:9px;font-weight:700;letter-spacing:.8px;padding:4px 8px;border-radius:999px;border:1px solid transparent}.input-debug-link-pill.ok{color:#86efac;background:#22c55e1f;border-color:#4ade8059}.input-debug-link-pill.warn{color:#fca5a5;background:#dc26261f;border-color:#f8717159}.input-debug-radio{margin:4px 0 0;font-family:var(--ui-font-mono, monospace);font-size:9px;color:var(--ui-text-dim, #5c6d80);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:200px}.input-debug-setpoints-v2 .input-debug-sp-roll strong{color:#9ecfff}.input-debug-setpoints-v2 .input-debug-sp-pitch strong{color:#86efac}.input-debug-setpoints-v2 .input-debug-sp-yaw strong{color:#fcd34d}.input-debug-setpoints-v2 .input-debug-sp-thr strong{color:#fdba74}@media(max-width:480px){.input-debug-panel-v2{top:auto;bottom:12px;left:8px;right:8px;width:auto}.input-debug-setpoints-v2{grid-template-columns:repeat(3,1fr)}.input-debug-arm{grid-column:1 / -1}}.game-logo-v2 .game-logo-frame{position:relative;display:inline-block}.game-logo-v2 .game-logo-version{position:absolute;top:-4px;right:-8px}.game-logo-version-compact{top:-2px!important;right:-4px!important;font-size:9px!important;padding:2px 6px!important}.game-logo-v2 .game-logo-meta{margin-top:4px}.game-logo-v2.game-logo-compact .game-logo-frame{margin-bottom:4px}.fpv-hint-v2{font-family:var(--ui-font-mono, monospace);font-size:10px;letter-spacing:.3px;color:#ffffff73;padding:5px 10px;border-radius:999px;background:#00000059;border:1px solid rgba(255,255,255,.08);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.fpv-hint-v2 kbd{display:inline-block;font-family:inherit;font-size:9px;font-weight:600;padding:1px 5px;margin-right:4px;border-radius:3px;border:1px solid rgba(255,255,255,.12);background:#00000059;color:#ffffffb3}.menu-btn-autopilot{margin-top:8px;width:100%;padding:12px 16px;font-family:var(--ui-font-ui, system-ui, sans-serif);font-size:13px;font-weight:600;letter-spacing:.2px;background:var(--ui-accent-soft, rgba(77, 163, 255, .12));border:1px solid rgba(77,163,255,.35);color:#b8dcff;border-radius:var(--ui-radius-sm, 8px);cursor:pointer;transition:background .15s,border-color .15s,transform .12s}.menu-btn-autopilot:hover{background:#4da3ff38;border-color:var(--ui-accent, #4da3ff);color:#fff;transform:translateY(-1px)}.menu-autopilot-hint{margin:8px 0 0;font-family:var(--ui-font-ui, system-ui, sans-serif);font-size:11px;color:var(--ui-text-dim, #5c6d80);line-height:1.45;text-align:center}.autopilot-preview{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:12}.autopilot-preview-badge{position:absolute;top:14px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:8px;padding:7px 16px;background:#080e18e0;border:1px solid rgba(77,163,255,.4);border-radius:999px;font-family:var(--ui-font-mono, monospace);font-size:10px;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:#9ecfff;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 8px 24px #00000059}.autopilot-preview-dot{width:8px;height:8px;border-radius:50%;background:var(--ui-accent, #4da3ff);box-shadow:0 0 10px var(--ui-accent-glow, rgba(77, 163, 255, .35));animation:autopilot-pulse 1.4s ease-in-out infinite}@keyframes autopilot-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.85)}}.autopilot-preview-panel{position:absolute;right:16px;bottom:16px;width:min(320px,calc(100vw - 32px));pointer-events:auto;background:#080c16eb;border:1px solid var(--ui-border, rgba(255, 255, 255, .1));border-radius:var(--ui-radius-md, 12px);padding:14px 16px;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:var(--ui-shadow-lg, 0 24px 64px rgba(0, 0, 0, .55))}.autopilot-preview-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;padding-bottom:10px;border-bottom:1px solid var(--ui-border, rgba(255, 255, 255, .1))}.autopilot-preview-header h3{margin:0;font-family:var(--ui-font-ui, system-ui, sans-serif);font-size:11px;font-weight:700;letter-spacing:1.2px;text-transform:uppercase;color:var(--ui-text-muted, #8b9cb0)}.autopilot-phase{font-family:var(--ui-font-mono, monospace);font-size:9px;font-weight:700;letter-spacing:.8px;padding:4px 9px;border-radius:999px;text-transform:uppercase;border:1px solid transparent}.autopilot-phase-climb{background:#fbbf2426;color:#fcd34d;border-color:#fbbf244d}.autopilot-phase-cruise{background:#4ade801f;color:#86efac;border-color:#4ade804d}.autopilot-phase-turn{background:#fb923c26;color:#fdba74;border-color:#fb923c4d}.autopilot-phase-hold{background:#94a3b81f;color:#cbd5e1;border-color:#94a3b840}.autopilot-phase-orbit{background:var(--ui-accent-soft, rgba(77, 163, 255, .14));color:#93c5fd;border-color:#4da3ff59}.autopilot-phase-arc{background:#c084fc26;color:#d8b4fe;border-color:#c084fc4d}.autopilot-phase-avoid{background:#f8717126;color:#fca5a5;border-color:#f8717159}.autopilot-phase-approach{background:#38bdf81f;color:#7dd3fc;border-color:#38bdf84d}.autopilot-phase-capture{background:#a78bfa26;color:#c4b5fd;border-color:#a78bfa4d}.autopilot-sticks-row{display:flex;justify-content:center;gap:20px;margin-bottom:10px}.autopilot-sticks-row .stick-viz{align-items:center}.autopilot-sticks-row .stick-label{font-family:var(--ui-font-mono, monospace);font-size:9px;letter-spacing:1px;text-transform:uppercase;color:var(--ui-text-dim, #5c6d80)}.autopilot-sticks-row .stick-svg .stick-bg{fill:#ffffff08;stroke:var(--ui-border-strong, rgba(255, 255, 255, .18))}.autopilot-sticks-row .stick-dot{fill:var(--ui-accent, #4da3ff);filter:drop-shadow(0 0 6px var(--ui-accent-glow, rgba(77, 163, 255, .35)))}.autopilot-stick-rates{display:flex;flex-wrap:wrap;gap:6px 14px;font-family:var(--ui-font-mono, monospace);font-size:10px;font-weight:600;letter-spacing:.3px;color:var(--ui-text-muted, #8b9cb0);margin-bottom:12px;justify-content:center}.autopilot-telemetry{display:flex;flex-direction:column;gap:5px;margin-bottom:12px;padding-top:10px;border-top:1px solid var(--ui-border, rgba(255, 255, 255, .1))}.autopilot-tel-row{display:flex;justify-content:space-between;align-items:baseline;gap:12px;font-family:var(--ui-font-ui, system-ui, sans-serif);font-size:11px}.autopilot-tel-row span{color:var(--ui-text-dim, #5c6d80);flex-shrink:0}.autopilot-tel-row strong{font-weight:600;color:var(--ui-text, #eef2f8);text-align:right}.autopilot-tel-row strong.warn{color:var(--ui-warn, #fbbf24)}.autopilot-race-stats{display:flex;justify-content:space-between;font-family:var(--ui-font-mono, monospace);font-size:11px;font-weight:600;color:var(--ui-text-muted, #8b9cb0);margin-bottom:12px;padding:8px 10px;border-radius:var(--ui-radius-sm, 8px);background:#0003}.autopilot-preview-actions{display:flex;gap:8px}.autopilot-btn{flex:1;padding:9px 12px;font-family:var(--ui-font-ui, system-ui, sans-serif);font-size:11px;font-weight:700;letter-spacing:.4px;border-radius:var(--ui-radius-sm, 8px);border:1px solid var(--ui-border, rgba(255, 255, 255, .1));background:var(--ui-bg-card, rgba(255, 255, 255, .035));color:var(--ui-text-muted, #8b9cb0);cursor:pointer;transition:background .15s,border-color .15s,color .15s}.autopilot-btn:hover{background:var(--ui-bg-card-hover, rgba(255, 255, 255, .06));color:var(--ui-text, #eef2f8);border-color:var(--ui-border-strong, rgba(255, 255, 255, .18))}.autopilot-btn-stop{border-color:#f8717159;color:#fca5a5}.autopilot-btn-stop:hover{background:#f871711f;border-color:#f8717180}.autopilot-hint{position:absolute;bottom:10px;left:50%;transform:translate(-50%);margin:0;font-family:var(--ui-font-mono, monospace);font-size:10px;color:var(--ui-text-dim, #5c6d80);letter-spacing:.3px;white-space:nowrap}.autopilot-stick-rates-v2{padding:8px 10px;border-radius:var(--ui-radius-sm, 8px);background:#00000038;border:1px solid var(--ui-border, rgba(255, 255, 255, .08))}.autopilot-rate-roll{color:#9ecfff}.autopilot-rate-pitch{color:#86efac}.autopilot-rate-yaw{color:#fcd34d}.autopilot-rate-thr{color:#fdba74}.autopilot-telemetry-v2{display:grid;grid-template-columns:1fr 1fr;gap:5px 12px}.autopilot-telemetry-v2 .autopilot-tel-row:first-child,.autopilot-telemetry-v2 .autopilot-tel-row:nth-child(2){grid-column:1 / -1}.autopilot-hint-v2 kbd{display:inline-block;font-family:inherit;font-size:9px;font-weight:600;padding:1px 5px;margin:0 2px;border-radius:3px;border:1px solid var(--ui-border, rgba(255, 255, 255, .12));background:#00000059;color:var(--ui-text-muted, #8b9cb0)}@media(max-width:480px){.autopilot-preview-panel-v2{right:8px;bottom:8px;width:calc(100vw - 16px)}.autopilot-telemetry-v2{grid-template-columns:1fr}}
