.site-header{z-index:var(--z-header);background:var(--glass-surface);-webkit-backdrop-filter:saturate(140%)blur(14px);backdrop-filter:saturate(140%)blur(14px);border-bottom:1px solid var(--glass-border);box-shadow:inset 0 1px 0 var(--glass-highlight), 0 1px 0 var(--glass-border);position:sticky;top:0}@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.site-header{background:var(--bg-base)}}.site-header__inner{align-items:center;gap:var(--space-8);height:var(--header-h);display:flex}@media (max-width:640px){.site-header__inner{gap:var(--space-4)}}.site-header__brand{align-items:center;gap:var(--space-3);color:var(--fg-base);font-weight:var(--fw-strong);text-decoration:none;display:inline-flex}.site-header__mark{width:auto;height:22px;color:var(--fg-base);view-transition-name:header-mark;display:block}.site-header__wordmark{font-family:var(--font-mono);font-size:var(--fs-caption);font-weight:var(--fw-strong);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--fg-muted)}@media (max-width:640px){.site-header__wordmark{display:none}}.site-header__nav{align-items:center;gap:var(--space-6);margin-left:auto;margin-right:auto;display:flex}@media (max-width:640px){.site-header__nav{gap:var(--space-4)}}.site-header__nav-item{padding:var(--space-3) 0;font-family:var(--font-mono);font-size:var(--fs-caption);font-weight:var(--fw-medium);letter-spacing:var(--tracking-wide);color:var(--fg-muted);text-transform:uppercase;transition:color var(--dur-fast) var(--t-ease);align-items:center;text-decoration:none;display:inline-flex;position:relative}.site-header__nav-item:after{content:"";left:0;right:0;bottom:var(--space-2);background:var(--fg-base);transform-origin:0;height:2px;transition:transform var(--dur-fast) var(--t-ease);position:absolute;transform:scaleX(0)}.site-header__nav-item:hover,.site-header__nav-item.is-active{color:var(--fg-base)}.site-header__nav-item.is-active:after{transform:scaleX(1)}.site-header__nav-item:focus-visible{outline:3px solid var(--accent);outline-offset:3px;box-shadow:none;border-radius:var(--radius-xs)}@media (forced-colors:active){.site-header{border-bottom:2px solid canvastext}}.site-header__right{margin-left:0}.site-footer{background:var(--bg-subtle);border-top:1px solid var(--border-subtle);padding-block:var(--space-10);margin-top:auto}.site-footer__inner{justify-content:space-between;align-items:center;gap:var(--space-6);flex-wrap:wrap;display:flex}.site-footer__brand-link{align-items:baseline;gap:var(--space-3);color:var(--fg-base);text-decoration:none;display:inline-flex}.site-footer__mark{width:auto;height:18px;color:var(--fg-base)}.site-footer__wordmark{font-family:var(--font-mono);font-size:var(--fs-caption);font-weight:var(--fw-strong);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--fg-muted)}body.home-fixed-layout{height:100svh;overflow:hidden}@media (max-width:1023px){body.home-fixed-layout{height:auto;overflow:auto}}.home{background:radial-gradient(ellipse 65% 55% at 10% 20%, color-mix(in oklch, var(--accent) 32%, transparent), transparent 60%), radial-gradient(ellipse 50% 50% at 70% 15%, color-mix(in oklch, var(--info) 28%, transparent), transparent 60%), radial-gradient(ellipse 45% 40% at 15% 80%, color-mix(in oklch, var(--warn) 22%, transparent), transparent 65%), radial-gradient(ellipse 50% 40% at 85% 85%, color-mix(in oklch, var(--danger) 18%, transparent), transparent 65%), var(--bg-base);grid-template-rows:1fr auto;grid-template-columns:minmax(0,1fr);width:100%;max-width:100vw;min-height:0;display:grid;overflow:hidden}@media (min-width:1024px){.home{height:calc(100svh - var(--header-h) - 88px)}}.home__sections{flex-direction:column;min-height:0;display:flex}@media (min-width:1024px){.home__sections{scroll-snap-type:y mandatory;scroll-behavior:smooth;scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent;overflow:hidden auto}}@media (prefers-reduced-motion:reduce){.home__sections{scroll-behavior:auto}}.home-page{min-width:0}@media (min-width:1024px){.home-page{scroll-snap-align:start;scroll-snap-stop:always;width:100%;padding-block:var(--space-6) var(--space-4);flex-direction:column;flex:0 0 100%;justify-content:flex-start;display:flex}.home-page.section--hero,.home-page.section--subtle,.home-page.section{padding-block:var(--space-6) var(--space-4)}.home-page.cta-snap{justify-content:center}}.home__carousel{background:var(--bg-base);border-top:1px solid var(--border-subtle)}.hero{gap:var(--space-12);grid-template-columns:minmax(0,1fr);display:grid}@media (min-width:1120px){.hero{gap:var(--space-12);grid-template-columns:minmax(0,5fr) minmax(0,7fr);align-items:stretch;height:100%}.section--hero>.container{flex-direction:column;height:100%;display:flex}.section--hero .hero{flex:1;min-height:0}}.hero__copy{gap:var(--space-5);flex-direction:column;max-width:640px;display:flex}.hero__title{margin-top:var(--space-2);margin-bottom:0}.hero__stair{width:100%;max-width:340px;display:block}.hero__quote{margin:0;padding:0}.hero__subtitle{color:var(--fg-muted);max-width:56ch;margin-top:var(--space-2)}.hero__cite{font-family:var(--font-mono);color:var(--fg-subtle);margin-top:var(--space-2);display:block}.hero__cite cite{font-style:normal}.hero__actions{gap:var(--space-3);margin-top:var(--space-4);flex-wrap:wrap;display:flex}.hero__code{gap:var(--space-3);flex-direction:column;min-width:0;min-height:0;display:flex}@media (min-width:1120px){.hero__code{height:100%}.hero__code>.terminal{flex:1;min-height:0}}.hero__code-caption{color:var(--fg-subtle);max-width:46ch;line-height:var(--lh-normal);letter-spacing:0;text-transform:none;font-family:var(--font-sans)}.value__header{gap:var(--space-3);margin-bottom:var(--space-8);max-width:var(--container-text);flex-direction:column;display:flex}.value__title{color:var(--fg-base)}.value__grid{gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(240px,1fr));display:grid}@media (min-width:1120px){.value__grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.value-card-title{align-items:baseline;gap:var(--space-3);color:var(--fg-base);font-family:var(--font-sans);font-size:var(--fs-body);font-weight:var(--fw-strong);letter-spacing:0;text-transform:none;display:inline-flex}.value-card-title__num{color:var(--fg-subtle);font-family:var(--font-mono);font-weight:var(--fw-medium)}.value__grid .callout__title{font-family:var(--font-sans);font-size:var(--fs-body);font-weight:var(--fw-strong);color:var(--fg-base);text-transform:none;letter-spacing:0;margin-bottom:var(--space-4)}.pipeline__header{gap:var(--space-3);margin-bottom:var(--space-8);max-width:var(--container-text);flex-direction:column;display:flex}.pipeline__title{color:var(--fg-base)}.pipeline__subtitle{color:var(--fg-muted);max-width:58ch}.pipeline__list{gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(220px,1fr));margin:0;padding:0;list-style:none;display:grid}@media (min-width:1120px){.pipeline__list{grid-template-columns:repeat(3,minmax(0,1fr))}}.pipeline__phase{gap:var(--space-4);padding:var(--space-4) var(--space-5);background:color-mix(in srgb, var(--bg-elevated) 55%, transparent);-webkit-backdrop-filter:saturate(180%)blur(14px);backdrop-filter:saturate(180%)blur(14px);border:1px solid var(--glass-border);border-radius:var(--radius-md);box-shadow:inset 0 1px 0 color-mix(in oklch, var(--glass-highlight) 25%, transparent), inset 0 0 0 1px color-mix(in oklch, var(--fg-base) 2%, transparent);display:flex}.pipeline__num{font-family:var(--font-mono);font-size:var(--fs-caption);color:var(--fg-subtle);font-variant-numeric:tabular-nums;padding-top:2px}.pipeline__body{gap:var(--space-1);flex-direction:column;min-width:0;display:flex}.pipeline__name{font-family:var(--font-sans);font-size:var(--fs-body);font-weight:var(--fw-strong);color:var(--fg-base)}.pipeline__desc{color:var(--fg-muted);font-family:var(--font-sans);font-size:var(--fs-small);line-height:var(--lh-normal)}.standards-section__header{gap:var(--space-3);margin-bottom:var(--space-6);max-width:var(--container-text);flex-direction:column;display:flex}.standards-section__title{color:var(--fg-base)}.standards-section__subtitle{color:var(--fg-muted);max-width:58ch}.standards-section__count{align-items:baseline;gap:var(--space-2);font-family:var(--font-mono);margin-top:var(--space-2);flex-wrap:wrap;display:inline-flex}.standards-section__count-num,.standards-section__verified{font-size:var(--fs-h3);font-weight:var(--fw-strong);color:var(--fg-base);font-variant-numeric:tabular-nums}.standards-section__count-label,.standards-section__verified-label{font-size:var(--fs-caption);color:var(--fg-muted);letter-spacing:var(--tracking-wide);text-transform:uppercase}.standards-section__count-sep{color:var(--fg-subtle);font-size:var(--fs-body);margin-inline:var(--space-2)}.standards-section__list{gap:var(--space-3);grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1fr) minmax(0,1fr);grid-auto-rows:minmax(170px,1fr);margin:0;padding:0;list-style:none;transition:grid-template-columns .36s cubic-bezier(.22,1,.36,1);display:grid}.standards-section__list[data-expanded-col="0"]{grid-template-columns:minmax(0,2.4fr) minmax(0,.87fr) minmax(0,.87fr) minmax(0,.87fr)}.standards-section__list[data-expanded-col="1"]{grid-template-columns:minmax(0,.87fr) minmax(0,2.4fr) minmax(0,.87fr) minmax(0,.87fr)}.standards-section__list[data-expanded-col="2"]{grid-template-columns:minmax(0,.87fr) minmax(0,.87fr) minmax(0,2.4fr) minmax(0,.87fr)}.standards-section__list[data-expanded-col="3"]{grid-template-columns:minmax(0,.87fr) minmax(0,.87fr) minmax(0,.87fr) minmax(0,2.4fr)}@media (max-width:1119px){.standards-section__list{grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1fr)}}@media (max-width:880px){.standards-section__list{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}@media (max-width:480px){.standards-section__list{grid-template-columns:minmax(0,1fr);grid-auto-rows:minmax(120px,auto)}}.standards-section__item{background:color-mix(in srgb, var(--bg-elevated) 55%, transparent);-webkit-backdrop-filter:saturate(180%)blur(14px);backdrop-filter:saturate(180%)blur(14px);border:1px solid var(--glass-border);border-radius:var(--radius-md);min-width:0;box-shadow:inset 0 1px 0 color-mix(in oklch, var(--glass-highlight) 25%, transparent), inset 0 0 0 1px color-mix(in oklch, var(--fg-base) 2%, transparent);transition:border-color var(--dur-base) var(--t-ease);overflow:hidden}.standards-section__item.is-expanded{border-color:var(--accent);z-index:1}.standards-section__item-button{width:100%;height:100%;padding:var(--space-4);text-align:left;cursor:pointer;font:inherit;color:inherit;background:0 0;border:0;flex-direction:column;display:flex}.standards-section__item-button:hover .standards-section__item-title{color:var(--accent)}.standards-section__item-button:focus-visible{outline:2px solid var(--accent);outline-offset:-2px;border-radius:var(--radius-md)}.standards-section__item-title{font-family:var(--font-mono);font-size:var(--fs-small);font-weight:var(--fw-strong);color:var(--fg-base);margin-bottom:var(--space-1);transition:color var(--dur-fast) var(--t-ease)}.standards-section__item-scope{color:var(--fg-muted);letter-spacing:0;text-transform:none;font-family:var(--font-sans);line-height:var(--lh-normal)}.standards-section__item-content{min-height:0;margin-top:var(--space-2);flex:1;position:relative}.standards-section__item-preview,.standards-section__item-full{transition:opacity .24s cubic-bezier(.22,1,.36,1);position:absolute;inset:0}.standards-section__item-preview{color:var(--fg-muted);font-family:var(--font-sans);font-size:var(--fs-small);line-height:var(--lh-normal);-webkit-line-clamp:4;line-clamp:4;text-overflow:ellipsis;opacity:1;pointer-events:auto;-webkit-box-orient:vertical;font-style:italic;display:-webkit-box;overflow:hidden}.standards-section__item.is-expanded .standards-section__item-preview{opacity:0;pointer-events:none}.standards-section__item-full{opacity:0;pointer-events:none;scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent;overflow-y:auto}.standards-section__item.is-expanded .standards-section__item-full{opacity:1;pointer-events:auto}.standards-section__item-quote{margin:0 0 var(--space-2) 0;padding-left:var(--space-3);border-left:2px solid var(--accent);color:var(--fg-base);font-family:var(--font-sans);font-size:var(--fs-body);line-height:var(--lh-relaxed);font-style:italic}.standards-section__item-source{font-family:var(--font-mono);color:var(--fg-subtle);letter-spacing:0;text-transform:none;font-style:normal;display:block}@media (prefers-reduced-motion:reduce){.standards-section__item-preview,.standards-section__item-full{transition:none}}.audience__header{gap:var(--space-3);margin-bottom:var(--space-8);max-width:var(--container-text);flex-direction:column;display:flex}.audience__title{color:var(--fg-base)}.audience__subtitle{color:var(--fg-muted);max-width:60ch}.audience__grid{gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(260px,1fr));display:grid}@media (min-width:1120px){.audience__grid{grid-template-columns:repeat(4,minmax(0,1fr))}}.home-page--dense .stack-xl,.home-page--dense .stack-lg{--stack-gap:var(--space-6)}.home-page--dense .before-after__header,.home-page--dense .stdlib__header{margin-bottom:var(--space-3);gap:var(--space-2)}.home-page--dense .before-after__title,.home-page--dense .stdlib__title{font-size:var(--fs-h3)}.home-page--dense .stdlib__subtitle{display:none}@media (min-width:1024px){.home-page--dense .before-after__col{padding:var(--space-4) var(--space-5)}.home-page--dense .stdlib__card{padding:var(--space-3) var(--space-4);gap:var(--space-1)}}.before-after__header{gap:var(--space-3);margin-bottom:var(--space-6);max-width:var(--container-text);flex-direction:column;display:flex}.before-after__title{color:var(--fg-base)}.before-after__grid{gap:var(--space-4);grid-template-columns:minmax(0,1fr);display:grid}@media (min-width:720px){.before-after__grid{gap:var(--space-5);grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}.before-after__col{padding:var(--space-5);background:color-mix(in srgb, var(--bg-elevated) 55%, transparent);-webkit-backdrop-filter:saturate(180%)blur(14px);backdrop-filter:saturate(180%)blur(14px);border:1px solid var(--glass-border);border-radius:var(--radius-md);box-shadow:inset 0 1px 0 color-mix(in oklch, var(--glass-highlight) 25%, transparent), inset 0 0 0 1px color-mix(in oklch, var(--fg-base) 2%, transparent);gap:var(--space-3);flex-direction:column;min-width:0;display:flex}.before-after__label{font-family:var(--font-mono);font-size:var(--fs-caption);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--fg-subtle)}.before-after__col--before .before-after__label{color:color-mix(in oklch, var(--danger) 60%, var(--fg-muted))}.before-after__col--after .before-after__label{color:color-mix(in oklch, var(--ok) 70%, var(--fg-muted))}.before-after__list{gap:var(--space-2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.before-after__item{padding-left:var(--space-4);font-size:var(--fs-small);line-height:var(--lh-relaxed);color:var(--fg-muted);position:relative}.before-after__col--before .before-after__item:before{content:"—";color:color-mix(in oklch, var(--danger) 50%, var(--fg-subtle));font-family:var(--font-mono);position:absolute;left:0}.before-after__col--after .before-after__item:before{content:"+";color:var(--ok);font-family:var(--font-mono);font-weight:var(--fw-strong);position:absolute;left:0}.outputs__header{gap:var(--space-3);margin-bottom:var(--space-6);max-width:var(--container-text);flex-direction:column;display:flex}.outputs__title{color:var(--fg-base)}.outputs__subtitle{color:var(--fg-muted);max-width:58ch}.outputs__tabs{gap:var(--space-2);margin-bottom:var(--space-4);border-bottom:1px solid var(--border-subtle);padding-bottom:var(--space-2);flex-wrap:wrap;display:flex}.outputs__tab{padding:var(--space-2) var(--space-3);border-radius:var(--radius-xs);cursor:pointer;font-family:var(--font-sans);font-size:var(--fs-small);font-weight:var(--fw-medium);color:var(--fg-muted);transition:color var(--dur-fast) var(--t-ease), background var(--dur-fast) var(--t-ease);background:0 0;border:0}.outputs__tab:hover{color:var(--fg-base);background:color-mix(in oklch, var(--fg-base) 4%, transparent)}.outputs__tab.is-active{color:var(--accent);background:color-mix(in oklch, var(--accent) 10%, transparent)}.outputs__tab:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.outputs__panel{gap:var(--space-4);flex-direction:column;display:flex}.outputs__doc{gap:var(--space-3);padding:var(--space-4) var(--space-5);background:color-mix(in srgb, var(--bg-elevated) 55%, transparent);-webkit-backdrop-filter:saturate(180%)blur(14px);backdrop-filter:saturate(180%)blur(14px);border:1px solid var(--glass-border);border-radius:var(--radius-md);box-shadow:inset 0 1px 0 color-mix(in oklch, var(--glass-highlight) 25%, transparent), inset 0 0 0 1px color-mix(in oklch, var(--fg-base) 2%, transparent);flex-direction:column;display:flex}.outputs__doc-title{font-family:var(--font-sans);font-size:var(--fs-body);font-weight:var(--fw-strong);color:var(--fg-base)}.outputs__doc-intro{color:var(--fg-muted);font-size:var(--fs-small);line-height:var(--lh-relaxed);margin:0}.outputs__table-wrap{overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent;margin-inline:calc(var(--space-5) * -1);padding-inline:var(--space-5);overflow-x:auto}.outputs__table{border-collapse:collapse;width:100%;font-family:var(--font-sans);font-size:var(--fs-small);line-height:var(--lh-normal);color:var(--fg-base)}.outputs__table thead th{padding:var(--space-2) var(--space-3);text-align:left;font-weight:var(--fw-medium);font-family:var(--font-mono);font-size:var(--fs-caption);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--fg-subtle);border-bottom:1px solid var(--border-base);white-space:nowrap}.outputs__table tbody td{padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--border-subtle);vertical-align:top}.outputs__table tbody tr:last-child td{border-bottom:0}.outputs__table th.num,.outputs__table td.num{font-variant-numeric:tabular-nums;font-feature-settings:var(--ff-code), "tnum";white-space:nowrap;text-align:right}.outputs__table thead th.num{text-align:right}.outputs__doc-summary{gap:var(--space-1);padding-top:var(--space-2);border-top:1px solid var(--border-subtle);font-family:var(--font-mono);font-size:var(--fs-small);color:var(--fg-base);font-feature-settings:var(--ff-code), "tnum";flex-direction:column;display:flex}.outputs__doc-label{color:var(--accent);font-weight:var(--fw-strong)}.outputs__doc-meta{color:var(--fg-subtle)}.outputs__dl{gap:var(--space-2) var(--space-4);font-size:var(--fs-small);grid-template-columns:minmax(0,1fr);margin:0;display:grid}@media (min-width:640px){.outputs__dl{grid-template-columns:minmax(200px,max-content) minmax(0,1fr)}}.outputs__dl dt{color:var(--fg-subtle);font-family:var(--font-mono);font-size:var(--fs-caption);letter-spacing:var(--tracking-wide);text-transform:uppercase}.outputs__dl dd{color:var(--fg-base);margin:0}.outputs__dl dd.num{font-family:var(--font-mono);font-feature-settings:var(--ff-code), "tnum"}.outputs__badge{padding:2px var(--space-2);border-radius:var(--radius-xs);font-family:var(--font-mono);font-size:var(--fs-caption);font-weight:var(--fw-medium);letter-spacing:var(--tracking-wide);text-transform:uppercase;align-items:center;display:inline-flex}.outputs__badge--ok{background:color-mix(in oklch, var(--ok) 15%, transparent);color:color-mix(in oklch, var(--ok) 80%, var(--fg-base))}.outputs__caption{gap:var(--space-2);flex-direction:column;max-width:72ch;display:flex}.outputs__caption-text{color:var(--fg-muted);font-size:var(--fs-small);line-height:var(--lh-relaxed);margin:0}.outputs__caption-source{font-family:var(--font-mono);color:var(--fg-subtle);letter-spacing:0;text-transform:none}.stdlib__header{gap:var(--space-3);margin-bottom:var(--space-6);max-width:var(--container-text);flex-direction:column;display:flex}.stdlib__title{color:var(--fg-base)}.stdlib__subtitle{color:var(--fg-muted);max-width:60ch}.stdlib__grid{gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(240px,1fr));display:grid}@media (min-width:1120px){.stdlib__grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.stdlib__card{padding:var(--space-4) var(--space-5);background:color-mix(in srgb, var(--bg-elevated) 55%, transparent);-webkit-backdrop-filter:saturate(180%)blur(14px);backdrop-filter:saturate(180%)blur(14px);border:1px solid var(--glass-border);border-radius:var(--radius-md);gap:var(--space-2);flex-direction:column;min-width:0;display:flex}.stdlib__card-title{font-family:var(--font-sans);font-size:var(--fs-body);font-weight:var(--fw-strong);color:var(--fg-base);line-height:var(--lh-snug);margin:0}.stdlib__card-items{color:var(--fg-muted);font-family:var(--font-mono);font-size:var(--fs-small);line-height:var(--lh-relaxed);overflow-wrap:anywhere;margin:0}.stdlib__card-source{padding-top:var(--space-2);border-top:1px solid var(--border-subtle);font-family:var(--font-mono);color:var(--fg-subtle);letter-spacing:0;text-transform:none;line-height:var(--lh-normal);margin-top:auto}.cta{text-align:center;align-items:center;gap:var(--space-4);flex-direction:column;display:flex}.cta__title{margin-top:var(--space-2)}.cta__body{color:var(--fg-muted);max-width:54ch;margin-top:var(--space-3)}.cta__actions{margin-top:var(--space-5)}.cta__meta{margin-top:var(--space-8);font-family:var(--font-mono);color:var(--fg-subtle);font-variant-numeric:tabular-nums}*,:before,:after{box-sizing:border-box}*{margin:0;padding:0}html{-webkit-text-size-adjust:100%;text-rendering:optimizelegibility;scroll-behavior:smooth;scroll-padding-top:var(--header-h,72px);hanging-punctuation:first last}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-synthesis:none;text-rendering:optimizelegibility;min-height:100svh;line-height:1.5}img,picture,video,canvas,svg{max-width:100%;height:auto;display:block}input,button,textarea,select{font:inherit;color:inherit}button{cursor:pointer;background:0 0;border:none}p,h1,h2,h3,h4,h5,h6{overflow-wrap:break-word}h1,h2,h3,h4,h5,h6{text-wrap:balance}p,li,figcaption{text-wrap:pretty}ul,ol{list-style:none}a{color:inherit;text-decoration:none}#root{isolation:isolate;flex-direction:column;min-height:100svh;display:flex}:root{--unit:4px;--font-sans:"Inter Variable", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-mono:"JetBrains Mono", ui-monospace, "SF Mono", Menlo, Consolas, monospace;--ff-default:"cv11", "ss01", "ss03", "calt", "kern";--ff-tabular:"tnum", "cv11";--ff-code:"calt", "zero", "ss06";--fs-hero:clamp(2.75rem, 2.3rem + 2.1vw, 4rem);--fs-h1:clamp(2.125rem, 1.85rem + 1.3vw, 2.75rem);--fs-h2:clamp(1.625rem, 1.45rem + .85vw, 2.125rem);--fs-h3:clamp(1.25rem, 1.18rem + .35vw, 1.5rem);--fs-h4:clamp(1.0625rem, 1.05rem + .08vw, 1.125rem);--fs-body-lg:clamp(1.0625rem, 1.03rem + .18vw, 1.1875rem);--fs-body:clamp(.9375rem, .925rem + .08vw, 1rem);--fs-small:clamp(.8125rem, .8rem + .08vw, .875rem);--fs-caption:.75rem;--fs-micro:.6875rem;--pg-fs-hero:17px;--pg-fs-title:13px;--pg-fs-body:12px;--pg-fs-label:11px;--pg-fs-minor:11px;--pg-fs-metric-sm:20px;--pg-row-py:6px;--pg-row-px:10px;--lh-tight:1.05;--lh-snug:1.15;--lh-normal:1.5;--lh-relaxed:1.65;--lh-code:1.55;--tracking-hero:-.022em;--tracking-h1:-.018em;--tracking-h2:-.014em;--tracking-body:-.002em;--tracking-wide:.08em;--tracking-code:0;--fw-regular:400;--fw-medium:500;--fw-heading:550;--fw-strong:600;--space-0:0;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--space-14:56px;--space-16:64px;--space-20:80px;--space-24:96px;--space-32:128px;--space-40:160px;--container-text:640px;--container-default:1120px;--container-wide:1280px;--container-gutter:clamp(20px, 4vw, 40px);--header-h:64px;--radius-xs:4px;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--radius-xl:20px;--radius-full:9999px;--dur-instant:90ms;--dur-fast:.14s;--dur-base:.18s;--dur-slow:.26s;--dur-pan:.32s;--ease-standard:cubic-bezier(.2, 0, 0, 1);--ease-out:cubic-bezier(0, 0, .2, 1);--ease-in:cubic-bezier(.4, 0, 1, 1);--ease-emphasized:cubic-bezier(.2, 0, 0, 1.2);--t-dur:var(--dur-base);--t-ease:var(--ease-standard);--z-base:1;--z-sticky:30;--z-header:40;--z-overlay:50;--z-modal:60;--z-toast:70}:root,:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg-base:#faf7f2;--bg-elevated:#fefcf9;--bg-subtle:#f3efe8;--bg-inverted:#060911;--fg-base:#0e131c;--fg-muted:#484d57;--fg-subtle:#5f636d;--fg-on-accent:#fcfaf6;--fg-inverted:#f4f2ee;--border-base:#dad7d2;--border-strong:#bbb7af;--border-subtle:#eae8e3;--border-interactive:#89867e;--hairline:color-mix(in oklch, var(--fg-base) 12%, transparent);--accent:#005860;--accent-strong:#00484f;--accent-weak:color-mix(in oklch, var(--accent) 14%, var(--bg-base));--accent-contrast:#fcfaf6;--ok:#007137;--warn:#a86100;--danger:#c11926;--info:#0070a8;--glass-surface:color-mix(in oklch, var(--bg-base) 72%, transparent);--glass-border:color-mix(in oklch, var(--fg-base) 10%, transparent);--glass-highlight:#ffffff8c;--code-bg:#f5f1ea;--code-bg-header:#ebe7df;--code-fg:#1b1f29;--code-kw:#49389e;--code-string:#006b2b;--code-number:#a23200;--code-comment:#757a85;--code-punct:#595e68;--code-type:#005966;--shadow-hairline:0 0 0 1px color-mix(in oklch, var(--fg-base) 8%, transparent);--shadow-xs:0 1px 2px color-mix(in oklch, var(--fg-base) 6%, transparent);--shadow-sm:0 2px 6px color-mix(in oklch, var(--fg-base) 8%, transparent), 0 1px 2px color-mix(in oklch, var(--fg-base) 6%, transparent);--shadow-md:0 8px 24px color-mix(in oklch, var(--fg-base) 10%, transparent), 0 2px 6px color-mix(in oklch, var(--fg-base) 8%, transparent);--shadow-lg:0 16px 48px color-mix(in oklch, var(--fg-base) 12%, transparent), 0 4px 12px color-mix(in oklch, var(--fg-base) 8%, transparent);--shadow-focus:0 0 0 2px var(--bg-base), 0 0 0 5px var(--accent)}@supports (color:lab(0% 0 0)){:root,:root[data-theme=light]{--bg-base:lab(97.4803% .224471 3.04739);--bg-elevated:lab(99.0885% .107318 1.52055);--bg-subtle:lab(94.7041% .287324 3.81366);--bg-inverted:lab(2.53187% .11763 -3.79584);--fg-base:lab(5.62203% .125319 -6.80956);--fg-muted:lab(32.6314% -.229418 -6.70607);--fg-subtle:lab(41.9243% -.257134 -5.986);--fg-on-accent:lab(98.2805% .135809 1.90165);--fg-inverted:lab(95.6165% .164926 2.28331);--border-base:lab(86.1122% .226587 3.04878);--border-strong:lab(74.5271% .361919 4.58802);--border-subtle:lab(91.9044% .165313 2.28355);--border-interactive:lab(55.9663% .375718 4.59772);--accent:lab(33.3411% -21.273 -11.3304);--accent-strong:lab(27.0027% -22.8108 -12.1824);--accent-contrast:lab(98.2805% .135809 1.90165);--ok:lab(41.2932% -39.9303 24.109);--warn:lab(48.3715% 30.1736 84.069);--danger:lab(42.2947% 62.8206 40.5998);--info:lab(44.0725% -11.8871 -40.9448);--glass-highlight:lab(100% 0 0/.55);--code-bg:lab(95.4001% .287116 3.81355);--code-bg-header:lab(91.9276% .353277 4.5821);--code-fg:lab(11.7269% -.00128895 -7.35072);--code-kw:lab(30.2093% 29.6223 -54.1778);--code-string:lab(39.1033% -43.4383 29.3407);--code-number:lab(38.2626% 49.1306 62.3352);--code-comment:lab(51.1951% -.294507 -6.73686);--code-punct:lab(39.5931% -.259012 -6.71974);--code-type:lab(33.6249% -33.9776 -23.8739)}}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg-base:#060911;--bg-elevated:#0d111a;--bg-subtle:#10151f;--bg-inverted:#faf7f2;--fg-base:#f4f2ee;--fg-muted:#aaa69e;--fg-subtle:#818690;--fg-on-accent:#fcfaf6;--fg-inverted:#0e131c;--border-base:#1f242e;--border-strong:#323844;--border-subtle:#141821;--border-interactive:#585e69;--hairline:color-mix(in oklch, var(--fg-base) 18%, transparent);--accent:#3cabae;--accent-strong:#46c6ca;--accent-weak:color-mix(in oklch, var(--accent) 20%, var(--bg-base));--accent-contrast:#020307;--ok:#4bbf73;--warn:#f0b221;--danger:#ff5352;--info:#1ab2f3;--glass-surface:color-mix(in oklch, var(--bg-base) 68%, transparent);--glass-border:color-mix(in oklch, var(--fg-base) 14%, transparent);--glass-highlight:#ffffff14;--code-bg:#0a0e18;--code-bg-header:#111621;--code-fg:#e7e4df;--code-kw:#a8a3ff;--code-string:#6dd186;--code-number:#ffa268;--code-comment:#7b808b;--code-punct:#a9a49b;--code-type:#00c1d1;--shadow-hairline:0 0 0 1px color-mix(in oklch, var(--fg-base) 10%, transparent);--shadow-xs:0 1px 2px #0006;--shadow-sm:0 2px 6px #0006, 0 1px 2px #0000004d;--shadow-md:0 8px 24px #00000080, 0 2px 6px #0006;--shadow-lg:0 16px 48px #0009, 0 4px 12px #0006;--shadow-focus:0 0 0 2px var(--bg-base), 0 0 0 5px var(--accent)}@supports (color:lab(0% 0 0)){:root[data-theme=dark]{--bg-base:lab(2.53187% .11763 -3.79584);--bg-elevated:lab(5.00313% .136286 -6.46585);--bg-subtle:lab(6.67975% .181034 -7.88324);--bg-inverted:lab(97.4803% .224471 3.04739);--fg-base:lab(95.6165% .164926 2.28331);--fg-muted:lab(68.1468% .365973 4.59085);--fg-subtle:lab(55.846% -.287235 -6.00106);--fg-on-accent:lab(98.2805% .135809 1.90165);--fg-inverted:lab(5.62203% .125319 -6.80956);--border-base:lab(14.0492% -.0420362 -7.36508);--border-strong:lab(23.3231% -.131086 -8.13339);--border-subtle:lab(8.2574% .0124946 -6.61096);--border-interactive:lab(39.5819% -.262216 -7.45453);--accent:lab(63.8677% -31.2906 -11.4675);--accent-strong:lab(73.2686% -35.1211 -12.8702);--accent-contrast:lab(.879223% .0753477 -1.61531);--ok:lab(69.4643% -46.956 28.082);--warn:lab(76.8797% 15.0329 73.9126);--danger:lab(60.7735% 66.2859 40.0035);--info:lab(67.5727% -20.1701 -43.8125);--glass-highlight:lab(100% 0 0/.08);--code-bg:lab(3.96601% .224143 -6.31621);--code-bg-header:lab(7.08497% .261873 -8.66937);--code-fg:lab(90.7523% .225663 3.04817);--code-kw:lab(70.2453% 22.5865 -54.8788);--code-string:lab(76.2914% -42.6357 27.8488);--code-number:lab(75.8765% 39.1598 53.8068);--code-comment:lab(53.5154% -.300199 -6.73965);--code-punct:lab(67.574% .43866 5.36428);--code-type:lab(70.9759% -38.9377 -20.7456);--shadow-xs:0 1px 2px lab(0% 0 0/.4);--shadow-sm:0 2px 6px lab(0% 0 0/.4), 0 1px 2px lab(0% 0 0/.3);--shadow-md:0 8px 24px lab(0% 0 0/.5), 0 2px 6px lab(0% 0 0/.4);--shadow-lg:0 16px 48px lab(0% 0 0/.6), 0 4px 12px lab(0% 0 0/.4)}}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-ext-wght-normal-BOeWTOD4.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-wght-normal-DqGufNeO.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-ext-wght-normal-DlzME5K_.woff2)format("woff2-variations");unicode-range:U+1F??}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-wght-normal-CkhJZR-_.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-vietnamese-wght-normal-CBcvBZtf.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-ext-wght-normal-DO1Apj_S.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-wght-normal-Dx4kXJAl.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(data:font/woff2;base64,d09GMgABAAAAAASIABAAAAAACQQAAAQuAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGhwbHhwoBmA/U1RBVF4AdBEICoRkhAALIAABNgIkAzoEIAWFAAeBFAwHG2oHKJ6DceNW4lJEFHn9tEOE37LNsvkjHr7f739rn3u+OSrSxLQytE91Dw2PYtNVq3Qaw/vJ7fUBMdOj/u2ImB98cT5WUx9F13ZKt06mU7tG1sAYcM26yCRX4f/0904bmwq8hwkUUMTRX61pa9C3xlpAGYw1vOu8C2SBZZFlld7DAW82RJWmwYMI1AJCKBNCIASqdZGFmtPSNQRhMpR0EKjWTwm6z6sJ+4jqhxjovTinVdRpZaQjaQzAYjI8NgAKDJCokgunCn9oUQE8VZd/F//+v6P4F1U9gLr58yNI/dJX9BAshEoJbTDogz7ocKoUsPvES8UK/aQIUQgpGgECBVLkOEV6iASTYgNAPKdNXayhDPL7IJuAZnEYSZ0eOLc9i5Rv5/+lEi3sW/kfnCf/+fTe0sxS7CKLx5erRJkKOixEqQaoqrvx5HN4iz4VhX0gS6DjFIWUzn/fIXJRVFY1NFRVNVeFt+SYmrK6vCU6eJsnKnJj5HTESMTQZOTI3Y/tzr3rUcOsiRy/ciP50s3Mycgxmhz9GMXhjzVH30ut796NHP0UUa31/Zoa6vCH6iPvdIM0IRANaT60FablmZlZd+UKNFy9NrvnFGxb5NC2CRxR0/rIyF/WNn+35sv9r+tHVhkseuWGKkCPPh96+GXt8Lc/Sh24ujfjf+tNw1lZWreiPuHb/PSpyjdv2rf/++ZE5TSKjFdZxYsBvr1sEHl5STuHZqYR7jGYGvGBBdjcaB5bODY1GAxMjsd0wDMIzXAXODRd74DxNMtO4YuYHclgLQRzp9KlUmxptCwv9bYgvWGD2xBW7r9413fdJu+mxzvzAUYeeONQvZP4kgfqZle4jhH/MWh+UbxgtJdrLdXLymNL53PRU0D3Q6FcXTfGqGcul6vrqhgLGAVSv+IVIfZOHpu+mlLqSlnj903j8mazXDsba/wbxhS/4Oubh1c5/uXDgt4j5KtnGEy5BIJHo0ur+jD+r2qCkuP1aRVM8EpUoRYSJyqNRA38uwDvHBNo0AejO2Z+ZYLLal1QiFyFh1EDQOgSCSCpjwwKU8yDbIjroEwne0G5Qca49cYp4AlqtQNZfWTQoFb1tRpFYAmRD+HXTkV4uQhG2bg4OKmyoypAsUGtWgQXyFxYrkpODeUxvGqIZA61erXo0sFG1UBGuPgpuon8RNUG2DhovAjZCBuZwtXrU3mQGki9+pm0eVZAXoWxLWTQoYHBPrJR4WunNxIFbCHfkTyPK+sqxjxDmGArZvf79JGJ3GwEqjwc7a7NIrl/7bJ7Nzu4+n1Ow6shEPnUrtVo7cnd5Wi5qCUbBIQbNKCP95FMCSZylEV5VCiiMqqiOmrKZ/I/C0gI1fyuulVcM2E1r4MhtcV/fbCD+HwEvVzH1dGNAzFE0FTbKzyQz3gootrNbN2a4PuG0j0JOgE=)format("woff2"),url(data:font/woff;base64,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)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/jetbrains-mono-cyrillic-400-normal-BEIGL1Tu.woff2)format("woff2"),url(/assets/jetbrains-mono-cyrillic-400-normal-ugxPyKxw.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/jetbrains-mono-greek-400-normal-C190GLew.woff2)format("woff2"),url(/assets/jetbrains-mono-greek-400-normal-B9oWc5Lo.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(data:font/woff2;base64,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)format("woff2"),url(/assets/jetbrains-mono-vietnamese-400-normal-CqNFfHCs.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/jetbrains-mono-latin-ext-400-normal-Bc8Ftmh3.woff2)format("woff2"),url(/assets/jetbrains-mono-latin-ext-400-normal-fXTG6kC5.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/jetbrains-mono-latin-400-normal-V6pRDFza.woff2)format("woff2"),url(/assets/jetbrains-mono-latin-400-normal-6-qcROiO.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}html{font-size:16px;font-family:var(--font-sans)}body{color:var(--fg-base);background-color:var(--bg-base);font-size:var(--fs-body);line-height:var(--lh-normal);letter-spacing:var(--tracking-body);font-feature-settings:var(--ff-default)}.heading-hero{font-size:var(--fs-hero);line-height:var(--lh-tight);letter-spacing:var(--tracking-hero);font-weight:var(--fw-strong)}.heading-h1{font-size:var(--fs-h1);line-height:var(--lh-tight);letter-spacing:var(--tracking-h1);font-weight:var(--fw-strong)}.heading-h2{font-size:var(--fs-h2);line-height:var(--lh-snug);letter-spacing:var(--tracking-h2);font-weight:var(--fw-heading)}.heading-h3{font-size:var(--fs-h3);line-height:var(--lh-snug);letter-spacing:var(--tracking-h2);font-weight:var(--fw-heading)}.heading-h4{font-size:var(--fs-h4);line-height:var(--lh-snug);letter-spacing:0;font-weight:var(--fw-heading)}.text-body-lg{font-size:var(--fs-body-lg);line-height:var(--lh-relaxed)}.text-body{font-size:var(--fs-body);line-height:var(--lh-normal)}.text-small{font-size:var(--fs-small);line-height:var(--lh-normal)}.text-caption{font-size:var(--fs-caption);line-height:var(--lh-normal);letter-spacing:var(--tracking-wide);text-transform:uppercase;font-weight:var(--fw-medium);color:var(--fg-subtle)}.text-muted{color:var(--fg-muted)}.text-subtle{color:var(--fg-subtle)}.num{font-variant-numeric:tabular-nums;font-feature-settings:var(--ff-tabular)}.mono{font-family:var(--font-mono);font-feature-settings:var(--ff-code);font-size:.92em}code:not(pre code){font-family:var(--font-mono);font-feature-settings:var(--ff-code);background:var(--bg-subtle);border:1px solid var(--border-subtle);border-radius:var(--radius-xs);color:var(--fg-base);padding:.12em .36em;font-size:.9em}pre{font-family:var(--font-mono);font-feature-settings:var(--ff-code);line-height:var(--lh-code)}.prose a{color:var(--accent);text-decoration:underline;-webkit-text-decoration-color:color-mix(in oklch, currentColor 35%, transparent);-webkit-text-decoration-color:color-mix(in oklch, currentColor 35%, transparent);text-decoration-color:color-mix(in oklch, currentColor 35%, transparent);text-underline-offset:3px;transition:color var(--dur-fast) var(--t-ease), text-decoration-color var(--dur-fast) var(--t-ease);text-decoration-thickness:1px}.prose a:hover{color:var(--accent-strong);text-decoration-color:currentColor}.container{width:100%;padding-inline:var(--container-gutter);margin-inline:auto}.container--text{max-width:var(--container-text)}.container--default{max-width:var(--container-default)}.container--wide{max-width:var(--container-wide)}.section{padding-block:var(--space-16)}@media (min-width:640px){.section{padding-block:var(--space-20)}}@media (min-width:1024px){.section{padding-block:var(--space-24)}}.section--hero{padding-block:var(--space-16) var(--space-16)}@media (min-width:1024px){.section--hero{padding-block:var(--space-32) var(--space-24)}}.section--subtle{background:var(--bg-subtle)}.section--inverted{background:var(--bg-inverted);color:var(--fg-inverted)}.stack{flex-direction:column;display:flex}.stack>*+*{margin-top:var(--stack-gap,var(--space-6))}.stack-sm{--stack-gap:var(--space-3)}.stack-md{--stack-gap:var(--space-5)}.stack-lg{--stack-gap:var(--space-8)}.stack-xl{--stack-gap:var(--space-12)}.cluster{gap:var(--cluster-gap,var(--space-3));flex-wrap:wrap;align-items:center;display:flex}.cluster-sm{--cluster-gap:var(--space-2)}.cluster-md{--cluster-gap:var(--space-4)}.cluster-lg{--cluster-gap:var(--space-6)}@supports (animation-timeline:view()){.reveal{animation:linear both reveal-in;animation-timeline:view();animation-range:entry 5% cover 25%}}@keyframes reveal-in{0%{opacity:0}to{opacity:1}}@supports (view-transition-name:none){::view-transition-old(root){animation:vt-fade-out var(--dur-pan) var(--ease-standard) both}::view-transition-new(root){animation:vt-fade-in var(--dur-pan) var(--ease-standard) both}::view-transition-group(header-mark){animation-duration:var(--dur-pan);animation-timing-function:var(--ease-standard)}}@keyframes vt-fade-out{to{opacity:0;transform:translateY(-6px)}}@keyframes vt-fade-in{0%{opacity:0;transform:translateY(10px)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.reveal{opacity:1!important;animation:none!important;transform:none!important}::view-transition-old(root){animation:none!important}::view-transition-new(root){animation:none!important}::view-transition-group(header-mark){animation:none!important}}:where(html:not([data-theme-booting]) *),:where(),:where(){transition:background-color var(--t-dur) var(--t-ease), color var(--t-dur) var(--t-ease), border-color var(--t-dur) var(--t-ease), fill var(--t-dur) var(--t-ease), stroke var(--t-dur) var(--t-ease)}::selection{background:color-mix(in oklch, var(--accent) 30%, transparent);color:var(--fg-base)}:focus-visible{box-shadow:var(--shadow-focus);border-radius:inherit;outline:none}a:focus-visible,button:focus-visible{border-radius:var(--radius-sm)}@media (forced-colors:active){:focus-visible{outline-offset:2px;box-shadow:none;outline:3px solid canvastext}}*{scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}:root[data-theme=dark] body:before{content:"";pointer-events:none;z-index:-1;background:radial-gradient(120% 80% at 50% 0%, transparent 60%, color-mix(in oklch, var(--fg-base) 4%, transparent) 100%);position:fixed;inset:0}
