.code-editor[data-v-dcc1af1b]{display:flex;flex-direction:column;height:100%;background:#1e1e1e;border-radius:8px;overflow:hidden}.editor-header[data-v-dcc1af1b]{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:#252526;border-bottom:1px solid #3c3c3c}.editor-title[data-v-dcc1af1b]{display:flex;align-items:center;gap:8px;color:#e0e0e0;font-weight:500}.compile-status[data-v-dcc1af1b]{padding:4px 8px;border-radius:4px;font-size:11px;font-weight:500}.compile-status.success[data-v-dcc1af1b]{background:#2a3a2a;color:#4caf50}.compile-status.error[data-v-dcc1af1b]{background:#3a2a2a;color:#f44336}.editor-actions[data-v-dcc1af1b]{display:flex;gap:8px;align-items:center}.lang-select[data-v-dcc1af1b]{padding:6px 12px;background:#2d2d2d;border:1px solid #3c3c3c;border-radius:4px;color:#e0e0e0;font-size:13px;cursor:pointer}.lang-select[data-v-dcc1af1b]:focus{outline:none;border-color:#4fc3f7}.template-dropdown[data-v-dcc1af1b]{position:relative}.dropdown-menu[data-v-dcc1af1b]{position:absolute;top:100%;right:0;margin-top:4px;background:#2d2d2d;border:1px solid #3c3c3c;border-radius:4px;min-width:150px;display:none;flex-direction:column;z-index:100;box-shadow:0 4px 12px #0000004d}.dropdown-menu.show[data-v-dcc1af1b]{display:flex}.dropdown-menu button[data-v-dcc1af1b]{padding:8px 12px;background:none;border:none;color:#e0e0e0;text-align:left;font-size:12px;cursor:pointer;transition:background .2s}.dropdown-menu button[data-v-dcc1af1b]:hover{background:#3c3c3c}.icon[data-v-dcc1af1b]{width:18px;height:18px}.icon-sm[data-v-dcc1af1b]{width:14px;height:14px}.btn[data-v-dcc1af1b]{display:flex;align-items:center;gap:6px;padding:6px 12px;border:none;border-radius:4px;font-size:13px;cursor:pointer;transition:all .2s}.btn-secondary[data-v-dcc1af1b]{background:#3c3c3c;color:#e0e0e0}.btn-secondary[data-v-dcc1af1b]:hover{background:#4a4a4a}.btn-tertiary[data-v-dcc1af1b]{background:#2d2d2d;color:#a0a0a0;border:1px solid #3c3c3c}.btn-tertiary[data-v-dcc1af1b]:hover{background:#3c3c3c;color:#e0e0e0}.editor-content[data-v-dcc1af1b]{flex:1;overflow:hidden}[data-v-dcc1af1b] .cm-editor{height:100%}[data-v-dcc1af1b] .cm-scroller{overflow:auto}[data-v-dcc1af1b] .cm-tooltip.cm-tooltip-autocomplete{background:#2d2d2d!important;border:1px solid #3c3c3c!important;border-radius:4px!important}[data-v-dcc1af1b] .cm-completionLabel{color:#e0e0e0!important}[data-v-dcc1af1b] .cm-completionDetail{color:#4fc3f7!important}[data-v-dcc1af1b] .cm-completionInfo{color:#a0a0a0!important}[data-v-dcc1af1b] .cm-activeLineGutter{background:#4fc3f71a!important}[data-v-dcc1af1b] .cm-activeLine{background:#4fc3f70d!important}.wokwi-element[data-v-28feaabd]{position:absolute;cursor:move;user-select:none;width:100%;height:100%;pointer-events:auto;backface-visibility:hidden;perspective:1000px;transform:translateZ(0);image-rendering:optimizeQuality;image-rendering:-webkit-optimize-contrast;image-rendering:crisp-edges}[data-v-28feaabd] wokwi-arduino-uno,[data-v-28feaabd] wokwi-arduino-mega,[data-v-28feaabd] wokwi-arduino-nano,[data-v-28feaabd] wokwi-esp32-devkit-v1,[data-v-28feaabd] wokwi-pi-pico,[data-v-28feaabd] wokwi-franzininho-diy,[data-v-28feaabd] wokwi-led,[data-v-28feaabd] wokwi-rgb-led,[data-v-28feaabd] wokwi-led-bar-graph,[data-v-28feaabd] wokwi-neopixel,[data-v-28feaabd] wokwi-neopixel-ring,[data-v-28feaabd] wokwi-neopixel-matrix,[data-v-28feaabd] wokwi-7segment,[data-v-28feaabd] wokwi-lcd1602,[data-v-28feaabd] wokwi-lcd2004,[data-v-28feaabd] wokwi-ssd1306,[data-v-28feaabd] wokwi-ili9341,[data-v-28feaabd] wokwi-pushbutton,[data-v-28feaabd] wokwi-slide-switch,[data-v-28feaabd] wokwi-dip-switch-8,[data-v-28feaabd] wokwi-potentiometer,[data-v-28feaabd] wokwi-slide-potentiometer,[data-v-28feaabd] wokwi-analog-joystick,[data-v-28feaabd] wokwi-rotary-dialer,[data-v-28feaabd] wokwi-ky-040,[data-v-28feaabd] wokwi-membrane-keypad,[data-v-28feaabd] wokwi-ir-remote,[data-v-28feaabd] wokwi-dht22,[data-v-28feaabd] wokwi-hc-sr04,[data-v-28feaabd] wokwi-pir-motion-sensor,[data-v-28feaabd] wokwi-photoresistor-sensor,[data-v-28feaabd] wokwi-ntc-temperature-sensor,[data-v-28feaabd] wokwi-mpu6050,[data-v-28feaabd] wokwi-ds1307,[data-v-28feaabd] wokwi-hx711,[data-v-28feaabd] wokwi-flame-sensor,[data-v-28feaabd] wokwi-gas-sensor,[data-v-28feaabd] wokwi-tilt-switch,[data-v-28feaabd] wokwi-big-sound-sensor,[data-v-28feaabd] wokwi-small-sound-sensor,[data-v-28feaabd] wokwi-heart-beat-sensor,[data-v-28feaabd] wokwi-ir-receiver,[data-v-28feaabd] wokwi-buzzer,[data-v-28feaabd] wokwi-servo,[data-v-28feaabd] wokwi-stepper-motor,[data-v-28feaabd] wokwi-biaxial-stepper,[data-v-28feaabd] wokwi-relay-module,[data-v-28feaabd] wokwi-resistor,[data-v-28feaabd] wokwi-microsd-card,[data-v-28feaabd] wokwi-sn74hc595{width:100%!important;height:100%!important;backface-visibility:hidden;perspective:1000px;transform:translateZ(0);image-rendering:optimizeQuality;image-rendering:-webkit-optimize-contrast;image-rendering:crisp-edges;vector-effect:non-scaling-stroke;shape-rendering:geometricPrecision;text-rendering:geometricPrecision;filter:none!important}[data-v-28feaabd] wokwi-arduino-uno svg,[data-v-28feaabd] wokwi-arduino-mega svg,[data-v-28feaabd] wokwi-arduino-nano svg,[data-v-28feaabd] wokwi-esp32-devkit-v1 svg,[data-v-28feaabd] wokwi-pi-pico svg,[data-v-28feaabd] wokwi-franzininho-diy svg,[data-v-28feaabd] wokwi-led svg,[data-v-28feaabd] wokwi-rgb-led svg,[data-v-28feaabd] wokwi-led-bar-graph svg,[data-v-28feaabd] wokwi-neopixel svg,[data-v-28feaabd] wokwi-neopixel-ring svg,[data-v-28feaabd] wokwi-neopixel-matrix svg,[data-v-28feaabd] wokwi-7segment svg,[data-v-28feaabd] wokwi-lcd1602 svg,[data-v-28feaabd] wokwi-lcd2004 svg,[data-v-28feaabd] wokwi-ssd1306 svg,[data-v-28feaabd] wokwi-ili9341 svg,[data-v-28feaabd] wokwi-pushbutton svg,[data-v-28feaabd] wokwi-slide-switch svg,[data-v-28feaabd] wokwi-dip-switch-8 svg,[data-v-28feaabd] wokwi-potentiometer svg,[data-v-28feaabd] wokwi-slide-potentiometer svg,[data-v-28feaabd] wokwi-analog-joystick svg,[data-v-28feaabd] wokwi-rotary-dialer svg,[data-v-28feaabd] wokwi-ky-040 svg,[data-v-28feaabd] wokwi-membrane-keypad svg,[data-v-28feaabd] wokwi-ir-remote svg,[data-v-28feaabd] wokwi-dht22 svg,[data-v-28feaabd] wokwi-hc-sr04 svg,[data-v-28feaabd] wokwi-pir-motion-sensor svg,[data-v-28feaabd] wokwi-photoresistor-sensor svg,[data-v-28feaabd] wokwi-ntc-temperature-sensor svg,[data-v-28feaabd] wokwi-mpu6050 svg,[data-v-28feaabd] wokwi-ds1307 svg,[data-v-28feaabd] wokwi-hx711 svg,[data-v-28feaabd] wokwi-flame-sensor svg,[data-v-28feaabd] wokwi-gas-sensor svg,[data-v-28feaabd] wokwi-tilt-switch svg,[data-v-28feaabd] wokwi-big-sound-sensor svg,[data-v-28feaabd] wokwi-small-sound-sensor svg,[data-v-28feaabd] wokwi-heart-beat-sensor svg,[data-v-28feaabd] wokwi-ir-receiver svg,[data-v-28feaabd] wokwi-buzzer svg,[data-v-28feaabd] wokwi-servo svg,[data-v-28feaabd] wokwi-stepper-motor svg,[data-v-28feaabd] wokwi-biaxial-stepper svg,[data-v-28feaabd] wokwi-relay-module svg,[data-v-28feaabd] wokwi-resistor svg,[data-v-28feaabd] wokwi-microsd-card svg,[data-v-28feaabd] wokwi-sn74hc595 svg{width:100%!important;height:100%!important;backface-visibility:hidden;perspective:1000px;transform:translateZ(0);image-rendering:optimizeQuality;image-rendering:-webkit-optimize-contrast;image-rendering:crisp-edges;vector-effect:non-scaling-stroke;shape-rendering:geometricPrecision;text-rendering:geometricPrecision;filter:none!important}.pin-tooltip[data-v-28feaabd]{position:fixed;background:#1e1e28f2;color:#fff;padding:8px 14px;border-radius:6px;font-size:13px;font-weight:500;pointer-events:none;z-index:99999;white-space:nowrap;box-shadow:0 4px 16px #0006;border:1px solid rgba(255,255,255,.15);backdrop-filter:blur(8px);transition:opacity .15s ease;min-width:80px}.pin-indicator[data-v-28feaabd]{position:fixed;background:#4f4;border:1px solid #33cc33;box-shadow:0 0 8px #4f49;pointer-events:none;z-index:100000}.pin-indicator.all-pins[data-v-28feaabd]{pointer-events:auto;cursor:pointer;transition:all .2s ease;border-radius:2px}.pin-indicator.all-pins[data-v-28feaabd]:hover{transform:scale(1.3);box-shadow:0 0 12px #4f4c;z-index:100001}.pin-indicator.all-pins.pin-connected[data-v-28feaabd]{background:#fa4;border-color:#f80;box-shadow:0 0 8px #fa49}.pin-indicator.all-pins.pin-connected[data-v-28feaabd]:hover{box-shadow:0 0 12px #fa4c}.pin-name[data-v-28feaabd]{font-weight:600;color:#fff;margin-bottom:2px}.pin-description[data-v-28feaabd]{font-size:11px;color:#ffffffd9;margin-bottom:3px;font-style:italic}.pin-type[data-v-28feaabd]{font-size:11px;color:#ffffffb3;text-transform:uppercase;letter-spacing:.5px}.pin-tooltip.pin-type-power[data-v-28feaabd]{border-left:3px solid #ff4444}.pin-tooltip.pin-type-ground[data-v-28feaabd]{border-left:3px solid #333333}.pin-tooltip.pin-type-signal[data-v-28feaabd]{border-left:3px solid #44ff44}.pin-tooltip.pin-type-input[data-v-28feaabd]{border-left:3px solid #4fc3f7}.pin-tooltip.pin-type-output[data-v-28feaabd]{border-left:3px solid #ffaa44}.pin-connecting-indicator[data-v-28feaabd]{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:20px;height:20px;background:#4fc3f74d;border-radius:50%;display:flex;align-items:center;justify-content:center;pointer-events:none;animation:pulse-ring-28feaabd 1.5s ease-out infinite}.connecting-dot[data-v-28feaabd]{width:8px;height:8px;background:#4fc3f7;border-radius:50%;animation:pulse-dot-28feaabd 1.5s ease-out infinite}@keyframes pulse-ring-28feaabd{0%{transform:translate(-50%,-50%) scale(1);opacity:1}to{transform:translate(-50%,-50%) scale(2);opacity:0}}@keyframes pulse-dot-28feaabd{0%,to{transform:scale(1)}50%{transform:scale(1.3)}}[data-v-28feaabd] wokwi-arduino-uno *,[data-v-28feaabd] wokwi-arduino-mega *,[data-v-28feaabd] wokwi-esp32-devkit-v1 *,[data-v-28feaabd] wokwi-led *,[data-v-28feaabd] wokwi-pushbutton *,[data-v-28feaabd] wokwi-buzzer *,[data-v-28feaabd] wokwi-potentiometer *,[data-v-28feaabd] wokwi-servo *,[data-v-28feaabd] wokwi-lcd1602 *,[data-v-28feaabd] wokwi-7segment *,[data-v-28feaabd] wokwi-resistor *{backface-visibility:hidden;perspective:1000px;transform:translateZ(0);image-rendering:optimizeQuality;image-rendering:-webkit-optimize-contrast;image-rendering:crisp-edges;vector-effect:non-scaling-stroke;filter:none!important}.component-library[data-v-e378951c]{display:flex;flex-direction:column;height:100%;background:#16213e;border-radius:8px;overflow:hidden}.library-header[data-v-e378951c]{padding:16px;border-bottom:1px solid #0f3460}.library-header h3[data-v-e378951c]{margin:0 0 12px;color:#e0e0e0;font-size:16px;font-weight:600}.search-box[data-v-e378951c]{position:relative;display:flex;align-items:center}.search-input[data-v-e378951c]{width:100%;padding:10px 36px 10px 12px;background:#0f3460;border:1px solid #1a4a7a;border-radius:6px;color:#e0e0e0;font-size:13px;outline:none;transition:border-color .2s}.search-input[data-v-e378951c]:focus{border-color:#4fc3f7}.search-icon[data-v-e378951c]{position:absolute;right:12px;color:#6c7086;font-size:14px}.category-filter[data-v-e378951c]{display:flex;gap:6px;padding:12px 16px;border-bottom:1px solid #0f3460;overflow-x:auto;scrollbar-width:thin;scrollbar-color:#1a4a7a #0f3460}.category-filter[data-v-e378951c]::-webkit-scrollbar{height:4px}.category-filter[data-v-e378951c]::-webkit-scrollbar-track{background:#0f3460}.category-filter[data-v-e378951c]::-webkit-scrollbar-thumb{background:#1a4a7a;border-radius:2px}.category-btn[data-v-e378951c]{padding:6px 12px;background:#0f3460;border:1px solid #1a4a7a;border-radius:16px;color:#a0a0a0;font-size:12px;cursor:pointer;white-space:nowrap;transition:all .2s}.category-btn[data-v-e378951c]:hover{background:#1a4a7a;color:#e0e0e0}.category-btn.active[data-v-e378951c]{background:#4fc3f7;border-color:#4fc3f7;color:#1a1a2e;font-weight:600}.components-grid[data-v-e378951c]{flex:1;overflow-y:auto;padding:12px;display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px;align-content:start}.components-grid[data-v-e378951c]::-webkit-scrollbar{width:8px}.components-grid[data-v-e378951c]::-webkit-scrollbar-track{background:#0f3460}.components-grid[data-v-e378951c]::-webkit-scrollbar-thumb{background:#1a4a7a;border-radius:4px}.components-grid[data-v-e378951c]::-webkit-scrollbar-thumb:hover{background:#2a5a8a}.component-card[data-v-e378951c]{display:flex;align-items:center;gap:12px;padding:12px;background:#1a1a2e;border:1px solid #2a2a4a;border-radius:8px;cursor:pointer;transition:all .2s}.component-card[data-v-e378951c]:hover{background:#2a2a4a;border-color:#4fc3f7;transform:translateY(-2px);box-shadow:0 4px 12px #0000004d}.component-card[data-v-e378951c]:active{transform:translateY(0)}.component-icon[data-v-e378951c]{font-size:32px;flex-shrink:0}.component-info[data-v-e378951c]{flex:1;min-width:0}.component-name[data-v-e378951c]{font-size:14px;font-weight:600;color:#e0e0e0;margin-bottom:2px}.component-category[data-v-e378951c]{font-size:11px;color:#6c7086;margin-bottom:4px}.component-description[data-v-e378951c]{font-size:11px;color:#a0a0a0;line-height:1.4;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.component-action[data-v-e378951c]{flex-shrink:0}.add-btn[data-v-e378951c]{width:32px;height:32px;border-radius:50%;background:#4fc3f7;border:none;color:#1a1a2e;font-size:20px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.add-btn[data-v-e378951c]:hover{background:#6fd3ff;transform:scale(1.1)}.no-results[data-v-e378951c]{flex:1;display:flex;align-items:center;justify-content:center;color:#6c7086;font-size:14px}.circuit-panel[data-v-40ea0694]{display:flex;flex-direction:column;height:100%;background:#1a1a2e;border-radius:8px;overflow:hidden}.panel-header[data-v-40ea0694]{display:flex;justify-content:space-between;align-items:center;padding:10px 16px;background:#16213e;border-bottom:1px solid #0f3460}.panel-title[data-v-40ea0694]{display:flex;align-items:center;gap:8px;color:#e0e0e0;font-weight:500;font-size:14px}.icon[data-v-40ea0694]{width:16px;height:16px}.circuit-badge[data-v-40ea0694]{padding:2px 8px;background:#1a4a7a;border-radius:10px;font-size:10px;color:#4fc3f7}.header-actions[data-v-40ea0694]{display:flex;gap:6px;align-items:center}.zoom-indicator[data-v-40ea0694]{display:flex;align-items:center;gap:6px;padding:4px 8px;background:#0f3460;border:1px solid #1a4a7a;border-radius:4px}.zoom-value[data-v-40ea0694]{font-size:12px;color:#4fc3f7;font-family:monospace;min-width:40px;text-align:center}.btn-small[data-v-40ea0694]{padding:4px 8px;background:#0f3460;border:1px solid #1a4a7a;border-radius:4px;cursor:pointer;font-size:12px;transition:all .2s}.btn-small[data-v-40ea0694]:hover{background:#1a4a7a}.btn-small.active[data-v-40ea0694]{background:#4fc3f7;border-color:#4fc3f7;color:#1a1a2e}.btn-danger[data-v-40ea0694]:hover{background:#f44336;border-color:#f44336}.main-content[data-v-40ea0694]{display:flex;flex:1;overflow:hidden}.library-panel[data-v-40ea0694]{width:320px;border-right:1px solid #0f3460}.circuit-canvas[data-v-40ea0694]{flex:1;position:relative;overflow:hidden;background:linear-gradient(rgba(255,255,255,.02) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.02) 1px,transparent 1px);background-size:20px 20px;min-height:400px;cursor:grab}.circuit-canvas[data-v-40ea0694]:active{cursor:grabbing}.canvas-transform[data-v-40ea0694]{position:absolute;top:0;left:0;transform-origin:0 0;will-change:transform;width:3000px;height:2000px;transform:translateZ(0);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;image-rendering:auto;backface-visibility:hidden;perspective:1000px}[data-v-40ea0694] wokwi-arduino-uno,[data-v-40ea0694] wokwi-arduino-mega,[data-v-40ea0694] wokwi-arduino-nano,[data-v-40ea0694] wokwi-esp32-devkit-v1,[data-v-40ea0694] wokwi-led,[data-v-40ea0694] wokwi-rgb-led,[data-v-40ea0694] wokwi-led-bar-graph,[data-v-40ea0694] wokwi-neopixel-ring,[data-v-40ea0694] wokwi-neopixel-strip,[data-v-40ea0694] wokwi-neopixel-matrix,[data-v-40ea0694] wokwi-pushbutton,[data-v-40ea0694] wokwi-pushbutton-6mm,[data-v-40ea0694] wokwi-slide-switch,[data-v-40ea0694] wokwi-dip-switch-8,[data-v-40ea0694] wokwi-buzzer,[data-v-40ea0694] wokwi-potentiometer,[data-v-40ea0694] wokwi-slide-potentiometer,[data-v-40ea0694] wokwi-analog-joystick,[data-v-40ea0694] wokwi-rotary-dialer,[data-v-40ea0694] wokwi-ky-040,[data-v-40ea0694] wokwi-membrane-keypad,[data-v-40ea0694] wokwi-ir-remote,[data-v-40ea0694] wokwi-servo,[data-v-40ea0694] wokwi-stepper-motor,[data-v-40ea0694] wokwi-biaxial-stepper,[data-v-40ea0694] wokwi-relay-module,[data-v-40ea0694] wokwi-lcd1602,[data-v-40ea0694] wokwi-lcd2004,[data-v-40ea0694] wokwi-ssd1306,[data-v-40ea0694] wokwi-ili9341,[data-v-40ea0694] wokwi-7segment,[data-v-40ea0694] wokwi-dht22,[data-v-40ea0694] wokwi-hc-sr04,[data-v-40ea0694] wokwi-pir-sensor,[data-v-40ea0694] wokwi-photoresistor-sensor,[data-v-40ea0694] wokwi-ntc-temperature-sensor,[data-v-40ea0694] wokwi-mpu6050,[data-v-40ea0694] wokwi-ds1307,[data-v-40ea0694] wokwi-hx711,[data-v-40ea0694] wokwi-flame-sensor,[data-v-40ea0694] wokwi-gas-sensor,[data-v-40ea0694] wokwi-tilt-switch,[data-v-40ea0694] wokwi-microsd-card,[data-v-40ea0694] wokwi-resistor{width:100%!important;height:100%!important;transform:translateZ(0);backface-visibility:hidden;perspective:1000px;image-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}[data-v-40ea0694] wokwi-arduino-uno svg,[data-v-40ea0694] wokwi-arduino-mega svg,[data-v-40ea0694] wokwi-arduino-nano svg,[data-v-40ea0694] wokwi-esp32-devkit-v1 svg,[data-v-40ea0694] wokwi-led svg,[data-v-40ea0694] wokwi-rgb-led svg,[data-v-40ea0694] wokwi-led-bar-graph svg,[data-v-40ea0694] wokwi-neopixel-ring svg,[data-v-40ea0694] wokwi-neopixel-strip svg,[data-v-40ea0694] wokwi-neopixel-matrix svg,[data-v-40ea0694] wokwi-pushbutton svg,[data-v-40ea0694] wokwi-pushbutton-6mm svg,[data-v-40ea0694] wokwi-slide-switch svg,[data-v-40ea0694] wokwi-dip-switch-8 svg,[data-v-40ea0694] wokwi-buzzer svg,[data-v-40ea0694] wokwi-potentiometer svg,[data-v-40ea0694] wokwi-slide-potentiometer svg,[data-v-40ea0694] wokwi-analog-joystick svg,[data-v-40ea0694] wokwi-rotary-dialer svg,[data-v-40ea0694] wokwi-ky-040 svg,[data-v-40ea0694] wokwi-membrane-keypad svg,[data-v-40ea0694] wokwi-ir-remote svg,[data-v-40ea0694] wokwi-servo svg,[data-v-40ea0694] wokwi-stepper-motor svg,[data-v-40ea0694] wokwi-biaxial-stepper svg,[data-v-40ea0694] wokwi-relay-module svg,[data-v-40ea0694] wokwi-lcd1602 svg,[data-v-40ea0694] wokwi-lcd2004 svg,[data-v-40ea0694] wokwi-ssd1306 svg,[data-v-40ea0694] wokwi-ili9341 svg,[data-v-40ea0694] wokwi-7segment svg,[data-v-40ea0694] wokwi-dht22 svg,[data-v-40ea0694] wokwi-hc-sr04 svg,[data-v-40ea0694] wokwi-pir-sensor svg,[data-v-40ea0694] wokwi-photoresistor-sensor svg,[data-v-40ea0694] wokwi-ntc-temperature-sensor svg,[data-v-40ea0694] wokwi-mpu6050 svg,[data-v-40ea0694] wokwi-ds1307 svg,[data-v-40ea0694] wokwi-hx711 svg,[data-v-40ea0694] wokwi-flame-sensor svg,[data-v-40ea0694] wokwi-gas-sensor svg,[data-v-40ea0694] wokwi-tilt-switch svg,[data-v-40ea0694] wokwi-microsd-card svg,[data-v-40ea0694] wokwi-resistor svg{width:100%!important;height:100%!important;shape-rendering:geometricPrecision;text-rendering:geometricPrecision;transform:translateZ(0);image-rendering:auto}[data-v-40ea0694] wokwi-arduino-uno svg *,[data-v-40ea0694] wokwi-arduino-mega svg *,[data-v-40ea0694] wokwi-arduino-nano svg *,[data-v-40ea0694] wokwi-esp32-devkit-v1 svg *,[data-v-40ea0694] wokwi-led svg *,[data-v-40ea0694] wokwi-rgb-led svg *,[data-v-40ea0694] wokwi-pushbutton svg *,[data-v-40ea0694] wokwi-buzzer svg *,[data-v-40ea0694] wokwi-potentiometer svg *,[data-v-40ea0694] wokwi-servo svg *,[data-v-40ea0694] wokwi-lcd1602 svg *,[data-v-40ea0694] wokwi-7segment svg *,[data-v-40ea0694] wokwi-resistor svg *{shape-rendering:geometricPrecision}.wires-layer[data-v-40ea0694]{position:absolute;top:0;left:0;pointer-events:none}.wire-group[data-v-40ea0694]{pointer-events:all;cursor:pointer}.wire-path[data-v-40ea0694]{transition:stroke-width .2s}.wire-group:hover .wire-path[data-v-40ea0694]{stroke-width:5;filter:drop-shadow(0 0 4px currentColor)}.circuit-component[data-v-40ea0694]{position:absolute;background:#2d2d44;border:2px solid #4a4a6a;border-radius:8px;cursor:move;user-select:none;transition:box-shadow .2s,border-color .2s;display:flex;flex-direction:column;padding:4px}.circuit-component[data-v-40ea0694]:hover{box-shadow:0 4px 12px #0000004d}.circuit-component.selected[data-v-40ea0694]{border-color:#4fc3f7;box-shadow:0 0 12px #4fc3f74d}.circuit-component.system-component[data-v-40ea0694]{background:#252536;border-color:#3a3a5a}.component-header[data-v-40ea0694]{display:flex;align-items:center;gap:4px;padding:2px;border-bottom:1px solid #3a3a5a;margin-bottom:4px}.component-icon[data-v-40ea0694]{font-size:14px}.component-name[data-v-40ea0694]{font-size:10px;color:#a0a0a0;flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.remove-btn[data-v-40ea0694]{width:16px;height:16px;background:#f44336;border:none;border-radius:50%;color:#fff;font-size:12px;cursor:pointer;opacity:0;transition:opacity .2s;display:flex;align-items:center;justify-content:center}.circuit-component:hover .remove-btn[data-v-40ea0694]{opacity:1}.shift-register-wokwi[data-v-40ea0694]{display:flex;align-items:center;justify-content:center;flex:1;padding:10px}.ic-body[data-v-40ea0694]{width:100%;height:100%;background:#1a1a2a;border:2px solid #4a4a6a;border-radius:6px;position:relative;display:flex;align-items:center;justify-content:center;min-height:50px}.ic-notch[data-v-40ea0694]{position:absolute;left:50%;top:-2px;transform:translate(-50%);width:12px;height:8px;background:#0d0d1a;border-radius:0 0 6px 6px;border:2px solid #4a4a6a;border-top:none}.ic-label[data-v-40ea0694]{font-size:11px;color:#e0e0e0;font-weight:700;z-index:1}.ic-pins-container[data-v-40ea0694]{position:absolute;width:100%;height:100%;pointer-events:none}.ic-pins-left[data-v-40ea0694],.ic-pins-right[data-v-40ea0694]{position:absolute;display:flex;flex-direction:column;gap:3px;top:50%;transform:translateY(-50%)}.ic-pins-left[data-v-40ea0694]{left:-2px}.ic-pins-right[data-v-40ea0694]{right:-2px}.ic-pin-mark[data-v-40ea0694]{width:6px;height:4px;background:silver;border-radius:1px;box-shadow:0 0 2px #ffffff4d}.crystal-body[data-v-40ea0694]{text-align:center;padding:4px}.freq[data-v-40ea0694]{font-size:10px;color:#f9e2af;font-family:monospace}.capacitor-body[data-v-40ea0694]{display:flex;align-items:center;justify-content:center;flex:1}.cap-symbol[data-v-40ea0694]{font-size:16px;color:#a6adc8}.cpu-body[data-v-40ea0694]{display:flex;align-items:center;justify-content:center;flex:1;padding:4px}.cpu-chip[data-v-40ea0694]{background:#1a1a2e;border:2px solid #4a4a6a;border-radius:8px;padding:8px;text-align:center;position:relative;min-width:80px}.cpu-label[data-v-40ea0694]{font-size:14px;font-weight:700;color:#4fc3f7}.cpu-model[data-v-40ea0694]{font-size:8px;color:#a0a0a0;margin-top:2px}.cpu-freq[data-v-40ea0694]{font-size:8px;color:#f9e2af;font-family:monospace;margin-top:2px}.cpu-led[data-v-40ea0694]{width:8px;height:8px;border-radius:50%;background:#333;margin:4px auto 0;transition:all .3s}.cpu-led.active[data-v-40ea0694]{background:#4f4;box-shadow:0 0 8px #4f4}.component-pins[data-v-40ea0694]{position:relative;flex:1}.pin[data-v-40ea0694]{position:absolute;width:16px;height:16px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s;border:2px solid rgba(255,255,255,.3);z-index:10}.pin[data-v-40ea0694]:hover{transform:scale(1.3);box-shadow:0 0 10px currentColor}.pin.connected[data-v-40ea0694]{border-color:#4f4}.pin.connecting[data-v-40ea0694]{animation:pulse-40ea0694 .5s ease-in-out infinite;border-color:#f9e2af}@keyframes pulse-40ea0694{0%,to{transform:scale(1)}50%{transform:scale(1.2)}}.pin-label[data-v-40ea0694]{font-size:7px;color:#fff;font-weight:700}.connecting-hint[data-v-40ea0694]{position:absolute;bottom:10px;left:50%;transform:translate(-50%);padding:8px 16px;background:#f9e2afe6;border-radius:20px;color:#1a1a2e;font-size:12px;font-weight:500}.empty-hint[data-v-40ea0694]{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center;color:#6c7086}.empty-hint p[data-v-40ea0694]{margin:4px 0}.properties-panel[data-v-40ea0694]{width:300px;background:#16213e;border-left:1px solid #0f3460;display:flex;flex-direction:column}.properties-panel .panel-header[data-v-40ea0694]{padding:12px 16px;border-bottom:1px solid #0f3460}.properties-panel .panel-header span[data-v-40ea0694]{color:#e0e0e0;font-weight:500}.close-btn[data-v-40ea0694]{background:none;border:none;color:#6c7086;cursor:pointer;font-size:18px;line-height:1}.close-btn[data-v-40ea0694]:hover{color:#e0e0e0}.panel-content[data-v-40ea0694]{padding:16px;overflow-y:auto;flex:1}.property-item[data-v-40ea0694]{display:flex;flex-direction:column;gap:6px;margin-bottom:12px}.property-item label[data-v-40ea0694]{font-size:12px;color:#a0a0a0;font-weight:500}.property-item input[type=text][data-v-40ea0694],.property-item input[type=number][data-v-40ea0694]{padding:8px;background:#0f3460;border:1px solid #1a4a7a;border-radius:4px;color:#e0e0e0;font-size:13px}.property-item input[type=text][data-v-40ea0694]:focus,.property-item input[type=number][data-v-40ea0694]:focus{outline:none;border-color:#4fc3f7}.property-item input[type=text][data-v-40ea0694]:disabled{background:#1a1a2e;color:#6c7086}.property-item select.color-select[data-v-40ea0694]{padding:8px;background:#0f3460;border:1px solid #1a4a7a;border-radius:4px;color:#e0e0e0;font-size:13px;cursor:pointer}.property-item select.color-select[data-v-40ea0694]:focus{outline:none;border-color:#4fc3f7}.context-menu[data-v-40ea0694]{position:fixed;background:#16213e;border:1px solid #0f3460;border-radius:6px;box-shadow:0 4px 12px #00000080;z-index:1000;min-width:160px;padding:4px 0}.context-menu-item[data-v-40ea0694]{display:flex;align-items:center;gap:8px;padding:8px 16px;color:#e0e0e0;font-size:13px;cursor:pointer;transition:background .2s}.context-menu-item[data-v-40ea0694]:hover{background:#1a4a7a}.menu-icon[data-v-40ea0694]{width:16px;height:16px;color:#4fc3f7}.menu-icon.delete-icon[data-v-40ea0694]{color:#f44}.context-menu-divider[data-v-40ea0694]{height:1px;background:#0f3460;margin:4px 0}.component-search-menu[data-v-40ea0694]{position:fixed;background:#16213e;border:1px solid #0f3460;border-radius:8px;box-shadow:0 8px 24px #0009;z-index:1000;width:320px;max-height:400px;display:flex;flex-direction:column;overflow:hidden}.wire-color-picker[data-v-40ea0694]{position:fixed;background:#16213e;border:1px solid #0f3460;border-radius:8px;box-shadow:0 8px 24px #0009;z-index:1000;min-width:200px;padding:8px}.color-picker-header[data-v-40ea0694]{padding:8px 12px;color:#e0e0e0;font-size:13px;font-weight:600;border-bottom:1px solid #0f3460;margin-bottom:8px}.color-picker-grid[data-v-40ea0694]{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;padding:4px}.color-option[data-v-40ea0694]{padding:12px;border-radius:6px;cursor:pointer;transition:all .2s;border:2px solid transparent;display:flex;align-items:center;justify-content:center;position:relative;min-height:40px}.color-option[data-v-40ea0694]:hover{transform:scale(1.05);border-color:#4fc3f7;box-shadow:0 2px 8px #0000004d}.color-name[data-v-40ea0694]{font-size:12px;font-weight:600;text-shadow:0 1px 2px rgba(0,0,0,.8);color:#fff;mix-blend-mode:difference}.search-header[data-v-40ea0694]{padding:12px;border-bottom:1px solid #0f3460}.search-input[data-v-40ea0694]{width:100%;padding:8px 12px;background:#0f3460;border:1px solid #1a4a7a;border-radius:6px;color:#e0e0e0;font-size:13px;outline:none;transition:border-color .2s}.search-input[data-v-40ea0694]:focus{border-color:#4fc3f7}.search-results[data-v-40ea0694]{flex:1;overflow-y:auto;padding:4px}.search-results[data-v-40ea0694]::-webkit-scrollbar{width:6px}.search-results[data-v-40ea0694]::-webkit-scrollbar-track{background:#0f3460}.search-results[data-v-40ea0694]::-webkit-scrollbar-thumb{background:#1a4a7a;border-radius:3px}.search-results[data-v-40ea0694]::-webkit-scrollbar-thumb:hover{background:#2a5a8a}.search-result-item[data-v-40ea0694]{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:6px;cursor:pointer;transition:all .2s}.search-result-item[data-v-40ea0694]:hover{background:#1a4a7a;transform:translate(4px)}.search-result-item .component-icon[data-v-40ea0694]{font-size:24px;flex-shrink:0}.search-result-item .component-info[data-v-40ea0694]{flex:1;min-width:0}.search-result-item .component-name[data-v-40ea0694]{font-size:13px;font-weight:600;color:#e0e0e0;margin-bottom:2px}.search-result-item .component-description[data-v-40ea0694]{font-size:11px;color:#a0a0a0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.search-results .no-results[data-v-40ea0694]{padding:20px;text-align:center;color:#6c7086;font-size:13px}.connection-status[data-v-40ea0694]{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:#000000e6;border:2px solid #4fc3f7;border-radius:8px;padding:12px 20px;display:flex;align-items:center;gap:12px;box-shadow:0 4px 20px #4fc3f74d;z-index:100;animation:pulse-40ea0694 1.5s ease-in-out infinite}@keyframes pulse-40ea0694{0%,to{box-shadow:0 4px 20px #4fc3f74d}50%{box-shadow:0 4px 30px #4fc3f799}}.connection-indicator[data-v-40ea0694]{width:12px;height:12px;background:#4fc3f7;border-radius:50%;animation:blink-40ea0694 1s ease-in-out infinite}@keyframes blink-40ea0694{0%,to{opacity:1}50%{opacity:.3}}.connection-text[data-v-40ea0694]{color:#fff;font-size:14px;font-weight:500;white-space:nowrap}.btn-cancel[data-v-40ea0694]{background:transparent;border:1px solid #ff4444;color:#f44;padding:4px 12px;border-radius:4px;cursor:pointer;font-size:12px;transition:all .2s ease}.btn-cancel[data-v-40ea0694]:hover{background:#f44;color:#fff}.console-panel[data-v-c830ffcd]{display:flex;flex-direction:column;height:100%;background:#0d1117;border-radius:8px;overflow:hidden}.console-header[data-v-c830ffcd]{display:flex;justify-content:space-between;align-items:center;padding:10px 16px;background:#161b22;border-bottom:1px solid #30363d}.console-title[data-v-c830ffcd]{display:flex;align-items:center;gap:8px;color:#c9d1d9;font-weight:500;font-size:13px}.icon[data-v-c830ffcd]{width:16px;height:16px}.icon-sm[data-v-c830ffcd]{width:14px;height:14px}.clear-btn[data-v-c830ffcd]{display:flex;align-items:center;gap:4px;padding:4px 10px;background:#21262d;border:1px solid #30363d;border-radius:4px;color:#8b949e;font-size:12px;cursor:pointer;transition:all .2s}.clear-btn[data-v-c830ffcd]:hover{background:#30363d;color:#c9d1d9}.console-content[data-v-c830ffcd]{flex:1;overflow-y:auto;padding:12px;font-family:Consolas,Monaco,monospace;font-size:12px;line-height:1.6}.console-line[data-v-c830ffcd]{padding:2px 0;color:#8b949e;white-space:pre-wrap;word-break:break-all}.console-line.error[data-v-c830ffcd]{color:#f85149}.console-line.warning[data-v-c830ffcd]{color:#d29922}.console-line.success[data-v-c830ffcd]{color:#3fb950}.console-empty[data-v-c830ffcd]{color:#484f58;font-style:italic;text-align:center;padding:20px}.simulation-panel[data-v-922c9328]{background:#1e1e1e;border:1px solid #333;border-radius:8px;overflow:hidden}.panel-header[data-v-922c9328]{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:#2d2d2d;border-bottom:1px solid #333}.panel-header h3[data-v-922c9328]{margin:0;font-size:14px;font-weight:600;color:#e0e0e0}.status-indicator[data-v-922c9328]{display:flex;align-items:center;gap:8px;padding:4px 12px;background:#3a3a3a;border-radius:12px;font-size:12px}.status-dot[data-v-922c9328]{width:8px;height:8px;border-radius:50%;background:#666;transition:background .3s}.status-indicator.running .status-dot[data-v-922c9328]{background:#4caf50;animation:pulse-922c9328 1.5s ease-in-out infinite}.status-indicator.paused .status-dot[data-v-922c9328]{background:#ff9800}@keyframes pulse-922c9328{0%,to{opacity:1}50%{opacity:.5}}.status-text[data-v-922c9328]{color:#b0b0b0}.panel-content[data-v-922c9328]{max-height:600px;overflow-y:auto;padding:12px}.section[data-v-922c9328]{margin-bottom:20px}.section[data-v-922c9328]:last-child{margin-bottom:0}.section h4[data-v-922c9328]{margin:0 0 10px;font-size:12px;font-weight:600;color:#909090;text-transform:uppercase;letter-spacing:.5px}.control-buttons[data-v-922c9328]{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.btn-primary[data-v-922c9328]{padding:8px 16px;background:#4caf50;border:none;border-radius:4px;color:#fff;font-size:12px;font-weight:500;cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:6px}.btn-primary[data-v-922c9328]:hover:not(:disabled){background:#45a049;transform:translateY(-1px)}.btn-primary[data-v-922c9328]:disabled{background:#3a3a3a;cursor:not-allowed;opacity:.6}.btn-secondary[data-v-922c9328]{padding:8px 16px;background:#3a3a3a;border:1px solid #444;border-radius:4px;color:#e0e0e0;font-size:12px;cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:6px}.btn-secondary[data-v-922c9328]:hover:not(:disabled){background:#4a4a4a;border-color:#555}.btn-secondary[data-v-922c9328]:disabled{background:#2a2a2a;cursor:not-allowed;opacity:.6}.btn-danger[data-v-922c9328]{padding:8px 16px;background:#f44336;border:none;border-radius:4px;color:#fff;font-size:12px;font-weight:500;cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:6px}.btn-danger[data-v-922c9328]:hover:not(:disabled){background:#da190b;transform:translateY(-1px)}.btn-danger[data-v-922c9328]:disabled{background:#3a3a3a;cursor:not-allowed;opacity:.6}.speed-control[data-v-922c9328]{display:flex;align-items:center;gap:8px;margin-left:auto;min-width:200px}.speed-control label[data-v-922c9328]{font-size:12px;color:#b0b0b0;white-space:nowrap}.speed-control input[type=range][data-v-922c9328]{flex:1;height:4px;background:#333;border-radius:2px;outline:none;-webkit-appearance:none}.speed-control input[type=range][data-v-922c9328]::-webkit-slider-thumb{-webkit-appearance:none;width:16px;height:16px;background:#4fc3f7;border-radius:50%;cursor:pointer}.speed-value[data-v-922c9328]{font-size:12px;color:#e0e0e0;min-width:40px;text-align:right}.stats-grid[data-v-922c9328]{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.stat-item[data-v-922c9328]{display:flex;flex-direction:column;padding:8px;background:#2a2a2a;border-radius:4px}.stat-label[data-v-922c9328]{font-size:10px;color:#707070;margin-bottom:4px}.stat-value[data-v-922c9328]{font-size:12px;color:#e0e0e0;font-family:Courier New,monospace}.stat-value.instruction[data-v-922c9328]{color:#4fc3f7}.variables-grid[data-v-922c9328]{display:grid;gap:6px}.variable-item[data-v-922c9328]{display:grid;grid-template-columns:1fr 80px 100px;gap:8px;padding:6px 8px;background:#2a2a2a;border-radius:4px;align-items:center}.variable-name[data-v-922c9328]{font-size:12px;color:#4fc3f7;font-family:Courier New,monospace}.variable-type[data-v-922c9328]{font-size:10px;color:#707070}.variable-value[data-v-922c9328]{font-size:12px;color:#e0e0e0;font-family:Courier New,monospace;text-align:right}.pins-grid[data-v-922c9328]{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:6px}.pin-item[data-v-922c9328]{display:flex;flex-direction:column;padding:6px 8px;background:#2a2a2a;border-radius:4px;border-left:3px solid #666;transition:all .2s}.pin-item.active[data-v-922c9328]{border-left-color:#4caf50;background:#2a3a2a}.pin-id[data-v-922c9328]{font-size:11px;font-weight:600;color:#e0e0e0;margin-bottom:2px}.pin-mode[data-v-922c9328]{font-size:9px;color:#707070;margin-bottom:2px}.pin-value-display[data-v-922c9328]{display:flex;align-items:center;gap:6px}.pin-value[data-v-922c9328]{font-size:10px;color:#b0b0b0;font-family:Courier New,monospace}.pin-led[data-v-922c9328]{width:8px;height:8px;border-radius:50%;background:#333;border:1px solid #555;transition:all .3s}.pin-led.on[data-v-922c9328]{background:#4caf50;box-shadow:0 0 4px #4caf50;border-color:#4caf50}.analog-pins-grid[data-v-922c9328]{display:grid;gap:8px}.analog-pin-item[data-v-922c9328]{display:grid;grid-template-columns:60px 1fr 80px;gap:8px;align-items:center;padding:6px 8px;background:#2a2a2a;border-radius:4px}.analog-value-bar[data-v-922c9328]{height:12px;background:#333;border-radius:6px;overflow:hidden}.analog-value-fill[data-v-922c9328]{height:100%;background:linear-gradient(90deg,#4fc3f7,#2196f3);border-radius:6px;transition:width .3s ease}.analog-value[data-v-922c9328]{font-size:12px;color:#e0e0e0;font-family:Courier New,monospace;text-align:right}.sensor-data-grid[data-v-922c9328]{display:grid;gap:10px}.sensor-item[data-v-922c9328]{padding:10px;background:#2a2a2a;border-radius:4px}.sensor-name[data-v-922c9328]{font-size:12px;color:#e0e0e0;font-weight:500;margin-bottom:8px;display:block}.sensor-value-display[data-v-922c9328]{display:flex;align-items:center;gap:10px}.sensor-value[data-v-922c9328]{font-size:14px;color:#4fc3f7;font-weight:600;font-family:Courier New,monospace}.sensor-chart[data-v-922c9328]{flex:1;min-height:80px}.serial-output[data-v-922c9328]{background:#1a1a1a;border:1px solid #333;border-radius:4px;padding:10px;min-height:100px;max-height:200px;overflow-y:auto;font-family:Courier New,monospace;font-size:11px;line-height:1.4}.empty-message[data-v-922c9328]{color:#505050;text-align:center;padding:20px}.serial-messages[data-v-922c9328]{color:#4caf50}.serial-message[data-v-922c9328]{margin-bottom:6px;display:flex;gap:8px;align-items:flex-start}.serial-time[data-v-922c9328]{color:#707070;font-size:10px;min-width:80px;flex-shrink:0}.serial-content[data-v-922c9328]{flex:1;word-break:break-all}.serial-controls[data-v-922c9328]{display:flex;gap:8px;margin-top:8px}.registers-grid[data-v-922c9328]{display:grid;grid-template-columns:repeat(8,1fr);gap:4px}.register-item[data-v-922c9328]{display:flex;flex-direction:column;padding:4px 6px;background:#2a2a2a;border-radius:3px;align-items:center;transition:all .3s}.register-item.changed[data-v-922c9328]{background:#2a3a2a;border:1px solid #4caf50}.register-name[data-v-922c9328]{font-size:9px;color:#707070;margin-bottom:2px}.register-value[data-v-922c9328]{font-size:10px;color:#e0e0e0;font-family:Courier New,monospace}.icon-sm[data-v-922c9328]{width:14px;height:14px}.panel-content[data-v-922c9328]::-webkit-scrollbar,.serial-output[data-v-922c9328]::-webkit-scrollbar{width:6px}.panel-content[data-v-922c9328]::-webkit-scrollbar-track,.serial-output[data-v-922c9328]::-webkit-scrollbar-track{background:#1a1a1a}.panel-content[data-v-922c9328]::-webkit-scrollbar-thumb,.serial-output[data-v-922c9328]::-webkit-scrollbar-thumb{background:#444;border-radius:3px}.panel-content[data-v-922c9328]::-webkit-scrollbar-thumb:hover,.serial-output[data-v-922c9328]::-webkit-scrollbar-thumb:hover{background:#555}@media(max-width:768px){.control-buttons[data-v-922c9328]{flex-direction:column;align-items:stretch}.speed-control[data-v-922c9328]{margin-left:0;min-width:auto}.stats-grid[data-v-922c9328]{grid-template-columns:1fr}.pins-grid[data-v-922c9328]{grid-template-columns:repeat(4,1fr)}.analog-pin-item[data-v-922c9328]{grid-template-columns:50px 1fr 60px}.registers-grid[data-v-922c9328]{grid-template-columns:repeat(4,1fr)}}.project-manager[data-v-50215501]{background:#1e1e1e;border:1px solid #333;border-radius:8px;overflow:hidden;position:relative}.project-header[data-v-50215501]{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:#2d2d2d;border-bottom:1px solid #333}.project-header h3[data-v-50215501]{margin:0;font-size:14px;font-weight:600;color:#e0e0e0}.project-actions[data-v-50215501]{display:flex;gap:8px;align-items:center}.btn-secondary[data-v-50215501]{padding:6px 12px;background:#3a3a3a;border:1px solid #444;border-radius:4px;color:#e0e0e0;font-size:12px;cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:6px}.btn-secondary[data-v-50215501]:hover{background:#4a4a4a;border-color:#555}.dropdown[data-v-50215501]{position:relative}.dropdown-menu[data-v-50215501]{position:absolute;top:100%;right:0;margin-top:4px;background:#2d2d2d;border:1px solid #3c3c3c;border-radius:4px;min-width:150px;display:none;flex-direction:column;z-index:100;box-shadow:0 4px 12px #0000004d}.dropdown-menu.show[data-v-50215501]{display:flex}.dropdown-menu button[data-v-50215501]{padding:8px 12px;background:none;border:none;color:#e0e0e0;text-align:left;font-size:12px;cursor:pointer;transition:background .2s}.dropdown-menu button[data-v-50215501]:hover{background:#3c3c3c}.share-link-container[data-v-50215501]{display:flex;padding:10px;border-bottom:1px solid #3c3c3c}.share-link-input[data-v-50215501]{flex:1;padding:6px 8px;background:#1a1a1a;border:1px solid #333;border-radius:4px 0 0 4px;color:#e0e0e0;font-size:11px;font-family:Courier New,monospace}.btn-copy[data-v-50215501]{padding:6px 8px;background:#3a3a3a;border:1px solid #444;border-left:none;border-radius:0 4px 4px 0;color:#e0e0e0;cursor:pointer;transition:background .2s}.btn-copy[data-v-50215501]:hover{background:#4a4a4a}.project-content[data-v-50215501]{max-height:500px;overflow-y:auto;padding:12px}.section[data-v-50215501]{margin-bottom:20px}.section[data-v-50215501]:last-child{margin-bottom:0}.section h4[data-v-50215501]{margin:0 0 10px;font-size:12px;font-weight:600;color:#909090;text-transform:uppercase;letter-spacing:.5px}.project-info[data-v-50215501]{display:flex;flex-direction:column;gap:10px}.info-item[data-v-50215501]{display:flex;flex-direction:column;gap:4px}.info-item label[data-v-50215501]{font-size:11px;color:#b0b0b0;font-weight:500}.input-field[data-v-50215501]{padding:8px 10px;background:#1a1a1a;border:1px solid #333;border-radius:4px;color:#e0e0e0;font-size:12px;font-family:inherit}.input-field[data-v-50215501]:focus{outline:none;border-color:#4fc3f7}.input-field.textarea[data-v-50215501]{resize:vertical;min-height:60px}.info-value[data-v-50215501]{font-size:12px;color:#e0e0e0;font-family:Courier New,monospace}.recent-projects[data-v-50215501]{display:flex;flex-direction:column;gap:6px}.recent-project-item[data-v-50215501]{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;background:#2a2a2a;border-radius:4px;cursor:pointer;transition:background .2s}.recent-project-item[data-v-50215501]:hover{background:#333}.project-name[data-v-50215501]{font-size:12px;color:#e0e0e0;font-weight:500}.project-meta[data-v-50215501]{display:flex;align-items:center;gap:8px}.project-meta span[data-v-50215501]{font-size:10px;color:#707070}.btn-delete[data-v-50215501]{padding:4px;background:none;border:none;color:#f44336;cursor:pointer;transition:color .2s;border-radius:3px}.btn-delete[data-v-50215501]:hover{background:#f443361a}.example-projects[data-v-50215501]{display:flex;flex-direction:column;gap:8px}.example-project-item[data-v-50215501]{padding:12px 16px;background:#2a2a2a;border-radius:6px;cursor:pointer;transition:all .2s ease;border:1px solid transparent}.example-project-item[data-v-50215501]:hover{background:#333;border-color:#4fc3f7;transform:translateY(-2px);box-shadow:0 4px 12px #0003}.example-project-item[data-v-50215501]:focus{outline:none;border-color:#4fc3f7;box-shadow:0 0 0 2px #4fc3f74d}.example-project-item[data-v-50215501]:active{transform:translateY(0);box-shadow:0 2px 6px #0003}.example-project-item .project-name[data-v-50215501]{font-size:13px;font-weight:600;color:#e0e0e0;margin-bottom:4px}.example-project-item .project-description[data-v-50215501]{font-size:11px;color:#b0b0b0;line-height:1.4}.empty-message[data-v-50215501]{padding:20px;text-align:center;color:#505050;font-size:12px}.toast[data-v-50215501]{position:absolute;top:10px;right:10px;padding:10px 16px;background:#4caf50;color:#fff;border-radius:4px;font-size:12px;font-weight:500;opacity:0;transform:translateY(-10px);transition:all .3s ease;z-index:1000}.toast.show[data-v-50215501]{opacity:1;transform:translateY(0)}.icon-sm[data-v-50215501]{width:14px;height:14px}.icon-xs[data-v-50215501]{width:12px;height:12px}.project-content[data-v-50215501]::-webkit-scrollbar{width:6px}.project-content[data-v-50215501]::-webkit-scrollbar-track{background:#1a1a1a}.project-content[data-v-50215501]::-webkit-scrollbar-thumb{background:#444;border-radius:3px}.project-content[data-v-50215501]::-webkit-scrollbar-thumb:hover{background:#555}@media(max-width:768px){.project-actions[data-v-50215501]{flex-wrap:wrap}.project-header[data-v-50215501]{flex-direction:column;align-items:stretch;gap:8px}.project-actions[data-v-50215501]{justify-content:center}}.led-test-panel[data-v-7dbc3741]{padding:20px;background:#f5f5f5;border-radius:8px;max-width:800px;margin:0 auto}h3[data-v-7dbc3741]{margin:0 0 20px;color:#333;text-align:center}h4[data-v-7dbc3741]{margin:15px 0 10px;color:#555;border-bottom:1px solid #ddd;padding-bottom:5px}.status-section[data-v-7dbc3741]{display:flex;align-items:center;gap:30px;padding:20px;background:#fff;border-radius:8px;margin-bottom:20px}.led-display[data-v-7dbc3741]{display:flex;flex-direction:column;align-items:center;gap:10px;min-width:100px}.test-led[data-v-7dbc3741]{width:60px;height:80px;display:block}.test-led[data-v-7dbc3741]::part(led){transition:all .2s ease}.led-label[data-v-7dbc3741]{font-weight:700;font-size:14px;margin-top:5px}.state-info[data-v-7dbc3741]{flex:1}.state-info p[data-v-7dbc3741]{margin:5px 0;color:#666}.control-section[data-v-7dbc3741],.auto-test-section[data-v-7dbc3741]{background:#fff;padding:15px 20px;border-radius:8px;margin-bottom:20px}.control-buttons[data-v-7dbc3741],.test-controls[data-v-7dbc3741]{display:flex;gap:10px;flex-wrap:wrap}.color-selector[data-v-7dbc3741]{display:flex;align-items:center;gap:10px;margin-top:15px;padding-top:15px;border-top:1px solid #eee}.color-selector span[data-v-7dbc3741]{color:#666;font-size:14px}.color-select[data-v-7dbc3741]{padding:8px 12px;border:1px solid #ddd;border-radius:4px;font-size:14px;background:#fff;cursor:pointer;min-width:120px}.color-select[data-v-7dbc3741]:focus{outline:none;border-color:#4fc3f7}button[data-v-7dbc3741]{padding:10px 20px;border:none;border-radius:4px;cursor:pointer;font-size:14px;transition:all .2s}button[data-v-7dbc3741]:disabled{opacity:.5;cursor:not-allowed}.btn-on[data-v-7dbc3741]{background:#4caf50;color:#fff}.btn-on[data-v-7dbc3741]:hover:not(:disabled){background:#45a049}.btn-off[data-v-7dbc3741]{background:#f44336;color:#fff}.btn-off[data-v-7dbc3741]:hover:not(:disabled){background:#da190b}.btn-toggle[data-v-7dbc3741]{background:#2196f3;color:#fff}.btn-toggle[data-v-7dbc3741]:hover:not(:disabled){background:#0b7dda}.btn-start[data-v-7dbc3741]{background:#4caf50;color:#fff}.btn-start[data-v-7dbc3741]:hover:not(:disabled){background:#45a049}.btn-stop[data-v-7dbc3741]{background:#ff9800;color:#fff}.btn-stop[data-v-7dbc3741]:hover:not(:disabled){background:#e68900}.btn-clear[data-v-7dbc3741]{background:#9e9e9e;color:#fff}.btn-clear[data-v-7dbc3741]:hover:not(:disabled){background:#757575}.test-progress[data-v-7dbc3741]{margin-top:15px}.progress-bar[data-v-7dbc3741]{width:100%;height:20px;background:#e0e0e0;border-radius:10px;overflow:hidden;margin-top:5px}.progress-fill[data-v-7dbc3741]{height:100%;background:#4caf50;transition:width .3s ease}.records-section[data-v-7dbc3741]{background:#fff;padding:15px 20px;border-radius:8px;margin-bottom:20px}.records-table-container[data-v-7dbc3741]{max-height:300px;overflow-y:auto}.records-table[data-v-7dbc3741]{width:100%;border-collapse:collapse;font-size:13px}.records-table th[data-v-7dbc3741],.records-table td[data-v-7dbc3741]{padding:8px 12px;text-align:left;border-bottom:1px solid #eee}.records-table th[data-v-7dbc3741]{background:#f5f5f5;font-weight:600;color:#555;position:sticky;top:0}.records-table tr[data-v-7dbc3741]:hover{background:#f9f9f9}.test-record[data-v-7dbc3741]{background:#e3f2fd!important}.status-on[data-v-7dbc3741]{color:#4caf50;font-weight:700}.status-off[data-v-7dbc3741]{color:#f44336;font-weight:700}.no-data[data-v-7dbc3741]{text-align:center;color:#999;padding:20px}.report-section[data-v-7dbc3741]{background:#fff;padding:15px 20px;border-radius:8px}.report-content[data-v-7dbc3741]{display:flex;justify-content:space-between;align-items:flex-start}.report-summary p[data-v-7dbc3741]{margin:5px 0;color:#666}.success[data-v-7dbc3741]{color:#4caf50;font-weight:700}.failure[data-v-7dbc3741]{color:#f44336;font-weight:700}.report-result[data-v-7dbc3741]{padding:15px 30px;border-radius:8px;font-size:18px;font-weight:700}.report-result.pass[data-v-7dbc3741]{background:#e8f5e9;color:#2e7d32}.report-result.fail[data-v-7dbc3741]{background:#ffebee;color:#c62828}*{margin:0;padding:0;box-sizing:border-box}html,body,#app{height:100%;overflow:hidden}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;background:#0d0d1a;color:#e0e0e0}.app-container[data-v-481bdfa2]{display:flex;flex-direction:column;height:100vh;background:#0d0d1a}.app-header[data-v-481bdfa2]{display:flex;justify-content:space-between;align-items:center;padding:12px 24px;background:linear-gradient(135deg,#1a1a2e,#16213e);border-bottom:1px solid #2a2a4a;flex-shrink:0}.logo[data-v-481bdfa2]{display:flex;align-items:center;gap:12px}.logo-icon[data-v-481bdfa2]{width:28px;height:28px;color:#4fc3f7}.logo-text[data-v-481bdfa2]{font-size:20px;font-weight:700;background:linear-gradient(135deg,#4fc3f7,#7c4dff);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.header-info[data-v-481bdfa2],.header-actions[data-v-481bdfa2]{display:flex;align-items:center;gap:12px}.header-button[data-v-481bdfa2]{display:flex;align-items:center;gap:8px;padding:8px 16px;background:#4fc3f71a;border:1px solid rgba(79,195,247,.3);border-radius:6px;color:#4fc3f7;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.header-button[data-v-481bdfa2]:hover{background:#4fc3f733;border-color:#4fc3f7;transform:translateY(-1px)}.header-icon[data-v-481bdfa2]{width:16px;height:16px}.mcu-badge[data-v-481bdfa2]{padding:6px 12px;background:#2a2a4a;border-radius:20px;font-size:12px;font-weight:500;color:#a0a0c0}.status-badge[data-v-481bdfa2]{padding:6px 12px;background:#3a2a2a;border-radius:20px;font-size:12px;font-weight:500;color:#f44336}.status-badge.running[data-v-481bdfa2]{background:#2a3a2a;color:#4caf50}.status-badge.paused[data-v-481bdfa2]{background:#3a3a2a;color:#ff9800}.app-main[data-v-481bdfa2]{display:flex;flex:1;overflow:hidden;padding:16px;gap:16px}.content-area[data-v-481bdfa2]{flex:1;display:flex;flex-direction:column;gap:16px;overflow:hidden}.top-row[data-v-481bdfa2]{display:flex;flex:2;gap:16px;min-height:0}.tabs-container[data-v-481bdfa2]{flex:1;display:flex;flex-direction:column;background:#1a1a2e;border-radius:8px;overflow:hidden;border:1px solid #2a2a4a}.tabs-header[data-v-481bdfa2]{display:flex;background:#16213e;border-bottom:1px solid #2a2a4a;flex-shrink:0}.tab-button[data-v-481bdfa2]{display:flex;align-items:center;gap:8px;padding:12px 20px;background:transparent;border:none;color:#a0a0c0;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;position:relative}.tab-button[data-v-481bdfa2]:hover{color:#e0e0e0;background:#4fc3f71a}.tab-button.active[data-v-481bdfa2]{color:#4fc3f7;background:#1a1a2e}.tab-button.active[data-v-481bdfa2]:after{content:"";position:absolute;bottom:0;left:0;right:0;height:2px;background:#4fc3f7}.tab-icon[data-v-481bdfa2]{width:16px;height:16px}.tabs-content[data-v-481bdfa2]{flex:1;position:relative;overflow:hidden}.tab-panel[data-v-481bdfa2]{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity .2s ease;overflow:hidden}.tab-panel.active[data-v-481bdfa2]{opacity:1;visibility:visible}.bottom-row[data-v-481bdfa2]{display:flex;flex:1;gap:16px;min-height:0}.console-section[data-v-481bdfa2]{flex:2;min-width:0}.simulation-section[data-v-481bdfa2]{flex:1;min-width:0}.modal-overlay[data-v-481bdfa2]{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn-481bdfa2 .3s ease}.modal-content[data-v-481bdfa2]{background:#1a1a2e;border-radius:8px;border:1px solid #2a2a4a;width:90%;max-width:800px;max-height:90vh;overflow:hidden;display:flex;flex-direction:column;animation:slideUp-481bdfa2 .3s ease}.modal-header[data-v-481bdfa2]{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;background:#16213e;border-bottom:1px solid #2a2a4a;flex-shrink:0}.modal-header h3[data-v-481bdfa2]{margin:0;font-size:16px;font-weight:600;color:#e0e0e0}.modal-close[data-v-481bdfa2]{background:none;border:none;color:#a0a0c0;font-size:24px;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s}.modal-close[data-v-481bdfa2]:hover{background:#ffffff1a;color:#e0e0e0}.modal-body[data-v-481bdfa2]{flex:1;overflow-y:auto;padding:0}@keyframes fadeIn-481bdfa2{0%{opacity:0}to{opacity:1}}@keyframes slideUp-481bdfa2{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.error-toast[data-v-481bdfa2]{position:fixed;bottom:24px;left:50%;transform:translate(-50%);z-index:1000}.toast-content[data-v-481bdfa2]{display:flex;align-items:center;gap:12px;padding:12px 20px;background:#f44336;border-radius:8px;box-shadow:0 4px 20px #f443364d;animation:slideUp-481bdfa2 .3s ease}.toast-icon[data-v-481bdfa2]{width:20px;height:20px;color:#fff}.toast-close[data-v-481bdfa2]{background:none;border:none;color:#fff;font-size:20px;cursor:pointer;padding:0 4px;opacity:.8}.toast-close[data-v-481bdfa2]:hover{opacity:1}@media(max-width:992px){.app-main[data-v-481bdfa2]{flex-direction:column}.top-row[data-v-481bdfa2]{flex:1.5}.bottom-row[data-v-481bdfa2]{flex:1}.modal-content[data-v-481bdfa2]{width:95%;max-height:95vh}}@media(max-width:768px){.app-header[data-v-481bdfa2]{padding:10px 16px}.logo-text[data-v-481bdfa2]{font-size:16px}.app-main[data-v-481bdfa2]{padding:12px;gap:12px}.tab-button[data-v-481bdfa2]{padding:10px 14px;font-size:12px}.tab-button span[data-v-481bdfa2]{display:none}.tab-icon[data-v-481bdfa2]{width:20px;height:20px}.bottom-row[data-v-481bdfa2]{flex-direction:column}.console-section[data-v-481bdfa2],.pin-section[data-v-481bdfa2]{flex:1}.header-button[data-v-481bdfa2]{padding:6px 12px;font-size:12px}.header-button span[data-v-481bdfa2]{display:none}.header-icon[data-v-481bdfa2]{width:18px;height:18px}.modal-content[data-v-481bdfa2]{width:98%;max-height:98vh}}
