.hint[data-v-018eef60]{margin:0 0 12px;font-size:12px}.curve .canvas[data-v-3b50b1f6]{border:1px solid var(--border);touch-action:none;cursor:crosshair;border-radius:8px;width:100%;height:120px}.presets[data-v-3b50b1f6]{flex-wrap:wrap;gap:6px;margin-top:6px;display:flex}p[data-v-3b50b1f6]{margin:6px 0 0;font-size:12px}.intro[data-v-c6d56747]{margin:0 0 12px;font-size:13px}.presets[data-v-716c2f7c]{flex-wrap:wrap;gap:6px;display:flex}.thumb[data-v-6301344f]{width:100%;display:block}.filters[data-v-a124e3cd]{flex-wrap:wrap;align-items:center;gap:8px;margin:10px 0;display:flex}.tags[data-v-a124e3cd]{flex-wrap:wrap;gap:6px;display:flex}.grid[data-v-a124e3cd]{grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:8px;max-height:50vh;padding:2px;display:grid;overflow-y:auto}.card[data-v-a124e3cd]{background:var(--panel-2);border:1px solid var(--border);text-align:left;color:var(--text);cursor:pointer;border-radius:10px;flex-direction:column;gap:4px;padding:8px;display:flex}.card[data-v-a124e3cd]:hover{border-color:#444456}.card.active[data-v-a124e3cd]{border-color:var(--ch-a);box-shadow:0 0 0 1px var(--ch-a)}.name[data-v-a124e3cd]{white-space:nowrap;text-overflow:ellipsis;font-size:13px;overflow:hidden}.meta[data-v-a124e3cd],.small[data-v-a124e3cd]{font-size:11px}.footer[data-v-a124e3cd]{flex-wrap:wrap;align-items:center;gap:8px;margin-top:12px;display:flex}.plist[data-v-a124e3cd]{flex-direction:column;gap:8px;margin-top:10px;display:flex}.prow[data-v-a124e3cd]{background:var(--panel-2);border-radius:10px;align-items:center;gap:10px;padding:10px;display:flex}.pinfo[data-v-a124e3cd]{flex:1}.batch[data-v-171ace64]{z-index:40;padding:10px 16px calc(10px + env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-top:1px solid var(--border);background:#16161cf5;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -8px 24px #0006}.inner[data-v-171ace64]{flex-wrap:wrap;align-items:center;gap:8px;max-width:1480px;margin:0 auto;display:flex}.count[data-v-171ace64]{background:var(--panel-3);border:1px solid var(--border);color:var(--text);cursor:pointer;border-radius:8px;padding:5px 10px;font-size:13px}.count b[data-v-171ace64]{color:var(--ch-a)}.list[data-v-171ace64]{max-height:240px;font-size:13px;line-height:1.8;overflow-y:auto}.slide-enter-active[data-v-171ace64],.slide-leave-active[data-v-171ace64]{transition:transform .2s,opacity .2s}.slide-enter-from[data-v-171ace64],.slide-leave-to[data-v-171ace64]{opacity:0;transform:translateY(100%)}.qr[data-v-fc725964]{background:#fff;border-radius:10px;padding:6px}.create[data-v-b6301b5f]{flex-direction:column;gap:12px;display:flex}.create p[data-v-b6301b5f]{margin:0;font-size:13px}.pair[data-v-b6301b5f]{flex-direction:column;align-items:center;gap:12px;display:flex}.state[data-v-b6301b5f]{color:var(--warn);align-items:center;gap:6px;font-size:14px;display:flex}.state.online[data-v-b6301b5f]{color:var(--ok)}.steps[data-v-b6301b5f]{align-self:stretch;margin:0;padding-left:20px;font-size:13px;line-height:1.7}.links[data-v-b6301b5f]{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.code[data-v-b6301b5f]{margin:0;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}.app-header[data-v-c0262a92]{z-index:50;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--border);background:#0e0e12eb;position:sticky;top:0}.header-inner[data-v-c0262a92]{flex-wrap:wrap;align-items:center;gap:12px;max-width:1480px;margin:0 auto;padding:8px 16px;display:flex}.brand[data-v-c0262a92]{color:var(--text);align-items:center;gap:8px;font-size:16px;font-weight:600;text-decoration:none;display:flex}.nav[data-v-c0262a92]{gap:2px;display:flex;overflow-x:auto}.nav-link[data-v-c0262a92]{color:var(--muted);white-space:nowrap;border-radius:8px;padding:6px 12px;font-size:14px;text-decoration:none}.nav-link[data-v-c0262a92]:hover{color:var(--text);background:var(--panel-2)}.nav-link.active[data-v-c0262a92]{color:var(--text);background:var(--panel-3)}.status[data-v-c0262a92]{color:var(--muted);align-items:center;gap:6px;font-size:12px;display:flex}.dot[data-v-c0262a92]{background:var(--muted);border-radius:50%;width:8px;height:8px}.dot.open[data-v-c0262a92]{background:var(--ok);box-shadow:0 0 6px var(--ok)}.dot.connecting[data-v-c0262a92],.dot.closed[data-v-c0262a92]{background:var(--warn)}.presence[data-v-c0262a92]{align-items:center;gap:3px;margin-left:6px;display:inline-flex}.estop[data-v-c0262a92]{background:var(--danger);color:#fff;cursor:pointer;border:none;border-radius:8px;align-items:center;gap:6px;padding:7px 14px;font-size:14px;font-weight:700;transition:transform .1s,box-shadow .2s;display:inline-flex;box-shadow:0 0 #ff4d4f80}.estop[data-v-c0262a92]:hover{box-shadow:0 0 0 4px #ff4d4f40}.estop[data-v-c0262a92]:active{transform:scale(.96)}.app-main[data-v-c0262a92]{padding-bottom:96px}@media (width<=640px){.status-text[data-v-c0262a92],.hide-sm[data-v-c0262a92]{display:none}.nav[data-v-c0262a92]{order:10;width:100%}}:root{--bg:#0e0e12;--panel:#16161c;--panel-2:#1c1c24;--panel-3:#23232d;--border:#2a2a36;--text:#e9e9f0;--muted:#8d8d9c;--ch-a:#2fd6c6;--ch-b:#f36fa2;--danger:#ff4d4f;--warn:#f5a524;--ok:#3ecf5a;--radius:12px;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;margin:0;padding:0;font-family:-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei,Segoe UI,sans-serif}a{color:var(--ch-a)}.muted{color:var(--muted)}.tabular{font-variant-numeric:tabular-nums}.panel{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius)}.row{align-items:center;gap:8px;display:flex}.row-wrap{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.spacer{flex:1}.page{max-width:1480px;margin:0 auto;padding:16px}.page-title{margin:4px 0 16px;font-size:18px;font-weight:600}.ch-a{--ch:var(--ch-a)}.ch-b{--ch:var(--ch-b)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-thumb{background:#33333f;border-radius:4px}@media (width<=640px){.page{padding:10px}}
