#topToolbar{z-index:20;background:#fff;border-bottom:1px solid #dce0e5;align-items:center;gap:12px;height:52px;min-height:52px;padding:0 14px;display:flex;box-shadow:0 1px 2px #0000000a}.toolbar-group{align-items:center;gap:6px;display:flex}.toolbar-button{color:#353a40;white-space:nowrap;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:7px;justify-content:center;align-items:center;gap:6px;height:34px;padding:0 11px;font-size:13px;font-weight:600;transition:background .12s,border-color .12s,color .12s;display:inline-flex}.toolbar-button:hover{background:#f0f2f5;border-color:#e0e3e7}.toolbar-button:active{background:#e6e9ed}.toolbar-icon{color:#5c636d;justify-content:center;align-items:center;min-width:17px;font-size:18px;font-weight:400;line-height:1;display:inline-flex}.folder-icon{font-size:20px}.toolbar-divider{background:#dde1e6;flex-shrink:0;width:1px;height:25px}.device-tools{gap:8px}.device-label{color:#6a717b;font-size:12px;font-weight:600}#deviceSelect{color:#2f343b;cursor:pointer;background:#fff;border:1px solid #d4d8de;border-radius:7px;outline:none;width:180px;height:34px;padding:0 32px 0 11px;font-size:13px}#deviceSelect:hover{border-color:#aeb5bf}#deviceSelect:focus{border-color:#1789ed;box-shadow:0 0 0 2px #1789ed1f}.device-status{color:#747b85;white-space:nowrap;align-items:center;gap:7px;height:30px;padding:0 5px;font-size:12px;display:inline-flex}.status-dot{background:#a8adb5;border-radius:50%;width:8px;height:8px}.device-status.disconnected .status-dot{background:#a8adb5}.device-status.connected .status-dot{background:#1cb24b}.device-status.connected{color:#1a8a3c}.connect-button{color:#29648e;background:#f7fafd;border:1px solid #c9d6e2;padding:0 14px}.connect-button:hover{background:#ecf5fc;border-color:#afc9de}.toolbar-spacer{flex:1}.run-button{color:#fff;background:#24b653;border:1px solid #20a54a;min-width:78px;padding:0 16px}.run-button:hover{color:#fff;background:#20a94c;border-color:#1a9842}.run-button:active{background:#198d3d}.run-symbol{font-size:13px}.stop-button{color:#4e545c;background:#fff;border:1px solid #d5d9de;min-width:76px;padding:0 15px}.stop-button:hover{background:#f3f4f6;border-color:#c9cdd3}.stop-symbol{background:#e15353;border-radius:2px;width:10px;height:10px;display:inline-block}@media (width<=1050px){#deviceSelect{width:145px}.device-status{display:none}.toolbar-button{padding:0 9px}}@media (width<=820px){#topToolbar{gap:6px}.toolbar-button span:not(.toolbar-icon,.run-symbol,.stop-symbol){display:none}.toolbar-divider{margin:0 3px}}#topHeader.compact-header{color:#fff;background:#20232a;border-bottom:1px solid #30343b;gap:10px;overflow:hidden;align-items:center!important;height:58px!important;min-height:58px!important;padding:0 14px!important;display:flex!important}.compact-brand{flex-shrink:0}.compact-brand h1{color:#fff;white-space:nowrap;margin:0!important;font-size:19px!important;font-weight:700!important}.header-divider{background:#3a3f47;flex-shrink:0;width:1px;height:25px}.compact-project{flex-direction:column;justify-content:center;gap:1px;min-width:105px;max-width:150px;display:flex}.project-label{color:#858c96;font-size:9px;line-height:1.2}#projectName{color:#fff;text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:650;overflow:hidden}.compact-mode-tabs{background:#171a1f;border-radius:8px;align-items:center;gap:3px;height:36px;padding:3px;display:flex}.compact-mode-tab{color:#9299a3;white-space:nowrap;cursor:pointer;background:0 0;border:0;border-radius:6px;justify-content:center;align-items:center;gap:5px;height:30px;padding:0 10px;font-size:11px;font-weight:650;display:flex}.compact-mode-tab.active{color:#1789ed;background:#fff}.compact-mode-tab:disabled{opacity:.55;cursor:default}.compact-mode-icon{justify-content:center;align-items:center;min-width:14px;font-family:Menlo,Monaco,monospace;font-size:11px;display:inline-flex}.header-spacer{flex:1;min-width:5px}.compact-file-tools{align-items:center;gap:2px;display:flex}.header-tool-button{color:#c4c9d0;white-space:nowrap;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;justify-content:center;align-items:center;gap:5px;height:32px;padding:0 8px;font-size:11px;font-weight:600;display:inline-flex}.header-tool-button:hover{color:#fff;background:#30343b;border-color:#3a4048}.header-tool-icon{color:#e1e4e8;font-size:15px;line-height:1}.compact-device-area{align-items:center;gap:7px;display:flex}.compact-header #deviceSelect{color:#30353c;cursor:pointer;background:#fff;outline:none;border:1px solid #474d56!important;border-radius:6px!important;width:160px!important;height:32px!important;padding:0 28px 0 9px!important;font-size:11px!important}.compact-header #deviceSelect:focus{border-color:#1789ed!important}.compact-device-status{color:#a7adb6;white-space:nowrap;align-items:center;gap:5px;font-size:10px;display:flex}.compact-device-status .status-dot{background:#969da7;border-radius:50%;width:7px;height:7px}.compact-device-status.connected .status-dot{background:#1cb24b}.compact-device-status.connected{color:#67d087}.header-connect-button{color:#d9e7f4;cursor:pointer;background:#2b333d;border:1px solid #536273;border-radius:7px;flex:0 0 72px;width:72px;min-width:72px;height:34px;padding:0 10px;font-size:11px;font-weight:700}.header-connect-button:hover{background:#354250;border-color:#60758a}.compact-run-tools{align-items:center;gap:5px;display:flex}.compact-run-button{color:#fff;white-space:nowrap;cursor:pointer;background:#24b653;border:1px solid #1b9c43;border-radius:7px;flex:0 0 92px;justify-content:center;align-items:center;gap:6px;width:92px;min-width:92px;height:34px;padding:0 10px;font-size:11px;font-weight:700;transition:background .12s,border-color .12s,transform 80ms,box-shadow 80ms;display:inline-flex}.compact-run-button:hover{background:#20a94c}.compact-run-button:active:not(:disabled){transform:translateY(2px)scale(.98);box-shadow:inset 0 2px 4px #00000038}.compact-run-button>span:first-child{text-align:center;min-width:18px;font-size:18px;line-height:1}.compact-run-button[data-runtime-state=preparing]{background:#f29b18;border-color:#d8860b}.compact-run-button[data-runtime-state=preparing]>span:first-child{animation:.8s linear infinite compact-run-spinner}.compact-run-button[data-runtime-state=running]{background:#16873a;border-color:#11712f}.compact-run-button[data-runtime-state=stopping]{background:#4b535e;border-color:#58616d}@keyframes compact-run-spinner{to{transform:rotate(360deg)}}.compact-stop-button{color:#d8dce1;cursor:pointer;background:#292d33;border:1px solid #474d56;border-radius:7px;flex:0 0 72px;justify-content:center;align-items:center;gap:6px;width:72px;min-width:72px;height:34px;padding:0 10px;font-size:11px;font-weight:700;transition:background .12s,border-color .12s,color .12s,transform 80ms;display:inline-flex}.compact-stop-button:hover{color:#fff;background:#343941}.compact-stop-button[data-runtime-state=running]{color:#fff;background:#d74747;border-color:#c13a3a}.compact-stop-button[data-runtime-state=stopping]{color:#fff;background:#a13939;border-color:#8f3434}.compact-stop-icon{background:#e15a5a;border-radius:2px;width:14px;height:14px;display:inline-block}.compact-stop-button[data-runtime-state=running] .compact-stop-icon,.compact-stop-button[data-runtime-state=stopping] .compact-stop-icon{background:#fff}.generated-code-title{align-items:center;gap:8px;min-width:0;display:flex}.code-panel-label{color:#c4c8cf;white-space:nowrap;font-size:11px;font-weight:650}.code-language-select{color:#2e3339;cursor:pointer;background:#fff;border:1px solid #484e57;border-radius:6px;outline:none;min-width:90px;height:28px;padding:0 25px 0 8px;font-size:11px}.code-language-select:focus{border-color:#1789ed!important}.hidden-code-title{display:none!important}.code-panel-header{justify-content:space-between}#codePanel.collapsed .generated-code-title{display:none}@media (width<=1250px){.header-tool-text{display:none}.header-tool-button{width:31px;padding:0}.compact-header #deviceSelect{width:145px!important}}@media (width<=1100px){.device-status-text{display:none}.compact-project{min-width:85px;max-width:100px}}@media (width<=950px){.compact-project,.compact-header .header-divider:nth-of-type(2){display:none}.compact-mode-tab{padding:0 7px}.compact-header #deviceSelect{width:125px!important}}#codePanel{overflow:hidden}#codeOutput{flex:1;min-height:80px}#codePanel .side-terminal{background:#181a1f;border-top:1px solid #3a3e45;flex:none;width:100%;height:150px;min-height:38px;position:relative}#codePanel .side-terminal.collapsed{height:38px!important}#codePanel .side-terminal .terminal-header{justify-content:space-between;align-items:center;width:100%;height:38px;min-height:38px;padding:0 5px 0 8px;display:flex}#codePanel .side-terminal .terminal-tabs{align-items:center;gap:0;display:flex}#codePanel .side-terminal .terminal-tab{color:#aeb4bd;cursor:pointer;background:0 0;border:0;height:38px;padding:0 9px;font-size:11px}#codePanel .side-terminal .terminal-tab.active{color:#fff}#codePanel .side-terminal .terminal-tab.active:after{left:8px;right:8px}#codePanel .side-terminal .terminal-content{background:#181a1f;flex:1;font-family:Menlo,Monaco,monospace;font-size:11px;line-height:1.55;position:relative;overflow:auto;text-align:left!important;width:100%!important;min-width:0!important;max-width:none!important;margin:0!important;padding:12px 14px!important;display:block!important}#codePanel .side-terminal .terminal-pane{text-align:left!important;width:100%!important;min-width:0!important;max-width:none!important;margin:0!important;padding:0!important;display:none!important;position:relative!important;left:0!important;right:auto!important;transform:none!important}#codePanel .side-terminal .terminal-pane.active{display:block!important}#codePanel .side-terminal .terminal-line{min-height:19px;line-height:1.55;text-align:left!important;white-space:normal!important;width:100%!important;min-width:0!important;max-width:none!important;margin:0!important;padding:0!important;display:block!important;position:relative!important;left:0!important;right:auto!important;transform:none!important}#codePanel .side-terminal .terminal-system{color:#f2f4f7;font-weight:700;text-align:left!important;width:100%!important;max-width:none!important;margin:0!important}#codePanel .side-terminal .terminal-muted{color:#818895;text-align:left!important;width:100%!important;max-width:none!important;margin:0!important}#codePanel .side-terminal .terminal-resizer{cursor:ns-resize;z-index:30;width:100%;height:8px;position:absolute;top:-4px;left:0}#codePanel .side-terminal .terminal-resizer:hover{background:#1789ed}#codePanel .side-terminal.collapsed .terminal-content{display:none!important}#codePanel .side-terminal.collapsed .terminal-resizer,#codePanel.collapsed .side-terminal,#codePanel.collapsed #codeOutput{display:none}#editorArea{background:#f7f8fa;flex-direction:column;flex:1;min-width:0;min-height:0;display:flex;position:relative;overflow:hidden}#editorArea #blocklyDiv{flex:1;width:100%;min-width:0;min-height:0;height:auto!important}#objectBar{z-index:10;background:#fff;border-bottom:1px solid #dde1e6;align-items:center;gap:10px;height:48px;min-height:48px;padding:0 10px;display:flex;overflow:hidden;box-shadow:0 1px 2px #00000008}.object-bar-label{color:#7a828c;border-right:1px solid #e2e5e9;flex-shrink:0;align-items:center;gap:5px;height:30px;padding:0 8px 0 3px;font-size:10px;font-weight:700;display:flex}.object-bar-label-icon{color:#1789ed;font-size:11px}.object-bar-list{scrollbar-width:thin;flex:1;align-items:center;gap:6px;min-width:0;height:100%;display:flex;overflow:auto hidden}.object-tab{color:#505860;cursor:pointer;background:#f8f9fa;border:1px solid #d9dee4;border-radius:8px;flex-shrink:0;justify-content:flex-start;align-items:center;gap:7px;min-width:82px;height:34px;padding:0 10px;display:inline-flex;position:relative}.object-tab:hover{background:#f1f6fa;border-color:#bfcad5}.object-tab.active{color:#176eba;background:#eff7fe;border-color:#1789ed;box-shadow:0 0 0 2px #1789ed14}.object-tab.active:after{content:"";background:#1789ed;height:2px;position:absolute;bottom:-7px;left:10px;right:10px}.object-tab-icon{background:#e5f3fe;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;display:flex}.object-mini-robot{background:#fff;border:1.5px solid #1789ed;border-radius:4px;width:15px;height:18px;position:relative}.object-mini-robot span{background:#555d66;border-radius:1px;width:3px;height:9px;position:absolute;top:4px}.object-mini-robot span:first-child{left:-4px}.object-mini-robot span:last-child{right:-4px}.object-tab-name{text-overflow:ellipsis;white-space:nowrap;max-width:90px;font-size:10px;font-weight:700;overflow:hidden}.object-add-button{color:#838b95;background:#fff;border:1px dashed #c7cdd4;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:32px;min-width:32px;height:32px;padding:0;font-size:17px;display:flex}.object-add-button:disabled{opacity:.65}.current-object-info{color:#969da6;flex-shrink:0;align-items:center;gap:5px;height:28px;padding:0 7px;font-size:9px;display:flex}.current-object-info strong{color:#4e555d;font-size:10px}@media (width<=1050px){.current-object-info{display:none}}@media (width<=850px){#objectBar{gap:6px;padding:0 7px}.object-bar-label{padding-right:6px}.object-bar-label span:last-child{display:none}.object-tab{min-width:72px;padding:0 8px}}.object-bar-objects{flex:2;align-items:center;gap:10px;min-width:0;height:100%;display:flex}.object-bar-backdrop{background:#f8f9fa;border:1px solid #d9dee4;border-radius:8px;flex:1;align-items:center;gap:8px;min-width:150px;height:36px;padding:0 8px;display:flex;overflow:hidden}.object-bar-expand-button{color:#555d66;cursor:pointer;background:#fff;border:1px solid #d9dee4;border-radius:8px;flex-shrink:0;height:32px;padding:0 10px;font-size:10px;font-weight:700}.object-backdrop-expanded-panel{z-index:80;background:#f7f8fa;border-bottom:1px solid #dde1e6;grid-template-columns:minmax(0,2fr) minmax(220px,1fr);gap:12px;max-height:260px;padding:12px;display:grid;position:absolute;top:48px;left:0;right:0;overflow:auto}.object-backdrop-expanded-panel[hidden]{display:none}.object-backdrop-expanded-objects,.object-backdrop-expanded-backdrops{background:#fff;border:1px solid #dde1e6;border-radius:10px;min-width:0;padding:10px}.object-backdrop-expanded-objects>header,.object-backdrop-expanded-backdrops>header{justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px;display:flex}.object-backdrop-expanded-objects h3,.object-backdrop-expanded-backdrops h3{color:#4e555d;margin:0;font-size:12px}#expandedObjectCreateButton,#expandedBackdropAddButton{color:#176eba;cursor:pointer;background:#fff;border:1px solid #1789ed;border-radius:7px;height:30px;padding:0 10px;font-size:10px;font-weight:700}.object-backdrop-expanded-object-list,.object-backdrop-expanded-backdrop-list{grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:8px;display:grid}.object-management-card,.backdrop-management-card{color:#505860;cursor:pointer;background:#f8f9fa;border:1px solid #d9dee4;border-radius:9px;flex-direction:column;justify-content:center;align-items:center;gap:6px;min-width:0;min-height:86px;padding:8px;display:flex;position:relative}.object-management-card.active,.backdrop-management-card.active{background:#eff7fe;border-color:#1789ed}.object-management-thumbnail,.backdrop-management-thumbnail{background:#eceff2 50%/cover no-repeat;border-radius:6px;justify-content:center;align-items:center;width:58px;height:42px;display:flex;overflow:hidden}.object-management-thumbnail img{object-fit:contain;width:100%;height:100%}.object-management-name,.backdrop-management-name{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:10px;font-weight:700;overflow:hidden}.backdrop-management-current{color:#1789ed;font-size:9px;font-weight:700}.object-management-delete,.backdrop-management-delete{color:#b94444;cursor:pointer;background:#fff;border:1px solid #e0a0a0;border-radius:5px;padding:2px 5px;font-size:9px;position:absolute;top:5px;right:5px}@media (width<=850px){.object-bar-backdrop{min-width:115px}.object-backdrop-expanded-panel{grid-template-columns:1fr}}.object-bar-object-scroller{flex:1;min-width:0;height:100%;overflow:hidden}.object-bar-object-scroller .object-bar-list{scroll-behavior:smooth;scrollbar-width:none;width:100%;height:100%;overflow:auto hidden}.object-bar-object-scroller .object-bar-list::-webkit-scrollbar{display:none}.object-bar-nav-button{color:#606872;cursor:pointer;background:#fff;border:1px solid #d9dee4;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:24px;min-width:24px;height:30px;padding:0;font-size:17px;line-height:1;display:flex}.object-bar-nav-button:hover:not(:disabled){background:#f3f6f8;border-color:#b8c4cf}.object-bar-nav-button:disabled{opacity:.28;cursor:default}.object-bar-backdrop{gap:4px;padding:0 5px}.object-bar-backdrop-list{scroll-behavior:smooth;scrollbar-width:none;flex:1;align-items:center;gap:5px;min-width:0;height:100%;display:flex;overflow:auto hidden}.object-bar-backdrop-list::-webkit-scrollbar{display:none}.object-bar-backdrop-item{color:#555d66;cursor:pointer;background:#fff;border:1px solid #d9dee4;border-radius:7px;flex-shrink:0;align-items:center;gap:5px;min-width:76px;max-width:96px;height:30px;padding:2px 6px 2px 3px;display:inline-flex;position:relative}.object-bar-backdrop-item:hover{background:#f4f7f9;border-color:#bfcad5}.object-bar-backdrop-item.active{color:#176eba;background:#eff7fe;border-color:#1789ed;box-shadow:0 0 0 1px #1789ed14}.object-bar-backdrop-item-thumbnail{background-color:#eceff2;background-position:50%;background-repeat:no-repeat;background-size:cover;border-radius:5px;flex-shrink:0;width:34px;height:24px}.object-bar-backdrop-item-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:9px;font-weight:700;overflow:hidden}@media (width<=850px){.object-bar-nav-button{width:21px;min-width:21px}.object-bar-backdrop{min-width:125px}.object-bar-backdrop-item{min-width:68px}}
