:root{color-scheme:dark;--bg:#0b1220;--surface:#111a2e;--surface-2:#17223a;--border:#26324a;--text:#e6edf7;--muted:#9aa8bf;--accent:#009cfb;--accent-hover:#3db3ff;--accent-contrast:#0b1220;--brand:#009cfb;--focus:#5cc2ff;--shadow:0 1px 2px #0000004d, 0 8px 24px #00000040;--font-sans:system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji";--font-mono:ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;--radius:12px;--radius-sm:8px;--space-1:.25rem;--space-2:.5rem;--space-3:1rem;--space-4:1.5rem;--space-5:2rem;--space-6:3rem;--space-7:4.5rem;--container:1120px;--gutter:16px;--header-h:64px}[data-theme=light]{color-scheme:light;--bg:#fff;--surface:#f5f7fa;--surface-2:#eef2f7;--border:#d5dce6;--text:#0f172a;--muted:#475569;--accent:#0070b8;--accent-hover:#005a94;--accent-contrast:#fff;--focus:#0070b8;--shadow:0 1px 2px #0f172a0f, 0 8px 24px #0f172a14}*,:before,:after{box-sizing:border-box}*{margin:0}html{scrollbar-gutter:stable;-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:calc(var(--header-h) + var(--space-3))}body{background:var(--bg);min-height:100vh;color:var(--text);font:400 1rem/1.6 var(--font-sans);-webkit-font-smoothing:antialiased;flex-direction:column;display:flex}main{flex:1}img,svg,picture,video{max-width:100%;display:block}img{height:auto}input,button,textarea,select{font:inherit;color:inherit}button{cursor:pointer}p,li,h1,h2,h3,h4{overflow-wrap:break-word}h1,h2,h3,h4{text-wrap:balance;letter-spacing:-.01em;font-weight:700;line-height:1.2}h1{letter-spacing:-.02em;font-size:clamp(2.25rem,1.6rem + 3vw,3.5rem)}h2{font-size:clamp(1.5rem,1.25rem + 1.2vw,2rem)}h3{font-size:1.125rem}ul[role=list],ol[role=list]{padding:0;list-style:none}a{color:var(--accent);text-underline-offset:.2em}a:hover{color:var(--accent-hover)}code,kbd,pre{font-family:var(--font-mono);font-size:.9em}:not(pre)>code{background:var(--surface-2);border-radius:4px;padding:.1em .35em}hr{border:0;border-top:1px solid var(--border)}:focus-visible{outline:2px solid var(--focus);outline-offset:2px;border-radius:4px}.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}.skip-link{left:var(--space-3);top:var(--space-2);z-index:100;padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);background:var(--accent);color:var(--accent-contrast);font-weight:600;position:absolute;transform:translateY(-200%)}.skip-link:focus{transform:none}.icon{vertical-align:-.125em;flex:none;width:1em;height:1em;display:inline-block}.container{width:100%;max-width:calc(var(--container) + 2 * var(--gutter));padding-inline:var(--gutter);margin-inline:auto}.section{padding-block:var(--space-6)}.section+.section{padding-top:0}.section-head{margin-bottom:var(--space-5);max-width:65ch}.section-head>*+*{margin-top:var(--space-2)}.stack>*+*{margin-top:var(--space-3)}.grid{gap:var(--space-3);grid-template-columns:1fr;display:grid}@media (width>=640px){.grid-2,.grid-3{grid-template-columns:repeat(2,1fr)}}@media (width>=960px){.section{padding-block:var(--space-7)}.grid-3{grid-template-columns:repeat(3,1fr)}}.section.page{padding-block:var(--space-6)}.page>.container>*+*{margin-top:var(--space-6)}.page .section-head{margin-bottom:var(--space-3)}.page-head h1+.lead{margin-top:var(--space-3)}.page-head .lead{max-width:36rem;font-size:1.25rem;line-height:2rem}.page-head .actions{margin-top:var(--space-4)}.directory .grid,.directory .group .grid{gap:var(--space-4)}.directory .group>h2+.grid{margin-top:var(--space-4)}.filters{gap:var(--space-2);margin:0 0 var(--space-5);border:0;flex-wrap:wrap;min-width:0;padding:0;display:flex}.filters label{min-height:40px;padding:0 var(--space-2);border:1px solid var(--border);background:var(--surface);color:var(--muted);cursor:pointer;border-radius:999px;align-items:center;font-size:.875rem;font-weight:600;display:inline-flex}.filters label:hover{color:var(--text);border-color:var(--accent)}.filters input:checked+label{background:var(--accent);border-color:var(--accent);color:var(--accent-contrast)}.filters input:focus-visible+label{outline:2px solid var(--accent);outline-offset:2px}@media (width<=640px){.filters label{min-height:44px}}@supports not selector(:has(a)){.filters{display:none}}.row{align-items:center;gap:var(--space-2) var(--space-3);flex-wrap:wrap;display:flex}.eyebrow{letter-spacing:.08em;text-transform:uppercase;color:var(--accent);font-size:.8125rem;font-weight:600}.lead{color:var(--muted);max-width:60ch;font-size:clamp(1.0625rem,1rem + .4vw,1.25rem)}.muted{color:var(--muted)}.prose{max-width:70ch}.prose>*+*{margin-top:var(--space-3)}.prose ul,.prose ol{padding-left:1.25em}.btn{justify-content:center;align-items:center;gap:var(--space-2);border-radius:var(--radius-sm);white-space:nowrap;border:1px solid #0000;min-height:44px;padding:.5rem 1.125rem;font-weight:600;line-height:1.2;text-decoration:none;display:inline-flex}.btn-primary{background:var(--accent);color:var(--accent-contrast)}.btn-primary:hover{background:var(--accent-hover);color:var(--accent-contrast)}.btn-secondary{background:var(--surface);color:var(--text);border-color:var(--border)}.btn-secondary:hover{background:var(--surface-2);color:var(--text)}.btn-lg{min-height:52px;padding-inline:1.5rem;font-size:1.0625rem}.icon-btn{border-radius:var(--radius-sm);width:44px;height:44px;color:var(--text);background:0 0;border:0;justify-content:center;align-items:center;padding:0;font-size:1.25rem;display:inline-flex}.icon-btn:hover{background:var(--surface-2);color:var(--text)}.card{padding:var(--space-4);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);color:inherit;display:block}.card>*+*{margin-top:var(--space-2)}a.card{text-decoration:none}a.card:hover{border-color:var(--accent);background:var(--surface-2);color:inherit}.card-icon{color:var(--accent);font-size:1.5rem}.card p{color:var(--muted)}.pill{align-items:center;gap:var(--space-1);border:1px solid var(--border);color:var(--muted);background:var(--surface);border-radius:999px;padding:.125rem .625rem;font-size:.8125rem;display:inline-flex}.codeblock{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);overflow:hidden}.codeblock-head{justify-content:space-between;align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-1) var(--space-1) var(--space-3);border-bottom:1px solid var(--border);font:.875rem var(--font-mono);color:var(--muted);display:flex}pre{padding:var(--space-3);tab-size:4;line-height:1.55;overflow-x:auto}.codeblock pre{border-radius:0}.astro-code{color:var(--shiki-dark);background-color:var(--shiki-dark-bg)}.astro-code span{color:var(--shiki-dark)}[data-theme=light] .astro-code{color:var(--shiki-light);background-color:var(--shiki-light-bg)}[data-theme=light] .astro-code span{color:var(--shiki-light)}.install{align-items:center;gap:var(--space-2);max-width:100%;padding:var(--space-1) var(--space-1) var(--space-1) var(--space-2);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);flex-wrap:wrap;display:inline-flex}.install code{white-space:nowrap;background:0 0;min-width:22ch;padding:0;font-size:.9375rem;overflow-x:auto}.pm{border:1px solid var(--border);border-radius:var(--radius-sm);min-width:0;margin:0;padding:2px;display:inline-flex}.pm label{min-width:36px;padding:4px var(--space-1);color:var(--muted);font:600 .8125rem var(--font-mono);cursor:pointer;border-radius:4px;justify-content:center;align-items:center;display:inline-flex}.pm label:hover{color:var(--text)}.pm input:checked+label{background:var(--accent);color:var(--accent-contrast)}.pm input:focus-visible+label{outline:2px solid var(--accent);outline-offset:2px}.install:has(#pm-uv:checked) .for-pip,.install:not(:has(#pm-uv:checked)) .for-uv{display:none}@supports not selector(:has(a)){.pm,.install .for-uv{display:none}}@media (width<=480px){.install{gap:var(--space-1);padding-left:var(--space-1)}.install code{min-width:22ch;font-size:.875rem}.install .copy-btn{padding:0}.install .copy-btn [data-copy-label]{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}}@media (width<=340px){.pm{flex-basis:100%;justify-content:center}}.copy-btn{align-items:center;gap:var(--space-1);min-width:44px;min-height:44px;padding:0 var(--space-2);border-radius:var(--radius-sm);color:var(--muted);font:600 .8125rem var(--font-sans);background:0 0;border:0;justify-content:center;display:inline-flex}.copy-btn:hover{color:var(--text);background:var(--surface-2)}html:not(.js) [data-copy],html:not(.js) [data-theme-toggle],html:not(.js) [data-menu-toggle]{display:none}.site-header{z-index:50;background:color-mix(in srgb, var(--bg) 92%, transparent);border-bottom:1px solid var(--border);backdrop-filter:saturate(1.4)blur(8px);position:sticky;top:0}.header-inner{align-items:center;gap:var(--space-2);min-height:var(--header-h);flex-wrap:wrap;display:flex}.brand{align-items:center;gap:var(--space-2);min-height:44px;color:var(--text);margin-right:auto;font-size:1.125rem;font-weight:700;text-decoration:none;display:inline-flex}.brand:hover{color:var(--text)}.site-nav ul{gap:var(--space-1);flex-wrap:wrap;padding:0;list-style:none;display:flex}.site-nav a{min-height:44px;padding:0 var(--space-3);border-radius:var(--radius-sm);color:var(--muted);align-items:center;font-weight:500;text-decoration:none;display:inline-flex}.site-nav a:hover,.site-nav a[aria-current=page]{color:var(--text);background:var(--surface-2)}.header-actions{align-items:center;gap:var(--space-1);display:flex}.header-actions .btn{padding-inline:.875rem}.label-short,.theme-icon-light{display:none}[data-theme=light] .theme-icon-light{display:inline-block}[data-theme=light] .theme-icon-dark{display:none}@media (width>=769px){.site-nav{order:0}.menu-btn{display:none}}@media (width<=768px){.site-nav{padding-bottom:var(--space-2);flex-basis:100%;order:10}.site-nav ul{flex-direction:column}.js .site-nav{z-index:50;padding:var(--space-2) var(--gutter);background:var(--surface);border-bottom:1px solid var(--border);position:absolute;top:100%;left:0;right:0;box-shadow:0 8px 16px #0003}.js .site-nav:not(.open){display:none}.js .site-nav a{display:flex}@media (prefers-reduced-motion:no-preference){.js .site-nav.open{animation:.15s ease-out nav-in}}}@media (width<=480px){.label-long{display:none}.label-short{display:inline}}@media (width<=400px){.brand-name{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}}@keyframes nav-in{0%{opacity:0;transform:translateY(-6px)}}.site-footer{margin-top:var(--space-6);padding-block:var(--space-6) var(--space-4);border-top:1px solid var(--border);background:var(--surface);font-size:.9375rem}.footer-cols{gap:var(--space-5);grid-template-columns:repeat(auto-fit,minmax(160px,1fr));display:grid}.footer-title{text-transform:uppercase;letter-spacing:.08em;color:var(--text);margin-bottom:var(--space-2);font-size:.875rem}.footer-cols ul{padding:0;list-style:none}.footer-cols a{color:var(--muted);padding-block:.375rem;text-decoration:none;display:inline-block}.footer-cols a:hover{color:var(--text);text-decoration:underline}.footer-bottom{margin-top:var(--space-5);padding-top:var(--space-4);border-top:1px solid var(--border);color:var(--muted)}.footer-bottom a{color:var(--muted)}.footer-bottom a:hover{color:var(--text)}.policy ol{max-width:90ch;padding-left:1.25em}.policy li+li{margin-top:var(--space-2)}.policy li{color:var(--muted)}@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}.btn,.icon-btn,.copy-btn,.card,.site-nav a{transition:background-color .15s,border-color .15s,color .15s,transform .15s}a.card:hover{transform:translateY(-2px)}.skip-link{transition:transform .15s}}.pill-nav{margin-top:var(--space-4);gap:var(--space-2)}.pill-nav a.pill{text-decoration:none}.pill-nav a.pill:hover{border-color:var(--accent);color:var(--text)}.policy-section{scroll-margin-top:var(--space-3)}.policy-section>p,.policy-plain{max-width:70ch}.policy-plain{padding-left:1.25em}.policy-plain li+li{margin-top:var(--space-2)}.policy-section>h3{margin-top:var(--space-4)}.policy-section>h2+*{margin-top:var(--space-3)}
