.blockly-workspace-container{border-radius:10px;flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.blockly-workspace{border-radius:10px;flex:1;min-height:0;overflow:hidden}.blockly-workspace .blocklyToolboxCategory{border-radius:6px!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;gap:16px;padding:10px 20px;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}.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%)}.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}
