:root{--c-primary:#0f766e;--c-primary-hover:#0d6560;--c-primary-ring:#5eead4;--c-primary-soft:#f0fdfa;--c-primary-soft-hover:#ccfbf1;--c-on-primary:#fff;--c-mint:#a7f3d0;--c-mint-soft:#ecfdf5;--c-logo-ink:#0c706c;--c-bg:#f5f7fa;--c-surface:#fff;--c-surface-hover:#f9fafb;--c-border:#e5e7eb;--c-border-strong:#d1d5db;--c-code-bg:#e5e7eb;--c-text:#1f2937;--c-text-body:#374151;--c-text-soft:#4b5563;--c-text-muted:#6b7280;--c-text-faint:#9ca3af;--c-danger:#dc2626;--c-success:#16a34a;--c-warn:#b45309;--c-warn-border:#f59e0b;--c-warn-bg:#fffbeb;--c-warn-bg-hover:#fef3c7;--c-add-bg:#dcfce7;--c-add-text:#166534;--c-del-bg:#fee2e2;--c-del-text:#991b1b;--c-hl-a:#fde68a;--font-sans:system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "PingFang SC", "Microsoft YaHei", sans-serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--fs-xs:12px;--fs-sm:13px;--fs-base:14px;--fs-md:15px;--fs-lg:16px;--fs-xl:17px;--fs-2xl:24px;--r-xs:3px;--r-sm:4px;--r-md:6px;--r-lg:8px;--r-pill:999px;--w-container:1120px;--w-prose:760px}*{box-sizing:border-box}body{font-family:var(--font-sans);background:var(--c-bg);color:var(--c-text);margin:0}a{color:var(--c-primary)}.container{max-width:var(--w-container);margin:0 auto;padding:24px 16px 48px}h1{font-size:var(--fs-2xl);margin:0 0 8px}.desc{color:var(--c-text-muted);font-size:var(--fs-base);margin-bottom:20px}.breadcrumb{font-size:var(--fs-sm);color:var(--c-text-muted);margin-bottom:10px}.breadcrumb a{color:var(--c-primary);text-decoration:none}.breadcrumb a:hover{text-decoration:underline}.breadcrumb .sep{color:var(--c-border-strong);margin:0 6px}.breadcrumb .cur{color:var(--c-text-muted)}.site-header{background:var(--c-surface);border-bottom:1px solid var(--c-border)}.site-header .inner{max-width:var(--w-container);flex-wrap:wrap;align-items:center;gap:20px;margin:0 auto;padding:12px 16px;display:flex}.brand{font-weight:700;font-size:var(--fs-xl);color:var(--c-primary);text-decoration:none}.nav{font-size:var(--fs-base);flex-wrap:wrap;gap:14px;display:flex}.nav a{color:var(--c-text-body);text-decoration:none}.nav a:hover{color:var(--c-primary)}.nav .soon{color:var(--c-text-faint)}.site-footer{border-top:1px solid var(--c-border);background:var(--c-surface)}.site-footer .inner{max-width:var(--w-container);font-size:var(--fs-sm);color:var(--c-text-muted);margin:0 auto;padding:16px}.footer-nav{align-items:center;gap:8px;margin-top:8px;display:flex}.footer-nav a{color:var(--c-primary);text-decoration:none}.footer-nav a:hover{text-decoration:underline}.footer-nav .sep{color:var(--c-border-strong)}.toolbar{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px;display:flex}.toolbar.secondary{margin-top:-4px;margin-bottom:16px}button,select{border:1px solid var(--c-border-strong);background:var(--c-surface);color:var(--c-text-body);border-radius:var(--r-md);cursor:pointer;font-size:var(--fs-base);padding:8px 14px;font-family:inherit}button:hover{background:var(--c-surface-hover)}button:disabled{opacity:.55;cursor:not-allowed}button.primary{background:var(--c-primary);border-color:var(--c-primary);color:var(--c-on-primary)}button.primary:hover{background:var(--c-primary-hover)}.spacer{flex:auto}.indent-wrap{font-size:var(--fs-base);color:var(--c-text-soft);align-items:center;gap:6px;display:flex}.check{font-size:var(--fs-sm);color:var(--c-text-soft);cursor:pointer;user-select:none;align-items:center;gap:6px;display:flex}.check input{width:15px;height:15px;accent-color:var(--c-primary);cursor:pointer;margin:0}.grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}@media (width<=860px){.grid{grid-template-columns:1fr}}textarea{border:1px solid var(--c-border-strong);border-radius:var(--r-lg);width:100%;height:420px;font-family:var(--font-mono);font-size:var(--fs-base);resize:vertical;background:var(--c-surface);padding:12px;line-height:1.5}textarea:focus{outline:2px solid var(--c-primary-ring);border-color:var(--c-primary)}.label{font-size:var(--fs-base);justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:6px;font-weight:600;display:flex}.meta{font-weight:400;font-size:var(--fs-xs);color:var(--c-text-faint)}.status{font-size:var(--fs-base);min-height:20px;margin-top:10px}.status.error{color:var(--c-danger)}.status.success{color:var(--c-success)}.status.info{color:var(--c-text-muted)}.status.warn{color:var(--c-warn)}.retry{margin-top:8px}.retry button{border:1px solid var(--c-warn-border);background:var(--c-warn-bg);color:var(--c-warn);border-radius:var(--r-md);cursor:pointer;font-size:var(--fs-sm);padding:6px 12px}.retry button:hover{background:var(--c-warn-bg-hover)}.hint{font-size:var(--fs-sm);color:var(--c-text-muted);margin-top:24px;line-height:1.7}.hint code{background:var(--c-code-bg);border-radius:var(--r-sm);padding:1px 5px}.hint-more{border-top:1px solid var(--c-border);margin-top:12px}.hint-more>summary{cursor:pointer;color:var(--c-primary);align-items:center;gap:7px;padding:9px 0 3px;list-style:none;display:flex}.hint-more>summary::-webkit-details-marker{display:none}.hint-more>summary:before{content:"";border-top:4px solid #0000;border-bottom:4px solid #0000;border-left:5px solid;flex:none;width:0;height:0;transition:transform .15s}.hint-more[open]>summary:before{transform:rotate(90deg)}.hint-more>summary:hover{text-decoration:underline}.hint-more .more-body{padding:6px 0 2px 16px}.hint-more .more-body p{margin:0 0 8px}.hint-more .more-body ul{margin:0 0 8px;padding-left:18px}.hint-more .more-body li{margin-bottom:4px}.hint-more .more-body p:last-child,.hint-more .more-body ul:last-child{margin-bottom:0}.cards{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;margin-top:8px;display:grid}.card{border:1px solid var(--c-border);border-radius:var(--r-lg);background:var(--c-surface);color:inherit;padding:14px;text-decoration:none;display:block}.card:hover{border-color:var(--c-primary)}.card h2{font-size:var(--fs-md);margin:0 0 4px}.card p{font-size:var(--fs-sm);color:var(--c-text-muted);margin:0}.field{font-size:var(--fs-sm);color:var(--c-text-soft);align-items:center;gap:6px;display:flex}.field input[type=text]{border:1px solid var(--c-border-strong);border-radius:var(--r-md);font-family:var(--font-mono);font-size:var(--fs-sm);background:var(--c-surface);min-width:280px;color:var(--c-text);padding:6px 10px}.field input[type=text]:focus{outline:2px solid var(--c-primary-ring);border-color:var(--c-primary)}.hl-label{font-size:var(--fs-sm);color:var(--c-text-muted);margin:14px 0 6px}.hl{border:1px solid var(--c-border);border-radius:var(--r-lg);background:var(--c-surface);font-family:var(--font-mono);font-size:var(--fs-sm);white-space:pre-wrap;word-break:break-all;max-height:260px;color:var(--c-text);padding:12px;line-height:1.8;overflow:auto}.hl mark{border-radius:var(--r-xs);color:inherit;padding:0 1px}.hl mark.hl-a{background:var(--c-hl-a)}.hl mark.hl-b{background:var(--c-mint)}.diff-legend{font-size:var(--fs-xs);border-radius:var(--r-sm);margin-left:6px;padding:1px 7px}.diff-legend.add{background:var(--c-add-bg);color:var(--c-add-text)}.diff-legend.del{background:var(--c-del-bg);color:var(--c-del-text)}.diff{border:1px solid var(--c-border);border-radius:var(--r-lg);background:var(--c-surface);font-family:var(--font-mono);font-size:var(--fs-sm);max-height:420px;line-height:1.75;overflow:auto}.diff-row{gap:8px;padding:0 10px;display:flex}.diff-row .ln{text-align:right;width:38px;color:var(--c-text-faint);user-select:none;flex:none}.diff-row .sign{width:10px;color:var(--c-text-muted);flex:none}.diff-row .txt{white-space:pre-wrap;word-break:break-all}.diff-row.add{background:var(--c-add-bg)}.diff-row.add .sign{color:var(--c-add-text)}.diff-row.del{background:var(--c-del-bg)}.diff-row.del .sign{color:var(--c-del-text)}.diff-row.gap{color:var(--c-text-faint);background:var(--c-surface-hover);padding-left:10px}.diff-empty{color:var(--c-text-muted);font-size:var(--fs-sm);padding:16px}.preset-label{font-size:var(--fs-sm);color:var(--c-text-muted)}.chip{font-size:var(--fs-xs);border-radius:var(--r-pill);color:var(--c-primary);border-color:var(--c-mint);background:var(--c-primary-soft);padding:4px 11px}.chip:hover{background:var(--c-primary-soft-hover)}.filecheck input[type=file]{font-size:var(--fs-xs);color:var(--c-text-soft);max-width:240px}.nowline{font-size:var(--fs-sm);color:var(--c-text-soft);flex-wrap:wrap;align-items:center;gap:6px;display:flex}.nowline code{background:var(--c-code-bg);border-radius:var(--r-sm);font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--c-text);padding:2px 6px}.lead{font-size:var(--fs-base);color:var(--c-text-soft);background:var(--c-mint-soft);border:1px solid var(--c-mint);border-radius:var(--r-lg);margin:0 0 20px;padding:10px 14px}.prose{max-width:var(--w-prose);font-size:var(--fs-base);color:var(--c-text-body);line-height:1.85}.prose h2{font-size:var(--fs-lg);border-bottom:1px solid var(--c-border);margin:28px 0 10px;padding-bottom:6px}.prose h2:first-child{margin-top:0}.prose p{margin:0 0 12px}.prose ul{margin:0 0 12px;padding-left:22px}.prose li{margin-bottom:6px}.prose code{background:var(--c-code-bg);border-radius:var(--r-sm);font-size:var(--fs-sm);padding:1px 5px}.prose strong{color:var(--c-text)}.prose .updated{font-size:var(--fs-sm);color:var(--c-text-faint);margin-bottom:24px}
