:root{color-scheme:light;--bg:#f5f6f8;--card:#fff;--input:#fff;--line:#e3e6eb;--line2:#eceef2;--text:#1a1d23;--text2:#4b5563;--muted:#6b7280;--faint:#8a919c;--blue:#2563eb;--blue-h:#1d4ed8;--green:#16a34a;--red:#dc2626;--red-h:#b91c1c;--amber:#d97706;--yellow:#eab308;--btn:#f1f3f6;--btn-h:#e8ebf0;--btn-line:#d6dae1;--sel:#e4e8ef;--sel-line:#c9cfd8;--nav-on:#e9ecf1;--row-h:#f5f7fa;--dot-n:#c4c9d1;--subtle:#f7f8fa;--subtle2:#fafbfc;--track:#eef0f3;--side-line:#e8ebef;--topbar:rgba(255,255,255,.92);--overlay:rgba(17,24,39,.35);--menu-h:#f3f5f8;--sel-row:#eff6ff;--picked:#f5f9ff;--batch-line:#bfdbfe;--toast:#111827;--logo-ring:transparent;--tb-bg:#e8efff;--tb-fg:#1d4ed8;--tg-bg:#e7f6ec;--tg-fg:#15803d;--tr-bg:#fdecec;--tr-fg:#b91c1c;--tz-bg:#eef0f3;--tz-fg:#4b5563;--ta-bg:#fdf3e1;--ta-fg:#b45309;--tp-bg:#f3e8ff;--tp-fg:#7e22ce;--err-bg:#fdecec;--err-fg:#b91c1c;--err-line:#f8caca;--warn-bg:#fdf6e7;--warn-fg:#92400e;--warn-line:#f4dfb0;--ok-bg:#e9f7ee;--ok-fg:#166534;--ok-line:#bfe5cc}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){color-scheme:dark;--bg:#0f1115;--card:#171a21;--input:#12151b;--line:#2a2f3a;--line2:#232832;--text:#e6e8ec;--text2:#b4bcc8;--muted:#9aa3b2;--faint:#7c8594;--blue:#3b82f6;--blue-h:#60a5fa;--green:#22c55e;--red:#ef4444;--red-h:#f87171;--amber:#f59e0b;--yellow:#eab308;--btn:#222733;--btn-h:#2a3040;--btn-line:#343b48;--sel:#2a3040;--sel-line:#3d4555;--nav-on:#222733;--row-h:#1c2029;--dot-n:#4b5563;--subtle:#1b1f27;--subtle2:#1a1e26;--track:#262b35;--side-line:#232832;--topbar:rgba(23,26,33,.9);--overlay:rgba(0,0,0,.55);--menu-h:#232833;--sel-row:#172338;--picked:#152033;--batch-line:#1e3a8a;--toast:#2a3040;--logo-ring:#3a4150;--tb-bg:#1e2a4a;--tb-fg:#93b4ff;--tg-bg:#15301f;--tg-fg:#6ee7a0;--tr-bg:#3a1a1d;--tr-fg:#fca5a5;--tz-bg:#262b35;--tz-fg:#b4bcc8;--ta-bg:#3a2a12;--ta-fg:#fcd34d;--tp-bg:#2e1f47;--tp-fg:#d8b4fe;--err-bg:#3a1a1d;--err-fg:#fca5a5;--err-line:#5c2a2e;--warn-bg:#33270f;--warn-fg:#fcd34d;--warn-line:#5a4518;--ok-bg:#12301d;--ok-fg:#86efac;--ok-line:#1f5233}}:root[data-theme=dark]{color-scheme:dark;--bg:#0f1115;--card:#171a21;--input:#12151b;--line:#2a2f3a;--line2:#232832;--text:#e6e8ec;--text2:#b4bcc8;--muted:#9aa3b2;--faint:#7c8594;--blue:#3b82f6;--blue-h:#60a5fa;--green:#22c55e;--red:#ef4444;--red-h:#f87171;--amber:#f59e0b;--yellow:#eab308;--btn:#222733;--btn-h:#2a3040;--btn-line:#343b48;--sel:#2a3040;--sel-line:#3d4555;--nav-on:#222733;--row-h:#1c2029;--dot-n:#4b5563;--subtle:#1b1f27;--subtle2:#1a1e26;--track:#262b35;--side-line:#232832;--topbar:rgba(23,26,33,.9);--overlay:rgba(0,0,0,.55);--menu-h:#232833;--sel-row:#172338;--picked:#152033;--batch-line:#1e3a8a;--toast:#2a3040;--logo-ring:#3a4150;--tb-bg:#1e2a4a;--tb-fg:#93b4ff;--tg-bg:#15301f;--tg-fg:#6ee7a0;--tr-bg:#3a1a1d;--tr-fg:#fca5a5;--tz-bg:#262b35;--tz-fg:#b4bcc8;--ta-bg:#3a2a12;--ta-fg:#fcd34d;--tp-bg:#2e1f47;--tp-fg:#d8b4fe;--err-bg:#3a1a1d;--err-fg:#fca5a5;--err-line:#5c2a2e;--warn-bg:#33270f;--warn-fg:#fcd34d;--warn-line:#5a4518;--ok-bg:#12301d;--ok-fg:#86efac;--ok-line:#1f5233}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,system-ui,-apple-system,PingFang SC,Microsoft YaHei,sans-serif;-webkit-font-smoothing:antialiased;font-size:13px}a{color:var(--blue);text-decoration:none}a:hover{color:var(--blue-h)}.mono{font-family:JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,monospace}.card{background:var(--card);border:1px solid var(--line);border-radius:12px;box-shadow:0 1px 2px #1018280a}.card-h{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:14px 16px;border-bottom:1px solid var(--line2);flex-wrap:wrap}.card-h .t{font-size:14px;font-weight:600}.card-b{padding:14px 16px}.btn{background:var(--btn);border:1px solid var(--btn-line);color:var(--text);border-radius:8px;height:36px;padding:0 14px;font-family:inherit;font-size:13px;font-weight:500;line-height:1;text-decoration:none;justify-content:center;display:inline-flex;align-items:center;gap:8px;cursor:pointer;white-space:nowrap}.btn:hover{background:var(--btn-h)}.btn:disabled{opacity:.5;cursor:default}.btn.pri{background:var(--blue);border-color:var(--blue);color:#fff}.btn.pri:hover{background:var(--blue-h)}.btn.danger{color:var(--red)}.btn.sm{height:28px;padding:0 10px;font-size:12px}.chip{height:30px;white-space:nowrap;flex:none;padding:0 12px;border-radius:999px;border:1px solid var(--btn-line);background:var(--card);color:var(--text2);font-family:inherit;font-size:12px;font-weight:500;display:inline-flex;align-items:center;gap:6px;cursor:pointer}.chip.on{background:var(--sel);color:var(--text);border-color:var(--sel-line)}.chip b{font-weight:600;color:var(--faint)}.dot{width:8px;height:8px;border-radius:50%;display:inline-block;flex:none}.dot.g{background:var(--green)}.dot.r{background:var(--red)}.dot.y{background:var(--yellow)}.dot.n{background:var(--dot-n)}.nav a{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:8px;color:var(--muted);font-size:13px;font-weight:500}.nav a.active{background:var(--nav-on);color:var(--text)}.nav a:hover{color:var(--text)}table{border-collapse:collapse;width:100%}th{text-align:left;font-size:11px;font-weight:600;color:var(--faint);letter-spacing:.04em;text-transform:uppercase;padding:10px 14px;border-bottom:1px solid var(--line);white-space:nowrap}td{padding:11px 14px;border-bottom:1px solid var(--line2);font-size:13px;vertical-align:middle;white-space:nowrap}tr:last-child td{border-bottom:0}tbody tr:hover td{background:var(--row-h)}tr.click{cursor:pointer}.tbl{overflow-x:auto}.tag{font-size:10px;font-weight:600;padding:2px 7px;border-radius:4px;letter-spacing:.02em;display:inline-block}.tag.blue{background:var(--tb-bg);color:var(--tb-fg)}.tag.green{background:var(--tg-bg);color:var(--tg-fg)}.tag.red{background:var(--tr-bg);color:var(--tr-fg)}.tag.gray{background:var(--tz-bg);color:var(--tz-fg)}.tag.amber{background:var(--ta-bg);color:var(--ta-fg)}.lbl{font-size:12px;font-weight:500;color:var(--text2);display:block;margin-bottom:6px}.in{height:38px;border-radius:8px;border:1px solid var(--btn-line);background:var(--input);color:var(--text);padding:0 12px;font-family:inherit;font-size:13px;outline:none;width:100%}textarea.in{height:auto;padding:10px 12px;resize:vertical}.in:focus{border-color:var(--blue)}select.in{padding-right:8px}.kv{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid var(--line2);font-size:13px}.kv:last-child{border-bottom:0}.kv>span:first-child{color:var(--muted);flex:none}.kv>span:last-child{text-align:right;word-break:break-all}.seg{display:inline-flex;background:var(--card);border:1px solid var(--btn-line);border-radius:8px;padding:3px;gap:2px}.seg button{background:transparent;border:0;color:var(--muted);height:26px;padding:0 10px;border-radius:6px;font-family:inherit;font-size:12px;font-weight:500;cursor:pointer}.seg button.on{background:var(--sel);color:var(--text)}.muted{color:var(--muted)}.faint{color:var(--faint)}.small{font-size:12px}.xs{font-size:11px}.green{color:var(--green)}.red{color:var(--red)}.amber{color:var(--amber)}.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.grid{display:grid;gap:16px}.g2{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.g3{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.g4{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.form{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.form .full{grid-column:1/-1}.stat{padding:16px}.stat .k{font-size:12px;color:var(--muted)}.stat .v{font-size:22px;font-weight:600;margin-top:6px;letter-spacing:-.01em}.stat .s{font-size:12px;color:var(--faint);margin-top:4px}.pre{background:#0f172a;color:#e2e8f0;border-radius:10px;padding:14px;font:12px/1.6 JetBrains Mono,ui-monospace,monospace;white-space:pre-wrap;word-break:break-all;margin:0;max-height:460px;overflow:auto}.pre.light{background:var(--subtle);color:var(--text);border:1px solid var(--line)}.err{background:var(--err-bg);color:var(--err-fg);border:1px solid var(--err-line);border-radius:8px;padding:10px 12px;font-size:13px}.warn{background:var(--warn-bg);color:var(--warn-fg);border:1px solid var(--warn-line);border-radius:8px;padding:10px 12px;font-size:13px}.ok{background:var(--ok-bg);color:var(--ok-fg);border:1px solid var(--ok-line);border-radius:8px;padding:10px 12px;font-size:13px}.modal-bg{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--overlay);display:flex;align-items:flex-start;justify-content:center;padding:60px 16px;z-index:50;overflow:auto}.modal{background:var(--card);border-radius:14px;width:100%;max-width:640px;box-shadow:0 20px 50px #0003}.modal.wide{max-width:900px}.modal-h{display:flex;justify-content:space-between;align-items:center;padding:16px 18px;border-bottom:1px solid var(--line2);font-weight:600;font-size:15px}.modal-b{padding:18px}.modal-f{display:flex;justify-content:flex-end;gap:10px;padding:14px 18px;border-top:1px solid var(--line2)}.modal-f .btn{height:36px;min-width:84px;padding:0 16px;font-size:13px}.x{background:none;border:0;font-size:20px;cursor:pointer;color:var(--faint);line-height:1}.toast{position:fixed;right:20px;bottom:20px;background:var(--toast);color:#fff;padding:10px 16px;border-radius:10px;font-size:13px;z-index:60;box-shadow:0 8px 24px #0003}.step{display:flex;align-items:center;gap:10px;font-size:13px;color:var(--faint)}.step b{width:24px;height:24px;border-radius:50%;border:1px solid var(--btn-line);display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:600;color:var(--faint)}.step.done b{background:var(--green);border-color:var(--green);color:#fff}.step.on{color:var(--text)}.step.on b{background:var(--blue);border-color:var(--blue);color:#fff}.layout{min-height:100vh;display:flex}.side{flex:0 0 220px;width:220px;border-right:1px solid var(--side-line);background:var(--bg);padding:20px 14px;display:flex;flex-direction:column;gap:22px;position:sticky;top:0;height:100vh;overflow:hidden;transition:flex-basis .2s,width .2s,padding .2s}.brand{display:flex;align-items:center;gap:10px;padding:0 6px;white-space:nowrap}.logo{width:30px;height:30px;flex:none;border-radius:8px;background:#000;box-shadow:inset 0 0 0 1px var(--logo-ring);display:flex;align-items:center;justify-content:center;color:#fff;font:700 17px/1 Inter,system-ui,sans-serif;-webkit-user-select:none;user-select:none}.brand-t{font-size:15px;font-weight:600}.nav{display:flex;flex-direction:column;gap:2px}.nav a svg{flex:none}.nav-t,.brand-t{white-space:nowrap;transition:opacity .15s}.side.collapsed{flex-basis:64px;width:64px;padding:20px 10px}.side.collapsed .nav-t,.side.collapsed .brand-t{opacity:0;width:0;overflow:hidden}.side.collapsed .brand{padding:0 7px}.side.collapsed .nav a{justify-content:center;padding:9px 0;gap:0}.sidetoggle{width:34px;height:34px;flex:none;display:inline-flex;align-items:center;justify-content:center;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--muted);cursor:pointer}.sidetoggle:hover{background:var(--btn);border-color:var(--line);color:var(--text)}.side-mask{display:none}.main{flex:1;min-width:0;padding:24px 28px 40px;display:flex;flex-direction:column;gap:20px}.ph{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px}.ph .h{font-size:20px;font-weight:600;letter-spacing:-.01em}.ph .sub{font-size:12px;color:var(--muted);margin-top:2px}.bar{height:6px;background:var(--track);border-radius:3px;overflow:hidden}.bar i{display:block;height:100%;background:var(--blue)}input[type=checkbox]{width:15px;height:15px;accent-color:var(--blue);vertical-align:middle}.link{color:var(--blue);cursor:pointer;background:none;border:0;padding:0;font:inherit}.ell{max-width:260px;overflow:hidden;text-overflow:ellipsis}@media (max-width:860px){.side{position:fixed;left:0;top:0;z-index:40;transform:translate(-100%);transition:transform .2s;background:var(--card);box-shadow:0 0 30px #00000026}.side.open{transform:none}.side.collapsed{width:220px;padding:20px 14px}.side.collapsed .nav-t,.side.collapsed .brand-t{opacity:1;width:auto}.side.collapsed .brand{padding:0 6px}.side.collapsed .nav a{justify-content:flex-start;padding:9px 12px;gap:10px}.side-mask{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:35;background:#0f172a40}.main{padding:16px}}.btn.danger-solid{background:var(--red);border-color:var(--red);color:#fff}.btn.danger-solid:hover{background:var(--red-h)}.split{display:grid;grid-template-columns:300px minmax(0,1fr);gap:16px;align-items:start}@media (max-width:900px){.split{grid-template-columns:minmax(0,1fr)}}.pick{display:flex;flex-direction:column;gap:4px;padding:12px 14px;border-radius:10px;border:1px solid var(--line);background:var(--card);cursor:pointer;text-align:left;font:inherit;color:inherit;width:100%}.pick:hover{border-color:var(--sel-line)}.pick.on{border-color:var(--blue);box-shadow:0 0 0 3px #2563eb1f}.bar{height:8px;border-radius:4px;background:var(--track);overflow:hidden}.bar>div{height:100%;border-radius:4px}.mainwrap{flex:1;min-width:0;display:flex;flex-direction:column}.topbar{height:56px;flex:none;display:flex;align-items:center;justify-content:space-between;padding:0 28px;border-bottom:1px solid var(--side-line);background:var(--topbar);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);position:sticky;top:0;z-index:30}.umenu{position:relative}.ubtn{display:flex;align-items:center;gap:8px;height:38px;padding:0 10px 0 4px;border-radius:999px;border:1px solid transparent;background:transparent;cursor:pointer;font:500 13px Inter,system-ui,sans-serif;color:var(--text)}.ubtn:hover,.ubtn[aria-expanded=true]{background:var(--btn);border-color:var(--line)}.avatar{width:30px;height:30px;border-radius:50%;background:linear-gradient(135deg,#3b82f6,var(--blue));color:#fff;display:inline-flex;align-items:center;justify-content:center;font-weight:600;font-size:13px;flex:none}.avatar.lg{width:38px;height:38px;font-size:16px}.udrop{position:absolute;right:0;top:calc(100% + 6px);width:240px;background:var(--card);border:1px solid var(--line);border-radius:12px;box-shadow:0 12px 32px #1018281f;padding:6px;z-index:50}.uhead{display:flex;gap:10px;align-items:center;padding:10px 10px 12px;border-bottom:1px solid var(--line2);margin-bottom:6px}.udrop button{display:flex;align-items:center;gap:10px;width:100%;padding:9px 10px;border:0;background:transparent;border-radius:8px;cursor:pointer;font:500 13px Inter,system-ui,sans-serif;color:var(--text);text-align:left}.udrop button:hover{background:var(--btn)}.udrop button.danger{color:var(--red)}@media (max-width:860px){.topbar{padding:0 16px}.uname{display:none}}.batchbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:10px 16px;background:var(--sel-row);border-bottom:1px solid var(--batch-line);font-size:13px}tr.picked td{background:var(--picked)}.tag.purple{background:var(--tp-bg);color:var(--tp-fg)}tr.grp td{background:var(--subtle);border-top:1px solid var(--line)}tr.grp:hover td{background:var(--btn)}.menu{position:fixed;z-index:45;background:var(--card);border:1px solid var(--line);border-radius:10px;box-shadow:0 12px 32px #10182824;padding:4px;min-width:150px}.menu button{display:block;width:100%;text-align:left;padding:8px 12px;border:0;background:none;border-radius:6px;font-family:inherit;font-size:13px;color:var(--text);cursor:pointer;white-space:nowrap}.menu button:hover:not(:disabled){background:var(--menu-h)}.menu button.danger{color:var(--red)}.menu button:disabled{color:var(--faint);cursor:default}tr.sel td{background:var(--sel-row)}.ftbar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:10px 16px;border-bottom:1px solid var(--line2)}.ftbar .in{height:30px;width:auto}.peerbox{border:1px solid var(--line);border-radius:10px;padding:10px 14px;margin-bottom:12px;background:var(--subtle2)}.peerrow{display:flex;align-items:center;gap:12px;padding:6px 0;border-top:1px solid var(--line2)}.peerrow>span{flex:0 0 96px;font-size:12px}.peerrow code{flex:1;min-width:0;word-break:break-all;font-size:12.5px;-webkit-user-select:all;user-select:all}.share{max-width:1100px;width:100%;margin:0 auto;box-sizing:border-box}
