/*! tailwindcss v4.3.2 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--spacing:.25rem;--container-xl:36rem;--container-6xl:72rem;--text-base:1rem;--text-base--line-height: 1.5 ;--font-weight-semibold:600;--tracking-normal:0em;--radius-sm:2px;--ease-out:cubic-bezier(.16, 1, .3, 1);--ease-in-out:cubic-bezier(.65, 0, .35, 1);--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-bg:light-dark(#f3f0e8,#0c0f10);--color-surface:light-dark(#fbf9f4,#14181a);--color-raised:light-dark(#e9e5da,#1b2023);--color-hi:light-dark(#15191b,#ece9e2);--color-mid:light-dark(#4b5452,#a9afac);--color-dim:light-dark(#5c6461,#87908d);--color-line:light-dark(#d3cdbf,#2b3236);--color-line-strong:light-dark(#857e6d,#66727a);--color-accent:light-dark(#0b6a66,#4fb3a9);--color-accent-strong:light-dark(#084f4c,#7fd1c7);--color-on-accent:light-dark(#fbf9f4,#0c0f10);--color-amber:light-dark(#8a5a12,#d9a04a);--color-error:light-dark(#a3222f,#ff8a8a);--color-deep:#0f3d44;--color-deep-line:#2a5a61;--color-on-deep:#ece9e2;--color-on-deep-mid:#a7c3c3;--color-on-deep-link:#7fd1c7;--color-transparent:transparent;--color-current:currentColor;--font-display:"Archivo", "Archivo Fallback Arial", "Archivo Fallback Roboto", sans-serif;--font-sans:"Inter", "Inter Fallback Arial", "Inter Fallback Roboto", sans-serif;--font-mono:"IBM Plex Mono", "Plex Mono Fallback", ui-monospace, monospace;--ease-exit:cubic-bezier(.7, 0, .84, 0);--ease-draft:cubic-bezier(.16, .84, .24, 1)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}html{-webkit-text-size-adjust:100%;scroll-padding-top:calc(var(--header-h) + 16px)}body{background-color:var(--color-bg);color:var(--color-hi);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;font-size:clamp(1rem,.979rem + .093vw,1.0625rem);line-height:1.65}p{text-wrap:pretty}a{color:var(--color-accent);text-decoration:none}a:hover{color:var(--color-accent-strong)}::selection{background:light-dark(#0b6a6659,#4fb3a959)}@supports (color:color-mix(in lab,red,red)){::selection{background:color-mix(in oklab,var(--color-accent) 35%,transparent)}}::selection{color:var(--color-hi)}:focus-visible{outline:2px solid var(--color-accent-strong);outline-offset:3px}.on-deep :focus-visible{outline-color:var(--color-on-deep-link)}[data-tabular]{font-variant-numeric:tabular-nums}@media(prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}}@layer components{.skip-link{left:max(var(--page-margin),calc((100vw - var(--page-max)) / 2));z-index:var(--z-skip);border-radius:var(--radius-sm);background:var(--color-accent);color:var(--color-on-accent);transition:transform var(--dur-quick) var(--ease-out);padding:12px 16px;font-weight:600;position:fixed;top:8px;transform:translateY(-160%)}.skip-link:focus{color:var(--color-on-accent);transform:none}.btn{border-radius:var(--radius-sm);min-height:44px;transition:background-color var(--dur-quick) var(--ease-out),color var(--dur-quick) var(--ease-out),border-color var(--dur-quick) var(--ease-out);align-items:center;gap:8px;padding:0 18px;font-size:.9375rem;font-weight:600;line-height:1;display:inline-flex}.btn-primary{background:var(--color-accent);color:var(--color-on-accent)}.btn-primary:hover{background:var(--color-accent-strong);color:var(--color-on-accent)}.btn-outline{border:1px solid var(--color-line-strong);color:var(--color-hi)}.btn-outline:hover{border-color:var(--color-hi);color:var(--color-hi)}.btn .arrow{transition:transform var(--dur-quick) var(--ease-out)}.btn:hover .arrow{transform:translate(3px)}.theme-toggle{border:1px solid var(--color-line-strong);border-radius:var(--radius-sm);min-width:44px;min-height:44px;color:var(--color-mid);transition:color var(--dur-quick) var(--ease-out),border-color var(--dur-quick) var(--ease-out);justify-content:center;align-items:center;gap:8px}.theme-toggle:hover{color:var(--color-hi);border-color:var(--color-hi)}.theme-toggle-wide{padding:0 14px}.theme-icon-sun{display:none}:root[data-theme=light] .theme-icon-sun{display:block}:root[data-theme=light] .theme-icon-moon{display:none}.link-draw{transition:background-size var(--dur-quick) var(--ease-out);background-image:linear-gradient(currentColor,currentColor);background-position:0 100%;background-repeat:no-repeat;background-size:0% 1px}.link-draw:hover,.link-draw[aria-current=page]{background-size:100% 1px}.dot{border-radius:9999px;flex:none;width:8px;height:8px;display:inline-block}.dot-live{background:var(--color-accent)}.dot-dev{background:var(--color-amber)}.dot-private{border:1px solid var(--color-dim)}.dot-delivered{border:1px solid var(--color-mid)}.dot-experiment{border:1px dashed var(--color-dim)}.nav-sheet{inset:var(--header-h) 0 auto 0;z-index:var(--z-sheet);background:var(--color-bg);border-bottom:1px solid var(--color-line);box-shadow:var(--shadow-sheet);position:fixed}.motion-ok .nav-sheet{animation:sheet-in var(--dur-base) var(--ease-out)}@keyframes sheet-in{0%{opacity:0;transform:translateY(-12px)}}.fig{min-width:0;margin:0}.fig-caption{align-items:baseline;gap:8px 24px;padding-top:16px;display:grid}@media(min-width:48rem){.fig-caption{grid-template-columns:auto minmax(0,1fr)}}.sch-svg{width:100%;height:auto;display:block;overflow:visible}.sch-scroll{overflow-x:auto}.sch-graph .sch-svg{min-width:720px}.sch-shape{fill:var(--color-bg);stroke:var(--color-line-strong);stroke-width:1px;transition:stroke var(--dur-quick) var(--ease-out)}.sch-node[data-variant=dashed] .sch-shape,.sch-node[data-variant=target] .sch-shape{stroke-dasharray:4 3}.sch-node[data-variant=bracket] .sch-shape{fill:none}.sch-gate{fill:none;stroke:var(--color-line-strong);stroke-width:3px}.sch-line{fill:none;stroke:var(--color-line-strong);stroke-width:1px;transition:stroke var(--dur-quick) var(--ease-out)}.sch-line.is-dashed{stroke-dasharray:4 3}.sch-cross{fill:none;stroke:var(--color-line-strong);stroke-width:1.5px}.sch-text,.sch-edge-label{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;transition:fill var(--dur-quick) var(--ease-out);font-weight:500}.sch-text{fill:var(--color-hi);font-size:12px}.sch-text.is-sub,.sch-edge-label{fill:var(--color-dim);font-size:11px}.sch-graph[data-highlight] .sch-shape,.sch-graph[data-highlight] .sch-line{stroke:var(--color-line)}.sch-graph[data-highlight] .sch-text{fill:var(--color-dim)}.sch-graph .sch-node[data-hi] .sch-shape{stroke:var(--color-accent);stroke-width:2px}.sch-graph .sch-node[data-hi] .sch-text:not(.is-sub){fill:var(--color-accent)}.sch-graph .sch-edge[data-hi] .sch-line{stroke:var(--color-accent)}.sch-legend{grid-template-columns:repeat(auto-fit,minmax(13rem,1fr));gap:16px 24px;margin:24px 0 0;padding:0;list-style:none;display:grid}.sch-legend-item{border-top:1px solid var(--color-line);transition:border-color var(--dur-quick) var(--ease-out);align-content:start;display:grid}.sch-legend-title{min-height:44px;color:var(--color-hi);text-align:left;align-items:center;display:inline-flex}button.sch-legend-title{cursor:pointer}.sch-legend-caption{color:var(--color-mid)}.sch-legend-item[data-active]{border-color:var(--color-accent)}.sch-legend-item[data-active] .sch-legend-title{color:var(--color-accent)}.sch-rows{margin:0;padding:0;list-style:none}.sch-row{border-top:1px solid var(--color-line);grid-template-columns:2.5rem minmax(0,1fr);column-gap:16px;padding:16px 0;display:grid}.sch-row-n{color:var(--color-dim);transition:color var(--dur-quick) var(--ease-out);padding-top:12px}.sch-row-title{min-height:44px;font-family:var(--font-display);letter-spacing:-.025em;color:var(--color-hi);text-align:left;text-wrap:balance;justify-content:space-between;align-items:center;gap:12px;font-size:1.375rem;font-weight:650;font-stretch:115%;line-height:1.15;display:flex}button.sch-row-title{cursor:pointer;width:100%}button.sch-row-title[aria-expanded]:after{content:"+";font-family:var(--font-mono);color:var(--color-dim);font-weight:500}button.sch-row-title[aria-expanded=true]:after{content:"−"}.sch-chips{flex-wrap:wrap;grid-column:2;gap:8px;margin:8px 0 0;padding:0;list-style:none;display:flex}.sch-chip{border:1px solid var(--color-line-strong);background:var(--color-bg);color:var(--color-hi);white-space:nowrap;transition:border-color var(--dur-quick) var(--ease-out),color var(--dur-quick) var(--ease-out);padding:6px 10px}.sch-row-caption{color:var(--color-mid);grid-column:2;margin:12px 0 0}.sch-row[data-active] .sch-row-n,.sch-row[data-active] .sch-chip{color:var(--color-accent)}.sch-row[data-active] .sch-chip{border-color:var(--color-accent)}@media(min-width:48rem){.sch-row{border-top:0;grid-template-columns:56px minmax(0,1.1fr) minmax(0,2.2fr) minmax(0,1.3fr);align-items:stretch;column-gap:24px;padding:0}.sch-row-n{padding:22px 0}.sch-row-title{align-items:flex-start;padding:18px 0}.sch-chips{grid-column:auto;align-content:center;margin:0;padding:16px 0 16px 28px;position:relative}.sch-chips:before{content:"";border-left:1px solid var(--color-line-strong);position:absolute;top:0;bottom:0;left:0}.sch-row:first-child .sch-chips:before{top:50%}.sch-row:last-child .sch-chips:before{bottom:50%}.sch-chips:after{content:"";border-top:1px solid var(--color-line-strong);width:28px;transition:border-color var(--dur-quick) var(--ease-out);position:absolute;top:50%;left:0}.sch-row[data-active] .sch-chips:after{border-color:var(--color-accent)}.sch-row-caption{border-top:1px solid var(--color-line);grid-column:auto;margin:0;padding:18px 0}}.sch-minimap{width:100%;max-width:252px}.sch-mm-head{border-top:1px solid var(--color-line-strong);color:var(--color-dim);justify-content:space-between;gap:12px;margin:0 0 18px;padding-top:10px;display:flex}.sch-mm-count{color:var(--color-mid)}.sch-mm-svg .sch-shape,.sch-mm-svg .sch-line,.sch-mm-svg .sch-cross,.sch-mm-svg .sch-gate{stroke:var(--color-dim)}.sch-mm-svg [data-state=current] .sch-shape,.sch-mm-svg [data-state=current] .sch-line,.sch-mm-svg [data-state=current] .sch-cross,.sch-mm-svg [data-state=current] .sch-gate{stroke:var(--color-accent)}.sch-mm-svg>g{transition:opacity var(--dur-base) var(--ease-out)}.motion-ok .sch-mm-svg [data-state=future]{opacity:0}.sch-mm-list{border-top:1px solid var(--color-line);margin:22px 0 0;padding:0;list-style:none}.sch-mm-list>li{border-bottom:1px solid var(--color-line)}.sch-mm-link{min-height:28px;font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--color-dim);align-items:center;gap:12px;padding:4px 0;font-size:.75rem;font-weight:500;display:flex}.sch-mm-link[data-state=past]{color:var(--color-mid)}.sch-mm-link[aria-current],.sch-mm-link:hover{color:var(--color-accent)}.sch-mm-mark{width:6px;height:6px}.sch-mm-link[aria-current] .sch-mm-mark{background:var(--color-accent)}@media(pointer:coarse){.sch-mm-link{min-height:44px}}.trace{flex-wrap:wrap;gap:20px;display:flex}.trace-list-wrap{flex:280px;min-width:0;position:relative}.trace-rail{border-left:1px solid var(--color-line);position:absolute;top:22px;bottom:22px;left:11px}.trace-rail.is-progress{border-color:var(--color-accent);transition:height .38s var(--ease-out);bottom:auto}.trace-rail.is-full{height:calc(100% - 44px)}.trace-list{margin:0;padding:0;list-style:none;display:grid;position:relative}.trace-step{width:100%;min-height:44px;color:var(--color-hi);text-align:left;grid-template-columns:24px 76px minmax(0,1fr);align-items:center;column-gap:10px;padding:4px 0;display:grid}button.trace-step{cursor:pointer}.trace-stage[data-state=next] .trace-step{color:var(--color-dim)}.trace-dot{background:var(--color-bg);border:1px solid var(--color-line-strong);border-radius:9999px;justify-self:center;width:9px;height:9px;transition:background-color .24s,box-shadow .24s}.trace-stage[data-state=done] .trace-dot{background:var(--color-line-strong)}.trace-stage[data-state=current] .trace-dot{background:var(--color-accent);border-color:var(--color-accent);box-shadow:0 0 0 4px light-dark(#0b6a6647,#4fb3a947)}@supports (color:color-mix(in lab,red,red)){.trace-stage[data-state=current] .trace-dot{box-shadow:0 0 0 4px color-mix(in oklch,var(--color-accent) 28%,transparent)}}.trace-layer{font-family:var(--font-mono);letter-spacing:.06em;color:var(--color-dim);font-size:.6875rem;font-weight:500}.trace-stage[data-state=current] .trace-layer{color:var(--color-accent)}.trace-label{text-wrap:pretty;font-size:.875rem;line-height:1.4}.trace-console{background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius-sm);flex:260px;grid-template-rows:auto minmax(0,1fr) auto auto;min-width:0;height:21rem;display:grid}.trace-head{border-bottom:1px solid var(--color-line);color:var(--color-dim);justify-content:space-between;gap:12px;margin:0;padding:12px 14px;display:flex}.trace-code{min-height:0;padding:14px;overflow:auto}.trace-code-tag{color:var(--color-dim);margin:0 0 4px}.trace-pre+.trace-code-tag{margin-top:14px}.trace-pre{font-family:var(--font-mono);color:var(--color-accent-strong);white-space:pre-wrap;word-break:break-word;margin:0;font-size:.75rem;font-weight:500;line-height:1.75}.trace-pre.has-caret:after{content:"";vertical-align:-2px;background:var(--color-accent);width:7px;height:13px;display:inline-block}.motion-ok .trace-pre.has-caret:after{animation:1.04s step-end infinite trace-caret}@keyframes trace-caret{50%{opacity:0}}.trace-readouts{border-top:1px solid var(--color-line);grid-template-columns:repeat(2,minmax(0,1fr));margin:0;display:grid}.trace-readout{gap:2px;padding:10px 14px;display:grid}.trace-readout+.trace-readout{border-left:1px solid var(--color-line)}.trace-readout dt{color:var(--color-dim)}.trace-readout dd{font-family:var(--font-display);letter-spacing:-.02em;font-variant-numeric:tabular-nums;color:var(--color-hi);margin:0;font-size:1.375rem;font-weight:700;font-stretch:115%;line-height:1.1;transition:color .24s}.trace-readout[data-hot=on] dd{color:var(--color-accent)}.trace-readout[data-hot=warn] dd{color:var(--color-amber)}.trace-controls{border-top:1px solid var(--color-line);flex-wrap:wrap;gap:8px;padding:8px;display:flex}body[data-page=home] main{overflow-x:clip}.home{display:grid}.home-flow{min-width:0}.home-rail{display:none}@media(min-width:64rem){.home{column-gap:var(--gutter);grid-template-columns:minmax(0,9fr) minmax(0,3fr)}.home-rail{justify-self:end;width:100%;max-width:252px;padding-top:64px;display:block}.home-rail-sticky{top:calc(var(--header-h) + 32px);position:sticky}}.home-progress{background:var(--color-accent);transform-origin:0;height:2px;position:absolute;bottom:-1px;left:0;right:0;transform:scaleX(0)}@supports (animation-timeline:scroll()){.motion-ok .home-progress{animation:linear both home-progress;animation-timeline:scroll(root)}}@keyframes home-progress{to{transform:scaleX(1)}}.ch{grid-template-columns:minmax(0,1fr);row-gap:24px;padding-bottom:72px;display:grid}.ch-meta{border-top:1px solid var(--color-line-strong);align-items:flex-start;gap:14px;padding-top:12px;display:flex}.ch-glyph{border:1px solid var(--color-line);flex:none;width:48px;height:48px;padding:5px}.ch-glyph .sch-glyph{width:100%;height:100%}.sch-glyph .sch-shape{fill:none;stroke:var(--color-dim);stroke-width:6px}.sch-glyph .sch-line{stroke:var(--color-dim);stroke-width:4px}.sch-glyph .is-current .sch-shape,.sch-glyph .sch-line.is-current{stroke:var(--color-accent)}.ch-wide{margin-top:32px}@media(min-width:64rem){.ch{column-gap:var(--gutter);grid-template-columns:repeat(9,minmax(0,1fr));row-gap:0;padding-bottom:120px}.ch-meta{grid-area:1/1/auto/4}.ch-main{grid-column:4/10}.ch-wide{grid-column:1/10;margin-top:88px}.ch>h2.ch-main{border-top:1px solid var(--color-line);padding-top:14px}}.link-arrow{align-items:center;gap:6px;width:fit-content;min-height:44px;font-weight:600;display:inline-flex}.link-arrow .arrow{transition:transform var(--dur-quick) var(--ease-out)}.link-arrow:hover .arrow{transform:translate(3px)}.system-title{font-family:var(--font-display);letter-spacing:-.025em;text-wrap:balance;margin:0;font-size:1.5rem;font-weight:650;font-stretch:115%;line-height:1.15}.ch-thesis{padding-top:24px}.hero-title{margin:8px 0 0}.hero-word{white-space:nowrap;display:inline-block}.hero-l{display:inline-block}.hero-body{gap:24px;display:grid}.hero-actions{gap:10px;display:grid}.hero-btn{justify-content:center;min-height:52px;font-size:1rem}@media(min-width:40rem){.hero-actions{gap:16px;display:flex}}@media(min-width:64rem){.ch-thesis{padding-top:64px}.ch-rule{border-top:1px solid var(--color-line);grid-area:1/4/auto/10}.hero-title{grid-row:2;margin-top:56px}.hero-body{grid-row:3;gap:28px;margin-top:48px}}.proof-grid{column-gap:24px;display:grid}.proof{border-top:1px solid var(--color-line);align-content:start;gap:10px;padding:14px 0 28px;display:grid}.proof-title{font-family:var(--font-display);letter-spacing:-.025em;text-wrap:balance;margin:0;font-size:clamp(1.75rem,1.458rem + 1.296vw,2.5rem);font-weight:700;font-stretch:115%;line-height:1.02}.stat-strip{border-top:1px solid var(--color-line);color:var(--color-mid);flex-wrap:wrap;gap:4px 10px;margin:8px 0 0;padding-top:12px;display:flex}[data-count]{font-variant-numeric:tabular-nums}@media(min-width:40rem){.proof-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:64rem){.proof{gap:14px;padding-bottom:48px}.stat-strip{margin-top:56px;padding-top:14px;font-size:.8125rem}}.bom{z-index:2;background:var(--color-bg);box-shadow:0 0 0 100vmax var(--color-bg);clip-path:inset(0 -100vmax);margin-bottom:72px;position:relative}.bom:before,.bom:after{content:"";background:var(--color-line);height:1px;position:absolute;left:-100vmax;right:-100vmax}.bom:before{top:0}.bom:after{bottom:0}.bom-head{min-height:48px;color:var(--color-dim);border-bottom:1px solid var(--color-line);justify-content:space-between;align-items:center;gap:24px;display:flex}.bom-toggle{border:1px solid var(--color-line-strong);border-radius:var(--radius-sm);min-height:44px;color:var(--color-hi);cursor:pointer;padding:0 12px;display:none}.js.motion-ok .bom-toggle{align-items:center;display:inline-flex}.bom-track{padding:28px 0 24px}.bom-list{counter-reset:bom;flex-wrap:wrap;row-gap:16px;margin:0;padding:0;list-style:none;display:flex}.bom-part{counter-increment:bom;font-family:var(--font-display);letter-spacing:-.03em;white-space:nowrap;color:var(--color-hi);align-items:flex-start;gap:10px;padding-right:40px;font-size:clamp(1.625rem,1.25rem + 1.667vw,2.75rem);font-weight:750;font-stretch:120%;line-height:1;display:flex}.bom-part:nth-child(2n){color:var(--color-mid)}.bom-part:after{content:counter(bom,decimal-leading-zero);font-family:var(--font-mono);letter-spacing:.06em;color:var(--color-accent);padding-top:8px;font-size:.8125rem;font-weight:500}.bom-copy{display:none}.js.motion-ok .bom-track{will-change:transform;width:max-content;display:flex}.js.motion-ok .bom-list{flex-wrap:nowrap}.js.motion-ok .bom-copy{display:flex}.js.motion-ok .bom-part{padding-right:56px;font-size:clamp(2.25rem,1.25rem + 4.444vw,6rem)}@media(min-width:64rem){.bom{margin-bottom:120px}.bom-track{padding:36px 0 32px}}.system{border-top:1px solid var(--color-line);gap:24px;padding-top:24px;display:grid}.system-text{order:-1;align-content:start;gap:14px;display:grid}.system-fig{min-width:0}.delivered{gap:12px;display:grid}.note-card{background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius-sm);color:var(--color-hi);transition:box-shadow var(--dur-quick) var(--ease-out);gap:12px;padding:24px;display:grid}.note-card:hover{color:var(--color-hi)}@media(min-width:48rem){.delivered{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}}@media(min-width:64rem){.system{column-gap:var(--gutter);grid-template-columns:repeat(9,minmax(0,1fr));align-items:start;margin-top:72px;padding-top:32px}.ch-wide.system:first-of-type{margin-top:88px}.system-fig{grid-area:1/1/auto/7}.system-text{order:0;grid-area:1/7/auto/10}.system.is-flipped .system-text{grid-column:1/4}.system.is-flipped .system-fig{grid-column:4/10}.system.is-wide .system-fig{grid-column:1/10}.system.is-wide .system-text{grid-area:2/4/auto/10;margin-top:32px}.delivered{margin-top:72px}}.record{border-top:1px solid var(--color-line);gap:20px;padding:28px 0 40px;display:grid}.record-head{align-content:start;gap:10px;display:grid}.record-body{gap:24px;margin:0;display:grid}.record-body dd{text-wrap:pretty;margin:6px 0 0}.strike{background:linear-gradient(var(--color-line-strong),var(--color-line-strong)) 0 58% / 100% 1px no-repeat;-webkit-box-decoration-break:clone;box-decoration-break:clone}.motion-ok .record[data-rv-state=armed] .strike{background-size:0% 1px}.record[data-rv-state=played] .strike{transition:background-size .9s var(--ease-draft) .5s}@media(min-width:40rem){.record-body{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:24px}}@media(min-width:64rem){.record{column-gap:var(--gutter);grid-template-columns:repeat(9,minmax(0,1fr));padding-bottom:56px}.record-head{grid-column:1/4}.record-body{grid-column:4/10;row-gap:28px}}.products{border-bottom:1px solid var(--color-line);margin-bottom:0;padding:0;list-style:none}.product-row{border-top:1px solid var(--color-line);color:var(--color-hi);background:linear-gradient(var(--color-surface),var(--color-surface)) 0 0 / 0% 100% no-repeat;transition:background-size .6s var(--ease-draft),box-shadow .3s var(--ease-out);gap:8px 24px;padding:20px 0;display:grid}.product-row:hover{color:var(--color-hi);background-size:100% 100%}.product-name{font-family:var(--font-display);letter-spacing:-.03em;font-size:clamp(1.625rem,1.458rem + .741vw,2.125rem);font-weight:750;font-stretch:120%;line-height:1}.product-meta{flex-wrap:wrap;align-items:center;gap:8px 14px;display:flex}.product-tag{border:1px solid var(--color-line-strong);color:var(--color-mid);padding:1px 6px}.product-stack{justify-content:space-between;gap:12px;line-height:1.7;display:flex}@media(min-width:64rem){.product-row{grid-template-columns:repeat(9,minmax(0,1fr));align-items:start;row-gap:12px;padding:28px 0}.product-name{grid-area:1/1/auto/4}.product-meta{grid-area:2/1/auto/4}.product-line{grid-area:1/4/span 2/8}.product-stack{grid-area:1/8/span 2/10}}.ch-deep{z-index:2;background:var(--color-deep);box-shadow:0 0 0 100vmax var(--color-deep);clip-path:inset(0 -100vmax);color:var(--color-on-deep);margin-bottom:72px;padding-top:72px;position:relative}.ch-deep .ch-meta,.ch-deep .ch-glyph{border-color:var(--color-deep-line)}.ch-deep>.ch-main{border-top:1px solid var(--color-deep-line);padding-top:14px}.ch-deep .sch-glyph .sch-shape,.ch-deep .sch-glyph .sch-line{stroke:var(--color-on-deep-mid)}.ch-deep .sch-glyph .is-current .sch-shape,.ch-deep .sch-glyph .sch-line.is-current{stroke:var(--color-on-deep-link)}.ai-word{display:inline}@supports (animation-timeline:view()){.motion-ok .ai-head .ai-word{animation:linear both ai-word;animation-timeline:--ai;animation-range:cover calc(18% + var(--i) * 2.6%) cover calc(24% + var(--i) * 2.6%)}.ai-head{view-timeline-name:--ai}}@keyframes ai-word{0%{color:#6e9a9e}to{color:var(--color-on-deep)}}@media(min-width:64rem){.ch-deep{margin-bottom:120px;padding-top:120px;padding-bottom:120px}}.steps{gap:32px;margin-bottom:0;padding:0;list-style:none;display:grid}.step{align-content:start;gap:16px;display:grid}.step-head{align-items:center;display:flex}.step-tag{border:1px solid var(--color-line-strong);white-space:nowrap;padding:7px 12px}.step-line{border-top:1px solid var(--color-line-strong);flex:1}.step-line.is-dashed{border-top-style:dashed}.models{gap:24px;display:grid}.models-note,.model{border-top:1px solid var(--color-line);padding-top:14px}.model{align-content:start;gap:12px;display:grid}@media(min-width:40rem){.steps{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:24px}}@media(min-width:64rem){.steps{grid-template-columns:repeat(4,minmax(0,1fr))}.models{column-gap:var(--gutter);grid-template-columns:repeat(9,minmax(0,1fr));margin-top:96px}.models-note{grid-column:1/4}.model:first-of-type{grid-column:4/6}.model:nth-of-type(2){grid-column:6/8}.model:nth-of-type(3){grid-column:8/10}}.portrait{gap:10px;max-width:360px;margin:8px 0 0;display:grid;position:relative}.portrait img{aspect-ratio:4/5;background:var(--color-raised);width:100%;height:auto;display:block}.human-text{border-top:1px solid var(--color-line);align-content:start;gap:20px;padding-top:14px;display:grid}@media(min-width:64rem){.portrait{grid-area:1/4/auto/7;max-width:none;margin:0}.human-text{grid-area:1/7/auto/10}}.contact-grid{gap:24px;display:grid}.intents{gap:12px;margin:0;padding:0;list-style:none;display:grid}.intent{background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius-sm);min-height:72px;color:var(--color-hi);transition:box-shadow var(--dur-quick) var(--ease-out);align-items:center;gap:14px;padding:16px 20px;line-height:1.35;display:flex}.intent:hover,.intent:focus-visible{color:var(--color-hi)}.your-system{display:none}@media(min-width:40rem){.intents{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:64rem){.contact-grid{column-gap:var(--gutter);grid-template-columns:repeat(9,minmax(0,1fr));margin-top:72px}.intents{grid-column:1/7}.your-system{grid-column:7/10;align-items:stretch;display:flex}.your-system-link{border-top:1px dashed var(--color-line-strong);align-self:center;width:36px}.your-system-box{border:1px dashed var(--color-line-strong);flex-direction:column;flex:1;justify-content:space-between;gap:16px;padding:16px;transition:border-color .3s,background-color .3s;display:flex}.your-system[data-active] .your-system-link,.your-system[data-active] .your-system-box{border-style:solid;border-color:var(--color-accent)}.your-system[data-active] .your-system-box{background:var(--color-surface)}.your-system-name{min-height:2.3em;font-family:var(--font-display);letter-spacing:-.025em;text-align:center;text-wrap:balance;justify-content:center;align-items:center;font-size:1.5rem;font-weight:650;font-stretch:115%;line-height:1.15;display:flex}}.crosshair{display:none}@media(pointer:fine)and (min-width:64rem){.js.motion-ok .crosshair{z-index:var(--z-chat);pointer-events:none;display:block;position:fixed;top:0;right:0;bottom:0;left:0}}.crosshair>span{opacity:0;transition:opacity .3s;position:absolute;top:0;left:0}.crosshair[data-on]>span{opacity:1}.crosshair-x{background:light-dark(#0b6a664d,#4fb3a94d);width:1px;bottom:0}@supports (color:color-mix(in lab,red,red)){.crosshair-x{background:color-mix(in oklab,var(--color-accent) 30%,transparent)}}.crosshair-y{background:light-dark(#0b6a664d,#4fb3a94d);height:1px;right:0}@supports (color:color-mix(in lab,red,red)){.crosshair-y{background:color-mix(in oklab,var(--color-accent) 30%,transparent)}}.crosshair-label{background:var(--color-bg);border:1px solid var(--color-line);color:var(--color-mid);white-space:nowrap;padding:4px 7px;font-size:.6875rem}[data-rv-state=played]{transition:opacity .9s var(--ease-draft) var(--d,0s),transform 1.1s var(--ease-draft) var(--d,0s),clip-path 1.2s var(--ease-draft) var(--d,0s)}.motion-ok [data-rv-state=played]:is([data-rv=wipe],[data-rv=print],[data-rv=aperture],[data-rv=scan]),.motion-ok [data-rv=measure][data-rv-state=played]>*{clip-path:inset(-1em)}.motion-ok [data-rv-state=armed][data-rv=wipe]{clip-path:inset(-1em 100% -1em -1em)}.motion-ok [data-rv-state=armed][data-rv=draw]{transform-origin:0;transform:scaleX(0)}[data-rv=measure]{position:relative}.motion-ok [data-rv=measure][data-rv-state]:before{content:"";border:1px solid var(--color-accent);transform-origin:0;pointer-events:none;border-bottom:0;height:9px;position:absolute;top:-1px;left:0;right:0}.motion-ok [data-rv=measure][data-rv-state=armed]:before{transform:scaleX(0)}.motion-ok [data-rv=measure][data-rv-state=played]:before{animation:measure-line 1.5s var(--ease-draft) var(--d,0s) both}@keyframes measure-line{0%{transform:scaleX(0)}45%{opacity:1;transform:scaleX(1)}to{opacity:0;transform:scaleX(1)}}.motion-ok [data-rv=measure][data-rv-state=armed]>*{clip-path:inset(-1em 100% -1em -1em)}.motion-ok [data-rv=measure][data-rv-state=played]>*{transition:clip-path .7s var(--ease-draft) calc(var(--d,0s) + .22s)}.rv-w{display:inline-block}.motion-ok [data-rv=draft][data-rv-state=armed] .rv-w{font-variation-settings:"wdth" 62,"wght" var(--rv-wght)}.motion-ok [data-rv=draft][data-rv-state=played] .rv-w{font-variation-settings:"wdth" var(--rv-wdth),"wght" var(--rv-wght);transition:font-variation-settings 1.6s cubic-bezier(.65,0,.35,1) calc(var(--w) * .12s)}.motion-ok [data-rv=weigh][data-rv-state=armed] .rv-w{font-variation-settings:"wdth" var(--rv-wdth),"wght" 200}.motion-ok [data-rv=weigh][data-rv-state=played] .rv-w{font-variation-settings:"wdth" var(--rv-wdth),"wght" var(--rv-wght);transition:font-variation-settings 1.4s cubic-bezier(.65,0,.35,1) calc(var(--w) * .14s)}.motion-ok [data-rv=type][data-rv-state=armed] .rv-w{visibility:hidden}.motion-ok [data-rv=type][data-rv-state=played] .rv-w{transition:visibility 0s linear calc(.12s + var(--w) * .12s)}[data-rv=plot] .system-fig{position:relative}.motion-ok [data-rv=plot][data-rv-state] .system-fig:before{content:"";pointer-events:none;z-index:1;background:linear-gradient(var(--color-accent),var(--color-accent)) top left / 14px 1px,linear-gradient(var(--color-accent),var(--color-accent)) top left / 1px 14px,linear-gradient(var(--color-accent),var(--color-accent)) top right / 14px 1px,linear-gradient(var(--color-accent),var(--color-accent)) top right / 1px 14px,linear-gradient(var(--color-accent),var(--color-accent)) bottom left / 14px 1px,linear-gradient(var(--color-accent),var(--color-accent)) bottom left / 1px 14px,linear-gradient(var(--color-accent),var(--color-accent)) bottom right / 14px 1px,linear-gradient(var(--color-accent),var(--color-accent)) bottom right / 1px 14px;background-repeat:no-repeat;position:absolute;top:-10px;right:-10px;bottom:-10px;left:-10px}.motion-ok [data-rv=plot][data-rv-state=armed] .system-fig:before{opacity:0;top:40%;right:40%;bottom:40%;left:40%}.motion-ok [data-rv=plot][data-rv-state=played] .system-fig:before{animation:plot-marks 1.6s var(--ease-draft) both}@keyframes plot-marks{0%{opacity:0;top:40%;right:40%;bottom:40%;left:40%}30%{opacity:1;top:-10px;right:-10px;bottom:-10px;left:-10px}80%{opacity:1;top:-10px;right:-10px;bottom:-10px;left:-10px}to{opacity:0;top:-10px;right:-10px;bottom:-10px;left:-10px}}.motion-ok [data-rv=plot][data-rv-state=armed] .system-fig>*{opacity:0}.motion-ok [data-rv=plot][data-rv-state=played] .system-fig>*{transition:opacity .48s var(--ease-out) .38s}.motion-ok [data-rv=print][data-rv-state=armed]{clip-path:inset(-1em -1em 100%)}.motion-ok [data-rv=print][data-rv-state=played]{transition:clip-path 1.2s steps(12,end) var(--d,0s)}[data-rv=ledger] .product-row{position:relative}.motion-ok [data-rv=ledger][data-rv-state] .product-row:before{content:"";border-top:1px solid var(--color-accent);transform-origin:0;pointer-events:none;position:absolute;top:-1px;left:0;right:0}.motion-ok [data-rv=ledger][data-rv-state=armed] .product-row:before{transform:scaleX(0)}.motion-ok [data-rv=ledger][data-rv-state=played] .product-row:before{animation:measure-line 1.4s var(--ease-draft) var(--d,0s) both}.motion-ok [data-rv=ledger][data-rv-state=played] .dot{animation:dot-ping .9s var(--ease-out) calc(var(--d,0s) + .6s) both}@keyframes dot-ping{0%{box-shadow:0 0 color-mix(in oklab,currentColor 60%,transparent)}to{box-shadow:0 0 0 9px #0000}}.motion-ok [data-rv=aperture][data-rv-state=armed]{clip-path:inset(50% -1em)}.motion-ok [data-rv=aperture][data-rv-state=played]{transition:clip-path .9s var(--ease-draft)}.motion-ok [data-rv=route][data-rv-state=armed] .step-tag{border-color:var(--color-line);color:var(--color-dim)}.motion-ok [data-rv=route][data-rv-state=played] .step-tag{animation:route-light 1.4s var(--ease-out) calc(var(--d,0s) + .7s) both}@keyframes route-light{0%{border-color:var(--color-line);color:var(--color-dim)}35%{border-color:var(--color-accent);color:var(--color-accent)}to{border-color:var(--color-line-strong);color:var(--color-hi)}}.motion-ok [data-rv=develop][data-rv-state=armed] img{filter:grayscale()contrast(.25)brightness(1.5)}.motion-ok [data-rv=develop][data-rv-state=played] img{transition:filter 1.8s var(--ease-out)}.motion-ok [data-rv=ink][data-rv-state=armed] p{-webkit-text-fill-color:var(--color-dim)}.motion-ok [data-rv=ink][data-rv-state=played] p{transition:-webkit-text-fill-color 1.4s var(--ease-out) .5s}[data-rv=scan]{position:relative}.motion-ok [data-rv=scan][data-rv-state=armed]{clip-path:inset(-1em -1em 100%)}.motion-ok [data-rv=scan][data-rv-state=played]{transition:clip-path 1.1s var(--ease-out)}.motion-ok [data-rv=scan][data-rv-state]:after{content:"";pointer-events:none;opacity:0;background:linear-gradient(var(--color-accent),var(--color-accent)) top / 100% 2px no-repeat;position:absolute;top:0;right:0;bottom:0;left:0}.motion-ok [data-rv=scan][data-rv-state=played]:after{animation:scan-line 1.1s var(--ease-out) both}@keyframes scan-line{0%{opacity:1;transform:translateY(-2px)}85%{opacity:1}to{opacity:0;transform:translateY(calc(100% - 2px))}}.motion-ok [data-rv-state]:focus-within{opacity:1;clip-path:none;transition:none;transform:none}.motion-ok [data-rv=measure]:focus-within>*,.motion-ok [data-rv=plot]:focus-within .system-fig>*{opacity:1;clip-path:none;transition:none}.motion-ok [data-rv=ink]:focus-within p{-webkit-text-fill-color:currentColor;transition:none}.cs-head{flex-wrap:wrap;gap:32px 24px;padding-top:clamp(28px,4vw,72px);display:flex}.cs-intro{border-top:1px solid var(--color-line);flex:999 560px;align-content:start;gap:20px;padding-top:14px;display:grid}.cs-h1{font-family:var(--font-display);letter-spacing:-.03em;text-wrap:balance;margin:0;font-size:clamp(2.5rem,1.833rem + 2.963vw,4.5rem);font-weight:750;font-stretch:120%;line-height:.98}.cs-rail{border-top:1px solid var(--color-line-strong);flex:260px;align-content:start;gap:14px;max-width:310px;margin:0;padding-top:14px;display:grid}.cs-rail dt{color:var(--color-dim)}.cs-rail dd{color:var(--color-hi);text-transform:none;letter-spacing:.02em;margin:3px 0 0;line-height:1.6}.cs-layout{flex-wrap:wrap;gap:48px 24px;padding-top:clamp(48px,6vw,120px);display:flex}.cs-index{flex:260px;align-self:flex-start;max-width:310px}.cs-index-title{border-top:1px solid var(--color-line-strong);color:var(--color-dim);margin:0 0 10px;padding-top:14px}.cs-index-list{counter-reset:csi;flex-wrap:wrap;gap:0 16px;margin:0;padding:0;list-style:none;display:flex}.cs-index-list li{counter-increment:csi}.cs-index-list a{min-height:44px;color:var(--color-mid);align-items:center;gap:12px;display:flex}.cs-index-list a:before{content:counter(csi,decimal-leading-zero);color:var(--color-dim)}.cs-index-list a:hover{color:var(--color-accent)}.cs-main{counter-reset:cs;flex:999 560px;grid-template-columns:minmax(0,1fr);gap:clamp(64px,8vw,120px);min-width:0;display:grid}.cs-section{counter-increment:cs;min-width:0;scroll-margin-top:calc(var(--header-h) + 24px);grid-template-columns:minmax(0,1fr);gap:24px;display:grid}.cs-label{border-top:1px solid var(--color-line);color:var(--color-dim);margin:0;padding-top:14px}.cs-label:before{content:counter(cs,decimal-leading-zero) " · "}.cs-title{font-family:var(--font-display);letter-spacing:-.03em;text-wrap:balance;margin:0;font-size:clamp(1.875rem,1.417rem + 2.037vw,3.25rem);font-weight:750;font-stretch:120%;line-height:1}.cs-body{gap:20px;min-width:0;display:grid}.cs-body>p{max-width:62ch;color:var(--color-mid);text-wrap:pretty;margin:0}.cs-body a:not([class]){text-underline-offset:3px;text-decoration:underline}.cs-h3{font-family:var(--font-display);letter-spacing:-.02em;margin:0;font-size:1.25rem;font-weight:650;font-stretch:115%;line-height:1.2}.cs-summary{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:28px 24px;margin:0;display:grid}.cs-summary dt{font-family:var(--font-display);font-size:1.25rem;font-weight:650;font-stretch:115%}.cs-summary dd{color:var(--color-mid);text-wrap:pretty;margin:8px 0 0}.cs-figure{margin:8px 0}.cs-cards{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:24px;margin:0;padding:0;list-style:none;display:grid}.cs-card{border-top:1px solid var(--color-line);align-content:start;gap:8px;padding-top:12px;display:grid}.cs-chips{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.cs-anchor{scroll-margin-top:calc(var(--header-h) + 24px);gap:20px;display:grid}.decision{scroll-margin-top:calc(var(--header-h) + 24px);gap:16px;display:grid}.decision-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:24px;margin:0;display:grid}.decision-grid>div{border-top:1px solid var(--color-line);padding-top:12px}.decision-grid dd{text-wrap:pretty;margin:6px 0 0}.decision-strike{-webkit-text-decoration-color:var(--color-line-strong);text-decoration-color:var(--color-line-strong)}.decision+.decision{margin-top:24px}.metric-strip{border-block:1px solid var(--color-line);grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:24px;margin:0;padding:24px 0;display:grid}.metric{flex-direction:column;gap:6px;display:flex}.metric .metric-value{order:-1}.metric dd{margin:0}.metric-value{font-family:var(--font-mono);color:var(--color-hi);font-size:clamp(1.5rem,1.25rem + 1.111vw,2.25rem);font-weight:500;line-height:1}.cs-end{border-top:1px solid var(--color-line-strong);flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:32px;padding:clamp(24px,3vw,40px) 0 clamp(64px,8vw,120px);display:flex}.cs-next{text-align:right;min-height:44px;color:var(--color-hi);gap:4px;display:grid}.cs-next:hover{color:var(--color-accent)}@media(min-width:64rem){.cs-index{top:calc(var(--header-h) + 24px);position:sticky}.cs-index-list{display:grid}.cs-index-list li{border-bottom:1px solid var(--color-line)}}.cs-list{max-width:62ch;color:var(--color-mid);gap:10px;margin:0;padding-left:1.25rem;display:grid}.cs-list li::marker{color:var(--color-accent)}.filters-list{flex-wrap:wrap;gap:8px;margin:16px 0 0;padding:0;list-style:none;display:flex}.filter{border:1px solid var(--color-line-strong);border-radius:var(--radius-sm);min-height:44px;color:var(--color-hi);font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;align-items:center;padding:0 14px;font-size:.75rem;font-weight:500;display:inline-flex}.filter:hover{color:var(--color-hi);border-color:var(--color-hi)}.filter[aria-current]{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-on-accent)}.notes-list{border-bottom:1px solid var(--color-line);margin:16px 0 0;padding:0;list-style:none;display:grid}.note-row{border-top:1px solid var(--color-line);gap:10px;padding:28px 0;display:grid}.note-title{font-family:var(--font-display);letter-spacing:-.02em;text-wrap:balance;margin:0;font-size:clamp(1.375rem,1.208rem + .741vw,1.875rem);font-weight:650;font-stretch:115%;line-height:1.15}.note-title a{color:var(--color-hi)}.note-title a:hover{color:var(--color-accent)}.notes-pager{flex-wrap:wrap;justify-content:space-between;gap:24px;margin-top:32px;display:flex}.note{max-width:calc(68ch + 2 * var(--page-margin));gap:40px;padding-top:clamp(28px,4vw,72px);padding-bottom:96px;display:grid}.note-head{border-top:1px solid var(--color-line);gap:20px;padding-top:14px;display:grid}.note-progress{left:0;right:0;top:var(--header-h);z-index:var(--z-header);background:var(--color-accent);transform-origin:0;height:2px;position:fixed;transform:scaleX(0)}@supports (animation-timeline:scroll()){.motion-ok .note-progress{animation:linear both home-progress;animation-timeline:scroll(root)}}.note-toc{border-block:1px solid var(--color-line);padding:12px 0}.note-toc summary{cursor:pointer;min-height:44px;color:var(--color-mid);align-items:center;display:flex}.note-toc ol{gap:6px;margin:8px 0 0;padding-left:1.25rem;display:grid}.note-toc .lvl-3{margin-left:1rem}.note-prose{--code-bg:light-dark(#fff,#080e15);color:var(--color-hi);min-width:0;font-size:1.0625rem;line-height:1.75}.note-prose>*+*{margin-top:1.1em}.note-prose p,.note-prose li{text-wrap:pretty}.note-prose h2{font-family:var(--font-display);letter-spacing:-.015em;scroll-margin-top:calc(var(--header-h) + 24px);margin-top:2em;font-size:1.625rem;font-weight:650;font-stretch:115%;line-height:1.2}.note-prose h3{font-family:var(--font-display);scroll-margin-top:calc(var(--header-h) + 24px);margin-top:1.6em;font-size:1.25rem;font-weight:600;font-stretch:110%}.note-prose a{text-underline-offset:3px;text-decoration:underline}.note-prose ul,.note-prose ol{padding-left:1.4rem}.note-prose li+li{margin-top:.35em}.note-prose :not(pre)>code{font-family:var(--font-mono);background:var(--color-raised);border-radius:var(--radius-sm);padding:.1em .35em;font-size:.9em}.note-prose pre.phiki{border:1px solid var(--color-line);border-radius:var(--radius-sm);-moz-tab-size:4;tab-size:4;margin:1.4em 0;padding:1rem;font-size:.875rem;line-height:1.7;position:relative;overflow-x:auto;background:var(--code-bg)!important}.note-prose pre.phiki code{font-family:var(--font-mono);white-space:pre}:root[data-theme=light] .note-prose pre.phiki,:root[data-theme=light] .note-prose pre.phiki span{color:var(--phiki-light-color)!important}.note-prose blockquote{border-left:2px solid var(--color-line-strong);color:var(--color-mid);margin-inline:0;padding-left:1.1em}.note-prose .aside{border-left:2px solid var(--color-amber);background:var(--color-surface);padding:.9em 1.1em}.note-prose .aside--stdout{border-left-color:var(--color-accent)}.note-prose table{border-collapse:collapse;width:100%;font-size:.9375rem}.note-prose th,.note-prose td{border-bottom:1px solid var(--color-line);text-align:left;vertical-align:top;padding:8px 10px}.note-prose .blog-table-scroll{overflow-x:auto}.note-prose img{max-width:100%;height:auto}.note-foot{border-top:1px solid var(--color-line-strong);gap:32px;padding-top:32px;display:grid}.contact{gap:32px;max-width:920px;padding-top:clamp(28px,4vw,72px);padding-bottom:96px;display:grid}.contact-head{gap:20px;display:grid}.contact-done{background:var(--color-surface);border:1px solid var(--color-accent);border-radius:var(--radius-sm);gap:12px;padding:24px;display:grid}.contact-alert,.contact-summary{border:1px solid var(--color-error);border-radius:var(--radius-sm);color:var(--color-hi);background:var(--color-surface);margin:0;padding:16px 20px}.contact-summary ul{padding-left:1.2rem}.contact-summary a{color:var(--color-error);text-decoration:underline}.contact-hp{width:1px;height:1px;position:absolute;left:-10000px;overflow:hidden}.contact-form{gap:48px;display:grid}.contact-progress{color:var(--color-dim);gap:12px;margin:0;display:flex}.flow-step{border:0;gap:24px;min-width:0;margin:0;padding:0;display:grid}.flow-legend{border-top:1px solid var(--color-line-strong);width:100%;font-family:var(--font-display);margin-bottom:4px;padding:14px 0 0;font-size:1.5rem;font-weight:650;font-stretch:115%;line-height:1.2}.intent-grid{gap:10px;display:grid}.intent-tile{background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius-sm);cursor:pointer;align-items:center;gap:14px;min-height:64px;padding:14px 18px;display:flex}.intent-tile:has(input:checked){border-color:var(--color-accent);box-shadow:inset 0 2px 0 var(--color-accent)}.intent-tile:has(input:focus-visible){outline:2px solid var(--color-accent-strong);outline-offset:3px}.intent-tile input,.chip input,.check input{accent-color:var(--color-accent);flex:none;width:18px;height:18px;margin:0}.flow-intent{border:1px solid var(--color-line);border-radius:var(--radius-sm);gap:20px;padding:20px;display:grid}.q{border:0;gap:10px;min-width:0;margin:0;padding:0;display:grid}.q>legend{margin-bottom:10px;padding:0}.chips{flex-wrap:wrap;gap:8px;display:flex}.chip{border:1px solid var(--color-line-strong);border-radius:var(--radius-sm);cursor:pointer;align-items:center;gap:8px;min-height:44px;padding:0 14px;display:inline-flex}.chip:has(input:checked){border-color:var(--color-accent);color:var(--color-hi);background:light-dark(#0b6a6624,#4fb3a924)}@supports (color:color-mix(in lab,red,red)){.chip:has(input:checked){background:color-mix(in oklab,var(--color-accent) 14%,transparent)}}.chip:has(input:focus-visible){outline:2px solid var(--color-accent-strong);outline-offset:3px}.check{align-items:center;gap:10px;min-height:44px;display:inline-flex}.field{width:100%;min-height:48px;font:inherit;color:var(--color-hi);background:var(--color-surface);border:1px solid var(--color-line-strong);border-radius:var(--radius-sm);padding:12px 14px}textarea.field{resize:vertical}.field:focus-visible{outline:2px solid var(--color-accent-strong);outline-offset:2px}.field[aria-invalid=true]{border-color:var(--color-error)}.fields-2{gap:20px;display:grid}.flow-nav{flex-wrap:wrap;gap:12px;margin:0;display:flex}.flow-error{color:var(--color-error);margin:0}.flow-js{display:none}.is-enhanced .flow-js{display:inline-flex}p.flow-js{display:none}.is-enhanced p.flow-js{display:flex}.is-enhanced .flow-nojs,.is-enhanced .flow-step:not([data-current]){display:none}@media(min-width:48rem){.intent-grid,.fields-2{grid-template-columns:repeat(2,minmax(0,1fr))}}.about-head{gap:40px;padding-top:clamp(28px,4vw,72px);padding-bottom:72px;display:grid}.about-intro{border-top:1px solid var(--color-line);align-content:start;gap:20px;padding-top:14px;display:grid}.about-portrait{max-width:420px}.about-section{gap:32px;padding-bottom:96px;display:grid}.timeline{margin:0;padding:0;list-style:none;display:grid}.job{border-top:1px solid var(--color-line);gap:16px;padding:28px 0;display:grid}.job-head{align-content:start;gap:6px;display:grid}.job-body{gap:16px;min-width:0;display:grid}.about-split{gap:56px}.about-list{gap:16px;margin:24px 0 0;display:grid}.about-list>div{border-top:1px solid var(--color-line);gap:4px;padding-top:12px;display:grid}.about-list dd{margin:0}.services{border-bottom:1px solid var(--color-line);counter-reset:svc;margin:0;padding:0;list-style:none;display:grid}.service{counter-increment:svc;border-top:1px solid var(--color-line);scroll-margin-top:calc(var(--header-h) + 24px);gap:14px;padding:28px 0;display:grid}.service-title:before{content:counter(svc,decimal-leading-zero);font-family:var(--font-mono);letter-spacing:.06em;color:var(--color-dim);margin-bottom:6px;font-size:.75rem;font-weight:500;display:block}.faq{border-bottom:1px solid var(--color-line);gap:0;margin:0;display:grid}.faq-item{border-top:1px solid var(--color-line);gap:10px;padding:24px 0;display:grid}.faq-item dd{max-width:68ch}.ai-hero{margin-bottom:0;padding-bottom:72px}.ai-body{gap:72px;padding-top:72px;padding-bottom:96px;display:grid}@media(min-width:64rem){.about-head{column-gap:var(--gutter);grid-template-columns:minmax(0,7fr) minmax(0,4fr)}.portrait.about-portrait{grid-area:1/2;place-self:start end;max-width:420px}.job{column-gap:var(--gutter);grid-template-columns:minmax(0,4fr) minmax(0,8fr)}.about-split{column-gap:var(--gutter);grid-template-columns:repeat(2,minmax(0,1fr))}.service{column-gap:var(--gutter);grid-template-columns:minmax(0,4fr) minmax(0,5fr) minmax(0,3fr);align-items:start}.service-title{grid-row:1/span 2}.service-desc,.service-list{grid-column:2}.service-proof{grid-area:1/3}}.shake-layer{flex-wrap:wrap;align-content:flex-start;gap:10px;padding:24px;display:flex;position:absolute;top:0;right:0;bottom:0;left:0}.shake-piece{color:#ece9e2;will-change:transform;background:#14181a;border:1px solid #66727a;padding:8px 12px}.motion-ok .btn-primary{transition:background-color var(--dur-quick) var(--ease-out),color var(--dur-quick) var(--ease-out),border-color var(--dur-quick) var(--ease-out),transform var(--dur-base) var(--ease-out)}.site-footer{view-timeline:--footer block}.footer-wordmark{view-timeline:--footer-mark block}@keyframes footer-draft{0%{font-variation-settings:"wdth" 62,"wght" 300}to{font-variation-settings:"wdth" 125,"wght" 800}}.motion-ok .footer-wordmark[data-armed=scroll]>span{animation:linear backwards footer-draft;animation-timeline:--footer-mark;animation-range:entry calc(var(--i) * 6%) entry calc(55% + var(--i) * 6%)}.motion-ok .footer-wordmark[data-armed=once]>span{font-variation-settings:"wdth" 62,"wght" 300}.motion-ok .footer-wordmark[data-armed=once][data-played]>span{font-variation-settings:"wdth" 125,"wght" 800;transition:font-variation-settings 1.4s var(--ease-draft) calc(var(--i) * 70ms)}@supports (animation-timeline:view()){@keyframes draw-x{0%{transform:scaleX(0)}}@keyframes settle-y{0%{transform:translateY(14px)}}.motion-ok .footer-base{border-top-color:#0000;position:relative}.motion-ok .footer-base:before{content:"";border-top:1px solid var(--color-deep-line);transform-origin:0;animation:linear both draw-x;animation-timeline:--footer;animation-range:entry 55%;position:absolute;top:-1px;left:0;right:0}.motion-ok .site-footer li{animation:linear backwards settle-y;animation-timeline:--footer;animation-range:entry calc(5% + var(--i,0) * 3%) entry calc(45% + var(--i,0) * 3%)}}.cs-progress{left:0;right:0;top:var(--header-h);z-index:var(--z-header);background:var(--color-accent);transform-origin:0;pointer-events:none;height:2px;position:fixed;transform:scaleX(0)}@supports (animation-timeline:scroll()){.motion-ok .cs-progress{animation:linear both home-progress;animation-timeline:scroll(root)}}.chat-launch{display:none}.js .chat-launch{right:max(16px,env(safe-area-inset-right));bottom:max(16px,env(safe-area-inset-bottom));z-index:var(--z-chat);min-height:48px;font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--color-hi);background:var(--color-surface);border:1px solid var(--color-line-strong);transition:border-color var(--dur-quick) var(--ease-out),transform var(--dur-base) var(--ease-out);border-radius:9999px;align-items:center;gap:10px;padding:0 18px;font-size:.8125rem;font-weight:500;display:inline-flex;position:fixed;box-shadow:0 6px 24px #0000002e}.js .chat-launch:hover{border-color:var(--color-accent)}.js .chat-launch[aria-expanded=true]{transform:translateY(4px)}.chat-dot{background:var(--color-accent);border-radius:9999px;width:8px;height:8px}.js .site-footer{padding-bottom:72px}.chat-panel{z-index:var(--z-chat);background:var(--color-surface);height:min(82vh,640px);color:var(--color-hi);border:1px solid var(--color-line-strong);border-radius:12px 12px 0 0;grid-template-rows:auto 1fr auto auto;display:grid;position:fixed;inset:auto 0 0;box-shadow:0 -8px 40px #00000040}.chat-panel[hidden]{display:none}@media(min-width:48rem){.chat-panel{inset:auto max(16px,env(safe-area-inset-right)) 80px auto;border-radius:var(--radius-sm);width:380px;height:min(560px,100vh - 120px)}}.motion-ok .chat-panel:not([hidden]){animation:sheet-in var(--dur-base) var(--ease-out)}.chat-head{border-bottom:1px solid var(--color-line);justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;display:flex}.chat-close{width:44px;height:44px;color:var(--color-mid);place-items:center;margin:-8px -10px -8px 0;display:grid}.chat-close:hover{color:var(--color-hi)}.chat-log{align-content:start;gap:10px;padding:16px;display:grid;overflow-y:auto}.chat-log:focus-visible{outline:2px solid var(--color-accent-strong);outline-offset:-2px}.chat-msg{border-radius:var(--radius-sm);white-space:pre-wrap;overflow-wrap:anywhere;max-width:88%;padding:10px 12px;font-size:.9375rem;line-height:1.5}.chat-msg-user{background:var(--color-raised);justify-self:end}.chat-msg-assistant{border:1px solid var(--color-line);color:var(--color-mid);justify-self:start}.chat-msg a{color:var(--color-accent);text-underline-offset:2px;text-decoration:underline}.chat-typing{color:var(--color-accent)}.motion-ok .chat-typing [aria-hidden]{animation:1.04s step-end infinite trace-caret}.chat-chips{flex-wrap:wrap;gap:8px;padding-top:4px;display:flex}.chat-chip{border:1px solid var(--color-line-strong);min-height:44px;color:var(--color-hi);text-align:left;border-radius:9999px;padding:8px 12px;font-size:.875rem}.chat-chip:hover{border-color:var(--color-accent)}.chat-form{border-top:1px solid var(--color-line);gap:8px;padding:12px 16px 8px;display:flex}.chat-note{color:var(--color-dim);padding:0 16px 12px}.sr-only:is(pre,code){font:inherit}.chat-open{display:none}.js .chat-open{display:inline-flex}.cs-layout{timeline-scope:--cs-read}.cs-main{view-timeline:--cs-read block}.cs-index-list a[aria-current]{color:var(--color-hi)}.cs-index-list a[aria-current]:before{color:var(--color-accent)}@media(min-width:64rem){.cs-index-list,.cs-index-list li{position:relative}.cs-index-list li:after{content:"";border-bottom:1px solid var(--color-accent);transform-origin:0;pointer-events:none;position:absolute;bottom:-1px;left:0;right:0;transform:scaleX(0)}.cs-index-list li:has(a[aria-current]):after{transform:scaleX(1)}.motion-ok .cs-index-list li:after{transition:transform var(--dur-base) var(--ease-draft)}.cs-index-list:before{content:"";border-left:1px solid var(--color-line);position:absolute;top:0;bottom:0;left:-16px}@supports (animation-timeline:view()){.motion-ok .cs-index-list:after{content:"";border-left:1px solid var(--color-accent);transform-origin:top;animation:linear both rail-draw;animation-timeline:--cs-read;animation-range:contain;position:absolute;top:0;bottom:0;left:-16px}@keyframes rail-draw{0%{transform:scaleY(0)}to{transform:scaleY(1)}}}}.logo{width:var(--logo);height:var(--logo);transform:perspective(700px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));transition:transform .5s var(--ease-out);flex:none;display:inline-block;position:relative}.logo-img{width:100%;height:100%;display:block}.logo-draft{opacity:0;pointer-events:none;width:100%;height:100%;position:absolute;top:0;right:0;bottom:0;left:0;overflow:visible}.logo-lines path{fill:none;stroke:var(--color-accent);stroke-width:1.4px;vector-effect:non-scaling-stroke;stroke-linejoin:round;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:0}.logo-face{transform-box:fill-box;transform-origin:50%}.logo-face-top{--fx:0px;--fy:-110px}.logo-face-left{--fx:-120px;--fy:70px}.logo-face-right{--fx:120px;--fy:70px}.motion-ok .logo[data-logo-state=armed] .logo-img{opacity:0}.motion-ok .logo:is([data-logo=load],[data-logo=unfold],[data-logo=stamp],[data-logo-state=played]) .logo-draft{animation:logo-draft calc(var(--t,1) * 1.5s) linear both}.motion-ok .logo:is([data-logo=load],[data-logo=unfold],[data-logo=stamp],[data-logo-state=played]) .logo-lines path{animation:logo-line calc(var(--t,1) * .8s) var(--ease-draft) both}.motion-ok .logo:is([data-logo=load],[data-logo=unfold],[data-logo=stamp],[data-logo-state=played]) .logo-face{animation:logo-face calc(var(--t,1) * .65s) var(--ease-draft) calc(var(--t,1) * .42s) both}.motion-ok .logo:is([data-logo=load],[data-logo=unfold],[data-logo=stamp],[data-logo-state=played]) .logo-img{animation:logo-img calc(var(--t,1) * .42s) var(--ease-out) calc(var(--t,1) * 1.05s) both}@keyframes logo-draft{0%,76%{opacity:1}to{opacity:0}}@keyframes logo-line{0%{stroke-dashoffset:1px}to{stroke-dashoffset:0}}@keyframes logo-face{0%{opacity:0;transform:translate(var(--fx),var(--fy))}to{opacity:.96;transform:none}}@keyframes logo-img{0%{opacity:0}to{opacity:1}}.site-brand .logo{margin-block:-4px}.footer-mark{--footer-logo:clamp(52px, 11.5vw, 190px);gap:clamp(12px,2.4vw,40px)}.footer-mark .footer-wordmark{font-size:clamp(2.75rem,13.5vw,13rem)}.intro{display:none}html.is-intro .intro{z-index:var(--z-skip);background:var(--color-bg);background-image:linear-gradient(var(--color-line) 1px,transparent 1px),linear-gradient(90deg,var(--color-line) 1px,transparent 1px);background-position:50%;background-size:48px 48px;place-content:center;justify-items:center;gap:22px;animation:1ms linear 3.5s forwards intro-failsafe;display:grid;position:fixed;top:0;right:0;bottom:0;left:0}.intro-cap{color:var(--color-mid)}.motion-ok .intro-cap{animation:logo-img .6s var(--ease-out) .9s both}@keyframes intro-failsafe{to{opacity:0;visibility:hidden}}.vt-stamp{display:none}html.is-stamp .vt-stamp{z-index:var(--z-toast);pointer-events:none;place-items:center;display:grid;position:fixed;top:0;right:0;bottom:0;left:0}.vt-stamp .logo{--t:.42;animation:stamp-out .3s var(--ease-out) .56s both}@keyframes stamp-out{to{opacity:0;transform:scale(.9)}}.note-card,.product-row,.intent{position:relative}.note-card:after,.product-row:after,.intent:after{content:"";background:var(--color-accent);transform-origin:0;pointer-events:none;height:2px;position:absolute;top:0;left:0;right:0;transform:scaleX(0)}.note-card:hover:after,.product-row:hover:after,.intent:is(:hover,:focus-visible):after{transform:scaleX(1)}.note-card:hover .system-title,.product-row:hover .product-name{transform:translate(2px)}.motion-ok :is(.note-card,.product-row,.intent):after{transition:transform var(--dur-base) var(--ease-draft)}.motion-ok :is(.note-card .system-title,.product-row .product-name){transition:transform var(--dur-base) var(--ease-out)}.motion-ok .btn:active{transition-duration:60ms;transform:translateY(1px)scale(.985)}.motion-ok :focus-visible{animation:focus-snap .18s var(--ease-out)}@keyframes focus-snap{0%{outline-offset:8px}}.theme-toggle svg{transform-origin:50%}.theme-toggle:hover svg{transform:rotate(-24deg)}.motion-ok .theme-toggle svg{transition:transform .42s var(--ease-draft)}}@layer utilities{.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.inset-0{top:0;right:0;bottom:0;left:0}.top-0{top:0}.col-span-full{grid-column:1/-1}.m-0{margin:0}.page{width:100%;max-width:calc(var(--page-max) + 2 * var(--page-margin));padding-inline:var(--page-margin);margin-inline:auto}.mx-auto{margin-inline:auto}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-6{margin-top:calc(var(--spacing) * 6)}.mt-8{margin-top:calc(var(--spacing) * 8)}.mt-10{margin-top:calc(var(--spacing) * 10)}.mt-12{margin-top:calc(var(--spacing) * 12)}.mb-10{margin-bottom:calc(var(--spacing) * 10)}.grid-page{grid-template-columns:repeat(var(--cols),minmax(0,1fr));column-gap:var(--gutter);display:grid}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.aspect-\[16\/9\]{aspect-ratio:16/9}.h-10{height:calc(var(--spacing) * 10)}.h-16{height:calc(var(--spacing) * 16)}.h-full{height:100%}.min-h-11{min-height:calc(var(--spacing) * 11)}.min-h-12{min-height:calc(var(--spacing) * 12)}.w-fit{width:fit-content}.w-full{width:100%}.max-w-6xl{max-width:var(--container-6xl)}.max-w-\[18ch\]{max-width:18ch}.max-w-\[20ch\]{max-width:20ch}.max-w-\[22ch\]{max-width:22ch}.max-w-\[30ch\]{max-width:30ch}.max-w-\[34ch\]{max-width:34ch}.max-w-\[40ch\]{max-width:40ch}.max-w-\[44ch\]{max-width:44ch}.max-w-\[48ch\]{max-width:48ch}.max-w-\[52ch\]{max-width:52ch}.max-w-\[60ch\]{max-width:60ch}.max-w-\[62ch\]{max-width:62ch}.max-w-\[68ch\]{max-width:68ch}.max-w-xl{max-width:var(--container-xl)}.prose-width{max-width:68ch}.flex-1{flex:1}.translate-y-\[-1px\]{--tw-translate-y:-1px;translate:var(--tw-translate-x) var(--tw-translate-y)}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.list-none{list-style-type:none}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-\[56px_minmax\(0\,1fr\)\]{grid-template-columns:56px minmax(0,1fr)}.flex-wrap{flex-wrap:wrap}.place-items-center{place-items:center}.content-start{align-content:flex-start}.items-baseline{align-items:baseline}.items-center{align-items:center}.items-end{align-items:flex-end}.justify-between{justify-content:space-between}.gap-1{gap:var(--spacing)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-2\.5{gap:calc(var(--spacing) * 2.5)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-5{gap:calc(var(--spacing) * 5)}.gap-6{gap:calc(var(--spacing) * 6)}.gap-8{gap:calc(var(--spacing) * 8)}.gap-9{gap:calc(var(--spacing) * 9)}.gap-10{gap:calc(var(--spacing) * 10)}.gap-12{gap:calc(var(--spacing) * 12)}.gap-x-4{column-gap:calc(var(--spacing) * 4)}.gap-x-6{column-gap:calc(var(--spacing) * 6)}.gap-x-\[var\(--gutter\)\]{column-gap:var(--gutter)}.gap-y-1{row-gap:var(--spacing)}.gap-y-2{row-gap:calc(var(--spacing) * 2)}.gap-y-2\.5{row-gap:calc(var(--spacing) * 2.5)}.gap-y-8{row-gap:calc(var(--spacing) * 8)}.gap-y-16{row-gap:calc(var(--spacing) * 16)}.overflow-hidden{overflow:hidden}.rounded-sm{border-radius:var(--radius-sm)}.border{border-style:var(--tw-border-style);border-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-deep-line{border-color:var(--color-deep-line)}.border-line{border-color:var(--color-line)}.border-line-strong{border-color:var(--color-line-strong)}.bg-\[\#060a0f\]{background-color:#060a0f}.bg-bg{background-color:var(--color-bg)}.bg-deep{background-color:var(--color-deep)}.bg-raised{background-color:var(--color-raised)}.bg-surface{background-color:var(--color-surface)}.p-0{padding:0}.p-6{padding:calc(var(--spacing) * 6)}.px-3\.5{padding-inline:calc(var(--spacing) * 3.5)}.px-6{padding-inline:calc(var(--spacing) * 6)}.py-4{padding-block:calc(var(--spacing) * 4)}.py-6{padding-block:calc(var(--spacing) * 6)}.py-7{padding-block:calc(var(--spacing) * 7)}.py-12{padding-block:calc(var(--spacing) * 12)}.py-16{padding-block:calc(var(--spacing) * 16)}.py-24{padding-block:calc(var(--spacing) * 24)}.py-32{padding-block:calc(var(--spacing) * 32)}.pt-2{padding-top:calc(var(--spacing) * 2)}.pt-3\.5{padding-top:calc(var(--spacing) * 3.5)}.pt-4{padding-top:calc(var(--spacing) * 4)}.pt-16{padding-top:calc(var(--spacing) * 16)}.pb-10{padding-bottom:calc(var(--spacing) * 10)}.pb-16{padding-bottom:calc(var(--spacing) * 16)}.pb-20{padding-bottom:calc(var(--spacing) * 20)}.pb-24{padding-bottom:calc(var(--spacing) * 24)}.pl-6{padding-left:calc(var(--spacing) * 6)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.display-2xl{font-family:var(--font-display);letter-spacing:-.035em;text-wrap:balance;font-size:clamp(3.5rem,1rem + 11.111vw,11rem);font-weight:800;font-stretch:125%;line-height:.92}.display-l{font-family:var(--font-display);letter-spacing:-.025em;text-wrap:balance;font-size:clamp(2.125rem,1.417rem + 3.148vw,4.25rem);font-weight:700;font-stretch:115%;line-height:1}.display-xl{font-family:var(--font-display);letter-spacing:-.03em;text-wrap:balance;font-size:clamp(2.75rem,1.333rem + 6.296vw,7rem);font-weight:750;font-stretch:120%;line-height:.95}.h2{font-family:var(--font-display);letter-spacing:-.015em;text-wrap:balance;font-size:clamp(1.625rem,1.333rem + 1.296vw,2.5rem);font-weight:650;font-stretch:110%;line-height:1.1}.label{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;font-size:clamp(.75rem,.729rem + .093vw,.8125rem);font-weight:500;line-height:1.4}.h3{font-family:var(--font-display);letter-spacing:-.01em;font-size:clamp(1.25rem,1.167rem + .37vw,1.5rem);font-weight:600;font-stretch:105%;line-height:1.2}.data{font-family:var(--font-mono);letter-spacing:-.01em;font-variant-numeric:tabular-nums;font-size:clamp(1.5rem,1.083rem + 1.852vw,2.75rem);font-weight:500;line-height:1}.lead{font-family:var(--font-sans);letter-spacing:-.005em;text-wrap:pretty;font-size:clamp(1.1875rem,1.104rem + .37vw,1.4375rem);line-height:1.5}.body{font-family:var(--font-sans);font-size:clamp(1rem,.979rem + .093vw,1.0625rem);line-height:1.65}.small{font-family:var(--font-sans);font-size:.875rem;line-height:1.5}.wordmark{font-family:var(--font-display);letter-spacing:.01em;font-weight:800;font-stretch:125%}.font-display{font-family:var(--font-display)}.font-mono{font-family:var(--font-mono)}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-\[0\.9375rem\]{font-size:.9375rem}.leading-\[0\.8\]{--tw-leading:.8;line-height:.8}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-\[-0\.04em\]{--tw-tracking:-.04em;letter-spacing:-.04em}.tracking-normal{--tw-tracking:var(--tracking-normal);letter-spacing:var(--tracking-normal)}.whitespace-nowrap{white-space:nowrap}.text-\[\#9fb3bd\]{color:#9fb3bd}.text-accent{color:var(--color-accent)}.text-dim{color:var(--color-dim)}.text-hi{color:var(--color-hi)}.text-mid{color:var(--color-mid)}.text-on-deep{color:var(--color-on-deep)}.text-on-deep-link{color:var(--color-on-deep-link)}.text-on-deep-mid{color:var(--color-on-deep-mid)}.normal-case{text-transform:none}.uppercase{text-transform:uppercase}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}@media(hover:hover){.hover\:text-accent:hover{color:var(--color-accent)}.hover\:text-hi:hover{color:var(--color-hi)}.hover\:text-on-deep:hover{color:var(--color-on-deep)}.hover\:underline:hover{text-decoration-line:underline}}@media(min-width:40rem){.sm\:inline{display:inline}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:48rem){.md\:col-span-2{grid-column:span 2/span 2}.md\:col-span-3{grid-column:span 3/span 3}.md\:col-span-4{grid-column:span 4/span 4}.md\:block{display:block}.md\:hidden{display:none}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:64rem){.lg\:col-span-2{grid-column:span 2/span 2}.lg\:col-span-3{grid-column:span 3/span 3}.lg\:col-span-4{grid-column:span 4/span 4}.lg\:col-span-5{grid-column:span 5/span 5}.lg\:col-span-8{grid-column:span 8/span 8}.lg\:col-span-9{grid-column:span 9/span 9}.lg\:col-start-7{grid-column-start:7}.lg\:col-start-11{grid-column-start:11}.lg\:mt-18{margin-top:calc(var(--spacing) * 18)}.lg\:block{display:block}.lg\:flex{display:flex}.lg\:hidden{display:none}.lg\:inline{display:inline}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-\[220px_minmax\(0\,1fr\)\]{grid-template-columns:220px minmax(0,1fr)}.lg\:gap-8{gap:calc(var(--spacing) * 8)}.lg\:gap-y-\[4\.5rem\]{row-gap:4.5rem}.lg\:py-24{padding-block:calc(var(--spacing) * 24)}.lg\:py-40{padding-block:calc(var(--spacing) * 40)}.lg\:pt-\[4\.5rem\]{padding-top:4.5rem}.lg\:text-right{text-align:right}}@media(min-width:80rem){.xl\:flex{display:flex}.xl\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}}}@font-face{font-family:Archivo;font-style:normal;font-weight:200 800;font-stretch:62% 125%;font-display:swap;src:url(/fonts/archivo-latin-wght-wdth.woff2)format("woff2-variations"),url(/fonts/archivo-latin-wght-wdth.woff2)format("woff2")}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/inter-latin-400-normal.woff2)format("woff2")}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/inter-latin-600-normal.woff2)format("woff2")}@font-face{font-family:Inter;font-style:italic;font-weight:400;font-display:swap;src:url(/fonts/inter-latin-400-italic.woff2)format("woff2")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/ibm-plex-mono-latin-400-normal.woff2)format("woff2")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/ibm-plex-mono-latin-500-normal.woff2)format("woff2")}@font-face{font-family:Archivo Fallback Arial;src:local(Arial Bold),local(Arial-BoldMT),local(Helvetica Neue Bold),local(HelveticaNeue-Bold);font-weight:200 800;font-stretch:105%;size-adjust:100.9%;ascent-override:87.2%;descent-override:20.8%;line-gap-override:0%}@font-face{font-family:Archivo Fallback Roboto;src:local(Roboto Bold),local(Roboto-Bold),local(Roboto);font-weight:200 800;font-stretch:105%;size-adjust:107.4%;ascent-override:81.9%;descent-override:19.6%;line-gap-override:0%}@font-face{font-family:Archivo Fallback Arial;src:local(Arial Bold),local(Arial-BoldMT),local(Helvetica Neue Bold),local(HelveticaNeue-Bold);font-weight:200 800;font-stretch:110%;size-adjust:109.1%;ascent-override:80.6%;descent-override:19.2%;line-gap-override:0%}@font-face{font-family:Archivo Fallback Roboto;src:local(Roboto Bold),local(Roboto-Bold),local(Roboto);font-weight:200 800;font-stretch:110%;size-adjust:115%;ascent-override:76.5%;descent-override:18.3%;line-gap-override:0%}@font-face{font-family:Archivo Fallback Arial;src:local(Arial Bold),local(Arial-BoldMT),local(Helvetica Neue Bold),local(HelveticaNeue-Bold);font-weight:200 675;font-stretch:115%;size-adjust:112.8%;ascent-override:78%;descent-override:18.6%;line-gap-override:0%}@font-face{font-family:Archivo Fallback Roboto;src:local(Roboto Bold),local(Roboto-Bold),local(Roboto);font-weight:200 675;font-stretch:115%;size-adjust:120.3%;ascent-override:73.1%;descent-override:17.5%;line-gap-override:0%}@font-face{font-family:Archivo Fallback Arial;src:local(Arial Bold),local(Arial-BoldMT),local(Helvetica Neue Bold),local(HelveticaNeue-Bold);font-weight:676 800;font-stretch:115%;size-adjust:114%;ascent-override:77.2%;descent-override:18.4%;line-gap-override:0%}@font-face{font-family:Archivo Fallback Roboto;src:local(Roboto Bold),local(Roboto-Bold),local(Roboto);font-weight:676 800;font-stretch:115%;size-adjust:120.8%;ascent-override:72.8%;descent-override:17.4%;line-gap-override:0%}@font-face{font-family:Archivo Fallback Arial;src:local(Arial Bold),local(Arial-BoldMT),local(Helvetica Neue Bold),local(HelveticaNeue-Bold);font-weight:200 800;font-stretch:120%;size-adjust:121.5%;ascent-override:72.4%;descent-override:17.3%;line-gap-override:0%}@font-face{font-family:Archivo Fallback Roboto;src:local(Roboto Bold),local(Roboto-Bold),local(Roboto);font-weight:200 800;font-stretch:120%;size-adjust:129.2%;ascent-override:68.1%;descent-override:16.3%;line-gap-override:0%}@font-face{font-family:Archivo Fallback Arial;src:local(Arial Bold),local(Arial-BoldMT),local(Helvetica Neue Bold),local(HelveticaNeue-Bold);font-weight:200 800;font-stretch:125%;size-adjust:125.8%;ascent-override:69.9%;descent-override:16.7%;line-gap-override:0%}@font-face{font-family:Archivo Fallback Roboto;src:local(Roboto Bold),local(Roboto-Bold),local(Roboto);font-weight:200 800;font-stretch:125%;size-adjust:134.5%;ascent-override:65.4%;descent-override:15.6%;line-gap-override:0%}@font-face{font-family:Inter Fallback Arial;src:local(Arial),local(ArialMT),local(Helvetica Neue);font-weight:400;size-adjust:106.7%;ascent-override:90.9%;descent-override:22.5%;line-gap-override:0%}@font-face{font-family:Inter Fallback Arial;src:local(Arial Bold),local(Arial-BoldMT),local(Helvetica Neue Bold),local(HelveticaNeue-Bold);font-weight:600 700;size-adjust:100.7%;ascent-override:96.3%;descent-override:23.8%;line-gap-override:0%}@font-face{font-family:Inter Fallback Arial;src:local(Arial Italic),local(Arial-ItalicMT),local(Helvetica Neue Italic);font-weight:400;font-style:italic;size-adjust:106.7%;ascent-override:90.9%;descent-override:22.5%;line-gap-override:0%}@font-face{font-family:Inter Fallback Roboto;src:local(Roboto),local(Roboto-Regular);font-weight:400;size-adjust:107.2%;ascent-override:90.5%;descent-override:22.4%;line-gap-override:0%}@font-face{font-family:Inter Fallback Roboto;src:local(Roboto Bold),local(Roboto-Bold),local(Roboto);font-weight:600 700;size-adjust:107.2%;ascent-override:90.5%;descent-override:22.4%;line-gap-override:0%}@font-face{font-family:Inter Fallback Roboto;src:local(Roboto Italic),local(Roboto-Italic),local(Roboto);font-weight:400;font-style:italic;size-adjust:107.2%;ascent-override:90.5%;descent-override:22.4%;line-gap-override:0%}@font-face{font-family:Plex Mono Fallback;src:local(Courier New),local(CourierNewPSMT),local(Roboto Mono),local(Menlo);size-adjust:100%;ascent-override:89%;descent-override:22%;line-gap-override:4%}:root{color-scheme:dark;--page-margin:20px;--gutter:16px;--cols:4;--page-max:1440px;--header-h:64px;--chapter-gap:6rem;--dur-instant:.1s;--dur-quick:.18s;--dur-base:.28s;--dur-slow:.6s;--dur-draw:.9s;--stagger:60ms;--z-raised:10;--z-header:40;--z-chat:50;--z-sheet:60;--z-dialog:70;--z-toast:80;--z-skip:100;--shadow-sheet:0 24px 48px -12px #00000073}@media(prefers-color-scheme:light){:root:not([data-theme]){color-scheme:light}}:root[data-theme=light]{color-scheme:light}:root[data-theme=dark]{color-scheme:dark}@media(min-width:48rem){:root{--page-margin:32px;--gutter:20px;--cols:8}}@media(min-width:64rem){:root{--page-margin:48px;--gutter:24px;--cols:12;--header-h:72px;--chapter-gap:12rem}}@media(min-width:80rem){:root{--page-margin:64px}}@media(min-width:96rem){:root{--gutter:32px}}.menu-button,.needs-js{display:none}.js .menu-button,.js .needs-js{display:inline-flex}.js .menu-fallback{display:none}@media(min-width:64rem){.js .menu-button{display:none}}.ch-deep .ch-meta .text-dim{color:var(--color-on-deep-mid)}.ch-deep .ch-meta .text-hi{color:var(--color-on-deep)}@media(prefers-reduced-motion:no-preference){@view-transition{navigation:auto}}p a:not([class]),li a:not([class]),dd a:not([class]){text-underline-offset:3px;text-decoration:underline}.note-prose pre.phiki span[style*="#767c9dB0" i]{color:#a6accd!important}html.intro-out::view-transition-old(root){z-index:1;animation:.72s cubic-bezier(.65,0,.35,1) both intro-roll}html.intro-out::view-transition-new(root){animation:none}html.intro-out::view-transition-group(mn-logo){z-index:2;animation-duration:.72s;animation-timing-function:cubic-bezier(.65,0,.35,1)}@keyframes intro-roll{0%{clip-path:inset(0)}to{clip-path:inset(0 0 100%)}}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}
