@font-face{font-family:Sora;src:url(/_astro/sora-variable.Bqpd64dN.ttf)format("truetype");font-weight:100 900;font-display:swap}:root{--lum-lumen:#5bdfff;--lum-sky:#2b8ff0;--lum-azure:#2d63de;--lum-royal:#1f47c4;--lum-abyss:#15308a;--lum-night:#0a1224;--lum-slate-700:#39445c;--lum-slate-500:#5e6b84;--lum-slate-300:#b7c1d3;--lum-slate-100:#e3e8f1;--lum-mist:#f3f6fb;--lum-white:#fff;--lum-mint:#06f2c4;--lum-ember:#b71920;--lum-ember-bright:#ff5147;--lum-orchid:#a333b5;--lum-orchid-bright:#ef8def;--lum-verdant:#028844;--lum-verdant-bright:#58dd70;--lum-amber:#b15204;--lum-amber-bright:#ffb334;--lum-font-display:"Sora", system-ui, sans-serif;--lum-font-body:"Sora", system-ui, sans-serif;color-scheme:light dark;--bg:var(--lum-mist);--surface:var(--lum-white);--text:var(--lum-night);--muted:var(--lum-slate-700);--link:var(--lum-royal);--link-hover:var(--lum-abyss);--border:var(--lum-slate-100);--border-strong:var(--lum-slate-500);--focus:var(--lum-royal);--btn-bg:var(--lum-royal);--btn-text:var(--lum-white);--btn-bg-hover:var(--lum-abyss);--accent:var(--lum-royal);--radius:.75rem;--measure:68ch;--page:72rem}@media (prefers-color-scheme:dark){:root{--bg:var(--lum-night);--surface:var(--lum-night);--text:var(--lum-white);--muted:var(--lum-slate-300);--link:var(--lum-lumen);--link-hover:var(--lum-white);--border:var(--lum-slate-500);--border-strong:var(--lum-slate-300);--focus:var(--lum-mint);--btn-bg:var(--lum-lumen);--btn-text:var(--lum-night);--btn-bg-hover:var(--lum-white);--accent:var(--lum-lumen)}}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}body{background:var(--bg);color:var(--text);font-family:var(--lum-font-body);overflow-wrap:break-word;flex-direction:column;min-height:100vh;margin:0;font-size:1.0625rem;font-weight:400;line-height:1.65;display:flex}main{flex:1}h1,h2,h3{font-family:var(--lum-font-display);text-wrap:balance;font-weight:600;line-height:1.2}h1{letter-spacing:-.02em;margin:0 0 1rem;font-size:clamp(2rem,1.4rem + 3vw,3.25rem)}h2{margin:3rem 0 1rem;font-size:clamp(1.4rem,1.2rem + 1vw,1.85rem)}h3{margin:0 0 .5rem;font-size:1.2rem}p,ul,ol,dl{max-width:var(--measure);margin:0 0 1rem}a{color:var(--link);text-underline-offset:.18em;text-decoration-thickness:.08em}a:hover{color:var(--link-hover)}:focus-visible{outline:3px solid var(--focus);outline-offset:3px;border-radius:2px}img,svg{max-width:100%;height:auto}code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.92em}.wrap{width:100%;max-width:var(--page);margin:0 auto;padding:0 1.25rem}.skip-link{z-index:10;background:var(--btn-bg);color:var(--btn-text);border-radius:var(--radius);padding:.75rem 1rem;font-weight:600;position:absolute;top:-10rem;left:1rem}.skip-link:focus{top:1rem}.site-header{border-bottom:1px solid var(--border)}.site-header .wrap{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem 1.5rem;padding-top:0;padding-bottom:0;display:flex}.brand{line-height:0;display:inline-flex}.brand img{width:auto;height:82px;display:block}@media (width<=22.5em){.brand img{height:44px}}.site-nav ul{flex-wrap:wrap;gap:.25rem 1.25rem;max-width:none;margin:0;padding:0;list-style:none;display:flex}.site-nav a{color:var(--text);padding:.5rem 0;font-weight:500;text-decoration:none;display:inline-block}.site-nav a:hover,.site-nav a[aria-current=page]{color:var(--link);text-underline-offset:.35em;text-decoration:underline .12em}.lang-switch{font-size:.95rem}.hero{padding:clamp(3rem,2rem + 5vw,6rem) 0 clamp(2rem,1.5rem + 3vw,4rem)}.eyebrow{color:var(--accent);letter-spacing:.08em;text-transform:uppercase;margin:0 0 .75rem;font-size:.85rem;font-weight:600}.lead{color:var(--text);font-size:clamp(1.1rem,1rem + .5vw,1.3rem);line-height:1.6}.muted{color:var(--muted)}.actions{flex-wrap:wrap;gap:.75rem;margin:2rem 0 0;display:flex}.button{border-radius:var(--radius);border:2px solid var(--btn-bg);background:var(--btn-bg);color:var(--btn-text);padding:.75rem 1.25rem;font-weight:600;text-decoration:none;display:inline-block}.button:hover{background:var(--btn-bg-hover);border-color:var(--btn-bg-hover);color:var(--btn-text)}.button.secondary{color:var(--link);border-color:var(--border-strong);background:0 0}.button.secondary:hover{border-color:var(--link);color:var(--link)}.section{padding-bottom:1rem}.cards{grid-template-columns:repeat(auto-fit,minmax(min(16rem,100%),1fr));gap:1rem;max-width:none;margin:0 0 1rem;padding:0;list-style:none;display:grid}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem 1.25rem .5rem}.card p{color:var(--muted)}.meta{color:var(--muted);flex-wrap:wrap;gap:.25rem 1rem;padding:0;font-size:.92rem;list-style:none;display:flex}.badge{border:1px solid var(--border-strong);color:var(--text);border-radius:999px;padding:0 .6rem;font-size:.82rem;font-weight:500;display:inline-block}.checklist{padding-left:1.25rem}.checklist li{margin-bottom:.5rem}.prose{padding-top:clamp(2.5rem,2rem + 3vw,4.5rem);padding-bottom:2rem}.prose h2{margin-top:2.5rem}.prose h3{margin-top:1.75rem}.prose li{margin-bottom:.35rem}.facts{grid-template-columns:max-content 1fr;gap:.5rem 1.5rem;display:grid}.facts dt{font-weight:600}.facts dd{margin:0}.note{border-left:4px solid var(--accent);color:var(--muted);padding:.5rem 0 .5rem 1rem}.table-wrap{margin:0 0 1rem;overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:.97rem}th,td{text-align:left;vertical-align:top;border-bottom:1px solid var(--border);padding:.6rem .75rem .6rem 0}th{font-weight:600}.oss-planned th[scope=rowgroup]{font-family:var(--lum-font-display);padding-top:1.1rem}@media (width>=48em){.oss-planned-name code,.oss-planned-licence{white-space:nowrap}}.oss-list{margin:0 0 1rem;container-type:inline-size}.oss-overview{flex-wrap:wrap;align-items:baseline;gap:.5rem .75rem;margin:0 0 1.75rem;display:flex}.oss-overview p{color:var(--muted);margin:0}.oss-jump,.oss-grid,.oss-links{max-width:none;margin:0;padding:0;list-style:none}.oss-jump{flex-wrap:wrap;gap:.5rem;display:flex}.prose .oss-jump li,.prose .oss-grid>li,.prose .oss-links li,.prose .oss-card-body .meta li{margin:0}.oss-jump a{border:1px solid var(--border-strong);border-radius:1rem;padding:.2rem .8rem;font-size:.92rem;font-weight:500;line-height:1.5;text-decoration:none;display:inline-block}.oss-jump a:hover{border-color:var(--link-hover);text-decoration:underline}.disclosure{cursor:pointer;flex-wrap:wrap;align-items:baseline;gap:.35rem .75rem;list-style:none;display:flex;position:relative}.disclosure::-webkit-details-marker{display:none}.disclosure:after{content:"";border-bottom:2px solid;border-right:2px solid;width:.55rem;height:.55rem;position:absolute;right:1.25rem;transform:translateY(-35%)rotate(45deg)}details[open]>.disclosure:after{transform:translateY(15%)rotate(225deg)}@media (prefers-reduced-motion:no-preference){.disclosure:after{transition:transform .2s}}.oss-group{margin:0 0 2rem;scroll-margin-top:1rem}.oss-group:last-child{margin-bottom:0}.prose .oss-group-title{margin:0 0 .15rem}.oss-group-summary{border-bottom:1px solid var(--border);padding:.1rem 2.5rem .5rem 0}.oss-group-details[open]>.oss-group-summary{margin-bottom:1rem}.oss-group-summary:after{top:.75rem;right:.5rem}.oss-group-summary:hover .oss-count,.oss-card-summary:hover .oss-card-title{color:var(--link)}.oss-count{color:var(--muted);font-size:.92rem}.oss-grid{grid-template-columns:minmax(0,1fr);align-items:start;gap:1rem;display:grid}@container (width>=40em){.oss-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.oss-item{scroll-margin-top:1rem}.oss-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius)}.oss-card:hover,.oss-card[open]{border-color:var(--border-strong)}.oss-item:target>.oss-card{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.oss-card-summary{border-radius:var(--radius);padding:1rem 3rem 1rem 1.25rem}.oss-card-summary:after{top:1.45rem}.oss-card-summary .oss-card-title{font-family:var(--lum-font-display);margin:0;font-size:1.15rem;font-weight:600;line-height:1.3}.oss-badges{flex-wrap:wrap;gap:.35rem;display:inline-flex}.oss-tagline{color:var(--muted);flex:1 0 100%;font-size:.97rem;line-height:1.5}.oss-card[open] .oss-tagline{display:none}.oss-card-body{border-top:1px solid var(--border);margin:0 1.25rem;padding:.9rem 0 .25rem}.oss-card-body p{margin:0 0 .75rem}.oss-card-body .meta{margin:0 0 .5rem}.oss-links{flex-wrap:wrap;gap:.25rem 1.25rem;margin-bottom:.75rem;font-size:.95rem;display:flex}.oss-links a{padding:.15rem 0;font-weight:500;display:inline-block}.plain-list{margin:0;padding:0;list-style:none}.mirror pre{background:var(--surface);border:1px solid var(--border);border-radius:.5rem;max-width:100%;margin:0 0 1rem;padding:.75rem 1rem;line-height:1.5;overflow-x:auto}.mirror pre code{font-size:.88rem}.mirror blockquote{border-left:4px solid var(--accent);margin:0 0 1rem;padding:.25rem 0 .25rem 1rem}.mirror img{height:auto}.mirror table{max-width:none}.align-left{text-align:left}.align-center{text-align:center}.align-right{text-align:right}.docs-layout{grid-template-columns:minmax(0,1fr);gap:0 2.5rem;display:grid}.docs-nav{padding-top:clamp(2.5rem,2rem + 3vw,4.5rem);font-size:.95rem}.docs-nav ul{margin:0;padding:0;list-style:none}.docs-nav li{margin-bottom:.35rem}.docs-nav-title{margin-bottom:.5rem;font-weight:600}.docs-nav a[aria-current=page]{color:var(--text);font-weight:600;text-decoration:none}.docs-body{min-width:0}.pager{border-top:1px solid var(--border);max-width:var(--measure);flex-wrap:wrap;justify-content:space-between;gap:.5rem 1rem;margin-top:2rem;padding-top:1rem;display:flex}@media (width>=60em){.docs-layout{grid-template-columns:14rem minmax(0,1fr)}.docs-nav{align-self:start;position:sticky;top:0}}.site-footer{border-top:1px solid var(--border);color:var(--muted);margin-top:4rem;padding:2rem 0 2.5rem;font-size:.95rem}.site-footer .wrap{flex-wrap:wrap;justify-content:space-between;gap:1rem 2rem;display:flex}.site-footer ul{flex-wrap:wrap;gap:.25rem 1.25rem;margin:0;padding:0;list-style:none;display:flex}.site-footer a{color:var(--muted)}.site-footer a:hover{color:var(--link)}.site-footer p{margin:0 0 .25rem}@media (width<=30em){.facts{grid-template-columns:1fr;gap:.1rem}.facts dd{margin-bottom:.75rem}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media print{.site-header nav,.skip-link,.actions,.disclosure:after{display:none}.oss-item{break-inside:avoid}details::details-content{content-visibility:visible}}.nowrap{white-space:nowrap}.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}
