:root{--bg-primary: #0f172a;--bg-secondary: #1e293b;--bg-card: rgba(30, 41, 59, .85);--border-color: #334155;--text-main: #f8fafc;--text-muted: #94a3b8;--accent-blue: #38bdf8;--accent-green: #22c55e;--accent-red: #ef4444;--accent-yellow: #facc15}*{box-sizing:border-box;margin:0;padding:0}body,html{width:100%;height:100%;overflow:hidden;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;background-color:var(--bg-primary);color:var(--text-main)}#app-container{position:relative;width:100vw;height:100vh}#viewport-container{position:absolute;top:0;left:0;width:100%;height:100%;z-index:1}.fll-hud-root{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:10;display:flex;flex-direction:column}.hud-topbar,.hud-activity-bar,.hud-drawer-panel,.hud-floating-terminal,.hud-telemetry-panel,.hud-telemetry-dock,.hud-sandbox-toolbar,.hud-profiler-modal,.hud-robot-design-modal,.hud-popout-code-modal{pointer-events:auto}.hud-topbar{display:flex;justify-content:space-between;align-items:center;padding:8px 18px;height:56px;background:#0f172af2;backdrop-filter:blur(12px);border-bottom:1px solid var(--border-color);z-index:30}.hud-brand{display:flex;align-items:center;gap:10px}.hud-logo{font-size:22px}.hud-title,.hud-brand-title{font-size:16px;font-weight:700;letter-spacing:-.4px}.hud-badge{font-size:10px;font-weight:600;background:#0284c7;color:#fff;padding:2px 7px;border-radius:10px}.hud-top-center{display:flex;align-items:center;gap:16px}.hud-timer-card{display:flex;align-items:center;gap:8px;background:var(--bg-secondary);border:1px solid var(--border-color);padding:4px 12px;border-radius:8px}.timer-label{font-size:10px;color:var(--text-muted);font-weight:600}.timer-value{font-family:monospace;font-size:16px;font-weight:700;color:var(--accent-yellow)}.hud-camera-buttons{display:flex;gap:6px}.hud-focus-container{display:flex;align-items:center;gap:8px;background:var(--bg-secondary);border:1px solid var(--border-color);padding:4px 10px;border-radius:8px}.hud-top-right{display:flex;align-items:center;gap:8px}.hud-label-inline{font-size:12px;color:var(--text-muted);font-weight:600;white-space:nowrap}.hud-select-sm{padding:4px 8px;font-size:12px;border-radius:6px}.hud-activity-bar{position:absolute;top:56px;left:0;bottom:0;width:48px;background:#0f172af5;border-right:1px solid var(--border-color);display:flex;flex-direction:column;align-items:center;padding:10px 0;gap:6px;z-index:25;pointer-events:auto;backdrop-filter:blur(14px)}.activity-btn{width:42px;height:44px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:transparent;border:none;border-radius:8px;color:#94a3b8;cursor:pointer;position:relative;transition:all .15s ease;padding:2px;gap:2px}.activity-btn:hover{background:#ffffff14;color:#f8fafc}.activity-btn.active{background:#38bdf824;color:#38bdf8;border-left:3px solid #38bdf8;border-top-left-radius:2px;border-bottom-left-radius:2px}.act-icon{font-size:17px;line-height:1}.act-label{font-size:8.5px;font-weight:700;letter-spacing:-.2px;text-transform:uppercase}.act-badge{position:absolute;top:2px;right:2px;background:#0284c7;color:#fff;font-size:8px;font-weight:700;padding:1px 4px;border-radius:999px;min-width:14px;text-align:center}.act-spacer{flex:1}.hud-drawer-panel{position:absolute;top:56px;left:48px;bottom:0;width:440px;min-width:320px;max-width:800px;background:#0f172af2;backdrop-filter:blur(14px);border-right:1px solid var(--border-color);z-index:20;pointer-events:auto;display:flex;flex-direction:column;box-shadow:10px 0 25px #00000080}.drawer-panel-header{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;background:#1e293bb3;border-bottom:1px solid var(--border-color)}.drawer-panel-title-group{display:flex;align-items:center;gap:8px}.drawer-panel-icon{font-size:16px}.drawer-panel-title{font-size:13px;font-weight:700;color:#f8fafc}.drawer-view-content{flex:1;display:flex;flex-direction:column;overflow:hidden;padding:12px 14px;gap:10px}.hud-panel-resizer{position:absolute;top:0;right:-3px;width:6px;bottom:0;cursor:col-resize;z-index:30;background:transparent;transition:background .15s ease}.hud-panel-resizer:hover,.hud-panel-resizer:active{background:#38bdf8}.hud-sandbox-toolbar{position:absolute;top:70px;left:510px;right:20px;background:var(--bg-card);backdrop-filter:blur(12px);border:1px solid var(--border-color);border-radius:10px;padding:8px 16px;display:flex;align-items:center;gap:12px;z-index:15;pointer-events:auto;box-shadow:0 10px 15px -3px #0006}.hud-sandbox-toolbar button{pointer-events:auto;cursor:pointer}.sandbox-badge{font-size:11px;font-weight:700;color:var(--accent-blue);letter-spacing:.5px;margin-right:6px}.mission-select-container{display:flex;flex-direction:column;gap:4px;flex:1}.mission-select-container label{font-size:11px;color:var(--text-muted);font-weight:600}.hud-select{background:var(--bg-secondary);color:var(--text-main);border:1px solid var(--border-color);padding:6px 10px;border-radius:6px;font-size:13px;outline:none}.status-indicator{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:700;padding:4px 8px;background:var(--bg-secondary);border-radius:6px;border:1px solid var(--border-color)}.status-dot{width:8px;height:8px;border-radius:50%}.status-idle{background:#64748b}.status-running{background:var(--accent-green);box-shadow:0 0 8px var(--accent-green)}.status-error{background:var(--accent-red)}.script-tabs-bar{display:flex;align-items:center;justify-content:space-between;gap:6px;background:var(--bg-secondary);border:1px solid var(--border-color);border-bottom:none;border-radius:8px 8px 0 0;padding:4px 6px}.script-tabs-list{display:flex;align-items:center;gap:4px;overflow-x:auto;scrollbar-width:thin;flex:1}.script-tab{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;background:#ffffff0a;border:1px solid transparent;border-radius:6px;font-size:11px;font-weight:500;color:var(--text-muted);cursor:pointer;white-space:nowrap;user-select:none;transition:all .15s ease}.script-tab:hover{background:#ffffff14;color:var(--text-primary)}.script-tab.active{background:#1e293b;border-color:var(--accent-blue);color:#38bdf8;font-weight:600}.tab-title{max-width:110px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tab-close-btn{background:transparent;border:none;color:var(--text-muted);font-size:11px;padding:0 2px;cursor:pointer;border-radius:3px;line-height:1}.btn-new-tab{padding:3px 8px;font-size:11px;white-space:nowrap;flex-shrink:0}.code-editor-header-bar{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 8px;background:var(--bg-secondary);border:1px solid var(--border-color);border-top:none;border-bottom:1px solid rgba(255,255,255,.08)}.editor-view-mode-toggle{display:flex;align-items:center;gap:4px}.editor-view-mode-toggle .btn{padding:4px 10px;font-size:11px;border-radius:6px;font-weight:600}.editor-view-mode-toggle .btn.active{background:#38bdf8;color:#0f172a;border-color:#38bdf8;box-shadow:0 0 10px #38bdf84d}.editor-import-actions .file-upload-btn{padding:4px 10px;font-size:11px;cursor:pointer;background:#0284c7;color:#fff;border:none;font-weight:600;border-radius:6px;transition:background .15s ease}.editor-import-actions .file-upload-btn:hover{background:#0369a1}.code-editor-container{flex:1;min-height:220px;display:flex;position:relative}.drag-over-active{outline:2px dashed #38bdf8!important;background:#38bdf814!important}#python-code-editor{width:100%;height:100%;background:#090d16;color:#38bdf8;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:13px;line-height:1.5;padding:12px;border:1px solid var(--border-color);border-top:none;border-bottom-left-radius:8px;border-bottom-right-radius:8px;resize:none;outline:none;white-space:pre}.word-blocks-container{width:100%;height:100%;max-height:480px;background:#090d16;border:1px solid var(--border-color);border-top:none;border-bottom-left-radius:8px;border-bottom-right-radius:8px;padding:12px;overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;box-sizing:border-box}.word-blocks-stack{display:flex;flex-direction:column;gap:5px}.word-blocks-stack-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;padding-bottom:6px;border-bottom:1px solid #e2e8f0}.word-blocks-stack-header .stack-title{font-size:12px;font-weight:800;color:#1e293b}.word-blocks-stack-header .stack-count{font-size:10px;color:#64748b;background:#f1f5f9;border:1px solid #e2e8f0;padding:2px 6px;border-radius:10px;font-weight:700}.word-block{display:flex;flex-direction:column;border-radius:8px;background:var(--block-color, #0094f7);box-shadow:0 2px 5px #0000002e,inset 0 1px #ffffff4d;user-select:none;transition:transform .1s ease,box-shadow .1s ease;width:fit-content;max-width:100%;position:relative;margin-bottom:2px}.word-block:hover{transform:translateY(-1px);box-shadow:0 4px 8px #00000040,inset 0 1px #fff6}.word-block:not(.word-block-hat):before{content:"";position:absolute;top:0;left:16px;width:16px;height:4px;background:#fafbfc;border-bottom-left-radius:3px;border-bottom-right-radius:3px;z-index:2}.word-block:not(.word-block-control-clamp):after{content:"";position:absolute;bottom:-4px;left:16px;width:16px;height:4px;background:var(--block-color, #0094f7);border-bottom-left-radius:3px;border-bottom-right-radius:3px;z-index:3}.word-block-hat{border-top-left-radius:20px;border-top-right-radius:20px;position:relative;margin-bottom:3px}.word-block-hat .word-block-body{padding-top:10px;padding-bottom:8px}.word-block-body{display:flex;align-items:center;flex-wrap:wrap;gap:6px;padding:6px 12px;color:#fff;font-size:12px;font-weight:700;line-height:1.4;position:relative}.btn-delete-block{margin-left:6px;background:#00000040;border:none;border-radius:50%;color:#fff;font-size:10px;width:16px;height:16px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;opacity:0;transition:opacity .15s ease,background .15s ease;user-select:none;line-height:1}.word-block:hover .btn-delete-block{opacity:.75}.btn-delete-block:hover{opacity:1!important;background:#ef4444d9}.word-block-icon{font-size:14px;display:inline-flex;align-items:center;justify-content:center;margin-right:2px}.word-block-label{display:inline-flex;align-items:center;flex-wrap:wrap;gap:4px}.word-block-pill{display:inline-flex;align-items:center;background:#fff;color:#0f172a;padding:2px 9px;border-radius:999px;font-size:11px;font-weight:800;box-shadow:inset 0 1px 2px #00000026;margin:0 2px;white-space:nowrap;text-shadow:none;line-height:1.2}.word-block-pill.pill-condition{background:#40bf4a;color:#fff;border:none;border-radius:4px;clip-path:polygon(7px 0%,calc(100% - 7px) 0%,100% 50%,calc(100% - 7px) 100%,7px 100%,0% 50%);padding:3px 12px;font-weight:700;box-shadow:0 1px 3px #0003}.word-block-input-capsule{display:inline-flex;align-items:center;background:#fff;color:#0f172a;padding:2px 9px;border-radius:999px;font-size:11px;font-weight:800;box-shadow:inset 0 1px 2px #00000026;margin:0 2px;white-space:nowrap;text-shadow:none;line-height:1.2}.word-block-var-pill{display:inline-flex;align-items:center;background:#ff661a;color:#fff;padding:2px 10px;border-radius:999px;font-size:11px;font-weight:800;box-shadow:0 1px 2px #0003;margin:0 2px;white-space:nowrap;text-shadow:none;border:1px solid rgba(255,255,255,.35);line-height:1.2}.word-block-control-clamp{background:transparent;box-shadow:none}.word-block-c-top{background:var(--block-color, #ffab19);border-top-left-radius:8px;border-top-right-radius:8px;box-shadow:0 2px 4px #00000026;position:relative}.word-block-children{margin-left:14px;padding:6px 0 6px 12px;border-left:12px solid var(--block-color, #ffab19);display:flex;flex-direction:column;gap:4px;min-height:24px;position:relative}.word-block-empty-slot{font-size:11px;color:#64748b;padding:4px 8px}.word-block-else-divider{background:var(--block-color, #ffab19);border-radius:4px;margin-top:2px;box-shadow:0 2px 4px #00000026}.word-block-c-bottom{height:14px;background:var(--block-color, #ffab19);border-bottom-left-radius:8px;border-bottom-right-radius:8px;box-shadow:0 2px 4px #00000026;position:relative;display:flex;align-items:center;justify-content:flex-end;padding-right:8px;width:auto;min-width:60px}.c-bottom-loop-icon{font-size:13px;font-weight:900;color:#ffffffe6;line-height:1}.word-blocks-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;height:100%;padding:24px 16px;color:#94a3b8}.word-blocks-empty .empty-icon{font-size:36px;margin-bottom:8px}.word-blocks-empty .empty-title{font-size:15px;font-weight:700;color:#f1f5f9;margin-bottom:6px}.word-blocks-empty .empty-desc{font-size:12px;line-height:1.5;max-width:300px;margin-bottom:16px;color:#94a3b8}.word-blocks-empty .empty-action-row{margin-bottom:12px}.word-blocks-empty .empty-subtext{font-size:11px;color:#64748b}.hud-action-bar{display:flex;gap:8px}.btn{border:none;padding:8px 16px;border-radius:6px;font-size:13px;font-weight:600;cursor:pointer;transition:all .15s ease;display:inline-flex;align-items:center;justify-content:center;gap:6px}.btn:disabled{opacity:.4;cursor:not-allowed}.btn-sm{padding:6px 12px;font-size:12px}.btn-xs{padding:4px 8px;font-size:11px}.btn-primary{background:#16a34a;color:#fff;flex:1}.btn-primary:hover:not(:disabled){background:#15803d}.btn-danger{background:#dc2626;color:#fff;flex:1}.btn-danger:hover:not(:disabled){background:#b91c1c}.btn-warning{background:#475569;color:#fff}.btn-warning:hover:not(:disabled){background:#334155}.btn-outline{background:var(--bg-secondary);color:var(--text-main);border:1px solid var(--border-color)}.btn-outline.active,.btn-outline:hover{background:#0284c7;color:#fff;border-color:#0284c7}.btn-secondary{background:#334155;color:#fff}.btn-secondary:hover{background:#475569}.console-card{height:110px;background:#090d16;border:1px solid var(--border-color);border-radius:8px;display:flex;flex-direction:column;overflow:hidden}.console-title,.console-title-bar{display:flex;justify-content:space-between;align-items:center;font-size:10px;font-weight:700;color:var(--text-muted);background:#0f172a;padding:4px 8px 4px 10px;border-bottom:1px solid var(--border-color)}.console-text{font-family:monospace;font-size:11px;padding:8px 10px;overflow-y:auto;flex:1;color:#a7f3d0;line-height:1.4}.drawer-camera-focus-bar{display:flex;align-items:center;gap:6px;padding:8px 12px;background:#1e293bb3;border-bottom:1px solid var(--border-color);font-size:11px;flex-shrink:0}.focus-bar-label{font-weight:600;color:var(--text-muted);margin-right:2px;white-space:nowrap}.hud-program-selector{display:flex;align-items:center;gap:8px;background:var(--bg-secondary);border:1px solid var(--border-color);padding:4px 10px;border-radius:8px}.fastener-utility-container{display:flex;flex-direction:column;gap:12px;padding:12px;overflow-y:auto;height:100%}.fastener-mode-toggle-group{display:flex;gap:6px;margin-bottom:8px}.fastener-tool-status-banner{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:8px;font-size:11px;line-height:1.4;background:#0ea5e91f;border:1px solid rgba(56,189,248,.3);color:#7dd3fc;transition:all .2s ease}.fastener-tool-status-banner.banner-erase{background:#ef444426;border-color:#f8717166;color:#fca5a5}.fastener-tool-status-banner.banner-off{background:#47556933;border-color:#64748b4d;color:#94a3b8}.fastener-batch-btn-row,.fastener-layout-actions-row{display:flex;gap:8px;margin-bottom:6px}.fastener-batch-btn-row .btn,.fastener-layout-actions-row .btn{flex:1}.fastener-layout-file-row{display:flex;gap:8px}.fastener-elements-roster{display:flex;flex-direction:column;gap:6px;max-height:280px;overflow-y:auto;padding-right:4px}.fastener-roster-item{display:flex;align-items:center;justify-content:space-between;gap:8px;background:#0f172a99;border:1px solid var(--border-color);border-radius:8px;padding:6px 10px;transition:background .15s ease}.fastener-roster-item:hover{background:#1e293bcc}.roster-item-info{display:flex;align-items:center;gap:6px;overflow:hidden;flex:1}.roster-item-name{font-size:11px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--text-primary)}.roster-item-details{display:flex;flex-direction:column;gap:2px;overflow:hidden}.roster-item-status-label{font-size:10px;color:var(--text-muted)}.fastener-roster-item.item-locked{border-left:3px solid #06b6d4}.fastener-roster-item.item-dynamic{border-left:3px solid #64748b}.btn-erase-item{border-color:#ef444466;color:#f87171}.btn-erase-item:hover{background:#ef444433;border-color:#ef4444}.roster-item-actions{display:flex;gap:4px;flex-shrink:0}.hud-pointer-tool-badge{position:fixed;pointer-events:none;z-index:500;display:flex;align-items:center;gap:6px;padding:4px 10px;background:#0f172af2;backdrop-filter:blur(8px);border:1px solid #38bdf8;border-radius:20px;font-size:11px;font-weight:600;color:#38bdf8;box-shadow:0 4px 16px #0009;white-space:nowrap;transform:translate(12px,12px);transition:opacity .1s ease}.hud-pointer-tool-badge.badge-erase{border-color:#ef4444;color:#f87171;background:#1e0a0ff2}.btn-erase-all{border-color:#ef444466;color:#f87171}.btn-erase-all:hover{background:#ef444433;border-color:#ef4444}.btn-fixed{background:#10b98133;color:#34d399;border:1px solid rgba(52,211,153,.4)}.btn-fixed:hover{background:#10b98159}.btn-dynamic{background:#38bdf833;color:#38bdf8;border:1px solid rgba(56,189,248,.4)}.btn-dynamic:hover{background:#38bdf859}.hud-telemetry-dock,.hud-telemetry-panel{position:absolute;background:#0f172af0;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--border-color);box-shadow:0 20px 35px -5px #000000a6,0 0 0 1px #ffffff0d;display:flex;flex-direction:column;z-index:30;overflow:hidden;user-select:none;transition:height .16s cubic-bezier(.16,1,.3,1),width .16s cubic-bezier(.16,1,.3,1)}.hud-telemetry-dock.dock-bottom{bottom:0;left:48px;right:0;height:220px;min-height:180px;max-height:calc(100vh - 80px);border-bottom:none;border-right:none;border-left:1px solid var(--border-color);border-top:1px solid var(--border-color);border-radius:10px 0 0}.hud-telemetry-dock.dock-bottom .telem-tabs-bar{display:none!important}.hud-telemetry-dock.dock-bottom .telem-body{display:flex;flex-direction:row;gap:12px;flex:1;min-height:0;padding:8px 12px;overflow:hidden}.hud-telemetry-dock.dock-bottom .telem-dock-left{flex:1.2;min-width:0;display:flex;flex-direction:column;height:100%;border-right:1px solid rgba(51,65,85,.45);padding-right:12px;overflow:hidden}.hud-telemetry-dock.dock-bottom .telem-dock-right{flex:.8;min-width:0;display:flex;flex-direction:column;height:100%;overflow:hidden}.hud-telemetry-dock.dock-bottom .telem-dock-right .telem-content-logs{flex:1;display:flex;flex-direction:column;height:100%;min-height:0}.hud-telemetry-dock.dock-bottom .telem-log-stream{flex:1;min-height:0;overflow-y:auto}.hud-telemetry-dock.dock-bottom .telem-resizer-n{top:0;left:0;width:100%;height:6px;cursor:ns-resize;z-index:35}.hud-telemetry-dock.dock-bottom .telem-resizer-w,.hud-telemetry-dock.dock-bottom .telem-resizer-nw{display:none}.hud-telemetry-dock.dock-right{top:56px;right:0;bottom:0;width:420px;min-width:320px;max-width:calc(100vw - 60px);border-top:none;border-right:none;border-bottom:none;border-left:1px solid var(--border-color);border-radius:0}.hud-telemetry-dock.dock-right .telem-left-tabs-bar{display:none!important}.hud-telemetry-dock.dock-right .telem-body{display:flex;flex-direction:column;flex:1;min-height:0;padding:10px;overflow-y:auto}.hud-telemetry-dock.dock-right .telem-dock-left,.hud-telemetry-dock.dock-right .telem-dock-right{flex:1;display:flex;flex-direction:column;min-height:0}.hud-telemetry-dock.dock-right .telem-resizer-w{left:0;top:0;width:6px;height:100%;cursor:ew-resize;z-index:35}.hud-telemetry-dock.dock-right .telem-resizer-n,.hud-telemetry-dock.dock-right .telem-resizer-nw{display:none}.hud-telemetry-dock.dock-collapsed{height:32px!important;min-height:32px!important;max-height:32px!important;overflow:hidden!important;box-shadow:0 -4px 14px #00000073}.hud-telemetry-dock.dock-bottom.dock-collapsed{bottom:0;left:48px;right:0}.hud-telemetry-dock.dock-right.dock-collapsed{top:auto;bottom:0;right:0;width:560px;max-width:calc(100vw - 60px);border-radius:8px 0 0;border-top:1px solid var(--border-color)}.hud-telemetry-dock.dock-collapsed .telem-body,.hud-telemetry-dock.dock-collapsed .telem-tabs-bar,.hud-telemetry-dock.dock-collapsed .telem-resizer{display:none!important}.hud-telemetry-dock.dock-collapsed .telem-modal-header{height:32px;padding:4px 12px;background:#0f172afa;border-bottom:none}.telem-mini-summary{display:flex;align-items:center;gap:8px;background:#1e293bb3;border:1px solid rgba(56,189,248,.25);border-radius:4px;padding:2px 10px;font-family:JetBrains Mono,Fira Code,monospace;font-size:11px;white-space:nowrap;user-select:none}.telem-sum-item{color:#f1f5f9;font-weight:600}.telem-sum-sep{color:#475569}.telem-expand-btn{margin-left:6px;font-size:10px;font-weight:700;padding:1px 8px;height:20px;cursor:pointer;line-height:1}.telem-version-badge{display:inline-flex;align-items:center;font-family:JetBrains Mono,Fira Code,monospace;font-size:10px;font-weight:700;letter-spacing:.3px;color:#38bdf8;background:#38bdf81f;border:1px solid rgba(56,189,248,.3);padding:1px 6px;border-radius:4px;user-select:none;white-space:nowrap;flex-shrink:0;transition:all .15s ease}.telem-version-badge:hover{background:#38bdf838;border-color:#38bdf880;color:#7dd3fc}.telem-sum-item.telem-version-badge{font-size:10px;padding:1px 5px;background:#38bdf826;border-radius:3px;color:#38bdf8}@media(max-width:480px){.telem-version-badge{font-size:9px;padding:1px 4px;max-width:120px;overflow:hidden;text-overflow:ellipsis}}.telem-left-tabs-bar{display:flex;align-items:center;gap:6px;margin-bottom:6px;flex-shrink:0}.telem-col-title{font-size:10px;font-weight:800;letter-spacing:.6px;color:var(--text-muted);margin-right:2px}.telem-subtab-btn{padding:2px 8px;border-radius:4px;border:1px solid rgba(51,65,85,.5);background:#1e293b80;color:var(--text-muted);font-size:10px;font-weight:700;cursor:pointer;transition:all .15s ease}.telem-subtab-btn:hover{background:#33415566;color:var(--text-main)}.telem-subtab-btn.active{background:#38bdf826;color:var(--accent-blue);border-color:#38bdf866}.telem-left-content{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;display:flex;flex-direction:column}.telem-dock-left.subview-both .telem-left-content{display:grid;grid-template-columns:1fr 1.1fr;gap:8px;overflow:hidden}.telem-dock-left.subview-both .telem-tab-content{overflow:hidden;min-height:0}.telem-dock-left.subview-both .telem-sensors-grid{display:grid;grid-template-columns:1fr 1fr;gap:5px;height:100%}.telem-dock-left.subview-both .telem-sensors-grid .telem-card-fullwidth{grid-column:span 1}.telem-dock-left.subview-both .telem-sensor-card{padding:4px 8px;gap:2px;border-radius:6px;min-height:0}.telem-dock-left.subview-both .telem-card-title{font-size:10px}.telem-dock-left.subview-both .sensor-badge{font-size:8px;padding:1px 4px}.telem-dock-left.subview-both .sensor-meter-label{font-size:9px}.telem-dock-left.subview-both .sensor-meter-track{height:3px}.telem-dock-left.subview-both .sensor-color-swatch-row,.telem-dock-left.subview-both .telem-gyro-compass{display:none}.telem-dock-left.subview-both .telem-big-stat{font-size:14px}.telem-dock-left.subview-both .telem-subtext{font-size:8px}.telem-dock-left.subview-both .telem-pose-grid,.telem-dock-left.subview-both .telem-motors-toolbar{display:none}.telem-dock-left.subview-both .telem-motors-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;height:100%}.telem-dock-left.subview-both .telem-motor-card{padding:4px 6px;gap:2px;border-radius:6px;min-height:0}.telem-dock-left.subview-both .telem-motor-card-header{margin-bottom:1px}.telem-dock-left.subview-both .telem-motor-port-tag{font-size:9px;padding:0 4px}.telem-dock-left.subview-both .telem-motor-role-title{font-size:9px;margin-left:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.telem-dock-left.subview-both .telem-motor-state-badge{font-size:8px;padding:1px 4px}.telem-dock-left.subview-both .telem-motor-card-stats{font-size:9px;gap:1px}.telem-dock-left.subview-both .telem-stat-row{font-size:9px}.telem-dock-left.subview-both .telem-motor-meter-track{height:3px}.telem-dock-left.subview-detailed .telem-left-content{display:grid;grid-template-columns:1fr 1fr;gap:12px;overflow-y:auto}.telem-dock-left.subview-detailed .telem-tab-content{overflow-y:auto;min-height:0}.telem-resizer{position:absolute;z-index:30}.telem-resizer-w{left:0;top:0;width:8px;height:100%;cursor:ew-resize;background:transparent;transition:background .15s ease}.telem-resizer-w:hover,.telem-resizer-w:active{background:#38bdf84d}.telem-resizer-n{left:0;top:0;width:100%;height:8px;cursor:ns-resize;background:transparent;transition:background .15s ease}.telem-resizer-n:hover,.telem-resizer-n:active{background:#38bdf84d}.telem-resizer-nw{left:0;top:0;width:14px;height:14px;cursor:nwse-resize;background:transparent;transition:background .15s ease;z-index:35}.telem-resizer-nw:hover,.telem-resizer-nw:active{background:#38bdf899;border-bottom-right-radius:4px}.telem-modal-header{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;background:#0f172ae6;border-bottom:1px solid var(--border-color);flex-shrink:0}.telem-header-left{display:flex;align-items:center;gap:8px}.telem-header-icon{font-size:15px}.telem-header-title{font-size:12px;font-weight:800;letter-spacing:.5px;color:var(--text-main)}.telem-header-actions{display:flex;align-items:center;gap:6px}.telem-tabs-bar{display:flex;gap:4px;padding:6px 10px;background:#0f172a99;border-bottom:1px solid rgba(51,65,85,.5);flex-shrink:0}.telem-tab-btn{display:flex;align-items:center;gap:6px;padding:6px 12px;border-radius:6px;border:1px solid transparent;background:transparent;color:var(--text-muted);font-size:11px;font-weight:600;cursor:pointer;transition:all .15s ease}.telem-tab-btn:hover{background:#33415566;color:var(--text-main)}.telem-tab-btn.active{background:#38bdf826;color:var(--accent-blue);border-color:#38bdf866}.telem-tab-badge{font-size:9px;font-weight:700;padding:1px 5px;border-radius:10px;background:#33415599;color:var(--text-muted)}.telem-tab-btn.active .telem-tab-badge{background:#38bdf84d;color:var(--accent-blue)}.badge-logs-count{background:#f59e0b33;color:#fbbf24}.telem-body{flex:1;overflow-y:auto;overflow-x:hidden;padding:12px;display:flex;flex-direction:column}.telem-tab-content{flex:1;display:flex;flex-direction:column}.telem-sensors-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:10px}.telem-sensor-card{background:#0f172ab3;border:1px solid rgba(51,65,85,.5);border-radius:8px;padding:10px 12px;display:flex;flex-direction:column;gap:8px}.telem-card-fullwidth{grid-column:1 / -1}.telem-card-header{display:flex;justify-content:space-between;align-items:center}.telem-card-title{font-size:11px;font-weight:700;color:var(--text-main)}.telem-gyro-row{display:flex;align-items:center;gap:14px}.telem-big-stat{font-size:20px;font-weight:800;font-family:monospace;color:var(--accent-yellow)}.telem-subtext{font-size:10px;color:var(--text-muted)}.telem-pose-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.pose-stat-box{background:#1e293b99;border:1px solid rgba(51,65,85,.4);border-radius:6px;padding:6px 10px;display:flex;flex-direction:column}.pose-stat-box .label{font-size:10px;color:var(--text-muted);font-weight:600}.pose-stat-box .value{font-size:13px;font-family:monospace;font-weight:700;margin-top:2px}.telem-motors-toolbar{display:flex;justify-content:space-between;align-items:center;padding-bottom:10px;margin-bottom:10px;border-bottom:1px solid rgba(51,65,85,.4);font-size:11px}.telem-drivebase-summary{color:var(--text-muted)}.telem-drivebase-summary b{color:var(--accent-blue)}.telem-motor-actions{display:flex;gap:6px}.telem-motors-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:10px}.telem-motor-card{background:#0f172ab3;border:1px solid rgba(51,65,85,.5);border-radius:8px;padding:10px 12px;display:flex;flex-direction:column;gap:8px}.telem-motor-card-header{display:flex;justify-content:space-between;align-items:center}.telem-motor-port-tag{font-size:10px;font-weight:800;background:#38bdf826;color:var(--accent-blue);border:1px solid rgba(56,189,248,.3);padding:1px 6px;border-radius:4px}.telem-motor-role-title{font-size:11px;font-weight:600;color:var(--text-main);flex:1;margin-left:8px}.telem-motor-state-badge{font-size:9px;font-weight:800;padding:2px 6px;border-radius:4px}.telem-motor-state-badge.state-idle{background:#64748b33;color:#94a3b8;border:1px solid rgba(148,163,184,.3)}.telem-motor-state-badge.state-running{background:#10b98133;color:#34d399;border:1px solid rgba(52,211,153,.4)}.telem-motor-state-badge.state-braking{background:#f59e0b33;color:#fbbf24;border:1px solid rgba(251,191,36,.4)}.telem-motor-card-stats{display:flex;flex-direction:column;gap:4px;font-size:11px}.telem-stat-row{display:flex;justify-content:space-between;align-items:center}.telem-stat-row .label{color:var(--text-muted)}.telem-stat-row .value{font-family:monospace;font-weight:600}.telem-stat-row .highlight{color:var(--accent-blue)}.telem-motor-meter-track{height:6px;background:#1e293bcc;border-radius:3px;overflow:hidden;position:relative;border:1px solid rgba(51,65,85,.4)}.telem-motor-meter-fill{height:100%;width:50%;background:linear-gradient(90deg,#38bdf8,#10b981);transition:width .08s ease}.telem-logs-toolbar{display:flex;justify-content:space-between;align-items:center;padding-bottom:8px;margin-bottom:8px;border-bottom:1px solid rgba(51,65,85,.4);flex-shrink:0}.telem-logs-filters{display:flex;gap:4px}.telem-logs-filters .filter-btn.active{background:#38bdf833;color:var(--accent-blue);border-color:#38bdf866}.telem-logs-actions{display:flex;align-items:center;gap:10px}.telem-autoscroll-label{font-size:10px;color:var(--text-muted);display:flex;align-items:center;gap:4px;cursor:pointer}.telem-log-stream{flex:1;overflow-y:auto;background:#090d16;border:1px solid rgba(51,65,85,.5);border-radius:6px;padding:8px;font-family:Fira Code,monospace;font-size:11px;display:flex;flex-direction:column;gap:4px;min-height:200px}.telem-log-empty{color:#64748b;font-style:italic;padding:12px;text-align:center}.telem-log-entry{display:flex;align-items:baseline;gap:8px;padding:2px 4px;border-radius:4px;line-height:1.4;word-break:break-word}.telem-log-entry:hover{background:#ffffff08}.telem-log-time{color:#64748b;font-size:10px;flex-shrink:0}.telem-log-badge{font-size:9px;font-weight:800;padding:1px 5px;border-radius:3px;flex-shrink:0}.badge-cmd{background:#9333ea33;color:#c084fc}.badge-drive{background:#38bdf833;color:#38bdf8}.badge-brake{background:#f59e0b40;color:#fbbf24}.badge-stop{background:#ef444433;color:#f87171}.badge-motor{background:#10b98133;color:#34d399}.badge-physics{background:#6366f133;color:#818cf8}.telem-log-msg{color:#cbd5e1;flex:1}.telem-spawn-section{margin-top:12px;padding-top:10px;border-top:1px solid var(--border-color);display:flex;flex-direction:column;gap:8px}.telem-subheading{display:flex;justify-content:space-between;align-items:center;font-size:10px;font-weight:700;color:var(--accent-blue);letter-spacing:.5px}.spawn-inputs-row{display:grid;grid-template-columns:1fr 1fr 1fr;gap:6px}.spawn-input-group{display:flex;flex-direction:column;gap:2px}.spawn-input-group label{font-size:10px;color:var(--text-muted);font-weight:600}.spawn-input-group input{background:#090d16;border:1px solid var(--border-color);color:var(--accent-yellow);font-family:monospace;font-size:12px;font-weight:600;padding:4px 6px;border-radius:4px;width:100%;outline:none;transition:border-color .15s ease}.spawn-input-group input:focus{border-color:var(--accent-blue)}.spawn-actions-row,.spawn-presets-row,.spawn-rotate-row,.spawn-heading-chips{display:flex;gap:4px;flex-wrap:wrap}.spawn-actions-row button,.spawn-presets-row button,.spawn-rotate-row button,.spawn-heading-chips button{flex:1;white-space:nowrap}.rotate-label{font-size:10px;color:var(--text-muted);font-weight:600;display:flex;align-items:center;margin-right:2px}.badge-count{display:inline-block;background:#3b82f6;color:#fff;border-radius:999px;padding:1px 6px;font-size:10px;font-weight:700;margin-left:4px}.btn-ghost{background:transparent;border:1px solid rgba(255,255,255,.1);color:var(--text-muted)}.btn-ghost:hover{background:#ffffff14;color:var(--text-main)}.hud-asset-drawer{position:absolute;top:56px;right:16px;width:360px;max-height:calc(100vh - 80px);background:#0f172af2;backdrop-filter:blur(14px);border:1px solid var(--border-color);border-radius:12px;box-shadow:0 16px 36px #0009;z-index:25;pointer-events:auto;display:flex;flex-direction:column;overflow:hidden;animation:slideDrawer .2s cubic-bezier(.16,1,.3,1)}@keyframes slideDrawer{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}.drawer-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:#1e293bb3;border-bottom:1px solid var(--border-color)}.drawer-title-group{display:flex;align-items:center;gap:8px}.drawer-icon{font-size:18px}.drawer-title{font-size:14px;font-weight:700;color:var(--text-main);letter-spacing:-.3px}.drawer-close-btn{padding:2px 8px;cursor:pointer}.drawer-toolbar{padding:12px 16px;background:#0f172a99;border-bottom:1px solid var(--border-color);display:flex;flex-direction:column;gap:8px}.drawer-toolbar .w-100{width:100%;text-align:center}.drawer-preset-container{display:flex;flex-direction:column;gap:4px;background:#1e293b73;padding:8px 10px;border-radius:6px;border:1px solid rgba(255,255,255,.08)}.drawer-preset-label{font-size:11px;font-weight:600;color:var(--text-muted)}.drawer-preset-controls{display:flex;gap:6px;align-items:center}.drawer-preset-controls select{flex:1}.drawer-content{padding:12px 16px;overflow-y:auto;display:flex;flex-direction:column;gap:12px;max-height:calc(100vh - 280px)}.drawer-card{background:#1e293b99;border:1px solid var(--border-color);border-radius:8px;padding:12px;display:flex;flex-direction:column;gap:8px;transition:border-color .15s ease,background .15s ease}.drawer-card:hover{border-color:#38bdf866;background:#1e293bd9}.drawer-card-header{display:flex;justify-content:space-between;align-items:center}.card-elem-name{font-size:13px;font-weight:700;color:var(--text-main)}.badge{font-size:9px;font-weight:700;padding:2px 6px;border-radius:4px;text-transform:uppercase}.badge-active{background:#22c55e33;color:var(--accent-green);border:1px solid rgba(34,197,94,.3)}.badge-inactive{background:#94a3b826;color:var(--text-muted);border:1px solid rgba(148,163,184,.2)}.card-elem-desc{font-size:11px;color:var(--text-muted);line-height:1.4}.card-actions-row{display:flex;gap:6px}.card-transform-group{margin-top:4px;padding-top:8px;border-top:1px dashed rgba(255,255,255,.1);display:flex;flex-direction:column;gap:6px}.card-inputs-row{display:grid;grid-template-columns:1fr 1fr 1fr;gap:6px}.card-rotate-row{display:flex;gap:4px}.card-rotate-row button{flex:1}.btn-success{background:#16a34a;color:#fff}.btn-success:hover{background:#15803d}.drawer-footer-hint{padding:10px 16px;background:#0f172acc;border-top:1px solid var(--border-color);font-size:11px;color:var(--text-muted);line-height:1.4}.drawer-section-title{font-size:11px;font-weight:700;text-transform:uppercase;color:#38bdf8;letter-spacing:.5px;margin:10px 0 4px;padding-bottom:4px;border-bottom:1px solid rgba(56,189,248,.2)}.drawer-loaded-list{display:flex;flex-direction:column;gap:10px}.season-models-list{display:flex;flex-direction:column;gap:8px}.season-model-card{background:#0f172aa6;border:1px solid rgba(51,65,85,.6);border-radius:8px;padding:8px 12px;display:flex;justify-content:space-between;align-items:center;gap:10px;transition:border-color .15s ease,background .15s ease}.season-model-card:hover{border-color:#38bdf866;background:#1e293bb3}.season-model-info{display:flex;flex-direction:column;gap:2px;min-width:0}.season-model-header{display:flex;align-items:center;gap:6px}.season-badge{font-size:10px;font-weight:700;background:#0284c7;color:#fff;padding:1px 5px;border-radius:4px;flex-shrink:0}.season-model-name{font-size:12px;font-weight:600;color:var(--text-main);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.season-model-desc{font-size:10px;color:var(--text-muted);line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.season-model-action{flex-shrink:0}.field-settings-scroll{display:flex;flex-direction:column;gap:12px;overflow-y:auto;max-height:calc(100vh - 120px);padding-right:4px}.settings-card{background:#1e293b99;border:1px solid var(--border-color);border-radius:8px;padding:12px;display:flex;flex-direction:column;gap:8px;transition:border-color .15s ease,background .15s ease}.settings-card:hover{border-color:#38bdf866;background:#1e293bcc}.settings-card-title{font-size:12px;font-weight:700;color:var(--accent-blue);letter-spacing:.3px;display:flex;align-items:center;gap:6px}.settings-card-desc{font-size:11px;color:var(--text-muted);line-height:1.4}.settings-btn-col{display:flex;flex-direction:column;gap:6px}.terminal-drawer-toolbar{display:flex;justify-content:space-between;align-items:center;padding:8px 10px;background:#0f172acc;border:1px solid var(--border-color);border-radius:6px 6px 0 0}.terminal-status-chip{font-size:10px;font-weight:700;color:var(--accent-green);letter-spacing:.5px}.terminal-drawer-actions{display:flex;gap:6px}.terminal-log-area{flex:1;background:#090d16;border:1px solid var(--border-color);border-top:none;border-radius:0 0 6px 6px;padding:10px 12px;font-family:JetBrains Mono,Fira Code,Courier New,monospace;font-size:11.5px;line-height:1.5;color:#a7f3d0;overflow-y:auto;min-height:250px;word-break:break-word;white-space:pre-wrap}.hud-floating-terminal{position:absolute;top:90px;right:420px;width:520px;height:380px;min-width:340px;min-height:200px;background:#0f172af2;backdrop-filter:blur(16px);border:1px solid var(--border-color);border-radius:12px;box-shadow:0 20px 45px #000000a6;display:flex;flex-direction:column;z-index:35;pointer-events:auto;overflow:hidden;resize:both}.floating-terminal-header{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;background:#1e293bd9;border-bottom:1px solid var(--border-color);cursor:grab;user-select:none}.floating-terminal-header:active{cursor:grabbing}.floating-terminal-title{font-size:12px;font-weight:700;color:#f8fafc;display:flex;align-items:center;gap:6px}.floating-terminal-actions{display:flex;align-items:center;gap:6px}.floating-terminal-body{flex:1;background:#090d16;padding:10px 14px;font-family:JetBrains Mono,Fira Code,Courier New,monospace;font-size:11.5px;line-height:1.5;color:#a7f3d0;overflow-y:auto;word-break:break-word;white-space:pre-wrap}.hud-bottom-fps-meter{display:none!important;position:fixed;bottom:12px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:8px;background:#0f172aeb;border:1px solid rgba(56,189,248,.3);box-shadow:0 4px 14px #00000073,0 0 10px #38bdf826;border-radius:20px;padding:5px 14px;font-size:12px;font-family:JetBrains Mono,Fira Code,monospace,sans-serif;color:#f8fafc;cursor:pointer;pointer-events:auto;z-index:250;backdrop-filter:blur(12px);transition:all .2s cubic-bezier(.4,0,.2,1);user-select:none}.hud-bottom-fps-meter:hover{transform:translate(-50%) translateY(-2px);background:#1e293bfa;border-color:#38bdf8;box-shadow:0 8px 20px #0000008c,0 0 16px #38bdf859}.hud-bottom-fps-meter .fps-pulse-dot{width:8px;height:8px;border-radius:50%;background:#10b981;box-shadow:0 0 8px #10b981;transition:background .3s ease,box-shadow .3s ease}.hud-bottom-fps-meter .fps-pulse-dot.fps-dot-yellow{background:#f59e0b;box-shadow:0 0 8px #f59e0b}.hud-bottom-fps-meter .fps-pulse-dot.fps-dot-red{background:#ef4444;box-shadow:0 0 8px #ef4444}.hud-bottom-fps-meter .fps-val{font-weight:700;color:#38bdf8}.hud-bottom-fps-meter .fps-ms{color:#94a3b8;font-size:11px}.hud-bottom-fps-meter .fps-btn-tag{font-size:11px;font-weight:600;background:#38bdf826;border:1px solid rgba(56,189,248,.35);color:#7dd3fc;padding:1px 7px;border-radius:10px;margin-left:2px}.hud-profiler-modal{position:fixed;top:0;left:0;width:100vw;height:100vh;z-index:300;display:flex;justify-content:center;align-items:center;pointer-events:auto}.profiler-modal-backdrop{position:absolute;top:0;left:0;width:100%;height:100%;background:#0a0f1dbf;backdrop-filter:blur(8px)}.profiler-modal-card{position:relative;width:90%;max-width:680px;max-height:85vh;background:#0f172afa;border:1px solid #334155;border-radius:16px;box-shadow:0 25px 50px -12px #000c,0 0 30px #38bdf826;display:flex;flex-direction:column;overflow:hidden;z-index:10;animation:profilerFadeIn .2s cubic-bezier(.16,1,.3,1)}@keyframes profilerFadeIn{0%{opacity:0;transform:scale(.96) translateY(8px)}to{opacity:1;transform:scale(1) translateY(0)}}.profiler-modal-header{display:flex;justify-content:space-between;align-items:center;padding:14px 20px;background:#1e293bb3;border-bottom:1px solid var(--border-color)}.profiler-header-title{display:flex;align-items:center;gap:12px}.profiler-header-icon{font-size:24px}.profiler-title-main{font-size:15px;font-weight:700;color:#f8fafc}.profiler-subtitle{font-size:11.5px;color:#94a3b8}.profiler-header-actions{display:flex;align-items:center;gap:10px}.profiler-fps-pill{font-size:12px;font-weight:700;background:#0284c7;color:#fff;padding:3px 10px;border-radius:12px;font-family:monospace}.profiler-modal-body{flex:1;padding:16px 20px;overflow-y:auto;display:flex;flex-direction:column;gap:16px}.profiler-banner{display:flex;align-items:flex-start;gap:12px;padding:10px 14px;border-radius:10px;background:#10b9811f;border:1px solid rgba(16,185,129,.3);transition:all .2s ease}.profiler-banner.banner-moderate{background:#f59e0b1f;border-color:#f59e0b59}.profiler-banner.banner-bottleneck{background:#ef44441f;border-color:#ef444459}.banner-icon{font-size:18px;line-height:1}.banner-title{font-size:13px;font-weight:700;color:#f8fafc}.banner-desc{font-size:11.5px;color:#cbd5e1;margin-top:2px}.profiler-budget-section{background:#1e293b80;border:1px solid #334155;border-radius:10px;padding:12px 14px}.budget-header{display:flex;justify-content:space-between;align-items:center;font-size:12px;font-weight:600;color:#cbd5e1;margin-bottom:8px}.budget-bar-track{height:14px;width:100%;background:#0f172a;border-radius:7px;overflow:hidden;display:flex;box-shadow:inset 0 2px 4px #0006}.budget-segment{height:100%;transition:width .15s ease-out}.seg-render{background:#a855f7}.seg-physics{background:#38bdf8}.seg-sync{background:#10b981}.seg-sensors{background:#f59e0b}.seg-idle{background:#334155}.budget-legend{display:flex;flex-wrap:wrap;gap:12px;margin-top:10px;font-size:11px;color:#94a3b8}.legend-item{display:flex;align-items:center;gap:5px}.legend-dot{width:8px;height:8px;border-radius:50%}.dot-render{background:#a855f7}.dot-physics{background:#38bdf8}.dot-sync{background:#10b981}.dot-sensors{background:#f59e0b}.dot-idle{background:#334155}.profiler-cards-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.prof-card{background:#1e293b80;border:1px solid #334155;border-radius:10px;padding:10px 12px}.prof-card-title{font-size:11.5px;font-weight:700;color:#94a3b8;text-transform:uppercase;letter-spacing:.4px}.prof-card-stat{display:flex;align-items:baseline;gap:6px;margin:6px 0}.stat-num{font-size:20px;font-weight:800;color:#f8fafc;font-family:monospace}.stat-unit{font-size:11px;color:#64748b}.prof-substats{font-size:11px;color:#94a3b8;display:flex;flex-direction:column;gap:2px;border-top:1px solid rgba(255,255,255,.06);padding-top:6px}.profiler-recommendations-section{background:#1e293b66;border:1px solid rgba(56,189,248,.2);border-radius:10px;padding:12px 14px}.rec-title{font-size:12px;font-weight:700;color:#38bdf8;margin-bottom:8px}.rec-list{list-style:none;display:flex;flex-direction:column;gap:6px;font-size:11.5px;color:#cbd5e1;line-height:1.45}.rec-list li{position:relative;padding-left:14px}.rec-list li:before{content:"▸";position:absolute;left:0;color:#38bdf8}.profiler-modal-footer{display:flex;justify-content:space-between;align-items:center;padding:12px 20px;background:#1e293bb3;border-top:1px solid var(--border-color)}.footer-left{display:flex;gap:8px}.driver-header-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:8px;padding:10px 12px;display:flex;flex-direction:column;gap:6px}.driver-status-row{display:flex;justify-content:space-between;align-items:center}.driver-mode-badge{display:flex;align-items:center;gap:7px;font-size:11.5px;font-weight:700;color:var(--text-main);letter-spacing:.3px}.driver-status-dot{width:9px;height:9px;border-radius:50%;display:inline-block;background:#64748b}.driver-banner-info{font-size:11px;color:var(--text-muted);line-height:1.45;background:#0f172a99;padding:6px 9px;border-radius:6px;border-left:3px solid #38bdf8}.driver-banner-info b{color:#38bdf8}.driver-scrollable-body{flex:1;display:flex;flex-direction:column;overflow-y:auto;gap:12px;padding-right:4px}.driver-scrollable-body::-webkit-scrollbar{width:5px}.driver-scrollable-body::-webkit-scrollbar-thumb{background:#334155;border-radius:4px}.driver-section-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:8px;padding:12px;display:flex;flex-direction:column;gap:10px;transition:all .15s ease}.driver-section-card.active-section-card{border-color:#38bdf8;box-shadow:0 0 14px #38bdf859}.driver-section-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px}.section-title{font-size:12.5px;font-weight:700;color:var(--text-main);letter-spacing:-.2px}.drive-speed-control{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--text-muted)}.drive-speed-control input[type=range]{width:75px;height:4px;accent-color:#38bdf8;cursor:pointer}.speed-val{font-size:11px;font-weight:700;color:#38bdf8;min-width:32px;text-align:right;font-family:monospace}.driver-section-hint{font-size:10.5px;color:var(--text-muted);background:#0f172a66;padding:4px 8px;border-radius:4px}.driver-section-hint b{color:#facc15}.wasd-pad-container{display:flex;flex-direction:column;align-items:center;gap:6px;padding:6px 0}.wasd-row{display:flex;gap:8px;justify-content:center}.driver-key-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:54px;height:48px;background:#1e293b;border:1px solid #475569;border-radius:8px;color:#f8fafc;cursor:pointer;user-select:none;touch-action:manipulation;transition:all .1s ease;box-shadow:0 3px #0f172a,0 4px 6px #0000004d}.driver-key-btn:hover{background:#334155;border-color:#64748b;transform:translateY(-1px)}.driver-key-btn:active,.driver-key-btn.active-pressed{background:#0284c7!important;border-color:#38bdf8!important;color:#fff!important;box-shadow:0 0 16px #38bdf8d9!important;transform:translateY(2px) scale(.97)!important}.driver-key-btn.active-pressed .key-letter{color:#fff;text-shadow:0 0 8px #fff}.key-letter{font-size:15px;font-weight:800;line-height:1;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,monospace}.key-sub{font-size:8.5px;font-weight:700;color:var(--text-muted);margin-top:3px;letter-spacing:.3px}.driver-key-btn.active-pressed .key-sub{color:#e0f2fe}.driver-space-btn{width:174px;height:38px}.drive-telemetry-row{display:flex;justify-content:space-between;align-items:center;font-size:11px;color:var(--text-muted);padding:4px 6px;background:#0f172a66;border-radius:6px}.drive-telemetry-row b{color:#38bdf8;font-family:monospace}.motor-actions-header{display:flex;gap:6px}.driver-motors-list{display:flex;flex-direction:column;gap:8px}.driver-motor-card{background:#1e293b;border:1px solid var(--border-color);border-radius:8px;padding:8px 10px;display:flex;flex-direction:column;gap:6px;transition:all .15s ease}.driver-motor-card.active-motor-card{border-color:#38bdf8;background:#1e293bf2;box-shadow:0 0 12px #38bdf84d}.motor-card-header{display:flex;align-items:center;justify-content:space-between}.motor-port-tag{font-size:10px;font-weight:800;background:#0284c7;color:#fff;padding:1px 6px;border-radius:4px;letter-spacing:.5px}.motor-role-title{font-size:12px;font-weight:600;color:var(--text-main);flex:1;margin-left:8px}.motor-state-badge{font-size:9.5px;font-weight:700;padding:2px 6px;border-radius:4px;background:#334155;color:#94a3b8}.motor-state-badge.state-fwd{background:#15803d;color:#bbf7d0;box-shadow:0 0 8px #22c55e66}.motor-state-badge.state-rev{background:#b45309;color:#fef08a;box-shadow:0 0 8px #f59e0b66}.motor-card-controls{display:flex;align-items:center;gap:12px}.motor-keys-group{display:flex;gap:6px}.motor-dir-btn{min-width:44px;height:40px}.motor-dir-btn[data-dir=fwd].active-pressed{background:#15803d!important;border-color:#22c55e!important;box-shadow:0 0 14px #22c55ecc!important}.motor-dir-btn[data-dir=rev].active-pressed{background:#b45309!important;border-color:#f59e0b!important;box-shadow:0 0 14px #f59e0bcc!important}.motor-slider-group{flex:1;display:flex;flex-direction:column;gap:3px}.slider-label-row{display:flex;justify-content:space-between;align-items:center;font-size:10.5px;color:var(--text-muted)}.motor-slider-val{font-weight:700;color:#38bdf8;font-family:monospace}.motor-speed-slider{width:100%;height:4px;accent-color:#38bdf8;cursor:pointer}.motor-encoder-row{display:flex;justify-content:space-between;font-size:10.5px;color:var(--text-muted);font-family:monospace;padding-top:2px;border-top:1px dashed rgba(51,65,85,.6)}.motor-encoder-row b{color:#e2e8f0}.driver-sensors-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.driver-sensor-card{background:#1e293b;border:1px solid var(--border-color);border-radius:8px;padding:8px 10px;display:flex;flex-direction:column;gap:6px}.sensor-card-title{display:flex;justify-content:space-between;align-items:center;font-size:11px;font-weight:700;color:var(--text-main)}.sensor-badge{font-size:9px;font-weight:800;padding:2px 6px;border-radius:4px;letter-spacing:.3px}.badge-color-black{background:#09090b;color:#fafafa;border:1px solid #52525b}.badge-color-white{background:#f8fafc;color:#0f172a}.badge-color-red{background:#dc2626;color:#fff}.badge-color-green{background:#16a34a;color:#fff}.badge-color-blue{background:#2563eb;color:#fff}.badge-color-yellow{background:#ca8a04;color:#fff}.badge-dist{background:#6366f1;color:#fff}.badge-gyro{background:#0d9488;color:#fff}.sensor-meter-container{display:flex;flex-direction:column;gap:3px}.sensor-meter-label{display:flex;justify-content:space-between;font-size:10px;color:var(--text-muted)}.sensor-meter-track{width:100%;height:6px;background:#334155;border-radius:3px;overflow:hidden}.sensor-meter-fill{height:100%;background:#38bdf8;border-radius:3px;transition:width .08s linear}.sensor-meter-fill.fill-color-light{background:linear-gradient(to right,#0284c7,#38bdf8)}.sensor-meter-fill.fill-dist{background:linear-gradient(to right,#ef4444,#eab308,#22c55e)}.sensor-color-swatch-row{display:flex;align-items:center;gap:8px}.sensor-swatch-box{width:18px;height:18px;border-radius:4px;border:1px solid #64748b;box-shadow:0 1px 3px #0006}.sensor-rgb-text{font-size:10px;font-family:monospace;color:var(--text-muted)}.sensor-field-hint{font-size:9.5px;color:var(--text-muted);font-style:italic}.gyro-compass-row{display:flex;align-items:center;gap:12px}.gyro-compass-dial{position:relative;width:42px;height:42px;border-radius:50%;border:2px solid #475569;background:#0f172a;display:flex;align-items:center;justify-content:center;flex-shrink:0}.compass-needle{position:absolute;width:3px;height:22px;background:linear-gradient(to top,#64748b 50%,#ef4444 50%);border-radius:2px;transform-origin:center center;transition:transform .05s linear}.compass-n{position:absolute;top:1px;font-size:8px;font-weight:800;color:#ef4444}.gyro-info-text{display:flex;flex-direction:column;gap:3px;font-size:10.5px;color:var(--text-muted)}.gyro-info-text strong{color:#e2e8f0;font-family:monospace}.driver-quick-telemetry-row{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;background:#0f172a99;padding:8px 10px;border-radius:6px;border:1px solid rgba(56,189,248,.2)}.driver-quick-stat{display:flex;align-items:center;gap:5px;font-size:11px}.quick-stat-label{color:var(--text-muted)}.quick-stat-val{color:#38bdf8;font-family:monospace;font-weight:700}.sample-mission-bar{display:flex;flex-direction:row;align-items:center;gap:8px;padding:6px 10px;flex-shrink:0;background:#0f172ab3;border:1px solid var(--border-color);border-radius:6px;margin-bottom:6px}.sample-select-label{font-size:11px;font-weight:700;color:var(--accent-blue);white-space:nowrap}.sample-mission-bar .hud-select{flex:1;min-width:0;font-size:12px;padding:4px 8px}.code-editor-header-bar{display:flex;align-items:center;justify-content:space-between;gap:8px}.editor-header-actions{display:flex;align-items:center;gap:6px}.btn-fps-profiler{display:inline-flex;align-items:center;gap:6px;padding:2px 8px;font-family:JetBrains Mono,Fira Code,monospace;font-size:11px;border-color:#38bdf859;background:#0f172ad9;color:#f8fafc;cursor:pointer;border-radius:4px;transition:all .2s ease;user-select:none}.btn-fps-profiler:hover{background:#1e293bf2;border-color:#38bdf8;box-shadow:0 0 10px #38bdf840}.btn-fps-profiler .fps-pulse-dot{width:7px;height:7px;border-radius:50%;background:#10b981;box-shadow:0 0 6px #10b981;transition:background .3s ease,box-shadow .3s ease}.btn-fps-profiler .fps-pulse-dot.fps-dot-yellow{background:#f59e0b;box-shadow:0 0 6px #f59e0b}.btn-fps-profiler .fps-pulse-dot.fps-dot-red{background:#ef4444;box-shadow:0 0 6px #ef4444}.btn-fps-profiler .fps-val{color:#38bdf8;font-weight:700}.btn-fps-profiler .fps-ms{color:#94a3b8;font-size:10px}.btn-fps-profiler .fps-btn-tag{font-size:10px;background:#38bdf833;color:#7dd3fc;padding:0 5px;border-radius:4px;margin-left:2px}#btn-editor-fps-profiler{display:none!important}.btn-telem-fps-profiler{display:inline-flex;align-items:center;gap:6px;background:#1e293bbf;border:1px solid rgba(56,189,248,.35);border-radius:999px;padding:2px 10px;cursor:pointer;transition:all .2s ease;user-select:none;color:#f8fafc}.btn-telem-fps-profiler:hover{background:#38bdf833;border-color:#38bdf8;box-shadow:0 0 10px #38bdf84d;transform:translateY(-1px)}.btn-telem-fps-profiler .fps-pulse-dot{width:7px;height:7px;border-radius:50%;background:#10b981;box-shadow:0 0 6px #10b981;animation:pulseDot 1.5s infinite}.btn-telem-fps-profiler .fps-badge{font-family:JetBrains Mono,Fira Code,monospace;font-size:11px;font-weight:700;color:#38bdf8}.btn-telem-fps-profiler .fps-btn-tag{font-size:10px;font-weight:700;background:#38bdf833;color:#7dd3fc;padding:1px 6px;border-radius:4px;margin-left:2px}.scratch-blocks-container{display:flex;flex-direction:column;width:100%;height:100%;min-height:200px;background:#090d16;border:1px solid var(--border-color);border-top:none;border-bottom-left-radius:8px;border-bottom-right-radius:8px;overflow:hidden;position:relative;box-sizing:border-box}.scratch-zoom-toolbar{display:flex;align-items:center;justify-content:space-between;padding:4px 10px;background:#0f172ae6;border-bottom:1px solid rgba(56,189,248,.2);z-index:10;flex-shrink:0;user-select:none}.zoom-toolbar-label{font-size:11px;font-weight:600;color:var(--text-muted)}.zoom-toolbar-actions{display:flex;align-items:center;gap:6px}.zoom-btn{padding:2px 7px;font-size:11px;cursor:pointer;line-height:1.2}.scratch-zoom-level{font-size:11px;font-family:JetBrains Mono,Fira Code,monospace;color:#38bdf8;font-weight:600;min-width:42px;text-align:right;display:inline-block}.scratch-zoom-viewport{flex:1;width:100%;height:100%;min-height:160px;overflow:hidden;position:relative;cursor:grab;user-select:none;background-color:#fafbfc;background-image:radial-gradient(#cbd5e1 1.2px,transparent 1.2px);background-size:20px 20px}.scratch-zoom-viewport.is-dragging{cursor:grabbing}.scratch-zoom-content{position:absolute;top:0;left:0;transform-origin:0 0;width:100%;box-sizing:border-box;will-change:transform}.hud-robot-design-modal{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;z-index:520;user-select:none;pointer-events:auto}.hud-robot-design-modal *{pointer-events:auto}.modal-robot-design-backdrop{position:absolute;inset:0;background:#030712bf;backdrop-filter:blur(8px);pointer-events:auto}.robot-design-modal-card{position:relative;z-index:1;pointer-events:auto;width:92%;max-width:860px;max-height:88vh;display:flex;flex-direction:column;background:#0b1120;border:1px solid rgba(56,189,248,.35);border-radius:14px;box-shadow:0 20px 48px #000000bf,0 0 24px #38bdf826;overflow:hidden;animation:modalFadeIn .2s cubic-bezier(.16,1,.3,1)}.robot-design-modal-header{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;background:#0f172af2;border-bottom:1px solid rgba(56,189,248,.2)}.robot-design-modal-header .modal-header-title{display:flex;align-items:center;gap:12px}.robot-design-modal-header .modal-header-icon{font-size:26px;filter:drop-shadow(0 0 8px rgba(56,189,248,.5))}.robot-design-modal-header .modal-title-main{font-size:15px;font-weight:700;color:#f8fafc;letter-spacing:.3px}.robot-design-modal-header .modal-subtitle{font-size:11px;color:#94a3b8;margin-top:2px}.robot-design-modal-body{flex:1;overflow-y:auto;padding:18px 20px;display:flex;flex-direction:column;gap:20px}.design-section{display:flex;flex-direction:column;gap:10px}.section-title-row{display:flex;align-items:center;gap:8px;margin-bottom:4px}.section-badge{font-size:10px;font-weight:800;background:#38bdf826;color:#38bdf8;border:1px solid rgba(56,189,248,.3);padding:2px 6px;border-radius:4px;letter-spacing:.5px}.section-title{font-size:13px;font-weight:700;color:#e2e8f0}.section-hint{font-size:11px;color:#64748b;margin-left:auto}.robot-preset-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px}.robot-preset-card{display:flex;flex-direction:column;gap:8px;padding:12px 14px;background:#0f172aa6;border:1px solid rgba(255,255,255,.08);border-radius:8px;cursor:pointer;transition:all .2s ease}.robot-preset-card:hover{background:#1e293bb3;border-color:#38bdf866;transform:translateY(-1px)}.robot-preset-card.active{background:#0ea5e91f;border-color:#38bdf8;box-shadow:0 0 16px #38bdf833}.preset-card-header{display:flex;align-items:center;gap:8px}.preset-icon{font-size:18px}.preset-name{font-size:13px;font-weight:700;color:#f1f5f9;flex:1}.preset-tag{font-size:10px;font-weight:600;padding:2px 7px;border-radius:10px;background:#94a3b826;color:#94a3b8;border:1px solid rgba(148,163,184,.25)}.preset-tag.active-tag{background:#10b98133;color:#34d399;border-color:#10b98166}.preset-desc{font-size:11.5px;color:#94a3b8;line-height:1.45}.preset-meta{font-size:10px;color:#64748b;margin-top:auto;padding-top:4px}.design-actions-row{display:flex;align-items:center;gap:10px;margin-top:4px}.port-mapping-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:10px}.port-item-card{display:flex;flex-direction:column;gap:8px;padding:10px 12px;background:#0f172a99;border:1px solid rgba(255,255,255,.07);border-radius:8px;transition:border-color .15s ease}.port-item-card:hover{border-color:#38bdf84d}.port-item-card.card-fixed{background:#0f172a66;border-style:dashed}.port-item-header{display:flex;align-items:center;gap:8px}.port-item-icon{font-size:16px;flex-shrink:0}.port-item-info{flex:1;min-width:0}.port-item-name{font-size:12px;font-weight:700;color:#f1f5f9;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.port-item-role{font-size:10px;color:#64748b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.port-status-badge{font-size:9.5px;font-weight:600;padding:2px 6px;border-radius:4px;white-space:nowrap}.port-status-badge.status-mapped{background:#10b98126;color:#34d399;border:1px solid rgba(16,185,129,.3)}.port-status-badge.status-remapped{background:#f59e0b26;color:#fbbf24;border:1px solid rgba(245,158,11,.35)}.port-status-badge.status-disabled{background:#94a3b81f;color:#94a3b8;border:1px solid rgba(148,163,184,.2)}.port-item-select-row{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:11px;color:#94a3b8;border-top:1px solid rgba(255,255,255,.05);padding-top:6px}.port-item-select-row label{font-size:11px;color:#94a3b8}.port-fixed-label{font-size:10.5px;font-family:JetBrains Mono,monospace;color:#38bdf8}.port-select{font-family:JetBrains Mono,monospace;font-size:11px;font-weight:600;padding:3px 6px;background:#020617b3;border:1px solid rgba(56,189,248,.3);border-radius:4px;color:#38bdf8;cursor:pointer}.port-select:focus{border-color:#38bdf8;outline:none;box-shadow:0 0 6px #38bdf859}.robot-design-modal-footer{display:flex;align-items:center;justify-content:space-between;padding:12px 20px;background:#0f172af2;border-top:1px solid rgba(56,189,248,.2)}.footer-notice{font-size:11px;color:#64748b;font-style:italic}.footer-right{display:flex;align-items:center;gap:8px}.hud-popout-code-modal{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;z-index:550;user-select:none;pointer-events:auto}.hud-popout-code-modal *{pointer-events:auto}.popout-code-backdrop{position:absolute;inset:0;background:#030712d1;backdrop-filter:blur(8px);pointer-events:auto}.popout-code-card{position:relative;z-index:1;pointer-events:auto;width:92vw;max-width:1400px;height:86vh;max-height:900px;display:flex;flex-direction:column;background:#0b1120;border:1px solid rgba(56,189,248,.4);border-radius:14px;box-shadow:0 24px 60px #000000d9,0 0 30px #38bdf833;overflow:hidden;animation:modalFadeIn .2s cubic-bezier(.16,1,.3,1)}.popout-code-header{display:flex;align-items:center;justify-content:space-between;padding:12px 20px;background:#0f172af2;border-bottom:1px solid rgba(56,189,248,.2);flex-shrink:0}.popout-header-title{display:flex;align-items:center;gap:12px}.popout-header-icon{font-size:24px}.popout-title-main{font-size:15px;font-weight:700;color:#f1f5f9;letter-spacing:.5px}.popout-subtitle{font-size:11px;color:var(--text-muted)}.popout-header-actions{display:flex;align-items:center;gap:10px}.popout-view-mode-toggle{display:flex;gap:4px;background:#0f172a99;padding:2px;border-radius:6px;border:1px solid var(--border-color)}.popout-code-body{flex:1;min-height:0;display:flex;flex-direction:column;background:#090d16;position:relative;overflow:hidden}.popout-editor-container{flex:1;min-height:0;display:flex;flex-direction:column;position:relative;height:100%}.popout-editor-container textarea#popout-python-code-editor{flex:1;width:100%;height:100%;background:#090d16;color:#38bdf8;font-family:JetBrains Mono,Fira Code,Courier New,monospace;font-size:13px;line-height:1.6;padding:16px 20px;border:none;outline:none;resize:none;box-sizing:border-box;user-select:text}.popout-editor-container .scratch-blocks-container{flex:1;height:100%;min-height:0;max-height:none;display:flex;flex-direction:row}.popout-editor-container .spike-blocks-workspace{display:flex!important;flex-direction:row!important;align-items:stretch!important;width:100%!important;height:100%!important;min-height:0!important;flex:1!important;overflow:hidden!important;position:relative!important}.popout-code-footer{display:flex;align-items:center;justify-content:space-between;padding:10px 20px;background:#0f172af2;border-top:1px solid rgba(56,189,248,.2);flex-shrink:0}.popout-footer-left{display:flex;align-items:center;gap:8px}.popout-pin-actions{display:flex;gap:3px;background:#0f172a99;padding:2px;border-radius:6px;border:1px solid var(--border-color)}.popout-pin-actions .btn.active{background:#38bdf833;color:#38bdf8;border-color:#38bdf8}.hud-popout-code-modal.pin-left{align-items:stretch;justify-content:flex-start;pointer-events:none}.hud-popout-code-modal.pin-left .popout-code-backdrop{display:none}.hud-popout-code-modal.pin-left .popout-code-card{width:50vw;max-width:none;height:100vh;max-height:none;border-radius:0;border-left:none;border-top:none;border-bottom:none;box-shadow:12px 0 40px #000c;pointer-events:auto}.hud-popout-code-modal.pin-right{align-items:stretch;justify-content:flex-end;pointer-events:none}.hud-popout-code-modal.pin-right .popout-code-backdrop{display:none}.hud-popout-code-modal.pin-right .popout-code-card{width:50vw;max-width:none;height:100vh;max-height:none;border-radius:0;border-right:none;border-top:none;border-bottom:none;box-shadow:-12px 0 40px #000c;pointer-events:auto}.hud-popout-code-modal.pin-float{align-items:center;justify-content:center;pointer-events:none}.hud-popout-code-modal.pin-float .popout-code-backdrop{pointer-events:none;background:#0307124d;backdrop-filter:blur(2px)}.hud-popout-code-modal.pin-float .popout-code-card{width:860px;max-width:92vw;height:640px;max-height:88vh;resize:both;overflow:hidden;border-radius:12px;pointer-events:auto}.hud-popout-code-modal.pin-full{align-items:center;justify-content:center}.hud-popout-code-modal.pin-full .popout-code-card{width:92vw;max-width:1400px;height:86vh;max-height:900px}.spike-blocks-workspace{display:flex;flex:1;width:100%;height:100%;min-height:0;position:relative;overflow:hidden;background:#fff}.spike-category-sidebar{width:72px;min-width:72px;max-width:72px;height:100%;min-height:0;background:#fff;border-right:1px solid #e2e8f0;display:flex;flex-direction:column;align-items:center;padding:10px 0;gap:6px;flex-shrink:0;user-select:none;z-index:5;overflow-y:auto}.spike-cat-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;width:64px;padding:6px 2px;background:transparent;border:1px solid transparent;border-radius:8px;color:#64748b;cursor:pointer;transition:all .15s ease}.spike-cat-btn:hover{background:#f1f5f9;color:#0f172a}.spike-cat-btn.active{background:#e2e8f0;border-color:#cbd5e1;color:#0f172a}.cat-dot{width:16px;height:16px;border-radius:50%;box-shadow:0 1px 3px #00000026}.cat-dot.dot-motors{background:#0094f7}.cat-dot.dot-movement{background:#ed1587}.cat-dot.dot-light{background:#96f}.cat-dot.dot-sound{background:#d15fee}.cat-dot.dot-events{background:#fb0}.cat-dot.dot-control{background:#ffab19}.cat-dot.dot-sensors{background:#29b6f6}.cat-dot.dot-operators{background:#40bf4a}.cat-dot.dot-variables{background:#ff661a}.cat-dot.dot-myblocks{background:#ff4d6a}.cat-label{font-size:8px;font-weight:800;letter-spacing:.4px;text-transform:uppercase;text-align:center}.spike-cat-ext-divider{width:48px;height:1px;background:#e2e8f0;margin:4px 0}.spike-cat-extension-btn{width:38px;height:38px;border-radius:8px;background:#0094f7;color:#fff;display:flex;align-items:center;justify-content:center;border:none;cursor:pointer;box-shadow:0 2px 4px #0094f74d;font-size:18px;margin-top:auto;margin-bottom:8px;transition:transform .1s ease}.spike-cat-extension-btn:hover{transform:scale(1.05)}.spike-palette-drawer{width:340px;min-width:340px;max-width:340px;height:100%;min-height:0;background:#f8fafc;border-right:1px solid #e2e8f0;display:flex;flex-direction:column;overflow-y:auto;padding:14px 16px;gap:16px;flex-shrink:0;user-select:none;z-index:4}.palette-category-header{font-size:13px;font-weight:800;color:#1e293b;margin-bottom:10px;display:flex;align-items:center;gap:8px;text-transform:uppercase;letter-spacing:.5px}.palette-blocks-list{display:flex;flex-direction:column;gap:10px}.spike-palette-block{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:8px;color:#fff;font-size:12px;font-weight:700;box-shadow:0 2px 4px #00000026,inset 0 1px #ffffff4d;cursor:pointer;transition:transform .12s ease,box-shadow .12s ease,filter .12s ease;position:relative;line-height:1.3;width:fit-content;max-width:100%}.spike-palette-block:hover{transform:translateY(-1px) scale(1.01);box-shadow:0 4px 8px #0003,inset 0 1px #fff6;filter:brightness(1.05)}.spike-palette-block:active{transform:translateY(0) scale(.99)}.spike-palette-block .block-pill{display:inline-flex;align-items:center;gap:3px;background:#fff;color:#0f172a;border-radius:999px;padding:2px 8px;font-size:11px;font-weight:800;box-shadow:inset 0 1px 2px #00000026}.spike-palette-block .block-select{display:inline-flex;align-items:center;gap:4px;background:#00000038;color:#fff;border-radius:6px;padding:2px 7px;font-size:11px;font-weight:800}.spike-make-var-btn{display:block;width:100%;background:#fff;border:2px solid #cbd5e1;border-radius:999px;padding:8px 16px;font-size:12px;font-weight:800;color:#334155;cursor:pointer;text-align:center;transition:all .15s ease;margin-bottom:8px}.spike-make-var-btn:hover{border-color:#ff661a;color:#ff661a;background:#fff7ed;box-shadow:0 2px 6px #ff661a26}.spike-var-list{display:flex;flex-direction:column;gap:6px;margin-bottom:12px}.spike-var-row{display:flex;align-items:center;gap:8px}.spike-var-checkbox{width:16px;height:16px;accent-color:#ff661a;cursor:pointer}.spike-var-reporter-pill{border-radius:999px!important;padding:3px 12px!important;font-size:11px!important;background:#ff661a!important;color:#fff!important;box-shadow:0 1px 3px #ff661a4d!important}.spike-canvas-viewport{flex:1;width:100%;height:100%;min-height:0;position:relative;overflow:hidden;cursor:grab;background-color:#fafbfc;background-image:radial-gradient(#cbd5e1 1.2px,transparent 1.2px);background-size:20px 20px}.spike-canvas-viewport.is-dragging{cursor:grabbing}.spike-hub-badge{position:absolute;top:14px;left:14px;display:inline-flex;align-items:center;gap:7px;background:#fb0;color:#000;border-radius:999px;padding:4px 14px;font-size:12px;font-weight:800;box-shadow:0 2px 6px #00000026;z-index:10;user-select:none;cursor:default}.spike-hub-badge .hub-icon-dot{font-size:12px}.spike-hub-badge .hub-title{letter-spacing:.3px}.spike-hub-badge .hub-status-dot{font-size:9px}.spike-canvas-content{position:absolute;top:0;left:0;transform-origin:0 0;padding:24px;box-sizing:border-box;min-width:100%;min-height:100%}.spike-floating-zoom-controls{position:absolute;right:18px;bottom:18px;display:flex;align-items:center;gap:6px;background:#fff;border:1px solid #e2e8f0;border-radius:999px;padding:4px 10px;box-shadow:0 4px 12px #00000014;z-index:10;user-select:none}.zoom-icon-btn{background:transparent;border:none;color:#475569;font-size:12px;cursor:pointer;padding:2px 6px;border-radius:4px;display:flex;align-items:center;justify-content:center;transition:all .12s ease}.zoom-icon-btn:hover{background:#f1f5f9;color:#0f172a}.zoom-level-badge{font-size:11px;font-family:JetBrains Mono,monospace;color:#475569;font-weight:700;min-width:38px;text-align:center;padding:0 4px}.editor-autosave-indicator{display:inline-flex;align-items:center;gap:5px;padding:2px 7px;background:#1e293ba6;border:1px solid rgba(56,189,248,.25);border-radius:4px;font-size:10px;font-weight:600;color:#38bdf8;user-select:none;transition:all .25s ease}.editor-autosave-indicator.saving{color:#fbbf24;border-color:#fbbf2473;background:#f59e0b1f}.editor-autosave-indicator.saved{color:#34d399;border-color:#34d39959;background:#10b98114}.editor-autosave-indicator .autosave-icon{font-size:11px;display:inline-block}.editor-autosave-indicator.saving .autosave-icon{animation:pulse-autosave .9s infinite alternate}@keyframes pulse-autosave{0%{opacity:.55;transform:scale(.95)}to{opacity:1;transform:scale(1.1)}}.btn-export-zip,.btn-export-code{border-color:#38bdf859;color:#38bdf8}.btn-export-zip:hover,.btn-export-code:hover{background:#38bdf826;border-color:#38bdf8;color:#e0f2fe}.tab-btn-group{display:inline-flex;align-items:center;gap:2px;margin-left:4px}.tab-action-btn{background:transparent;border:none;color:var(--text-muted);font-size:10px;padding:1px 3px;cursor:pointer;border-radius:3px;line-height:1;opacity:.6;transition:opacity .15s ease,color .15s ease,background .15s ease}.tab-action-btn:hover{opacity:1}.tab-rename-btn:hover{color:#38bdf8;background:#38bdf826}.tab-duplicate-btn:hover{color:#a855f7;background:#a855f726}.tab-close-btn:hover{background:#ef444433;color:var(--accent-red)}.script-tab-rename-input{background:#0f172af2;border:1px solid #38bdf8;color:#f8fafc;font-size:11px;font-family:inherit;font-weight:500;padding:1px 4px;border-radius:4px;outline:none;width:90px;max-width:120px}.scripts-manager-popover{position:absolute;top:42px;right:8px;width:380px;max-width:92vw;max-height:400px;background:var(--bg-card, #1e293b);border:1px solid var(--border-color, #334155);border-radius:8px;box-shadow:0 10px 25px -5px #00000080,0 8px 10px -6px #00000080;z-index:1000;display:flex;flex-direction:column;overflow:hidden;backdrop-filter:blur(8px)}.scripts-manager-header{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;background:#0f172a99;border-bottom:1px solid var(--border-color, #334155)}.scripts-manager-title{font-size:12px;font-weight:700;color:#f1f5f9}.scripts-manager-list{display:flex;flex-direction:column;overflow-y:auto;max-height:340px;padding:6px;gap:4px}.scripts-manager-item{display:flex;align-items:center;justify-content:space-between;padding:6px 8px;border-radius:6px;background:#ffffff05;border:1px solid transparent;gap:8px;transition:all .15s ease}.scripts-manager-item:hover{background:#ffffff0f;border-color:#38bdf833}.scripts-manager-item.active{background:#38bdf81a;border-color:#38bdf866}.script-info-col{display:flex;align-items:center;gap:8px;min-width:0;flex:1}.script-kind-badge{font-size:10px;font-weight:600;padding:2px 6px;border-radius:4px;white-space:nowrap;flex-shrink:0}.script-kind-badge.python{background:#3b82f626;color:#60a5fa;border:1px solid rgba(59,130,246,.3)}.script-kind-badge.blocks{background:#eab30826;color:#facc15;border:1px solid rgba(234,179,8,.3)}.script-item-title{font-size:12px;color:#e2e8f0;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:pointer}.scripts-manager-item.active .script-item-title{color:#38bdf8;font-weight:600}.script-actions-col{display:flex;align-items:center;gap:4px;flex-shrink:0}.script-actions-col .btn{padding:2px 6px;font-size:10px;height:22px}.banner-blocks-readonly{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:6px 12px;background:#f59e0b26;border:1px solid rgba(245,158,11,.4);border-radius:6px;margin:6px 8px;color:#fef3c7;font-size:11px}.banner-blocks-readonly .banner-content{display:flex;align-items:center;gap:6px;flex:1}.banner-blocks-readonly .banner-icon{font-size:13px}.banner-blocks-readonly .banner-text{line-height:1.3}.banner-blocks-readonly .banner-actions{display:flex;align-items:center;gap:6px;flex-shrink:0}.banner-blocks-readonly .btn-revert-blocks{border-color:#f59e0b80;color:#fcd34d;font-size:10px;padding:2px 6px}.banner-blocks-readonly .btn-revert-blocks:hover{background:#f59e0b40;color:#fff}.spike-palette-drawer.palette-disabled{opacity:.55;filter:grayscale(.5)}.spike-palette-drawer.palette-disabled .spike-palette-block{cursor:not-allowed}.btn-step{border-color:#0ea5e999!important;color:#38bdf8!important;background:#0ea5e91f!important;font-weight:700;transition:all .15s ease}.btn-step:hover:not(:disabled){background:#0ea5e947!important;border-color:#38bdf8!important;box-shadow:0 0 10px #38bdf866}.btn-step:disabled{opacity:.45;cursor:not-allowed}.python-code-view{display:flex;flex-direction:column;flex:1;min-height:220px;position:relative;border-radius:6px;background:#090d16;border:1px solid rgba(51,65,85,.5);overflow:hidden}.python-view-tabs{display:flex;align-items:center;gap:6px;padding:6px 8px;background:#0f172ad9;border-bottom:1px solid rgba(51,65,85,.4);flex-shrink:0}.py-tab-btn,.popout-py-tab-btn{font-size:11px;padding:2px 8px;border-radius:4px;border:1px solid rgba(51,65,85,.6);background:transparent;color:#94a3b8;cursor:pointer;transition:all .15s ease}.py-tab-btn:hover,.popout-py-tab-btn:hover{color:#f1f5f9;border-color:#64748b}.py-tab-btn.active,.popout-py-tab-btn.active{background:#38bdf82e;border-color:#38bdf899;color:#38bdf8;font-weight:600}.python-interactive-lines{flex:1;overflow-y:auto;overflow-x:auto;padding:6px 0;font-family:JetBrains Mono,Fira Code,Consolas,monospace;font-size:12px;line-height:1.55;background:#090d16}.code-line-row{display:flex;align-items:center;padding:1px 6px;cursor:pointer;user-select:text;transition:background .12s ease;min-height:22px}.code-line-row:hover{background:#ffffff0a}.line-gutter{display:flex;align-items:center;justify-content:flex-end;width:48px;min-width:48px;margin-right:12px;color:#64748b;font-size:11px;user-select:none}.line-ptr{width:14px;color:#22c55e;font-weight:900;font-size:11px;text-align:center}.line-num{width:28px;text-align:right;font-variant-numeric:tabular-nums}.line-code{flex:1;white-space:pre;color:#f8fafc;font-family:inherit}.code-line-row.line-executing{background:#22c55e3d!important;border-left:3px solid #22c55e;box-shadow:inset 0 0 12px #22c55e26}.code-line-row.line-executing .line-gutter{color:#22c55e!important;font-weight:700}.code-line-row.line-executing .line-ptr{color:#22c55e;animation:pulse-line-ptr .8s infinite alternate}@keyframes pulse-line-ptr{0%{transform:scale(.9);opacity:.7}to{transform:scale(1.25);opacity:1}}.code-line-row.line-selected{background:#38bdf82e!important;border-left:3px solid #38bdf8}.code-line-row.line-selected .line-gutter{color:#38bdf8!important;font-weight:700}.word-block.word-block-executing{box-shadow:0 0 16px #22c55eb3,0 0 4px #22c55e!important;outline:2px solid #22c55e!important;transform:scale(1.02);transition:transform .15s ease,box-shadow .15s ease;z-index:10}.word-block.word-block-selected{box-shadow:0 0 14px #38bdf899!important;outline:2px solid #38bdf8!important}.word-block-exec-badge{background:#22c55e;color:#022c22;font-weight:800;font-size:9px;padding:1px 5px;border-radius:3px;margin-left:8px;display:inline-flex;align-items:center;box-shadow:0 0 8px #22c55e99;animation:pulse-exec-badge 1s infinite alternate}@keyframes pulse-exec-badge{0%{transform:scale(.95);opacity:.85}to{transform:scale(1.05);opacity:1}}.badge-app{background:#0ea5e933;color:#38bdf8}.badge-program{background:#a855f733;color:#c084fc}.badge-sensors{background:#eab30833;color:#facc15}.spike-palette-block{cursor:grab!important;user-select:none;transition:transform .12s ease,box-shadow .12s ease,opacity .12s ease}.spike-palette-block:active{cursor:grabbing!important}.spike-palette-block.block-dragging{opacity:.45!important;transform:scale(.96)!important}.word-blocks-stack.drag-over{background:#0094f70d;outline:2px dashed #0094f7;border-radius:8px}.word-block-drop-line{height:4px;background:#0094f7;border-radius:2px;margin:3px 0;box-shadow:0 0 10px #0094f7b3;pointer-events:none;animation:drop-line-glow .8s infinite alternate}@keyframes drop-line-glow{0%{opacity:.7;transform:scaleY(.9)}to{opacity:1;transform:scaleY(1.2)}}.word-block-children.slot-drop-active{background:#0094f714!important;outline:2px dashed #0094f7!important;border-radius:4px}.word-block-input-capsule,.word-block-var-pill,.word-block-pill:not(.pill-condition){cursor:pointer;transition:transform .1s ease,box-shadow .1s ease,filter .1s ease;user-select:none}.word-block-input-capsule:hover,.word-block-pill:not(.pill-condition):hover{filter:brightness(.93);box-shadow:0 0 0 2px #fffc,inset 0 1px 2px #00000040!important;transform:scale(1.05)}.word-block-var-pill:hover{filter:brightness(1.12);box-shadow:0 0 0 2px #ffffffd9,0 2px 5px #0000004d!important;transform:scale(1.05)}.word-block-inline-input{background:#fff!important;color:#0f172a!important;border:2px solid #0094f7!important;border-radius:12px!important;padding:1px 6px!important;font-size:11px!important;font-weight:800!important;text-align:center!important;outline:none!important;box-shadow:0 0 0 2px #0094f740!important;font-family:inherit!important;box-sizing:border-box!important}.word-block-popover-menu{position:absolute;z-index:10000;background:#fff;border:1px solid #d0d7de;border-radius:8px;box-shadow:0 8px 24px #0003;padding:5px;min-width:140px;max-height:280px;overflow-y:auto;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-size:13px;color:#1f2328;animation:popoverFadeIn .12s ease-out}@keyframes popoverFadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.word-block-popover-item{display:flex;align-items:center;gap:8px;padding:6px 10px;border-radius:6px;cursor:pointer;transition:background .1s;user-select:none}.word-block-popover-item:hover{background:#f0f3f6;color:#0969da}.word-block-popover-item.selected{font-weight:600;color:#0969da;background:#e6f0fb}.word-block-popover-item .item-check{margin-left:auto;font-weight:800;color:#0969da}.word-block-popover-divider{height:1px;background:#e1e4e8;margin:4px 0}.cad-inspector-overlay{position:fixed;inset:0;background:#030712d9;backdrop-filter:blur(16px);z-index:600;display:flex;align-items:center;justify-content:center;padding:24px;animation:fadeIn .18s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.cad-inspector-window{width:96vw;max-width:1800px;height:94vh;max-height:96vh;background:#0f172a;border:1px solid rgba(255,255,255,.15);border-radius:14px;box-shadow:0 25px 60px #000c;display:flex;flex-direction:column;overflow:hidden;transition:width .2s ease,height .2s ease,max-width .2s ease,max-height .2s ease}.cad-inspector-window.inspector-fullscreen{width:100vw;max-width:100vw;height:100vh;max-height:100vh;border-radius:0;border:none}.cad-inspector-overlay:has(.inspector-fullscreen){padding:0}.inspector-header{padding:14px 20px;background:#1e293bcc;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;align-items:center}.inspector-title-group{display:flex;align-items:center;gap:12px}.inspector-icon{font-size:24px}.inspector-title-text h2{margin:0;font-size:16px;font-weight:700;color:#f8fafc;letter-spacing:-.3px}.inspector-subtitle{margin:2px 0 0;font-size:11px;color:#94a3b8}.inspector-header-controls{display:flex;align-items:center;gap:8px}.inspector-body{flex:1;display:flex;overflow:hidden}.inspector-left-col{flex:65;width:65%;min-width:0;display:flex;flex-direction:column;border-right:1px solid var(--border-color);background:#0b1120;position:relative}.inspector-viewport-tabs{display:flex;gap:4px;padding:8px 12px;background:#0f172ab3;border-bottom:1px solid var(--border-color)}.inspector-viewport-tabs .tab-btn{background:transparent;border:1px solid transparent;color:#94a3b8;font-size:12px;font-weight:600;padding:4px 12px;border-radius:6px;cursor:pointer;transition:all .15s ease}.inspector-viewport-tabs .tab-btn:hover{color:#f8fafc;background:#ffffff0d}.inspector-viewport-tabs .tab-btn.active{color:#38bdf8;background:#38bdf81f;border-color:#38bdf84d}.inspector-viewport-container{flex:1;position:relative;overflow:hidden}#inspector-canvas{width:100%;height:100%;display:block}.inspector-canvas-toolbar{position:absolute;bottom:12px;left:12px;display:flex;gap:6px;z-index:10;flex-wrap:wrap;max-width:calc(100% - 24px)}#btn-toggle-presolver.active{background:#f59e0b40;border-color:#f59e0b;color:#fbbf24}#btn-snap-pivot-part.active{background:#ef444440;border-color:#ef4444;color:#fca5a5}.inspector-studio-render-container{flex:1;display:flex;align-items:center;justify-content:center;padding:24px;background:#0f172a}.studio-render-box{display:flex;flex-direction:column;align-items:center;gap:12px;max-width:90%}.studio-render-box img{max-width:100%;max-height:440px;object-fit:contain;border-radius:8px;border:1px solid rgba(255,255,255,.1);box-shadow:0 10px 25px #00000080}.studio-render-caption{font-size:11px;color:#94a3b8;text-align:center}.inspector-right-col{flex:35;width:35%;min-width:420px;display:flex;flex-direction:column;overflow:hidden;background:#0f172af2}.inspector-panel-title{font-size:13px;font-weight:700;color:#f8fafc;letter-spacing:-.2px}.status-banner{display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:8px;border:1px solid transparent}.status-banner.status-pass{background:#10b98126;border-color:#10b98159}.status-banner .status-icon{font-size:20px}.status-head{font-size:12px;font-weight:700;color:#34d399}.status-sub{font-size:10px;color:#94a3b8}.inspector-metrics-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.metric-card{background:#1e293b80;border:1px solid var(--border-color);border-radius:8px;padding:8px 10px;display:flex;flex-direction:column;gap:2px}.metric-label{font-size:9px;font-weight:700;color:#94a3b8;letter-spacing:.3px}.metric-val{font-size:15px;font-weight:700;color:#f8fafc}.inspector-section-card{background:#1e293b66;border:1px solid var(--border-color);border-radius:8px;padding:10px 12px;display:flex;flex-direction:column;gap:6px}.section-card-title{font-size:11px;font-weight:700;color:#e2e8f0;margin-bottom:2px}.dim-row{display:flex;justify-content:space-between;font-size:11px}.dim-label{color:#94a3b8}.dim-val{color:#f8fafc;font-weight:600}.highlight-green{color:#34d399!important}.clusters-list{display:flex;flex-direction:column;gap:6px;max-height:120px;overflow-y:auto}.cluster-item{background:#0f172a99;border:1px solid rgba(255,255,255,.08);border-radius:6px;padding:6px 8px;display:flex;flex-direction:column;gap:2px}.cluster-item-header{display:flex;justify-content:space-between;align-items:center}.cluster-name{font-size:11px;font-weight:600;color:#f8fafc}.cluster-item-meta{font-size:10px;color:#94a3b8}.badge-fixed{background:#3b82f633;color:#60a5fa;border:1px solid rgba(59,130,246,.3)}.badge-dynamic{background:#f59e0b33;color:#fbbf24;border:1px solid rgba(245,158,11,.3)}.physics-mode-row{display:flex;flex-direction:column;gap:6px}.mode-radio-label{display:flex;align-items:flex-start;gap:8px;font-size:11px;color:#cbd5e1;cursor:pointer}.mode-radio-label input{margin-top:2px;accent-color:#38bdf8}.inspector-actions{margin-top:auto;padding-top:8px}.inspector-step-bar{padding:8px 14px;background:#0f172af2;border-top:1px solid var(--border-color);display:flex;flex-direction:column;gap:8px;z-index:10}.step-bar-top{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.step-playback-group{display:flex;align-items:center;gap:4px}.step-counter-text{font-size:11px;font-family:monospace;font-weight:600;color:#38bdf8;margin-left:auto}.step-slider-row{display:flex;align-items:center;width:100%}.step-scrubber{width:100%;accent-color:#38bdf8;cursor:pointer;height:6px;border-radius:3px;background:#1e293b}.active-step-details{display:flex;flex-direction:column;gap:4px}.step-detail-row{display:flex;justify-content:space-between;align-items:center;font-size:11px}.font-mono{font-family:monospace}.highlight-blue{color:#38bdf8}.text-xs{font-size:10px}.color-sample-dot{display:inline-block;width:10px;height:10px;border-radius:50%;border:1px solid rgba(255,255,255,.4);vertical-align:middle;margin-right:4px}.cluster-item{background:#1e293b99;border:1px solid rgba(255,255,255,.08);border-radius:8px;padding:8px 10px;margin-bottom:6px;transition:all .15s ease}.cluster-item:hover{border-color:#38bdf84d;background:#1e293be6}.cluster-item.selected{border-color:#38bdf8;box-shadow:0 0 10px #38bdf840;background:#0ea5e91a}.cluster-item-header{display:flex;justify-content:space-between;align-items:center;gap:8px}.cluster-name{font-size:12px;font-weight:600;color:#f8fafc}.cluster-item-meta{font-size:10px;color:#94a3b8;margin-top:3px}.cluster-item-actions{display:flex;justify-content:space-between;align-items:center;margin-top:6px;gap:6px}.btn-fixed{background:#eab3082e;border:1px solid rgba(234,179,8,.5);color:#facc15;font-weight:600;cursor:pointer;border-radius:4px;padding:3px 8px;font-size:10px;transition:all .15s}.btn-fixed:hover{background:#eab30859;border-color:#facc15}.btn-dynamic{background:#38bdf82e;border:1px solid rgba(56,189,248,.5);color:#38bdf8;font-weight:600;cursor:pointer;border-radius:4px;padding:3px 8px;font-size:10px;transition:all .15s}.btn-dynamic:hover{background:#38bdf859;border-color:#38bdf8}.btn-physics-active{background:#10b98140!important;border-color:#10b981!important;color:#34d399!important;box-shadow:0 0 10px #10b9814d}.btn-hand-active{background:#f9731640!important;border-color:#f97316!important;color:#fb923c!important}.cluster-nudge-box{margin-top:8px;padding:6px 8px;background:#0f172ab3;border:1px dashed rgba(56,189,248,.3);border-radius:6px}.nudge-title{font-size:10px;color:#38bdf8;font-weight:600;display:block;margin-bottom:4px}.nudge-btn-row{display:flex;align-items:center;gap:4px;font-size:10px}.nudge-btn-row span{color:#94a3b8;font-weight:700;margin-left:4px}.nudge-btn-row span:first-child{margin-left:0}.cluster-quick-presets{display:flex;gap:4px;margin-bottom:8px;flex-wrap:wrap}.inspector-tuning-tabs{display:flex;background:#1e293bb3;border-bottom:1px solid rgba(255,255,255,.12);padding:4px 8px 0;gap:4px;overflow-x:auto;flex-shrink:0}.tuning-tab-btn{background:transparent;border:1px solid transparent;border-bottom:none;color:#94a3b8;font-size:11px;font-weight:600;padding:8px 12px;border-radius:6px 6px 0 0;cursor:pointer;white-space:nowrap;display:flex;align-items:center;gap:6px;transition:all .15s ease}.tuning-tab-btn:hover{color:#f8fafc;background:#ffffff0d}.tuning-tab-btn.active{color:#38bdf8;background:#0f172a;border-color:#ffffff26;border-bottom:2px solid #38bdf8}.inspector-tab-panes-wrapper{flex:1;overflow-y:auto;padding:14px 16px;display:flex;flex-direction:column;gap:12px}.tuning-tab-pane{display:flex;flex-direction:column;gap:12px}.tuning-tab-pane.hidden{display:none!important}.joint-header-box{display:flex;flex-direction:column;gap:6px}.joint-header-box select{width:100%}.pin-presets-row{display:flex;gap:6px;flex-wrap:wrap;margin-top:4px}.pin-preset-pill{background:#1e293bcc;border:1px solid rgba(255,255,255,.12);color:#cbd5e1;font-size:10px;font-weight:600;padding:4px 10px;border-radius:20px;cursor:pointer;transition:all .15s ease}.pin-preset-pill:hover{background:#38bdf826;border-color:#38bdf866;color:#38bdf8}.pin-preset-pill.active{background:#38bdf840;border-color:#38bdf8;color:#38bdf8;box-shadow:0 0 8px #38bdf840}.slider-control-group{display:flex;flex-direction:column;gap:4px;margin-top:4px}.slider-label-row{display:flex;justify-content:space-between;align-items:center;font-size:11px}.slider-value-badge{font-family:monospace;font-weight:700;font-size:11px;color:#38bdf8;background:#38bdf81a;padding:1px 6px;border-radius:4px;border:1px solid rgba(56,189,248,.25)}.inspector-slider{width:100%;accent-color:#38bdf8;height:6px;border-radius:3px;background:#1e293b;cursor:pointer}.axis-preset-group{display:flex;gap:6px;margin-top:4px}.axis-btn{flex:1;padding:5px 8px;font-size:11px;font-weight:700;background:#1e293b99;border:1px solid rgba(255,255,255,.1);color:#94a3b8;border-radius:6px;cursor:pointer;text-align:center;transition:all .15s}.axis-btn:hover{background:#ffffff14;color:#f8fafc}.axis-btn.active{background:#38bdf833;border-color:#38bdf8;color:#38bdf8}.stability-meter-card{background:#1e293b80;border:1px solid rgba(255,255,255,.1);border-radius:8px;padding:10px 12px;display:flex;flex-direction:column;gap:6px}.stability-header{display:flex;justify-content:space-between;align-items:center;font-size:11px;font-weight:700}.stability-bar-track{width:100%;height:8px;background:#1e293b;border-radius:4px;overflow:hidden;position:relative}.stability-bar-fill{height:100%;transition:width .3s ease,background .3s ease;border-radius:4px}.stability-desc{font-size:10px;color:#94a3b8}.duallock-pad-list{display:flex;flex-direction:column;gap:6px;max-height:140px;overflow-y:auto}.duallock-pad-item{display:flex;justify-content:space-between;align-items:center;padding:6px 8px;background:#0f172ab3;border:1px solid rgba(255,255,255,.08);border-radius:6px;font-size:11px}.btn-place-tape-active{background:#10b98140!important;border-color:#10b981!important;color:#34d399!important;box-shadow:0 0 10px #10b98159}.motion-capture-row{display:grid;grid-template-columns:1fr 1fr;gap:8px}.motion-playback-toolbar{display:flex;align-items:center;gap:8px;padding:8px 10px;background:#1e293b80;border:1px solid rgba(255,255,255,.08);border-radius:8px;flex-wrap:wrap}.motion-scrubber-box{display:flex;flex-direction:column;gap:4px;margin-top:6px}.motion-scrubber-time{display:flex;justify-content:space-between;font-size:10px;font-family:monospace;color:#94a3b8}@media(max-width:1024px){.cad-inspector-window{width:98vw;height:96vh}.inspector-body{flex-direction:column}.inspector-left-col{flex:1;width:100%;height:48vh;border-right:none;border-bottom:1px solid var(--border-color)}.inspector-right-col{flex:1;width:100%;min-width:0}}
