.circuit-canvas[data-v-61acf1c4]{background:var(--canvas-bg);border-radius:12px;padding:16px;overflow:hidden;transition:background .3s}.circuit-svg[data-v-61acf1c4]{display:block;margin:0 auto}.wire[data-v-61acf1c4]{transition:stroke .3s}.wire-error[data-v-61acf1c4]{animation:wire-flash-61acf1c4 .4s ease-in-out infinite alternate}@keyframes wire-flash-61acf1c4{0%{stroke-opacity:1}to{stroke-opacity:.4}}.component[data-v-61acf1c4]{cursor:pointer;transition:opacity .3s}.component-label[data-v-61acf1c4]{fill:var(--text-dim);font-size:11px;font-family:monospace}.component-current[data-v-61acf1c4]{fill:var(--success);font-size:10px;font-family:monospace}.text-danger[data-v-61acf1c4]{fill:var(--danger)!important}.component-burned[data-v-61acf1c4]{opacity:.3;filter:grayscale(1)}.component-error[data-v-61acf1c4]{animation:component-shake-61acf1c4 .3s ease-in-out}@keyframes component-shake-61acf1c4{0%,to{transform:translate(0)}25%{transform:translate(-2px)}75%{transform:translate(2px)}}.interaction-panel[data-v-0a04b128]{display:flex;flex-direction:column;gap:16px}.interaction-item[data-v-0a04b128]{background:#8080800f;border-radius:10px;padding:12px}.interaction-label[data-v-0a04b128]{display:block;font-size:13px;color:var(--text-dim);margin-bottom:8px}.slider-value[data-v-0a04b128]{float:right;color:var(--primary);font-weight:700}.value-buttons[data-v-0a04b128],.select-buttons[data-v-0a04b128],.toggle-buttons[data-v-0a04b128]{display:flex;flex-wrap:wrap;gap:6px}.value-btn[data-v-0a04b128],.select-btn[data-v-0a04b128],.toggle-btn[data-v-0a04b128]{background:var(--btn-bg);border:1px solid var(--border);color:var(--btn-text);border-radius:6px;padding:6px 12px;font-size:13px;cursor:pointer;transition:all .2s}.value-btn.active[data-v-0a04b128],.select-btn.active[data-v-0a04b128],.toggle-btn.active[data-v-0a04b128]{background:linear-gradient(135deg,var(--primary),var(--primary-dark));color:#fff;border-color:var(--primary)}.mode-grid[data-v-0a04b128]{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.mode-btn[data-v-0a04b128]{display:flex;flex-direction:column;align-items:center;gap:2px;background:var(--btn-bg);border:1px solid var(--border);color:var(--btn-text);border-radius:8px;padding:8px 4px;font-size:11px;cursor:pointer;transition:all .2s}.mode-btn.active[data-v-0a04b128]{background:linear-gradient(135deg,var(--primary),var(--primary-dark));color:#fff;border-color:var(--primary)}.mode-icon[data-v-0a04b128]{font-size:18px}.slider-input[data-v-0a04b128]{width:100%;-webkit-appearance:none;-moz-appearance:none;appearance:none;height:8px;background:var(--btn-bg);border-radius:4px;outline:none;touch-action:manipulation}.slider-input[data-v-0a04b128]::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:28px;height:28px;border-radius:50%;background:var(--primary);cursor:pointer;border:3px solid var(--surface-light);box-shadow:0 2px 6px #0000004d}.slider-input[data-v-0a04b128]::-moz-range-thumb{width:28px;height:28px;border-radius:50%;background:var(--primary);cursor:pointer;border:3px solid var(--surface-light);box-shadow:0 2px 6px #0000004d}@media (max-width: 600px){.interaction-panel[data-v-0a04b128]{padding:10px}.slider-row[data-v-0a04b128]{gap:4px;margin-bottom:10px}.slider-label[data-v-0a04b128]{font-size:13px}.slider-value[data-v-0a04b128]{font-size:13px;min-width:50px}.slider-input[data-v-0a04b128]{height:10px}.slider-input[data-v-0a04b128]::-webkit-slider-thumb{width:32px;height:32px}.slider-input[data-v-0a04b128]::-moz-range-thumb{width:32px;height:32px}.mode-btn[data-v-0a04b128]{min-height:44px;padding:10px 12px;font-size:13px}}.error-popup-overlay[data-v-bccc29fc]{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:100;padding:20px}.error-popup[data-v-bccc29fc]{background:var(--popup-bg);border-radius:16px;max-width:420px;width:100%;overflow:hidden;box-shadow:0 8px 32px #00000080;transition:background .3s}.popup-header[data-v-bccc29fc]{display:flex;align-items:center;gap:8px;padding:16px;font-size:16px;font-weight:700}.popup-header.warning[data-v-bccc29fc]{background:linear-gradient(135deg,var(--warning),#e67e22);color:#fff}.popup-header.severe[data-v-bccc29fc]{background:linear-gradient(135deg,var(--danger),#c0392b);color:#fff}.popup-icon[data-v-bccc29fc]{font-size:22px}.popup-title[data-v-bccc29fc]{flex:1}.popup-close[data-v-bccc29fc]{background:none;border:none;color:#ffffffb3;font-size:18px;cursor:pointer;padding:4px}.popup-body[data-v-bccc29fc]{padding:16px}.popup-explanation[data-v-bccc29fc]{color:var(--popup-text);font-size:14px;line-height:1.6;white-space:pre-line;margin-bottom:12px}.tutorial-section[data-v-bccc29fc]{background:#80808014;border-radius:8px;padding:12px;border-left:3px solid var(--primary)}.tutorial-header[data-v-bccc29fc]{font-size:13px;font-weight:700;color:var(--primary);margin-bottom:8px}.tutorial-concept[data-v-bccc29fc]{font-size:13px;color:var(--text-dim);margin-bottom:6px}.concept-label[data-v-bccc29fc]{color:var(--text-dim)}.concept-value[data-v-bccc29fc]{color:var(--text)}.tutorial-formula[data-v-bccc29fc]{background:var(--popup-code-bg);border-radius:4px;padding:6px 8px;margin-bottom:8px}.tutorial-formula code[data-v-bccc29fc]{color:var(--success);font-size:13px;font-family:SF Mono,monospace}.tutorial-tips[data-v-bccc29fc]{list-style:none;padding:0;margin:0 0 8px}.tutorial-tips li[data-v-bccc29fc]{font-size:12px;color:var(--text-dim);padding:2px 0 2px 16px;position:relative}.tutorial-tips li[data-v-bccc29fc]:before{content:"▸";position:absolute;left:0;color:var(--primary)}.tutorial-link[data-v-bccc29fc]{display:block;text-align:center;color:var(--primary);text-decoration:none;font-size:13px;padding:6px;border:1px solid rgba(52,152,219,.3);border-radius:6px}.popup-footer[data-v-bccc29fc]{padding:0 16px 16px;display:flex;justify-content:center}.btn-retry[data-v-bccc29fc]{background:linear-gradient(135deg,var(--primary),var(--primary-dark));color:#fff;border:none;border-radius:8px;padding:10px 24px;font-size:14px;cursor:pointer;transition:transform .2s}.btn-retry[data-v-bccc29fc]:active{transform:scale(.95)}.popup-enter-active[data-v-bccc29fc],.popup-leave-active[data-v-bccc29fc]{transition:opacity .3s}.popup-enter-from[data-v-bccc29fc],.popup-leave-to[data-v-bccc29fc]{opacity:0}.popup-enter-from .error-popup[data-v-bccc29fc],.popup-leave-to .error-popup[data-v-bccc29fc]{transform:scale(.8)}.waveform-view[data-v-7b596e23]{background:var(--wave-bg);border-radius:8px;padding:8px;transition:background .3s}.wave-svg[data-v-7b596e23]{display:block}.waveform-info[data-v-7b596e23]{color:var(--text-dim);font-size:11px;text-align:center;margin-top:4px;font-family:monospace}.pwm-load-view[data-v-a971f4a7]{display:flex;align-items:center;justify-content:center;gap:20px;min-height:80px}.load-led[data-v-a971f4a7]{display:flex;align-items:center;gap:16px}.led-visual[data-v-a971f4a7]{position:relative;font-size:48px;transition:opacity .3s}.led-glow[data-v-a971f4a7]{position:absolute;top:-20px;right:-20px;bottom:-20px;left:-20px;background:radial-gradient(circle,rgba(255,200,0,.4),transparent 70%);border-radius:50%;transition:all .3s;pointer-events:none}.led-body[data-v-a971f4a7]{position:relative;z-index:1}.load-info[data-v-a971f4a7]{display:flex;flex-direction:column;gap:4px;font-size:13px;color:var(--text-dim)}.brightness-bar[data-v-a971f4a7]{width:120px;height:6px;background:var(--btn-bg);border-radius:3px;overflow:hidden}.brightness-fill[data-v-a971f4a7]{height:100%;background:linear-gradient(90deg,var(--warning),#fff);transition:width .3s}.servo-visual[data-v-a971f4a7]{position:relative;font-size:48px}.servo-arm[data-v-a971f4a7]{position:absolute;top:10px;left:30px;font-size:24px;transform-origin:left center;transition:transform .3s}.load-error[data-v-a971f4a7]{color:var(--danger)}.buzzer-visual[data-v-a971f4a7]{font-size:48px}.buzzer-visual.buzzing[data-v-a971f4a7]{animation:buzz-a971f4a7 .1s linear infinite}@keyframes buzz-a971f4a7{0%{transform:translate(0)}50%{transform:translate(2px)}to{transform:translate(0)}}.voltage-divider-view[data-v-9176ed9f]{display:flex;flex-direction:column;gap:12px;padding:8px 0}.vd-formula[data-v-9176ed9f]{text-align:center;background:var(--surface-light);border-radius:8px;padding:8px}.formula-text[data-v-9176ed9f]{font-family:Courier New,monospace;font-size:13px;color:var(--text-dim)}.vd-result[data-v-9176ed9f]{display:flex;justify-content:space-between;align-items:flex-end}.vd-value[data-v-9176ed9f]{display:flex;align-items:baseline;gap:4px}.vd-label[data-v-9176ed9f]{font-size:13px;color:var(--text-dim)}.vd-number[data-v-9176ed9f]{font-size:28px;font-weight:700;color:var(--primary)}.vd-warn .vd-number[data-v-9176ed9f]{color:var(--danger)}.vd-unit[data-v-9176ed9f]{font-size:14px;color:var(--text-dim)}.vd-meta[data-v-9176ed9f]{display:flex;flex-direction:column;gap:2px;font-size:12px;color:var(--text-dim);text-align:right}.vd-bar-container[data-v-9176ed9f]{display:flex;flex-direction:column;gap:4px}.vd-bar-label[data-v-9176ed9f]{display:flex;justify-content:space-between;font-size:10px;color:var(--text-dim)}.vd-adc-limit[data-v-9176ed9f]{color:var(--warning)}.vd-bar[data-v-9176ed9f]{position:relative;height:16px;background:var(--surface-light);border-radius:4px;overflow:hidden}.vd-adc-zone[data-v-9176ed9f]{position:absolute;height:100%;background:#2ecc7126}.vd-bar-fill[data-v-9176ed9f]{position:absolute;height:100%;transition:all .3s;border-radius:4px}.vd-bar-marker[data-v-9176ed9f]{position:absolute;top:-2px;bottom:-2px;width:2px;background:var(--warning);z-index:2}.vd-current[data-v-9176ed9f]{display:flex;gap:16px;font-size:12px;color:var(--text-dim);font-family:monospace}.vd-power-warn[data-v-9176ed9f]{color:var(--warning)}.capacitor-charge-view[data-v-03ac8611]{display:flex;flex-direction:column;gap:8px}.cc-info-row[data-v-03ac8611]{display:flex;justify-content:space-around}.cc-info-item[data-v-03ac8611]{display:flex;flex-direction:column;align-items:center;gap:2px}.cc-info-label[data-v-03ac8611]{font-size:11px;color:var(--text-dim)}.cc-info-value[data-v-03ac8611]{font-size:16px;font-weight:600;color:var(--text);font-family:monospace}.cc-curve-svg[data-v-03ac8611]{width:100%;max-width:380px;height:auto}.cc-x-axis[data-v-03ac8611]{display:flex;justify-content:space-between;padding:0 10px;font-size:10px;color:var(--text-dim)}.cc-mode-display[data-v-03ac8611]{display:flex;justify-content:space-between;align-items:center;padding:8px 0}.cc-mode-tag[data-v-03ac8611]{font-size:13px;font-weight:600;padding:2px 10px;border-radius:6px}.cc-mode-tag.charge[data-v-03ac8611]{background:#3498db33;color:var(--primary)}.cc-mode-tag.discharge[data-v-03ac8611]{background:#e74c3c33;color:var(--danger)}.cc-current-v[data-v-03ac8611]{font-size:13px;color:var(--text-dim);font-family:monospace}.transistor-switch-view[data-v-dfe523f6]{display:flex;flex-direction:column;gap:10px}.ts-state-badge[data-v-dfe523f6]{display:flex;align-items:center;gap:6px;padding:6px 12px;border-radius:8px;font-size:14px;font-weight:600;align-self:flex-start}.ts-state-badge.ts-sat[data-v-dfe523f6]{background:#2ecc7126;color:var(--success)}.ts-state-badge.ts-active[data-v-dfe523f6]{background:#f39c1226;color:var(--warning)}.ts-state-badge.ts-cutoff[data-v-dfe523f6]{background:#e74c3c26;color:var(--danger)}.ts-diagram[data-v-dfe523f6]{width:100%;max-width:300px;height:auto;margin:0 auto}.ts-data-grid[data-v-dfe523f6]{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.ts-data-item[data-v-dfe523f6]{display:flex;flex-direction:column;align-items:center;background:var(--surface-light);border-radius:6px;padding:6px 4px}.ts-data-label[data-v-dfe523f6]{font-size:10px;color:var(--text-dim)}.ts-data-value[data-v-dfe523f6]{font-size:14px;font-weight:600;color:var(--text);font-family:monospace}.ts-warn[data-v-dfe523f6]{color:var(--danger)!important}.ts-region-info[data-v-dfe523f6]{display:flex;gap:6px}.ts-region[data-v-dfe523f6]{flex:1;text-align:center;padding:6px;border-radius:6px;background:var(--surface-light);font-size:12px;opacity:.5;transition:all .2s}.ts-region.active[data-v-dfe523f6]{opacity:1;background:var(--primary);color:#fff}.ts-region small[data-v-dfe523f6]{display:block;font-size:9px;opacity:.8;margin-top:2px}.rc-filter-view[data-v-ffb2e463]{display:flex;flex-direction:column;gap:10px;padding:8px 0}.rf-formula[data-v-ffb2e463]{text-align:center;background:var(--surface-light);border-radius:8px;padding:8px}.formula-text[data-v-ffb2e463]{font-family:Courier New,monospace;font-size:13px;color:var(--text-dim)}.rf-result[data-v-ffb2e463]{display:flex;justify-content:space-between;align-items:flex-end}.rf-fc[data-v-ffb2e463]{display:flex;align-items:baseline;gap:4px}.rf-label[data-v-ffb2e463]{font-size:12px;color:var(--text-dim)}.rf-number[data-v-ffb2e463]{font-size:24px;font-weight:700;color:var(--text-dim)}.rf-number.rf-active[data-v-ffb2e463]{color:var(--primary)}.rf-unit[data-v-ffb2e463]{font-size:13px;color:var(--text-dim)}.rf-meta[data-v-ffb2e463]{display:flex;flex-direction:column;gap:2px;font-size:11px;color:var(--text-dim);text-align:right;font-family:monospace}.rf-waveform[data-v-ffb2e463]{background:var(--bg);border-radius:8px;padding:8px;border:1px solid var(--border)}.rf-wave-label[data-v-ffb2e463]{display:flex;gap:12px;margin-bottom:4px}.rf-wave-tag[data-v-ffb2e463]{font-size:11px;font-weight:600}.rf-input-tag[data-v-ffb2e463]{color:var(--text-dim)}.rf-output-tag[data-v-ffb2e463]{color:var(--primary)}.rf-svg[data-v-ffb2e463]{width:100%;height:100px;display:block}.rf-input-line[data-v-ffb2e463]{stroke:var(--text-dim);stroke-width:1.5;opacity:.6}.rf-output-line[data-v-ffb2e463]{stroke:var(--primary);stroke-width:2}.rf-info[data-v-ffb2e463]{font-size:12px;color:var(--text-dim);text-align:center;font-family:monospace}.rf-filtering[data-v-ffb2e463]{color:var(--success)}.i2c-view[data-v-4ed58bb4]{display:flex;flex-direction:column;gap:10px;padding:8px 0}.i2c-header[data-v-4ed58bb4]{display:flex;gap:16px}.i2c-addr[data-v-4ed58bb4],.i2c-data[data-v-4ed58bb4]{display:flex;align-items:baseline;gap:4px}.i2c-label[data-v-4ed58bb4]{font-size:12px;color:var(--text-dim)}.i2c-val[data-v-4ed58bb4]{font-size:18px;font-weight:700;color:var(--primary);font-family:monospace}.i2c-waveforms[data-v-4ed58bb4]{background:var(--bg);border-radius:8px;padding:8px;border:1px solid var(--border)}.i2c-wave-row[data-v-4ed58bb4]{display:flex;align-items:center;gap:8px}.i2c-wave-name[data-v-4ed58bb4]{font-size:12px;font-weight:700;color:var(--text-dim);width:28px;font-family:monospace}.i2c-svg[data-v-4ed58bb4]{flex:1;height:50px}.scl-line[data-v-4ed58bb4]{stroke:var(--warning);stroke-width:2}.sda-line[data-v-4ed58bb4]{stroke:var(--primary);stroke-width:2}.i2c-ann[data-v-4ed58bb4]{fill:var(--text-dim);font-size:6px;font-family:monospace}.i2c-steps[data-v-4ed58bb4]{display:flex;gap:4px;flex-wrap:wrap}.i2c-step[data-v-4ed58bb4]{display:flex;flex-direction:column;align-items:center;gap:2px;padding:4px 8px;border-radius:6px;flex:1;min-width:40px}.step-done[data-v-4ed58bb4]{background:#2ecc7126}.step-done .step-num[data-v-4ed58bb4]{color:var(--success)}.step-done .step-name[data-v-4ed58bb4]{color:var(--success);font-size:10px}.step-active[data-v-4ed58bb4]{background:var(--surface-light);border:1px solid var(--primary)}.step-active .step-num[data-v-4ed58bb4]{color:var(--primary);font-weight:700}.step-active .step-name[data-v-4ed58bb4]{color:var(--primary);font-size:10px;font-weight:600}.step-pending[data-v-4ed58bb4]{background:var(--surface);opacity:.4}.step-pending .step-num[data-v-4ed58bb4]{color:var(--text-dim)}.step-pending .step-name[data-v-4ed58bb4]{color:var(--text-dim);font-size:10px}.step-num[data-v-4ed58bb4]{font-size:14px}.i2c-bits[data-v-4ed58bb4]{display:flex;flex-direction:column;gap:4px;background:var(--surface-light);border-radius:8px;padding:8px}.i2c-bit-group[data-v-4ed58bb4]{display:flex;gap:8px;font-size:12px;font-family:monospace}.bit-label[data-v-4ed58bb4]{color:var(--text-dim)}.bit-value[data-v-4ed58bb4]{color:var(--primary);font-weight:600;letter-spacing:1px}.ntc-view[data-v-f39b1219]{display:flex;flex-direction:column;gap:10px;padding:8px 0}.ntc-formula[data-v-f39b1219]{text-align:center;background:var(--surface-light);border-radius:8px;padding:8px}.formula-text[data-v-f39b1219]{font-family:Courier New,monospace;font-size:12px;color:var(--text-dim)}.ntc-temp-display[data-v-f39b1219]{padding:4px 0}.ntc-temp-bar[data-v-f39b1219]{display:flex;flex-direction:column;gap:4px}.ntc-temp-track[data-v-f39b1219]{position:relative;height:20px;background:linear-gradient(90deg,#3498db,#2ecc71,#e74c3c);border-radius:10px;opacity:.3}.ntc-temp-fill[data-v-f39b1219]{position:absolute;height:100%;background:linear-gradient(90deg,#3498db,#2ecc71,#e74c3c);border-radius:10px;opacity:.6;transition:width .3s}.ntc-temp-marker[data-v-f39b1219]{position:absolute;top:-8px;transform:translate(-50%)}.ntc-temp-val[data-v-f39b1219]{background:var(--surface);border:1px solid var(--border);border-radius:4px;padding:2px 8px;font-size:14px;font-weight:700;color:var(--primary);white-space:nowrap}.ntc-temp-range[data-v-f39b1219]{display:flex;justify-content:space-between;font-size:10px;color:var(--text-dim)}.ntc-readings[data-v-f39b1219]{display:grid;grid-template-columns:1fr 1fr;gap:8px}.ntc-reading[data-v-f39b1219]{display:flex;flex-direction:column;gap:2px;background:var(--surface-light);border-radius:8px;padding:8px 12px}.ntc-r-label[data-v-f39b1219]{font-size:11px;color:var(--text-dim)}.ntc-r-value[data-v-f39b1219]{font-size:18px;font-weight:700;color:var(--primary);font-family:monospace}.ntc-r-warn[data-v-f39b1219]{color:var(--danger)}.ntc-adc-bar-container[data-v-f39b1219]{display:flex;flex-direction:column;gap:4px}.ntc-adc-bar[data-v-f39b1219]{position:relative;height:16px;background:var(--surface-light);border-radius:4px;overflow:hidden}.ntc-adc-safe-zone[data-v-f39b1219]{position:absolute;left:20%;width:60%;height:100%;background:#2ecc7126}.ntc-adc-fill[data-v-f39b1219]{position:absolute;height:100%;transition:all .3s;border-radius:4px}.ntc-adc-labels[data-v-f39b1219]{display:flex;justify-content:space-between;font-size:10px;color:var(--text-dim)}.ntc-safe-label[data-v-f39b1219]{color:var(--success)}.ntc-precision[data-v-f39b1219]{display:flex;gap:12px;font-size:12px;color:var(--text-dim);font-family:monospace}.ntc-good-res[data-v-f39b1219]{color:var(--success)}.pcb-view[data-v-99f77d58]{display:flex;flex-direction:column;gap:10px;padding:8px 0}.pcb-formula[data-v-99f77d58]{text-align:center;background:var(--surface-light);border-radius:8px;padding:8px}.formula-text[data-v-99f77d58]{font-family:Courier New,monospace;font-size:12px;color:var(--text-dim)}.pcb-imp-display[data-v-99f77d58]{display:flex;align-items:baseline;gap:12px;justify-content:center;padding:8px 0}.pcb-imp-value[data-v-99f77d58]{font-size:36px;font-weight:800;color:var(--primary);font-family:monospace}.pcb-imp-ok[data-v-99f77d58]{color:var(--success)}.pcb-imp-warn[data-v-99f77d58]{color:var(--danger)}.pcb-imp-target[data-v-99f77d58]{font-size:13px;color:var(--text-dim)}.pcb-imp-dev[data-v-99f77d58]{font-size:14px;font-weight:700;color:var(--success)}.pcb-gauge[data-v-99f77d58]{display:flex;flex-direction:column;gap:4px}.pcb-gauge-track[data-v-99f77d58]{position:relative;height:24px;background:var(--surface-light);border-radius:12px;overflow:hidden}.pcb-gauge-safe-zone[data-v-99f77d58]{position:absolute;height:100%;background:#2ecc7126}.pcb-gauge-marker[data-v-99f77d58]{position:absolute;top:0;height:100%;transform:translate(-50%);transition:left .3s}.pcb-gauge-arrow[data-v-99f77d58]{width:4px;height:100%;background:var(--primary);margin:0 auto;border-radius:2px;box-shadow:0 0 6px var(--primary)}.pcb-gauge-target[data-v-99f77d58]{position:absolute;top:-2px;height:calc(100% + 4px);width:2px;background:var(--success);opacity:.5}.pcb-gauge-labels[data-v-99f77d58]{display:flex;justify-content:space-between;font-size:10px;color:var(--text-dim)}.pcb-safe-text[data-v-99f77d58]{color:var(--success)}.pcb-readings[data-v-99f77d58]{display:grid;grid-template-columns:1fr 1fr;gap:8px}.pcb-reading[data-v-99f77d58]{display:flex;flex-direction:column;gap:2px;background:var(--surface-light);border-radius:8px;padding:8px 12px}.pcb-r-label[data-v-99f77d58]{font-size:11px;color:var(--text-dim)}.pcb-r-value[data-v-99f77d58]{font-size:16px;font-weight:700;color:var(--primary);font-family:monospace}.wifi-view[data-v-4bf43865]{display:flex;flex-direction:column;gap:10px;padding:8px 0}.wifi-formula[data-v-4bf43865]{text-align:center;background:var(--surface-light);border-radius:8px;padding:8px}.formula-text[data-v-4bf43865]{font-family:Courier New,monospace;font-size:12px;color:var(--text-dim)}.wifi-rssi-display[data-v-4bf43865]{display:flex;align-items:baseline;gap:12px;justify-content:center;padding:8px 0}.wifi-rssi-value[data-v-4bf43865]{font-size:32px;font-weight:800;color:var(--success);font-family:monospace}.wifi-quality[data-v-4bf43865]{font-size:14px;font-weight:600}.wifi-q-good[data-v-4bf43865]{color:var(--success)}.wifi-q-fair[data-v-4bf43865]{color:var(--warning)}.wifi-q-poor[data-v-4bf43865]{color:#f39c12}.wifi-q-none[data-v-4bf43865],.wifi-rssi-display .wifi-q-none[data-v-4bf43865],.wifi-rssi-display .wifi-q-poor[data-v-4bf43865]{color:var(--danger)}.wifi-signal-bar-container[data-v-4bf43865]{display:flex;flex-direction:column;gap:4px}.wifi-signal-bar[data-v-4bf43865]{position:relative;height:20px;background:var(--surface-light);border-radius:4px;overflow:hidden}.wifi-signal-safe-zone[data-v-4bf43865]{position:absolute;left:18%;width:82%;height:100%;background:#2ecc711a}.wifi-signal-fill[data-v-4bf43865]{position:absolute;height:100%;transition:all .3s;border-radius:4px}.wifi-sensitivity-marker[data-v-4bf43865]{position:absolute;top:-2px;height:calc(100% + 4px);width:2px;background:var(--danger);opacity:.7}.wifi-sens-label[data-v-4bf43865]{position:absolute;top:-14px;left:50%;transform:translate(-50%);font-size:9px;color:var(--danger);white-space:nowrap}.wifi-signal-labels[data-v-4bf43865]{display:flex;justify-content:space-between;font-size:10px;color:var(--text-dim)}.wifi-safe-label[data-v-4bf43865]{color:var(--success)}.wifi-budget[data-v-4bf43865]{display:flex;flex-direction:column;gap:4px;background:var(--surface-light);border-radius:8px;padding:10px 12px}.wifi-budget-row[data-v-4bf43865]{display:flex;justify-content:space-between;align-items:center}.wifi-b-label[data-v-4bf43865]{font-size:12px;color:var(--text-dim)}.wifi-b-value[data-v-4bf43865]{font-size:14px;font-weight:700;font-family:monospace;color:var(--text)}.wifi-b-pos[data-v-4bf43865]{color:var(--success)}.wifi-b-neg[data-v-4bf43865]{color:var(--danger)}.wifi-b-warn[data-v-4bf43865]{color:var(--warning)}.wifi-b-ok[data-v-4bf43865]{color:var(--success)}.wifi-budget-divider[data-v-4bf43865]{height:1px;background:var(--border);margin:4px 0}.wifi-budget-total .wifi-b-value[data-v-4bf43865]{font-size:18px}.la-view[data-v-83f69fb9]{display:flex;flex-direction:column;gap:10px;padding:8px 0}.la-formula[data-v-83f69fb9]{text-align:center;background:var(--surface-light);border-radius:8px;padding:8px}.formula-text[data-v-83f69fb9]{font-family:Courier New,monospace;font-size:13px;color:var(--text-dim)}.la-mode-status[data-v-83f69fb9]{text-align:center;font-size:13px;font-weight:600;padding:6px;border-radius:6px}.la-mode-ok[data-v-83f69fb9]{color:var(--success);background:#2ecc711a}.la-mode-bad[data-v-83f69fb9]{color:var(--danger);background:#e74c3c1a}.la-waveforms[data-v-83f69fb9]{display:flex;flex-direction:column;gap:4px;background:var(--surface-light);border-radius:8px;padding:10px}.la-channel[data-v-83f69fb9]{display:flex;align-items:center;gap:8px}.la-ch-label[data-v-83f69fb9]{font-size:11px;font-weight:700;width:40px;flex-shrink:0}.la-ch-wave[data-v-83f69fb9]{flex:1;height:36px;background:var(--bg);border-radius:4px;overflow:hidden}.la-svg[data-v-83f69fb9]{width:100%;height:100%}.la-data-compare[data-v-83f69fb9]{display:flex;align-items:center;gap:12px;background:var(--surface-light);border-radius:8px;padding:10px 12px}.la-data-col[data-v-83f69fb9]{display:flex;flex-direction:column;gap:2px;flex:1}.la-d-label[data-v-83f69fb9]{font-size:11px;color:var(--text-dim)}.la-d-value[data-v-83f69fb9]{font-size:14px;font-weight:700;font-family:monospace;color:var(--success)}.la-d-corrupt[data-v-83f69fb9]{color:var(--danger)}.la-data-arrow[data-v-83f69fb9]{font-size:18px;color:var(--text-dim)}.la-clock-info[data-v-83f69fb9]{display:flex;gap:12px;font-size:11px;color:var(--text-dim);font-family:monospace;justify-content:center}.dcdc-view[data-v-0cf5a06c]{display:flex;flex-direction:column;gap:8px}.formula-bar[data-v-0cf5a06c]{display:flex;gap:8px;flex-wrap:wrap;padding:6px 10px;background:var(--card-bg);border-radius:6px;font-size:12px;color:var(--text-secondary)}.formula[data-v-0cf5a06c]{color:var(--accent);font-family:monospace}.formula-sep[data-v-0cf5a06c]{color:var(--text-dim)}.buck-svg[data-v-0cf5a06c]{width:100%;max-width:380px;height:auto;background:var(--canvas-bg);border-radius:8px}.data-panel[data-v-0cf5a06c]{display:flex;flex-direction:column;gap:4px}.data-row[data-v-0cf5a06c]{display:flex;align-items:center;gap:8px;padding:4px 8px;font-size:13px}.data-row .label[data-v-0cf5a06c]{width:80px;color:var(--text-secondary)}.data-row .value[data-v-0cf5a06c]{font-weight:700;min-width:80px;color:var(--accent)}.data-row .value.error[data-v-0cf5a06c]{color:var(--error)}.data-row .target[data-v-0cf5a06c]{color:var(--text-dim);font-size:11px}.status-bar[data-v-0cf5a06c]{margin-top:4px}.status[data-v-0cf5a06c]{display:inline-block;padding:4px 12px;border-radius:4px;font-size:13px}.status.good[data-v-0cf5a06c]{background:#2ecc7126;color:#2ecc71}.status.warn[data-v-0cf5a06c]{background:#f1c40f26;color:#f1c40f}.status.bad[data-v-0cf5a06c]{background:#e74c3c26;color:#e74c3c}.opamp-view[data-v-29a0a1cb]{display:flex;flex-direction:column;gap:8px}.formula-bar[data-v-29a0a1cb]{display:flex;gap:8px;flex-wrap:wrap;padding:6px 10px;background:var(--card-bg);border-radius:6px;font-size:12px;color:var(--text-secondary)}.formula[data-v-29a0a1cb]{color:var(--accent);font-family:monospace}.formula-sep[data-v-29a0a1cb]{color:var(--text-dim)}.opamp-svg[data-v-29a0a1cb]{width:100%;max-width:360px;height:auto;background:var(--canvas-bg);border-radius:8px}.transfer-curve[data-v-29a0a1cb]{width:100%;max-width:280px;height:80px;background:var(--canvas-bg);border-radius:8px}.data-panel[data-v-29a0a1cb]{display:flex;flex-direction:column;gap:4px}.data-row[data-v-29a0a1cb]{display:flex;align-items:center;gap:8px;padding:4px 8px;font-size:13px}.data-row .label[data-v-29a0a1cb]{width:80px;color:var(--text-secondary)}.data-row .value[data-v-29a0a1cb]{font-weight:700;color:var(--accent)}.data-row .value.warn[data-v-29a0a1cb]{color:#f1c40f}.data-row .value.high[data-v-29a0a1cb]{color:#e74c3c}.data-row .value.low[data-v-29a0a1cb]{color:#2ecc71}.data-row .value.error[data-v-29a0a1cb]{color:var(--error)}.debounce-view[data-v-61135b8c]{display:flex;flex-direction:column;gap:8px}.formula-bar[data-v-61135b8c]{display:flex;gap:8px;flex-wrap:wrap;padding:6px 10px;background:var(--card-bg);border-radius:6px;font-size:12px;color:var(--text-secondary)}.formula[data-v-61135b8c]{color:var(--accent);font-family:monospace}.formula-sep[data-v-61135b8c]{color:var(--text-dim)}.btn-svg[data-v-61135b8c]{width:100%;max-width:340px;height:auto;background:var(--canvas-bg);border-radius:8px}.waveforms[data-v-61135b8c]{display:flex;flex-direction:column;gap:4px}.wave-row[data-v-61135b8c]{display:flex;align-items:center;gap:8px}.wave-label[data-v-61135b8c]{width:60px;font-size:11px;color:var(--text-secondary)}.wave-svg[data-v-61135b8c]{flex:1;height:40px;background:var(--canvas-bg);border-radius:4px}.wave-info[data-v-61135b8c]{width:80px;font-size:11px;text-align:right}.wave-info.error[data-v-61135b8c]{color:var(--error)}.data-panel[data-v-61135b8c]{display:flex;flex-direction:column;gap:4px}.data-row[data-v-61135b8c]{display:flex;align-items:center;gap:8px;padding:4px 8px;font-size:13px}.data-row .label[data-v-61135b8c]{width:80px;color:var(--text-secondary)}.data-row .value[data-v-61135b8c]{font-weight:700;color:var(--accent)}.data-row .value.good[data-v-61135b8c]{color:#2ecc71}.data-row .value.error[data-v-61135b8c]{color:var(--error)}.ldo-view[data-v-75c25e2e]{display:flex;flex-direction:column;gap:8px}.formula-bar[data-v-75c25e2e]{display:flex;gap:8px;flex-wrap:wrap;padding:6px 10px;background:var(--card-bg);border-radius:6px;font-size:12px;color:var(--text-secondary)}.formula[data-v-75c25e2e]{color:var(--accent);font-family:monospace}.formula-sep[data-v-75c25e2e]{color:var(--text-dim)}.ldo-svg[data-v-75c25e2e]{width:100%;max-width:380px;height:auto;background:var(--canvas-bg);border-radius:8px}.data-panel[data-v-75c25e2e]{display:flex;flex-direction:column;gap:4px}.data-row[data-v-75c25e2e]{display:flex;align-items:center;gap:8px;padding:4px 8px;font-size:13px}.data-row .label[data-v-75c25e2e]{width:80px;color:var(--text-secondary)}.data-row .value[data-v-75c25e2e]{font-weight:700;min-width:80px;color:var(--accent)}.data-row .value.error[data-v-75c25e2e]{color:var(--error)}.data-row .value.warn[data-v-75c25e2e]{color:#f1c40f}.data-row .target[data-v-75c25e2e]{color:var(--text-dim);font-size:11px}.status-bar[data-v-75c25e2e]{margin-top:4px}.status[data-v-75c25e2e]{display:inline-block;padding:4px 12px;border-radius:4px;font-size:13px}.status.good[data-v-75c25e2e]{background:#2ecc7126;color:#2ecc71}.status.warn[data-v-75c25e2e]{background:#f1c40f26;color:#f1c40f}.status.bad[data-v-75c25e2e]{background:#e74c3c26;color:#e74c3c}.timer-view[data-v-f899190b]{display:flex;flex-direction:column;gap:8px}.formula-bar[data-v-f899190b]{display:flex;gap:8px;flex-wrap:wrap;padding:6px 10px;background:var(--card-bg);border-radius:6px;font-size:12px;color:var(--text-secondary)}.formula[data-v-f899190b]{color:var(--accent);font-family:monospace}.formula-sep[data-v-f899190b]{color:var(--text-dim)}.timer-svg[data-v-f899190b]{width:100%;max-width:380px;height:auto;background:var(--canvas-bg);border-radius:8px}.wave-svg[data-v-f899190b]{width:100%;max-width:360px;height:60px;background:var(--canvas-bg);border-radius:8px}.data-panel[data-v-f899190b]{display:flex;flex-direction:column;gap:4px}.data-row[data-v-f899190b]{display:flex;align-items:center;gap:8px;padding:4px 8px;font-size:13px}.data-row .label[data-v-f899190b]{width:90px;color:var(--text-secondary)}.data-row .value[data-v-f899190b]{font-weight:700;min-width:80px;color:var(--accent)}.data-row .value.warn[data-v-f899190b]{color:#f1c40f}.data-row .target[data-v-f899190b]{color:var(--text-dim);font-size:11px}.status-bar[data-v-f899190b]{margin-top:4px}.status[data-v-f899190b]{display:inline-block;padding:4px 12px;border-radius:4px;font-size:13px}.status.good[data-v-f899190b]{background:#2ecc7126;color:#2ecc71}.status.warn[data-v-f899190b]{background:#f1c40f26;color:#f1c40f}.status.bad[data-v-f899190b]{background:#e74c3c26;color:#e74c3c}.esd-view[data-v-facba73e]{display:flex;flex-direction:column;gap:8px}.formula-bar[data-v-facba73e]{display:flex;gap:8px;flex-wrap:wrap;padding:6px 10px;background:var(--card-bg);border-radius:6px;font-size:12px;color:var(--text-secondary)}.formula[data-v-facba73e]{color:var(--accent);font-family:monospace}.formula-sep[data-v-facba73e]{color:var(--text-dim)}.esd-svg[data-v-facba73e]{width:100%;max-width:380px;height:auto;background:var(--canvas-bg);border-radius:8px}.data-panel[data-v-facba73e]{display:flex;flex-direction:column;gap:4px}.data-row[data-v-facba73e]{display:flex;align-items:center;gap:8px;padding:4px 8px;font-size:13px}.data-row .label[data-v-facba73e]{width:90px;color:var(--text-secondary)}.data-row .value[data-v-facba73e]{font-weight:700;min-width:70px;color:var(--accent)}.data-row .value.error[data-v-facba73e]{color:var(--error)}.data-row .value.warn[data-v-facba73e]{color:#f1c40f}.data-row .target[data-v-facba73e]{color:var(--text-dim);font-size:11px}.status-bar[data-v-facba73e]{margin-top:4px}.status[data-v-facba73e]{display:inline-block;padding:4px 12px;border-radius:4px;font-size:13px}.status.good[data-v-facba73e]{background:#2ecc7126;color:#2ecc71}.status.warn[data-v-facba73e]{background:#f1c40f26;color:#f1c40f}.status.bad[data-v-facba73e]{background:#e74c3c26;color:#e74c3c}.uart-view[data-v-6c1988c9]{display:flex;flex-direction:column;gap:10px;padding:8px 0}.uart-formula[data-v-6c1988c9]{text-align:center;background:var(--surface-light);border-radius:8px;padding:8px}.formula-text[data-v-6c1988c9]{font-family:Courier New,monospace;font-size:11px;color:var(--text-dim)}.uart-header[data-v-6c1988c9]{display:flex;justify-content:space-between;gap:16px}.uart-field[data-v-6c1988c9]{display:flex;align-items:baseline;gap:4px}.uart-label[data-v-6c1988c9]{font-size:12px;color:var(--text-dim)}.uart-val[data-v-6c1988c9]{font-size:18px;font-weight:700;color:var(--primary);font-family:monospace}.uart-val.uart-err[data-v-6c1988c9]{color:var(--danger)}.uart-bin[data-v-6c1988c9]{font-size:11px;color:var(--text-dim);font-family:monospace}.uart-unit[data-v-6c1988c9]{font-size:11px;color:var(--text-dim)}.uart-waveforms[data-v-6c1988c9]{background:var(--bg);border-radius:8px;padding:8px;border:1px solid var(--border)}.uart-wave-row[data-v-6c1988c9]{display:flex;align-items:center;gap:8px}.uart-wave-name[data-v-6c1988c9]{font-size:12px;font-weight:700;color:var(--text-dim);width:28px;font-family:monospace}.uart-svg[data-v-6c1988c9]{flex:1;height:60px}.tx-line[data-v-6c1988c9]{stroke:var(--primary);stroke-width:2}.uart-ann[data-v-6c1988c9]{fill:var(--text-dim);font-size:6px;font-family:monospace}.uart-rx[data-v-6c1988c9]{background:var(--surface-light);border-radius:8px;padding:8px 12px}.uart-rx-row[data-v-6c1988c9]{display:flex;align-items:center;gap:8px}.uart-rx-label[data-v-6c1988c9]{font-size:12px;color:var(--text-dim)}.uart-rx-garbage[data-v-6c1988c9]{font-size:16px;font-weight:700;color:var(--danger);font-family:monospace}.uart-rx-val[data-v-6c1988c9]{font-size:16px;font-weight:700;color:var(--primary);font-family:monospace}.uart-rx-ok-tag[data-v-6c1988c9]{font-size:11px;color:var(--success)}.uart-rx-warn[data-v-6c1988c9]{font-size:12px;color:var(--danger);margin-top:4px}.uart-frame[data-v-6c1988c9]{display:flex;gap:3px;flex-wrap:wrap}.uart-frame-item[data-v-6c1988c9]{display:flex;flex-direction:column;align-items:center;gap:2px;padding:4px 6px;border-radius:4px;background:var(--surface-light);min-width:28px}.uart-frame-item.active[data-v-6c1988c9]{border:1px solid var(--primary)}.uart-frame-item.stop[data-v-6c1988c9]{border:1px solid var(--success)}.frame-label[data-v-6c1988c9]{font-size:8px;color:var(--text-dim);font-family:monospace}.frame-bit[data-v-6c1988c9]{font-size:14px;font-weight:700;color:var(--primary);font-family:monospace}.photo-view[data-v-a78e90ad]{display:flex;flex-direction:column;gap:10px;padding:8px 0}.photo-formula[data-v-a78e90ad]{text-align:center;background:var(--surface-light);border-radius:8px;padding:8px}.formula-text[data-v-a78e90ad]{font-family:Courier New,monospace;font-size:12px;color:var(--text-dim)}.photo-lux-display[data-v-a78e90ad]{padding:4px 0}.photo-lux-bar[data-v-a78e90ad]{display:flex;flex-direction:column;gap:4px}.photo-lux-track[data-v-a78e90ad]{position:relative;height:20px;background:linear-gradient(90deg,#2c3e50,#8e44ad,#f39c12,#f1c40f);border-radius:10px;opacity:.3}.photo-lux-fill[data-v-a78e90ad]{position:absolute;height:100%;background:linear-gradient(90deg,#2c3e50,#8e44ad,#f39c12,#f1c40f);border-radius:10px;opacity:.6;transition:width .3s}.photo-lux-marker[data-v-a78e90ad]{position:absolute;top:-8px;transform:translate(-50%)}.photo-lux-val[data-v-a78e90ad]{background:var(--surface);border:1px solid var(--border);border-radius:4px;padding:2px 8px;font-size:14px;font-weight:700;color:var(--primary);white-space:nowrap}.photo-lux-range[data-v-a78e90ad]{display:flex;justify-content:space-between;font-size:10px;color:var(--text-dim)}.photo-readings[data-v-a78e90ad]{display:grid;grid-template-columns:1fr 1fr;gap:8px}.photo-reading[data-v-a78e90ad]{display:flex;flex-direction:column;gap:2px;background:var(--surface-light);border-radius:8px;padding:8px 12px}.photo-r-label[data-v-a78e90ad]{font-size:11px;color:var(--text-dim)}.photo-r-value[data-v-a78e90ad]{font-size:18px;font-weight:700;color:var(--primary);font-family:monospace}.photo-r-warn[data-v-a78e90ad]{color:var(--danger)}.photo-adc-bar-container[data-v-a78e90ad]{display:flex;flex-direction:column;gap:4px}.photo-adc-bar[data-v-a78e90ad]{position:relative;height:16px;background:var(--surface-light);border-radius:4px;overflow:hidden}.photo-adc-safe-zone[data-v-a78e90ad]{position:absolute;left:15%;width:70%;height:100%;background:#2ecc7126}.photo-adc-fill[data-v-a78e90ad]{position:absolute;height:100%;transition:all .3s;border-radius:4px}.photo-adc-labels[data-v-a78e90ad]{display:flex;justify-content:space-between;font-size:10px;color:var(--text-dim)}.photo-safe-label[data-v-a78e90ad]{color:var(--success)}.photo-level[data-v-a78e90ad]{display:flex;gap:12px;font-size:12px;color:var(--text-dim);font-family:monospace}.photo-good-res[data-v-a78e90ad]{color:var(--success)}.lc-view[data-v-2b69256f]{display:flex;flex-direction:column;gap:10px;padding:8px 0}.lc-formula[data-v-2b69256f]{text-align:center;background:var(--surface-light);border-radius:8px;padding:8px}.formula-text[data-v-2b69256f]{font-family:Courier New,monospace;font-size:11px;color:var(--text-dim)}.lc-result[data-v-2b69256f]{display:flex;justify-content:space-between;align-items:flex-end}.lc-f0[data-v-2b69256f]{display:flex;align-items:baseline;gap:4px}.lc-label[data-v-2b69256f]{font-size:12px;color:var(--text-dim)}.lc-number[data-v-2b69256f]{font-size:24px;font-weight:700;color:var(--text-dim)}.lc-number.lc-resonant[data-v-2b69256f]{color:var(--primary)}.lc-unit[data-v-2b69256f]{font-size:13px;color:var(--text-dim)}.lc-meta[data-v-2b69256f]{display:flex;flex-direction:column;gap:2px;font-size:11px;color:var(--text-dim);text-align:right;font-family:monospace}.lc-response[data-v-2b69256f]{background:var(--bg);border-radius:8px;padding:8px;border:1px solid var(--border)}.lc-wave-label[data-v-2b69256f]{display:flex;gap:12px;margin-bottom:4px}.lc-wave-tag[data-v-2b69256f]{font-size:11px;font-weight:600}.lc-input-tag[data-v-2b69256f]{color:var(--text-dim)}.lc-output-tag[data-v-2b69256f]{color:var(--primary)}.lc-marker-tag[data-v-2b69256f]{color:var(--warning)}.lc-svg[data-v-2b69256f]{width:100%;height:100px;display:block}.lc-response-line[data-v-2b69256f]{stroke:var(--primary);stroke-width:2}.lc-f0-line[data-v-2b69256f]{stroke:var(--success);stroke-width:1;stroke-dasharray:3,2;opacity:.6}.lc-input-marker[data-v-2b69256f]{stroke:var(--warning);stroke-width:1.5}.lc-3db-line[data-v-2b69256f]{stroke:var(--text-dim);stroke-width:.5;stroke-dasharray:2,2;opacity:.4}.lc-freq-labels[data-v-2b69256f]{display:flex;justify-content:space-between;font-size:10px;color:var(--text-dim);margin-top:4px}.lc-waveform[data-v-2b69256f]{background:var(--bg);border-radius:8px;padding:8px;border:1px solid var(--border)}.lc-wave-svg[data-v-2b69256f]{width:100%;height:80px;display:block}.lc-input-line[data-v-2b69256f]{stroke:var(--text-dim);stroke-width:1.5;opacity:.6}.lc-output-line[data-v-2b69256f]{stroke:var(--primary);stroke-width:2}.lc-info[data-v-2b69256f]{font-size:12px;color:var(--text-dim);text-align:center;font-family:monospace}.lc-at-resonance[data-v-2b69256f]{color:var(--success)}.mosfet-view[data-v-26474924]{display:flex;flex-direction:column;gap:8px}.formula-bar[data-v-26474924]{display:flex;gap:8px;flex-wrap:wrap;padding:6px 10px;background:var(--card-bg);border-radius:6px;font-size:12px;color:var(--text-secondary)}.formula[data-v-26474924]{color:var(--accent);font-family:monospace}.formula-sep[data-v-26474924]{color:var(--text-dim)}.mosfet-svg[data-v-26474924]{width:100%;max-width:360px;height:auto;background:var(--canvas-bg);border-radius:8px}.data-panel[data-v-26474924]{display:flex;flex-direction:column;gap:4px}.data-row[data-v-26474924]{display:flex;align-items:center;gap:8px;padding:4px 8px;font-size:13px}.data-row .label[data-v-26474924]{width:90px;color:var(--text-secondary)}.data-row .value[data-v-26474924]{font-weight:700;color:var(--accent)}.data-row .value.warn[data-v-26474924]{color:#f1c40f}.data-row .value.error[data-v-26474924]{color:var(--error)}.relay-view[data-v-cc9ac1dd]{display:flex;flex-direction:column;gap:8px}.formula-bar[data-v-cc9ac1dd]{display:flex;gap:8px;flex-wrap:wrap;padding:6px 10px;background:var(--card-bg);border-radius:6px;font-size:12px;color:var(--text-secondary)}.formula[data-v-cc9ac1dd]{color:var(--accent);font-family:monospace}.formula-sep[data-v-cc9ac1dd]{color:var(--text-dim)}.relay-svg[data-v-cc9ac1dd]{width:100%;max-width:360px;height:auto;background:var(--canvas-bg);border-radius:8px}.data-panel[data-v-cc9ac1dd]{display:flex;flex-direction:column;gap:4px}.data-row[data-v-cc9ac1dd]{display:flex;align-items:center;gap:8px;padding:4px 8px;font-size:13px}.data-row .label[data-v-cc9ac1dd]{width:90px;color:var(--text-secondary)}.data-row .value[data-v-cc9ac1dd]{font-weight:700;color:var(--accent)}.data-row .value.error[data-v-cc9ac1dd]{color:var(--error)}.r2r-dac-view[data-v-80e05ccb]{display:flex;flex-direction:column;gap:6px}.formula-bar[data-v-80e05ccb]{display:flex;gap:8px;flex-wrap:wrap;padding:6px 10px;background:var(--card-bg);border-radius:6px;font-size:12px;color:var(--text-secondary)}.formula[data-v-80e05ccb]{color:var(--accent);font-family:monospace}.formula-sep[data-v-80e05ccb]{color:var(--text-dim)}.dac-svg[data-v-80e05ccb],.staircase-svg[data-v-80e05ccb]{width:100%;max-width:360px;height:auto;background:var(--canvas-bg);border-radius:8px}.data-panel[data-v-80e05ccb]{display:flex;flex-direction:column;gap:4px}.data-row[data-v-80e05ccb]{display:flex;align-items:center;gap:8px;padding:4px 8px;font-size:13px}.data-row .label[data-v-80e05ccb]{width:90px;color:var(--text-secondary)}.data-row .value[data-v-80e05ccb]{font-weight:700;color:var(--text-primary)}.data-row .value.accent[data-v-80e05ccb]{color:var(--accent)}.challenge-panel[data-v-187240e7]{position:fixed;bottom:0;right:0;width:360px;max-width:calc(100vw - 20px);background:var(--bg-secondary, #1a1a2e);border:1px solid var(--border, #333);border-radius:12px 12px 0 0;box-shadow:0 -4px 20px #0000004d;z-index:100;font-size:13px}.challenge-header[data-v-187240e7]{display:flex;align-items:center;gap:8px;padding:10px 14px;border-bottom:1px solid var(--border, #333)}.challenge-badge[data-v-187240e7]{background:linear-gradient(135deg,#e74c3c,#f39c12);color:#fff;padding:2px 8px;border-radius:4px;font-size:11px;font-weight:700;white-space:nowrap}.challenge-title[data-v-187240e7]{flex:1;font-weight:700;color:var(--text, #eee)}.close-btn[data-v-187240e7]{background:none;border:none;color:var(--text-dim, #888);cursor:pointer;font-size:16px}.challenge-body[data-v-187240e7]{padding:12px 14px;display:flex;flex-direction:column;gap:8px}.challenge-goal[data-v-187240e7],.challenge-constraint[data-v-187240e7]{display:flex;gap:6px;font-size:12px}.goal-label[data-v-187240e7],.constraint-label[data-v-187240e7]{color:var(--text-dim, #888);white-space:nowrap}.goal-text[data-v-187240e7]{color:var(--accent, #4488ff)}.constraint-text[data-v-187240e7]{color:#f39c12}.challenge-timer[data-v-187240e7]{display:flex;align-items:center;justify-content:center;gap:6px;padding:6px;background:var(--card-bg, #2a2a3e);border-radius:6px;font-size:16px;font-weight:700;color:#2ecc71}.challenge-timer.urgent[data-v-187240e7]{color:#e74c3c;animation:pulse-187240e7 .5s infinite}@keyframes pulse-187240e7{0%,to{opacity:1}50%{opacity:.5}}.challenge-stats[data-v-187240e7]{display:flex;gap:8px}.stat[data-v-187240e7]{flex:1;text-align:center;padding:4px;background:var(--card-bg, #2a2a3e);border-radius:4px}.stat-label[data-v-187240e7]{display:block;font-size:10px;color:var(--text-dim, #888)}.stat-value[data-v-187240e7]{font-size:13px;font-weight:700;color:var(--accent, #4488ff)}.stat-value.good[data-v-187240e7]{color:#2ecc71}.stat-value.bad[data-v-187240e7]{color:#e74c3c}.stat-value.running[data-v-187240e7]{color:#f39c12}.start-btn[data-v-187240e7],.check-btn[data-v-187240e7],.retry-btn[data-v-187240e7]{padding:8px 16px;border:none;border-radius:6px;font-size:14px;font-weight:700;cursor:pointer;color:#fff;transition:transform .1s}.start-btn[data-v-187240e7]{background:linear-gradient(135deg,#2ecc71,#27ae60)}.check-btn[data-v-187240e7]{background:linear-gradient(135deg,#3498db,#2980b9)}.retry-btn[data-v-187240e7]{background:var(--card-bg, #2a2a3e);color:var(--text, #eee);border:1px solid var(--border, #444)}.start-btn[data-v-187240e7]:hover,.check-btn[data-v-187240e7]:hover,.retry-btn[data-v-187240e7]:hover{transform:translateY(-1px)}.result-box[data-v-187240e7]{text-align:center;padding:12px;border-radius:8px}.result-box.passed[data-v-187240e7]{background:#2ecc7126}.result-box.failed[data-v-187240e7]{background:#e74c3c26}.result-icon[data-v-187240e7]{font-size:28px}.result-score[data-v-187240e7]{font-size:24px;font-weight:700;color:var(--accent, #4488ff)}.result-detail[data-v-187240e7]{font-size:12px;color:var(--text-secondary, #aaa);margin-top:4px}.result-time[data-v-187240e7]{font-size:11px;color:var(--text-dim, #888)}.slide-up-enter-active[data-v-187240e7],.slide-up-leave-active[data-v-187240e7]{transition:transform .3s ease,opacity .3s ease}.slide-up-enter-from[data-v-187240e7],.slide-up-leave-to[data-v-187240e7]{transform:translateY(100%);opacity:0}@media (max-width: 600px){.challenge-panel[data-v-187240e7]{width:100%;border-radius:12px 12px 0 0}}.knowledge-panel[data-v-cf0fd704]{background:#8080800f;border-radius:10px;overflow:hidden;transition:all .3s}.kp-header[data-v-cf0fd704]{display:flex;align-items:center;gap:8px;padding:12px;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .2s}.kp-header[data-v-cf0fd704]:hover{background:#80808014}.kp-icon[data-v-cf0fd704]{font-size:16px}.kp-title[data-v-cf0fd704]{flex:1;font-size:13px;font-weight:600;color:var(--text)}.kp-toggle[data-v-cf0fd704]{font-size:12px;color:var(--text-dim)}.kp-body[data-v-cf0fd704]{padding:0 12px 12px}.kp-section[data-v-cf0fd704]{margin-bottom:10px}.kp-section[data-v-cf0fd704]:last-child{margin-bottom:0}.kp-section-title[data-v-cf0fd704]{font-size:11px;font-weight:700;color:var(--primary);margin-bottom:6px;text-transform:uppercase;letter-spacing:.5px}.kp-formula[data-v-cf0fd704]{display:flex;align-items:center;gap:8px;margin-bottom:4px}.kp-formula-label[data-v-cf0fd704]{font-size:12px;color:var(--text-dim);white-space:nowrap}.kp-formula-expr[data-v-cf0fd704]{font-size:12px;color:var(--success);background:var(--popup-code-bg);padding:2px 8px;border-radius:4px;font-family:SF Mono,Fira Code,monospace}.kp-list[data-v-cf0fd704]{list-style:none;padding:0;margin:0}.kp-list li[data-v-cf0fd704]{font-size:12px;color:var(--text);line-height:1.6;padding:2px 0 2px 14px;position:relative}.kp-list li[data-v-cf0fd704]:before{content:"▸";position:absolute;left:0;color:var(--primary)}.kp-tips li[data-v-cf0fd704]:before{content:"💡";font-size:10px}.kp-slide-enter-active[data-v-cf0fd704],.kp-slide-leave-active[data-v-cf0fd704]{transition:all .3s ease;max-height:500px}.kp-slide-enter-from[data-v-cf0fd704],.kp-slide-leave-to[data-v-cf0fd704]{opacity:0;max-height:0;padding-top:0;padding-bottom:0}.hint-section[data-v-2e41f7ee]{margin-top:8px}.hint-controls[data-v-2e41f7ee]{display:flex;justify-content:center}.hint-btn[data-v-2e41f7ee]{display:flex;align-items:center;gap:8px;background:var(--surface-light);border:1px dashed var(--border);border-radius:8px;padding:8px 16px;font-size:13px;color:var(--text-dim);cursor:pointer;transition:all .2s}.hint-btn[data-v-2e41f7ee]:hover:not(:disabled){border-color:var(--warning);color:var(--warning);border-style:solid}.hint-btn[data-v-2e41f7ee]:disabled{opacity:.4;cursor:default}.hint-icon[data-v-2e41f7ee]{font-size:14px}.hint-dots[data-v-2e41f7ee]{display:flex;gap:3px}.dot[data-v-2e41f7ee]{width:6px;height:6px;border-radius:50%;background:var(--border)}.dot.active[data-v-2e41f7ee]{background:var(--warning)}.hint-content[data-v-2e41f7ee]{margin-top:8px;border-radius:8px;padding:10px 12px;display:flex;gap:8px;align-items:flex-start}.hint-badge[data-v-2e41f7ee]{font-size:10px;font-weight:700;padding:2px 6px;border-radius:4px;white-space:nowrap;flex-shrink:0}.hint-text[data-v-2e41f7ee]{font-size:12px;line-height:1.6;color:var(--text)}.hint-idea[data-v-2e41f7ee]{background:#e67e2214;border:1px solid rgba(230,126,34,.2)}.hint-idea .hint-badge[data-v-2e41f7ee]{background:#e67e2226;color:var(--warning)}.hint-formula[data-v-2e41f7ee]{background:#3498db14;border:1px solid rgba(52,152,219,.2)}.hint-formula .hint-badge[data-v-2e41f7ee]{background:#3498db26;color:#3498db}.hint-answer[data-v-2e41f7ee]{background:#2ecc7114;border:1px solid rgba(46,204,113,.2)}.hint-answer .hint-badge[data-v-2e41f7ee]{background:#2ecc7126;color:var(--success)}.hint-answer .hint-text[data-v-2e41f7ee]{color:var(--text);font-weight:500}.hint-slide-enter-active[data-v-2e41f7ee],.hint-slide-leave-active[data-v-2e41f7ee]{transition:all .3s ease}.hint-slide-enter-from[data-v-2e41f7ee],.hint-slide-leave-to[data-v-2e41f7ee]{opacity:0;transform:translateY(-8px)}.stats-dashboard[data-v-ef4afea5]{background:#8080800f;border-radius:10px;overflow:hidden}.stats-header[data-v-ef4afea5]{display:flex;align-items:center;gap:8px;padding:12px;cursor:pointer;-webkit-user-select:none;user-select:none}.stats-header[data-v-ef4afea5]:hover{background:#80808014}.stats-icon[data-v-ef4afea5]{font-size:16px}.stats-title[data-v-ef4afea5]{flex:1;font-size:13px;font-weight:600;color:var(--text)}.stats-toggle[data-v-ef4afea5]{font-size:12px;color:var(--text-dim)}.stats-body[data-v-ef4afea5]{padding:0 12px 12px}.stats-section[data-v-ef4afea5]{margin-bottom:12px}.stats-section-title[data-v-ef4afea5]{font-size:11px;font-weight:700;color:var(--primary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px}.cat-bar-row[data-v-ef4afea5]{display:flex;align-items:center;gap:6px;margin-bottom:4px}.cat-bar-icon[data-v-ef4afea5]{font-size:12px;width:16px;text-align:center}.cat-bar-name[data-v-ef4afea5]{font-size:11px;color:var(--text-dim);width:52px}.cat-bar-track[data-v-ef4afea5]{flex:1;height:8px;background:#8080801f;border-radius:4px;overflow:hidden}.cat-bar-fill[data-v-ef4afea5]{height:100%;background:var(--primary);border-radius:4px;transition:width .5s ease}.cat-bar-fill.complete[data-v-ef4afea5]{background:var(--success)}.cat-bar-count[data-v-ef4afea5]{font-size:10px;color:var(--text-dim);width:30px;text-align:right}.stats-grid[data-v-ef4afea5]{display:grid;grid-template-columns:1fr 1fr 1fr 1fr;gap:8px}.stats-cell[data-v-ef4afea5]{display:flex;flex-direction:column;align-items:center;background:var(--surface-light);border-radius:8px;padding:8px 4px}.stats-cell-value[data-v-ef4afea5]{font-size:18px;font-weight:700;color:var(--text)}.stats-cell-value.text-danger[data-v-ef4afea5]{color:var(--danger)}.stats-cell-label[data-v-ef4afea5]{font-size:10px;color:var(--text-dim);margin-top:2px}.error-distribution[data-v-ef4afea5]{display:flex;flex-direction:column;gap:6px}.error-bar[data-v-ef4afea5]{display:flex;height:12px;border-radius:6px;overflow:hidden;background:var(--border)}.error-seg[data-v-ef4afea5]{transition:width .3s}.error-seg.critical[data-v-ef4afea5]{background:var(--danger)}.error-seg.warning[data-v-ef4afea5]{background:var(--warning)}.error-legend[data-v-ef4afea5]{display:flex;gap:12px}.legend-item[data-v-ef4afea5]{font-size:11px;color:var(--text-dim);display:flex;align-items:center;gap:4px}.legend-dot[data-v-ef4afea5]{width:8px;height:8px;border-radius:50%}.legend-dot.critical[data-v-ef4afea5]{background:var(--danger)}.legend-dot.warning[data-v-ef4afea5]{background:var(--warning)}.stats-actions[data-v-ef4afea5]{display:flex;gap:8px}.stats-btn[data-v-ef4afea5]{flex:1;background:var(--surface-light);border:1px solid var(--border);border-radius:8px;padding:8px;font-size:12px;color:var(--text-dim);cursor:pointer;transition:all .2s}.stats-btn[data-v-ef4afea5]:hover{border-color:var(--primary);color:var(--primary)}.stats-slide-enter-active[data-v-ef4afea5],.stats-slide-leave-active[data-v-ef4afea5]{transition:all .3s ease;max-height:600px}.stats-slide-enter-from[data-v-ef4afea5],.stats-slide-leave-to[data-v-ef4afea5]{opacity:0;max-height:0}.onboard-overlay[data-v-3cf68954]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;display:flex;align-items:center;justify-content:center;padding:20px}.onboard-card[data-v-3cf68954]{background:var(--popup-bg, #1a1a2e);border:1px solid var(--border);border-radius:16px;padding:28px 24px;max-width:380px;width:100%;text-align:center}.onboard-step-indicator[data-v-3cf68954]{display:flex;justify-content:center;gap:8px;margin-bottom:20px}.step-dot[data-v-3cf68954]{width:8px;height:8px;border-radius:50%;background:var(--border);transition:all .3s}.step-dot.active[data-v-3cf68954]{background:var(--primary)}.step-dot.current[data-v-3cf68954]{width:24px;border-radius:4px}.onboard-emoji[data-v-3cf68954]{font-size:48px;margin-bottom:12px}.onboard-title[data-v-3cf68954]{font-size:20px;font-weight:700;color:var(--text);margin-bottom:8px}.onboard-desc[data-v-3cf68954]{font-size:14px;color:var(--text-dim);line-height:1.6;margin-bottom:16px}.onboard-tips[data-v-3cf68954]{text-align:left;background:#8080800f;border-radius:8px;padding:10px 12px;margin-bottom:16px}.onboard-tip[data-v-3cf68954]{font-size:12px;color:var(--text);padding:3px 0}.onboard-shortcuts[data-v-3cf68954]{text-align:left;margin-bottom:16px}.shortcut-row[data-v-3cf68954]{font-size:13px;color:var(--text);padding:6px 0;display:flex;align-items:center;gap:8px}kbd[data-v-3cf68954]{background:var(--surface-light);border:1px solid var(--border);border-radius:4px;padding:2px 8px;font-size:11px;font-family:monospace;color:var(--text)}.onboard-actions[data-v-3cf68954]{display:flex;gap:8px;justify-content:center;flex-wrap:wrap}.onboard-btn[data-v-3cf68954]{border-radius:8px;padding:10px 18px;font-size:14px;cursor:pointer;border:1px solid var(--border);transition:all .2s}.onboard-btn.secondary[data-v-3cf68954]{background:transparent;color:var(--text-dim)}.onboard-btn.skip[data-v-3cf68954]{background:transparent;color:var(--text-dim);border:none}.onboard-btn.primary[data-v-3cf68954]{background:var(--primary);color:#fff;border-color:var(--primary);font-weight:600}.onboard-btn.primary[data-v-3cf68954]:hover{opacity:.9}.onboard-enter-active[data-v-3cf68954],.onboard-leave-active[data-v-3cf68954]{transition:opacity .4s}.onboard-enter-from[data-v-3cf68954],.onboard-leave-to[data-v-3cf68954]{opacity:0}.share-card-overlay[data-v-5232cd25]{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:300;padding:16px}.share-card-modal[data-v-5232cd25]{background:var(--surface);border-radius:16px;padding:20px;max-width:100%;max-height:90vh;overflow-y:auto;position:relative}.sc-close[data-v-5232cd25]{position:absolute;top:12px;right:12px;background:var(--surface-light);border:1px solid var(--border);border-radius:50%;width:30px;height:30px;cursor:pointer;color:var(--text);font-size:14px;display:flex;align-items:center;justify-content:center}.sc-title[data-v-5232cd25]{font-size:16px;color:var(--text);margin-bottom:12px;text-align:center}.sc-canvas[data-v-5232cd25]{width:100%;max-width:400px;display:block;margin:0 auto;border-radius:12px}.sc-actions[data-v-5232cd25]{display:flex;gap:8px;margin-top:14px;justify-content:center;flex-wrap:wrap}.sc-btn[data-v-5232cd25]{padding:10px 20px;border-radius:10px;font-size:14px;cursor:pointer;border:none;transition:all .2s}.sc-download[data-v-5232cd25]{background:var(--primary);color:#fff}.sc-download[data-v-5232cd25]:hover{background:var(--primary-dark)}.sc-copy[data-v-5232cd25]{background:var(--surface-light);border:1px solid var(--border);color:var(--text)}.sc-copy[data-v-5232cd25]:hover{border-color:var(--primary);color:var(--primary)}.sc-tip[data-v-5232cd25]{font-size:12px;color:var(--text-dim);text-align:center;margin-top:10px}.lp-overlay[data-v-01a0cf41]{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:300;padding:16px}.lp-modal[data-v-01a0cf41]{background:var(--surface);border-radius:16px;padding:20px;max-width:480px;width:100%;max-height:85vh;overflow-y:auto;position:relative}.lp-close[data-v-01a0cf41]{position:absolute;top:12px;right:12px;background:var(--surface-light);border:1px solid var(--border);border-radius:50%;width:30px;height:30px;cursor:pointer;color:var(--text);font-size:14px;display:flex;align-items:center;justify-content:center}.lp-title[data-v-01a0cf41]{font-size:18px;color:var(--text);text-align:center;margin-bottom:4px}.lp-subtitle[data-v-01a0cf41]{font-size:13px;color:var(--text-dim);text-align:center;margin-bottom:16px}.lp-overview[data-v-01a0cf41]{display:flex;justify-content:space-around;margin-bottom:8px}.lp-stat[data-v-01a0cf41]{display:flex;flex-direction:column;align-items:center;gap:2px}.lp-stat-val[data-v-01a0cf41]{font-size:22px;font-weight:800;color:var(--primary);font-family:monospace}.lp-stat-label[data-v-01a0cf41]{font-size:11px;color:var(--text-dim)}.lp-progress-bar[data-v-01a0cf41]{height:8px;background:var(--bg);border-radius:4px;overflow:hidden;margin-bottom:16px}.lp-progress-fill[data-v-01a0cf41]{height:100%;background:linear-gradient(90deg,var(--primary),var(--success));transition:width .4s;border-radius:4px}.lp-steps[data-v-01a0cf41]{display:flex;flex-direction:column;gap:2px}.lp-step[data-v-01a0cf41]{display:flex;align-items:flex-start;gap:12px;position:relative;padding-bottom:4px}.lp-connector[data-v-01a0cf41]{position:absolute;left:15px;top:32px;width:2px;height:calc(100% - 12px);background:var(--border)}.lp-connector-done[data-v-01a0cf41]{background:var(--success)}.lp-step-indicator[data-v-01a0cf41]{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;flex-shrink:0;z-index:1;background:var(--surface-light);border:2px solid var(--border);color:var(--text-dim)}.lp-step-done .lp-step-indicator[data-v-01a0cf41]{background:var(--success);border-color:var(--success);color:#fff}.lp-step-current .lp-step-indicator[data-v-01a0cf41]{background:var(--primary);border-color:var(--primary);color:#fff}.lp-check[data-v-01a0cf41]{font-size:16px}.lp-current-dot[data-v-01a0cf41]{font-size:18px}.lp-step-num[data-v-01a0cf41]{font-size:13px}.lp-step-body[data-v-01a0cf41]{flex:1;cursor:pointer;padding:6px 0;border-radius:8px;transition:background .2s}.lp-step-body[data-v-01a0cf41]:hover{background:var(--surface-light);padding:6px 8px}.lp-step-header[data-v-01a0cf41]{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.lp-step-icon[data-v-01a0cf41]{font-size:18px}.lp-step-name[data-v-01a0cf41]{font-size:14px;font-weight:600;color:var(--text)}.lp-step-phase[data-v-01a0cf41]{font-size:10px;padding:1px 6px;border-radius:8px;background:var(--surface-light);color:var(--text-dim)}.lp-step-desc[data-v-01a0cf41]{font-size:12px;color:var(--text-dim);margin-top:2px;line-height:1.4}.lp-prereq[data-v-01a0cf41]{font-size:11px;margin-top:4px;display:flex;align-items:center;gap:4px}.lp-prereq-label[data-v-01a0cf41]{color:var(--text-dim)}.lp-prereq-name[data-v-01a0cf41]{color:var(--text)}.lp-prereq-done[data-v-01a0cf41]{color:var(--success)}.lp-prereq-undone[data-v-01a0cf41]{color:var(--warning)}.lp-step-locked .lp-step-body[data-v-01a0cf41]{opacity:.5}.lp-cta[data-v-01a0cf41]{width:100%;margin-top:16px;padding:12px;border-radius:10px;background:linear-gradient(135deg,var(--primary),var(--primary-dark));color:#fff;font-size:14px;font-weight:600;border:none;cursor:pointer;transition:transform .2s}.lp-cta[data-v-01a0cf41]:hover{transform:translateY(-1px)}.note-section[data-v-3e10ba7a]{margin-top:4px}.note-toggle[data-v-3e10ba7a]{width:100%;display:flex;align-items:center;gap:6px;padding:8px 12px;background:var(--surface-light);border:1px solid var(--border);border-radius:8px;color:var(--text);font-size:13px;cursor:pointer;transition:all .2s}.note-toggle[data-v-3e10ba7a]:hover{border-color:var(--primary)}.note-badge[data-v-3e10ba7a]{background:var(--primary);color:#fff;font-size:10px;padding:1px 6px;border-radius:8px;font-weight:700}.note-chevron[data-v-3e10ba7a]{margin-left:auto;color:var(--text-dim);font-size:12px}.note-body[data-v-3e10ba7a]{margin-top:8px}.note-textarea[data-v-3e10ba7a]{width:100%;min-height:80px;padding:10px;background:var(--bg);border:1px solid var(--border);border-radius:8px;color:var(--text);font-size:13px;font-family:-apple-system,monospace;line-height:1.5;resize:vertical;outline:none;transition:border-color .2s}.note-textarea[data-v-3e10ba7a]:focus{border-color:var(--primary)}.note-textarea[data-v-3e10ba7a]::placeholder{color:var(--text-dim);opacity:.5}.note-footer[data-v-3e10ba7a]{display:flex;justify-content:space-between;align-items:center;margin-top:6px}.note-status[data-v-3e10ba7a]{font-size:11px;color:var(--text-dim)}.note-saved[data-v-3e10ba7a]{color:var(--success)}.note-clear[data-v-3e10ba7a]{background:none;border:none;color:var(--danger);font-size:11px;cursor:pointer;padding:2px 6px}.note-clear[data-v-3e10ba7a]:hover{text-decoration:underline}.note-expand-enter-active[data-v-3e10ba7a],.note-expand-leave-active[data-v-3e10ba7a]{transition:all .3s ease;overflow:hidden}.note-expand-enter-from[data-v-3e10ba7a],.note-expand-leave-to[data-v-3e10ba7a]{opacity:0;max-height:0}:root{--bg: #0f0f1e;--surface: #1a1a2e;--surface-light: #252539;--surface-hover: #2a2a3e;--primary: #3498db;--primary-dark: #2980b9;--success: #2ecc71;--danger: #e74c3c;--warning: #f39c12;--text: #e0e0e0;--text-dim: #888;--border: #333;--canvas-bg: #1a1a2e;--wave-bg: #0d0d1a;--wave-grid: rgba(255,255,255,.05);--wave-axis: rgba(255,255,255,.1);--wave-label: #666;--btn-bg: #2a2a3e;--btn-text: #aaa;--popup-bg: #1e1e30;--popup-text: #ddd;--popup-code-bg: rgba(0,0,0,.3);--radius: 12px}[data-theme=light]{--bg: #f5f5f0;--surface: #ffffff;--surface-light: #eaeae4;--surface-hover: #e0e0d8;--primary: #2980b9;--primary-dark: #1a6fa0;--success: #27ae60;--danger: #c0392b;--warning: #e67e22;--text: #2c2c2c;--text-dim: #777;--border: #d0d0c8;--canvas-bg: #f8f8f3;--wave-bg: #f0f0eb;--wave-grid: rgba(0,0,0,.05);--wave-axis: rgba(0,0,0,.1);--wave-label: #999;--btn-bg: #e8e8e0;--btn-text: #555;--popup-bg: #ffffff;--popup-text: #333;--popup-code-bg: rgba(0,0,0,.05)}body{background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;-webkit-font-smoothing:antialiased;transition:background .3s,color .3s}.app{max-width:600px;margin:0 auto;min-height:100vh;padding:16px}.app.embed-mode{padding:8px}.app-header{text-align:center;margin-bottom:16px}.header-row{display:flex;align-items:center;justify-content:center;gap:12px}.header-controls{display:flex;gap:4px}.icon-btn{background:var(--surface-light);border:1px solid var(--border);border-radius:8px;width:34px;height:34px;font-size:16px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.icon-btn:hover{background:var(--surface-hover);border-color:var(--primary)}.app-header h1{font-size:20px;color:var(--text);margin-bottom:4px}.app-subtitle{font-size:13px;color:var(--text-dim)}.search-bar{display:flex;align-items:center;gap:8px;margin-top:10px;background:var(--surface-light);border:1px solid var(--border);border-radius:10px;padding:8px 12px;transition:border-color .2s}.search-bar:focus-within{border-color:var(--primary)}.search-icon{font-size:14px;opacity:.6}.search-input{flex:1;border:none;background:transparent;color:var(--text);font-size:14px;outline:none}.search-input::placeholder{color:var(--text-dim);opacity:.6}.search-clear{background:none;border:none;color:var(--text-dim);cursor:pointer;font-size:14px;padding:2px 4px}.random-btn{background:none;border:none;font-size:16px;cursor:pointer;padding:2px 4px;transition:transform .2s}.random-btn:hover{transform:rotate(180deg)}.settings-panel{margin-top:10px;background:var(--surface-light);border:1px solid var(--border);border-radius:10px;padding:12px;display:flex;flex-direction:column;gap:8px}.settings-item{display:flex;justify-content:space-between;align-items:center;font-size:13px}.settings-label{color:var(--text-dim)}.settings-value{color:var(--text);font-weight:600}.reset-btn{margin-top:4px;background:#c0392b1a;border:1px solid rgba(192,57,43,.3);color:var(--danger);border-radius:8px;padding:8px 12px;font-size:13px;cursor:pointer;transition:all .2s}.reset-btn:hover{background:#c0392b33}.settings-slide-enter-active,.settings-slide-leave-active{transition:all .3s ease;overflow:hidden}.settings-slide-enter-from,.settings-slide-leave-to{opacity:0;max-height:0;margin-top:0}.search-results{margin-top:4px}.search-empty{text-align:center;color:var(--text-dim);padding:32px;font-size:14px}.exp-card{display:flex;align-items:center;gap:12px;background:var(--surface-light);border:1px solid var(--border);border-radius:10px;padding:12px;cursor:pointer;transition:all .2s}.exp-card:hover{border-color:var(--primary);transform:translateY(-1px)}.exp-card-info{flex:1;display:flex;flex-direction:column;gap:2px}.exp-card-done{color:var(--success);font-size:18px;font-weight:700}.share-btn{background:var(--surface-light);border:1px solid var(--border);border-radius:6px;padding:4px 10px;font-size:12px;cursor:pointer;color:var(--text-dim);transition:all .2s}.share-btn:hover{border-color:var(--primary);color:var(--primary)}.challenge-toggle.active{background:linear-gradient(135deg,#e74c3c,#f39c12);color:#fff;border-color:transparent}.fav-toggle.is-fav{color:var(--warning);border-color:var(--warning)}.quick-row{margin-top:4px}.quick-label{font-size:12px;font-weight:600;color:var(--text-dim);margin-bottom:6px}.quick-chips{display:flex;gap:8px;overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:4px}.quick-chip{display:flex;align-items:center;gap:4px;background:var(--surface-light);border:1px solid var(--border);border-radius:20px;padding:6px 12px;font-size:12px;color:var(--text);cursor:pointer;white-space:nowrap;transition:all .2s;flex-shrink:0}.quick-chip:hover{border-color:var(--primary);transform:translateY(-1px)}.fav-chip{border-color:#e67e224d}.fav-chip:hover{border-color:var(--warning)}.home-view{display:flex;flex-direction:column;gap:12px;margin-bottom:16px}.progress-panel{background:var(--surface-light);border-radius:var(--radius);padding:14px;display:flex;flex-direction:column;gap:10px}.progress-stats{display:flex;justify-content:space-around}.progress-stat{display:flex;flex-direction:column;align-items:center;gap:2px}.ps-value{font-size:20px;font-weight:800;color:var(--primary);font-family:monospace}.ps-label{font-size:11px;color:var(--text-dim)}.progress-bar-wrap{position:relative;height:22px;background:var(--bg);border-radius:11px;overflow:hidden}.progress-bar-fill{position:absolute;height:100%;background:linear-gradient(90deg,var(--primary),var(--success));transition:width .4s;border-radius:11px}.progress-bar-text{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:11px;font-weight:700;color:var(--text)}.achievement-row{display:flex;flex-wrap:wrap;gap:6px}.achievement-badge{font-size:11px;padding:3px 8px;border-radius:12px;background:#f39c1226;color:var(--warning);white-space:nowrap}.path-btn{width:100%;padding:10px 14px;background:linear-gradient(135deg,#3498db26,#2ecc7126);border:1px solid rgba(52,152,219,.3);border-radius:10px;color:var(--primary);font-size:13px;font-weight:600;cursor:pointer;transition:all .2s}.path-btn:hover{border-color:var(--primary);background:linear-gradient(135deg,#3498db40,#2ecc7140);transform:translateY(-1px)}.difficulty-filter{display:flex;gap:6px;margin-bottom:12px;flex-wrap:wrap}.diff-tab{padding:5px 14px;border:1px solid var(--border);border-radius:20px;background:var(--surface-light);color:var(--text-secondary);font-size:13px;cursor:pointer;transition:all .2s}.diff-tab:hover{border-color:var(--primary)}.diff-tab.active{background:var(--primary);color:#fff;border-color:var(--primary)}.diff-badge{position:absolute;top:4px;right:6px;font-size:10px;padding:1px 6px;border-radius:8px;font-weight:700}.diff-badge.beginner{background:#2ecc7133;color:#2ecc71}.diff-badge.intermediate{background:#f1c40f33;color:#f1c40f}.diff-badge.advanced{background:#e74c3c33;color:#e74c3c}.exp-by-diff{position:relative}.category-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:0}.category-card{display:flex;flex-direction:column;align-items:center;gap:4px;padding:16px 8px;border-radius:var(--radius);cursor:pointer;transition:all .2s;position:relative}.cat-progress{font-size:10px;color:var(--success);margin-top:2px}.category-card.cat-available{background:var(--surface);border:1px solid var(--border)}.category-card.cat-available:hover{background:var(--surface-light);border-color:var(--primary);transform:translateY(-2px)}.category-card.cat-soon{background:var(--surface);border:1px dashed var(--border);opacity:.4;cursor:not-allowed}.cat-icon{font-size:24px}.cat-name{font-size:13px;font-weight:600;color:var(--text)}.cat-count{font-size:11px;color:var(--text-dim)}.cat-soon .cat-count{color:var(--warning)}.experiment-list h2{font-size:18px;margin-bottom:12px}.exp-cards{display:flex;flex-direction:column;gap:8px}.exp-card{display:flex;align-items:center;gap:12px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:14px;cursor:pointer;transition:all .2s}.exp-card:hover{background:var(--surface-light);border-color:var(--primary)}.exp-card-icon{font-size:24px}.exp-card-info{display:flex;flex-direction:column;gap:2px;flex:1}.exp-card-title{font-size:14px;font-weight:600;color:var(--text)}.exp-card-desc{font-size:12px;color:var(--text-dim)}.exp-card-done{color:var(--success);font-size:16px}.back-btn{background:none;border:none;color:var(--primary);font-size:14px;cursor:pointer;padding:4px 0;margin-bottom:8px}.experiment-area{background:var(--surface);border-radius:var(--radius);padding:16px;margin-bottom:16px}.experiment-header{margin-bottom:16px}.experiment-title{font-size:18px;color:var(--text);margin-bottom:4px}.experiment-desc{font-size:13px;color:var(--text-dim);margin-bottom:8px}.experiment-meta{display:flex;gap:6px}.meta-tag{background:var(--surface-light);border-radius:4px;padding:2px 8px;font-size:11px;color:var(--text-dim)}.experiment-content{display:flex;flex-direction:column;gap:12px}.gpio-layout .gpio-display{display:flex;flex-direction:column;gap:8px}.pwm-layout{gap:12px}.pwm-load-display{background:#8080800d;border-radius:8px;padding:12px}.status-bar{background:var(--surface-light);border-radius:8px;padding:10px 12px;text-align:center}.status-text{font-size:13px;font-family:monospace}.status-ok{color:var(--success)}.status-error{color:var(--danger)}.success-toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%);background:linear-gradient(135deg,var(--success),#27ae60);color:#fff;border-radius:12px;padding:12px 24px;font-size:14px;box-shadow:0 4px 20px #2ecc714d;z-index:200}.toast-enter-active,.toast-leave-active{transition:all .3s}.toast-enter-from,.toast-leave-to{opacity:0;transform:translate(-50%) translateY(20px)}@media (max-width: 600px){.app{padding:8px;max-width:100%}.app.embed-mode{padding:4px}.icon-btn{width:40px;height:40px;font-size:18px}.share-btn,.back-btn{min-height:40px;padding:8px 14px;font-size:14px}.category-card{min-height:88px;padding:10px 6px}.cat-icon{font-size:28px}.cat-name{font-size:13px}.cat-count{font-size:11px}.experiment-title{font-size:18px}.experiment-desc{font-size:13px}.experiment-content{gap:8px}.status-bar{font-size:13px}}*{-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none}button,.clickable{touch-action:manipulation;user-select:none;-webkit-user-select:none}.experiment-content{-webkit-overflow-scrolling:touch;scroll-behavior:smooth}@supports (padding: env(safe-area-inset-bottom)){.app{padding-bottom:calc(8px + env(safe-area-inset-bottom))}}*{margin:0;padding:0;box-sizing:border-box}:root,[data-theme=dark]{--bg: #0f0f1e;--surface: #1a1a2e;--surface-light: #252539;--surface-hover: #2a2a3e;--primary: #3498db;--primary-dark: #2980b9;--success: #2ecc71;--danger: #e74c3c;--warning: #f39c12;--text: #e0e0e0;--text-dim: #888;--border: #333;--canvas-bg: #1a1a2e;--wave-bg: #0d0d1a;--wave-grid: rgba(255,255,255,.05);--wave-axis: rgba(255,255,255,.1);--wave-label: #666;--btn-bg: #2a2a3e;--btn-text: #aaa;--popup-bg: #1e1e30;--popup-text: #ddd;--popup-code-bg: rgba(0,0,0,.3);--radius: 12px}[data-theme=light]{--bg: #f5f5f0;--surface: #ffffff;--surface-light: #eaeae4;--surface-hover: #e0e0d8;--primary: #2980b9;--primary-dark: #1a6fa0;--success: #27ae60;--danger: #c0392b;--warning: #e67e22;--text: #2c2c2c;--text-dim: #777;--border: #d0d0c8;--canvas-bg: #f8f8f3;--wave-bg: #f0f0eb;--wave-grid: rgba(0,0,0,.05);--wave-axis: rgba(0,0,0,.1);--wave-label: #999;--btn-bg: #e8e8e0;--btn-text: #555;--popup-bg: #ffffff;--popup-text: #333;--popup-code-bg: rgba(0,0,0,.05);--radius: 12px}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;transition:background .3s,color .3s}
