*{margin:0;padding:0;-webkit-box-sizing:border-box;box-sizing:border-box}body{font-family:Microsoft YaHei,Arial,sans-serif;overflow:hidden;background:linear-gradient(135deg,#f5f7fa,#c3cfe2);color:#333}#app,#container{width:100vw;height:100vh}#container{position:relative}#canvas-container{width:100%;height:100%}#info{bottom:20px;left:20px;background:hsla(0,0%,100%,.95);padding:15px;border-radius:8px;font-size:12px;color:#666;border:1px solid rgba(0,0,0,.1);-webkit-box-shadow:0 2px 10px rgba(0,0,0,.1);box-shadow:0 2px 10px rgba(0,0,0,.1)}#info,#loading{position:absolute}#loading{top:50%;left:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);text-align:center;z-index:1000}.spinner{border:4px solid rgba(76,175,80,.2);border-top-color:#4caf50;border-radius:50%;width:50px;height:50px;-webkit-animation:spin 1s linear infinite;animation:spin 1s linear infinite;margin:0 auto 20px}@-webkit-keyframes spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}.hidden{display:none}.leftnov[data-v-1901fe5d]{padding:10px;position:absolute;top:20px;left:20px;width:400px;height:600px;border-radius:8px;background:hsla(0,0%,100%,.95);-webkit-box-shadow:0 4px 12px rgba(0,0,0,.1);box-shadow:0 4px 12px rgba(0,0,0,.1);overflow:hidden}.navbar[data-v-1901fe5d]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;margin-bottom:20px;border-bottom:1px solid #eaeaea;padding-bottom:10px}.nav-item[data-v-1901fe5d]{-webkit-box-flex:1;-ms-flex:1;flex:1;text-align:center;padding:10px 5px;margin:0 2px;background:#f8f9fa;border-radius:4px;cursor:pointer;font-size:14px;font-weight:500;color:#333;-webkit-transition:all .3s ease;transition:all .3s ease;border:1px solid #e0e0e0}.nav-item[data-v-1901fe5d]:hover{background:#e9ecef;-webkit-transform:translateY(-2px);transform:translateY(-2px);-webkit-box-shadow:0 2px 5px rgba(0,0,0,.1);box-shadow:0 2px 5px rgba(0,0,0,.1)}.nav-item.active[data-v-1901fe5d]{background:#0d6efd;color:#fff;border-color:#0a58ca}.nav-item i[data-v-1901fe5d]{margin-right:5px;font-size:12px}.content-area[data-v-1901fe5d]{height:calc(100% - 80px);overflow-y:auto;padding:5px}.content-section[data-v-1901fe5d]{-webkit-animation:fadeIn-data-v-1901fe5d .5s;animation:fadeIn-data-v-1901fe5d .5s}@-webkit-keyframes fadeIn-data-v-1901fe5d{0%{opacity:0}to{opacity:1}}@keyframes fadeIn-data-v-1901fe5d{0%{opacity:0}to{opacity:1}}.section-title[data-v-1901fe5d]{font-size:16px;font-weight:600;margin-bottom:15px;color:#333;padding-bottom:8px;border-bottom:1px dashed #ccc}.control-btn[data-v-1901fe5d],.emergency-btn[data-v-1901fe5d],.program-btn[data-v-1901fe5d],.save-btn[data-v-1901fe5d]{padding:8px 15px;margin:5px;border:none;border-radius:4px;cursor:pointer;font-size:14px;-webkit-transition:background .3s;transition:background .3s}.control-btn[data-v-1901fe5d]{background:#0d6efd;color:#fff}.control-btn[data-v-1901fe5d]:hover{background:#0b5ed7}.program-btn[data-v-1901fe5d]{background:#6c757d;color:#fff}.program-btn[data-v-1901fe5d]:hover{background:#5c636a}.emergency-btn[data-v-1901fe5d]{background:#dc3545;color:#fff;padding:10px 20px;width:100%;font-weight:700}.emergency-btn[data-v-1901fe5d]:hover{background:#bb2d3b}.save-btn[data-v-1901fe5d]{background:#198754;color:#fff;padding:10px 20px;width:100%}.save-btn[data-v-1901fe5d]:hover{background:#157347}.speed-slider[data-v-1901fe5d]{width:100%;height:8px;border-radius:4px;background:#ddd;outline:none}.path-list[data-v-1901fe5d]{max-height:300px;overflow-y:auto;border:1px solid #e0e0e0;border-radius:5px;padding:10px;background:#f9f9f9}.path-point[data-v-1901fe5d]:hover{border-color:#2196f3;background-color:#f8ffff}.path-control-btn[data-v-1901fe5d]{-webkit-box-flex:1;-ms-flex:1;flex:1;padding:10px;border:none;border-radius:4px;background:#6c757d;color:#fff;cursor:pointer;font-size:14px;-webkit-transition:all .2s;transition:all .2s}.path-control-btn[data-v-1901fe5d]:hover:not(:disabled){background:#5a6268;-webkit-transform:translateY(-1px);transform:translateY(-1px);-webkit-box-shadow:0 2px 5px rgba(0,0,0,.1);box-shadow:0 2px 5px rgba(0,0,0,.1)}.path-control-btn[data-v-1901fe5d]:disabled{background:#ccc;cursor:not-allowed;opacity:.6}.setting-item[data-v-1901fe5d]{margin-bottom:15px;padding:8px;background:#f8f9fa;border-radius:4px}select[data-v-1901fe5d]{padding:5px;border-radius:4px;border:1px solid #ced4da}ul[data-v-1901fe5d]{padding-left:20px}li[data-v-1901fe5d]{margin-bottom:8px}@media (max-width:768px){.leftnov[data-v-1901fe5d]{width:300px;height:500px}.nav-item[data-v-1901fe5d]{font-size:12px;padding:8px 3px}}.websocket-config[data-v-1901fe5d]{padding:15px;background:#f8f9fa;border-radius:5px;margin-bottom:15px}.config-row[data-v-1901fe5d]{margin-bottom:12px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.config-row label[data-v-1901fe5d]{-webkit-box-flex:0;-ms-flex:0 0 100px;flex:0 0 100px;font-size:13px;color:#555}.config-row input[data-v-1901fe5d]{-webkit-box-flex:1;-ms-flex:1;flex:1;padding:6px 10px;border:1px solid #ddd;border-radius:4px;font-size:13px}.connection-status[data-v-1901fe5d]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:10px;background:#fff3cd;border-radius:4px;margin-bottom:10px;border:1px solid #ffeaa7}.connection-status.connected[data-v-1901fe5d]{background:#d4edda;border-color:#c3e6cb}.status-dot[data-v-1901fe5d]{width:10px;height:10px;border-radius:50%;background:#dc3545;margin-right:8px;-webkit-animation:pulse-data-v-1901fe5d 1.5s infinite;animation:pulse-data-v-1901fe5d 1.5s infinite}.connection-status.connected .status-dot[data-v-1901fe5d]{background:#28a745}@-webkit-keyframes pulse-data-v-1901fe5d{0%,to{opacity:1}50%{opacity:.5}}@keyframes pulse-data-v-1901fe5d{0%,to{opacity:1}50%{opacity:.5}}.status-text[data-v-1901fe5d]{font-size:13px;color:#333;font-weight:500}.control-buttons[data-v-1901fe5d]{display:-webkit-box;display:-ms-flexbox;display:flex;gap:10px}.control-buttons button[data-v-1901fe5d]{-webkit-box-flex:1;-ms-flex:1;flex:1}.joint-status[data-v-1901fe5d]{padding:15px;background:#f8f9fa;border-radius:5px}.joint-status h4[data-v-1901fe5d]{font-size:14px;margin-bottom:12px;color:#333}.joint-values[data-v-1901fe5d]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:8px}.joint-value-item[data-v-1901fe5d]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;padding:8px 12px;background:#fff;border-radius:4px;border:1px solid #e0e0e0;font-size:13px}.joint-value-item span[data-v-1901fe5d]:first-child{color:#555;font-weight:500}.joint-value-item span[data-v-1901fe5d]:last-child{color:#0d6efd;font-weight:700}.send-info[data-v-1901fe5d]{margin-top:12px;padding:10px;background:#d4edda;border-radius:4px;text-align:center;font-size:13px;color:#155724}#control-panel[data-v-63fcc94e]{position:absolute;top:20px;right:20px;background:hsla(0,0%,100%,.95);padding:20px;border-radius:10px;min-width:320px;max-height:90vh;overflow-y:auto;-webkit-box-shadow:0 4px 20px rgba(0,0,0,.2);box-shadow:0 4px 20px rgba(0,0,0,.2);backdrop-filter:blur(10px);border:1px solid rgba(0,0,0,.1)}#control-panel h2[data-v-63fcc94e]{margin-bottom:20px;color:#4caf50;font-size:18px;border-bottom:2px solid #4caf50;padding-bottom:10px}.joint-control[data-v-63fcc94e]{margin-bottom:25px;padding:15px;background:hsla(0,0%,96.1%,.9);border-radius:8px;border-left:3px solid #4caf50}.joint-control label[data-v-63fcc94e]{display:block;margin-bottom:8px;font-size:14px;color:#333;font-weight:500}.slider-container[data-v-63fcc94e]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:10px;-ms-flex-wrap:wrap;flex-wrap:wrap}.slider[data-v-63fcc94e]{-webkit-box-flex:1;-ms-flex:1;flex:1;height:6px;border-radius:3px;background:#ddd;outline:none;-webkit-appearance:none;min-width:100px}.slider[data-v-63fcc94e]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:18px;height:18px;border-radius:50%;background:#4caf50;cursor:pointer;-webkit-transition:all .2s;transition:all .2s}.slider[data-v-63fcc94e]::-webkit-slider-thumb:hover{background:#66bb6a;-webkit-transform:scale(1.2);transform:scale(1.2)}.slider[data-v-63fcc94e]::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:#4caf50;cursor:pointer;border:none}.angle-input[data-v-63fcc94e]{width:70px;padding:5px 8px;border:1px solid #ccc;border-radius:4px;font-size:13px;text-align:center;background:#fff;color:#333;-webkit-transition:all .2s;transition:all .2s}.angle-input[data-v-63fcc94e]:focus{outline:none;border-color:#4caf50;-webkit-box-shadow:0 0 0 2px rgba(76,175,80,.2);box-shadow:0 0 0 2px rgba(76,175,80,.2)}.angle-input[data-v-63fcc94e]:invalid{border-color:#f44336}.button-group[data-v-63fcc94e]{display:-webkit-box;display:-ms-flexbox;display:flex;gap:10px;margin-top:15px}button[data-v-63fcc94e]{-webkit-box-flex:1;-ms-flex:1;flex:1;padding:10px;background:#4caf50;color:#fff;border:none;border-radius:5px;cursor:pointer;font-size:14px;-webkit-transition:all .3s;transition:all .3s}button[data-v-63fcc94e]:hover{background:#66bb6a;-webkit-transform:translateY(-2px);transform:translateY(-2px)}button[data-v-63fcc94e]:active{-webkit-transform:translateY(0);transform:translateY(0)}.reset-joint-button[data-v-63fcc94e]{background:#2196f3!important;color:#fff;border:none;border-radius:4px;cursor:pointer;-webkit-transition:all .2s;transition:all .2s;font-weight:400;padding:8px 12px}.reset-joint-button[data-v-63fcc94e]:hover:not(:disabled){background:#42a5f5!important;-webkit-transform:translateY(-1px);transform:translateY(-1px);-webkit-box-shadow:0 2px 5px rgba(33,150,243,.3);box-shadow:0 2px 5px rgba(33,150,243,.3)}.reset-joint-button[data-v-63fcc94e]:disabled{background:#ccc!important;cursor:not-allowed;opacity:.6}.reset-joint-button[data-v-63fcc94e]:active:not(:disabled){-webkit-transform:translateY(0);transform:translateY(0)}h1[data-v-d8ec41bc],h2[data-v-d8ec41bc]{font-weight:400}ul[data-v-d8ec41bc]{list-style-type:none;padding:0}li[data-v-d8ec41bc]{display:inline-block;margin:0 10px}a[data-v-d8ec41bc]{color:#42b983}
/*# sourceMappingURL=app.85eaf3ab217693bcdea646e0c2a28f7c.css.map */