.text{font-family:var(--font-family-sans);line-height:var(--line-height-snug);margin:0}.text--2xs{font-size:var(--font-size-2xs)}.text--xs{font-size:var(--font-size-xs)}.text--sm{font-size:var(--font-size-sm)}.text--base{font-size:var(--font-size-base)}.text--lg{font-size:var(--font-size-lg)}.text--xl{font-size:var(--font-size-xl)}.text--2xl{font-size:var(--font-size-2xl)}.text--3xl{font-size:var(--font-size-3xl)}.text--regular{font-weight:var(--font-weight-regular)}.text--medium{font-weight:var(--font-weight-medium)}.text--semibold{font-weight:var(--font-weight-semibold)}.text--bold{font-weight:var(--font-weight-bold)}.text--default{color:var(--color-text)}.text--muted{color:var(--color-text-muted)}.text--subtle{color:var(--color-text-subtle)}.text--inverse{color:var(--color-text-inverse)}.text--sidebar{color:var(--color-sidebar-text)}.text--sidebar-active{color:var(--color-sidebar-text-active)}.text--primary{color:var(--color-primary)}.text--error{color:var(--color-error)}.text--success{color:var(--color-success)}.text--warning{color:var(--color-warning)}.text--up{color:var(--color-up)}.text--down{color:var(--color-down)}.text--flat{color:var(--color-flat)}.text--align-start{text-align:left}.text--align-center{text-align:center}.text--align-end{text-align:right}.text--numeric{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.text--mono{font-family:var(--font-family-mono)}.text--nowrap,.text--truncate{white-space:nowrap}.text--truncate{display:block;overflow:hidden;text-overflow:ellipsis}.text--clamp{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.text--preserve-whitespace{white-space:pre-line;overflow-wrap:anywhere}.text--prose{line-height:var(--line-height-normal)}.text--display,.text--prose{word-break:keep-all;overflow-wrap:anywhere}.text--display{font-size:var(--font-size-display);line-height:var(--line-height-tight);letter-spacing:var(--letter-spacing-readout);text-wrap:balance}.text--headline,.text--hero,.text--lead{letter-spacing:var(--letter-spacing-readout);word-break:keep-all;overflow-wrap:anywhere}.text--hero{font-size:var(--font-size-hero);line-height:var(--line-height-hero);font-weight:var(--font-weight-display);letter-spacing:var(--letter-spacing-hero)}.text--headline{font-size:var(--font-size-headline);line-height:var(--line-height-tight)}.text--lead{font-size:var(--font-size-lead);line-height:var(--line-height-normal)}.text--feature{font-size:var(--font-size-feature);line-height:var(--line-height-snug);letter-spacing:var(--letter-spacing-readout);word-break:keep-all}.google-sign-in{max-width:100%}.google-sign-in--prominent .google-sign-in__mount{padding:var(--spacing-sm) var(--spacing-sm);background:var(--color-google-button-background);border-radius:var(--radius-xs);width:100%;min-height:var(--layout-google-action-height)}.google-sign-in--prominent .google-sign-in__mount:empty{visibility:hidden}.presentation--page{max-width:var(--layout-portal-content-max);margin-inline:auto;padding-inline:var(--presentation-gutter);color:var(--color-text);overflow-wrap:break-word}.presentation--header{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-lg);min-height:var(--layout-presentation-header-height);border-bottom:var(--border-width-thin) solid var(--color-border-strong)}.presentation--hero{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,1fr);grid-gap:var(--presentation-hero-gap);gap:var(--presentation-hero-gap);align-items:start;padding-block:var(--spacing-3xl) var(--spacing-2xl);min-height:var(--layout-presentation-hero-height)}.presentation--hero>*,.presentation--split>*{min-width:0}.presentation[data-backdrop]{position:relative;isolation:isolate}.presentation__backdrop{position:absolute;inset:0 calc(-1 * var(--presentation-gutter));z-index:-1;overflow:hidden;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;opacity:var(--opacity-presentation-backdrop);-webkit-mask-image:linear-gradient(180deg,transparent,black 18%,black 74%,transparent);mask-image:linear-gradient(180deg,transparent,black 18%,black 74%,transparent);animation:presentation-backdrop-reveal var(--transition-presentation-backdrop) both}.presentation__backdrop img{width:100%;height:100%;object-fit:cover;object-position:center;filter:grayscale(1);-webkit-mask-image:linear-gradient(90deg,transparent,black 35%,black 85%,transparent);mask-image:linear-gradient(90deg,transparent,black 35%,black 85%,transparent)}@keyframes presentation-backdrop-reveal{0%{opacity:0;-webkit-clip-path:inset(0 0 35% 0);clip-path:inset(0 0 35% 0);transform:scale(1.025)}to{opacity:var(--opacity-presentation-backdrop);-webkit-clip-path:inset(0);clip-path:inset(0);transform:scale(1)}}.presentation--section{border-top:var(--border-width-thin) solid var(--color-border-strong);padding-block:var(--presentation-section-gap);scroll-margin-top:var(--spacing-xl)}.presentation--split{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,1fr);grid-gap:var(--presentation-hero-gap);gap:var(--presentation-hero-gap);align-items:start}.presentation--closing{border-block:var(--border-width-thin) solid var(--color-border-strong);padding-block:var(--presentation-section-gap);display:flex;justify-content:space-between;align-items:center;gap:var(--spacing-2xl)}.presentation--footer{padding-block:var(--spacing-2xl)}.underline-button{position:relative;width:100%;min-height:var(--layout-presentation-tab-height);border:0;border-bottom:var(--border-width-thin) solid var(--color-border-strong);background:transparent;color:var(--color-text-muted);padding:var(--spacing-md) var(--spacing-xs);font:inherit;font-size:var(--presentation-type-body,var(--font-size-lg));cursor:pointer;transition:color var(--transition-base),background var(--transition-base)}.underline-button[aria-pressed=true]{color:var(--color-text);font-weight:var(--font-weight-bold)}.underline-button[aria-pressed=true]:after{content:"";position:absolute;inset:auto 0 0;height:var(--border-width-thick);background:currentColor;transform-origin:left;animation:presentation-rule-reveal var(--transition-presentation-reveal) both}.underline-button:hover{color:var(--color-text);background:var(--color-surface-subtle)}.disclosure>summary:focus-visible,.underline-button:focus-visible{outline:var(--border-width-thick) solid var(--color-text);outline-offset:var(--spacing-xs)}.step-rail-item{display:grid;grid-template-columns:var(--layout-step-number-width) var(--layout-step-track-width) minmax(0,1fr);grid-column-gap:var(--spacing-md);column-gap:var(--spacing-md);min-height:var(--layout-step-height)}.step-rail-item__number{padding-top:var(--spacing-xl);font-size:var(--font-size-xl);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.step-rail-item__track{position:relative}.step-rail-item__track:after{content:"";position:absolute;width:var(--border-width-thin);top:var(--spacing-3xl);bottom:calc(-1 * var(--spacing-xl));left:50%;background:var(--color-border-strong)}.step-rail-item[data-last] .step-rail-item__track:after{display:none}.step-rail-item__track>span{position:absolute;top:var(--spacing-xl);left:50%;transform:translateX(-50%);width:var(--spacing-lg);height:var(--spacing-lg);border:var(--border-width-thin) solid var(--color-text-muted);border-radius:var(--radius-step-marker);transition:background var(--transition-base),border-color var(--transition-base)}.step-rail-item[data-selected] .step-rail-item__track>span{border-color:var(--color-text);background:var(--color-surface-raised)}.step-rail-item__content{padding-block:var(--spacing-xl);border-bottom:var(--border-width-thin) solid var(--color-border)}.step-rail-item[data-last] .step-rail-item__content{border-bottom:0}.disclosure{border-bottom:var(--border-width-thin) solid var(--color-border-strong)}.disclosure>summary{display:flex;justify-content:space-between;align-items:center;gap:var(--spacing-xl);list-style:none;padding:var(--spacing-xl) var(--spacing-sm) var(--spacing-xl) 0;cursor:pointer;font-family:var(--font-family-sans);font-size:var(--font-size-xl);font-weight:var(--font-weight-medium);color:var(--color-text)}.disclosure>summary::-webkit-details-marker{display:none}.disclosure__mark{display:inline-flex;flex:0 0 auto;align-items:center;justify-content:center;transition:transform var(--transition-base)}.disclosure__mark>svg{display:block}.disclosure[open]>summary>.disclosure__mark{transform:rotate(180deg)}.disclosure__body{padding-bottom:var(--spacing-xl);max-width:var(--layout-reading-measure)}.disclosure--compact>summary{min-height:calc(var(--spacing-xl) + var(--spacing-md));padding-block:var(--spacing-sm);gap:var(--spacing-md);font-size:var(--font-size-sm);overflow-wrap:anywhere}.disclosure--compact>.disclosure__body{padding-bottom:var(--spacing-md)}.presentation--intro{border-top:var(--border-width-thin) solid var(--color-border-strong);padding-block:var(--spacing-2xl) var(--presentation-section-gap);scroll-margin-top:var(--spacing-xl)}@keyframes presentation-rule-reveal{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.presentation[data-motion=parallax]{overflow-x:clip}.presentation__progress{position:fixed;inset:0 0 auto;height:var(--border-width-thick);background:var(--color-text);z-index:var(--z-overlay);transform:scaleX(var(--reading-progress,0));transform-origin:left;pointer-events:none}.presentation[data-motion=parallax] .presentation--hero{position:relative;padding-bottom:var(--presentation-section-gap)}.presentation[data-motion=parallax] .presentation__backdrop img{transform:translate3d(0,calc(var(--hero-depth, 0px) * -.85),0) scale(1.35)}.presentation[data-motion=parallax] .presentation--hero>:not(.presentation__backdrop){transform:translate3d(0,calc(var(--hero-depth, 0px) * .3),0)}.presentation[data-motion=parallax] .presentation--hero .text--hero{transform:translate3d(0,calc(var(--hero-depth, 0px) * -.6),0) scale(var(--hero-scale,1));transform-origin:left top}.presentation[data-motion=parallax] :is(.presentation--section,.presentation--intro,.presentation--closing){position:relative;border-top-color:transparent}.presentation[data-motion=parallax] :is(.presentation--section,.presentation--intro,.presentation--closing):before{content:"";position:absolute;inset:0 0 auto;height:var(--border-width-thin);background:var(--color-border-strong);transform:scaleX(var(--scene-reveal,1));transform-origin:left}.presentation[data-motion=parallax] :is(.presentation--section,.presentation--intro,.presentation--closing)>*{transform:translate3d(0,var(--scene-shift,0),0)}.presentation[data-motion=parallax] .presentation--split{padding-block:var(--spacing-xl)}.presentation[data-motion=parallax] .link--action svg{transition:transform var(--transition-presentation-reveal)}.presentation[data-motion=parallax] .link--action:hover svg{transform:translateX(var(--spacing-xs))}.presentation--document{border:var(--border-width-thin) solid var(--color-border-strong);padding:var(--spacing-xl);transform-origin:left center;animation:presentation-document-open var(--transition-document-open) both}@keyframes presentation-document-open{0%{opacity:.4;transform:perspective(1000px) rotateY(-7deg) translateY(var(--spacing-md))}to{opacity:1;transform:perspective(1000px) rotateY(0) translateY(0)}}@media (min-width:64rem) and (prefers-reduced-motion:no-preference){.presentation[data-motion=parallax] .presentation--hero>:last-child{transform:translate3d(0,calc(var(--hero-depth, 0px) * .6),0)}}.presentation--page[data-motion=parallax] .link--solid{background:var(--color-landing-accent);color:var(--color-landing-on-accent);border-color:var(--color-landing-on-accent)}.presentation--page[data-motion=parallax] .link--solid:hover{opacity:1;text-decoration:underline;text-underline-offset:var(--spacing-xs)}.presentation--page[data-motion=parallax] .presentation__progress,.presentation--page[data-motion=parallax] .scroll-story__meter,.presentation--page[data-motion=parallax] .underline-button[aria-pressed=true]:after{background:var(--color-landing-accent)}.presentation--page[data-motion=parallax] .process-sequence__stages button[aria-pressed=true]{background:var(--color-landing-accent);color:var(--color-landing-on-accent);border-bottom-color:var(--color-landing-on-accent)}.presentation--page[data-motion=parallax] .step-rail-item[data-selected] .step-rail-item__track>span{background:var(--color-landing-accent);border-color:var(--color-landing-on-accent)}.presentation--page[data-motion=parallax] ::selection{background:var(--color-landing-accent);color:var(--color-landing-on-accent)}.disclosure{min-width:0}.disclosure>summary{min-height:var(--control-height-lg);line-height:var(--line-height-snug);word-break:keep-all}.disclosure--compact>.disclosure__body{max-width:none}.disclosure>summary>.disclosure__title{flex:1 1;min-width:0}.disclosure>summary>.disclosure__action{font-size:var(--font-size-xs);color:var(--color-text-muted);white-space:nowrap}.disclosure>summary .disclosure__close,.disclosure[open]>summary .disclosure__open{display:none}.disclosure[open]>summary .disclosure__close{display:inline}@media (prefers-reduced-motion:reduce){.disclosure__mark{transition:none}}.process-sequence{min-width:0;border-block:var(--border-width-thin) solid var(--color-border-strong)}.process-sequence__controls,.process-sequence__top{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-md);padding-block:var(--spacing-lg);color:var(--color-text-muted);font-size:var(--font-size-sm)}.process-sequence__top{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.process-sequence__stages{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr)}.process-sequence button{font:inherit;color:var(--color-text-muted);cursor:pointer;background:transparent;border:0;min-height:var(--layout-presentation-tab-height)}.process-sequence__stages button{display:flex;flex-direction:column;align-items:flex-start;gap:var(--spacing-sm);padding:var(--spacing-md) var(--spacing-xs);border-bottom:var(--border-width-thin) solid var(--color-border-strong);font-size:var(--font-size-base)}.process-sequence__stages button span{font-size:var(--font-size-xs);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.process-sequence__stages button[aria-pressed=true]{color:var(--color-text);border-bottom:var(--border-width-thick) solid var(--color-text)}.process-sequence button:hover{color:var(--color-text);background:var(--color-surface-subtle)}.process-sequence button:focus-visible{outline:var(--border-width-thick) solid var(--color-text);outline-offset:var(--spacing-xs)}.process-sequence__scene{min-height:var(--layout-process-scene-height);padding-block:var(--spacing-2xl) var(--spacing-lg)}.process-sequence__inputs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:var(--spacing-sm);gap:var(--spacing-sm)}.process-sequence__inputs span{padding:var(--spacing-md) var(--spacing-xs);text-align:center;font-size:var(--font-size-sm);border:var(--border-width-thin) solid var(--color-border-strong)}.process-sequence__connections{display:block;width:100%;height:var(--spacing-3xl);overflow:visible}.process-sequence__connections path{fill:none;stroke:var(--color-text-muted);stroke-width:1;vector-effect:non-scaling-stroke;stroke-dasharray:1;animation:process-connection var(--transition-process-trace) both}.process-sequence__reading{text-align:center;padding:var(--spacing-xl);background:var(--color-surface-subtle)}.process-sequence__reading h3{margin:0;font-size:var(--font-size-2xl);font-weight:var(--font-weight-medium);line-height:var(--line-height-tight)}.process-sequence__reading p{margin:var(--spacing-md) 0 0;font-size:var(--font-size-base);line-height:var(--line-height-normal);color:var(--color-text-muted)}.process-sequence__output{text-align:center;padding-top:var(--spacing-lg);font-size:var(--font-size-base)}.process-sequence__output p{margin:var(--spacing-sm) 0 0}.process-sequence__controls{border-top:var(--border-width-thin) solid var(--color-border);font-size:var(--font-size-xs)}.process-sequence__controls button{text-decoration:underline;text-underline-offset:var(--spacing-xs);padding-inline:var(--spacing-sm);flex-shrink:0}@keyframes process-connection{0%{stroke-dashoffset:1}to{stroke-dashoffset:0}}.process-sequence__frame{animation:process-frame-arrive var(--transition-presentation-reveal) both}.process-sequence__output{animation:process-output-arrive var(--transition-process-trace) both}@keyframes process-frame-arrive{0%{opacity:.35;transform:translateY(var(--spacing-md))}to{opacity:1;transform:translateY(0)}}@keyframes process-output-arrive{0%{-webkit-clip-path:inset(0 0 100%);clip-path:inset(0 0 100%)}to{-webkit-clip-path:inset(0);clip-path:inset(0)}}@media (prefers-reduced-motion:no-preference){.process-sequence__inputs span{animation:process-source-arrive .6s cubic-bezier(.16,1,.3,1) both}.process-sequence__inputs span:nth-child(2){animation-delay:.1s}.process-sequence__inputs span:nth-child(3){animation-delay:.2s}.process-sequence__connections path{animation-delay:.3s}.process-sequence__reading{animation:process-reading-arrive .65s cubic-bezier(.16,1,.3,1) .65s both}.process-sequence__output{animation-delay:1s}}@keyframes process-source-arrive{0%{opacity:.2;transform:perspective(700px) translateY(-24px) rotateX(22deg)}to{opacity:1;transform:perspective(700px) translateY(0) rotateX(0)}}@keyframes process-reading-arrive{0%{opacity:.25;transform:scale(.94) translateY(12px)}to{opacity:1;transform:scale(1) translateY(0)}}.process-sequence[data-motion-paused=true] *,.process-sequence[data-motion-paused=true] path{animation-play-state:paused}.process-sequence[data-visual="3d"] .process-sequence__inputs{gap:var(--spacing-sm)}.process-sequence[data-visual="3d"] .process-sequence__inputs span{border-radius:var(--showcase-pill);border:0;background:var(--showcase-toy-peach);color:var(--showcase-toy-ink);font-size:var(--font-size-sm);padding:var(--spacing-sm)}.process-sequence[data-visual="3d"] .process-sequence__inputs span:nth-child(2){background:var(--showcase-toy-lavender)}.process-sequence[data-visual="3d"] .process-sequence__inputs span:nth-child(3){background:var(--showcase-toy-paper)}.process-sequence[data-visual="3d"] .process-sequence__reading{border-radius:var(--showcase-radius);background:var(--showcase-surface)}.process-sequence[data-visual="3d"] .process-sequence__inputs span:first-child{background:var(--showcase-lime)}.scroll-story{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,1fr);grid-gap:var(--presentation-hero-gap);gap:var(--presentation-hero-gap);align-items:start;position:relative}.scroll-story__chapter{min-height:var(--layout-story-chapter-height);display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:var(--spacing-xl);padding-block:var(--spacing-3xl)}.scroll-story__number{font-size:var(--font-size-lg);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--color-text-muted)}.scroll-story__chapter h2{font-size:var(--font-size-headline);font-weight:var(--font-weight-bold);line-height:var(--line-height-tight);letter-spacing:var(--letter-spacing-tight);white-space:pre-line;margin:0;text-wrap:balance}.scroll-story__chapter p{font-size:var(--font-size-xl);line-height:var(--line-height-normal);color:var(--color-text-muted);margin:0;max-width:var(--layout-reading-measure)}.scroll-story__chapter button{display:inline-flex;align-items:center;gap:var(--spacing-lg);font:inherit;font-size:var(--font-size-base);color:var(--color-text);background:transparent;border:0;border-bottom:var(--border-width-thin) solid var(--color-border-strong);min-height:var(--layout-presentation-tab-height);padding:var(--spacing-sm) 0;cursor:pointer}.scroll-story__chapter button svg{transition:transform var(--transition-presentation-reveal)}.scroll-story__chapter button:hover svg,.scroll-story__chapter[data-active=true] button svg{transform:translateX(var(--spacing-xs))}.scroll-story__chapter button:focus-visible{outline:var(--border-width-thick) solid var(--color-text);outline-offset:var(--spacing-xs)}.scroll-story__stage{position:-webkit-sticky;position:sticky;top:var(--spacing-2xl);padding-block:var(--spacing-xl);min-width:0}.scroll-story__meter{height:var(--border-width-thick);background:var(--color-text);transform-origin:left;transform:scaleX(var(--story-progress,0));margin-bottom:var(--spacing-xl)}.scroll-story__stage{scroll-margin-top:var(--spacing-xl)}@media (min-width:64rem) and (min-height:48rem) and (prefers-reduced-motion:no-preference){.scroll-story__chapter{position:relative;isolation:isolate}.scroll-story__number{font-size:clamp(5rem,9vw,9rem);line-height:1;letter-spacing:var(--letter-spacing-tight);color:var(--color-border-strong);transform:translate3d(0,calc(var(--chapter-depth, 0) * -70px),0)}.scroll-story__chapter h2{transform:translate3d(calc(var(--chapter-depth, 0) * 36px),calc(var(--chapter-depth, 0) * 28px),0)}.scroll-story__chapter p{transform:translate3d(0,calc(var(--chapter-depth, 0) * 48px),0)}.scroll-story__stage>:not(.scroll-story__meter){transform:perspective(1400px) translate3d(0,calc(var(--stage-turn, 0) * -36px),0) rotateY(calc(var(--stage-turn, 0) * -7deg)) rotateX(calc(var(--stage-turn, 0) * 4deg));transform-origin:center}}.sticky-header{position:-webkit-sticky;position:sticky;top:0;z-index:var(--z-sticky);min-width:0;background:var(--color-surface);border-bottom:var(--border-width-thin) solid var(--color-border)}@media (max-width:63.99rem){.sticky-header{display:contents}.sticky-header__pinned{position:-webkit-sticky;position:sticky;top:0;z-index:var(--z-sticky);background:var(--color-surface);border-bottom:var(--border-width-thin) solid var(--color-border)}}.rotating-headline{display:grid;margin:0;min-width:0;font-weight:700;font-family:inherit}.rotating-headline__item{grid-area:1/1;min-width:0;visibility:hidden;opacity:0;align-self:start;overflow-wrap:anywhere}.rotating-headline__item[data-active=true]{visibility:visible;opacity:1;animation:rotating-headline-arrive .45s ease-out both}.rotating-headline__line{display:block}.rotating-headline__accent{display:inline-block;max-width:100%;box-sizing:border-box;padding:.02em .2em .1em;border-radius:.22em;color:var(--showcase-on-lime);background:var(--showcase-lime)}@keyframes rotating-headline-arrive{0%{opacity:0;transform:translateY(.16em)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.rotating-headline__item[data-active=true]{animation:none}}.apple-sign-in{display:flex;align-items:center;justify-content:center;position:relative;gap:.75rem;width:100%;min-height:48px;box-sizing:border-box;padding:.85rem 1.25rem;border:1px solid #a6a6a6;border-radius:6px;background:#000;color:#fff;font-family:var(--font-family-sans);font-size:16px;font-weight:500;cursor:pointer}.apple-sign-in svg{flex:0 0 22px}.apple-sign-in:disabled{opacity:.65;cursor:default}.apple-sign-in:focus-visible{outline:2px solid var(--showcase-lime,var(--color-text));outline-offset:4px}