:root{--vt-c-white: #ffffff;--vt-c-white-soft: #f9fafb;--vt-c-white-mute: #f3f4f6;--vt-c-black: #111827;--vt-c-black-soft: #1f2937;--vt-c-black-mute: #374151;--vt-c-divider-light-1: rgba(60, 60, 60, .15);--vt-c-divider-light-2: rgba(60, 60, 60, .08);--vt-c-divider-dark-1: rgba(84, 84, 84, .65);--vt-c-divider-dark-2: rgba(84, 84, 84, .48);--vt-c-text-light-1: #111827;--vt-c-text-light-2: rgba(60, 60, 60, .66);--vt-c-text-dark-1: #f9fafb;--vt-c-text-dark-2: rgba(235, 235, 235, .64);--color-primary: #2563eb;--color-primary-hover: #1d4ed8;--color-success: #16a34a;--color-error: #dc2626;--color-warning: #f59e0b}:root{--color-background: var(--vt-c-white);--color-background-soft: var(--vt-c-white-soft);--color-background-mute: var(--vt-c-white-mute);--color-border: var(--vt-c-divider-light-2);--color-border-hover: var(--vt-c-divider-light-1);--color-heading: var(--vt-c-text-light-1);--color-text: var(--vt-c-text-light-1)}@media(prefers-color-scheme:dark){:root{--color-background: var(--vt-c-black);--color-background-soft: var(--vt-c-black-soft);--color-background-mute: var(--vt-c-black-mute);--color-border: var(--vt-c-divider-dark-2);--color-border-hover: var(--vt-c-divider-dark-1);--color-heading: var(--vt-c-text-dark-1);--color-text: var(--vt-c-text-dark-2)}}*,*:before,*:after{box-sizing:border-box;margin:0}body{min-height:100vh;color:var(--color-text);background:var(--color-background);transition:color .5s,background-color .5s;line-height:1.6;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,"Apple Color Emoji","Segoe UI Emoji";font-size:15px;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#app{min-height:100vh}.btn-primary{padding:10px 24px;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;background:var(--color-primary);color:#fff;transition:background .2s}.btn-primary:hover:not(:disabled){background:var(--color-primary-hover)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{padding:10px 24px;border:1px solid var(--color-border);border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;background:var(--color-background);color:var(--color-text);transition:all .2s}.btn-secondary:hover:not(:disabled){border-color:var(--color-border-hover);background:var(--color-background-mute)}.btn-secondary:disabled{opacity:.5;cursor:not-allowed}.browser-warning[data-v-34a10424]{background:#fef3cd;border:1px solid #ffc107;border-radius:8px;padding:12px 20px;margin-bottom:24px}.warning-content[data-v-34a10424]{display:flex;align-items:center;gap:10px;color:#856404;font-size:14px}.warning-icon[data-v-34a10424]{font-size:20px;flex-shrink:0}.warning-content a[data-v-34a10424]{color:#0d6efd;text-decoration:underline}.step-indicator[data-v-b04cc9af]{display:flex;align-items:center;justify-content:center;margin:32px 0}.step[data-v-b04cc9af]{display:flex;flex-direction:column;align-items:center;gap:8px;min-width:80px}.step-circle[data-v-b04cc9af]{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:600;border:2px solid #d0d5dd;background:#fff;color:#667085;transition:all .3s}.step.active .step-circle[data-v-b04cc9af]{border-color:#2563eb;background:#2563eb;color:#fff}.step.completed .step-circle[data-v-b04cc9af]{border-color:#16a34a;background:#16a34a;color:#fff}.step-label[data-v-b04cc9af]{font-size:13px;color:#667085;white-space:nowrap}.step.active .step-label[data-v-b04cc9af]{color:#2563eb;font-weight:600}.step.completed .step-label[data-v-b04cc9af]{color:#16a34a}.step-line[data-v-b04cc9af]{flex:1;height:2px;background:#d0d5dd;min-width:40px;max-width:100px;margin-bottom:28px;transition:background .3s}.step-line.filled[data-v-b04cc9af]{background:#16a34a}.selector-section[data-v-0611e362]{display:flex;flex-direction:column;gap:24px}.form-group[data-v-0611e362]{display:flex;flex-direction:column;gap:10px}.form-label[data-v-0611e362]{font-size:15px;font-weight:600;color:var(--color-heading)}.form-select[data-v-0611e362]{width:100%;padding:12px 14px;font-size:14px;color:var(--color-text);background:var(--color-background-soft);border:1px solid var(--color-border);border-radius:8px;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%239ca3af' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;cursor:pointer;transition:border-color .2s}.form-select[data-v-0611e362]:hover{border-color:var(--color-border-hover)}.form-select[data-v-0611e362]:focus{outline:none;border-color:var(--color-primary)}.form-select[data-v-0611e362]:disabled{opacity:.5;cursor:not-allowed}.form-actions[data-v-0611e362]{display:flex;justify-content:flex-end;padding-top:8px}.form-actions .btn-primary[data-v-0611e362]{min-width:140px}.connector-section[data-v-c01f798f]{display:flex;flex-direction:column;gap:24px}.instruction p[data-v-c01f798f]{font-size:14px;color:var(--color-text);line-height:1.8}.tips-box[data-v-c01f798f]{margin-top:12px;padding:14px 16px;background:#f0f7ff;border:1px solid #bfdbfe;border-radius:8px}.tips-title[data-v-c01f798f]{font-size:14px;font-weight:600;color:#1e40af;margin-bottom:8px}.tips-list[data-v-c01f798f]{margin:0;padding-left:18px;font-size:13px;color:#334155;line-height:2}.backpack-hint[data-v-c01f798f]{margin-top:10px;padding:10px 14px;background:#fffbeb;border:1px solid #fde68a;border-radius:6px;font-size:13px;color:#92400e;line-height:1.8}.connection-status[data-v-c01f798f]{padding:20px;border:1px solid var(--color-border);border-radius:8px;display:flex;flex-direction:column;gap:10px}.status-indicator[data-v-c01f798f]{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:600}.status-dot[data-v-c01f798f]{width:10px;height:10px;border-radius:50%}.status-indicator.connected .status-dot[data-v-c01f798f]{background:#16a34a;box-shadow:0 0 6px #16a34a80}.status-indicator.connected[data-v-c01f798f]{color:#16a34a}.status-indicator.connecting .status-dot[data-v-c01f798f]{background:#f59e0b;animation:pulse-c01f798f 1s infinite}.status-indicator.connecting[data-v-c01f798f]{color:#f59e0b}.status-indicator.disconnected .status-dot[data-v-c01f798f]{background:#d0d5dd}.status-indicator.disconnected[data-v-c01f798f]{color:#667085}@keyframes pulse-c01f798f{0%,to{opacity:1}50%{opacity:.4}}.chip-info[data-v-c01f798f]{font-size:14px;color:var(--color-text)}.warning-text[data-v-c01f798f]{color:#f59e0b;font-size:14px}.error-text[data-v-c01f798f]{color:#dc2626;font-size:14px}.button-row[data-v-c01f798f]{display:flex;justify-content:space-between;align-items:center}.button-right[data-v-c01f798f]{display:flex;gap:10px}.btn-danger[data-v-c01f798f]{padding:10px 24px;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;background:#dc2626;color:#fff;transition:background .2s}.btn-danger[data-v-c01f798f]:hover{background:#b91c1c}.flash-section[data-v-031b080b]{display:flex;flex-direction:column;gap:24px}.flash-summary h3[data-v-031b080b]{font-size:16px;font-weight:600;margin-bottom:8px;color:var(--color-heading)}.firmware-name[data-v-031b080b]{font-size:15px;font-weight:700;color:#2563eb;margin-bottom:12px;word-break:break-all}.summary-table[data-v-031b080b]{width:100%;border-collapse:collapse}.summary-table td[data-v-031b080b]{padding:8px 12px;border-bottom:1px solid var(--color-border);font-size:14px}.summary-table td[data-v-031b080b]:first-child{color:#667085;width:100px}.erase-option[data-v-031b080b]{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--color-text);cursor:pointer;-webkit-user-select:none;user-select:none}.erase-option input[type=checkbox][data-v-031b080b]{width:16px;height:16px;accent-color:#2563eb;cursor:pointer}.erase-option.disabled[data-v-031b080b]{opacity:.5;cursor:not-allowed}.tips-box[data-v-031b080b]{padding:14px 16px;background:#f0f7ff;border:1px solid #bfdbfe;border-radius:8px}.tips-title[data-v-031b080b]{font-size:14px;font-weight:600;color:#1e40af;margin-bottom:8px}.tips-list[data-v-031b080b]{margin:0;padding-left:18px;font-size:13px;color:#334155;line-height:2}.warning-box[data-v-031b080b]{padding:12px 16px;background:#fffbeb;border:1px solid #fde68a;border-radius:8px;font-size:14px;font-weight:600;color:#92400e;text-align:center}.success-box[data-v-031b080b]{padding:14px 16px;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:8px}.success-title[data-v-031b080b]{font-size:14px;font-weight:600;color:#166534;margin-bottom:8px}.success-box .tips-list[data-v-031b080b]{color:#166534}.progress-section[data-v-031b080b]{display:flex;flex-direction:column;gap:10px}.progress-bar[data-v-031b080b]{width:100%;height:12px;background:#e5e7eb;border-radius:6px;overflow:hidden}.progress-fill[data-v-031b080b]{height:100%;background:linear-gradient(90deg,#2563eb,#3b82f6);border-radius:6px;transition:width .3s ease}.progress-info[data-v-031b080b]{display:flex;justify-content:space-between;align-items:center}.progress-text[data-v-031b080b]{font-size:14px;font-weight:600;color:#2563eb}.progress-text.success[data-v-031b080b]{color:#16a34a}.file-info[data-v-031b080b]{font-size:13px;color:#667085}.error-box[data-v-031b080b]{padding:12px 16px;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#dc2626;font-size:14px}.button-row[data-v-031b080b]{display:flex;justify-content:space-between;align-items:center}.button-right[data-v-031b080b]{display:flex;gap:10px}.btn-warning[data-v-031b080b]{padding:10px 24px;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;background:#f59e0b;color:#fff;transition:background .2s}.btn-warning[data-v-031b080b]:hover{background:#d97706}.terminal[data-v-a52480b2]{border:1px solid #333;border-radius:8px;overflow:hidden;margin-top:24px}.terminal-header[data-v-a52480b2]{display:flex;justify-content:space-between;align-items:center;padding:10px 16px;background:#1e1e1e;cursor:pointer;-webkit-user-select:none;user-select:none}.terminal-title[data-v-a52480b2]{font-size:13px;font-weight:600;color:#a0a0a0}.terminal-actions[data-v-a52480b2]{display:flex;align-items:center;gap:12px}.terminal-btn[data-v-a52480b2]{background:none;border:1px solid #555;color:#a0a0a0;padding:2px 10px;border-radius:4px;font-size:12px;cursor:pointer}.terminal-btn[data-v-a52480b2]:hover{background:#333;color:#fff}.toggle-icon[data-v-a52480b2]{color:#a0a0a0;font-size:12px}.terminal-body[data-v-a52480b2]{background:#0d1117;padding:12px 16px;max-height:220px;overflow-y:auto;font-family:Menlo,Monaco,Courier New,monospace;font-size:12px;line-height:1.6}.terminal-line[data-v-a52480b2]{white-space:pre-wrap;word-break:break-all}.line-info[data-v-a52480b2]{color:#c9d1d9}.line-success[data-v-a52480b2]{color:#3fb950}.line-error[data-v-a52480b2]{color:#f85149}.line-warning[data-v-a52480b2]{color:#d29922}.terminal-empty[data-v-a52480b2]{color:#484f58;font-style:italic}.app-container[data-v-41fdcc4a]{max-width:720px;margin:0 auto;padding:32px 20px;min-height:100vh;display:flex;flex-direction:column}.app-header[data-v-41fdcc4a]{text-align:center;margin-bottom:8px}.app-title[data-v-41fdcc4a]{font-size:28px;font-weight:700;color:var(--color-heading);margin:0}.app-subtitle[data-v-41fdcc4a]{font-size:14px;color:#667085;margin-top:6px}.content-card[data-v-41fdcc4a]{background:var(--color-background-soft);border:1px solid var(--color-border);border-radius:12px;padding:28px}.app-footer[data-v-41fdcc4a]{text-align:center;margin-top:auto;padding-top:32px;font-size:12px;color:#98a2b3}.tutorial-btn[data-v-41fdcc4a]{position:fixed;bottom:24px;right:24px;width:44px;height:44px;border-radius:50%;border:none;background:var(--color-primary);color:#fff;font-size:20px;font-weight:700;cursor:pointer;box-shadow:0 2px 12px #2563eb4d;transition:background .2s,transform .2s;z-index:100}.tutorial-btn[data-v-41fdcc4a]:hover{background:var(--color-primary-hover);transform:scale(1.05)}.tutorial-popup[data-v-41fdcc4a]{position:fixed;bottom:80px;right:24px;width:300px;background:var(--color-background);border:1px solid var(--color-border);border-radius:12px;box-shadow:0 8px 24px #0000001f;z-index:100;overflow:hidden}.tutorial-header[data-v-41fdcc4a]{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;border-bottom:1px solid var(--color-border)}.tutorial-title[data-v-41fdcc4a]{font-size:15px;font-weight:600;color:var(--color-heading)}.tutorial-close[data-v-41fdcc4a]{background:none;border:none;font-size:20px;color:#98a2b3;cursor:pointer;line-height:1;padding:0 2px}.tutorial-close[data-v-41fdcc4a]:hover{color:var(--color-heading)}.tutorial-body[data-v-41fdcc4a]{padding:16px}.tutorial-body p[data-v-41fdcc4a]{font-size:14px;color:var(--color-text);margin-bottom:14px;line-height:1.6}.tutorial-link[data-v-41fdcc4a]{display:inline-block;padding:8px 16px;background:var(--color-primary);color:#fff;border-radius:6px;font-size:14px;font-weight:500;text-decoration:none;transition:background .2s}.tutorial-link[data-v-41fdcc4a]:hover{background:var(--color-primary-hover)}.popup-enter-active[data-v-41fdcc4a],.popup-leave-active[data-v-41fdcc4a]{transition:opacity .2s,transform .2s}.popup-enter-from[data-v-41fdcc4a],.popup-leave-to[data-v-41fdcc4a]{opacity:0;transform:translateY(8px)}
