.blockly-workspace-container{border-radius:10px;flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.blockly-workspace{flex:1;min-height:0}.blockly-workspace .blocklyToolboxCategory{border-radius:6px!important;outline:none!important;height:auto!important;min-height:36px!important;margin-bottom:6px!important;padding:2px 14px!important}.blockly-workspace .blocklyToolboxCategoryLabel{font-size:18px!important;font-weight:400!important}.blockly-workspace .blocklyToolboxCategoryIcon{display:none!important}.blockly-workspace .blocklyToolboxDiv{min-width:140px!important}.canvas-footer{background:#f5f6fa;border-top:1px solid #dde1ec;border-radius:0 0 10px 10px;flex-shrink:0;justify-content:center;align-items:center;padding:10px 20px;display:flex;position:relative}.footer-device-info{flex-shrink:0;align-items:center;gap:14px;display:flex;position:absolute;left:20px}.footer-device-item{color:#555;align-items:center;gap:6px;font-size:16px;display:flex}.footer-device-item.firmware-outdated{color:#d32f2f}.firmware-upgrade-link{color:#ff6b35;white-space:nowrap;border:1px solid #ff6b35;border-radius:6px;padding:2px 8px;font-size:13px;font-weight:600;text-decoration:none;transition:all .15s}.firmware-upgrade-link:hover{color:#fff;background:#ff6b35}.footer-center{justify-content:center;align-items:center;gap:16px;display:flex}.run-btn{cursor:pointer;color:#fff;background:linear-gradient(135deg,#4cc88a,#52db94);border:none;border-radius:12px;padding:10px 36px;font-size:16px;font-weight:700;transition:all .15s;box-shadow:0 3px 12px #4cc88a59}.run-btn:hover:not(:disabled){background:linear-gradient(135deg,#52db94,#6ee8a8);transform:translateY(-1px);box-shadow:0 4px 18px #4cc88a80}.run-btn:disabled{color:#999;cursor:not-allowed;box-shadow:none;background:#dce3f0}.run-btn.running{color:#fff;background:linear-gradient(135deg,#ffb020,#ffc840);animation:.8s ease-in-out infinite btn-pulse;box-shadow:0 3px 16px #ffb02080}@keyframes btn-pulse{0%,to{box-shadow:0 0 #ffb02066}50%{box-shadow:0 0 20px 6px #ffb02066}}.footer-hint{color:#99a;font-size:12px}.canvas{border-radius:10px;flex-direction:column;flex:1;min-width:0;display:flex;overflow:hidden;box-shadow:0 2px 12px #0000000f}.canvas-body{flex:1;min-height:0;display:flex}.connection-bar{background:#4a8fe7;border-bottom:none;flex-shrink:0;align-items:center;gap:36px;min-height:36px;padding:6px 20px;display:flex;position:relative}.connection-item{color:#ffffffd9;align-items:center;gap:8px;font-size:13px;display:flex}.status-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.status-dot.connected{background:#7dffb3;box-shadow:0 0 6px #7dffb3}.status-dot.disconnected{background:#ffffff4d}.status-dot.transitioning{background:#ffdd57;animation:1s ease-in-out infinite pulse}@keyframes pulse{0%,to{opacity:1}50%{opacity:.3}}.connection-label{color:#ffffffb3;font-weight:500}.device-name{color:#fff;font-weight:500}.device-meta{color:#fff9;margin-left:4px;font-size:12px}.disabled-hint{color:#ffffff59;font-size:12px;font-style:italic}.conn-btn{cursor:pointer;border:1px solid #0000;border-radius:6px;padding:4px 14px;font-size:12px;transition:all .15s}.conn-btn.connect{color:#ffffffe6;background:#fff3;border-color:#ffffff40}.conn-btn.connect:hover{background:#ffffff4d}.conn-btn.disconnect{color:#fcc;background:0 0;border-color:#ffffff40}.conn-btn.disconnect:hover{background:#ff64644d;border-color:#fff6}.brand-title{color:#fff;letter-spacing:1px;font-family:Georgia,Times New Roman,Times,serif;font-size:16px;font-weight:600;position:absolute;left:50%;transform:translate(-50%)}.control-panel{scrollbar-width:none;background:#f5f6fa;border-radius:10px;flex-shrink:0;width:340px;padding-left:10px;overflow:hidden auto;box-shadow:0 2px 12px #0000000f}.control-panel::-webkit-scrollbar{display:none}.control-panel-inner{transform-origin:0 0;width:650px;height:1270px;margin:10px auto;position:relative;transform:scale(.5)}.control-panel-inner button:active{filter:brightness(.85)}.control-panel-inner input[type=range]{appearance:none;background:#d9d9d9;border-radius:5px;outline:none;height:10px}.control-panel-inner input[type=range]::-webkit-slider-thumb{appearance:none;cursor:pointer;background:#007aff;border-radius:50%;width:32px;height:32px;box-shadow:0 2px 6px #007aff4d}.control-panel-inner input[type=range]::-moz-range-thumb{cursor:pointer;background:#007aff;border:none;border-radius:50%;width:32px;height:32px}.app-layout{flex:1;gap:0;min-height:0;padding:8px;display:flex}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body,#app{color:#333;background:#e8ecf4;height:100%;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif;overflow:hidden}#app{flex-direction:column;display:flex}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#c4cfe0;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#a0b0cc}input[type=range]{appearance:none}
