:root{color-scheme:light;--bg:#f7f8fa;--surface:#fff;--surface-2:#f0f2f5;--border:#dfe3e8;--text:#1a1d23;--text-muted:#5b6270;--accent:#2563eb;--accent-hover:#1d4ed8;--accent-soft:#e8efff;--success:#15803d;--danger:#b91c1c;--radius:10px;--radius-sm:6px;--shadow:0 1px 2px #1018280f, 0 1px 3px #1018281a;--font:ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--mono:ui-monospace, SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace;--max-w:1120px}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){color-scheme:dark;--bg:#0f1216;--surface:#171b21;--surface-2:#1f242c;--border:#2c333d;--text:#e6e9ee;--text-muted:#9aa3b2;--accent:#60a5fa;--accent-hover:#93c5fd;--accent-soft:#1e2a44;--success:#4ade80;--danger:#f87171;--shadow:0 1px 2px #0006}}:root[data-theme=dark]{color-scheme:dark;--bg:#0f1216;--surface:#171b21;--surface-2:#1f242c;--border:#2c333d;--text:#e6e9ee;--text-muted:#9aa3b2;--accent:#60a5fa;--accent-hover:#93c5fd;--accent-soft:#1e2a44;--success:#4ade80;--danger:#f87171;--shadow:0 1px 2px #0006}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;overflow-x:hidden}body{max-width:100%;font-family:var(--font);color:var(--text);background:var(--bg);margin:0;font-size:16px;line-height:1.6}a{color:var(--accent);text-decoration:none}a:hover{color:var(--accent-hover);text-decoration:underline}h1,h2,h3{letter-spacing:-.01em;margin:0 0 .5em;line-height:1.25}h1{font-size:clamp(1.75rem,3.5vw,2.5rem);font-weight:800}h2{margin-top:2.5rem;font-size:clamp(1.35rem,2.5vw,1.75rem);font-weight:700}h3{margin-top:1.75rem;font-size:1.15rem;font-weight:650}p{margin:0 0 1em}code{font-family:var(--mono);background:var(--surface-2);border:1px solid var(--border);border-radius:4px;padding:.1em .35em;font-size:.9em}pre{font-family:var(--mono);background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);margin:0 0 1.25rem;padding:.9rem 1rem;font-size:.875rem;line-height:1.55;overflow-x:auto}pre code{font-size:inherit;background:0 0;border:0;padding:0}table{border-collapse:collapse;width:100%;margin:0 0 1.5rem;font-size:.95rem}th,td{text-align:left;border-bottom:1px solid var(--border);vertical-align:top;padding:.55rem .75rem}th{background:var(--surface-2);font-weight:650}.table-wrap{overflow-x:auto}.container{max-width:var(--max-w);margin:0 auto;padding-inline:1rem}@media (width>=640px){.container{padding-inline:1.5rem}}.prose{max-width:76ch}.prose ul,.prose ol{margin:0 0 1.25rem;padding-left:1.4rem}.prose li{margin-bottom:.35rem}.muted{color:var(--text-muted)}.btn{font:inherit;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer;align-items:center;gap:.4rem;padding:.55rem 1rem;font-size:.925rem;font-weight:600;transition:background .15s,border-color .15s,color .15s;display:inline-flex}.btn:hover{background:var(--surface-2);text-decoration:none}.btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.btn-primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn-primary:hover{background:var(--accent-hover);border-color:var(--accent-hover);color:#fff}.btn-sm{padding:.35rem .7rem;font-size:.85rem}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.tool{padding:1rem}@media (width>=640px){.tool{padding:1.25rem 1.5rem}}.panes{grid-template-columns:1fr 1fr;gap:1rem;display:grid}@media (width<=760px){.panes{grid-template-columns:1fr}}.pane-head{justify-content:space-between;align-items:baseline;margin-bottom:.35rem;display:flex}.pane-head label{font-weight:650}.stat{color:var(--text-muted);font-variant-numeric:tabular-nums;font-size:.8rem}.pane textarea,.single textarea{resize:vertical;width:100%;min-height:200px;font-family:var(--mono);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-2);color:var(--text);padding:.75rem;font-size:.9rem;line-height:1.5}.pane textarea:focus,.single textarea:focus{outline:2px solid var(--accent);outline-offset:-1px;background:var(--surface)}.pane textarea[readonly],.single textarea[readonly]{background:var(--surface)}.pane-actions{flex-wrap:wrap;gap:.5rem;margin-top:.6rem;display:flex}.options{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:.85rem;margin-top:1.25rem;display:grid}.options fieldset{border:1px solid var(--border);border-radius:var(--radius-sm);min-width:0;margin:0;padding:.6rem .85rem .85rem}.options legend{text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);padding:0 .3rem;font-size:.8rem;font-weight:700}.options .row{flex-wrap:wrap;gap:.6rem;display:flex}.options .field{color:var(--text-muted);flex-direction:column;flex:100px;gap:.2rem;min-width:0;font-size:.85rem;display:flex}.options .field input,.options .field select{font:inherit;color:var(--text);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);width:100%;padding:.4rem .5rem;font-size:.9rem}.options .field input{font-family:var(--mono)}.options .checks{flex-direction:column;gap:.35rem;font-size:.9rem;display:flex}.options .checks label{cursor:pointer;align-items:center;gap:.5rem;display:flex}.options .checks .indent{color:var(--text-muted);padding-left:1.4rem}.options .checks input{accent-color:var(--accent);width:1rem;height:1rem}.options .hint{min-height:1.2em;color:var(--text-muted);margin:.5rem 0 0;font-size:.8rem}.chip{font:inherit;border:1px solid var(--border);background:var(--surface-2);color:var(--text);cursor:pointer;font-size:.82rem;font-weight:600;font-family:var(--mono);border-radius:999px;padding:.3rem .7rem}.chip:hover{border-color:var(--accent);color:var(--accent)}.chip[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:#fff}.tool-toast{background:var(--text);color:var(--bg);box-shadow:var(--shadow);z-index:60;border-radius:999px;margin:0;padding:.55rem 1rem;font-size:.9rem;font-weight:600;position:fixed;bottom:1.25rem;left:50%;transform:translate(-50%)}.status-banner{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface-2);align-items:flex-start;gap:.6rem;margin-top:.75rem;padding:.7rem .9rem;font-size:.9rem;display:flex}.status-banner.is-error{border-color:var(--danger);background:color-mix(in srgb, var(--danger) 10%, var(--surface))}.status-banner.is-ok{border-color:var(--success);background:color-mix(in srgb, var(--success) 10%, var(--surface))}.site-header[data-astro-cid-nen7h5rs]{background:var(--surface);border-bottom:1px solid var(--border);z-index:50;position:sticky;top:0}.inner[data-astro-cid-nen7h5rs]{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;min-height:58px;display:flex}.brand[data-astro-cid-nen7h5rs]{color:var(--text);align-items:center;gap:.5rem;font-size:1.1rem;font-weight:800;display:inline-flex}.brand[data-astro-cid-nen7h5rs]:hover{color:var(--accent);text-decoration:none}.nav-group[data-astro-cid-nen7h5rs]{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}nav[data-astro-cid-nen7h5rs]>ul[data-astro-cid-nen7h5rs]{gap:.25rem;margin:0;padding:0;list-style:none;display:flex}nav[data-astro-cid-nen7h5rs]>ul[data-astro-cid-nen7h5rs]>li[data-astro-cid-nen7h5rs]>a[data-astro-cid-nen7h5rs]{border-radius:var(--radius-sm);color:var(--text-muted);padding:.4rem .7rem;font-size:.925rem;font-weight:500;display:block}nav[data-astro-cid-nen7h5rs]>ul[data-astro-cid-nen7h5rs]>li[data-astro-cid-nen7h5rs]>a[data-astro-cid-nen7h5rs]:hover{background:var(--surface-2);color:var(--text);text-decoration:none}nav[data-astro-cid-nen7h5rs]>ul[data-astro-cid-nen7h5rs]>li[data-astro-cid-nen7h5rs]>a[data-astro-cid-nen7h5rs][aria-current=page]{background:var(--accent-soft);color:var(--accent)}.has-dropdown[data-astro-cid-nen7h5rs]{position:relative}.caret[data-astro-cid-nen7h5rs]{font-size:.7em}.dropdown[data-astro-cid-nen7h5rs]{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);width:max-content;min-width:220px;max-width:calc(100vw - 2rem);box-shadow:var(--shadow);opacity:0;visibility:hidden;margin:0;padding:.4rem;list-style:none;transition:opacity .12s,transform .12s,visibility .12s;position:absolute;top:100%;right:0;transform:translateY(-4px)}.has-dropdown[data-astro-cid-nen7h5rs]:hover .dropdown[data-astro-cid-nen7h5rs],.has-dropdown[data-astro-cid-nen7h5rs]:focus-within .dropdown[data-astro-cid-nen7h5rs]{opacity:1;visibility:visible;transform:translateY(0)}.dropdown[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs]{border-radius:var(--radius-sm);color:var(--text);padding:.5rem .6rem;font-size:.9rem;display:block}.dropdown[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs]:hover{background:var(--surface-2);text-decoration:none}.dropdown[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs][aria-current=page]{color:var(--accent);font-weight:600}.theme-toggle[data-astro-cid-nen7h5rs]{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);width:2.1rem;height:2.1rem;color:var(--text-muted);cursor:pointer;justify-content:center;align-items:center;margin-left:.25rem;padding:0;display:inline-flex}.theme-toggle[data-astro-cid-nen7h5rs]:hover{background:var(--surface-2);color:var(--text)}.theme-toggle[data-astro-cid-nen7h5rs]:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.theme-toggle[data-astro-cid-nen7h5rs] .icon[data-astro-cid-nen7h5rs]{display:none}.theme-toggle[data-astro-cid-nen7h5rs][data-mode=light] .icon-light[data-astro-cid-nen7h5rs],.theme-toggle[data-astro-cid-nen7h5rs][data-mode=dark] .icon-dark[data-astro-cid-nen7h5rs],.theme-toggle[data-astro-cid-nen7h5rs][data-mode=system] .icon-system[data-astro-cid-nen7h5rs]{display:block}@media (width<=640px){.inner[data-astro-cid-nen7h5rs]{padding-block:.5rem}}.site-footer[data-astro-cid-jo6i4kqk]{border-top:1px solid var(--border);background:var(--surface);margin-top:2rem;font-size:.925rem}.grid[data-astro-cid-jo6i4kqk]{grid-template-columns:1.6fr repeat(auto-fit,minmax(140px,1fr));gap:2rem;padding-block:2rem 1rem;display:grid}.about[data-astro-cid-jo6i4kqk] p[data-astro-cid-jo6i4kqk]{max-width:32ch}ul[data-astro-cid-jo6i4kqk]{margin:.5rem 0 0;padding:0;list-style:none}li[data-astro-cid-jo6i4kqk]{margin-bottom:.3rem}a[data-astro-cid-jo6i4kqk]{color:var(--text-muted)}a[data-astro-cid-jo6i4kqk]:hover{color:var(--accent)}.copy[data-astro-cid-jo6i4kqk]{padding-block:1rem 1.5rem;font-size:.85rem}@media (width<=720px){.grid[data-astro-cid-jo6i4kqk]{grid-template-columns:1fr 1fr;gap:1.25rem}.about[data-astro-cid-jo6i4kqk]{grid-column:1/-1}}.skip-link[data-astro-cid-hkbrpulz]{z-index:100;background:var(--accent);color:#fff;border-radius:0 0 var(--radius-sm) 0;padding:.5rem 1rem;position:absolute;top:0;left:-999px}.skip-link[data-astro-cid-hkbrpulz]:focus{left:0}main[data-astro-cid-hkbrpulz]{padding-block:1.5rem 3rem}
