.hp-select[data-v-24e2dcd6]{align-items:center;display:inline-flex}.hp-select[data-v-24e2dcd6]:focus{outline:none}.hp-select-trigger[data-v-24e2dcd6]{text-align:left;cursor:pointer;background-image:none;justify-content:space-between;align-items:center;gap:6px;min-width:78px;padding-right:8px;display:inline-flex}.hp-select-trigger[data-v-24e2dcd6]:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.hp-select-trigger[data-v-24e2dcd6]:disabled{opacity:.5;cursor:not-allowed}.hp-select-value[data-v-24e2dcd6]{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.hp-select-caret[data-v-24e2dcd6]{color:var(--text-mute);transition:transform var(--dur-base,.14s) var(--ease-out,ease);font-size:10px}.hp-select-trigger[data-state=open] .hp-select-caret[data-v-24e2dcd6]{transform:rotate(180deg)}.hp-select-item[data-v-24e2dcd6]{color:var(--text);cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap;border-radius:7px;justify-content:space-between;align-items:center;gap:8px;padding:6px 9px;font-size:11.5px;display:flex}.hp-select-item[data-highlighted][data-v-24e2dcd6]{background:var(--color-hover)}.hp-select-item[data-state=checked][data-v-24e2dcd6]{color:var(--accent);font-weight:600}.hp-select-item[data-disabled][data-v-24e2dcd6]{opacity:.45;cursor:not-allowed}.hp-select-check[data-v-24e2dcd6]{color:var(--accent);font-size:10px}.hp-select-content{z-index:2600;min-width:var(--radix-select-trigger-width,var(--hp-sel-w,100px));background:var(--color-panel);border:1px solid var(--color-border-soft);border-radius:var(--radius-lg);max-height:260px;box-shadow:var(--shadow-lg);-webkit-backdrop-filter:var(--blur-light);backdrop-filter:var(--blur-light);animation:hpPopIn .14s var(--ease-out,ease);padding:4px;overflow:auto}.hp-select-content[data-state=closed]{animation:none}@keyframes hpPopIn{0%{opacity:0;transform:translateY(-3px)}to{opacity:1;transform:none}}.local-bridge-panel[data-v-bd57dd54]{padding:0}.lb-header[data-v-bd57dd54]{align-items:center;gap:6px;display:flex}.lb-title[data-v-bd57dd54]{letter-spacing:.4px;color:var(--text-dim);font-size:12px;font-weight:700}.lb-status[data-v-bd57dd54]{border-radius:var(--radius-pill);align-items:center;gap:5px;margin-left:auto;padding:2px 8px;font-size:11px;display:inline-flex}.lb-status.is-online[data-v-bd57dd54]{color:#30d158;background:#30d15824}.lb-status.is-offline[data-v-bd57dd54],.lb-status.is-unknown[data-v-bd57dd54]{background:var(--color-hover);color:var(--text-mute)}.lb-dot[data-v-bd57dd54]{background:currentColor;border-radius:50%;width:6px;height:6px}.is-online .lb-dot[data-v-bd57dd54]{animation:2s infinite lb-pulse-bd57dd54}@keyframes lb-pulse-bd57dd54{0%,to{opacity:1}50%{opacity:.4}}.lb-section[data-v-bd57dd54]{flex-direction:column;gap:10px;display:flex}.lb-desc[data-v-bd57dd54]{color:var(--text-dim);font-size:11.5px;line-height:1.6}.lb-tip[data-v-bd57dd54]{color:var(--text-mute);font-size:11px;line-height:1.6}.lb-actions[data-v-bd57dd54]{flex-wrap:wrap;gap:8px;display:flex}.lb-actions[data-v-bd57dd54] svg{vertical-align:-2px;margin-right:4px}.lb-help[data-v-bd57dd54]{color:var(--text-mute);font-size:11px}.lb-help summary[data-v-bd57dd54]{cursor:pointer;-webkit-user-select:none;user-select:none}.lb-help ol[data-v-bd57dd54]{margin:6px 0 0 18px;line-height:1.8}.lb-help code[data-v-bd57dd54]{background:var(--color-hover);border-radius:4px;padding:1px 5px}.lb-link-row[data-v-bd57dd54]{align-items:center;gap:8px;display:flex}.lb-label[data-v-bd57dd54]{color:var(--text-mute);font-size:11px}.lb-url[data-v-bd57dd54]{background:var(--color-input);border-radius:var(--radius-sm);cursor:pointer;border:1px solid var(--color-border-soft);padding:4px 10px;font-size:12px}.lb-url[data-v-bd57dd54]:hover{border-color:var(--accent)}.lb-info[data-v-bd57dd54]{color:var(--text-dim);font-size:11px}.tool-guide[data-v-6a62376d]{border:1px solid var(--accent-line);background:var(--accent-soft);border-radius:var(--radius-lg);flex-direction:column;gap:8px;padding:10px 12px;display:flex}.tool-guide.is-seen[data-v-6a62376d]{border-style:dashed}.tg-head[data-v-6a62376d]{align-items:flex-start;gap:8px;display:flex}.tg-icon[data-v-6a62376d]{width:24px;height:24px;color:var(--accent);background:var(--color-surface);border:1px solid var(--accent-line);border-radius:7px;flex-shrink:0;place-items:center;display:grid}.tg-head-text[data-v-6a62376d]{flex:1;min-width:0}.tg-title[data-v-6a62376d]{color:var(--text);font-size:12.5px;font-weight:700}.tg-lead[data-v-6a62376d]{color:var(--text-dim);margin-top:1px;font-size:11px;line-height:1.5}.tg-close[data-v-6a62376d]{width:22px;height:22px;color:var(--text-mute);cursor:pointer;background:0 0;border:none;border-radius:6px;flex-shrink:0;place-items:center;display:grid}.tg-close[data-v-6a62376d]:hover{background:var(--color-hover);color:var(--text)}.tg-body[data-v-6a62376d]{flex-wrap:wrap;align-items:flex-start;gap:14px;display:flex}.tg-flow[data-v-6a62376d]{width:196px;color:var(--text-mute);flex-shrink:0}.tg-steps[data-v-6a62376d]{flex:1;align-content:start;gap:5px;min-width:220px;margin:0;padding:0;list-style:none;display:grid}.tg-step[data-v-6a62376d]{color:var(--text-dim);align-items:flex-start;gap:7px;font-size:11px;line-height:1.55;display:flex}.tg-step.warn .tg-num[data-v-6a62376d]{color:#b9852a;background:#b9852a29}.tg-num[data-v-6a62376d]{width:15px;height:15px;color:var(--accent);background:color-mix(in srgb, var(--accent) 14%, transparent);border-radius:50%;flex-shrink:0;place-items:center;margin-top:1px;font-size:9px;font-weight:700;display:grid}.tg-text[data-v-6a62376d]{min-width:0}.tg-text code[data-v-6a62376d]{font-family:var(--font-mono);background:color-mix(in srgb, var(--accent) 14%, transparent);color:var(--accent);white-space:nowrap;border-radius:4px;padding:1px 5px;font-size:10px}.tg-warn[data-v-6a62376d]{color:#b9852a;margin-top:1px;font-size:10.5px;font-style:normal;display:block}.tg-foot[data-v-6a62376d]{align-items:center;gap:10px;display:flex}.tg-foot-note[data-v-6a62376d]{color:var(--text-mute);font-size:10px}.tg-bar[data-v-6a62376d]{border-radius:var(--radius);border:1px dashed var(--accent-line);background:var(--accent-soft);color:var(--text-dim);align-items:center;gap:7px;padding:5px 10px;font-size:11px;display:flex}.tg-bar-ico[data-v-6a62376d]{color:var(--accent);flex-shrink:0}.tg-bar-title[data-v-6a62376d]{color:var(--text);flex-shrink:0;font-weight:700}.tg-bar-lead[data-v-6a62376d]{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.tg-bar-btn[data-v-6a62376d]{color:var(--accent);cursor:pointer;background:0 0;border:none;border-radius:5px;flex-shrink:0;align-items:center;gap:3px;padding:2px 4px;font-size:11px;font-weight:600;display:inline-flex}.tg-bar-btn[data-v-6a62376d]:hover{background:var(--color-surface)}.pv-sidebar.docked .side-body[data-v-2fbea1d8]{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));align-content:start;align-items:start;gap:12px;width:100%;max-width:1240px;margin:0 auto;display:grid}.pv-sidebar.docked .side-guide[data-v-2fbea1d8]{grid-column:1/-1}.pv-sidebar.docked .side-card[data-v-2fbea1d8]{margin-bottom:0;container:card/inline-size}.pv-sidebar.docked .side-header-docked[data-v-2fbea1d8]{z-index:3;background:color-mix(in srgb, var(--color-panel) 92%, var(--color-bg));position:sticky;top:0}.pv-sidebar.docked .side-card-title[data-v-2fbea1d8]{letter-spacing:.4px;color:var(--text-dim);font-size:12px}.conn-head[data-v-2fbea1d8]{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 12px;display:flex}.conn-status-bar[data-v-2fbea1d8]{flex:auto;align-items:center;gap:10px;min-width:0;display:flex}.conn-status-badge[data-v-2fbea1d8]{width:34px;height:34px;color:var(--text-mute);background:var(--color-hover);border:1px solid var(--color-border-soft);border-radius:10px;flex-shrink:0;place-items:center;display:grid}.conn-status-badge.is-ok[data-v-2fbea1d8]{color:#30d158;background:#30d15824;border-color:#30d15859}.conn-status-badge.is-busy[data-v-2fbea1d8]{color:#ff9f0a;background:#ff9f0a24;border-color:#ff9f0a59}.conn-status-badge.is-err[data-v-2fbea1d8]{color:#ff3b30;background:#ff3b3024;border-color:#ff3b3059}.conn-status-icon[data-v-2fbea1d8]{display:block}.conn-status-icon.spin[data-v-2fbea1d8]{animation:1.2s linear infinite spin-2fbea1d8}.conn-status-text[data-v-2fbea1d8]{flex-direction:column;gap:2px;min-width:0;display:flex}.conn-status-title[data-v-2fbea1d8]{color:var(--text);font-size:13px;font-weight:700}.conn-status-meta[data-v-2fbea1d8]{color:var(--text-mute);align-items:center;gap:5px;font-size:10.5px;display:flex}.conn-status-meta svg[data-v-2fbea1d8]{color:var(--accent)}.reconnect-badge[data-v-2fbea1d8]{border-radius:var(--radius-pill);color:#ff9f0a;background:#ff9f0a1f;align-items:center;gap:4px;padding:1px 6px;font-size:10px;display:inline-flex}.reconnect-badge .spin[data-v-2fbea1d8]{animation:1.2s linear infinite spin-2fbea1d8}.conn-actions[data-v-2fbea1d8]{flex:none;align-items:center;gap:6px;margin-left:auto;display:flex}.conn-action-btn[data-v-2fbea1d8]{min-width:108px;padding:7px 14px}.switch-row.compact[data-v-2fbea1d8]{gap:6px;margin-top:2px}.switch-ico[data-v-2fbea1d8]{color:var(--text-mute);margin-right:-2px}.conn-block[data-v-2fbea1d8]{flex-direction:column;gap:6px;display:flex}.signal-row[data-v-2fbea1d8]{gap:6px;display:flex}.signal-btn[data-v-2fbea1d8]{flex:0 auto;gap:4px;min-width:96px;max-width:200px;padding:5px 8px;font-size:11px}.signal-btn .signal-state[data-v-2fbea1d8]{color:var(--text-mute);background:var(--color-hover);border-radius:var(--radius-pill);margin-left:auto;padding:1px 5px;font-size:10px}.signal-btn .signal-state.on[data-v-2fbea1d8],.signal-btn.active .signal-state[data-v-2fbea1d8]{color:#30d158;background:#30d1581f}.device-field[data-v-2fbea1d8]{gap:4px}.device-row[data-v-2fbea1d8]{align-items:center;gap:5px;display:flex}.device-select[data-v-2fbea1d8]{flex:1;min-width:0}.btn-device-action[data-v-2fbea1d8]{flex-shrink:0;padding:6px 9px}.btn-icon.btn-device-action[data-v-2fbea1d8]{aspect-ratio:1;padding:6px}.btn-text[data-v-2fbea1d8]{margin-left:4px}.session-actions[data-v-2fbea1d8]{flex-wrap:wrap;justify-content:flex-start}.session-actions .btn[data-v-2fbea1d8]{flex:0 auto;min-width:84px}.param-grid[data-v-2fbea1d8]{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));align-items:start;gap:8px 10px;display:grid}.param-grid .field[data-v-2fbea1d8]{gap:3px;margin:0}.param-span2[data-v-2fbea1d8]{grid-column:1/-1}.field-pair[data-v-2fbea1d8]{gap:6px;min-width:0;display:flex}.field-pair[data-v-2fbea1d8]>*{flex:1;min-width:0}.field-ico[data-v-2fbea1d8]{vertical-align:middle;color:var(--text-mute);margin-right:4px;display:inline-block}.side-card-sub[data-v-2fbea1d8]{align-items:center;gap:5px;display:flex}.guide-step>svg[data-v-2fbea1d8]{color:var(--accent);flex-shrink:0;margin-top:2px}.conn-type-chip[data-v-2fbea1d8]{color:var(--text-dim);background:var(--color-hover);border-color:#0000;align-items:center;gap:3px;margin-left:auto;padding:2px 8px;font-size:10.5px;font-weight:600;display:inline-flex}.conn-type-chip svg[data-v-2fbea1d8]{color:var(--accent)}.device-chips[data-v-2fbea1d8]{flex-wrap:wrap;gap:5px;margin:6px 0 0;padding:0;list-style:none;display:flex}.device-chip[data-v-2fbea1d8]{cursor:pointer;max-width:100%;color:var(--text-dim);background:var(--color-input);border:1px solid var(--color-border-soft);border-radius:var(--radius-pill);transition:var(--transition);align-items:center;gap:4px;padding:3px 8px;font-size:10.5px;display:inline-flex}.device-chip svg[data-v-2fbea1d8]{color:var(--text-mute);flex-shrink:0}.device-chip[data-v-2fbea1d8]:hover{border-color:var(--accent);color:var(--text)}.device-chip.sel[data-v-2fbea1d8]{color:#fff;background:var(--accent);border-color:#0000}.device-chip.sel svg[data-v-2fbea1d8]{color:#fff}.device-chip-name[data-v-2fbea1d8]{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.session-ico[data-v-2fbea1d8]{color:var(--text-mute);flex-shrink:0}.session-item.active .session-ico[data-v-2fbea1d8]{color:var(--accent)}.session-empty[data-v-2fbea1d8]{justify-content:center;align-items:center;gap:6px;display:flex}.session-active[data-v-2fbea1d8]{color:#30d158;flex-shrink:0;display:inline-flex}.session-del[data-v-2fbea1d8]{-webkit-appearance:none;appearance:none;cursor:pointer;background:0 0;border:0;border-radius:4px;align-items:center;padding:2px 4px;display:inline-flex}@container card (width<=340px){.conn-status-title[data-v-2fbea1d8]{font-size:12px}.conn-status-badge[data-v-2fbea1d8]{width:30px;height:30px}.btn-text[data-v-2fbea1d8]{display:none}.btn-device-action[data-v-2fbea1d8]{padding:6px}.btn-device-action[data-v-2fbea1d8]:has(svg){aspect-ratio:1}.session-actions .btn[data-v-2fbea1d8]{aspect-ratio:1;flex:auto;justify-content:center;min-width:44px;padding:5px}}@keyframes spin-2fbea1d8{to{transform:rotate(360deg)}}.terminal-wrap[data-v-8bae1d63]{background:#0b0e14;flex-direction:column;height:100%;min-height:0;display:flex}.terminal-bar[data-v-8bae1d63]{color:#c9d1d9;background:#161b22;border-bottom:1px solid #2a2f3a;flex-wrap:wrap;align-items:center;gap:12px;padding:6px 10px;font-size:12px;display:flex}.term-bar-title[data-v-8bae1d63]{color:#9aedfe;font-weight:600}.term-opt[data-v-8bae1d63]{align-items:center;gap:4px;display:inline-flex}.term-opt .form-select[data-v-8bae1d63]{width:auto;padding:1px 4px}.term-hint[data-v-8bae1d63]{color:#6b7280;margin-left:auto;font-size:11px}.terminal-body[data-v-8bae1d63]{cursor:text;outline:none;flex-direction:column;flex:1;min-height:0;display:flex}.terminal-output[data-v-8bae1d63]{color:#f1f1f1;white-space:pre-wrap;word-break:break-word;flex:1;min-height:0;padding:8px 10px;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:13px;line-height:1.45;overflow:auto}.terminal-input-line[data-v-8bae1d63]{color:#f1f1f1;white-space:pre-wrap;word-break:break-word;border-top:1px solid #2a2f3a;flex:none;min-height:1.45em;padding:4px 10px;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:13px;line-height:1.45}.term-caret[data-v-8bae1d63]{color:#0b0e14;background:#f1f1f1;border-radius:1px}.sw-root[data-v-5bbb667e]{background:var(--seg-track);width:34px;height:20px;box-shadow:var(--inner-hi);cursor:pointer;transition:background-color var(--dur-base) var(--ease-out);border:none;border-radius:999px;flex:none;padding:0;position:relative}.sw-root[data-v-5bbb667e]:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.sw-root[data-v-5bbb667e]:disabled{opacity:.4;cursor:not-allowed}.sw-root[data-state=checked][data-v-5bbb667e]{background:var(--brand)}.sw-track[data-v-5bbb667e]{width:20px;height:20px;box-shadow:none;transition:transform var(--dur-base) var(--ease-out);background:0 0;border-radius:0;display:block;position:relative;transform:translate(0)}.sw-root[data-state=checked] .sw-track[data-v-5bbb667e]{transform:translate(14px)}.sw-root:hover .sw-track[data-v-5bbb667e]{transform:scale(1.06)}.sw-root[data-state=checked]:hover .sw-track[data-v-5bbb667e]{transform:translate(14px)scale(1.06)}.sw-disabled[data-v-5bbb667e]{opacity:.5;cursor:not-allowed}.guide-modal[data-v-05e888f7]{width:calc(100vw - 32px);max-width:520px}.guide-version[data-v-05e888f7]{color:var(--text-dim);margin-left:6px;font-size:12px;font-weight:500}.guide-lead[data-v-05e888f7]{color:var(--text);margin:0 0 12px;font-size:13px}.gm-steps[data-v-05e888f7]{gap:10px;display:grid}.gm-step[data-v-05e888f7]{border:1px solid var(--color-border-soft);border-radius:var(--radius);background:var(--color-surface);align-items:flex-start;gap:10px;padding:10px 12px;display:flex}.gm-step-icon[data-v-05e888f7]{width:28px;height:28px;color:var(--accent);background:var(--accent-soft);border:1px solid var(--accent-line);border-radius:8px;flex-shrink:0;place-items:center;display:grid}.gm-step-text[data-v-05e888f7]{min-width:0}.gm-step-title[data-v-05e888f7]{color:var(--text);margin-bottom:4px;font-size:13px;font-weight:700}.gm-step-body[data-v-05e888f7]{color:var(--text-dim);font-size:12.5px;line-height:1.65}.gm-keys[data-v-05e888f7]{border:1px solid var(--color-border-soft);border-radius:var(--radius);background:var(--color-surface);margin-top:12px;padding:10px 12px}.gm-keys-title[data-v-05e888f7]{color:var(--text);align-items:center;gap:6px;margin-bottom:8px;font-size:12px;font-weight:700;display:flex}.gm-keys-grid[data-v-05e888f7]{gap:6px;display:grid}.gm-key-row[data-v-05e888f7]{color:var(--text-dim);align-items:baseline;gap:8px;font-size:12px;display:flex}.gm-key-row kbd[data-v-05e888f7]{font-family:var(--font-mono);color:var(--text);background:color-mix(in srgb, var(--accent) 14%, transparent);border:1px solid color-mix(in srgb, var(--accent) 30%, transparent);white-space:nowrap;border-radius:4px;padding:1px 5px;font-size:10.5px}.gm-key-row span[data-v-05e888f7]{flex:1}.guide-note[data-v-05e888f7]{color:var(--text-dim);margin:12px 0 0;font-size:12px}.guide-q[data-v-05e888f7]{vertical-align:-2px;border:1px solid var(--color-border);width:16px;height:16px;color:var(--text);border-radius:5px;padding:2px;display:inline-block}*{box-sizing:border-box;margin:0;padding:0}:root{--radius-xl:16px;--radius-lg:12px;--radius:9px;--radius-sm:7px;--radius-pill:980px;--font-sans:-apple-system, BlinkMacSystemFont, "SF Pro Text", "SF Pro Display", "Inter", "Segoe UI", "PingFang SC", "Microsoft YaHei", Roboto, sans-serif;--font-mono:"SF Mono", "JetBrains Mono", "Cascadia Code", "Fira Code", "Consolas", "SFMono-Regular", monospace;--transition:background-color .16s cubic-bezier(.4, 0, .2, 1), border-color .16s cubic-bezier(.4, 0, .2, 1), color .16s cubic-bezier(.4, 0, .2, 1), box-shadow .16s cubic-bezier(.4, 0, .2, 1), transform .16s cubic-bezier(.4, 0, .2, 1), opacity .16s cubic-bezier(.4, 0, .2, 1);--header-h:56px;--blur-heavy:saturate(180%) blur(22px);--blur-light:saturate(160%) blur(14px);--brand:#0a84ff;--brand-2:#6d8dff;--accent:#3a9bff;--accent-soft:color-mix(in srgb, var(--accent) 14%, transparent);--accent-ring:color-mix(in srgb, var(--accent) 34%, transparent);--accent-line:color-mix(in srgb, var(--accent) 42%, transparent);--glow:0 0 0 3px color-mix(in srgb, var(--accent) 28%, transparent);--hairline:var(--color-hairline)}[data-skin=blue]{--brand:#0a84ff;--brand-2:#6d8dff;--accent:#3a9bff}[data-skin=cyan]{--brand:#00b3b8;--brand-2:#22d3ee;--accent:#26c6da}[data-skin=violet]{--brand:#8b5cf6;--brand-2:#c084fc;--accent:#a78bfa}[data-skin=amber]{--brand:#e0861e;--brand-2:#fbbf24;--accent:#f0a13a}[data-skin=graphite]{--brand:#78818f;--brand-2:#9aa7b8;--accent:#97a4b6}[data-skin=rose]{--brand:#f0426b;--brand-2:#fb7185;--accent:#fb6f8a}[data-skin=blue][data-theme=light]{--accent:#0071e3}[data-skin=cyan][data-theme=light]{--accent:#0b8f9b}[data-skin=violet][data-theme=light]{--accent:#7c3aed}[data-skin=amber][data-theme=light]{--accent:#bf6f0c}[data-skin=graphite][data-theme=light]{--accent:#55606f}[data-skin=rose][data-theme=light]{--accent:#d81b53}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--color-bg:#0a0b0d;--color-bg-elev:#0f1013b8;--color-panel:#121316;--color-surface:#191b1f;--color-surface-2:#22252a;--color-input:#0d0e11;--color-hover:#23262c;--color-border:#2c3037;--color-border-soft:#1f2227;--color-hairline:#ffffff12;--text:#eef0f3;--text-dim:#a6acb6;--text-mute:#6f7783;--rx:#34d399;--tx:#fbbf24;--sys:#a78bfa;--err:#f87171;--danger:#f87171;--danger-soft:#f8717126;--success:#34d399;--success-soft:#34d39926;--warning:#fbbf24;--warning-soft:#fbbf2426;--highlight-bg:#fbbf243d;--highlight-text:#fde68a;--seg-track:#ffffff0f;--seg-thumb:#2b2f36;--inner-hi:inset 0 1px 0 #ffffff0d;--shadow-sm:0 1px 2px #00000073;--shadow:0 12px 32px #00000080;--shadow-lg:0 28px 64px #0009}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--color-bg:#f4f5f7;--color-bg-elev:#ffffffb8;--color-panel:#fff;--color-surface:#f3f4f6;--color-surface-2:#e8eaee;--color-input:#fff;--color-hover:#ebedf0;--color-border:#dcdfe4;--color-border-soft:#ebedf0;--color-hairline:#0f172a0f;--text:#14161a;--text-dim:#565d68;--text-mute:#878e99;--rx:#047857;--tx:#b45309;--sys:#6d28d9;--err:#dc2626;--danger:#dc2626;--danger-soft:#dc26261a;--success:#047857;--success-soft:#0478571a;--warning:#b45309;--warning-soft:#b453091a;--highlight-bg:#fbbf2466;--highlight-text:#78350f;--seg-track:#0f172a0f;--seg-thumb:#fff;--inner-hi:inset 0 1px 0 #ffffffe6;--shadow-sm:0 1px 2px #0f172a0f;--shadow:0 12px 30px #0f172a1f;--shadow-lg:0 24px 60px #0f172a2e}html,body{height:100%;overflow:hidden}body{font-family:var(--font-sans);background:var(--color-bg);color:var(--text);letter-spacing:-.01em;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-tap-highlight-color:transparent;-webkit-text-size-adjust:100%;font-size:13px;line-height:1.5}#app,.app-shell{height:100vh;flex-direction:column;height:100dvh;display:flex}html.kb-open #app,html.kb-open .app-shell{height:var(--app-vh,100dvh)}:where(button,input,select,textarea,[tabindex]):focus-visible{outline:2px solid var(--accent);outline-offset:1px;border-radius:var(--radius-sm)}.app-header{height:var(--header-h);background:var(--color-bg-elev);-webkit-backdrop-filter:var(--blur-heavy);backdrop-filter:var(--blur-heavy);border-bottom:1px solid var(--color-border-soft);z-index:20;flex-shrink:0;justify-content:space-between;align-items:center;padding:0 16px;display:flex;position:relative}.app-header:after{content:"";background:linear-gradient(90deg, transparent, color-mix(in srgb, var(--accent) 55%, transparent), color-mix(in srgb, var(--brand-2) 45%, transparent), transparent);opacity:.45;height:1px;position:absolute;bottom:-1px;left:0;right:0}.brand{flex-shrink:0;align-items:center;gap:10px;min-width:0;display:flex}.brand-logo{background:linear-gradient(150deg, var(--brand), var(--brand-2));color:#fff;width:28px;height:28px;box-shadow:var(--shadow-sm), var(--inner-hi);border-radius:9px;place-items:center;font-size:15px;font-weight:700;display:grid}.brand-name{letter-spacing:-.2px;white-space:nowrap;font-size:15px;font-weight:650}.brand-tag{color:var(--text-mute);border:1px solid var(--color-border);border-radius:var(--radius-pill);margin-left:2px;padding:1px 7px;font-size:10px}.brand-version,.welcome-version{color:var(--brand-2);background:color-mix(in srgb, var(--brand-2) 14%, transparent);border:1px solid color-mix(in srgb, var(--brand-2) 40%, transparent);border-radius:var(--radius-pill);letter-spacing:.3px;margin-left:2px;padding:1px 8px;font-size:10px;font-weight:700}.welcome-version{vertical-align:6px;margin-left:8px;padding:2px 10px;font-size:11px;display:inline-block}.header-right{align-items:center;gap:8px;display:flex;position:relative}.conn-nav{border-radius:10px;flex-shrink:0;gap:2px;margin:0 12px;padding:3px}.conn-nav .seg-item{letter-spacing:.2px;align-items:center;gap:6px;padding:5px 12px;font-weight:600;display:inline-flex}.conn-nav .cn-ico{opacity:.92;flex-shrink:0}.conn-nav .seg-item.active .cn-ico{opacity:1}.header-controls{align-items:center;gap:8px;display:flex}.header-right .header-menu-btn{display:none}.header-right .header-menu-btn.active,.header-right .appearance-btn.active{color:var(--text);border-color:var(--accent-line);background:var(--accent-soft)}.appearance-pop{z-index:70;background:var(--color-panel);border:1px solid var(--color-border);border-radius:var(--radius-lg);min-width:246px;box-shadow:var(--shadow-lg);-webkit-backdrop-filter:var(--blur-light);backdrop-filter:var(--blur-light);flex-direction:column;gap:14px;padding:14px;animation:.16s cubic-bezier(.22,.61,.36,1) hp-popover;display:flex;position:absolute;top:calc(100% + 10px);right:0}.ap-section{flex-direction:column;display:flex}.ap-title{letter-spacing:.7px;text-transform:uppercase;color:var(--text-mute);margin-bottom:8px;font-size:10.5px;font-weight:700}.ap-theme{width:100%}.ap-theme .seg{flex:1;justify-content:center;align-items:center;gap:5px;display:inline-flex}.ap-skins{grid-template-columns:repeat(3,1fr);gap:7px;display:grid}.ap-skin{cursor:pointer;background:var(--color-surface);border:1px solid var(--color-border-soft);border-radius:var(--radius);color:var(--text-dim);transition:var(--transition);flex-direction:column;align-items:center;gap:6px;padding:9px 4px 7px;font-family:inherit;font-size:11px;display:flex;position:relative}.ap-skin:hover{border-color:var(--color-border);color:var(--text);transform:translateY(-1px)}.ap-skin.active{border-color:var(--accent-line);background:var(--accent-soft);color:var(--text);font-weight:600}.ap-swatch{background:linear-gradient(135deg, var(--brand), var(--brand-2));width:26px;height:26px;box-shadow:var(--inner-hi), 0 2px 6px #00000040;border-radius:50%}.ap-skin-label{white-space:nowrap;line-height:1}.ap-skin-check{color:var(--accent);position:absolute;top:5px;right:5px}.qv-toolbar,.segmented{background:var(--seg-track);border-radius:9px;gap:2px;padding:3px;display:inline-flex}.qv-btn,.segmented .seg{color:var(--text);cursor:pointer;transition:var(--transition);white-space:nowrap;background:0 0;border:none;border-radius:7px;padding:4px 11px;font-size:12px}.qv-btn:hover,.segmented .seg:hover{background:color-mix(in srgb, var(--color-hover) 60%, transparent)}.qv-btn.active,.segmented .seg.active{background:var(--seg-thumb);color:var(--text);box-shadow:0 1px 3px #00000047, var(--inner-hi);font-weight:600}:root[data-theme=light] .qv-btn.active,:root[data-theme=light] .segmented .seg.active{color:var(--text)}.qv-btn{place-items:center;width:30px;height:26px;padding:0;display:grid}.count-stepper{background:var(--color-surface);border:1px solid var(--color-border-soft);height:30px;color:var(--text-dim);border-radius:9px;align-items:center;gap:6px;padding:0 8px;font-size:12px;display:inline-flex}.count-stepper>svg{color:var(--text-mute);flex-shrink:0}.count-stepper:focus-within{border-color:var(--accent-line)}.seg-theme .seg{place-items:center;width:26px;padding:4px 0;font-size:12px;display:grid}.presence-badge{border-radius:var(--radius-pill);white-space:nowrap;letter-spacing:.1px;color:var(--text-dim);background:var(--color-surface);border:1px solid var(--color-border-soft);transition:var(--transition);align-items:center;gap:6px;margin-left:6px;padding:2px 10px 2px 8px;font-size:11px;font-weight:600;display:inline-flex}.presence-dot{background:var(--text-mute);border-radius:50%;flex-shrink:0;width:6px;height:6px}.presence-badge.is-online{color:var(--text);border-color:color-mix(in srgb, var(--success) 45%, transparent)}.presence-badge.is-online .presence-dot{background:var(--success);animation:2.4s ease-out infinite presence-pulse}.presence-badge.is-connecting .presence-dot{background:var(--warning)}@keyframes presence-pulse{0%{box-shadow:0 0 0 0 color-mix(in srgb, var(--success) 65%, transparent)}70%{box-shadow:0 0 0 5px color-mix(in srgb, var(--success) 0%, transparent)}to{box-shadow:0 0 0 0 color-mix(in srgb, var(--success) 0%, transparent)}}.icon-btn{cursor:pointer;border:1px solid var(--color-border-soft);background:var(--color-surface);width:30px;height:30px;color:var(--text-dim);transition:var(--transition);border-radius:9px;place-items:center;font-size:14px;display:grid}.icon-btn:hover{color:var(--text);border-color:var(--accent);background:var(--color-hover)}.split-container{flex:1;gap:0;min-height:0;padding:8px;display:grid;overflow:hidden}.layout-single{grid-template-rows:1fr;grid-template-columns:1fr}.layout-lr{grid-template-columns:var(--col1,50%) 8px var(--col2,50%);grid-template-rows:1fr}.layout-tb{grid-template-columns:1fr;grid-template-rows:var(--row1,50%) 8px var(--row2,50%)}.layout-grid,.layout-grid3{grid-template-columns:var(--col1,50%) 8px var(--col2,50%);grid-template-rows:var(--row1,50%) 8px var(--row2,50%)}.split-pane{min-width:0;min-height:0;display:flex;overflow:hidden}.split-pane.pane-focus>.port-view{border-color:color-mix(in srgb, var(--accent) 45%, var(--color-border-soft));box-shadow:0 0 0 2px color-mix(in srgb, var(--accent) 32%, transparent), var(--shadow-sm), var(--inner-hi)}.split-pane>.port-view{flex:1;min-width:0;min-height:0}.pane-init{color:var(--text-mute);flex:1;place-items:center;font-size:12px;display:grid}.split-divider{z-index:5;touch-action:none;background:0 0;position:relative}.split-divider:before{content:"";background:0 0;border-radius:6px;margin:auto;transition:background .15s,box-shadow .15s;position:absolute;top:0;bottom:0;left:0;right:0}.split-divider.axis-col{cursor:col-resize}.split-divider.axis-col:before{width:4px;height:100%}.split-divider.axis-row{cursor:row-resize}.split-divider.axis-row:before{width:100%;height:4px}.split-divider:hover:before,.split-divider.dragging:before{background:var(--accent);box-shadow:0 0 8px var(--accent)}.port-view{background:var(--color-panel);border:1px solid var(--color-border-soft);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm), var(--inner-hi);flex-direction:column;flex:1;min-width:0;display:flex;overflow:hidden}.pv-header{border-bottom:1px solid var(--color-border-soft);background:var(--color-surface);background:color-mix(in srgb, var(--color-surface) 70%, transparent);height:auto;min-height:44px;-webkit-backdrop-filter:var(--blur-light);backdrop-filter:var(--blur-light);border-radius:var(--radius-xl) var(--radius-xl) 0 0;flex-wrap:wrap;flex-shrink:0;align-items:center;gap:9px;padding:5px 14px;display:flex}.pv-badge{color:#fff;background:var(--accent);width:22px;height:22px;box-shadow:var(--inner-hi);border-radius:7px;flex-shrink:0;place-items:center;font-size:12px;font-weight:700;display:grid}.pv-badge.a{background:linear-gradient(135deg,#0071e3,#4db2ff)}.pv-badge.b{background:linear-gradient(135deg,#bf5af2,#8a7dff)}.pv-badge.c{background:linear-gradient(135deg,#30d158,#64e088)}.pv-badge.d{background:linear-gradient(135deg,#ff9f0a,#ffc24d)}.pv-alias-input{background:var(--color-input);border:1px solid var(--color-border-soft);border-radius:var(--radius-sm);color:var(--text);transition:var(--transition);outline:none;flex:0 0 150px;padding:5px 10px;font-size:12px}.pv-alias-input:focus{border-color:var(--accent);box-shadow:var(--glow)}.pv-conn-tag{letter-spacing:.6px;border-radius:var(--radius-pill);color:var(--accent);background:var(--accent-soft);border:1px solid color-mix(in srgb, var(--accent) 32%, transparent);flex-shrink:0;align-items:center;gap:4px;padding:2px 7px;font-size:9.5px;font-weight:700;display:inline-flex}.pv-status{color:var(--text-dim);border-radius:var(--radius-pill);background:var(--color-surface);background:color-mix(in srgb, var(--color-surface) 85%, transparent);border:1px solid var(--color-border-soft);align-items:center;gap:6px;margin-left:auto;padding:3px 11px;font-size:11.5px;display:inline-flex}.pv-retrying{color:var(--warning);font-weight:600}.pv-dot{border-radius:50%;flex-shrink:0;width:7px;height:7px}.pv-dot.disconnected{background:var(--text-mute)}.pv-dot.connecting{background:var(--warning);animation:1s infinite pulse}.pv-dot.connected{background:var(--success);box-shadow:0 0 8px var(--success)}.pv-dot.error{background:var(--danger)}@keyframes pulse{0%,to{opacity:1}50%{opacity:.35}}.pv-baud{color:var(--text-mute);font-size:10.5px;font-family:var(--font-mono);white-space:nowrap;text-overflow:ellipsis;max-width:42%;overflow:hidden}.pv-body{flex:1;display:flex;position:relative;overflow:hidden}.pane-tabs{display:none}.pv-body{container:pv/inline-size}.pv-sidebar{background:var(--color-panel);background:color-mix(in srgb, var(--color-panel) 92%, var(--color-bg));border-right:1px solid var(--color-border-soft);flex-direction:column;flex-shrink:0;width:232px;min-width:232px;display:flex;overflow:hidden}.side-header{border-bottom:1px solid var(--color-border-soft);background:var(--color-surface);background:color-mix(in srgb, var(--color-surface) 65%, transparent);height:40px;color:var(--text-dim);letter-spacing:.3px;flex-shrink:0;align-items:center;gap:6px;padding:0 12px;font-size:11.5px;font-weight:600;display:flex}.side-body{flex-direction:column;flex:1;gap:10px;min-height:0;padding:10px;display:flex;overflow:hidden auto}@container pv (width<=860px){.pv-sidebar{width:200px;min-width:200px}.cmd-panel{max-width:220px}}@container pv (width<=640px){.pv-sidebar{width:168px;min-width:168px}.cmd-panel{max-width:176px}.seg-conn{flex-wrap:wrap}.seg-conn .seg-item{flex:calc(50% - 1px);min-width:0}.pv-alias-input{flex-basis:96px}.cmd-panel .cmd-header{gap:3px;padding:7px 6px}.cmd-panel .cmd-title{white-space:nowrap;flex-shrink:0;gap:3px;font-size:11px}.cmd-panel .cmd-caret{display:none}.cmd-panel .cmd-count{padding:0 5px}.cmd-panel .cmd-actions{gap:2px}.cmd-panel .cmd-actions button{padding:3px 5px;font-size:11px}}@container pv (width<=520px){.pv-sidebar{width:170px;min-width:170px}.cmd-panel{max-width:170px}}@container pv (width<=440px){.cmd-panel{max-width:100px}.cmd-panel .cmd-header{flex-wrap:wrap;height:auto;min-height:34px}.cmd-panel .cmd-count{display:none}}.side-card{background:var(--color-surface);background:color-mix(in srgb, var(--color-surface) 55%, transparent);border:1px solid var(--color-border-soft);border-radius:var(--radius-lg);flex-direction:column;gap:8px;padding:10px;display:flex}.side-card-title{letter-spacing:.7px;text-transform:uppercase;color:var(--text-mute);align-items:center;gap:6px;font-size:10.5px;font-weight:700;display:flex}.side-card-icon{color:var(--accent);opacity:.88;flex-shrink:0}.side-card-connect{gap:7px}.card-badge{color:#fff;background:linear-gradient(150deg, var(--accent), color-mix(in srgb, var(--accent) 70%, #000 30%));border-radius:7px;flex-shrink:0;place-items:center;width:22px;height:22px;display:inline-grid;box-shadow:0 1px 2px #0000002e}.card-badge .side-card-icon{color:#fff;opacity:1}.card-badge-connect{background:linear-gradient(150deg,#0a84ff,#0062d6)}.card-badge-param{background:linear-gradient(150deg,#5e5ce6,#3d3bb8)}.card-badge-device{background:linear-gradient(150deg,#30d158,#1a9e40)}.card-badge-session{background:linear-gradient(150deg,#bf5af2,#9b30e0)}.card-badge-bridge{background:linear-gradient(150deg,#ff9f0a,#cf7400)}.section{flex-direction:column;gap:7px;display:flex}.section-title{letter-spacing:.8px;text-transform:uppercase;color:var(--text-mute);align-items:center;gap:6px;font-size:10.5px;font-weight:700;display:flex}.section-title:after{content:"";background:var(--color-border-soft);flex:1;height:1px}.field{flex-direction:column;gap:3px;display:flex}.field label{color:var(--text-dim);font-size:10.5px}.field-hint{color:var(--text-mute);font-size:10px;font-weight:400}.field-hint.warn{color:var(--warning)}.field-row{gap:6px;display:flex}.field-row .field{flex:1}.guide{background:var(--color-input);background:color-mix(in srgb, var(--color-input) 70%, transparent);border:1px solid var(--color-border-soft);border-radius:var(--radius);flex-direction:column;gap:6px;padding:8px 10px;display:flex}.guide-step{color:var(--text-dim);align-items:flex-start;gap:8px;font-size:11px;line-height:1.5;display:flex}.guide-step b{color:var(--text)}.guide-step code{font-family:var(--font-mono);background:color-mix(in srgb, var(--accent) 14%, transparent);color:var(--accent);border-radius:4px;padding:1px 5px;font-size:10.5px}.guide-step.warn{color:#b9852a}.guide-step.warn .guide-num{color:#b9852a;background:#b9852a29;border-color:#b9852a73}.guide-num{width:17px;height:17px;color:var(--accent);background:var(--accent-soft);border:1px solid color-mix(in srgb, var(--accent) 45%, transparent);border-radius:50%;flex-shrink:0;place-items:center;font-size:9px;font-weight:700;display:grid}.btn-row{flex-wrap:wrap;gap:5px;display:flex}.btn-row .btn{flex:1;min-width:52px}.recent-targets{flex-wrap:wrap;align-items:center;gap:5px;padding-top:2px;display:flex}.recent-label{color:var(--text-mute);letter-spacing:.5px;font-size:10px}.chip{font-size:10.5px;font-family:var(--font-mono);cursor:pointer;border-radius:var(--radius-pill);background:var(--color-input);border:1px solid var(--color-border-soft);color:var(--text-dim);transition:var(--transition);padding:2px 8px}.chip:hover{color:var(--text);border-color:var(--accent);background:var(--accent-soft)}.switch-row{color:var(--text-dim);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;padding-top:2px;font-size:11px;display:flex}.switch-row input{opacity:0;width:0;height:0;position:absolute}.switch-track{border-radius:var(--radius-pill);background:var(--seg-track);flex-shrink:0;width:34px;height:20px;transition:background .18s cubic-bezier(.4,0,.2,1);position:relative}.switch-thumb{background:#fff;border-radius:50%;width:16px;height:16px;transition:transform .18s cubic-bezier(.4,0,.2,1);position:absolute;top:2px;left:2px;box-shadow:0 1px 3px #00000059}.switch-row input:checked+.switch-track{background:var(--success)}.switch-row input:checked+.switch-track .switch-thumb{transform:translate(14px)}.switch-row input:focus-visible+.switch-track{box-shadow:var(--glow)}.switch-label{flex:1}.conn-error{color:var(--danger);background:var(--danger-soft);border:1px solid color-mix(in srgb, var(--danger) 35%, transparent);border-radius:var(--radius-sm);word-break:break-all;align-items:flex-start;gap:6px;padding:6px 8px;font-size:10.5px;line-height:1.45;display:flex}.conn-error-icon{color:var(--danger);flex-shrink:0;margin-top:1px}.session-list{border:1px solid var(--color-border-soft);border-radius:var(--radius);background:color-mix(in srgb, var(--color-input) 80%, transparent);flex-direction:column;gap:2px;max-height:150px;padding:3px;display:flex;overflow-y:auto}.session-item{cursor:pointer;transition:var(--transition);border-radius:7px;align-items:center;gap:6px;padding:5px 8px;font-size:11.5px;display:flex}.session-item:hover{background:var(--color-hover)}.session-item.active{background:var(--accent-soft);color:var(--text);box-shadow:inset 2px 0 0 var(--accent)}.session-title{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.session-count{color:var(--text-mute);font-size:9.5px;font-family:var(--font-mono)}.session-del{color:var(--text-mute);border-radius:4px;padding:0 3px;font-size:14px;line-height:1}.session-del:hover{color:var(--danger);background:var(--danger-soft)}.session-rename-input{background:var(--color-input);border:1px solid var(--accent);min-width:0;color:var(--text);border-radius:5px;outline:none;flex:1;padding:2px 5px;font-size:11.5px}.session-empty{color:var(--text-mute);text-align:center;padding:10px;font-size:11px}.pv-content,.log-main{flex-direction:column;flex:1;min-width:0;display:flex;overflow:hidden}.filter-bar{background:var(--color-panel);border-bottom:1px solid var(--color-border-soft);flex-wrap:wrap;flex-shrink:0;align-items:center;gap:8px;padding:8px 12px;display:flex}.filter-input-wrap{flex:160px;align-items:center;min-width:80px;display:flex;position:relative}.filter-input-wrap .form-input{padding-left:30px;padding-right:28px}.filter-icon{color:var(--text-mute);pointer-events:none;position:absolute;top:50%;left:11px;transform:translateY(-50%)}.filter-clear{color:var(--text-mute);cursor:pointer;background:0 0;border:none;border-radius:6px;place-items:center;padding:3px;line-height:1;display:grid;position:absolute;top:50%;right:6px;transform:translateY(-50%)}.filter-clear:hover{color:var(--text);background:var(--color-hover)}.filter-controls{flex-wrap:wrap;flex-shrink:0;gap:4px;display:flex}.log-toolbar{background:var(--color-panel);border-bottom:1px solid var(--color-border-soft);flex-wrap:wrap;flex-shrink:0;justify-content:space-between;align-items:center;gap:10px;padding:7px 12px;display:flex}.toolbar-group{flex-wrap:wrap;align-items:center;gap:5px;display:flex}.toolbar-stats{color:var(--text-mute);font-size:10.5px;font-family:var(--font-mono);flex-wrap:wrap;gap:10px;display:flex}.toolbar-stats b{color:var(--text-dim);font-weight:600}.log-stage{flex-direction:column;flex:1;display:flex;position:relative;overflow:hidden}.log-container{background:var(--color-input);font-family:var(--font-mono);flex:1;font-size:11.5px;line-height:1.65;overflow:auto}.log-scroll-content{min-height:100%;padding:5px 0}.vl-pad{flex:none;width:100%}.log-entry{border-left:2px solid #0000;flex-wrap:wrap;align-items:flex-start;gap:4px 8px;min-height:20px;padding:2px 12px;display:flex}.log-entry:hover{background:color-mix(in srgb, var(--color-hover) 65%, transparent)}.log-time{color:var(--text-mute);white-space:nowrap;flex-shrink:0;padding-top:2px;font-size:10px}.log-dir{letter-spacing:.3px;text-align:center;border-radius:4px;flex-shrink:0;min-width:30px;margin-top:2px;padding:1px 4px;font-size:9.5px;font-weight:700}.log-dir.rx{color:var(--rx);background:color-mix(in srgb, var(--rx) 14%, transparent)}.log-dir.tx{color:var(--tx);background:color-mix(in srgb, var(--tx) 14%, transparent)}.log-dir.sys{color:var(--sys);background:color-mix(in srgb, var(--sys) 14%, transparent)}.log-dir.err{color:var(--err);background:var(--danger-soft)}.log-topic{text-overflow:ellipsis;max-width:180px;font-size:9.5px;font-family:var(--font-sans);color:var(--accent);background:var(--accent-soft);border:1px solid color-mix(in srgb, var(--accent) 28%, transparent);border-radius:var(--radius-pill);white-space:nowrap;flex-shrink:0;margin-top:2px;padding:1px 7px;overflow:hidden}.log-data{word-break:break-all;white-space:pre-wrap;flex:12em;min-width:0}.log-data .highlight{background:var(--highlight-bg);color:var(--highlight-text);border-radius:3px;padding:0 2px}.log-entry.system .log-data{color:var(--text-dim);font-style:italic}.log-entry.error .log-data{color:var(--err)}.log-frame{letter-spacing:.2px;font-size:9.5px;font-weight:700;font-family:var(--font-sans);border-radius:4px;flex-shrink:0;margin-top:2px;padding:1px 5px}.log-frame.crc-ok{color:#0a7d34;background:#16a34a24}.log-frame.crc-bad{color:#fff;background:var(--danger)}.log-frame.crc-none{color:var(--accent);background:var(--accent-soft)}.log-frame.kind-noise{color:#8a5a00;background:#f59e0b2e}.log-frame.kind-partial{color:var(--text-mute);background:color-mix(in srgb, var(--text-mute) 16%, transparent)}.log-frame-meta{color:var(--text-mute);font-size:9.5px;font-family:var(--font-sans);white-space:nowrap;flex-shrink:0;margin-top:2px}.frame-cfg{background:var(--color-input);border-bottom:1px solid var(--hairline);flex-direction:column;gap:6px;padding:8px 10px;display:flex}.frame-cfg-row{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.frame-cfg label{color:var(--text-dim);margin-left:4px;font-size:11px}.frame-cfg label:first-child{margin-left:0}.frame-cfg label.chk{color:var(--text);align-items:center;gap:3px;display:inline-flex}.frame-cfg .hex{width:90px;font-family:var(--font-mono)}.frame-cfg .num{width:72px}.frame-cfg-hint{color:var(--text-mute);margin-left:auto;font-size:10.5px}.seg-gear{min-width:26px}.frame-cfg-fields{border-top:1px dashed var(--hairline);padding-top:6px}.frame-fields,.frame-packets{flex-direction:column;gap:4px;padding:0 4px 2px;display:flex}.frame-field,.frame-packet{flex-wrap:wrap;align-items:center;gap:5px;display:flex}.frame-field .fld-name{width:92px}.frame-field .fld-lbl{color:var(--text-dim);font-size:10px}.frame-field .num{width:52px}.frame-packet .num{width:64px}.frame-packet .pkt-name{width:120px}.frame-packet .pkt-color{border:1px solid var(--hairline);background:0 0;width:34px;height:24px;padding:0}.hex-panel{background:var(--color-panel);flex-direction:column;min-width:0;height:100%;display:flex}.hex-header{border-bottom:1px solid var(--hairline);background:var(--color-surface);align-items:center;gap:8px;padding:8px 10px;display:flex}.hex-title{white-space:nowrap;font-size:12.5px;font-weight:700}.hex-tabs{gap:4px;margin-left:auto;display:flex}.hex-tab{border:1px solid var(--color-border-soft);color:var(--text-dim);border-radius:var(--radius-pill);cursor:pointer;transition:var(--transition);white-space:nowrap;background:0 0;padding:4px 10px;font-size:11px}.hex-tab:hover{background:var(--color-hover)}.hex-tab.active{background:var(--accent-soft);border-color:var(--accent);color:var(--accent);font-weight:600}.hex-body{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;flex-direction:column;flex:1;gap:10px;padding:10px;display:flex;overflow:auto}.hex-hint{color:var(--text-dim);background:var(--color-surface);border:1px dashed var(--hairline);border-radius:var(--radius-sm);padding:6px 8px;font-size:11px;line-height:1.5}.hex-frame{border:1px solid var(--hairline);border-radius:var(--radius-sm);background:0 0;border-bottom-width:1px;padding:8px}.mb-section{background:var(--color-surface);border:1px solid var(--hairline);border-radius:var(--radius);flex-direction:column;gap:7px;padding:9px 10px;display:flex}.mb-section-title{letter-spacing:.8px;text-transform:uppercase;color:var(--text-mute);flex-wrap:wrap;align-items:baseline;gap:8px;padding-left:7px;font-size:10px;font-weight:700;display:flex;position:relative}.mb-section-title:before{content:"";background:var(--accent);border-radius:2px;width:3px;height:11px;position:absolute;top:50%;left:0;transform:translateY(-50%)}.mb-section-title>.mb-dim{flex-basis:100%;font-size:10px}.mb-dim{color:var(--text-mute);font-size:10.5px;font-weight:400}.mb-warn{color:var(--warning);align-items:center;gap:5px;display:flex}.mb-warn>svg{flex-shrink:0}.mb-live{color:#34d399}.mb-row{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.mb-row label{color:var(--text-dim);font-size:11px}.mb-num{width:76px;font-family:var(--font-mono)}.mb-fc{min-width:168px}.mb-wide{min-width:150px;font-family:var(--font-mono);flex:1;font-size:12px}.mb-actions{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.mb-error{color:var(--danger);background:var(--danger-soft);border:1px solid color-mix(in srgb, var(--danger) 35%, transparent);border-radius:var(--radius-sm);padding:5px 8px;font-size:11px;line-height:1.5}.mb-ok{color:var(--text-dim);background:var(--color-input);border:1px solid var(--hairline);border-radius:var(--radius-sm);padding:5px 8px;font-size:11px;line-height:1.5}.mb-hexout{font-family:var(--font-mono);letter-spacing:.5px;background:var(--color-input);border:1px solid var(--hairline);border-radius:var(--radius-sm);word-break:break-all;-webkit-user-select:all;user-select:all;padding:7px 9px;font-size:13px;line-height:1.7}.mb-hexout .crc{color:#f59e0b;font-weight:700}.mb-hexout span:not(:first-child){margin-left:.55ch}.mb-textarea{resize:vertical;min-height:56px;font-family:var(--font-mono);word-break:break-all;font-size:12px;line-height:1.5}.mb-card{border:1px solid var(--hairline);border-radius:var(--radius-sm);background:var(--color-input);flex-direction:column;gap:7px;padding:8px 9px;display:flex}.mb-card-bad{border-color:color-mix(in srgb, var(--danger) 45%, transparent)}.mb-card-warn{border-color:#f59e0b80}.mb-card-head{flex-wrap:wrap;align-items:center;gap:10px;font-size:11.5px;display:flex}.mb-badge{color:#fff;border-radius:4px;padding:2px 7px;font-size:10.5px;font-weight:700}.mb-badge.good{background:#16a34a}.mb-badge.bad{background:var(--danger)}.mb-crc-ok{color:#34d399;font-weight:600}.mb-crc-bad{color:var(--danger);font-weight:600}.mb-regs{flex-wrap:wrap;gap:5px;display:flex}.mb-reg{font-family:var(--font-mono);border:1px solid var(--hairline);border-radius:var(--radius-sm);background:var(--color-surface);align-items:baseline;gap:5px;padding:3px 7px;font-size:12px;display:flex}.mb-reg-idx{color:var(--text-mute);font-size:10px}.mb-reg-dec{font-weight:700}.mb-bits{flex-wrap:wrap;gap:4px;display:flex}.mb-bit{font-family:var(--font-mono);background:var(--color-surface-2);color:var(--text-mute);border-radius:4px;padding:2px 6px;font-size:10px;font-weight:700}.mb-bit.on{color:#34d399;background:#34d39942}.mb-echo{color:var(--text-dim);font-size:11.5px;font-family:var(--font-mono)}.mb-exception{color:var(--danger);background:var(--danger-soft);border-radius:var(--radius-sm);padding:5px 8px;font-size:11.5px;font-weight:700}.mb-raw{font-family:var(--font-mono);word-break:break-all}.mb-hexout .mbap{color:#38bdf8;font-weight:700}.proto-pick{border-bottom:1px dashed var(--hairline);padding-bottom:2px}.at-groups{flex-direction:column;gap:7px;display:flex}.at-group{flex-direction:column;gap:4px;display:flex}.at-group-name{color:var(--text-mute);letter-spacing:.04em;font-size:10.5px;font-weight:700}.at-cmds{flex-wrap:wrap;gap:5px;display:flex}.at-cmd{font-family:var(--font-mono);font-size:10.5px}.at-history{flex-wrap:wrap;gap:5px;max-height:96px;display:flex;overflow:auto}.at-history .btn{font-family:var(--font-mono);font-size:10.5px}.text-log{max-height:320px;font-family:var(--font-mono);flex-direction:column;gap:3px;font-size:11.5px;display:flex;overflow:auto}.text-line{border-radius:var(--radius-sm);background:var(--color-input);border:1px solid var(--hairline);word-break:break-all;align-items:baseline;gap:8px;padding:3px 6px;display:flex}.text-line.tx{border-color:color-mix(in srgb, var(--accent) 35%, transparent)}.text-dir{color:var(--text-mute);flex:none;font-weight:800}.text-line.tx .text-dir{color:var(--accent)}.text-time{color:var(--text-mute);flex:none;font-size:10px}.text-body{flex:1;min-width:0}.asc-panel .hex-title{color:#38bdf8}.asc-panel .hex-tab.active{color:#38bdf8;background:#38bdf824;border-color:#38bdf8}.bus-panel .hex-title{color:#a78bfa}.bus-panel .hex-tab.active{color:#a78bfa;background:#a78bfa24;border-color:#a78bfa}.bus-frames{overscroll-behavior:contain;flex-direction:column;gap:5px;max-height:300px;display:flex;overflow-y:auto}.bus-frame{background:var(--color-surface);border:1px solid var(--hairline);border-radius:var(--radius-sm);flex-direction:column;gap:3px;padding:5px 8px;display:flex}.bus-fr{flex-wrap:wrap;align-items:baseline;gap:7px;display:flex}.bus-time{font-family:var(--font-mono);color:var(--text-mute);flex:none;font-size:10px}.bus-rx{color:#fff;background:#16a34a}.bus-tx{color:#1a1a1a;background:#f59e0b}.bus-id{font-size:11.5px;font-weight:700}.bus-data-row{font-family:var(--font-mono);word-break:break-all;font-size:11px;line-height:1.5}.bus-data{color:var(--text)}.bus-ascii{color:var(--text-mute)}.bus-filter{flex:none;width:92px}.bus-chips{flex-wrap:wrap;gap:5px;display:flex}.bus-dump{font-family:var(--font-mono);background:var(--color-input);border:1px solid var(--hairline);border-radius:var(--radius-sm);padding:6px 8px;font-size:11px;line-height:1.7;overflow-x:auto}.bus-dump-row{white-space:pre;gap:10px;display:flex}.bus-off{color:var(--text-mute);flex:none}.bus-hex{color:var(--text);letter-spacing:.02em}.bus-decode{margin-top:3px}.bus-log{overscroll-behavior:contain;flex-direction:column;gap:3px;max-height:180px;display:flex;overflow-y:auto}.bus-log-row{flex-wrap:wrap;align-items:baseline;gap:6px;font-size:11px;display:flex}.bus-xfer{background:var(--color-input);border:1px solid var(--hairline);border-radius:var(--radius-sm);flex-direction:column;gap:4px;padding:6px 8px;display:flex}.spi-xfer-row{font-family:var(--font-mono);flex-wrap:wrap;align-items:baseline;gap:4px;font-size:11px;display:flex}.spi-xfer-k{color:var(--text-mute);flex:none;width:40px;font-weight:700}.spi-xfer-b{text-align:center;border-radius:3px;min-width:2ch;padding:1px 2px}.bus-diff{color:#a78bfa;background:#a78bfa1f;font-weight:700}@media (max-width:480px){.bus-frames{max-height:220px}.bus-log{max-height:140px}}.asc-pre{white-space:pre-wrap;word-break:break-word;background:var(--color-input);border:1px solid var(--hairline);border-radius:var(--radius-sm);max-height:220px;margin-top:4px;padding:6px 8px;overflow:auto}.log-both{flex-direction:column;gap:1px;min-width:0;display:flex}.log-hex-line{font-family:var(--font-mono);flex-wrap:wrap;gap:0;font-size:12px;line-height:1.5;display:flex}.log-hex{white-space:pre}.log-asc{white-space:pre;color:var(--text-dim);margin-left:12px}.log-fields{font-family:var(--font-mono);color:var(--accent);white-space:pre-wrap;font-size:11px}.hb.sof{color:#c084fc;font-weight:700}.hb.len{color:#38bdf8;font-weight:700}.hb.csum{color:#f59e0b;font-weight:700}.hb.eof{color:#34d399;font-weight:700}.hb.payload{color:inherit}.log-packet{letter-spacing:.2px;color:#fff;border-radius:4px;flex-shrink:0;margin-top:2px;padding:1px 5px;font-size:9.5px;font-weight:700}.log-empty{color:var(--text-mute);pointer-events:none;-webkit-user-select:none;user-select:none;background:var(--color-input);flex-direction:column;justify-content:center;align-items:center;gap:10px;display:flex;position:absolute;top:0;bottom:0;left:0;right:0}.log-empty .icon{color:var(--text-mute);opacity:.4}.log-empty .hint{letter-spacing:.2px;font-size:12px}.log-empty-next{color:var(--text-dim);border-radius:var(--radius-pill);background:var(--accent-soft);border:1px solid var(--accent-line);text-align:center;max-width:82%;padding:4px 12px;font-size:10.5px;line-height:1.5}.log-empty.hidden{display:none}.log-no-match{text-align:center;color:var(--warning);background:var(--warning-soft);border-bottom:1px solid var(--color-border-soft);padding:4px 12px;font-size:11px}.chart-panel{border:1px solid var(--color-border-soft);border-radius:var(--radius-lg);background:var(--color-panel);height:236px;box-shadow:var(--shadow-sm);flex-direction:column;flex-shrink:0;margin-bottom:8px;display:flex;overflow:hidden}.chart-toolbar{background:color-mix(in srgb, var(--color-surface) 75%, transparent);border-bottom:1px solid var(--color-border-soft);justify-content:space-between;align-items:center;gap:10px;padding:6px 12px;display:flex}.chart-title{color:var(--text-dim);font-size:11px;font-weight:650}.chart-points-label{color:var(--text-dim);font-size:10.5px}.chart-readout{border-radius:var(--radius-pill);background:var(--color-input);border:1px solid var(--color-border-soft);font-family:var(--font-mono);color:var(--text);align-items:center;gap:10px;padding:2px 9px;font-size:10.5px;display:inline-flex}.readout-item{align-items:center;gap:4px;display:inline-flex}.readout-item b{color:var(--text-mute);font-weight:600}.readout-dot{border-radius:50%;width:7px;height:7px;display:inline-block}.chart-canvas-wrap{flex:1;position:relative;overflow:hidden}.chart-canvas-wrap canvas{cursor:crosshair;width:100%;height:100%;position:absolute;top:0;bottom:0;left:0;right:0}.send-area{border-top:1px solid var(--color-border-soft);background:var(--color-panel);background:color-mix(in srgb, var(--color-panel) 96%, var(--color-bg));flex-direction:column;flex-shrink:0;gap:8px;padding:10px 12px;display:flex}.send-top{align-items:stretch;gap:8px;display:flex}.send-input-wrap{flex:1}.send-options{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.send-options-left,.send-options-right{align-items:center;gap:6px;display:flex}.send-opt-group{flex-wrap:wrap;align-items:center;gap:6px;min-width:0;display:flex}.send-hint{font-family:var(--font-mono);opacity:.75;font-size:10px}.cycle-config{color:var(--text-dim);flex-wrap:wrap;align-items:center;gap:6px;min-width:0;font-size:10.5px;display:flex}.cycle-config input{width:62px}.send-history{border:1px solid var(--color-border-soft);border-radius:var(--radius);background:var(--color-input);flex-direction:column;max-height:170px;display:flex;overflow:hidden}.send-history-header{background:var(--color-surface);background:color-mix(in srgb, var(--color-surface) 80%, transparent);border-bottom:1px solid var(--color-border-soft);color:var(--text-dim);justify-content:space-between;align-items:center;padding:6px 10px;font-size:11px;display:flex}.send-history-list{overflow-y:auto}.history-item{font-size:11px;font-family:var(--font-mono);cursor:pointer;border-bottom:1px solid var(--color-border-soft);transition:var(--transition);align-items:center;gap:8px;padding:5px 10px;display:flex}.history-item:last-child{border-bottom:none}.history-item:hover{background:var(--color-hover)}.history-text{word-break:break-all;flex:1}.history-del{color:var(--text-mute);cursor:pointer;padding:0 3px}.history-del:hover{color:var(--danger)}.history-empty{text-align:center;color:var(--text-mute);padding:14px;font-size:11px}.quick-send{border-top:1px solid var(--color-border-soft);background:var(--color-panel);background:color-mix(in srgb, var(--color-panel) 96%, var(--color-bg));flex-direction:column;flex-shrink:0;display:flex}.quick-send-head{flex-wrap:wrap;align-items:center;gap:4px;min-height:28px;padding:3px 10px;display:flex}.quick-send-toggle{border-radius:var(--radius-sm);color:var(--text-dim);cursor:pointer;transition:var(--transition);background:0 0;border:none;align-items:center;gap:5px;padding:2px 6px;font-size:11.5px;font-weight:600;display:inline-flex}.quick-send-toggle:hover{background:var(--color-hover);color:var(--text)}.quick-send-caret{transition:transform .16s cubic-bezier(.4,0,.2,1)}.quick-send:not(.is-collapsed) .quick-send-caret{transform:rotate(180deg)}.quick-send-spacer{flex:1;min-width:0}.quick-send-badge{border-radius:var(--radius-pill);border:1px solid var(--color-border-soft);background:var(--color-input);color:var(--text-dim);white-space:nowrap;align-items:center;gap:4px;padding:1px 7px;font-size:10.5px;display:inline-flex}.quick-send-badge.is-live{cursor:pointer;color:var(--warning);border-color:color-mix(in srgb, var(--warning) 45%, transparent)}.quick-send-badge.is-live:hover{background:var(--warning-soft)}.quick-send-body{flex-wrap:wrap;align-items:stretch;gap:6px;padding:0 10px 8px;display:flex}.quick-send-ctl{flex:none;align-items:center;gap:6px;display:flex}.quick-send-suffix{align-items:center;min-width:0;display:inline-flex}.quick-send-input-wrap{flex:220px;align-items:stretch;gap:6px;min-width:0;display:flex}.quick-send-input{flex:1;min-width:0}.quick-send .form-textarea{min-height:30px;max-height:132px}.quick-send-send{flex:none}.cmd-panel{background:var(--color-panel);background:color-mix(in srgb, var(--color-panel) 92%, var(--color-bg));border-left:1px solid var(--color-border-soft);flex-direction:column;flex-shrink:0;width:250px;min-width:0;display:flex;position:relative;overflow:hidden}.cmd-header{background:var(--color-surface);background:color-mix(in srgb, var(--color-surface) 65%, transparent);border-bottom:1px solid var(--color-border-soft);flex-shrink:0;justify-content:space-between;align-items:center;gap:6px;padding:9px 10px;display:flex}.cmd-title{color:var(--text-dim);align-items:center;gap:6px;font-size:11.5px;font-weight:600;display:flex}.cmd-caret{color:var(--text-mute);flex-shrink:0}.cmd-count{color:var(--text-mute);background:var(--color-input);border-radius:var(--radius-pill);text-align:center;min-width:16px;padding:0 6px;font-size:9.5px}.cmd-actions{gap:4px;display:flex}.cmd-body{flex:1;padding:6px;overflow-y:auto}.cmd-group-title{letter-spacing:.8px;text-transform:uppercase;color:var(--text-mute);justify-content:space-between;align-items:center;padding:8px 6px 4px;font-size:9.5px;font-weight:700;display:flex}.cmd-group-count{background:var(--color-input);border-radius:var(--radius-pill);padding:0 5px;font-weight:600}.cmd-item{border-radius:var(--radius-sm);cursor:pointer;transition:var(--transition);border:1px solid #0000;align-items:center;gap:6px;padding:7px 8px;display:flex;position:relative}.cmd-item:hover{background:var(--color-surface);border-color:var(--color-border-soft)}.cmd-info{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.cmd-name{white-space:nowrap;text-overflow:ellipsis;font-size:11.5px;overflow:hidden}.cmd-data{color:var(--text-mute);font-size:9.5px;font-family:var(--font-mono);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.cmd-mode{letter-spacing:.3px;border-radius:4px;flex-shrink:0;padding:1px 5px;font-size:8.5px;font-weight:700}.cmd-mode.hex{color:var(--warning);background:var(--warning-soft)}.cmd-mode.string{color:var(--accent);background:var(--accent-soft)}.cmd-item-actions{opacity:0;pointer-events:none;border-radius:var(--radius-sm);background:var(--color-surface);flex-shrink:0;gap:3px;padding:3px 5px;transition:opacity .14s;display:flex;position:absolute;top:50%;right:5px;transform:translateY(-50%);box-shadow:-10px 0 12px -8px #00000073}.cmd-item:hover .cmd-item-actions,.cmd-item:focus-within .cmd-item-actions{opacity:1;pointer-events:auto}@media (hover:none){.cmd-item-actions{opacity:1;pointer-events:auto;box-shadow:none;background:0 0;padding:0;position:static;transform:none}}.cmd-action-btn{background:var(--color-surface-2);color:var(--text-dim);cursor:pointer;transition:var(--transition);border:none;border-radius:5px;padding:3px 6px;font-size:10px}.cmd-action-btn:hover{background:var(--color-hover);color:var(--text)}.cmd-action-btn.send{color:var(--success)}.cmd-action-btn.del:hover{color:var(--danger)}.cmd-empty{text-align:center;color:var(--text-mute);flex-direction:column;align-items:center;gap:6px;padding:22px 14px;font-size:11.5px;display:flex}.cmd-empty-next{color:var(--text-dim);border-radius:var(--radius-pill);background:var(--accent-soft);border:1px solid var(--accent-line);padding:5px 12px;font-size:10.5px;line-height:1.6}.cmd-hint{border-radius:var(--radius-sm);color:var(--text-mute);background:color-mix(in srgb, var(--color-input) 70%, transparent);border:1px dashed var(--color-border-soft);word-break:break-all;margin-top:8px;padding:7px 8px;font-size:9.5px;line-height:1.6}.btn{border:1px solid var(--color-border-soft);border-radius:var(--radius);background:var(--color-surface);color:var(--text);cursor:pointer;transition:var(--transition);white-space:nowrap;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;gap:5px;padding:7px 13px;font-family:inherit;font-size:12px;display:inline-flex}.btn:hover:not(:disabled){background:var(--color-hover);border-color:var(--color-border)}.btn:disabled{opacity:.38;cursor:not-allowed}.btn-sm{border-radius:var(--radius-sm);padding:4px 9px;font-size:11px}.btn-lg{border-radius:var(--radius-pill);padding:11px 22px;font-size:14px;font-weight:600}.btn-primary{background:var(--brand);color:#fff;border-radius:var(--radius-pill);box-shadow:var(--shadow-sm), var(--inner-hi);border-color:#0000;font-weight:600}.btn-primary:hover:not(:disabled){background:color-mix(in srgb, var(--brand) 86%, #fff);filter:none}.btn-primary:active:not(:disabled){background:color-mix(in srgb, var(--brand) 78%, #000)}.btn-danger{background:var(--danger);color:#fff;border-radius:var(--radius-pill);border-color:#0000}.btn-danger:hover:not(:disabled){background:color-mix(in srgb, var(--danger) 86%, #000);filter:none}.btn-ghost{color:var(--text-dim);background:0 0;border-color:#0000}.btn-ghost:hover:not(:disabled){background:var(--color-surface);color:var(--text);border-color:#0000}.btn-toggle{border-color:var(--color-border-soft);color:var(--text-dim);background:0 0}.btn-toggle:hover:not(:disabled){color:var(--text)}.btn-toggle.active{background:var(--accent-soft);border-color:color-mix(in srgb, var(--accent) 55%, transparent);color:var(--accent);font-weight:600}.btn-toggle.warn.active{background:var(--danger-soft);border-color:color-mix(in srgb, var(--danger) 55%, transparent);color:var(--danger)}.btn-send{min-width:82px;font-weight:600}.seg{background:var(--seg-track);border-radius:9px;gap:2px;padding:2px;display:flex}.seg-item{color:var(--text);cursor:pointer;transition:var(--transition);white-space:nowrap;background:0 0;border:none;border-radius:7px;flex:1;padding:5px 6px;font-size:11.5px}.seg-item:hover:not(.active){color:var(--text);background:color-mix(in srgb, var(--color-hover) 55%, transparent)}.seg-item.active{background:var(--seg-thumb);color:var(--text);box-shadow:0 1px 3px #0000004d, var(--inner-hi);font-weight:650}.conn-type-grid{grid-template-columns:repeat(4,1fr);gap:5px;display:grid}.conn-type-grid .btn{width:100%}.seg-conn{flex-wrap:wrap}.seg-conn .seg-item{flex:calc(25% - 2px);justify-content:center;align-items:center;gap:4px;display:inline-flex}.side-card-sub{letter-spacing:.06em;text-transform:uppercase;color:var(--text-dim);margin:9px 0 5px;font-size:10.5px;font-weight:650}.side-hint{color:var(--text-dim);margin:6px 0 0;font-size:11px;line-height:1.6}.side-hint code{font-family:var(--font-mono);background:var(--color-input);border:1px solid var(--color-border-soft);border-radius:5px;padding:1px 4px;font-size:10.5px}.form-select,.form-input,.form-textarea{width:100%;font-size:12px;font-family:var(--font-mono);background:var(--color-input);border:1px solid var(--color-border-soft);border-radius:var(--radius-sm);color:var(--text);transition:var(--transition);outline:none;padding:6px 9px}.form-select{font-family:var(--font-sans);cursor:pointer}.form-textarea{font-family:var(--font-mono);resize:vertical;min-height:34px;line-height:1.55}.form-select:focus,.form-input:focus,.form-textarea:focus{border-color:var(--accent);box-shadow:var(--glow)}.form-select-sm,.form-input-sm{padding:4px 7px;font-size:11px}.form-select-sm{width:auto}.form-select{-webkit-appearance:none;appearance:none;cursor:pointer;background-image:linear-gradient(45deg,#0000 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,#0000 50%);background-position:calc(100% - 11px) calc(50% + 1px),calc(100% - 7px) calc(50% + 1px);background-repeat:no-repeat;background-size:4px 4px,4px 4px;padding-right:22px}.modal-mask{z-index:2000;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0000008c;justify-content:center;align-items:center;animation:.16s fadeIn;display:flex;position:fixed;top:0;bottom:0;left:0;right:0;width:auto!important;height:auto!important;position:fixed!important;top:0!important;bottom:0!important;left:0!important;right:0!important}:root[data-theme=light] .modal-mask{background:#1d1d1f5c}.modal{background:var(--color-panel);border:1px solid var(--color-border-soft);border-radius:var(--radius-xl);width:min(440px,100vw - 40px);box-shadow:var(--shadow-lg);outline:none;max-width:calc(100vw - 40px);max-height:calc(100vh - 40px);padding:18px;animation:.22s cubic-bezier(.2,.8,.3,1) modalIn;overflow:auto;position:relative!important;top:auto!important;left:auto!important;right:auto!important;transform:none!important}.modal:focus{outline:none}.modal-title{letter-spacing:-.2px;flex-wrap:wrap;align-items:center;gap:7px;margin-bottom:14px;font-size:15px;font-weight:700;display:flex}.sr-only{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.modal-body{color:var(--text-dim);margin-bottom:16px;font-size:13px;line-height:1.6}.modal-actions{justify-content:flex-end;gap:8px;display:flex}.modal-hint{color:var(--text-mute);background:var(--color-surface);background:color-mix(in srgb, var(--color-surface) 70%, transparent);border-left:2px solid var(--accent);word-break:break-all;border-radius:6px;padding:7px 10px;font-size:10.5px;line-height:1.6}.form-group{margin-bottom:12px}.form-group>label{color:var(--text-dim);justify-content:space-between;align-items:center;margin-bottom:5px;font-size:11.5px;display:flex}.mode-row{gap:6px;display:flex}.mode-row .btn{flex:1}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes modalIn{0%{opacity:0;transform:translateY(12px)scale(.98)}to{opacity:1;transform:none}}.toast-viewport{z-index:3000;pointer-events:none;flex-direction:column;gap:8px;width:min(340px,100vw - 36px);max-width:100vw;margin:0;padding:0;list-style:none;display:flex;position:fixed;top:64px;right:18px}.toast-viewport:focus{outline:none}.hp-tip-scope{z-index:4000;pointer-events:none;position:fixed;top:0;bottom:0;left:0;right:0}.hp-tip{z-index:4001;pointer-events:none;letter-spacing:.1px;max-width:300px;color:var(--text);background:var(--color-surface);border:1px solid var(--color-border-soft);box-shadow:var(--shadow);-webkit-backdrop-filter:var(--blur-light);backdrop-filter:var(--blur-light);opacity:0;transition:opacity var(--dur-fast,.12s) var(--ease-out,ease), transform var(--dur-fast,.12s) var(--ease-out,ease);white-space:pre-wrap;word-break:break-word;border-radius:9px;padding:7px 11px;font-size:11.5px;line-height:1.55;position:fixed;transform:translateY(3px)}.hp-tip.is-open{opacity:1;transform:none}.hp-tip-line+.hp-tip-line{margin-top:2px}:root[data-theme=light] .hp-tip{background:#fff}.toast{border-radius:var(--radius-lg);max-width:340px;box-shadow:var(--shadow);border:1px solid var(--color-border-soft);background:var(--color-surface);background:color-mix(in srgb, var(--color-surface) 92%, transparent);-webkit-backdrop-filter:var(--blur-light);backdrop-filter:var(--blur-light);color:var(--text);align-items:center;gap:9px;padding:10px 14px;font-size:12.5px;animation:.24s cubic-bezier(.2,.8,.3,1) toastIn;display:flex}.toast .bar{border-radius:2px;align-self:stretch;width:3px}.toast.info .bar{background:var(--accent)}.toast.success .bar{background:var(--success)}.toast.warning .bar{background:var(--warning)}.toast.error .bar{background:var(--danger)}.toast.leaving{animation:.24s forwards toastOut}@keyframes toastIn{0%{opacity:0;transform:translate(40px)}to{opacity:1;transform:none}}@keyframes toastOut{0%{opacity:1}to{opacity:0;transform:translate(40px)}}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:color-mix(in srgb, var(--text-mute) 45%, transparent);background-clip:padding-box;border:2px solid #0000;border-radius:6px}::-webkit-scrollbar-thumb:hover{background:var(--text-mute);background-clip:padding-box}::-webkit-scrollbar-corner{background:0 0}.hidden{display:none!important}.welcome{z-index:50;background:radial-gradient(1200px 600px at 20% -10%, color-mix(in srgb, var(--brand) 22%, transparent), transparent 60%), radial-gradient(1000px 500px at 110% 110%, color-mix(in srgb, var(--brand-2) 18%, transparent), transparent 60%), var(--color-bg);place-items:center;padding:24px;display:grid;position:fixed;top:0;bottom:0;left:0;right:0;overflow:auto}.welcome-card{background:var(--color-panel);background:color-mix(in srgb, var(--color-panel) 92%, transparent);width:min(560px,100%);-webkit-backdrop-filter:var(--blur-heavy);backdrop-filter:var(--blur-heavy);border:1px solid var(--color-border-soft);box-shadow:var(--shadow-lg);text-align:center;border-radius:22px;padding:32px 30px 26px}.welcome-logo{background:linear-gradient(150deg, var(--brand), var(--brand-2));color:#fff;width:56px;height:56px;box-shadow:var(--shadow-sm), var(--inner-hi);border-radius:16px;place-items:center;margin:0 auto 14px;font-size:26px;font-weight:800;display:grid}.welcome-title{letter-spacing:-.4px;margin:0 0 6px;font-size:22px}.welcome-sub{color:var(--text-dim);margin:0 0 20px;font-size:13px;line-height:1.7}.welcome-grid{grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:18px;display:grid}.welcome-choice{cursor:pointer;background:var(--color-surface);border:1px solid var(--color-border-soft);color:var(--text);transition:var(--transition);border-radius:16px;flex-direction:column;align-items:center;gap:6px;padding:14px 8px;display:flex}.welcome-choice:hover{border-color:var(--accent);transform:translateY(-2px)}.welcome-choice.active{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 12%, var(--color-surface));box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 22%, transparent)}.welcome-icon{color:var(--accent)}.welcome-label{font-size:13px;font-weight:700}.welcome-desc{color:var(--text-mute);font-size:10.5px}.welcome-note{color:var(--text-mute);text-align:left;background:var(--color-surface);background:color-mix(in srgb, var(--color-surface) 70%, transparent);border-left:3px solid var(--brand);border-radius:8px;margin:0 0 18px;padding:10px 12px;font-size:11.5px;line-height:1.7}.welcome-actions{justify-content:center;gap:10px;display:flex}@media (max-width:520px){.welcome-grid{grid-template-columns:repeat(2,1fr)}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.presence-badge.is-online .presence-dot{animation:none}}@supports not (container-type:inline-size){@media (max-width:1500px){.pv-sidebar{width:200px;min-width:200px}.cmd-panel{max-width:220px}}@media (max-width:1180px){.pv-sidebar{width:168px;min-width:168px}.cmd-panel{max-width:176px}.pv-alias-input{flex-basis:96px}.cmd-panel .cmd-header{gap:3px;padding:7px 6px}.cmd-panel .cmd-title{white-space:nowrap;flex-shrink:0;gap:3px;font-size:11px}.cmd-panel .cmd-caret{display:none}.cmd-panel .cmd-count{padding:0 5px}.cmd-panel .cmd-actions{gap:2px}.cmd-panel .cmd-actions button{padding:3px 5px;font-size:11px}}}@media (pointer:coarse){.btn{min-height:34px}.btn-sm{min-height:30px}.seg-item,.session-item,.history-item{min-height:34px}.chip{align-items:center;min-height:28px;display:inline-flex}.filter-clear{padding:6px}.session-del,.history-del{padding:4px 6px}}@media (max-width:1320px){.brand-tag{display:none}}@media (max-width:1140px){.brand-name{display:none}}@media (max-width:1024px){.header-right .header-menu-btn{display:grid}.header-controls{z-index:60;background:var(--color-panel);border:1px solid var(--color-border-soft);border-radius:var(--radius-lg);min-width:216px;box-shadow:var(--shadow-lg);-webkit-backdrop-filter:var(--blur-light);backdrop-filter:var(--blur-light);flex-direction:column;align-items:stretch;gap:10px;padding:12px;display:none;position:absolute;top:calc(100% + 8px);right:0}.header-controls.open{display:flex}.header-controls .qv-toolbar{flex-wrap:wrap}.header-controls .qv-btn{flex:1 0 auto}.header-controls .count-stepper{justify-content:space-between;height:34px}.header-controls .count-stepper .form-select{flex:1;min-width:64px}.header-controls .seg-theme{justify-content:space-between}.header-controls .seg-theme .seg{flex:1}}@media (max-width:760px),(max-width:900px) and (pointer:coarse),(orientation:landscape) and (pointer:coarse) and (max-width:940px){:root{--header-h:48px}.brand-name,.brand-tag{display:none}.app-header{height:auto;min-height:var(--header-h);padding:6px 10px;padding-top:calc(6px + env(safe-area-inset-top));flex-wrap:wrap;gap:8px}.brand{gap:7px;min-width:0}.presence-badge{margin-left:2px;padding:2px 8px 2px 7px}.conn-nav{flex:100%;order:3;justify-content:center;margin:4px 0 0}.conn-nav .seg-item{justify-content:center;min-height:32px;padding:6px 8px}.header-menu-btn{width:34px;height:34px}.header-controls{min-width:min(264px,100vw - 24px)}.pane-tabs{-webkit-overflow-scrolling:touch;scrollbar-width:none;flex-shrink:0;gap:6px;padding:6px 8px 2px;display:flex;overflow-x:auto}.pane-tabs::-webkit-scrollbar{display:none}.pane-tab{border-radius:var(--radius-pill);cursor:pointer;background:var(--color-surface);border:1px solid var(--color-border-soft);min-height:34px;color:var(--text-dim);white-space:nowrap;transition:var(--transition);flex-shrink:0;align-items:center;gap:6px;padding:5px 12px;font-size:12px;display:inline-flex}.pane-tab.active{background:var(--accent-soft);color:var(--text);border-color:color-mix(in srgb, var(--accent) 55%, transparent);font-weight:600}.pt-badge{color:#fff;background:var(--accent);border-radius:6px;flex-shrink:0;place-items:center;width:19px;height:19px;font-size:10px;font-weight:700;display:grid}.pt-badge.a{background:linear-gradient(135deg,#0071e3,#4db2ff)}.pt-badge.b{background:linear-gradient(135deg,#bf5af2,#8a7dff)}.pt-badge.c{background:linear-gradient(135deg,#30d158,#64e088)}.pt-badge.d{background:linear-gradient(135deg,#ff9f0a,#ffc24d)}.pt-alias{text-overflow:ellipsis;max-width:96px;overflow:hidden}.pt-dot{background:var(--text-mute);border-radius:50%;flex-shrink:0;width:7px;height:7px}.pt-dot.connecting{background:var(--warning);animation:1s infinite pulse}.pt-dot.connected{background:var(--success);box-shadow:0 0 6px var(--success)}.pt-dot.error{background:var(--danger)}.split-container{padding:6px;padding-bottom:calc(6px + env(safe-area-inset-bottom))}.split-container.is-tabbed{grid-template-rows:1fr!important;grid-template-columns:1fr!important}.split-container.is-tabbed .split-pane{grid-area:1/1!important}.split-container.is-tabbed .split-pane:not(.pane-active),.split-container.is-tabbed .split-divider{display:none}.port-view{border-radius:14px}.pv-header{flex-wrap:wrap;gap:6px;height:auto;min-height:42px;padding:5px 10px}.pv-alias-input{flex:88px;min-width:0;font-size:16px}.pv-baud{display:none}.side-body{padding-bottom:calc(10px + env(safe-area-inset-bottom));overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.cmd-body{overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.cmd-item{min-height:42px}.cmd-action-btn{min-height:28px;padding:4px 9px}.filter-bar{flex-wrap:wrap;gap:6px;padding:8px}.filter-input-wrap,.filter-controls{flex:100%}.filter-controls .btn{flex:1;min-height:32px}.log-toolbar{flex-wrap:wrap;gap:6px;padding:6px 8px}.toolbar-group{flex-wrap:wrap;gap:5px}.toolbar-group .btn{min-height:32px}.toolbar-stats{flex:100%;order:3;justify-content:space-between;gap:6px;font-size:10px}.log-container{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;font-size:12px}.log-entry{padding:3px 8px}.log-empty .icon{width:26px;height:26px}.chart-panel,.chart-card{height:176px}.send-area{gap:6px;padding:8px}.send-options{gap:6px}.send-options-left,.send-options-right{flex-wrap:wrap}.send-options .btn{min-height:32px}.cycle-config{flex-wrap:wrap}.cycle-config input{min-height:32px}.btn-send{min-height:42px;padding:8px 20px}.send-history{max-height:150px}.send-history-list,.session-list{overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.form-select,.form-input,.form-textarea{padding:8px 10px;font-size:16px}.form-select-sm,.form-input-sm{padding:7px 9px;font-size:16px}::-webkit-scrollbar{width:4px;height:4px}::-webkit-scrollbar-thumb{border-width:1px}.modal-mask{align-items:flex-end;padding:10px}.modal{border-radius:18px;width:100%;max-height:88vh;padding:16px;overflow-y:auto}.modal-actions{flex-wrap:wrap}.modal-actions .btn{flex:1;min-height:40px}.toast-host{top:auto;left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom))}.toast{max-width:none}.welcome{padding:14px}.welcome-card{border-radius:18px;padding:24px 16px 20px}.welcome-actions{flex-direction:column-reverse}.welcome-actions .btn{width:100%;min-height:44px}}@media (max-width:400px){.pt-alias{max-width:60px}.brand-version{padding:1px 6px}.presence-badge{font-size:10px}}@media (orientation:landscape) and (pointer:coarse) and (max-width:940px){.app-header{padding-left:calc(10px + env(safe-area-inset-left));padding-right:calc(10px + env(safe-area-inset-right))}.split-container{padding-left:calc(6px + env(safe-area-inset-left));padding-right:calc(6px + env(safe-area-inset-right))}.toast-host{left:calc(12px + env(safe-area-inset-left));right:calc(12px + env(safe-area-inset-right))}.modal-mask{padding-left:calc(10px + env(safe-area-inset-left));padding-right:calc(10px + env(safe-area-inset-right))}}@media (max-height:480px) and (pointer:coarse){.pv-header{min-height:38px}.chart-panel,.chart-card{height:128px}.send-area .form-textarea{min-height:30px}.send-history{max-height:96px}}:root{--dur-fast:.12s;--dur-base:.18s;--dur-slow:.26s;--ease-out:cubic-bezier(.22, .61, .36, 1);--shadow-pop:0 16px 40px #00000057, 0 2px 8px #0000002e}:root[data-theme=light]{--shadow-pop:0 16px 40px #1d1d1f29, 0 2px 8px #1d1d1f14}@keyframes hp-enter{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@keyframes hp-pop{0%{opacity:0;transform:translateY(4px)scale(.99)}to{opacity:1;transform:none}}@keyframes hp-shake{10%,90%{transform:translate(-1px)}20%,80%{transform:translate(2px)}30%,50%,70%{transform:translate(-3px)}40%,60%{transform:translate(3px)}}@keyframes hp-spin{to{transform:rotate(360deg)}}@keyframes hp-popover{0%{opacity:0;transform:translateY(-6px)scale(.98)}to{opacity:1;transform:none}}@keyframes hp-flash{0%{background:var(--accent-soft)}to{background:0 0}}.mb-section{animation:hp-enter var(--dur-slow) var(--ease-out) backwards}.mb-card,.hex-frame,.text-line,.send-history-list>*{animation:hp-pop var(--dur-base) var(--ease-out) backwards}.mb-error{animation:.34s cubic-bezier(.36,.07,.19,.97) hp-shake}.btn:active:not(:disabled){transform:scale(.97)}.segmented .seg:active,.qv-btn:active{transform:scale(.95)}.icon-btn:active{transform:scale(.9)}.btn-send{position:relative}.btn-send.is-sending{color:#0000;pointer-events:none}.btn-send.is-sending:after{content:"";border:2px solid #ffffff59;border-top-color:#fff;border-radius:50%;width:13px;height:13px;margin:auto;animation:.7s linear infinite hp-spin;position:absolute;top:0;bottom:0;left:0;right:0}.mb-hexout,.mb-num,.mb-reg,.mb-card,.mb-regs,.send-history-list,.cycle-config input{font-variant-numeric:tabular-nums}.mb-section-title{letter-spacing:.06em}.mb-hexout{-webkit-user-select:text;user-select:text}.mb-hexout span{cursor:copy;transition:background-color var(--dur-fast) ease, color var(--dur-fast) ease;border-radius:4px;padding:1px 0}.mb-hexout span:hover{background:var(--accent-soft);color:var(--accent)}.mb-hexout span.hp-copied{color:var(--accent);font-weight:700;animation:.7s ease-out hp-flash}.mb-hexout.hp-copied-box{animation:.7s ease-out hp-flash}.mb-hexout:after{content:"点字节复制该字节 · 点空白复制整帧";font-family:var(--font-sans);letter-spacing:.02em;color:var(--text-mute);opacity:0;transition:opacity var(--dur-base) ease;margin-top:4px;font-size:9.5px;display:block}.mb-hexout:hover:after{opacity:.85}.empty-state{text-align:center;border:1px dashed var(--color-border);border-radius:var(--radius);color:var(--text-mute);background:color-mix(in srgb, var(--color-surface) 55%, transparent);animation:hp-pop var(--dur-base) var(--ease-out) backwards;flex-direction:column;align-items:center;gap:5px;padding:16px 12px;font-size:11px;line-height:1.6;display:flex}.empty-state .es-icon{color:var(--text-mute);opacity:.65;place-items:center;line-height:1;display:grid}.empty-state .es-key{font-family:var(--font-mono);border:1px solid var(--color-border-soft);background:var(--color-input);color:var(--text-dim);border-radius:5px;padding:1px 6px;font-size:10px}.send-options-left,.send-options-right{flex-wrap:wrap;row-gap:6px}.send-options-left>*,.send-options-right>*{flex-shrink:0}.send-opt-group>.cycle-config{flex-shrink:1}.send-mode,.sw{white-space:nowrap;flex:none}.pp{flex:1;min-width:150px;display:inline-flex;position:relative}.pp-trigger{width:100%;font-family:var(--font-mono);text-align:left;color:var(--text);cursor:pointer;background:var(--color-input);border:1px solid var(--color-border);border-radius:var(--radius-sm);transition:var(--transition);align-items:center;gap:8px;padding:6px 9px;font-size:12px;display:flex}.pp-trigger:hover{border-color:var(--accent)}.pp-trigger.open{border-color:var(--accent);box-shadow:var(--glow)}.pp-name{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.pp-caret{color:var(--text-mute);transition:transform var(--dur-base) var(--ease-out);font-size:9px}.pp-trigger.open .pp-caret{transform:rotate(180deg)}.pp-kbd{font-family:var(--font-sans);letter-spacing:.02em;color:var(--text-mute);border:1px solid var(--color-border-soft);background:var(--color-surface);border-radius:4px;padding:1px 5px;font-size:9px}.pp-pop{z-index:96;background:var(--color-bg-elev);min-width:268px;max-width:360px;-webkit-backdrop-filter:var(--blur-heavy);backdrop-filter:var(--blur-heavy);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-pop);animation:hp-popover var(--dur-base) var(--ease-out);flex-direction:column;display:flex;position:fixed;overflow:hidden}.pp-search-wrap{border-bottom:1px solid var(--hairline);padding:8px;position:relative}.pp-search-icon{color:var(--text-mute);pointer-events:none;font-size:12px;position:absolute;top:50%;left:17px;transform:translateY(-50%)}.pp-search{width:100%;color:var(--text);background:var(--color-input);border:1px solid var(--color-border-soft);border-radius:var(--radius-sm);transition:var(--transition);padding:6px 8px 6px 24px;font-family:inherit;font-size:12px}.pp-search:focus{border-color:var(--accent);box-shadow:var(--glow);outline:none}.pp-list{overscroll-behavior:contain;max-height:min(300px,52vh);padding:5px;overflow-y:auto}.pp-group{letter-spacing:.08em;text-transform:uppercase;color:var(--text-mute);padding:9px 8px 4px;font-size:9.5px;font-weight:700}.pp-item{border-radius:var(--radius-sm);width:100%;color:var(--text);text-align:left;cursor:pointer;transition:background-color var(--dur-fast) ease, color var(--dur-fast) ease;background:0 0;border:none;align-items:center;gap:8px;padding:7px 9px;font-family:inherit;font-size:12px;display:flex}.pp-item:hover{background:var(--color-hover)}.pp-item.on{background:var(--brand);color:#fff}.pp-item.on .pp-sub,.pp-item.on .pp-check{color:#ffffffd1}.pp-item.cur{font-weight:700}.pp-sub{color:var(--text-mute);font-size:10px;font-family:var(--font-mono);margin-left:auto}.pp-check{color:var(--brand);margin-left:auto;font-size:11px}.pp-empty{text-align:center;color:var(--text-mute);padding:18px 12px;font-size:11px}.pp-foot{border-top:1px solid var(--hairline);color:var(--text-mute);background:color-mix(in srgb, var(--color-surface) 60%, transparent);gap:10px;padding:6px 10px;font-size:9.5px;display:flex}.pp-foot b{color:var(--text-dim);font-weight:600;font-family:var(--font-mono)}.sw{color:var(--text-dim);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:7px;font-size:11px;display:inline-flex}.sw input{opacity:0;width:0;height:0;position:absolute}.sw-track{background:var(--seg-track);width:34px;height:20px;box-shadow:var(--inner-hi);transition:background-color var(--dur-base) var(--ease-out);border-radius:999px;flex:none;position:relative}.sw-track:after{content:"";width:16px;height:16px;transition:transform var(--dur-base) var(--ease-out);background:#fff;border-radius:50%;position:absolute;top:2px;left:2px;box-shadow:0 1px 3px #00000052}.sw input:checked+.sw-track{background:var(--brand)}.sw input:checked+.sw-track:after{transform:translate(14px)}.sw input:focus-visible+.sw-track{outline:2px solid var(--accent);outline-offset:2px}.sw input:disabled+.sw-track{opacity:.4}.sw:hover .sw-track:after{transform:scale(1.06)}.sw input:checked:hover+.sw-track:after{transform:translate(14px)scale(1.06)}html{scrollbar-width:thin;scrollbar-color:color-mix(in srgb, var(--text-mute) 45%, transparent) transparent}.rec-bar{background:color-mix(in srgb, var(--color-surface) 72%, transparent);border:1px solid var(--color-border-soft);border-radius:var(--radius);flex-wrap:wrap;align-items:center;gap:8px;margin-top:6px;padding:6px 10px;display:flex}.rec-live{color:var(--danger);white-space:nowrap;align-items:center;gap:6px;font-size:11px;font-weight:700;display:inline-flex}.rec-dot{background:var(--danger);border-radius:50%;width:8px;height:8px;animation:1s ease-in-out infinite rec-blink}@keyframes rec-blink{50%{opacity:.25}}.rec-meta,.rec-progress{color:var(--text-dim);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:11px}.rec-meta b{color:var(--text)}.rec-spacer{flex:auto}.rec-speed{align-items:center;min-width:0;display:inline-flex}.rec-file{display:none}.btn.rec-on{background:var(--danger-soft);border-color:color-mix(in srgb, var(--danger) 55%, transparent);color:var(--danger)}.ar-modal{width:min(620px,100vw - 40px)}.ar-total{color:var(--text-mute);font-variant-numeric:tabular-nums;margin-left:6px;font-size:11px;font-weight:600}.ar-master{background:color-mix(in srgb, var(--color-surface) 70%, transparent);border:1px solid var(--color-border-soft);border-radius:var(--radius-sm);flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:10px;padding:8px 10px;display:flex}.ar-stat{color:var(--text-dim);font-variant-numeric:tabular-nums;font-size:11px}.ar-stat b{color:var(--text)}.ar-list{flex-direction:column;gap:8px;max-height:min(46vh,420px);padding:2px;display:flex;overflow-y:auto}.ar-card{border:1px solid var(--color-border-soft);border-radius:var(--radius-sm);background:color-mix(in srgb, var(--color-panel) 60%, transparent);animation:hp-pop var(--dur-base) var(--ease-out) backwards;padding:8px}.ar-card.off{opacity:.55}.ar-head{align-items:center;gap:6px;display:flex}.sw-only{gap:0}.ar-idx{color:var(--text-mute);font-variant-numeric:tabular-nums;flex:none;font-size:11px}.ar-name{flex:auto;min-width:0}.ar-fired{color:var(--text-dim);white-space:nowrap;font-variant-numeric:tabular-nums;flex:none;font-size:11px}.ar-del{flex:none;padding:0 7px;font-size:15px;line-height:1}.ar-row{flex-wrap:wrap;align-items:center;gap:6px;margin-top:6px;display:flex}.ar-label{width:30px;color:var(--text-dim);flex:none;font-size:11px}.ar-sel{flex:none;width:88px}.ar-value{flex:150px;min-width:0}.ar-any-hint{color:var(--text-mute);font-size:11px}.ar-num{text-align:right;font-variant-numeric:tabular-nums;flex:none;width:76px}.ar-unit{color:var(--text-mute);white-space:nowrap;font-size:10.5px}.ar-warn{color:var(--danger);align-items:flex-start;gap:5px;margin-top:6px;font-size:10.5px;line-height:1.5;display:flex}.ar-warn>svg{flex-shrink:0;margin-top:1px}.form-input.is-invalid,.form-input.is-invalid:focus,.form-select.is-invalid,.form-select.is-invalid:focus{border-color:var(--danger);box-shadow:0 0 0 3px color-mix(in srgb, var(--danger) 18%, transparent)}.ar-modal .modal-actions{margin-top:14px}@media (max-width:560px){.ar-sel{width:82px}.ar-label{width:26px}.rec-bar{gap:6px}.rec-spacer{flex-basis:100%;height:0}}[data-reka-popper-content-wrapper]{transition:none!important}.pv-nav{border-bottom:1px solid var(--color-border-soft);background:var(--color-surface);scrollbar-width:thin;flex-shrink:0;align-items:stretch;gap:2px;padding:4px 10px 0;display:flex;overflow-x:auto}.pv-nav-btn{border-radius:var(--radius-sm) var(--radius-sm) 0 0;color:var(--text-dim);cursor:pointer;white-space:nowrap;transition:var(--transition);background:0 0;border:1px solid #0000;border-bottom:none;align-items:center;gap:5px;padding:6px 14px;font-family:inherit;font-size:12px;display:inline-flex}.pv-nav-btn:hover{background:var(--color-hover);color:var(--text)}.pv-nav-btn.active{background:var(--color-panel);color:var(--accent);border-color:var(--color-border-soft);font-weight:600}.pn-ico{opacity:.92;flex-shrink:0}.pn-label{line-height:1.2}.pv-subnav{border-bottom:1px solid var(--color-border-soft);background:var(--color-panel);scrollbar-width:thin;flex-shrink:0;align-items:stretch;gap:2px;padding:3px 10px 0;display:flex;overflow-x:auto}.pv-subnav-btn{border-radius:var(--radius-sm) var(--radius-sm) 0 0;color:var(--text-dim);cursor:pointer;white-space:nowrap;transition:var(--transition);background:0 0;border:1px solid #0000;border-bottom:none;align-items:center;gap:5px;padding:5px 10px;font-family:inherit;font-size:11.5px;display:inline-flex}.pv-subnav-btn:hover{background:var(--color-hover);color:var(--text)}.pv-subnav-btn.active{background:var(--color-surface);color:var(--accent);border-color:var(--color-border-soft);font-weight:600}.pv-pane{flex-direction:column;flex:1;min-width:0;display:flex;position:relative;overflow:hidden}.pv-pane>*{flex:1;min-height:0}.hex-panel.docked .hex-body{flex:1;overflow:auto}.pv-sidebar.docked{border-right:none;flex:1;width:100%;min-width:0;position:static;overflow:auto}.pv-sidebar.docked .side-body{overflow:visible}.side-header-docked{color:var(--text);border-bottom:1px solid var(--hairline);padding:10px 14px;font-size:12.5px;font-weight:700}.cmd-panel.docked{min-width:0;box-shadow:none;border-left:none;flex-direction:column;flex:1;display:flex;position:static;width:100%!important}.cmd-panel.docked .cmd-body{flex:1;overflow:auto}.cmd-header-docked{cursor:default}.pv-pane .send-area{flex-direction:column;flex:1;display:flex;overflow:auto}.app-footer{border-top:1px solid var(--hairline);background:var(--bg-soft);color:var(--text-mute);padding:5px 12px;padding-bottom:calc(5px + env(safe-area-inset-bottom,0px));flex-wrap:wrap;flex:none;justify-content:center;align-items:center;gap:4px 8px;font-size:11.5px;line-height:1.5;display:flex}html.kb-open .app-footer{display:none}.af-copy{white-space:nowrap}.af-sep{color:var(--color-border-soft)}.af-icp{color:inherit;align-items:center;gap:4px;text-decoration:none;transition:color .15s;display:inline-flex}.af-icp:hover{color:var(--accent)}.af-icp-ico{opacity:.85;flex:none}.pv-tools{flex-direction:column;flex:1;gap:10px;min-height:0;padding:10px;display:flex;overflow:hidden auto}.tool-card{background:var(--color-panel);background:color-mix(in srgb, var(--color-panel) 94%, var(--color-bg));border:1px solid var(--color-border-soft);border-radius:var(--radius-lg);flex-direction:column;flex:none;min-width:0;display:flex;overflow:hidden}.tool-card-head{background:var(--color-surface);background:color-mix(in srgb, var(--color-surface) 65%, transparent);border-bottom:1px solid var(--color-border-soft);flex-shrink:0;justify-content:flex-start;align-items:center;gap:8px;min-width:0;padding:8px 10px;display:flex}.tool-card-title{color:var(--text-dim);letter-spacing:.3px;white-space:nowrap;font-size:12px;font-weight:700}.tool-card-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:6px;min-width:0;margin-left:auto;display:flex}.tool-card-body{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex}.card-badge-chart{background:linear-gradient(150deg,#64d2ff,#0a84ff)}.card-badge-quick{background:linear-gradient(150deg,#ffd60a,#ff9f0a)}.card-badge-debug{background:linear-gradient(150deg,#ff375f,#d70037)}.pv-tools.pv-chart .chart-card{flex:1;min-height:300px}.chart-card .tool-card-body{overflow:hidden}.tool-card.quick-card{border-left-width:1px;flex:none}.quick-card .cmd-header{justify-content:flex-start}.quick-card .cmd-body{max-height:46vh;padding:8px}.cmd-grid{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:8px;padding:2px;display:grid}.cmd-card{background:var(--color-input);background:color-mix(in srgb, var(--color-input) 70%, transparent);border:1px solid var(--color-border-soft);border-radius:var(--radius,8px);min-width:0;transition:var(--transition);flex-direction:column;gap:5px;padding:8px 9px;display:flex}.cmd-card:hover{background:var(--color-surface);border-color:var(--accent-line,var(--accent))}.cmd-card-top{align-items:center;gap:6px;min-width:0;display:flex}.cmd-card-top .cmd-name{flex:1;min-width:0}.cmd-card .cmd-data{font-family:var(--font-mono);color:var(--text-mute);white-space:pre-wrap;word-break:break-all;max-height:46px;font-size:10px;line-height:1.5;overflow:hidden}.cmd-card-actions{justify-content:flex-end;gap:4px;display:flex}.debug-card{min-height:520px}.debug-card .tool-card-body{flex:1;min-height:0}.debug-seg{flex-shrink:0}.debug-seg .seg{align-items:center;gap:5px;padding:4px 9px;font-size:11.5px;display:inline-flex}@media (max-width:760px),(max-width:900px) and (pointer:coarse),(orientation:landscape) and (pointer:coarse) and (max-width:940px){.pv-tools.pv-chart .chart-card{flex:none;height:176px;min-height:0}.debug-card{min-height:440px}}@media (max-height:480px) and (pointer:coarse){.pv-tools.pv-chart .chart-card{flex:none;height:128px;min-height:0}.quick-card .cmd-body{max-height:36vh}}
