:root{--space-0:0;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;--space-8:64px;--text-xs:12px;--leading-xs:16px;--text-sm:14px;--leading-sm:20px;--text-base:16px;--leading-base:24px;--text-lg:18px;--leading-lg:28px;--text-xl:20px;--leading-xl:28px;--text-2xl:24px;--leading-2xl:32px;--text-3xl:30px;--leading-3xl:36px;--text-4xl:36px;--leading-4xl:40px;--weight-normal:400;--weight-medium:500;--weight-semibold:600;--weight-bold:700;--color-bg:#fff;--color-surface:#f7f8fa;--color-border:#e3e6ea;--color-text:#1a1d21;--color-text-secondary:#5b6573;--color-text-muted:#8b95a3;--color-primary:#2563eb;--color-primary-hover:#1d4ed8;--color-on-primary:#fff;--focus-ring:0 0 0 3px #2563eb73;--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--radius-full:9999px;--shadow-sm:0 1px 2px #1018280f;--shadow-md:0 4px 12px #1018281a;--font-sans:ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans SC", sans-serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, Consolas, monospace}@media (prefers-color-scheme:dark){:root{--color-bg:#101317;--color-surface:#171b21;--color-border:#2a3039;--color-text:#eef1f5;--color-text-secondary:#b3bcc8;--color-text-muted:#8b95a3;--color-primary:#6b9aff;--color-primary-hover:#8fb2ff;--color-on-primary:#0b1220;--focus-ring:0 0 0 3px #6b9aff73;--shadow-sm:0 1px 2px #0006;--shadow-md:0 4px 12px #00000073}}*,:before,:after{box-sizing:border-box}body{margin:var(--space-0);background:var(--color-bg);color:var(--color-text);font-family:var(--font-sans);font-size:var(--text-base);line-height:var(--leading-base);-webkit-font-smoothing:antialiased}code{font-family:var(--font-mono);font-size:var(--text-sm)}a{color:var(--color-primary)}a:hover{color:var(--color-primary-hover)}:focus-visible{box-shadow:var(--focus-ring);border-radius:var(--radius-sm);outline:none}.container{width:100%;max-width:1080px;padding-inline:var(--space-4);margin-inline:auto}.page{min-height:100vh;padding-block-end:var(--space-8)}.site-header{border-block-end:1px solid var(--color-border);background:var(--color-surface);padding-block:var(--space-7);margin-block-end:var(--space-7)}.header-inner{justify-content:space-between;align-items:flex-start;gap:var(--space-5);flex-wrap:wrap;display:flex}.eyebrow{margin:var(--space-0) 0 var(--space-2);color:var(--color-text-secondary);font-size:var(--text-sm);line-height:var(--leading-sm);font-weight:var(--weight-medium);letter-spacing:.04em;text-transform:uppercase}.site-title{margin:var(--space-0) 0 var(--space-3);font-size:var(--text-3xl);line-height:var(--leading-3xl);font-weight:var(--weight-bold)}.lead{max-width:65ch;margin:var(--space-0);color:var(--color-text-secondary);font-size:var(--text-lg);line-height:var(--leading-lg)}.install-hint{max-width:65ch;margin-block-start:var(--space-4)}.install-hint code,.plugin-command{padding:var(--space-1) var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg);color:var(--color-text);overflow-wrap:anywhere;display:inline-block}.section-title{margin:0 0 var(--space-2);font-size:var(--text-2xl);line-height:var(--leading-2xl);font-weight:var(--weight-semibold)}.section-note{margin:var(--space-0) 0 var(--space-5);color:var(--color-text-secondary);font-size:var(--text-base)}.grid{gap:var(--space-4);margin:var(--space-0);padding:var(--space-0);grid-template-columns:repeat(auto-fit,minmax(260px,1fr));list-style:none;display:grid}.card{gap:var(--space-3);padding:var(--space-5);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-sm);color:inherit;flex-direction:column;text-decoration:none;transition:border-color .12s,box-shadow .12s,transform .12s;display:flex}.card:hover{border-color:var(--color-primary);box-shadow:var(--shadow-md)}.card:focus-visible{box-shadow:var(--focus-ring);outline:none}.card-title{margin:var(--space-0);font-size:var(--text-xl);line-height:var(--leading-xl);font-weight:var(--weight-semibold)}.card-description{margin:var(--space-0);color:var(--color-text-secondary);font-size:var(--text-sm);line-height:var(--leading-sm)}.card-meta{gap:var(--space-2);margin:var(--space-0);padding:var(--space-0);flex-wrap:wrap;list-style:none;display:flex}.tag{padding:var(--space-1) var(--space-2);border-radius:var(--radius-full);background:var(--color-bg);color:var(--color-text-secondary);font-size:var(--text-xs);line-height:var(--leading-xs)}.card-command{margin-block-start:auto}.empty-state{padding:var(--space-7);border:1px dashed var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);text-align:center}.empty-title{margin:var(--space-0) 0 var(--space-2);font-size:var(--text-lg);line-height:var(--leading-lg);font-weight:var(--weight-semibold)}.empty-text{margin:var(--space-0);color:var(--color-text-secondary);font-size:var(--text-sm);line-height:var(--leading-sm)}@media (width<=640px){.site-header{padding-block:var(--space-6)}.site-title{font-size:var(--text-2xl);line-height:var(--leading-2xl)}.lead{font-size:var(--text-base);line-height:var(--leading-base)}}.site-title-link{color:inherit;text-decoration:none}.site-title-link:hover{color:var(--color-primary)}.text-link{color:var(--color-primary);text-decoration:none}.text-link:hover{text-decoration:underline}.card-components{margin:var(--space-0);color:var(--color-text-muted);font-size:var(--text-xs);line-height:var(--leading-xs)}.row{align-items:center;gap:var(--space-3);display:flex}.row--between{flex-wrap:wrap;justify-content:space-between}.plugin-detail{gap:var(--space-6);flex-direction:column;display:flex}.back-link{margin:var(--space-0)}.plugin-header{gap:var(--space-3);flex-direction:column;display:flex}.plugin-header .section-title{margin:var(--space-0)}.plugin-author{margin:var(--space-0);color:var(--color-text-secondary);font-size:var(--text-sm);line-height:var(--leading-sm)}.detail-section{gap:var(--space-3);margin:var(--space-0);flex-direction:column;display:flex}.subsection-title{margin:var(--space-0);font-size:var(--text-lg);line-height:var(--leading-lg);font-weight:var(--weight-semibold)}.component-list{gap:var(--space-4);margin:var(--space-0);flex-direction:column;display:flex}.component-item{gap:var(--space-3);grid-template-columns:8rem 1fr;display:grid}.component-item dt{color:var(--color-text-secondary);font-size:var(--text-sm);font-weight:var(--weight-medium);line-height:var(--leading-sm)}.component-item dd{margin:var(--space-0)}.item-list{gap:var(--space-2);margin:var(--space-0);padding:var(--space-0);flex-direction:column;list-style:none;display:flex}.item-note{color:var(--color-text-secondary);font-size:var(--text-sm);line-height:var(--leading-sm);margin-block-start:var(--space-1);display:block}.table-wrap{overflow-x:auto}.config-table{border-collapse:collapse;width:100%;font-size:var(--text-sm);line-height:var(--leading-sm)}.config-table th,.config-table td{padding:var(--space-2) var(--space-3);border-block-end:1px solid var(--color-border);text-align:start;vertical-align:top}.config-table th{color:var(--color-text-secondary);font-weight:var(--weight-medium)}.prose{overflow-wrap:anywhere;max-width:75ch}.prose>:first-child{margin-block-start:var(--space-0)}.prose h1,.prose h2,.prose h3,.prose h4{margin-block:var(--space-5) var(--space-2);line-height:1.3}.prose h1{font-size:var(--text-2xl)}.prose h2{font-size:var(--text-xl)}.prose h3{font-size:var(--text-lg)}.prose p,.prose li{font-size:var(--text-base);line-height:var(--leading-base)}.prose ul,.prose ol{padding-inline-start:var(--space-5)}.prose code{padding:var(--space-1) var(--space-1);border-radius:var(--radius-sm);background:var(--color-surface)}.prose pre{padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);overflow-x:auto}.prose pre code{padding:var(--space-0);background:0 0}.prose blockquote{margin-inline:var(--space-0);border-inline-start:3px solid var(--color-border);color:var(--color-text-secondary);padding-inline-start:var(--space-4)}.prose table{border-collapse:collapse;display:block;overflow-x:auto}.prose th,.prose td{padding:var(--space-2) var(--space-3);border:1px solid var(--color-border)}@media (width<=640px){.component-item{gap:var(--space-1);grid-template-columns:1fr}}
