:root,[data-ms-theme=light]{--ms-bg:#f5f5fa;--ms-surface:#fff;--ms-surface-2:#ececf4;--ms-border:#dcdce8;--ms-border-strong:#8686ac;--ms-text:#0f0e47;--ms-text-muted:#505081;--ms-accent:#3a3a9a;--ms-btn-bg:#272757;--ms-btn-fg:#fff;--ms-btn2-bg:#fff;--ms-logo-light:block;--ms-logo-dark:none;--ms-band-bg:#272757;--ms-band-fg:#ececf6;--ms-allow-fg:#0b6670;--ms-allow-bg:#e3f4ec;--ms-allow-border:#a8dcc4;--ms-ask-fg:#8f5a00;--ms-ask-bg:#fbf0d9;--ms-ask-border:#ebcb8a;--ms-deny-fg:#b0213a;--ms-deny-bg:#fbe6e9;--ms-deny-border:#efb1bb;--ms-focus:#3a3a9a;--ms-shadow-1:0 1px 2px #0f0e470f, 0 4px 16px #0f0e470f;--ms-shadow-2:0 2px 4px #0f0e470f, 0 16px 40px #0f0e471a}[data-ms-theme=dark]{--ms-bg:#0f0e47;--ms-surface:#1a1952;--ms-surface-2:#272757;--ms-border:#34346a;--ms-border-strong:#6b6ba3;--ms-text:#ececf6;--ms-text-muted:#a9a9cc;--ms-accent:#bdbdf4;--ms-btn-bg:#c9c9f5;--ms-btn-fg:#0f0e47;--ms-btn2-bg:#1a1952;--ms-logo-light:none;--ms-logo-dark:block;--ms-band-bg:#0a0938;--ms-band-fg:#a9a9cc;--ms-allow-fg:#7ee3c8;--ms-allow-bg:#7ee3c81a;--ms-allow-border:#7ee3c861;--ms-ask-fg:#f4c969;--ms-ask-bg:#f4c9691a;--ms-ask-border:#f4c96961;--ms-deny-fg:#f87782;--ms-deny-bg:#f877821a;--ms-deny-border:#f8778261;--ms-focus:#c9c9f5;--ms-shadow-1:0 1px 2px #00000040, 0 4px 16px #0003;--ms-shadow-2:0 2px 4px #00000040, 0 20px 48px #00000059}:root{--ms-font-sans:system-ui, -apple-system, "Segoe UI", "Noto Sans", "Helvetica Neue", Arial, sans-serif;--ms-font-mono:ui-monospace, "SF Mono", "Cascadia Mono", "Noto Sans Mono", Menlo, monospace;--ms-text-sm:14px;--ms-text-base:17px;--ms-text-lg:20px;--ms-h3:22px;--ms-h2:36px;--ms-h1:56px;--ms-leading:1.5;--ms-measure:68ch;--ms-space-1:4px;--ms-space-2:8px;--ms-space-3:12px;--ms-space-4:16px;--ms-space-5:24px;--ms-space-6:32px;--ms-space-7:48px;--ms-space-8:64px;--ms-space-9:96px;--ms-radius-sm:6px;--ms-radius:10px;--ms-radius-lg:16px;--ms-radius-pill:999px;--ms-bp-sm:360px;--ms-bp-md:768px;--ms-bp-lg:1024px;--ms-bp-xl:1440px;--ms-ease:cubic-bezier(.2,.7,.2,1);--ms-dur:.18s;--ms-dur-slow:.42s}@media (prefers-reduced-motion:reduce){:root{--ms-dur:0s;--ms-dur-slow:0s}}@media (prefers-color-scheme:dark){:root:not([data-ms-theme=light]){--ms-bg:#0f0e47;--ms-surface:#1a1952;--ms-surface-2:#272757;--ms-border:#34346a;--ms-border-strong:#6b6ba3;--ms-text:#ececf6;--ms-text-muted:#a9a9cc;--ms-accent:#bdbdf4;--ms-btn-bg:#c9c9f5;--ms-btn-fg:#0f0e47;--ms-btn2-bg:#1a1952;--ms-logo-light:none;--ms-logo-dark:block;--ms-band-bg:#0a0938;--ms-band-fg:#a9a9cc;--ms-allow-fg:#7ee3c8;--ms-allow-bg:#7ee3c81a;--ms-allow-border:#7ee3c861;--ms-ask-fg:#f4c969;--ms-ask-bg:#f4c9691a;--ms-ask-border:#f4c96961;--ms-deny-fg:#f87782;--ms-deny-bg:#f877821a;--ms-deny-border:#f8778261;--ms-focus:#c9c9f5;--ms-shadow-1:0 1px 2px #00000040, 0 4px 16px #0003;--ms-shadow-2:0 2px 4px #00000040, 0 20px 48px #00000059}}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--page-pad:clamp(16px, 8.4vw, 120px);--header-pad:clamp(16px, 4.5vw, 64px);--page-max:1440px;--section-pad:clamp(56px, 6.7vw, 96px);--h1-home:clamp(34px, 1.6rem + 2.6vw, 58px);--h1-page:clamp(30px, 1.5rem + 1.8vw, 50px);--h2:clamp(24px, 1.1rem + 1.3vw, 38px);--lead:clamp(17px, .95rem + .35vw, 21px)}@media (width<=767px){:root{--page-pad:16px;--header-pad:16px}}[data-ms-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}@media (prefers-color-scheme:dark){:root:not([data-ms-theme=light]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}html.menu-open{overflow:hidden}body{background:var(--ms-bg);color:var(--ms-text);font-family:var(--ms-font-sans);font-size:var(--ms-text-base);line-height:var(--ms-leading);-webkit-font-smoothing:antialiased;margin:0}.app{display:contents}h1,h2,h3,h4{text-wrap:balance;margin:0}h1{font-size:var(--h1-page);letter-spacing:-.02em;font-weight:700;line-height:1.1}h2{font-size:var(--h2);letter-spacing:-.015em;font-weight:700;line-height:1.15}h3{font-size:clamp(19px,1rem + .25vw,22px);font-weight:650;line-height:1.3}p{text-wrap:pretty;margin:0}[id]{scroll-margin-block-start:24px}a{color:var(--ms-accent);text-underline-offset:.15em}code,kbd,samp,pre{font-family:var(--ms-font-mono);font-size:.9em}:not(pre)>code{border-radius:var(--ms-radius-sm);background:var(--ms-surface-2);color:var(--ms-text);padding:1px 6px}svg{flex:none}button,input,select,textarea{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--ms-focus);outline-offset:2px}.wrap{max-inline-size:var(--page-max);padding-inline:var(--page-pad);margin-inline:auto}.section{padding-block:var(--section-pad)}.section-head{flex-direction:column;gap:12px;max-inline-size:760px;margin-block-end:clamp(32px,3.3vw,48px);display:flex}.lead{font-size:var(--lead);color:var(--ms-text-muted);line-height:1.5}.muted{color:var(--ms-text-muted)}.mono{font-family:var(--ms-font-mono)}.eyebrow{letter-spacing:.05em;text-transform:uppercase;color:var(--ms-text-muted);font-size:13px;font-weight:650}.visually-hidden{clip-path:inset(50%);white-space:nowrap;block-size:1px;inline-size:1px;position:absolute;overflow:hidden}html:not(.js) .js-only,html.js .no-js-only{display:none!important}.btn{border-radius:var(--ms-radius);cursor:pointer;min-block-size:52px;transition:background-color var(--ms-dur) var(--ms-ease), border-color var(--ms-dur) var(--ms-ease);border:1px solid #0000;justify-content:center;align-items:center;gap:10px;padding-inline:24px;font-size:17px;font-weight:600;text-decoration:none;display:inline-flex}.btn-sm{min-block-size:44px;padding-inline:18px;font-size:16px}.btn-primary{background:var(--ms-btn-bg);color:var(--ms-btn-fg)}.btn-primary:hover{background:color-mix(in srgb, var(--ms-btn-bg) 92%, var(--ms-text-muted))}.btn-secondary{background:var(--ms-btn2-bg);border-color:var(--ms-border-strong);color:var(--ms-text)}.btn-secondary:hover{background:var(--ms-surface-2)}.btn:disabled,.btn[aria-disabled=true]{opacity:.5;cursor:not-allowed}.text-link{color:var(--ms-accent);align-items:center;gap:8px;font-weight:600;text-decoration:none;display:inline-flex}.text-link:hover{text-decoration:underline}[dir=rtl] .mirror{transform:scaleX(-1)}@media (forced-colors:active){:focus-visible{outline-color:highlight}.btn{border-color:buttontext}}@media print{body{color:#000;background:#fff}.no-print{display:none!important}}.logo.svelte-1l8nvlt{inline-size:auto;max-inline-size:100%}.light.svelte-1l8nvlt{display:var(--ms-logo-light,block)}.dark.svelte-1l8nvlt{display:var(--ms-logo-dark,none)}.header.svelte-1l8nvlt{block-size:48px}.footer.svelte-1l8nvlt{block-size:88px}@media (width<=1239px){.header.svelte-1l8nvlt{block-size:40px}}@media (width<=767px){.footer.svelte-1l8nvlt{block-size:auto;inline-size:340px}}.footer.svelte-4jwo3w{border-block-start:1px solid var(--ms-border);background:var(--ms-surface);font-size:15px}.footer.svelte-4jwo3w a:where(.svelte-4jwo3w){color:var(--ms-text);text-decoration:none}.footer.svelte-4jwo3w a:where(.svelte-4jwo3w):hover{text-decoration:underline}.grid.svelte-4jwo3w{grid-template-columns:minmax(0,1.6fr) repeat(3,minmax(0,1fr));gap:48px;padding-block:64px 56px;display:grid}.about.svelte-4jwo3w,.col.svelte-4jwo3w{flex-direction:column;gap:10px;display:flex}.about.svelte-4jwo3w{gap:16px}.about.svelte-4jwo3w p:where(.svelte-4jwo3w){max-inline-size:30em}.col.svelte-4jwo3w a[aria-current=true]:where(.svelte-4jwo3w){font-weight:650}@media (width<=1023px){.grid.svelte-4jwo3w{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px}.about.svelte-4jwo3w{grid-column:1/-1}}@media (width<=767px){.footer.svelte-4jwo3w a:where(.svelte-4jwo3w){align-items:center;min-block-size:44px;display:inline-flex}.col.svelte-4jwo3w{gap:0}}.lang.svelte-kdtrps{flex:none;position:relative}summary.svelte-kdtrps{border:1px solid var(--ms-border);cursor:pointer;white-space:nowrap;border-radius:8px;align-items:center;gap:8px;block-size:40px;padding-inline:12px;font-size:15px;list-style:none;display:flex}summary.svelte-kdtrps::-webkit-details-marker{display:none}summary.svelte-kdtrps:hover{border-color:var(--ms-border-strong)}[open].svelte-kdtrps>summary:where(.svelte-kdtrps){background:var(--ms-surface-2)}.icon.svelte-kdtrps summary:where(.svelte-kdtrps){border-radius:var(--ms-radius);justify-content:center;block-size:44px;inline-size:44px;padding:0}.row.svelte-kdtrps summary:where(.svelte-kdtrps){border-color:var(--ms-border-strong);border-radius:var(--ms-radius);background:var(--ms-surface);block-size:52px;padding-inline:16px;font-size:17px}.row.svelte-kdtrps .name:where(.svelte-kdtrps){flex:1}.panel.svelte-kdtrps{z-index:20;background:var(--ms-surface);border:1px solid var(--ms-border);max-block-size:min(70vh,480px);min-inline-size:260px;box-shadow:var(--ms-shadow-2);border-radius:12px;flex-direction:column;display:flex;position:absolute;inset-block-start:calc(100% + 6px);inset-inline-end:0;overflow-y:auto}.icon.svelte-kdtrps .panel:where(.svelte-kdtrps){position:fixed;inset-block-start:110px;inset-inline:16px}.row.svelte-kdtrps .panel:where(.svelte-kdtrps){box-shadow:none;margin-block-start:8px;position:static}.title.svelte-kdtrps{padding:16px 16px 8px;font-size:19px;font-weight:700}ul.svelte-kdtrps{margin:0;padding:6px;list-style:none}ul.svelte-kdtrps a:where(.svelte-kdtrps){min-block-size:44px;color:var(--ms-text);border-radius:8px;justify-content:space-between;align-items:center;gap:12px;padding-inline:10px;text-decoration:none;display:flex}ul.svelte-kdtrps a:where(.svelte-kdtrps):hover{background:var(--ms-surface-2)}ul.svelte-kdtrps a[aria-current=true]:where(.svelte-kdtrps){background:var(--ms-surface-2);font-weight:650}.pct.svelte-kdtrps{border:1px solid var(--ms-border-strong);border-radius:var(--ms-radius-sm);color:var(--ms-text-muted);padding:1px 8px;font-size:12.5px}.translate.svelte-kdtrps{border-block-start:1px solid var(--ms-border);color:var(--ms-accent);flex-wrap:wrap;align-items:center;gap:6px;padding:12px 16px;font-size:14.5px;font-weight:600;text-decoration:none;display:flex}.full.svelte-kdtrps .translate:where(.svelte-kdtrps){white-space:nowrap;flex-wrap:nowrap}.translate.svelte-kdtrps .muted:where(.svelte-kdtrps){inline-size:100%;font-weight:400}fieldset.svelte-mls84d{border:0;min-inline-size:0;margin:0;padding:0}.legend.svelte-mls84d{color:var(--ms-text-muted);margin-block-end:10px;padding:0;font-size:14px;font-weight:650}.options.svelte-mls84d{border:1px solid var(--ms-border);border-radius:var(--ms-radius);gap:2px;padding:3px;display:flex}label.svelte-mls84d{block-size:32px;inline-size:32px;color:var(--ms-text-muted);cursor:pointer;border-radius:7px;place-items:center;display:grid;position:relative}label.svelte-mls84d:hover{color:var(--ms-text)}input.svelte-mls84d{opacity:0;cursor:pointer;margin:0;position:absolute;inset:0}label.svelte-mls84d:has(input:where(.svelte-mls84d):checked){background:var(--ms-surface-2);color:var(--ms-text)}label.svelte-mls84d:has(input:where(.svelte-mls84d):focus-visible){outline:2px solid var(--ms-focus);outline-offset:1px}.segments.svelte-mls84d .options:where(.svelte-mls84d){border-radius:12px;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;padding:4px;display:grid}.segments.svelte-mls84d label:where(.svelte-mls84d){border-radius:9px;flex-direction:column;gap:2px;block-size:56px;inline-size:auto;font-size:14px;display:flex}.segments.svelte-mls84d label:where(.svelte-mls84d):has(input:where(.svelte-mls84d):checked){font-weight:600}@media (forced-colors:active){label.svelte-mls84d:has(input:where(.svelte-mls84d):checked){outline:2px solid canvastext}}.header.svelte-a8kxe2{z-index:10;block-size:76px;max-inline-size:var(--page-max);padding-inline:var(--header-pad);align-items:center;gap:16px;margin-inline:auto;display:flex;position:relative}.header.svelte-a8kxe2:after{content:"";border-block-end:1px solid var(--ms-border);position:absolute;inset-block-end:0;inset-inline:calc(50% - 50vw)}.home.svelte-a8kxe2{min-inline-size:0;color:var(--ms-text);border-radius:8px;flex:0 auto;text-decoration:none;display:flex}nav.desktop.svelte-a8kxe2{min-inline-size:0;margin-inline-start:16px;display:flex}nav.desktop.svelte-a8kxe2 a:where(.svelte-a8kxe2){color:var(--ms-text);white-space:nowrap;border-radius:8px;flex:none;padding:8px 10px;font-size:16px;font-weight:500;text-decoration:none}nav.desktop.svelte-a8kxe2 a:where(.svelte-a8kxe2):hover{background:var(--ms-surface-2)}nav.desktop.svelte-a8kxe2 a[aria-current=page]:where(.svelte-a8kxe2){background:var(--ms-surface-2);box-shadow:inset 0 -2px 0 var(--ms-text)}.tools.svelte-a8kxe2{align-items:center;gap:12px;margin-inline-start:auto;display:flex}.github.svelte-a8kxe2{color:var(--ms-text);border-radius:8px;align-items:center;gap:8px;padding:8px 10px;font-size:15px;text-decoration:none;display:flex}.github.svelte-a8kxe2:hover{background:var(--ms-surface-2)}.mobile.svelte-a8kxe2{display:none}.menu.svelte-a8kxe2 summary:where(.svelte-a8kxe2){border:1px solid var(--ms-border-strong);border-radius:var(--ms-radius);cursor:pointer;align-items:center;block-size:44px;padding-inline:12px 14px;font-size:16px;font-weight:600;list-style:none;display:flex}.menu.svelte-a8kxe2 summary:where(.svelte-a8kxe2)::-webkit-details-marker{display:none}.menu.svelte-a8kxe2 summary:where(.svelte-a8kxe2) span:where(.svelte-a8kxe2){align-items:center;gap:8px;display:flex}.menu[open].svelte-a8kxe2 summary:where(.svelte-a8kxe2){background:var(--ms-surface-2)}.menu.svelte-a8kxe2:not([open]) .when-open:where(.svelte-a8kxe2),.menu[open].svelte-a8kxe2 .when-closed:where(.svelte-a8kxe2){display:none!important}.menu-panel.svelte-a8kxe2{z-index:30;background:var(--ms-bg);flex-direction:column;gap:28px;min-block-size:100dvh;padding:8px 16px 32px;display:flex;position:absolute;inset-block-start:100%;inset-inline:0}.menu-panel.svelte-a8kxe2 nav:where(.svelte-a8kxe2){flex-direction:column;display:flex}.entry.svelte-a8kxe2{border-block-end:1px solid var(--ms-border);min-block-size:56px;color:var(--ms-text);justify-content:space-between;align-items:center;font-size:19px;font-weight:600;text-decoration:none;display:flex}.entry.svelte-a8kxe2 svg{color:var(--ms-text-muted)}.entry[aria-current=page].svelte-a8kxe2{box-shadow:inset 3px 0 0 var(--ms-text);padding-inline-start:12px}.github-row.svelte-a8kxe2{justify-content:flex-start;gap:10px;font-size:17px;font-weight:400}.github-row.svelte-a8kxe2 svg:last-of-type{margin-inline-start:auto}.menu-group.svelte-a8kxe2{flex-direction:column;gap:10px;display:flex}.menu-label.svelte-a8kxe2{color:var(--ms-text-muted);font-size:14px;font-weight:650}@media (width<=359px){.menu.svelte-a8kxe2 summary:where(.svelte-a8kxe2){padding-inline:10px}.menu.svelte-a8kxe2 .word:where(.svelte-a8kxe2){clip-path:inset(50%);white-space:nowrap;block-size:1px;inline-size:1px;position:absolute;overflow:hidden}.header.svelte-a8kxe2{gap:8px}}@media (width<=1439px){.github-word.svelte-a8kxe2{clip-path:inset(50%);white-space:nowrap;block-size:1px;inline-size:1px;position:absolute;overflow:hidden}nav.desktop.svelte-a8kxe2 a:where(.svelte-a8kxe2){padding-inline:8px}}@media (width<=1239px){.header.svelte-a8kxe2{gap:12px;block-size:64px}.desktop.svelte-a8kxe2{display:none!important}.mobile.svelte-a8kxe2{display:flex}}.band.svelte-u0egk7{background:var(--ms-band-bg);min-block-size:32px;color:var(--ms-band-fg);letter-spacing:.02em;text-align:center;justify-content:center;align-items:center;gap:10px;padding:4px 16px;font-size:13px;display:flex}.dot.svelte-u0egk7{background:var(--ms-ask-fg);border-radius:50%;flex:none;block-size:6px;inline-size:6px}@media print{.band.svelte-u0egk7{display:none}}.skip.svelte-12qhfyh{z-index:100;border-radius:var(--ms-radius);background:var(--ms-btn-bg);color:var(--ms-btn-fg);padding:10px 16px;font-weight:600;position:absolute;inset-block-start:-10rem;inset-inline-start:16px}.skip.svelte-12qhfyh:focus{inset-block-start:16px}main.svelte-12qhfyh:focus{outline:none}.partial.svelte-12qhfyh{background:var(--ms-ask-bg);border-block-end:1px solid var(--ms-ask-border);font-size:14.5px}.inner.svelte-12qhfyh{color:var(--ms-text);gap:10px;padding-block:12px;display:flex}.inner.svelte-12qhfyh svg{color:var(--ms-ask-fg);margin-block-start:1px}.partial.svelte-12qhfyh a:where(.svelte-12qhfyh){font-weight:600}
