.tabs-bar[data-v-e52c9ef1]{margin-bottom:14px}.tab-count[data-v-e52c9ef1]{display:inline-block;margin-left:4px;padding:0 6px;border-radius:999px;background:var(--bg-3);font-size:11px;color:var(--text-dim)}.navtab.active .tab-count[data-v-e52c9ef1]{background:var(--accent-soft);color:var(--accent)}.empty-tip[data-v-e52c9ef1]{padding:28px 16px;text-align:center;color:var(--text-faint);font-size:13px;border:1px dashed var(--border);border-radius:var(--radius)}:root{--bg: #0b0e14;--bg-1: #11151f;--bg-2: #161b26;--bg-3: #1d2430;--border: #262e3d;--border-strong: #344055;--text: #e6eaf2;--text-dim: #9aa5b8;--text-faint: #6b7689;--accent: #4f8cff;--accent-dim: #2b5cad;--accent-soft: rgba(79, 140, 255, .14);--ok: #34d399;--warn: #fbbf24;--err: #f87171;--radius: 10px;--radius-sm: 6px;--mono: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace}*{box-sizing:border-box}html,body,#app{height:100%}body{margin:0;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif;font-size:14px;line-height:1.6}h1,h2,h3,h4{margin:0 0 8px;font-weight:600}h1{font-size:20px}h2{font-size:16px}h3{font-size:14px;color:var(--text-dim)}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}.app{display:flex;flex-direction:column;min-height:100%}.topbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:12px 20px;background:var(--bg-1);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:20}.topbar .logo{font-weight:700;font-size:16px;letter-spacing:.3px}.topbar .logo span{color:var(--accent)}.topbar .spacer{flex:1}.layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;padding:16px 20px 40px;align-items:start}@media(max-width:1100px){.layout{grid-template-columns:minmax(0,1fr)}}.card{background:var(--bg-1);border:1px solid var(--border);border-radius:var(--radius);padding:16px;margin-bottom:16px}.card-title{display:flex;align-items:center;gap:8px;font-weight:600;margin-bottom:12px}.card-title .hint{font-weight:400;font-size:12px;color:var(--text-faint)}.nav{display:flex;gap:4px;background:var(--bg-2);border:1px solid var(--border);border-radius:999px;padding:3px}.navtab{padding:5px 16px;border-radius:999px;border:none;background:transparent;color:var(--text-dim);cursor:pointer;font-size:13px;font-family:inherit;transition:all .15s}.navtab:hover{color:var(--text)}.navtab.active{background:var(--accent-soft);color:var(--accent);font-weight:600}.single{padding:16px 20px 40px;max-width:1080px}.steps{display:flex;gap:6px;flex-wrap:wrap}.step{display:flex;align-items:center;gap:8px;padding:8px 14px;border-radius:999px;border:1px solid var(--border);background:var(--bg-2);color:var(--text-dim);cursor:pointer;font-size:13px;transition:all .15s}.step:hover:not(:disabled){border-color:var(--accent-dim);color:var(--text)}.step.active{background:var(--accent-soft);border-color:var(--accent);color:var(--text)}.step.done .num{background:var(--ok);color:#06281d}.step.skipped .num{background:transparent;border:1px dashed var(--border);color:var(--text-dim)}.step.skipped{opacity:.75}.step:disabled{opacity:.4;cursor:not-allowed}.step .num{width:20px;height:20px;border-radius:50%;background:var(--bg-3);color:var(--text-dim);display:grid;place-items:center;font-size:12px;font-weight:700}label{display:block;font-size:12px;color:var(--text-dim);margin-bottom:6px}input[type=text],input[type=password],input[type=number],textarea,select{width:100%;padding:8px 10px;background:var(--bg-2);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);font-size:13px;font-family:inherit;outline:none}input:focus,textarea:focus,select:focus{border-color:var(--accent)}textarea{font-family:var(--mono);font-size:12px;line-height:1.5;resize:vertical}input::placeholder,textarea::placeholder{color:var(--text-faint)}.checkbox{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text)}.checkbox input{width:auto}.row{display:flex;gap:10px;flex-wrap:wrap}.row>*{flex:1;min-width:140px}.btn{padding:8px 16px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-2);color:var(--text);cursor:pointer;font-size:13px;font-family:inherit;transition:all .15s;white-space:nowrap}.btn:hover:not(:disabled){border-color:var(--accent-dim);background:var(--bg-3)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn.primary{background:var(--accent);border-color:var(--accent);color:#06101f;font-weight:600}.btn.primary:hover:not(:disabled){background:#6a9dff}.btn.ghost{background:transparent}.btn.sm{padding:4px 10px;font-size:12px}.btn.danger{color:var(--err);border-color:#f8717166}.badge{display:inline-block;padding:2px 8px;border-radius:999px;font-size:11px;background:var(--bg-3);color:var(--text-dim);border:1px solid var(--border)}.badge.ok{background:#34d39924;color:var(--ok);border-color:#34d3994d}.badge.warn{background:#fbbf2424;color:var(--warn);border-color:#fbbf244d}.badge.err{background:#f8717124;color:var(--err);border-color:#f871714d}.badge.accent{background:var(--accent-soft);color:var(--accent);border-color:#4f8cff59}.note{padding:10px 12px;border-radius:var(--radius-sm);background:var(--bg-2);border-left:3px solid var(--accent);font-size:12px;color:var(--text-dim);margin-bottom:12px}.note.warn{border-left-color:var(--warn)}.note.err{border-left-color:var(--err)}.table-wrap{max-height:420px;overflow:auto;border:1px solid var(--border);border-radius:var(--radius-sm)}table{width:100%;border-collapse:collapse;font-size:12px}th,td{padding:6px 10px;text-align:left;border-bottom:1px solid var(--border);white-space:nowrap}th{background:var(--bg-2);color:var(--text-dim);font-weight:600;position:sticky;top:0;z-index:1}td.mono{font-family:var(--mono);color:var(--text-dim)}tr:hover td{background:var(--bg-2)}.group-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px}.group-card{background:var(--bg-2);border:1px solid var(--border);border-radius:var(--radius-sm);padding:12px 14px}.group-card .g-title{font-weight:600;font-size:14px;display:flex;align-items:center;gap:6px}.group-card .g-count{font-size:22px;font-weight:700;margin-top:2px}.group-card .g-sub{font-size:12px;color:var(--text-faint);margin-top:4px;word-break:break-all}.group-card .g-nodes{margin-top:10px;font-size:12px;line-height:1.55;color:var(--text-dim);max-height:280px;overflow:auto}.code{font-family:var(--mono);font-size:12px;line-height:1.55;background:var(--bg-2);border:1px solid var(--border);border-radius:var(--radius-sm);padding:12px;overflow:auto;max-height:520px;white-space:pre;color:var(--text-dim)}.stats{display:flex;gap:14px;flex-wrap:wrap;font-size:12px;color:var(--text-dim)}.stats b{color:var(--text);font-size:15px;display:block}.login-mask{position:fixed;inset:0;background:var(--bg);display:grid;place-items:center;z-index:100}.login-box{width:320px}.modal-mask{position:fixed;inset:0;background:#04070da8;backdrop-filter:blur(2px);display:grid;place-items:center;z-index:50;padding:20px}.modal{background:var(--bg-1);border:1px solid var(--border-strong);border-radius:var(--radius);width:min(720px,100%);max-height:calc(100vh - 60px);display:flex;flex-direction:column;box-shadow:0 12px 48px #00000080}.modal-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:14px 16px;border-bottom:1px solid var(--border);font-weight:600;flex-shrink:0}.modal-head .hint{font-weight:400;font-size:12px;color:var(--text-faint)}.modal-head .close{margin-left:auto;background:none;border:none;cursor:pointer;color:var(--text-faint);font-size:18px;line-height:1;padding:2px 6px;border-radius:var(--radius-sm)}.modal-head .close:hover{color:var(--text);background:var(--bg-3)}.modal-body{padding:16px;overflow:auto;flex:1}.modal-foot{display:flex;gap:8px;align-items:center;padding:12px 16px;border-top:1px solid var(--border);flex-shrink:0}.modal-foot .spacer{flex:1}.muted{color:var(--text-faint);font-size:12px}.mt{margin-top:12px}.mb{margin-bottom:12px}.flex{display:flex;align-items:center;gap:8px;flex-wrap:wrap}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:var(--bg-3);border-radius:5px;border:2px solid var(--bg)}::-webkit-scrollbar-thumb:hover{background:#3a4557}
