@layer tokens,reset,typography,theme,layout,chrome,parts,components,composites;@layer tokens{:root{color-scheme:light dark;--font-sans: "DM Sans", ui-sans-serif, sans-serif;--font-mono: "DM Mono", ui-monospace, monospace;--type-micro: .75rem;--type-label: .8125rem;--type-ui: .875rem;--type-body: 1rem;--type-lede: 1.125rem;--type-heading: 1.375rem;--type-title: clamp(2.2rem, 4.5vw, 3.25rem);--type-display: clamp(2.6rem, 6vw, 4.5rem);--shell-narrow: 42rem;--shell-wide: 80rem;--shell-padding-block: clamp(1.25rem, 3vw, 2rem);--reflow-capability: 40rem;--reflow-split: 48rem;--page-gutter: clamp(1rem, 3vw, 2rem);--content-section-gap: 2rem;--tracking-kicker: .1em;--border-width: 1px;--radius-surface: .25rem;--focus-ring-width: 2px;--focus-ring-offset: .25rem;--duration-control: .1s;--duration-indicator: .15s;--duration-theme: .2s;--duration-home-entrance: .7s;--delay-home-entrance-1: 0ms;--delay-home-entrance-2: .1s;--delay-home-entrance-3: .2s;--delay-home-entrance-4: .3s;--distance-home-entrance: .75rem;--transition-theme: color var(--duration-theme) ease-out, background-color var(--duration-theme) ease-out, border-color var(--duration-theme) ease-out, box-shadow var(--duration-theme) ease-out;--page: light-dark(#f6f4ef, #0d1017);--card: light-dark(#ffffff, #141821);--well: light-dark(#f8f6f2, #1a1f2a);--ink: light-dark(#1a1814, #c8d0dc);--muted: light-dark(#4a463f, #8e97a8);--line: light-dark(#cfc8ba, #232936);--accent: light-dark(#9a0e80, #da62b8);--accent-hover: light-dark(#7a0b66, #e768c3);--on-accent: light-dark(#ffffff, #0d1017);--signal: light-dark(#0a6b73, #7ad4cc);--accent-wash: light-dark( rgb(from var(--accent) r g b / 5%), rgb(from var(--accent) r g b / 10%) );--signal-wash: light-dark( rgb(from var(--signal) r g b / 4%), rgb(from var(--signal) r g b / 8%) );--page-wash: radial-gradient( 60% 24rem at 15% 0%, var(--accent-wash), rgb(from var(--accent) r g b / 0%) 70% ), radial-gradient( 50% 20rem at 90% 1.25rem, var(--signal-wash), rgb(from var(--signal) r g b / 0%) 70% )}:root[data-theme=light]{color-scheme:light}:root[data-theme=dark]{color-scheme:dark}}@layer reset{*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;display:flex;min-height:100vh;flex-direction:column;background-color:var(--page);background-image:var(--page-wash);color:var(--ink);>main{flex:1}}a{color:inherit;text-decoration:underline;text-underline-offset:.16em}}@layer typography{@font-face{font-family:DM Sans;src:url("/css/dm-sans-latin-wght-normal-X7UMQEPN.woff2") format("woff2-variations");font-style:normal;font-weight:400 700;font-display:swap}@font-face{font-family:DM Mono;src:url("/css/dm-mono-latin-400-normal-ASEO4XL4.woff2") format("woff2");font-style:normal;font-weight:400;font-display:swap}@font-face{font-family:DM Mono;src:url("/css/dm-mono-latin-500-normal-5DTZP5O2.woff2") format("woff2");font-style:normal;font-weight:500;font-display:swap}body{font-family:var(--font-sans);font-size:var(--type-body);font-weight:400;line-height:1.5}:where(h1,h2,h3,h4,h5,h6,strong,b){font-weight:700}button{font-family:inherit}:where(code,kbd,samp,pre){font-family:var(--font-mono);font-weight:400}:where(code,kbd,samp){font-size:var(--type-label)}.type-micro{font-size:var(--type-micro)}.type-label{font-size:var(--type-label)}.type-ui{font-size:var(--type-ui);font-weight:500}.type-body{font-size:var(--type-body);font-weight:400}.type-lede{font-size:var(--type-lede);font-weight:400}.type-heading{font-size:var(--type-heading);font-weight:700}.type-title{font-size:var(--type-title);font-weight:700}.type-display{font-size:var(--type-display);font-weight:700}.type-mono{font-family:var(--font-mono);font-weight:400}.type-mono-strong,.stat{font-family:var(--font-mono);font-weight:500}.stat{font-size:var(--type-heading)}}@layer theme{:root[data-theme-changing]{&,&:before,&:after,*,*:before,*:after{transition:var(--transition-theme)}}@media(prefers-reduced-motion:reduce){:root[data-theme-changing]{&,&:before,&:after,*,*:before,*:after{transition:none}}}}@layer layout{.shell-narrow,.shell-wide{width:100%;padding-block:var(--shell-padding-block);padding-inline:var(--page-gutter);margin-inline:auto}.shell-narrow{max-width:calc(var(--shell-narrow) + 2 * var(--page-gutter))}.shell-wide{max-width:calc(var(--shell-wide) + 2 * var(--page-gutter))}}@layer chrome{.primary-navigation{--chrome-gap: .375rem}.primary-navigation ul,.footer-navigation ul{--navigation-link-padding-inline: .75rem;--navigation-link-padding-block: .375rem;--navigation-line-width: 3px;display:flex;flex-wrap:nowrap;margin:0;padding:0;list-style:none;& li{display:flex;min-width:0}& a{display:block;position:relative;padding:var(--navigation-link-padding-block) var(--navigation-link-padding-inline);color:var(--ink);font-size:var(--type-ui);font-weight:500;line-height:1.5;text-decoration:none;&:after{content:"";position:absolute;right:0;bottom:0;left:0;height:var(--navigation-line-width);background-color:var(--signal);pointer-events:none;transform:scaleX(0);transform-origin:center;transition:background-color var(--duration-theme) ease-out,transform var(--duration-indicator) ease-out}&:hover:after,&:focus-visible:after,&[aria-current=page]:after{transform:scaleX(1)}&[aria-current=page]{font-weight:700}&:focus-visible{outline:var(--focus-ring-width) solid var(--signal);outline-offset:var(--focus-ring-offset)}}}.primary-navigation ul{justify-content:flex-end;gap:var(--chrome-gap);& a{display:inline-flex;align-items:center;font-size:var(--type-body);&[aria-current=page]{font-weight:500}&.btn{--button-font-size: var(--type-body);--button-padding-block: calc( var(--navigation-link-padding-block) - var(--border-width) )}&.btn:after{display:none}&.btn:hover,&.btn[aria-current=page]{box-shadow:0 0 0 .25rem var(--signal-wash)}}}@media(width<=40rem){.primary-navigation>ul{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}.primary-navigation{--navigation-compact-column-gap: 1rem;--navigation-compact-row-gap: .5rem;>ul{grid-column:1 / -1;grid-row:2;gap:var(--navigation-compact-row-gap) var(--navigation-compact-column-gap);& li{justify-content:center;min-width:0}& a{text-align:center}}}}@media(width<=36rem){.primary-navigation>ul{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(width<=28rem){.footer-navigation>ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}}@media(width<=22rem){.primary-navigation>ul,.footer-navigation>ul{grid-template-columns:minmax(0,1fr)}}@media(prefers-reduced-motion:reduce){.primary-navigation ul,.footer-navigation ul{& a:after{transition:none}}}}@layer chrome{.site-header{--chrome-padding-block: 1rem;--header-stack-gap: 1rem;width:100%;padding:var(--chrome-padding-block) var(--page-gutter);.primary-navigation{display:flex;width:min(100%,var(--shell-wide));align-items:center;gap:var(--chrome-gap);margin-inline:auto;.wordmark{--wordmark-height: 2.4rem;--wordmark-lift-min: 1px;--wordmark-lift-max: 6px;--wordmark-origin: 139px 70px;--duration-wordmark: .3s;--ease-wordmark: cubic-bezier(.3, .1, .3, 1);--wordmark-ink: var(--accent);--wordmark-keyline: light-dark(var(--line), var(--page));--wordmark-wing-front: #77d1c8;--wordmark-width: calc(var(--wordmark-height) * 536.365 / 150.31);--wordmark-lift: clamp( var(--wordmark-lift-min), calc(var(--wordmark-width) * .0023), var(--wordmark-lift-max) );display:block;flex:0 0 auto;height:var(--wordmark-height);width:var(--wordmark-width);margin-inline-end:auto;line-height:0;text-decoration:none;transform:translateY(0) rotate(0);transform-origin:96% 85%;transition:transform var(--duration-wordmark) var(--ease-wordmark);& svg{display:block;width:100%;height:auto;max-width:none;overflow:visible}.wordmark-letters{stroke:var(--wordmark-ink)}.wordmark-trademark,.wordmark-wing-back{fill:var(--wordmark-ink)}.wordmark-wing-front{fill:var(--wordmark-wing-front)}.wordmark-wing-front,.wordmark-wing-back{stroke:var(--wordmark-keyline);transform-box:view-box;transform-origin:var(--wordmark-origin);transition:transform var(--duration-wordmark) var(--ease-wordmark)}&:focus-visible{outline:var(--focus-ring-width) solid var(--signal);outline-offset:var(--focus-ring-offset);transform:translateY(calc(-1 * var(--wordmark-lift))) rotate(.75deg);.wordmark-wing-front{transform:rotate(3.6deg)}.wordmark-wing-back{transform:rotate(5deg)}}}.theme-toggle{--theme-control-size: 2rem;--theme-icon-size: 1.125rem;display:grid;flex:0 0 auto;width:var(--theme-control-size);height:var(--theme-control-size);place-items:center;margin:0;padding:0;border:var(--border-width) solid transparent;background:transparent;color:var(--ink);cursor:pointer;transition:color var(--duration-control) ease-out;:root[data-theme-changing] &{transition:var(--transition-theme)}&:hover{color:var(--accent)}&:focus-visible{outline:var(--focus-ring-width) solid var(--accent);outline-offset:var(--focus-ring-offset)}& svg{display:block;width:var(--theme-icon-size);height:var(--theme-icon-size);fill:none;stroke:currentcolor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8}.theme-icon-moon{fill:currentcolor;stroke:none}.theme-icon-sun{display:none}}}}@media(hover:hover)and (pointer:fine){.site-header{.primary-navigation{.wordmark{&:hover{transform:translateY(calc(-1 * var(--wordmark-lift))) rotate(.75deg);.wordmark-wing-front{transform:rotate(3.6deg)}.wordmark-wing-back{transform:rotate(5deg)}}}}}}:root[data-theme=dark]{.site-header .primary-navigation .theme-toggle{.theme-icon-moon{display:none}.theme-icon-sun{display:block}}}@media(prefers-color-scheme:dark){:root:not([data-theme]){.site-header .primary-navigation .theme-toggle{.theme-icon-moon{display:none}.theme-icon-sun{display:block}}}}@media(width<=40rem){.site-header{.primary-navigation{display:grid;grid-template-columns:minmax(0,1fr) auto;row-gap:var(--header-stack-gap);.wordmark{grid-column:1;grid-row:1;margin-inline-end:0}.theme-toggle{grid-column:2;grid-row:1}}}}@media(prefers-reduced-motion:reduce){.site-header{.primary-navigation{.theme-toggle,:root[data-theme-changing] & .theme-toggle,.wordmark,.wordmark .wordmark-wing-front,.wordmark .wordmark-wing-back{transition:none}.wordmark:hover,.wordmark:focus-visible,.wordmark:hover .wordmark-wing-front,.wordmark:hover .wordmark-wing-back,.wordmark:focus-visible .wordmark-wing-front,.wordmark:focus-visible .wordmark-wing-back{transform:none}}}}}@layer chrome{.site-footer{--footer-frame: 52rem;--footer-row-gap: .5rem;--footer-stack-gap: 1rem;--footer-divider-gap: 1.25rem;--footer-link-column-gap: 1.5rem;--footer-padding-block-start: 2.5rem;--footer-padding-block-end: 4rem;--footer-trademark-measure: 58ch;width:100%;padding:var(--footer-padding-block-start) var(--page-gutter) var(--footer-padding-block-end);border-top:var(--border-width) solid var(--line);.site-footer-inner{display:grid;width:min(100%,var(--footer-frame));justify-items:center;gap:var(--footer-stack-gap);margin-inline:auto;text-align:center}.footer-navigation>ul{justify-content:center;gap:var(--footer-row-gap) var(--footer-link-column-gap)}.footer-legal,.footer-trademark{margin:0}.footer-legal{color:var(--muted);font-size:var(--type-micro);& a{color:inherit}}.footer-trademark{max-width:var(--footer-trademark-measure);padding-block-start:var(--footer-divider-gap);border-top:var(--border-width) solid var(--line);color:var(--muted);font-size:var(--type-micro);line-height:1.5;text-wrap:balance}}@media(width<=40rem){.site-footer{--footer-padding-block-start: 2rem;--footer-padding-block-end: 2rem}}}@layer parts{.surface-panel,.surface-stack,.surface-cell{min-width:0;color:var(--ink)}.surface-panel{--surface-panel-padding: clamp(1rem, 3vw, 1.5rem);padding:var(--surface-panel-padding);border:var(--border-width) solid var(--line);border-radius:var(--radius-surface);background-color:var(--card)}.surface-stack{--surface-stack-gap: var(--border-width);display:grid;gap:var(--surface-stack-gap);margin:0;overflow:hidden;border:var(--border-width) solid var(--line);border-radius:var(--radius-surface);background-color:var(--well)}.surface-cell{--surface-cell-padding: 1rem;padding:var(--surface-cell-padding);background-color:var(--card)}}@layer parts{:root{--syntax-accent: light-dark(#9a0e80, #db67ba);--syntax-string: light-dark(#6b5200, #77d1c8);--syntax-number: light-dark(#9a3b12, #db67ba);--syntax-keyword: light-dark(#594f75, #db67ba);--code-block-padding: 1rem;--code-block-leading: 1.6;:where(pre:not(.chroma),.highlight>.chroma){max-width:100%;overflow-x:auto;border:var(--border-width) solid var(--line);background-color:var(--well);color:var(--ink);font-size:var(--type-label);line-height:var(--code-block-leading);overflow-wrap:normal}.highlight>pre.chroma,pre:not(.chroma){padding:var(--code-block-padding);& code{padding:0;background-color:transparent;color:inherit;font-size:inherit}}.highlight{max-width:100%;& pre{margin:0}>div.chroma{.lntd{& pre{max-width:none;padding:var(--code-block-padding);overflow:visible;border:0;background-color:transparent}&:first-child{& pre{padding-inline-end:0}.hl{display:block}}&:last-child .line.hl{padding-inline:var(--code-block-padding);margin-inline:calc(-1 * var(--code-block-padding))}}}}.chroma{background-color:var(--well);color:var(--ink);-webkit-text-size-adjust:none;:is(.x,.cl,.go,.gp){color:var(--ink)}:is(.err,.kn,.nt,.o,.ow,.or,.gd,.gr,.gh,.gt){color:var(--syntax-accent)}:is(.k,.kc,.kd,.kp,.kr,.kt,.no){color:var(--syntax-keyword)}:is(.na,.nb,.bp,.nc,.nd,.ni,.ne,.nf,.fm,.nl,.nn,.nx,.py,.nv,.vc,.vg,.vi,.vm,.gi){color:var(--signal)}:is(.ld,.s,.sa,.sb,.sc,.dl,.sd,.s2,.sh,.si,.sx,.sr,.s1,.ss){color:var(--syntax-string)}:is(.l,.se,.m,.mb,.mf,.mh,.mi,.il,.mo){color:var(--syntax-number)}:is(.c,.ch,.cm,.c1,.cs,.cp,.cpf,.gu,.lnt,.ln){color:var(--muted)}:is(.c,.ch,.cm,.c1,.cs,.cp,.cpf,.ge){font-style:italic}:is(.nd,.o,.ow,.or,.cpf,.gh,.gu,.gs){font-weight:700}.gl{text-decoration:underline}.lnlinks{color:inherit;text-decoration:none;outline:revert}:is(.lnt,.ln){padding-inline:.4em;margin-inline-end:.4em;user-select:none;white-space:pre}.lntable{display:table;width:max-content;min-width:100%;max-width:none;padding:0;margin:0;overflow:visible;border:0;border-collapse:separate;border-spacing:0;font-size:inherit}.lntd{padding:0;margin:0;border:0;vertical-align:top}.hl,.gd{background-color:var(--accent-wash)}.gi{background-color:var(--signal-wash)}.line{display:flex}&:focus-visible{outline:var(--focus-ring-width) solid var(--accent);outline-offset:var(--focus-ring-offset)}}}}@layer parts{.btn{--radius-button: .25rem;--button-gap: .5rem;--button-padding-inline: 1rem;display:inline-flex;max-width:100%;align-items:center;justify-content:center;gap:var(--button-gap);padding:var(--button-padding-block, .625rem) var(--button-padding-inline);border:var(--border-width) solid transparent;border-radius:var(--radius-button);color:inherit;font-size:var(--button-font-size, var(--type-ui));font-weight:500;line-height:1.5;text-align:center;text-decoration:none;transition:color var(--duration-control) ease-out,background-color var(--duration-control) ease-out,border-color var(--duration-control) ease-out,box-shadow var(--duration-control) ease-out,transform var(--duration-control) ease-out;&:focus-visible{outline:var(--focus-ring-width) solid var(--accent);outline-offset:var(--focus-ring-offset)}}.btn-primary{border-color:var(--accent);background-color:var(--accent);color:var(--on-accent);&:hover,&:active{border-color:var(--accent-hover);background-color:var(--accent-hover);color:var(--on-accent)}&:active{transform:translateY(1px)}}.btn-secondary{border-color:var(--line);background-color:var(--well);color:var(--ink);&:hover,&:active{border-color:var(--muted);background-color:var(--well);color:var(--ink)}}.btn-ghost{--button-padding-block: 0;--button-padding-inline: 0;border:0;background-color:transparent;color:var(--accent);&:hover,&:active{background-color:transparent;color:var(--accent-hover);text-decoration:underline}}:root[data-theme-changing] .btn{transition:var(--transition-theme)}@media(prefers-reduced-motion:reduce){.btn,:root[data-theme-changing] .btn{transition:none}}}@layer parts{.action-arrow{--action-arrow-shift: .25rem;>.action-arrow-icon{display:inline-block;transition:transform var(--duration-control) ease-out}&:is(:hover,:focus-visible)>.action-arrow-icon{transform:translate(var(--action-arrow-shift))}}@media(prefers-reduced-motion:reduce){.action-arrow>.action-arrow-icon{transition:none}.action-arrow:is(:hover,:focus-visible)>.action-arrow-icon{transform:none}}}@layer parts{.chip,.badge,.kicker{max-width:100%;margin:0}.chip,.badge{display:inline-flex;align-items:center;width:fit-content;border:var(--border-width) solid var(--line)}.chip{--radius-chip: 999px;--chip-gap: .375rem;--chip-padding-block: .25rem;--chip-padding-inline: .625rem;gap:var(--chip-gap);padding:var(--chip-padding-block) var(--chip-padding-inline);border-radius:var(--radius-chip);background-color:var(--card);color:var(--muted);font-family:var(--font-mono);font-size:var(--type-micro);font-weight:500;letter-spacing:.06em;line-height:1.4;text-transform:uppercase}.badge{--radius-badge: .1875rem;--badge-padding-block: .125rem;--badge-padding-inline: .375rem;padding:var(--badge-padding-block) var(--badge-padding-inline);border-radius:var(--radius-badge);background-color:var(--well);color:var(--ink);font-size:var(--type-label);font-weight:500;line-height:1.4}.kicker{display:inline-block;color:var(--muted);font-family:var(--font-mono);font-size:var(--type-micro);font-weight:500;letter-spacing:var(--tracking-kicker);line-height:1.5;text-transform:uppercase}}@layer components{.catalog-table{--catalog-table-min-width: 46rem;--catalog-table-cell-padding-block: .75rem;--catalog-table-cell-padding-inline: 1rem;max-width:100%;min-width:0;overflow-x:auto;border:var(--border-width) solid var(--line);border-radius:var(--radius-surface);background-color:var(--card)}.catalog-table>table{width:100%;min-width:var(--catalog-table-min-width);margin:0;border:0;border-collapse:collapse;color:var(--ink);font-size:var(--type-ui);line-height:1.5;>thead>tr>th,>tbody>tr>td{padding:var(--catalog-table-cell-padding-block) var(--catalog-table-cell-padding-inline);border:0;border-block-end:var(--border-width) solid var(--line);text-align:start;vertical-align:middle}>thead>tr>th{background-color:var(--well);color:var(--muted);font-family:var(--font-mono);font-size:var(--type-micro);font-weight:500;letter-spacing:var(--tracking-kicker);line-height:1.5;text-transform:uppercase;white-space:nowrap}>tbody>tr:last-child>td{border-block-end:0}}}@layer components{.page-header{--page-header-gap: .75rem;--page-header-margin-block-end: clamp(2rem, 5vw, 3.5rem);--page-header-lede-measure: 60ch;--page-header-leading: 1.5;--page-header-title-leading: 1.1;display:grid;justify-items:start;gap:var(--page-header-gap);margin-block-end:var(--page-header-margin-block-end);>:where(.kicker,.title,.lede,time){margin:0}>.page-header-meta{display:flex;flex-wrap:wrap;align-items:baseline;gap:.5rem;color:var(--muted);line-height:var(--page-header-leading);>a{color:inherit}>a:focus-visible{outline:var(--focus-ring-width) solid var(--accent);outline-offset:var(--focus-ring-offset)}}>.kicker{color:var(--muted);letter-spacing:var(--tracking-kicker);line-height:var(--page-header-leading);text-transform:uppercase}>a.kicker:focus-visible{outline:var(--focus-ring-width) solid var(--accent);outline-offset:var(--focus-ring-offset)}>.title{line-height:var(--page-header-title-leading);>span{display:block}}.page-header-title-accent{color:var(--accent)}>time{color:var(--muted)}>.lede{max-width:var(--page-header-lede-measure);color:var(--muted);line-height:var(--page-header-leading)}>.btn{justify-self:start}}}@layer components{.article-prose{--article-prose-flow-space: 1.25rem;--article-prose-list-indent: 1.5rem;--article-prose-block-padding: 1rem;--article-prose-inline-code-padding: .125rem .25rem;--article-prose-leading: 1.7;--article-prose-heading-leading: 1.25;min-width:0;color:var(--ink);font-size:var(--type-body);line-height:var(--article-prose-leading);overflow-wrap:break-word;>:first-child{margin-block-start:0}>:last-child{margin-block-end:0}:where(h1,h2,h3,h4,h5,h6){margin-block:var(--content-section-gap) var(--article-prose-flow-space);color:var(--ink);font-size:var(--type-heading);line-height:var(--article-prose-heading-leading)}:where(p,ul,ol,blockquote,pre:not(.highlight *),.highlight,table:not(.lntable)){margin-block:0 var(--article-prose-flow-space)}:where(ul,ol){padding-inline-start:var(--article-prose-list-indent)}:where(ul,ol) :where(ul,ol){margin-block:0}& a{color:var(--ink);text-decoration:underline;text-underline-offset:.16em;&:focus-visible{outline:var(--focus-ring-width) solid var(--accent);outline-offset:var(--focus-ring-offset)}}& blockquote{padding:var(--article-prose-block-padding);border-inline-start:var(--border-width) solid var(--line);background-color:var(--well);color:var(--muted);font-size:var(--type-lede);>:last-child{margin-block-end:0}}:not(pre)>code{padding:var(--article-prose-inline-code-padding);background-color:var(--well);color:var(--ink);font-size:var(--type-label)}& table:not(.lntable){display:block;width:100%;max-width:100%;overflow-x:auto;border-collapse:collapse;font-size:var(--type-body)}:where(th,td):not(.lntd){padding:.5rem .75rem;border:var(--border-width) solid var(--line);text-align:start;vertical-align:top}& th{background-color:var(--well);font-weight:700}& img{display:block;max-width:100%;height:auto}& hr{margin-block:var(--content-section-gap);border:0;border-block-start:var(--border-width) solid var(--line)}}}@layer components{.code-frame{--code-frame-bar-padding: .75rem 1rem;--code-frame-section-padding: 1rem;--code-frame-section-gap: .75rem;--code-frame-output-min-width: 16rem;display:grid;max-width:100%;min-width:0;overflow:hidden;border:var(--border-width) solid var(--line);border-radius:var(--radius-surface);background-color:var(--well);color:var(--ink);.frame-bar{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:.5rem 1rem;padding:var(--code-frame-bar-padding);border-block-end:var(--border-width) solid var(--line);background-color:var(--card);color:var(--muted);font-family:var(--font-mono);font-size:var(--type-micro);font-weight:500;letter-spacing:var(--tracking-kicker);line-height:1.5;text-transform:uppercase}.frame-section{display:grid;min-width:0;align-content:start;gap:var(--code-frame-section-gap);padding:var(--code-frame-section-padding);+.frame-section{border-block-start:var(--border-width) solid var(--line)}}.frame-heading{margin:0;color:var(--muted);font-family:var(--font-mono);font-size:var(--type-micro);font-weight:500;letter-spacing:var(--tracking-kicker);line-height:1.5;text-transform:uppercase}:where(pre:not(.chroma),.highlight>.chroma){border:0;background-color:transparent}:where(pre,.highlight){min-width:0;margin:0}&.code-frame-source-output{grid-template-columns:minmax(0,1.4fr) minmax(var(--code-frame-output-min-width),.8fr);>.frame-bar{grid-column:1 / -1}>.frame-section+.frame-section{border-block-start:0;border-inline-start:var(--border-width) solid var(--line)}}@media(width<=48rem){&.code-frame-source-output{grid-template-columns:minmax(0,1fr);>.frame-section+.frame-section{border-block-start:var(--border-width) solid var(--line);border-inline-start:0}}}}}@layer components{.figure-media{--figure-media-caption-gap: .75rem;max-width:100%;min-width:0;margin:0;color:var(--ink);.media-visual{display:block;max-width:100%}.media-image{display:block;max-width:100%;height:auto;border:var(--border-width) solid var(--line);border-radius:var(--radius-surface)}.media-caption{margin-block-start:var(--figure-media-caption-gap);color:var(--muted);font-size:var(--type-label);line-height:1.6}.media-visual-dark{display:none}}:root[data-theme=dark] .figure-media{.media-visual-light{display:none}.media-visual-dark{display:block}}@media(prefers-color-scheme:dark){:root:not([data-theme]) .figure-media{.media-visual-light{display:none}.media-visual-dark{display:block}}}}@layer components{.timeline-navigation{--timeline-gap: 1.5rem;--timeline-compact-gap: .75rem;--timeline-content-gap: .5rem;--timeline-heading-gap: 1.25rem;--timeline-line-width: 2px;--timeline-marker-size: .5rem;--timeline-marker-offset: .125rem;--timeline-rail-padding-inline-start: 1.5rem;--timeline-line-inset: .3125rem;--radius-timeline-marker: 50%;position:sticky;top:var(--page-gutter);min-width:0;align-self:start;color:var(--ink);.timeline-list{display:grid;min-width:0;gap:var(--timeline-gap);margin:0;padding:0;list-style:none}.timeline-rail{min-width:0;>.timeline-heading{display:block;margin-block-end:var(--timeline-heading-gap)}.timeline-rail-navigation>.timeline-list{position:relative;padding-inline-start:var(--timeline-rail-padding-inline-start);&:before{content:"";position:absolute;inset-block:var(--timeline-compact-gap);inset-inline-start:var(--timeline-line-inset);width:var(--timeline-line-width);background-color:var(--line);pointer-events:none}}}.timeline-disclosure{display:none}.timeline-item{min-width:0;>a{display:flex;position:relative;min-width:0;flex-wrap:wrap;align-items:baseline;gap:var(--timeline-content-gap);color:var(--ink);font-size:var(--type-ui);font-weight:500;line-height:1.5;text-decoration:underline;text-underline-offset:.16em;&[aria-current=page]{font-weight:700}>.timeline-label{min-width:0;overflow-wrap:anywhere}>.timeline-count{color:var(--muted);font-size:var(--type-label);font-weight:400}>.timeline-marker{position:absolute;inset-block-start:calc((1.5em - var(--timeline-marker-size)) / 2);inset-inline-start:calc(-1 * var(--timeline-rail-padding-inline-start) + var(--timeline-marker-offset));width:var(--timeline-marker-size);height:var(--timeline-marker-size);border-radius:var(--radius-timeline-marker);background-color:var(--line);box-shadow:0 0 0 var(--border-width) var(--page);transition:background-color var(--duration-indicator) ease-out,box-shadow var(--duration-indicator) ease-out,transform var(--duration-indicator) ease-out}&:is(:hover,:focus-visible)>.timeline-marker{background-color:var(--signal);transform:scale(1.25)}&[aria-current=page]>.timeline-marker{background-color:var(--signal);box-shadow:0 0 0 var(--border-width) var(--page),0 0 0 calc(2 * var(--border-width)) var(--signal);transform:scale(1.5)}}}:is(.timeline-item>a,.timeline-disclosure>summary):focus-visible{outline:var(--focus-ring-width) solid var(--signal);outline-offset:var(--focus-ring-offset)}@media(width<=48rem){position:static;.timeline-rail{display:none}.timeline-disclosure{display:block;padding-block:var(--timeline-compact-gap);border-block:var(--border-width) solid var(--line);>summary{display:list-item;width:fit-content;max-width:100%;color:var(--ink);cursor:pointer;font-size:var(--type-ui);font-weight:700;line-height:1.5}&[open]>summary{margin-block-end:var(--timeline-compact-gap)}.timeline-list{gap:var(--timeline-compact-gap)}}}@media(prefers-reduced-motion:reduce){.timeline-marker{transition:none}}}}@layer components{.interface-comparison{--interface-media-max-width: 54rem;min-width:0;container-name:interface-comparison;container-type:inline-size;.interface-tabs{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));margin-block-end:1.5rem;border-block-end:var(--border-width) solid var(--line)}.interface-tab{position:relative;display:flex;min-width:0;align-items:baseline;gap:.5rem;justify-content:center;padding:.75rem 1rem;border:0;background-color:transparent;color:var(--muted);cursor:pointer;font:inherit;font-size:var(--type-ui);font-weight:500;line-height:1.5;text-align:center;transition:color var(--duration-control) ease-out;>.interface-tab-index{color:var(--muted);font-family:var(--font-mono);font-size:var(--type-micro);font-weight:500}&:after{position:absolute;right:0;bottom:calc(-1 * var(--border-width));left:0;height:3px;background-color:var(--accent);content:"";transform:scaleX(0);transition:transform var(--duration-indicator) ease-out}&:hover,&[aria-selected=true]{color:var(--ink)}&[aria-selected=true]{font-weight:700}&[aria-selected=true]:after{transform:scaleX(1)}&:focus-visible{z-index:1;outline:var(--focus-ring-width) solid var(--accent);outline-offset:calc(-1 * var(--focus-ring-width))}}.interface-panel{display:grid;min-width:0;gap:1.5rem}.figure-media{max-width:var(--interface-media-max-width);margin-inline:auto}.interface-panel[hidden]{display:none}.interface-setup{display:flex;min-width:0;align-items:center;justify-content:space-between;gap:1rem}.interface-setup-copy{min-width:0;& p{margin:.25rem 0 0;font-size:var(--type-ui);line-height:1.5}& code{padding:.125rem .25rem;overflow-wrap:anywhere;background-color:var(--well);color:var(--ink);font-family:var(--font-mono);font-size:var(--type-label)}}@container interface-comparison (width <= 48rem){.interface-tabs{grid-template-columns:repeat(3,minmax(0,1fr))}.interface-setup{align-items:start;flex-direction:column}}@container interface-comparison (width <= 40rem){.interface-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}.interface-tab{justify-content:start;text-align:start}}@container interface-comparison (width <= 24rem){.interface-tabs{grid-template-columns:minmax(0,1fr)}}}:root[data-theme-changing] .interface-comparison :where(.interface-tab,.interface-setup){transition:var(--transition-theme)}@media(prefers-reduced-motion:reduce){.interface-comparison .interface-tab,:root[data-theme-changing] .interface-comparison :where(.interface-tab,.interface-setup){transition:none}}}@layer composites{.update-post-navigation{margin-block-start:var(--content-section-gap);& a:focus-visible{outline:var(--focus-ring-width) solid var(--accent);outline-offset:var(--focus-ring-offset)}}}@layer composites{.update-archive-layout{--update-archive-rail-min: 8rem;--update-archive-rail-max: 10rem;--update-archive-column-gap: clamp(2rem, 6vw, 4rem);--update-entry-gap: .5rem;display:grid;grid-template:"header timeline" auto "year timeline" auto / minmax(0,var(--shell-narrow)) minmax(var(--update-archive-rail-min),var(--update-archive-rail-max));justify-content:center;column-gap:var(--update-archive-column-gap);>*{min-width:0}>.update-archive-header{grid-area:header}>.update-year-content{grid-area:year;>h2{margin:0 0 1rem}}>.update-archive-timeline{grid-area:timeline;min-width:0}.update-entry{display:grid;gap:var(--update-entry-gap);>*{margin:0}>time,>p{color:var(--muted)}& a:focus-visible{outline:var(--focus-ring-width) solid var(--accent);outline-offset:var(--focus-ring-offset)}}@media(width<=48rem){grid-template:"header" "timeline" "year" / minmax(0,1fr);>.update-archive-timeline{margin-block-end:var(--content-section-gap)}}}}@layer composites{.download-page{display:grid;gap:var(--content-section-gap);& a:not(.btn):focus-visible{outline:var(--focus-ring-width) solid var(--accent);outline-offset:var(--focus-ring-offset)}}.download-section{display:grid;gap:1rem;scroll-margin-block-start:var(--page-gutter);>p{max-width:60ch;margin:0;color:var(--muted);line-height:1.7}}.download-section-heading{display:grid;gap:.5rem;max-width:60ch;>*{margin:0}>p{color:var(--muted);line-height:1.7}}.download-build{display:grid;justify-items:start;gap:.75rem;>p{margin:0;color:var(--muted)}}.download-build-title{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.download-catalog{container-type:inline-size;>table>:where(thead,tbody)>tr>:nth-child(2){width:11rem}>table>:where(thead,tbody)>tr>:nth-child(3){width:15rem}}.download-mirrors{display:grid;grid-template-columns:repeat(3,max-content);gap:1rem;padding:0;margin:0;list-style:none;.btn{justify-content:start}}.download-python-path{display:flex;align-items:center;justify-content:space-between;gap:1rem;>code{overflow-wrap:anywhere}}.download-example-grid,.download-card-grid{display:grid;gap:1rem;>*{min-width:0}}.download-card-grid{grid-template-columns:repeat(3,minmax(0,1fr));>.surface-panel{display:grid;align-content:start;justify-items:start;gap:.75rem;>*{margin:0}>p{color:var(--muted);line-height:1.7}}}@container (width < 46rem){.download-catalog>table{min-width:0;>thead>tr{display:grid;grid-template-columns:minmax(0,1fr) 11rem 15rem}>thead>tr>th:nth-child(n){display:block;width:100%}>tbody{display:grid}>tbody>tr{display:grid;grid-template-columns:minmax(0,1fr) 11rem 15rem;border-block-end:var(--border-width) solid var(--line)}>tbody>tr:last-child{border-block-end:0}>tbody>tr>td{display:block;width:auto;border-block-end:0}}.download-mirrors{gap:.5rem;.btn{font-size:var(--type-label)}}}@container (width < 40rem){.download-catalog>table>thead>tr{grid-template-columns:minmax(0,1fr) 15rem;>th:nth-child(3){display:none}}.download-catalog>table>tbody>tr{grid-template-columns:minmax(0,1fr) 15rem;>td:first-child{grid-row:1 / span 2;grid-column:1}>td:nth-child(2){grid-row:1;grid-column:2}>td:nth-child(3){grid-row:2;grid-column:2}}}@container (width < 30rem){.download-catalog>table>thead{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.download-catalog>table>tbody>tr{grid-template-columns:minmax(0,1fr);>td:first-child,>td:nth-child(2),>td:nth-child(3){grid-row:auto;grid-column:1}}}@media(width<=48rem){.download-card-grid{grid-template-columns:minmax(0,1fr)}}@media(width<=40rem){.download-python-path{align-items:start;flex-direction:column}}}@layer composites{.home-opening{--home-opening-column-gap: clamp(2rem, 5vw, 4rem);--home-opening-badge-width: 9.5rem;--home-opening-action-shift: 1px;display:grid;grid-template-columns:minmax(0,1fr) minmax(18rem,21rem);align-items:center;gap:var(--home-opening-column-gap)}.home-opening-introduction{display:grid;gap:1rem;min-width:0;>.page-header{margin-block-end:0}}.home-opening-action{>.btn{&:hover{transform:translateY(calc(-1 * var(--home-opening-action-shift)))}&:active{transform:translateY(0)}}}.home-opening-proof{width:100%;max-width:21rem;justify-self:end;>.surface-cell{display:grid;align-content:start;gap:.375rem}:where(.stat,.home-opening-proof-detail){margin:0}.home-opening-proof-detail{color:var(--muted);font-size:var(--type-ui);line-height:1.6}}.home-opening-certification-badge{line-height:0}.home-opening-certification-badge{display:block;max-width:100%;text-decoration:none;&:focus-visible{outline:var(--focus-ring-width) solid var(--accent);outline-offset:var(--focus-ring-offset)}>img{display:block;width:min(100%,var(--home-opening-badge-width));height:auto}}.home-interface{display:grid;gap:var(--content-section-gap);margin-block:clamp(3rem,8vw,5rem) 0}.home-section-heading{display:grid;max-width:60ch;gap:.75rem;>:where(.kicker,.type-heading,.lede){margin:0}>.type-heading{line-height:1.25}>.lede{color:var(--muted);line-height:1.5}}.home-support{display:grid;gap:clamp(2rem,5vw,4rem);margin-block-start:clamp(4rem,10vw,8rem)}.home-support-cards{display:grid;gap:1rem}.home-support-card{min-width:0}.home-support-card-header{padding:1rem;background-color:var(--well);>*{margin:0}>h3{line-height:1.25}}.home-support-group{display:grid;grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr);align-items:start;gap:clamp(1.5rem,5vw,3rem);min-width:0}.home-support-group-copy{min-width:0;>*{margin:0}>.home-support-group-title{font-weight:700;line-height:1.5}>p{margin-block-start:.375rem;color:var(--muted);font-size:var(--type-ui);line-height:1.6}}.home-support-items{display:grid;gap:.5rem 1.25rem;padding:0;margin:0;list-style:none;&.home-support-items-two-column{grid-template-columns:repeat(2,minmax(0,1fr))}>li{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:baseline;gap:.75rem;min-width:0;overflow-wrap:anywhere;font-size:var(--type-ui);line-height:1.5}}.home-support-check{color:var(--signal);font-family:var(--font-mono);font-size:var(--type-micro);font-weight:700;line-height:1.5}@keyframes home-opening-rise{0%{opacity:0;transform:translateY(var(--distance-home-entrance))}}@media(prefers-reduced-motion:no-preference){.home-opening-introduction>.page-header>*,.home-opening-introduction>.home-opening-action{animation:home-opening-rise var(--duration-home-entrance) ease-out backwards}.home-opening-introduction>.page-header>:nth-child(1){animation-delay:var(--delay-home-entrance-1)}.home-opening-introduction>.page-header>:nth-child(2){animation-delay:var(--delay-home-entrance-2)}.home-opening-introduction>.page-header>:nth-child(3){animation-delay:var(--delay-home-entrance-3)}.home-opening-introduction>.home-opening-action{animation-delay:var(--delay-home-entrance-4)}}@media(max-width:48rem){.home-opening{grid-template-columns:minmax(0,1fr)}.home-opening-introduction{display:contents;>.page-header{order:1}}.home-opening-proof{order:2;max-width:none;justify-self:start}.home-opening-action{order:3}.home-support-group,.home-support-items.home-support-items-two-column{grid-template-columns:minmax(0,1fr)}}@media(prefers-reduced-motion:reduce){.home-opening-action>.btn:is(:hover,:focus-visible,:active){transform:none}}}
