[v-cloak]{display:none}
:root{--pri:#066fd1;--pri-dk:#045eb0;--ink:#1f2937;--muted:#6b7280;--line:#e5e7eb;--line-t:rgba(4,32,69,.1)}
body{font-family:system-ui,-apple-system,'Segoe UI','Microsoft YaHei',sans-serif;background:#f9fafb;color:var(--ink);font-size:14px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:5px;padding:7px 14px;border-radius:6px;font-size:13px;font-weight:500;line-height:1.25;border:1px solid var(--line);background:#fff;color:#374151;cursor:pointer;white-space:nowrap;transition:background .15s,border-color .15s,color .15s}
.btn:hover{background:#f3f4f6}
.btn-pri{background:var(--pri);color:#fff;border-color:transparent}
.btn-pri:hover{background:var(--pri-dk)}
.btn-danger{color:#dc2626;border-color:rgba(220,38,38,.35)}
.btn-danger:hover{background:#fef2f2;border-color:rgba(220,38,38,.55)}
.btn:disabled{opacity:.5;cursor:not-allowed}
.inp{width:100%;box-sizing:border-box;padding:8px 12px;border:1px solid var(--line);border-radius:6px;font-size:13px;line-height:1.4;color:var(--ink);background:#fff;transition:border-color .15s,box-shadow .15s}
.inp:focus{outline:none;border-color:var(--pri);box-shadow:0 0 0 3px rgba(6,111,209,.16)}
.card{background:#fff;border:1px solid var(--line-t);border-radius:8px;padding:20px;box-shadow:0 0 4px rgba(31,41,55,.04)}
.tbl{width:100%;border-collapse:collapse;font-size:13px}
.tbl th{background:#f9fafb;text-align:left;padding:8px 12px;font-size:12px;font-weight:500;color:var(--muted);letter-spacing:.04em;white-space:nowrap;border-bottom:1px solid var(--line)}
.tbl td{padding:10px 12px;border-top:1px solid #f3f4f6;vertical-align:top}
.tbl tr:hover td{background:#fafbfc}
.bdg{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:500;padding:2px 9px;border-radius:999px;line-height:1.7;white-space:nowrap}
.bdg::before{content:'';width:5px;height:5px;border-radius:50%;background:currentColor;flex-shrink:0}
.bdg-ok{background:#ecfdf5;color:#059669}
.bdg-warn{background:#fffbeb;color:#d97706}
.bdg-err{background:#fef2f2;color:#dc2626}
.bdg-mut{background:#f3f4f6;color:#6b7280}
.bdg-pri{background:#eaf3fc;color:#066fd1}
.bdg-vio{background:#f3effd;color:#7c3aed}

/* Markdown 文章渲染样式（替代 Tailwind Typography 的 prose；CDN 版无该插件，且 preflight 会重置标题/列表） */
.md{line-height:1.75;font-size:14px;color:var(--ink);word-break:break-word}
.md h1{font-size:1.6em;font-weight:700;margin:1.2em 0 .6em;line-height:1.35}
.md h2{font-size:1.35em;font-weight:700;margin:1.1em 0 .5em;line-height:1.4;padding-bottom:.3em;border-bottom:1px solid var(--line)}
.md h3{font-size:1.15em;font-weight:600;margin:1em 0 .4em}
.md h4{font-size:1.05em;font-weight:600;margin:.9em 0 .35em}
.md p{margin:.6em 0}
.md strong{font-weight:700;color:#111827}
.md em{font-style:italic}
.md ul,.md ol{margin:.6em 0;padding-left:1.6em}
.md ul{list-style:disc}
.md ol{list-style:decimal}
.md li{margin:.3em 0}
.md blockquote{margin:.8em 0;padding:.4em 1em;border-left:3px solid var(--pri);background:#f6f9fc;color:#4b5563}
.md code{background:#f3f4f6;padding:.15em .4em;border-radius:4px;font-family:Consolas,Monaco,'Courier New',monospace;font-size:.9em}
.md pre{background:#f9fafb;border:1px solid var(--line);border-radius:6px;padding:12px;overflow:auto;margin:.8em 0}
.md pre code{background:none;padding:0}
.md table{border-collapse:collapse;margin:.8em 0;width:100%;font-size:13px}
.md table th,.md table td{border:1px solid var(--line);padding:6px 10px}
.md table th{background:#f9fafb}
.md hr{border:none;border-top:1px solid var(--line);margin:1em 0}
.md a{color:var(--pri);text-decoration:underline}
