.scene-container[data-v-a970df55]{cursor:crosshair;border:1px solid var(--color-border);border-radius:8px;width:100%;height:100%;position:relative;overflow:hidden;box-shadow:inset 0 0 50px #000000e6}.legend-panel[data-v-a970df55]{z-index:10;pointer-events:auto;width:138px;box-shadow:var(--shadow-neon);opacity:.6;background:#080c1661;border:1px solid #00f0ff40;padding:9px 12px;transition:opacity .2s,background .2s;position:absolute;top:15px;left:15px}.legend-panel[data-v-a970df55]:hover{opacity:1;background:#080c16e0}.legend-panel.collapsed[data-v-a970df55]{opacity:.85}.legend-title[data-v-a970df55]{color:var(--color-accent-blue);letter-spacing:1px;-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;margin:0;font-size:.82rem;font-weight:700;display:flex}.legend-panel:not(.collapsed) .legend-title[data-v-a970df55]{border-bottom:1px solid #00f0ff33;margin-bottom:9px;padding-bottom:6px}.legend-item[data-v-a970df55]{color:var(--color-text-secondary);-webkit-user-select:none;user-select:none;align-items:center;gap:8px;margin-bottom:8px;font-size:.75rem;display:flex}.hover-pointer[data-v-a970df55]{cursor:pointer;transition:all .2s}.hover-pointer[data-v-a970df55]:hover{color:var(--color-accent-blue);transform:translate(4px)}.legend-checkbox[data-v-a970df55]{accent-color:var(--color-accent-blue);cursor:pointer;width:13px;height:13px}.color-box[data-v-a970df55]{border-radius:2px;flex-shrink:0;width:14px;height:4px}.sidebar[data-v-02b6f3c4]{flex-direction:column;height:100%;padding:14px;display:flex;overflow:hidden}.sb-header[data-v-02b6f3c4]{color:var(--color-text-primary);letter-spacing:1px;border-bottom:1px solid var(--color-border);flex-shrink:0;align-items:center;gap:8px;margin-bottom:12px;padding-bottom:6px;font-size:.9rem;font-weight:700;display:flex}.sb-header[data-v-02b6f3c4] svg{color:var(--color-accent-blue)}.sb-count[data-v-02b6f3c4]{color:var(--color-text-secondary);font-size:.78rem;font-family:var(--font-mono);margin-left:auto}.sb-list[data-v-02b6f3c4]{flex-direction:column;flex:1;gap:6px;display:flex;overflow-y:auto}.drone-row[data-v-02b6f3c4]{border:1px solid var(--color-border);cursor:pointer;background:#ffffff05;border-radius:8px;flex-wrap:wrap;align-items:center;gap:8px 12px;padding:7px 10px;transition:all .15s;display:flex}.drone-row[data-v-02b6f3c4]:hover{border-color:var(--color-accent-blue);background:#00f0ff0d}.drone-row.selected[data-v-02b6f3c4]{border-color:var(--color-accent-blue);box-shadow:0 0 0 1px var(--color-accent-blue) inset}.drone-row.offline[data-v-02b6f3c4]{opacity:.55}.dc-dot[data-v-02b6f3c4]{border-radius:50%;flex-shrink:0;width:8px;height:8px}.dc-id[data-v-02b6f3c4]{color:var(--color-text-primary);flex-shrink:0;font-size:.82rem;font-weight:700}.dc-status[data-v-02b6f3c4]{border-radius:4px;flex-shrink:0;padding:1px 5px;font-size:.68rem}.dc-status.on[data-v-02b6f3c4]{color:var(--color-accent-green)}.dc-status.off[data-v-02b6f3c4]{color:var(--color-accent-red)}.dc-sep[data-v-02b6f3c4]{background:#ffffff1f;flex-shrink:0;width:1px;height:14px}.dc-field[data-v-02b6f3c4]{flex-shrink:0;align-items:baseline;gap:5px;min-width:0;display:flex}.dc-lbl[data-v-02b6f3c4]{color:var(--color-text-tertiary,#7a8aa0);white-space:nowrap;flex-shrink:0;font-size:.62rem;font-weight:700}.dc-val[data-v-02b6f3c4]{color:var(--color-text-primary);white-space:nowrap;font-size:.72rem;display:inline-block}.mono[data-v-02b6f3c4]{font-family:var(--font-mono)}.dc-val-pos[data-v-02b6f3c4]{min-width:17ch}.dc-val-spd[data-v-02b6f3c4]{min-width:6ch}.dc-val-att[data-v-02b6f3c4]{min-width:15ch}.sb-empty[data-v-02b6f3c4]{color:var(--color-text-secondary);flex-direction:column;flex:1;justify-content:center;align-items:center;display:flex}.sb-empty .sub[data-v-02b6f3c4]{margin-top:6px;font-size:.78rem}.sb-sub-head[data-v-02b6f3c4]{letter-spacing:1px;color:var(--color-text-primary);align-items:center;gap:6px;margin-bottom:10px;font-size:.9rem;font-weight:700;display:flex}.sb-sub-head[data-v-02b6f3c4] svg{color:var(--color-accent-blue)}.sb-controls[data-v-02b6f3c4]{border-top:1px solid var(--color-border);flex-shrink:0;margin-top:12px;padding-top:12px}.ctrl-grid[data-v-02b6f3c4]{grid-template-columns:repeat(3,1fr);gap:6px;display:grid}.ctrl-grid .neon-btn[data-v-02b6f3c4]{cursor:pointer;justify-content:center;align-items:center;gap:4px;width:100%;padding:7px 4px;font-size:.7rem;font-weight:700;display:flex}.sb-camera[data-v-02b6f3c4]{border-top:1px solid var(--color-border);flex-shrink:0;margin-top:12px;padding-top:12px}.cam-expand[data-v-02b6f3c4]{border:1px solid var(--color-border);color:var(--color-text-secondary);cursor:pointer;background:0 0;border-radius:4px;align-items:center;margin-left:8px;padding:2px 4px;display:flex}.cam-expand[data-v-02b6f3c4]:hover{border-color:var(--color-accent-blue);color:var(--color-accent-blue)}.cam-preview[data-v-02b6f3c4]{background:#00000073;border-radius:6px;flex-direction:column;height:150px;display:flex;overflow:hidden}.cam-preview.multi[data-v-02b6f3c4]{grid-template-columns:repeat(2,1fr);gap:4px;padding:4px;display:grid}.cam-preview .cam-ph[data-v-02b6f3c4]{color:var(--color-text-secondary);text-align:center;margin:auto;padding:8px;font-size:.8rem}.tuner-tab-hdr{font-family:var(--font-sans);letter-spacing:.5px;transition:all .2s;position:relative}.tuner-tab-hdr.active{text-shadow:0 0 8px #00f0ff66;color:var(--color-accent-blue)!important}.tuner-tab-hdr:after{content:"";background:var(--color-accent-blue);width:100%;height:2px;box-shadow:0 0 6px var(--color-accent-blue);transition:transform .2s;position:absolute;bottom:-3px;left:0;transform:scaleX(0)}.tuner-tab-hdr.active:after{transform:scaleX(1)}.history-readonly-placeholder{color:#e2e8f0ad;text-align:center;background:#0f172a52;border:1px dashed #94a3b838;border-radius:6px;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:8px;min-height:0;padding:16px;font-size:.78rem;line-height:1.5;display:flex}.history-readonly-placeholder .muted{color:#94a3b88c;font-size:.72rem}.history-readonly-panel{color:#ffffffb8;background:#04060a73;border:1px solid #ffffff0f;border-radius:4px;flex:1;min-height:0;padding:8px;font-size:.72rem;overflow:auto}.history-planner-panel{color:#ffffffb8;background:#04060a73;border:1px solid #00f0ff1f;border-radius:6px;flex-direction:column;flex:1;gap:8px;min-height:0;padding:14px;font-size:.76rem;display:flex}.history-planner-row{border-bottom:1px dashed #ffffff14;justify-content:space-between;gap:10px;padding:7px 0;display:flex}.history-planner-row span{color:#ffffff6b}.history-planner-row strong{color:var(--color-accent-blue);text-align:right}.readonly-title{color:var(--color-accent-blue);margin-bottom:6px;font-weight:700}.readonly-boundary{font-family:var(--font-mono);color:#ffffff9e;margin-bottom:8px;line-height:1.6}.readonly-table{border-collapse:collapse;width:100%;font-size:.68rem}.readonly-table th,.readonly-table td{text-align:left;border-bottom:1px solid #ffffff0f;padding:5px 4px}.readonly-table th{color:#00f0ffbf}.tuner-tab-hdr:hover{color:#fff!important}.bottom-panel-wrapper{border:1px solid var(--color-border);flex-direction:column;width:100%;height:100%;display:flex;overflow:hidden}.bottom-cols-container{background:#06090f66;flex:1;width:100%;min-height:0;display:flex}.panel-col{flex-direction:column;min-height:0;padding:12px 15px;display:flex}.logs-col{border-right:none;min-width:150px}.tuner-col{border-right:none;min-width:200px}.algo-col{border-right:none;flex-direction:column;min-width:230px;padding:10px;display:flex;overflow:hidden}.algo-column{flex-direction:column;flex:1;height:100%;padding:8px 9px;display:flex;overflow:hidden}.algo-header{margin-bottom:6px}.algo-compact-layout{flex-direction:column;flex:1;gap:7px;min-height:0;display:flex}.planning-mode-grid{background:#0000005c;border:1px solid #ffffff0f;border-radius:5px;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;padding:4px;display:grid}.mode-choice-btn{min-width:0;height:26px;color:var(--color-text-secondary);cursor:pointer;white-space:nowrap;text-overflow:ellipsis;background:#ffffff08;border:1px solid #0000;border-radius:4px;font-size:.68rem;font-weight:700;transition:all .18s;overflow:hidden}.mode-choice-btn:hover{color:var(--color-text-primary);border-color:#00f0ff38}.mode-choice-btn.active{color:var(--color-accent-blue);background:#00f0ff29;border-color:#00f0ff6b;box-shadow:0 0 10px #00f0ff14}.planner-status-strip{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;display:grid}.planner-status-item{background:#06090f7a;border:1px solid #ffffff0d;border-radius:4px;justify-content:space-between;align-items:center;gap:6px;min-width:0;padding:4px 5px;display:flex}.planner-status-item.wide{grid-column:1/-1}.planner-status-item span{color:#ffffff6e;flex:none;font-size:.64rem}.planner-status-item strong{min-width:0;color:var(--color-text-primary);text-overflow:ellipsis;white-space:nowrap;text-align:right;font-size:.66rem;overflow:hidden}.proposal-compact-card{color:#ffffffb3;background:#04060a7a;border:1px solid #ffffff0f;border-radius:5px;padding:6px;font-size:.68rem;line-height:1.35}.proposal-line{color:#ffffff8c;justify-content:space-between;gap:8px;display:flex}.proposal-line span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.proposal-summary{color:var(--color-accent-blue);white-space:nowrap;text-overflow:ellipsis;margin-top:3px;overflow:hidden}.confirm-proposal-btn{width:100%;height:24px;color:var(--color-accent-green);cursor:pointer;background:#34d39924;border:1px solid #34d3996b;border-radius:4px;margin-top:5px;font-size:.68rem;font-weight:800}.algo-api-compact{color:#ffffff8c;background:#04060a66;border:1px solid #ffffff0d;border-radius:5px;justify-content:space-between;align-items:center;gap:8px;margin-top:auto;padding:5px 6px;font-size:.66rem;display:flex}.algo-api-compact button{color:var(--color-accent-blue);cursor:pointer;background:#00f0ff14;border:1px solid #00f0ff40;border-radius:4px;flex:none;padding:2px 6px;font-size:.66rem}.chart-col{min-width:250px}.resizer-v-panel{cursor:col-resize;-webkit-user-select:none;user-select:none;background:#ffffff03;flex-shrink:0;justify-content:center;align-self:stretch;align-items:center;width:6px;transition:all .2s;display:flex}.resizer-v-panel:hover{background:#00f0ff0a}.drag-indicator-v-panel{background:#ffffff1a;border-radius:1px;width:2px;height:20px;transition:all .2s}.resizer-v-panel:hover .drag-indicator-v-panel,.resizer-v-panel:active .drag-indicator-v-panel{background:var(--color-accent-blue);box-shadow:0 0 6px var(--color-accent-blue);height:35px}.sandbox-quick-stats{color:var(--color-text-secondary);align-items:center;gap:6px;font-size:.8rem;display:flex}.stat-status-badge{border-radius:3px;padding:2px 6px;font-size:.76rem;font-weight:700}.stat-status-badge.success{color:var(--color-accent-green);background:#39ff141a;border:1px solid #39ff1440}.stat-status-badge.error{color:var(--color-accent-red);background:#ff33661a;border:1px solid #ff336640}.section-header{color:var(--color-accent-blue);letter-spacing:1px;align-items:center;gap:8px;margin-bottom:10px;font-size:.95rem;font-weight:700;display:flex}.logs-container{font-family:var(--font-mono);flex-direction:column;flex:1;gap:6px;font-size:.78rem;display:flex;overflow-y:auto}.log-item{border-bottom:1px solid #ffffff08;gap:8px;padding:3px 0;display:flex}.log-time{color:#ffffff4d;white-space:nowrap}.log-item.info .log-msg{color:var(--color-text-primary)}.log-item.success .log-msg{color:var(--color-accent-green)}.log-item.danger .log-msg{color:var(--color-accent-red)}.sub-control-box{flex-direction:column;min-height:0;display:flex}.secondary-hdr{color:var(--color-accent-blue);letter-spacing:.5px;align-items:center;gap:5px;font-weight:700;display:flex;margin-bottom:6px!important;font-size:.85rem!important}.controls-grid.compact{grid-template-columns:repeat(4,1fr);gap:6px;display:grid}.algo-status-row{justify-content:space-between;align-items:center;display:flex}.algo-active-mode{color:var(--color-text-secondary);align-items:center;gap:6px;font-size:.72rem;display:flex}.active-label{color:#fff6}.active-algo-badge{border:1px solid #00f0ff4d;border-radius:4px;font-weight:700;color:var(--color-accent-blue)!important;background:#00f0ff1f!important;padding:2px 6px!important;font-size:.68rem!important}.param-sliders-compact{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.slider-row-compact{flex-direction:column;gap:4px;display:flex}.slider-title{color:var(--color-text-secondary);font-size:.82rem;font-family:var(--font-mono)}.slider-input-compact{accent-color:var(--color-accent-blue);cursor:pointer;height:3px}.custom-params-section{border-top:1px dashed #ffffff14;flex-direction:column;gap:4px;margin-top:6px;padding-top:6px;display:flex}.custom-params-label{color:#ffffff73;font-size:.82rem;font-weight:700}.custom-tags-container{flex-wrap:wrap;align-items:center;gap:4px;min-height:18px;display:flex}.custom-param-tag{color:#a7f3d0;font-family:var(--font-mono);background:#39ff1414;border:1px solid #39ff1440;border-radius:4px;align-items:center;gap:3px;padding:1px 4px;font-size:.78rem;display:inline-flex}.delete-tag-btn{color:var(--color-accent-red);cursor:pointer;background:0 0;border:none;padding:0;font-size:.8rem;font-weight:700;line-height:1}.delete-tag-btn:hover{color:#ff4d4d}.no-params-hint{color:#ffffff40;font-size:.78rem;font-style:italic}.custom-param-inputs{align-items:center;gap:4px;display:flex}.param-input{color:var(--color-text-primary);background:#0006;border:1px solid #ffffff1a;border-radius:4px;outline:none;padding:3px 6px;font-size:.8rem}.param-input.text{flex:1.5}.param-input.val{font-family:var(--font-mono);flex:1}.param-input:focus{border-color:var(--color-accent-blue);box-shadow:0 0 5px #00f0ff4d}.custom-param-inputs .add-btn{flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;padding:0;font-size:.9rem;font-weight:700;display:flex}.algo-hub-btn{color:var(--color-accent-blue);border-color:#00f0ff66;box-shadow:0 0 8px #00f0ff26}.algo-hub-btn:hover{box-shadow:var(--shadow-neon);background:#00f0ff1a}.mb-3{margin-bottom:12px}.mt-2{margin-top:8px}.badge{color:#fff6;font-size:.72rem;font-family:var(--font-mono);background:#ffffff0d;border-radius:3px;padding:1px 4px}input[type=range]{-webkit-appearance:none;background:0 0;width:100%}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;background:var(--color-accent-blue);cursor:pointer;width:10px;height:10px;box-shadow:0 0 5px var(--color-accent-blue);border-radius:50%;margin-top:-3px}input[type=range]::-webkit-slider-runnable-track{background:#ffffff14;border-radius:1.5px;width:100%;height:3px}.playback-toggle{background:#0009;border:1px solid #ffffff14;border-radius:12px;display:flex;overflow:hidden}.playback-toggle span{cursor:pointer;color:var(--color-text-secondary);padding:3px 12px;font-size:.72rem;font-weight:700}.playback-toggle span.active{background:var(--color-accent-blue);color:#05080c;font-weight:700}.chart-header-row{justify-content:space-between;align-items:flex-start;gap:15px;margin-bottom:5px;display:flex}.chart-filters-container{flex-direction:column;align-items:flex-end;gap:4px;display:flex}.filter-group{align-items:center;gap:6px;display:flex}.group-label{color:#fff6;font-size:.7rem;font-weight:700}.filter-tag{color:var(--color-text-secondary);cursor:pointer;font-size:.68rem;font-family:var(--font-mono);background:#ffffff08;border:1px solid #ffffff14;border-radius:4px;align-items:center;gap:4px;padding:2px 6px;transition:all .2s;display:flex}.filter-tag:hover{background:#ffffff14;border-color:#fff3}.filter-tag.active{border-color:var(--color-accent-blue);color:var(--color-text-primary);background:#00f0ff26;font-weight:700}.line-indicator{width:10px;height:2px;display:inline-block}.line-indicator.altitude{background:#e2e8f0;border-top:1px solid #0000}.line-indicator.speed{border-top:2px dashed #e2e8f0}.chart-container{flex:1;width:100%;min-height:0}.history-placeholder{color:var(--color-text-secondary);background:#0000004d;border-radius:6px;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:12px;font-size:.8rem;display:flex}.algo-hub-modal{z-index:1000;justify-content:center;align-items:center;width:100vw;height:100vh;padding:30px;display:flex;position:fixed;top:0;left:0}.modal-backdrop{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#020408cc;width:100%;height:100%;position:absolute;top:0;left:0}.modal-content{z-index:1001;border-color:var(--color-border-glow);background:#060a12e6;flex-direction:column;width:90%;max-width:1200px;height:85vh;display:flex;position:relative;overflow:hidden;box-shadow:0 0 40px #00f0ff33}.modal-header{border-bottom:1px solid var(--color-border);background:#04060af2;flex-shrink:0;justify-content:space-between;align-items:center;padding:15px 25px;display:flex}.modal-title{align-items:center;gap:15px;display:flex}.glowing-icon{color:var(--color-accent-blue);animation:2s infinite pulse-glow}@keyframes pulse-glow{0%{filter:drop-shadow(0 0 2px var(--color-accent-blue))}50%{filter:drop-shadow(0 0 10px var(--color-accent-blue))}to{filter:drop-shadow(0 0 2px var(--color-accent-blue))}}.modal-title h3{color:var(--color-text-primary);letter-spacing:1px;margin-bottom:2px;font-size:1.15rem;font-weight:800}.modal-title p{color:var(--color-text-secondary);font-size:.72rem}.close-btn{color:var(--color-text-secondary);cursor:pointer;background:0 0;border:none;transition:color .2s}.close-btn:hover{color:var(--color-accent-red)}.modal-body{flex:1;min-height:0;display:flex}.modal-col-left{border-right:1px solid var(--color-border);flex-direction:column;flex:4;padding:20px 25px;display:flex;overflow-y:auto}.col-title{color:var(--color-accent-blue);letter-spacing:1px;align-items:center;gap:8px;margin-bottom:12px;font-size:.85rem;font-weight:700;display:flex}.mode-selector-grid{flex-direction:column;gap:10px;display:flex}.mode-card{cursor:pointer;background:#ffffff05;border:1px solid #ffffff0d;border-radius:6px;padding:10px 12px;transition:all .25s}.mode-card:hover{background:#00f0ff08;border-color:#00f0ff33}.mode-card.active{border-color:var(--color-accent-blue);background:#00f0ff14;box-shadow:0 0 10px #00f0ff1a}.mode-card-header{justify-content:space-between;align-items:center;margin-bottom:4px;display:flex}.mode-card-header h5{color:var(--color-text-primary);font-size:.8rem;font-weight:700}.active-dot{background:var(--color-accent-green);width:6px;height:6px;box-shadow:0 0 6px var(--color-accent-green);border-radius:50%}.mode-card p{color:var(--color-text-secondary);font-size:.7rem;line-height:1.3}.api-docs-box{background:#04060acc;border:1px solid #ffffff0d;border-radius:6px;flex-direction:column;flex:1;min-height:180px;display:flex}.api-tabs{font-size:.7rem;font-family:var(--font-mono);background:#0006;border-bottom:1px solid #ffffff0d;padding:6px 12px}.api-tabs .tab.active{color:var(--color-accent-yellow);font-weight:700}.api-code{font-family:var(--font-mono);color:#a7f3d0;white-space:pre-wrap;flex:1;margin:0;padding:12px;font-size:.68rem;line-height:1.4;overflow-y:auto}.modal-col-right{flex-direction:column;flex:6;min-width:0;padding:20px 25px;display:flex}.col-header{flex-shrink:0;justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.preset-triggers{align-items:center;gap:6px;display:flex}.preset-label{color:#fff6;font-size:.7rem}.preset-btn{color:var(--color-text-secondary);cursor:pointer;background:#ffffff0d;border:1px solid #ffffff14;border-radius:4px;padding:2px 8px;font-size:.7rem;transition:all .2s}.preset-btn:hover{border-color:var(--color-accent-blue);color:var(--color-accent-blue);background:#00f0ff1a}.editor-wrapper{border:1px solid var(--color-border);font-family:var(--font-mono);background:#04060ae6;border-radius:6px 6px 0 0;flex:1.5;min-height:200px;display:flex;overflow:hidden}.line-numbers{color:#ffffff26;-webkit-user-select:none;user-select:none;background:#0000004d;flex-direction:column;align-items:center;width:35px;padding:10px 0;font-size:.72rem;line-height:1.5;display:flex}.code-textarea{resize:none;color:#38bdf8;font-family:var(--font-mono);background:0 0;border:none;outline:none;flex:1;padding:10px 15px;font-size:.78rem;line-height:1.5;overflow-y:auto}.console-wrapper{border:1px solid var(--color-border);background:#020408;border-top:none;border-radius:0 0 6px 6px;flex-direction:column;flex:.7;min-height:100px;margin-bottom:15px;display:flex;overflow:hidden}.console-header{color:var(--color-text-secondary);background:#ffffff08;border-bottom:1px solid #ffffff0d;justify-content:space-between;padding:6px 12px;font-size:.7rem;display:flex}.console-status{letter-spacing:.5px;font-size:.65rem;font-weight:700}.console-status.success{color:var(--color-accent-green)}.console-status.error{color:var(--color-accent-red)}.console-body{font-family:var(--font-mono);flex-direction:column;flex:1;gap:4px;padding:10px 15px;font-size:.7rem;display:flex;overflow-y:auto}.console-line{line-height:1.4}.console-line.success-line{color:var(--color-accent-green)}.console-line.error-line{color:var(--color-accent-red)}.console-line.log-line{color:#84cc16}.editor-actions{flex-shrink:0;gap:15px;display:flex}.flex-1{flex:1}.flex-2{flex:2}.font-bold{font-weight:700}.section-header.tabs{border-bottom:1px solid var(--color-border);gap:12px;margin-bottom:10px;padding-bottom:6px}.section-header.tabs .tab{cursor:pointer;color:var(--color-text-secondary);align-items:center;gap:4px;font-size:.85rem;transition:all .2s;display:flex}.section-header.tabs .tab:hover{color:var(--color-accent-blue)}.section-header.tabs .tab.active{color:var(--color-accent-blue);font-weight:700}.section-header.tabs .sep{color:#ffffff1f;font-size:.8rem}.tuner-col{min-width:200px}.tuner-column{height:100%;overflow:hidden}.tab-body{flex-direction:column;flex:1;gap:6px;min-height:0;display:flex}.params-scroll{background:#04060a73;border:1px solid #ffffff0d;border-radius:4px;flex:1;min-height:0;padding:4px;overflow-y:auto}.params-table{border-collapse:collapse;text-align:left;width:100%;font-size:.72rem}.params-table th{color:#fff6;border-bottom:1px solid #00f0ff26;padding:4px;font-weight:700}.params-table th.c,.params-table td.c{text-align:center;width:54px}.params-table td{border-bottom:1px dashed #ffffff0d;padding:4px}.badge{border-radius:3px;padding:1px 5px;font-size:.62rem;font-weight:700;display:inline-block}.key{color:var(--color-text-secondary);word-break:break-all}.val-input{width:90%;color:var(--color-accent-blue);background:#ffffff08;border:1px solid #ffffff1a;border-radius:3px;padding:2px 4px;font-size:.7rem}.ic{cursor:pointer;background:0 0;border:none;padding:2px}.ic.save{color:var(--color-accent-green)}.ic.del{color:var(--color-accent-red)}.empty-cell{text-align:center;color:#ffffff40;padding:10px 0;font-style:italic}.param-add{flex-shrink:0;gap:4px;display:flex}.param-add select,.param-add input{color:var(--color-text-primary);border:1px solid var(--color-border);background:#0006;border-radius:4px;min-width:0;height:22px;padding:3px 4px;font-size:.7rem}.param-add select{flex:1.1}.param-add input{flex:1.3}.add-btn{border:1px solid var(--color-accent-green);width:24px;color:var(--color-accent-green);cursor:pointer;background:#39ff1426;border-radius:4px;flex-shrink:0}.env-grid-local{flex-direction:column;gap:6px;min-height:0;display:flex}.env-boundary-box{background:#00000040;border:1px solid #ffffff0a;border-radius:4px;flex-direction:column;gap:4px;padding:6px;display:flex}.env-cap{color:var(--color-text-tertiary,#7a8aa0);letter-spacing:.5px;font-size:.64rem}.boundary-grid{justify-content:space-between;align-items:center;gap:8px;width:100%;display:flex}.boundary-row{flex:1;align-items:center;gap:3px;display:flex}.boundary-row .axis{color:#ffffff73;width:15px;font-size:.76rem;font-weight:700}.boundary-row .axis.z-axis{white-space:nowrap;width:48px}.boundary-row input{color:#fff;width:100%;height:20px;font-family:var(--font-mono);background:#00000059;border:1px solid #ffffff26;border-radius:3px;min-width:0;padding:0 3px;font-size:.75rem}.boundary-row .range-to{color:#ffffff40;font-size:.65rem}.env-obstacles-box{flex-direction:column;flex:1;gap:4px;min-height:0;display:flex}.env-cap-row{justify-content:space-between;align-items:center;margin:2px 0 1px;display:flex}.obs-inputs{gap:3px;display:flex}.obs-inputs input{width:32px;height:18px;color:var(--color-accent-blue);font-family:var(--font-mono);text-align:center;background:#0000004d;border:1px solid #ffffff26;border-radius:2px;padding:0;font-size:.72rem}.env-obstacles-box .params-table td{padding:4px 2px}.fence-scroll{background:#04060a73;border:1px solid #ffffff0d;border-radius:4px;flex:1;min-height:60px;padding:5px 6px;overflow-y:auto}.t-btn{border:1px solid var(--color-border);color:var(--color-text-secondary);cursor:pointer;background:#00000059;border-radius:5px;justify-content:center;align-items:center;gap:3px;padding:4px 8px;font-size:.7rem;transition:all .15s;display:inline-flex}.t-btn:hover{border-color:var(--color-accent-blue);color:var(--color-accent-blue)}.t-btn.primary{border-color:var(--color-accent-green);color:var(--color-accent-green)}.t-btn.primary:hover{background:#39ff1426}.t-btn.block{width:100%;padding:3px 8px}.t-btn.tiny{padding:1px 6px;font-size:.64rem}.sync-env-btn{line-weight:1;height:30px;margin-top:4px;font-weight:700}.app-layout[data-v-8d9a9cbd]{background:radial-gradient(circle,#101926 0%,#05080c 100%);flex-direction:column;gap:0;width:100vw;height:100vh;padding:10px;display:flex;overflow:hidden}.app-header[data-v-8d9a9cbd]{z-index:100;flex-shrink:0;justify-content:space-between;align-items:center;height:60px;margin-bottom:10px;padding:0 20px;display:flex;position:relative}.logo[data-v-8d9a9cbd]{color:var(--color-accent-blue);align-items:center;gap:10px;display:flex}.logo h1[data-v-8d9a9cbd]{letter-spacing:2px;margin:0;font-size:1.2rem;font-weight:700}.header-right[data-v-8d9a9cbd]{align-items:center;gap:18px;display:flex}.mode-link[data-v-8d9a9cbd]{color:var(--color-accent-green);border:1px solid var(--color-border);border-radius:6px;padding:4px 10px;font-size:.82rem;text-decoration:none;transition:all .2s}.mode-link[data-v-8d9a9cbd]:hover{color:var(--color-accent-blue);border-color:var(--color-accent-blue)}.system-status[data-v-8d9a9cbd]{font-size:.85rem;font-family:var(--font-mono);color:var(--color-accent-green);align-items:center;gap:8px;display:flex}.status-indicator[data-v-8d9a9cbd]{background-color:var(--color-accent-green);width:8px;height:8px;box-shadow:0 0 8px var(--color-accent-green);border-radius:50%;animation:2s infinite pulse-8d9a9cbd}.status-indicator.disconnected[data-v-8d9a9cbd]{background-color:#64748b;box-shadow:0 0 6px #64748b}.status-indicator.connecting[data-v-8d9a9cbd]{background-color:var(--color-accent-yellow);box-shadow:0 0 8px var(--color-accent-yellow)}.status-indicator.error[data-v-8d9a9cbd]{background-color:var(--color-accent-red);box-shadow:0 0 8px var(--color-accent-red)}@keyframes pulse-8d9a9cbd{0%{opacity:1;box-shadow:0 0 8px var(--color-accent-green)}50%{opacity:.5;box-shadow:0 0 2px var(--color-accent-green)}to{opacity:1;box-shadow:0 0 8px var(--color-accent-green)}}.app-main[data-v-8d9a9cbd]{flex-shrink:0;gap:0;min-height:0;display:flex}.view-3d-wrapper[data-v-8d9a9cbd]{flex:1;height:100%}.sidebar-wrapper[data-v-8d9a9cbd]{height:100%}.resizer-v[data-v-8d9a9cbd]{cursor:col-resize;-webkit-user-select:none;user-select:none;background:0 0;flex-shrink:0;justify-content:center;align-self:stretch;align-items:center;width:10px;transition:all .2s;display:flex}.resizer-v[data-v-8d9a9cbd]:hover{background:#00f0ff0a}.drag-indicator-v[data-v-8d9a9cbd]{background:#ffffff26;border-radius:1px;width:2px;height:30px;transition:all .2s}.resizer-v:hover .drag-indicator-v[data-v-8d9a9cbd],.resizer-v:active .drag-indicator-v[data-v-8d9a9cbd]{background:var(--color-accent-blue);box-shadow:0 0 8px var(--color-accent-blue);height:60px}.resizer-h[data-v-8d9a9cbd]{cursor:row-resize;-webkit-user-select:none;user-select:none;background:0 0;flex-shrink:0;justify-content:center;align-items:center;width:100%;height:10px;transition:all .2s;display:flex}.resizer-h[data-v-8d9a9cbd]:hover{background:#00f0ff0a}.drag-indicator-h[data-v-8d9a9cbd]{background:#ffffff26;border-radius:1px;width:30px;height:2px;transition:all .2s}.resizer-h:hover .drag-indicator-h[data-v-8d9a9cbd],.resizer-h:active .drag-indicator-h[data-v-8d9a9cbd]{background:var(--color-accent-blue);box-shadow:0 0 8px var(--color-accent-blue);width:60px}.app-footer[data-v-8d9a9cbd]{flex-shrink:0;width:100%}
