:root{--paper: #EAE5D9;--ink: #17161B;--signal: #FF4A1F;--ink-muted: #565454;--paper-muted: #ABA7A0;--ink-hairline: #C0BCB3;--paper-hairline:#403F43;--ink-raised: #242226;--font-display: "JetBrains Mono", "SFMono-Regular", Menlo, Consolas, monospace;--font-body: "Archivo", "Helvetica Neue", Arial, sans-serif;--font-mono: "JetBrains Mono", "SFMono-Regular", Menlo, Consolas, monospace;--fs-display: clamp(2.625rem, 7.2vw - .25rem, 5.75rem);--fs-h2: clamp(1.875rem, .9rem + 3.4vw, 3.75rem);--fs-h3: clamp(1.375rem, 1rem + 1.2vw, 1.875rem);--fs-lead: clamp(1.125rem, 1rem + .6vw, 1.5rem);--fs-body: 1.0625rem;--fs-small: .9375rem;--fs-label: .6875rem;--fs-label-lg:.75rem;--ls-label: .18em;--ls-label-lg:.25em;--ls-title: .33em;--lh-tight: 1;--lh-snug: 1.15;--lh-body: 1.5;--s-1: .25rem;--s-2: .5rem;--s-3: .75rem;--s-4: 1rem;--s-6: 1.5rem;--s-8: 2rem;--s-12: 3rem;--s-16: 4rem;--s-24: 6rem;--s-32: 8rem;--grid-cols: 12;--gutter: 1.5rem;--margin: 1.5rem;--content-max: 82.5rem;--topbar-h: 5rem;--sticky-top: 0px;--anchor-gap: var(--s-6);--notify-bar-h: calc(48px + 2 * var(--s-2) + 1.5px);--rule: 1px;--stroke-mark: 11;--stroke-squiggle: 9;--step-fast: 90ms;--step: .14s;--ease-hard: steps(2, jump-none);--ease-snap: cubic-bezier(.2, 0, 0, 1)}:root,:root[data-theme=dark] .invert{color-scheme:light;--bg: var(--paper);--bg-raised: var(--paper);--field-bg: var(--paper);--fg: var(--ink);--fg-muted: var(--ink-muted);--rule-color: var(--ink);--hairline: var(--ink-hairline);--hatch: var(--ink-hairline);--accent: var(--signal);--accent-fg: var(--ink);--accent-edge: var(--ink);--accent-text: var(--ink);--focus: var(--ink)}:root[data-theme=dark],:root:not([data-theme=dark]) .invert,.surface-ink{color-scheme:dark;--bg: var(--ink);--bg-raised: var(--ink-raised);--field-bg: var(--ink);--fg: var(--paper);--fg-muted: var(--paper-muted);--rule-color: var(--paper);--hairline: var(--paper-hairline);--hatch: var(--paper-hairline);--accent: var(--signal);--accent-fg: var(--ink);--accent-edge: var(--signal);--accent-text: var(--signal);--focus: var(--paper)}@media(prefers-color-scheme:dark){:root:not([data-theme]){color-scheme:dark;--bg: var(--ink);--bg-raised: var(--ink-raised);--field-bg: var(--ink);--fg: var(--paper);--fg-muted: var(--paper-muted);--rule-color: var(--paper);--hairline: var(--paper-hairline);--hatch: var(--paper-hairline);--accent: var(--signal);--accent-fg: var(--ink);--accent-edge: var(--signal);--accent-text: var(--signal);--focus: var(--paper)}:root:not([data-theme]) .invert{color-scheme:light;--bg: var(--paper);--bg-raised: var(--paper);--field-bg: var(--paper);--fg: var(--ink);--fg-muted: var(--ink-muted);--rule-color: var(--ink);--hairline: var(--ink-hairline);--hatch: var(--ink-hairline);--accent: var(--signal);--accent-fg: var(--ink);--accent-edge: var(--ink);--accent-text: var(--ink);--focus: var(--ink)}}@media(min-width:48em){:root{--gutter: 2rem;--margin: 2.5rem;--sticky-top: var(--topbar-h)}}@media(max-width:30em){:root{--gutter: 1rem;--margin: 1rem;--topbar-h: 3.5rem}}@font-face{font-family:Archivo;font-style:normal;font-weight:400;font-display:swap;src:url(./archivo-latin-400-normal-C81ewxNO.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Archivo;font-style:normal;font-weight:600;font-display:swap;src:url(./archivo-latin-600-normal-3BBy0ZsW.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,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-weight:400;font-display:swap;src:url(./jetbrains-mono-latin-400-normal-V6pRDFza.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,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-weight:500;font-display:swap;src:url(./jetbrains-mono-latin-500-normal-BWZEU5yA.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,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-weight:800;font-display:swap;src:url(./jetbrains-mono-latin-800-normal-D2mQHRMK.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}*,*:before,*:after{box-sizing:border-box}*{margin:0}html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth;background:var(--bg);scrollbar-color:var(--fg-muted) var(--bg)}::selection{background:var(--fg);color:var(--bg)}input{caret-color:var(--fg);accent-color:var(--fg)}.theme-switching,.theme-switching *,.theme-switching *:before,.theme-switching *:after{transition:none!important}body{background:var(--bg);color:var(--fg);font-family:var(--font-body);font-weight:400;font-size:var(--fs-body);line-height:var(--lh-body);-webkit-font-smoothing:antialiased;min-height:100dvh;overflow-x:clip}img,svg,video,canvas{display:block;max-width:100%}img{height:auto}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}a{color:inherit}ul[role=list],ol[role=list]{list-style:none;padding:0}html{scroll-padding-top:calc(var(--sticky-top) + var(--anchor-gap))}html[data-notify-bar-shown]{scroll-padding-bottom:calc(var(--notify-bar-h) + env(safe-area-inset-bottom,0px))}h1,h2,h3,h4{font-family:var(--font-display);font-weight:800;line-height:var(--lh-snug);letter-spacing:-.02em;text-wrap:balance}h1{font-size:var(--fs-display);line-height:var(--lh-tight);letter-spacing:-.04em}h2{font-size:var(--fs-h2);letter-spacing:-.03em}h3{font-size:var(--fs-h3)}p{max-width:62ch;text-wrap:pretty}.lead{font-size:var(--fs-lead);line-height:1.4}.muted{color:var(--fg-muted)}strong{font-weight:600}.label,.mono{font-family:var(--font-mono);font-weight:400;font-size:var(--fs-label);letter-spacing:var(--ls-label);text-transform:uppercase;line-height:1.4;font-variant-numeric:tabular-nums}.label--lg{font-size:var(--fs-label-lg);letter-spacing:var(--ls-label-lg)}.label--title{font-size:var(--fs-label-lg);letter-spacing:var(--ls-title)}.label--strong{font-weight:500}.figcaption{composes:label--lg}code,kbd,pre{font-family:var(--font-mono);font-size:.9em}.rule{border:0;border-top:var(--rule) solid var(--rule-color)}.rule--hair{border-top-color:var(--hairline)}.container{width:100%;margin-inline:auto;max-width:calc(var(--content-max) + env(safe-area-inset-left,0px) + env(safe-area-inset-right,0px));padding-left:calc(var(--margin) + env(safe-area-inset-left,0px));padding-right:calc(var(--margin) + env(safe-area-inset-right,0px))}.grid{display:grid;grid-template-columns:repeat(var(--grid-cols),minmax(0,1fr));column-gap:var(--gutter);row-gap:var(--s-8)}[class*=col-]{grid-column:1 / -1}@media(min-width:48em){.col-1{grid-column:auto / span 1}.col-2{grid-column:auto / span 2}.col-3{grid-column:auto / span 3}.col-4{grid-column:auto / span 4}.col-5{grid-column:auto / span 5}.col-6{grid-column:auto / span 6}.col-7{grid-column:auto / span 7}.col-8{grid-column:auto / span 8}.col-9{grid-column:auto / span 9}.col-10{grid-column:auto / span 10}.col-11{grid-column:auto / span 11}.col-12{grid-column:1 / -1}.col-start-2{grid-column-start:2}.col-start-3{grid-column-start:3}.col-start-4{grid-column-start:4}.col-start-5{grid-column-start:5}.col-start-6{grid-column-start:6}.col-start-7{grid-column-start:7}.col-start-8{grid-column-start:8}.col-start-9{grid-column-start:9}}.section{border-top:var(--rule) solid var(--rule-color);padding-block:var(--s-16) var(--s-24);position:relative}@media(min-width:48em){.section{padding-block:var(--s-24) var(--s-32)}}.section__head{display:flex;justify-content:space-between;align-items:baseline;gap:var(--s-4);margin-bottom:var(--s-12);flex-wrap:wrap}.invert,.surface-ink{background:var(--bg);color:var(--fg)}:focus{outline:none}:focus-visible{outline:2px solid var(--focus);outline-offset:3px}.skip-link{position:absolute;left:calc(var(--s-4) + env(safe-area-inset-left,0px));top:-100%;z-index:100;background:var(--fg);color:var(--bg);padding:var(--s-2) var(--s-4);font-family:var(--font-mono);font-size:var(--fs-label-lg);letter-spacing:var(--ls-label);text-transform:uppercase;text-decoration:none}.skip-link:focus-visible{top:var(--s-4);outline-color:var(--signal)}.sr-only{text-transform:none;letter-spacing:0}.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.001ms!important;animation-delay:0ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;transition-delay:0ms!important}}.placeholder{display:grid;place-items:center;text-align:center;border:1.5px dashed var(--rule-color);color:var(--fg);background:repeating-linear-gradient(-45deg,transparent 0 14px,var(--hatch) 14px 15px);padding:var(--s-6)}.placeholder__label{background:var(--bg);padding:var(--s-1) var(--s-2)}.label--asis{text-transform:none}.note{font-family:var(--font-mono);font-size:.8125rem;line-height:1.55;letter-spacing:0;color:var(--fg-muted)}kbd{display:inline-block;padding:0 .4em;border:1px solid currentColor;font-family:var(--font-mono);font-size:.95em;line-height:1.5;white-space:nowrap}.figcap{text-wrap:balance;margin-top:var(--s-4);padding-top:var(--s-3);border-top:var(--rule) solid var(--hairline)}.figcap__id{display:block}.figcap__text{display:block;margin-top:var(--s-1);font-family:var(--font-mono);font-size:.8125rem;line-height:1.5;letter-spacing:0;text-transform:none;text-wrap:balance}.figcap__clause{white-space:nowrap}.figcap:has(.figcap__text){container-type:inline-size}@container (max-width: 28rem){.figcap__clause{display:block}.figcap__sep{display:none}}main p a,.footer p a{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:3px;transition:background-color var(--step-fast) var(--ease-hard),color var(--step-fast) var(--ease-hard)}@media(hover:hover){main p a:hover{background:var(--fg);color:var(--bg)}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.75rem;min-height:44px;padding:0 1.25rem;border:1.5px solid var(--rule-color);border-radius:0;background:var(--bg);color:var(--fg);font-family:var(--font-mono);font-size:var(--fs-label-lg);font-weight:500;letter-spacing:var(--ls-label);line-height:1;text-transform:uppercase;text-decoration:none;white-space:nowrap;user-select:none;transition:background-color var(--step-fast) var(--ease-hard),color var(--step-fast) var(--ease-hard),border-color var(--step-fast) var(--ease-hard),transform var(--step-fast) var(--ease-hard)}@media(hover:hover){.btn:hover{background:var(--fg);color:var(--bg)}}.btn:active{transform:translate(1px,1px)}.btn__glyph{font-weight:400;letter-spacing:0}.btn--primary{background:var(--accent);border-color:var(--accent-edge);color:var(--accent-fg)}@media(hover:hover){.btn--primary:hover{background:var(--fg);border-color:var(--fg);color:var(--bg)}}.btn--block{width:100%}.btn:disabled,.btn[aria-disabled=true]{cursor:not-allowed}.btn:disabled:active{transform:none}.actions{display:flex;flex-wrap:wrap;gap:var(--s-3)}.section__leader{flex:1 1 2rem;align-self:center;min-width:2rem;border-top:var(--rule) solid var(--hairline)}@media(max-width:47.99em){.section__head{row-gap:var(--s-3);margin-bottom:var(--s-8)}.section__leader{display:none}}.section__head>p{max-width:none}@media(max-width:30em){.section__head .label--title{letter-spacing:var(--ls-label-lg)}}.section__intro{align-items:end;margin-bottom:var(--s-12);row-gap:var(--s-4)}@media(min-width:48em){.section__intro{margin-bottom:var(--s-16)}}.section__intro .lead{padding-bottom:.35em}.lockup{display:block;overflow:visible}.lockup__bars{fill:var(--lockup-signal, var(--signal))}.lockup__tagline{fill:var(--lockup-tagline, var(--accent-text))}.lockup--on-paper{--lockup-tagline: currentColor}.topbar{background:var(--bg);border-bottom:var(--rule) solid var(--rule-color);padding-top:env(safe-area-inset-top,0px)}@media(min-width:48em){.topbar{position:sticky;top:0;z-index:40}}.topbar__inner{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--s-4);min-height:var(--topbar-h);padding-bottom:2px}.topbar__brand{display:inline-flex;align-items:center;flex:none;min-height:44px;color:var(--fg);text-decoration:none}.topbar__brand .lockup{height:1.75rem;width:auto}.topbar__nav{min-width:0}.topbar__links{display:flex}.topbar__links a{display:inline-flex;align-items:center;min-height:44px;padding:0 .75rem;border-block:3px solid transparent;text-decoration:none;white-space:nowrap;transition:background-color var(--step-fast) var(--ease-hard),color var(--step-fast) var(--ease-hard)}@media(hover:hover){.topbar__links a:hover{background:var(--fg);color:var(--bg)}}.topbar__links a[aria-current]{font-weight:500;border-bottom-color:var(--fg)}.topbar__nav{margin-left:auto}.topbar__num{white-space:pre}@media(min-width:48em)and (max-width:59.99em){.topbar__num{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}}.theme-toggle{display:none;flex:none;align-content:center;gap:.125rem;min-width:44px;min-height:44px;margin-right:-.75rem;padding:0 .75rem;border:0;border-left:var(--rule) solid var(--hairline);border-radius:0;background:transparent;color:var(--fg);text-align:left;transition:background-color var(--step-fast) var(--ease-hard),color var(--step-fast) var(--ease-hard)}html.js .theme-toggle{display:inline-grid}@media(hover:hover){.theme-toggle:hover{background:var(--fg);color:var(--bg)}}.theme-toggle:active{transform:translate(1px,1px)}.theme-toggle__row{display:flex;align-items:center;gap:.5rem;line-height:1.3}.theme-toggle__sw{flex:none;width:.5rem;height:.5rem;border:1px solid currentColor}:root[data-theme=dark] .theme-toggle__row[data-opt=dark],:root[data-theme=light] .theme-toggle__row[data-opt=light]{font-weight:500}:root[data-theme=dark] .theme-toggle__row[data-opt=dark] .theme-toggle__sw,:root[data-theme=light] .theme-toggle__row[data-opt=light] .theme-toggle__sw{background:currentColor}:root[data-theme=dark] .theme-toggle__row[data-opt=light],:root[data-theme=light] .theme-toggle__row[data-opt=dark]{color:var(--fg-muted)}@media(hover:hover){.theme-toggle:hover .theme-toggle__row,.theme-toggle:hover .theme-toggle__cap{color:inherit}}@media(hover:hover){:root[data-theme=light] .theme-toggle:hover{background:color-mix(in srgb,var(--fg) 10%,transparent);color:var(--fg)}}.theme-toggle__cap{display:none;color:var(--fg-muted)}@media(min-width:64em){html.js .theme-toggle{grid-template-columns:auto auto;column-gap:.75rem}.theme-toggle__cap{display:block;grid-row:1 / span 2;align-self:center}.theme-toggle__row{grid-column:2}}.theme-toggle__name{display:none}:root[data-theme=dark] .theme-toggle__name[data-when=dark],:root[data-theme=light] .theme-toggle__name[data-when=light]{display:inline}@media(max-width:47.99em){.topbar__inner{gap:var(--s-2)}.topbar__nav{display:none}.theme-toggle{margin-left:auto;padding:0 .625rem;margin-right:-.625rem}}@media(max-width:30em){.topbar__inner{align-items:center;padding-bottom:0}.topbar__brand .lockup{height:1.5rem}}.section--hero{border-top:0;padding-block:var(--s-8) var(--s-16)}@media(min-width:48em){.section--hero{padding-block:var(--s-8) var(--s-24)}.hero__figure{align-self:stretch;background-image:linear-gradient(to right,var(--hairline) 0 1px,transparent 1px calc(100% - var(--gutter) - 1px),var(--hairline) calc(100% - var(--gutter) - 1px) calc(100% - var(--gutter)),transparent calc(100% - var(--gutter)));background-size:calc((100% + var(--gutter)) / 5) 100%;background-repeat:repeat-x}.hero__ticks li{background:var(--bg);padding-right:.25rem}}.hero__grid{align-items:start;row-gap:var(--s-12)}.hero__copy h1{margin-bottom:var(--s-8)}.hero__lead{max-width:30ch}.hero__figure .figcap{background:var(--bg)}.hero__copy .actions{margin-top:var(--s-8)}.hero__spec__group{white-space:nowrap}.hero__spec{display:flex;flex-wrap:wrap;column-gap:var(--s-6)}.hero__spec__sep{display:none}@media(max-width:30em){.hero__spec{flex-direction:column}}.hero__spec{margin-top:var(--s-12);padding-top:var(--s-3);border-top:var(--rule) solid var(--rule-color);max-width:none}@media(min-width:48em){.hero__lead{max-width:34ch}.hero__figure{padding-top:var(--s-4)}}.hero__scan{display:none}@media(min-width:48em){.hero__scan{display:flex;align-items:flex-end;gap:var(--s-6);margin-top:var(--s-8)}.hero__qr{flex:none;width:9.5rem;height:9.5rem;border:1.5px solid var(--rule-color)}.hero__scan-text{display:flex;flex-direction:column;gap:var(--s-2);margin:0;padding-left:var(--s-4);border-left:var(--rule) solid var(--rule-color);max-width:none}.hero__scan-cue{color:var(--fg-muted)}.hero__scan-url{font-size:var(--fs-label-lg);color:var(--fg)}}.hero__mark{position:relative;width:100%;max-width:30rem;margin-inline:auto}.hero__art{width:62%}.hero__art .mark,.mark--hero{width:100%;height:auto;overflow:visible}.hero__ticks{position:absolute;inset:0 0 0 62%;margin:0;padding:0;list-style:none}.hero__ticks li{position:absolute;top:var(--y);left:.5rem;display:flex;align-items:center;gap:.5rem;white-space:nowrap;transform:translateY(-50%)}.hero__ticks li:before{content:"";width:1.25rem;border-top:var(--rule) solid var(--rule-color)}.hero__figure .figcap{max-width:30rem;margin-inline:auto}@media(min-width:48em)and (max-width:63.99em){.hero__art{width:56%}.hero__ticks{left:56%}.hero__ticks li{left:.375rem;gap:.375rem}.hero__ticks li:before{flex:none;width:.75rem}.hero__tick-num{display:block}}@media(min-width:64em)and (max-width:74.99em){.hero__art{width:56%}.hero__ticks{left:56%}.hero__ticks li{left:.375rem;gap:.375rem}.hero__ticks li:before{flex:none;width:.75rem}}@media(max-width:30em){.hero__ticks{letter-spacing:.12em}}@media(max-width:47.99em){.hero__mark{max-width:21rem}.hero__art{width:56%}.hero__ticks{left:56%}.hero__ticks li{left:.375rem;gap:.375rem}.hero__ticks li:before{width:.75rem}}.diagram{display:grid;place-items:center}.diagram>svg{width:100%;height:auto}.diagram--phase{min-height:18rem}.app__frame{border:1.5px solid var(--rule-color);background:var(--bg)}.app__shot{width:100%;height:auto}.player{border:1.5px solid var(--rule-color);background:var(--bg)}.player__frame{position:relative;aspect-ratio:16 / 9;overflow:hidden;background:var(--bg)}.player[data-state=ready] .player__frame{background:var(--ink);cursor:pointer}.player__video{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;background:var(--ink)}.player:not([data-state=ready]) .player__video{visibility:hidden}.player:not([data-state=ready]) .player__chrome{display:none}.player__placeholder{position:absolute;inset:var(--s-2);padding:var(--s-2)}@media(max-width:47.99em){.player__placeholder .label--lg{font-size:var(--fs-label);letter-spacing:var(--ls-label)}.placeholder__stack{gap:var(--s-1)}.player__placeholder{inset:var(--s-1)}.player__placeholder .placeholder__label{line-height:1.6}}@media(min-width:48em){.player__placeholder{inset:var(--s-6);padding:var(--s-6)}}.player[data-state=ready] .player__placeholder{display:none}.placeholder__stack{display:flex;flex-direction:column;align-items:center;gap:var(--s-2);max-width:none}.player__hint{position:absolute;left:var(--s-3);bottom:var(--s-3);right:var(--s-3);display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--s-2) var(--s-4);max-width:max-content;padding:var(--s-1) var(--s-1) var(--s-1) var(--s-3);background:var(--bg);color:var(--fg)}.player__hint[hidden]{display:none}.player__chrome{display:grid;grid-template-columns:auto auto minmax(0,1fr) auto auto;grid-template-areas:"play mute scrub time fs";gap:1px;background:var(--rule-color);border-top:1.5px solid var(--rule-color)}.player__chrome>*{background:var(--bg);min-height:44px}[data-player-play]{grid-area:play;min-width:6.5rem}[data-player-mute]{grid-area:mute;min-width:7.5rem}.player__scrub{grid-area:scrub;display:flex;align-items:center;padding:0 var(--s-4)}.player__time{grid-area:time;display:flex;align-items:center;justify-content:center;padding:0 var(--s-4);white-space:nowrap;max-width:none}[data-player-fullscreen]{grid-area:fs}.player__btn{display:inline-flex;align-items:center;justify-content:center;padding:0 var(--s-4);border:0;border-radius:0;color:var(--fg);font-weight:500;transition:background-color var(--step-fast) var(--ease-hard),color var(--step-fast) var(--ease-hard)}@media(hover:hover){.player__btn:hover:not(:disabled){background:var(--fg);color:var(--bg)}}.player__btn:active:not(:disabled){transform:translate(1px,1px)}.player__btn:focus-visible,.player__range:focus-visible{outline-offset:-4px}.player__btn:disabled,.player__range:disabled{color:var(--fg-muted);cursor:not-allowed}.player:not([data-state=ready]) .player__time{color:var(--fg-muted)}@media(max-width:47.99em){.player__chrome{grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;grid-template-areas:"scrub scrub time" "play mute fs"}[data-player-play],[data-player-mute]{min-width:0}.player__btn,.player__time,.player__scrub{padding:0 var(--s-3)}}.player__range{--p: 0%;-webkit-appearance:none;appearance:none;width:100%;height:44px;margin:0;background:transparent;cursor:pointer}.player__range::-webkit-slider-runnable-track{height:4px;background:linear-gradient(to right,var(--fg) 0 var(--p),var(--hairline) var(--p) 100%)}.player__range::-webkit-slider-thumb{-webkit-appearance:none;width:8px;height:22px;margin-top:-9px;border:0;border-radius:0;background:var(--fg)}.player__range::-moz-range-track{height:4px;background:var(--hairline);border:0}.player__range::-moz-range-progress{height:4px;background:var(--fg)}.player__range::-moz-range-thumb{width:8px;height:22px;border:0;border-radius:0;background:var(--fg)}.player__range:disabled::-webkit-slider-thumb{background:var(--hairline)}.player__range:disabled::-moz-range-thumb{background:var(--hairline)}.player:fullscreen{display:flex;flex-direction:column;border:0;background:var(--ink)}.player:fullscreen .player__frame{flex:1;aspect-ratio:auto}.how__grid{align-items:start}@media(min-width:48em){.how__aside{position:sticky;top:calc(var(--sticky-top) + var(--s-8));align-self:start}}.steps{margin:0;padding:0}@media(min-width:48em)and (max-width:63.99em){.how__aside{grid-column:1 / span 6}.steps{grid-column:7 / -1}}.step{border-top:1.5px solid var(--rule-color);padding-block:var(--s-6) var(--s-12)}@media(min-width:48em){.step{min-height:min(62vh,36rem);padding-block:var(--s-6) var(--s-16)}}.step__label{margin-bottom:var(--s-8)}.step__title{font-size:clamp(1.875rem,1rem + 2.4vw,3rem);line-height:1.05;letter-spacing:-.02em;margin-bottom:var(--s-6)}.step__body{max-width:46ch}.detail{margin-top:var(--s-8);border-block:var(--rule) solid var(--hairline)}.detail__summary{display:flex;align-items:center;justify-content:space-between;gap:var(--s-4);min-height:44px;cursor:pointer;list-style:none}.detail__summary::-webkit-details-marker{display:none}.detail__summary:after{content:"+";flex:none;display:grid;place-items:center;width:24px;height:24px;border:var(--rule) solid var(--rule-color);font-size:.875rem;letter-spacing:0;transition:background-color var(--step-fast) var(--ease-hard),color var(--step-fast) var(--ease-hard)}@media(hover:hover){.detail__summary:hover:after{background:var(--fg);color:var(--bg)}}.detail[open]>.detail__summary:after{content:"−";background:var(--fg);color:var(--bg)}.detail__body{margin:0 0 var(--s-4);padding:var(--s-1) 0 var(--s-1) var(--s-4);border-left:1.5px solid var(--rule-color);font-family:var(--font-mono);font-size:.8125rem;line-height:1.65}.section.invert{border-top:0}.latency__grid{align-items:start;row-gap:var(--s-8)}@media(min-width:48em){.latency__figure{position:sticky;top:calc(var(--sticky-top) + var(--s-8))}}.diagram--path{min-height:18rem}.diagram--path>svg{max-width:34rem}.latency__points{margin:0;padding:0;list-style:none}.latency__point{padding-block:var(--s-4) var(--s-6);border-top:var(--rule) solid var(--hairline)}.latency__point:first-child{border-top:1.5px solid var(--rule-color)}.latency__point-title{font-size:1.125rem;line-height:1.3;letter-spacing:-.01em;margin-bottom:var(--s-2)}.latency__point p{max-width:46ch}.latency__detail{margin-top:var(--s-12)}.latency__detail .table-wrap{margin-top:var(--s-4)}.placeholder--strip{display:block;text-align:left;padding:var(--s-3) var(--s-4);max-width:none}.table-wrap{margin-top:var(--s-16)}.spec-table{width:100%;border-collapse:collapse}.spec-table caption{caption-side:top;text-align:left;padding-bottom:var(--s-4)}.spec-table th,.spec-table td{text-align:left;vertical-align:top;padding:var(--s-4) var(--s-6) var(--s-4) 0}.spec-table thead th{padding-block:var(--s-3);border-block:1.5px solid currentColor;font-family:var(--font-mono);font-size:var(--fs-label);font-weight:400;letter-spacing:var(--ls-label);text-transform:uppercase}.spec-table tbody th,.spec-table td{border-bottom:var(--rule) solid var(--hairline)}.spec-table tbody tr:last-child>*{border-bottom:1.5px solid currentColor}.spec-table tbody th{font-weight:600;width:22%}.spec-table td:nth-of-type(1){width:40%}.spec-table td:nth-of-type(2){font-family:var(--font-mono);font-size:.875rem;line-height:1.6;padding-top:calc(var(--s-4) + .15em)}.spec-table td:last-child{padding-right:0}@media(max-width:47.99em){.spec-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.spec-table caption{display:block;border-bottom:1.5px solid currentColor;padding-bottom:var(--s-3)}.spec-table,.spec-table tbody,.spec-table tr{display:block;width:100%}.spec-table tr{padding-block:var(--s-4);border-bottom:var(--rule) solid var(--hairline)}.spec-table tbody tr:last-child{border-bottom:1.5px solid currentColor}.spec-table tbody th,.spec-table td{display:block;width:auto!important;padding:0;border:0!important}.spec-table td{margin-top:var(--s-3)}.spec-table td:before{content:attr(data-label);display:block;margin-bottom:var(--s-1);font-family:var(--font-mono);font-size:var(--fs-label);letter-spacing:var(--ls-label);text-transform:uppercase;color:var(--fg-muted)}}.kits{margin:0;padding:0;row-gap:var(--s-12)}.kit-plate{display:flex;flex-direction:column;height:100%}.kit-plate__label{padding-block:var(--s-3);border-top:1.5px solid var(--rule-color)}.kit-plate__art{width:100%;height:auto;aspect-ratio:1;border:1.5px solid var(--rule-color)}.kit-plate__line{margin-top:var(--s-4);flex:1}.kit-plate .figcap{margin-top:var(--s-6)}.kits__more{margin-top:var(--s-16);align-items:start;row-gap:var(--s-16)}.kits__switch{padding-top:var(--s-4);border-top:var(--rule) solid var(--rule-color)}.kits__switch .note{color:var(--fg);line-height:2}.kits__switch kbd{margin-inline:.15em}@media(min-width:48em){.kits__more{margin-top:var(--s-24)}}.kits__effects{padding-top:var(--s-4);border-top:var(--rule) solid var(--rule-color)}.kits__effects h3{margin-bottom:var(--s-3)}.sounds__title{padding-bottom:var(--s-3);margin-bottom:var(--s-4);border-bottom:1.5px solid var(--rule-color)}.sounds__body{max-width:none;font-family:var(--font-display);font-size:clamp(1.75rem,.2rem + 6.2vw,5.75rem);font-weight:800;line-height:1.05;letter-spacing:-.04em;text-wrap:balance}.sounds__coda{display:table;margin-top:.12em;padding:.04em .12em .1em;background:var(--fg);color:var(--bg)}.get__grid{align-items:start;row-gap:var(--s-12)}@media(min-width:48em){.get__grid{row-gap:var(--s-16)}.get__form{position:sticky;top:calc(var(--sticky-top) + var(--s-8))}}.deflist{margin:0;border-bottom:var(--rule) solid var(--rule-color)}.deflist__row{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--s-2);padding-block:var(--s-4);border-top:var(--rule) solid var(--rule-color)}@media(min-width:48em){.deflist__row{grid-template-columns:7.5rem minmax(0,1fr);gap:var(--s-4);padding-block:var(--s-6)}.deflist__row dt{padding-top:.6em}}@media(min-width:48em)and (max-width:63.99em){.deflist__row{grid-template-columns:minmax(0,1fr);gap:var(--s-2)}.deflist__row dt{padding-top:0}}.deflist dd{margin:0;display:flex;flex-direction:column;align-items:flex-start;gap:var(--s-2)}.deflist__value,.deflist__price{font-family:var(--font-display);font-weight:800;letter-spacing:-.02em}.deflist__value{font-size:var(--fs-h3);line-height:1.15}.deflist__price{font-size:clamp(2.25rem,1rem + 4.2vw,4.75rem);line-height:1;letter-spacing:-.04em;text-wrap:balance}.deflist__price[data-price=tbd]{font-family:var(--font-mono);font-weight:400;font-size:var(--fs-body);line-height:1.4;letter-spacing:0;color:var(--fg-muted);max-width:24ch}.req{margin-top:var(--s-8)}.req__title{font-size:1.125rem;line-height:1.3;letter-spacing:-.01em;margin-bottom:var(--s-3)}.req__list{margin:0;padding:0}.req__list li{display:grid;grid-template-columns:.4375rem minmax(0,1fr);column-gap:var(--s-3);padding-block:var(--s-3);border-top:var(--rule) solid var(--hairline)}.req__list li:before{content:"";width:.4375rem;height:.4375rem;margin-top:.62em;background:var(--fg)}.req__list li:last-child{border-bottom:var(--rule) solid var(--hairline)}.get__tbc{margin-top:var(--s-6);place-items:start}.get__tbc-title{max-width:none}.get__tbc-list{margin:var(--s-2) 0 0;padding:0;display:flex;flex-direction:column;align-items:flex-start;gap:var(--s-1)}.notify{display:flex;flex-direction:column;gap:var(--s-6);padding:var(--s-6) var(--s-4);border:1.5px solid var(--rule-color);background:var(--bg-raised)}@media(min-width:48em){.notify{padding:var(--s-8) var(--s-6)}}.notify__title{font-size:clamp(1.75rem,1rem + 1.8vw,2.5rem);line-height:1.1;letter-spacing:-.03em}.notify__title:focus{outline:none}.field{display:flex;flex-direction:column;gap:var(--s-2)}.field__input{width:100%;min-height:52px;padding:0 var(--s-4);border:1.5px solid var(--rule-color);border-radius:0;background:var(--field-bg);color:var(--fg);font-size:1.125rem;-webkit-appearance:none;appearance:none;transition:box-shadow var(--step-fast) var(--ease-hard),border-color var(--step-fast) var(--ease-hard)}.field__input::placeholder{color:var(--fg-muted);opacity:1}.field__input:focus-visible{outline-offset:0}.field__input[aria-invalid=true]{border-color:var(--accent-edge);box-shadow:inset 0 0 0 1.5px var(--accent)}.field__input:-webkit-autofill,.field__input:autofill{-webkit-text-fill-color:var(--fg);caret-color:var(--fg);box-shadow:inset 0 0 0 100vmax var(--field-bg);transition:background-color 600000s 0s}.field__input[aria-invalid=true]:-webkit-autofill,.field__input[aria-invalid=true]:autofill{box-shadow:inset 0 0 0 1.5px var(--accent),inset 0 0 0 100vmax var(--field-bg)}.field__help{font-size:var(--fs-small)}.field__error:empty{display:none}.field__error,.notify__outcome--error{display:grid;grid-template-columns:.625rem minmax(0,1fr);column-gap:var(--s-2);align-items:baseline;font-family:var(--font-mono);font-size:.875rem;font-weight:500;line-height:1.5;letter-spacing:0;color:var(--fg)}.field__error:before,.notify__outcome--error:before{content:"";width:.625rem;height:.625rem;background:var(--accent);border:1.5px solid var(--accent-edge)}.notify__submit[aria-disabled=true]{cursor:not-allowed}.notify__submit[aria-disabled=true]:active{transform:none}.notify__submit[aria-busy=true]{background:var(--fg);border-color:var(--fg);color:var(--bg);cursor:progress}.notify__success:empty{display:none}.notify__success,.notify__outcome--ok{padding:var(--s-4);background:var(--fg);color:var(--bg)}.notify__outcome:not(:target),.notify[data-sent] .notify__outcome{display:none}.notify__outcome:focus{outline:none}.notify__trap{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.notify__privacy{max-width:none;padding-top:var(--s-4);padding-right:max(0px,100% - 65ch);border-top:var(--rule) solid var(--hairline)}.notify-bar{display:none}@media(max-width:47.99em){html.js .notify-bar{display:block;position:fixed;inset:auto 0 0;z-index:45;padding:var(--s-2) calc(var(--margin) + env(safe-area-inset-right,0px)) calc(var(--s-2) + env(safe-area-inset-bottom,0px)) calc(var(--margin) + env(safe-area-inset-left,0px));border-top:1.5px solid var(--rule-color);background:var(--bg);transform:translateY(100%);visibility:hidden;transition:transform var(--step) var(--ease-hard),visibility 0s linear var(--step)}html.js .notify-bar[data-shown]{transform:none;visibility:visible;transition:transform var(--step) var(--ease-hard),visibility 0s}html[data-notify-bar-shown] body{padding-bottom:calc(var(--notify-bar-h) + env(safe-area-inset-bottom,0px))}}.notify-bar__btn{min-height:48px}.who{margin-top:var(--s-16);align-items:end;row-gap:var(--s-8)}@media(min-width:48em){.who{margin-top:var(--s-24)}}.who__text{padding-top:var(--s-4);border-top:var(--rule) solid var(--rule-color)}.who__text h3{margin-bottom:var(--s-3)}.who__figure{max-width:24rem}.who__photo{border:1.5px solid var(--rule-color);background:var(--bg)}.who__shot{width:100%;height:auto}.footer{padding-block:var(--s-16) var(--s-12);border-top:var(--rule) solid var(--rule-color)}@media(min-width:48em){.footer{padding-block:var(--s-24) var(--s-12)}}.footer__head{display:flex;flex-direction:column;gap:var(--s-12)}@media(min-width:48em){.footer__head{flex-direction:row;justify-content:space-between;align-items:flex-end;gap:var(--s-12)}}.footer__sign{display:flex;flex-direction:column;gap:var(--s-2)}.footer__sign p{margin:0}.footer__links{display:flex;flex-wrap:wrap;gap:0 var(--s-6);margin:0;padding:0;list-style:none}.footer__link{display:inline-flex;align-items:center;gap:var(--s-2);min-height:2rem;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:4px;transition:background-color var(--step-fast) var(--ease-hard),color var(--step-fast) var(--ease-hard)}@media(hover:hover){.footer__link:hover{background:var(--fg);color:var(--bg)}}.footer__icon{width:1rem;height:1rem;flex-shrink:0}.footer__lockup{color:var(--fg)}.footer__lockup .lockup{width:100%;height:auto}.footer__lockup--wide{display:none}.footer__tagline{margin-top:var(--s-3);padding-left:calc(100% * 173 / 806);color:var(--accent-text);max-width:none}@media(min-width:48em){.footer__lockup{width:min(100%,36rem);flex-shrink:1}.footer__lockup--wide{display:block}.footer__lockup--narrow,.footer__tagline{display:none}}.footer__base{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--s-4);margin-top:var(--s-16);padding-top:var(--s-4);border-top:var(--rule) solid var(--rule-color)}@media(min-width:48em){.footer__base{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:var(--s-8)}}.footer__tm{font-size:.8125rem;line-height:1.55;color:var(--fg-muted);max-width:72ch}.footer__top{display:inline-flex;align-items:center;gap:.5rem;min-height:44px;padding:0 .75rem;border:1.5px solid var(--rule-color);text-decoration:none;justify-self:start;transition:background-color var(--step-fast) var(--ease-hard),color var(--step-fast) var(--ease-hard)}@media(hover:hover){.footer__top:hover{background:var(--fg);color:var(--bg)}}.placeholder__label{-webkit-box-decoration-break:clone;box-decoration-break:clone;line-height:1.9}.placeholder__label:has(.placeholder__note){font-family:var(--font-mono);font-size:var(--fs-label-lg)}.placeholder__note{font-family:var(--font-mono);font-size:var(--fs-label-lg);letter-spacing:.02em;text-transform:none}.dg{width:100%;height:auto;overflow:visible}.dg-label{font-family:var(--font-mono);font-weight:400;font-size:12px;letter-spacing:.18em;text-transform:uppercase;font-variant-numeric:tabular-nums}@media(max-width:40em){.phase-diagram .dg-label{font-size:14.5px}.path-diagram .dg-label{font-size:14.8px}}.mark--hero,.phase-diagram{--squiggle-len: 373}@keyframes bb-box{0%{opacity:0}50%{opacity:1;clip-path:inset(0 0 50% 0)}to{opacity:1;clip-path:none}}@keyframes bb-draw{0%{stroke-dashoffset:var(--squiggle-len)}to{stroke-dashoffset:0}}@keyframes bb-bar{0%{opacity:0;transform:translate(-6px)}1%{opacity:1;transform:translate(-6px)}50%{transform:translate(-3px)}to{opacity:1;transform:none}}@keyframes bb-bar-over{0%{opacity:0;transform:translate(-6px)}1%{opacity:1;transform:translate(-6px)}25%{transform:translate(-3px)}50%{transform:translate(3px)}65%{transform:translate(var(--overshoot, 7px))}to{opacity:1;transform:none}}@keyframes dg-on{0%{opacity:0}to{opacity:1}}@keyframes dg-off{0%{opacity:1}to{opacity:0}}html.js .mark--hero:not(.is-built) .mark__box{animation:bb-box .16s steps(1,jump-end) both}html.js .mark--hero:not(.is-built) .mark__squiggle{stroke-dasharray:var(--squiggle-len);animation:bb-draw .46s steps(20,jump-end) .14s both}html.js .mark--hero:not(.is-built) .mark__bar{animation:bb-bar .18s steps(1,jump-end) .56s both}html.js .mark--hero:not(.is-built) .mark__bar:nth-child(2){animation-delay:.63s}html.js .mark--hero:not(.is-built) .mark__bar:nth-child(3){animation-delay:.7s}html.js .mark--hero:not(.is-built) .mark__bar:nth-child(4){animation-delay:.77s}html.js :is(.mark--hero,.phase-diagram) .mark__bar:nth-child(5){--overshoot: 4px}html.js .mark--hero:not(.is-built) .mark__bar:nth-child(5){animation:bb-bar-over .24s steps(1,jump-end) .84s both}html.js .mark--hero:not(.is-built) .mark__bar:nth-child(6){animation:bb-bar-over .24s steps(1,jump-end) .91s both}html.js .phase-diagram.is-armed:not(.play-1) .pd-wave,html.js .phase-diagram.is-armed:not(.play-3) .mark__bar{opacity:0}html.js .phase-diagram.is-armed .mark__squiggle{stroke-dasharray:var(--squiggle-len);stroke-dashoffset:var(--squiggle-len)}html.js .phase-diagram.is-armed .pd-phase:not(.is-reached) .dg-label{fill:var(--fg-muted)}html.js .phase-diagram.is-armed .pd-phase:not(.is-reached) .pd-dim{stroke:var(--fg-muted)}.phase-diagram .pd-phase.is-active .pd-dim{stroke-width:3.5}.phase-diagram .pd-phase.is-active .dg-label{font-weight:500}html.js .phase-diagram.is-armed.play-1 .pd-wave{stroke-dasharray:100 100;animation:pd-wave .36s steps(12,jump-end) both}html.js .phase-diagram.is-armed.play-1 .mark__squiggle{stroke-dasharray:var(--squiggle-len);animation:pd-stem .12s steps(4,jump-end) .36s both}@keyframes pd-wave{0%{stroke-dashoffset:100}to{stroke-dashoffset:0}}@keyframes pd-stem{0%{stroke-dashoffset:calc(var(--squiggle-len) * 1px)}to{stroke-dashoffset:calc(var(--squiggle-len) * 1px - 42px)}}html.js .phase-diagram.is-armed.play-2 .mark__squiggle{stroke-dasharray:var(--squiggle-len);animation:pd-rest .52s steps(20,jump-end) both}html.js .phase-diagram.is-armed.play-2 .pd-pulse{animation:pd-bead .52s steps(20,jump-end) both,dg-off .52s steps(1,jump-end) both}@keyframes pd-rest{0%{stroke-dashoffset:calc(var(--squiggle-len) * 1px - 42px)}to{stroke-dashoffset:0px}}@keyframes pd-bead{0%{stroke-dashoffset:-6.35}to{stroke-dashoffset:-95}}html.js .phase-diagram.is-armed.play-3 .mark__bar{animation:bb-bar .18s steps(1,jump-end) both}html.js .phase-diagram.is-armed.play-3 .mark__bar:nth-child(2){animation-delay:70ms}html.js .phase-diagram.is-armed.play-3 .mark__bar:nth-child(3){animation-delay:.14s}html.js .phase-diagram.is-armed.play-3 .mark__bar:nth-child(4){animation-delay:.21s}html.js .phase-diagram.is-armed.play-3 .mark__bar:nth-child(5){animation:bb-bar-over .24s steps(1,jump-end) .28s both}html.js .phase-diagram.is-armed.play-3 .mark__bar:nth-child(6){animation:bb-bar-over .24s steps(1,jump-end) .35s both}html.js .path-diagram.is-armed:not(.is-playing) :is(.pv-wave,.pv-flow){stroke-dasharray:100 100;stroke-dashoffset:100}html.js .path-diagram.is-armed:not(.is-playing) :is(.pv-pip,.pv-note,.pv-bar){opacity:0}html.js .path-diagram.is-armed.is-playing .pv-wave{stroke-dasharray:100 100;animation:pv-draw .3s steps(10,jump-end) both}html.js .path-diagram.is-armed.is-playing .pv-flow{stroke-dasharray:100 100;animation:pv-draw 1.2s steps(30,jump-end) .3s both}html.js .path-diagram.is-armed.is-playing :is(.pv-pip,.pv-note){animation:dg-on var(--d, 1ms) steps(1,jump-end) both}html.js .path-diagram.is-armed.is-playing .pv-bar{transform-box:fill-box;animation:pv-bar .18s steps(1,jump-end) var(--d, 1.5s) both}@keyframes pv-draw{0%{stroke-dashoffset:100}to{stroke-dashoffset:0}}@keyframes pv-bar{0%{opacity:0;transform:translateY(12px)}1%{opacity:1;transform:translateY(12px)}50%{transform:translateY(6px)}to{opacity:1;transform:none}}.dg-knock{stroke:var(--bg);stroke-width:6px;stroke-linejoin:round;paint-order:stroke fill}
