.editor-host[data-v-a2d19795]{border:1px solid var(--border);border-radius:6px;height:100%;min-height:200px;overflow:hidden}.editor-host[data-v-a2d19795] .cm-editor{height:100%}.editor-host[data-v-a2d19795] .cm-editor.cm-focused{outline:none}.panel[data-v-6ec17f1c]{background:var(--bg-panel);border:1px solid var(--border);border-radius:6px;flex-direction:column;gap:8px;padding:10px;display:flex}.grid[data-v-6ec17f1c]{grid-template-columns:92px 1fr;align-items:center;gap:6px 10px;display:grid}.grid label[data-v-6ec17f1c]{color:var(--text-dim);font-size:12px}.checks[data-v-6ec17f1c]{color:var(--text-dim);gap:14px;font-size:12px;display:flex}.checks input[data-v-6ec17f1c]{vertical-align:-1px;margin-right:4px}.buttons[data-v-6ec17f1c]{margin-top:2px}.hint[data-v-6ec17f1c]{margin:0;font-size:12px}.generator[data-v-b1939b57]{border:1px solid var(--border);border-radius:6px;flex-direction:column;gap:8px;height:100%;padding:10px;display:flex;overflow:auto}.label[data-v-b1939b57]{color:var(--text-dim);flex:0 0 64px}.desc[data-v-b1939b57]{margin:0;font-size:12px}.params[data-v-b1939b57]{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:6px 12px;display:grid}.param[data-v-b1939b57]{align-items:center;gap:8px;display:flex}.param-label[data-v-b1939b57]{color:var(--text-dim);flex:0 0 88px;font-size:12px}.actions[data-v-b1939b57]{flex-wrap:wrap}.preview[data-v-b1939b57]{max-height:240px}.err[data-v-b1939b57]{color:var(--err);margin:0}.hint[data-v-b1939b57]{margin:0;font-size:12px}.panel[data-v-091ea9f7]{background:var(--bg-panel);border:1px solid var(--border);border-radius:6px;flex-direction:column;gap:6px;padding:10px;display:flex}.head[data-v-091ea9f7]{flex-wrap:wrap}.bar[data-v-091ea9f7]{background:var(--bg-input);border:1px solid var(--border);border-radius:3px;height:6px;overflow:hidden}.bar-inner[data-v-091ea9f7]{background:var(--accent);height:100%;transition:width .15s linear}.error[data-v-091ea9f7]{color:var(--err);font-size:12px}.log-head[data-v-091ea9f7]{font-size:12px}button.mini[data-v-091ea9f7]{padding:1px 8px;font-size:12px}.logs[data-v-091ea9f7]{background:var(--bg-input);border:1px solid var(--border);min-height:44px;max-height:140px;font-family:var(--mono);border-radius:5px;padding:6px 8px;font-size:11.5px;line-height:1.6;overflow:auto}.log-line[data-v-091ea9f7]{white-space:pre-wrap;word-break:break-all}.diff[data-v-dba909b4]{border:1px solid var(--border);border-radius:6px;overflow:hidden}.diff-head[data-v-dba909b4]{background:var(--bg-panel-2);border-bottom:1px solid var(--border);display:flex}.side-label[data-v-dba909b4]{color:var(--text-dim);flex:1;padding:4px 10px;font-size:12px}.side-label+.side-label[data-v-dba909b4]{border-left:1px solid var(--border)}.diff-body[data-v-dba909b4]{max-height:320px;font-family:var(--mono);font-size:12px;overflow:auto}.diff-row[data-v-dba909b4]{border-bottom:1px solid #2c324273;display:flex}.cell[data-v-dba909b4]{white-space:pre-wrap;word-break:break-all;flex:1;gap:8px;min-height:18px;padding:1px 8px;display:flex}.cell+.cell[data-v-dba909b4]{border-left:1px solid #2c324273}.ln[data-v-dba909b4]{color:#4a5268;text-align:right;-webkit-user-select:none;user-select:none;flex:none;min-width:34px}.content[data-v-dba909b4]{flex:1;min-width:0}.diff-row.del .cell[data-v-dba909b4]:first-child{background:#e05a5a21}.diff-row.add .cell[data-v-dba909b4]:last-child{background:#3fbf6f21}.diff-row.same[data-v-dba909b4]{color:var(--text-dim)}.empty[data-v-dba909b4]{padding:8px 10px}.truncate-note[data-v-dba909b4]{border-top:1px solid var(--border);padding:4px 10px}.panel[data-v-d0087e8d]{background:var(--bg-panel);border:1px solid var(--border);border-radius:6px;flex-direction:column;gap:8px;padding:10px;display:flex}.head[data-v-d0087e8d]{flex-wrap:wrap}.message[data-v-d0087e8d]{color:var(--text);background:var(--bg-input);border:1px solid var(--border);border-radius:5px;padding:6px 8px;font-size:12.5px}.stats[data-v-d0087e8d]{flex-wrap:wrap;gap:10px;display:flex}.stat[data-v-d0087e8d]{border:1px solid var(--border);border-radius:5px;flex:1;min-width:150px;padding:6px 10px;font-size:12px}.stat-label[data-v-d0087e8d]{color:var(--text-dim);margin-bottom:2px}.stat-value[data-v-d0087e8d]{font-weight:600}.file-tabs[data-v-d0087e8d]{flex-wrap:wrap}button.file-tab[data-v-d0087e8d]{padding:2px 10px;font-size:12px}button.file-tab.active[data-v-d0087e8d]{border-color:var(--accent);color:var(--accent)}.file-view[data-v-d0087e8d]{max-height:260px;margin:0}.actions[data-v-d0087e8d]{flex-wrap:wrap}.diff-wrap[data-v-d0087e8d]{margin-top:4px}.warn[data-v-d0087e8d]{color:var(--warn);font-size:12px}.notes[data-v-d0087e8d]{font-size:12px}.note[data-v-d0087e8d]{white-space:pre-wrap}.overlay[data-v-c3590409]{z-index:100;background:#080a0eb8;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal[data-v-c3590409]{background:var(--bg-panel);border:1px solid var(--border-strong);border-radius:8px;width:min(760px,94vw);max-height:88vh;padding:16px 18px;overflow:auto}.head[data-v-c3590409]{margin-bottom:6px}section[data-v-c3590409]{border-top:1px solid var(--border);margin-top:12px;padding-top:10px}h4[data-v-c3590409]{color:var(--text);margin:0 0 6px;font-size:13px}.kv[data-v-c3590409]{margin:0 0 8px;padding:0;font-size:12.5px;list-style:none}.kv li[data-v-c3590409]{gap:10px;padding:2px 0;display:flex}.kv .k[data-v-c3590409]{color:var(--text-dim);flex:0 0 120px}.ok[data-v-c3590409]{color:var(--ok)}.bad[data-v-c3590409]{color:var(--err)}.warn[data-v-c3590409]{color:var(--warn);font-size:12px}.info[data-v-c3590409]{margin-bottom:8px;font-size:12px}.note[data-v-c3590409]{white-space:pre-wrap}.help[data-v-c3590409]{background:var(--bg-input);border:1px solid var(--border);border-radius:5px;margin:8px 0;padding:8px 12px;font-size:12.5px}.help ol[data-v-c3590409]{margin:4px 0 0;padding-left:18px}.help code[data-v-c3590409]{background:var(--bg-panel-2);border-radius:3px;padding:0 4px}.smoke[data-v-c3590409]{margin-top:8px;font-size:12.5px}.err-pre[data-v-c3590409]{max-height:160px;color:var(--err)}.app[data-v-9be1334a]{flex-direction:column;height:100%;display:flex}.topbar[data-v-9be1334a]{border-bottom:1px solid var(--border);background:var(--bg-panel);align-items:center;gap:10px;padding:8px 14px;display:flex}.brand[data-v-9be1334a]{font-size:15px;font-weight:700}.brand .sub[data-v-9be1334a]{color:var(--text-dim);margin-left:8px;font-size:12px;font-weight:400}a.gh[data-v-9be1334a]{font-size:12px;text-decoration:none}main[data-v-9be1334a]{flex:1;grid-template-columns:minmax(0,1fr) 380px;gap:10px;min-height:0;padding:10px;display:grid}.left[data-v-9be1334a]{flex-direction:column;gap:8px;min-width:0;min-height:0;display:flex}.row.tabs[data-v-9be1334a]{flex-wrap:wrap}button.tab[data-v-9be1334a]{padding:4px 14px}button.tab.active[data-v-9be1334a]{border-color:var(--accent);color:var(--accent)}button.mode[data-v-9be1334a]{padding:3px 10px;font-size:12px}button.mode.active[data-v-9be1334a]{border-color:var(--accent);color:var(--accent)}.editor-area[data-v-9be1334a]{flex:1;min-height:0;display:flex}.editor-area[data-v-9be1334a]>*{flex:1;min-width:0}.tip[data-v-9be1334a]{margin:0;font-size:12px}.tip code[data-v-9be1334a]{background:var(--bg-panel-2);border-radius:3px;padding:0 4px}.right[data-v-9be1334a]{flex-direction:column;gap:10px;min-height:0;display:flex;overflow:auto}.overlay[data-v-9be1334a]{z-index:100;background:#080a0eb8;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal[data-v-9be1334a]{background:var(--bg-panel);border:1px solid var(--border-strong);border-radius:8px;width:min(680px,94vw);max-height:80vh;padding:14px 16px;overflow:auto}.hist[data-v-9be1334a]{flex-direction:column;gap:6px;margin:8px 0 0;padding:0;list-style:none;display:flex}.hist-item[data-v-9be1334a]{border:1px solid var(--border);border-radius:5px;align-items:center;gap:10px;padding:5px 10px;font-size:12.5px;display:flex}@media (max-width:1100px){main[data-v-9be1334a]{grid-template-columns:1fr;grid-auto-rows:min-content}.editor-area[data-v-9be1334a]{min-height:320px}}:root{--bg:#12141a;--bg-panel:#1a1d25;--bg-panel-2:#202430;--bg-input:#12141a;--border:#2c3242;--border-strong:#3b4256;--text:#d7dce6;--text-dim:#8b93a7;--accent:#4f8cff;--accent-dim:#2b4a80;--ok:#3fbf6f;--warn:#e0a33c;--err:#e05a5a;--mono:"JetBrains Mono", "Fira Code", Consolas, "Courier New", monospace}*{box-sizing:border-box}html,body,#app{height:100%;margin:0}body{background:var(--bg);color:var(--text);font-family:system-ui,-apple-system,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif;font-size:13px;line-height:1.5}h1,h2,h3,h4{margin:0 0 8px;font-weight:600}a{color:var(--accent)}button{background:var(--bg-panel-2);color:var(--text);border:1px solid var(--border-strong);cursor:pointer;border-radius:6px;padding:5px 12px;font-size:13px;transition:background .12s,border-color .12s}button:hover:not(:disabled){border-color:var(--accent-dim);background:#2a3040}button:disabled{opacity:.45;cursor:not-allowed}button.primary{background:var(--accent);border-color:var(--accent);color:#fff}button.primary:hover:not(:disabled){background:#5f98ff}button.danger{color:#f0a0a0;border-color:#6d3535}input[type=text],input[type=number],select{background:var(--bg-input);border:1px solid var(--border-strong);color:var(--text);border-radius:5px;width:100%;padding:4px 8px;font-size:13px}input:focus,select:focus{outline:1px solid var(--accent-dim);border-color:var(--accent-dim)}code,pre,.mono{font-family:var(--mono);font-size:12px}pre{background:var(--bg-input);border:1px solid var(--border);white-space:pre-wrap;word-break:break-all;border-radius:6px;margin:6px 0;padding:8px 10px;overflow:auto}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:#333a4c;border-radius:5px}::-webkit-scrollbar-track{background:0 0}.badge{border:1px solid #0000;border-radius:4px;padding:1px 8px;font-size:12px;font-weight:600;display:inline-block}.badge.ok{color:var(--ok);background:#3fbf6f1f;border-color:#3fbf6f66}.badge.err{color:var(--err);background:#e05a5a1f;border-color:#e05a5a66}.badge.warn{color:var(--warn);background:#e0a33c1f;border-color:#e0a33c66}.badge.dim{color:var(--text-dim);background:#8b93a71f;border-color:#8b93a759}.dim{color:var(--text-dim)}.row{align-items:center;gap:8px;display:flex}.grow{flex:1;min-width:0}
