@layer ff.reset,ff.tokens,ff.base,ff.primitives,ff.components,ff.utilities;@layer ff.reset,ff.tokens,ff.base,ff.primitives,ff.components,ff.utilities;@layer ff.reset,ff.tokens,ff.base,ff.primitives,ff.components,ff.utilities;@layer ff.reset,ff.tokens,ff.base,ff.primitives,ff.components,ff.utilities;@layer ff.reset,ff.tokens,ff.base,ff.primitives,ff.components,ff.utilities;@layer ff.reset,ff.tokens,ff.base,ff.primitives,ff.components,ff.utilities;@layer ff.reset,ff.tokens,ff.base,ff.primitives,ff.components,ff.utilities;@layer ff.reset,ff.tokens,ff.base,ff.primitives,ff.components,ff.utilities;@layer ff.reset,ff.tokens,ff.base,ff.primitives,ff.components,ff.utilities;@layer ff.reset,ff.tokens,ff.base,ff.primitives,ff.components,ff.utilities;@layer ff.reset,ff.tokens,ff.base,ff.primitives,ff.components,ff.utilities;@layer ff.reset,ff.tokens,ff.base,ff.primitives,ff.components,ff.utilities;@layer ff.reset,ff.tokens,ff.base,ff.primitives,ff.components,ff.utilities;@layer ff.reset,ff.tokens,ff.base,ff.primitives,ff.components,ff.utilities;@layer ff.reset,ff.tokens,ff.base,ff.primitives,ff.components,ff.utilities;@layer ff.reset,ff.tokens,ff.base,ff.primitives,ff.components,ff.utilities;@layer ff.reset,ff.tokens,ff.base,ff.primitives,ff.components,ff.utilities;@layer ff.reset,ff.tokens,ff.base,ff.primitives,ff.components,ff.utilities;@layer ff.reset,ff.tokens,ff.base,ff.primitives,ff.components,ff.utilities;@layer ff.reset,ff.tokens,ff.base,ff.primitives,ff.components,ff.utilities;@layer ff.reset{*,*:before,*:after{box-sizing:border-box}img{max-width:100%}[hidden]{display:none!important}html{overflow-x:clip;-webkit-text-size-adjust:100%;text-size-adjust:100%}a,button{-webkit-tap-highlight-color:transparent}}@layer ff.tokens{:root{--ff-color-page: #fcfcfb;--ff-color-well: #f5f5f5;--ff-color-card: #ffffff;--ff-color-card-2: #f0f0f0;--ff-color-ink: #1a1a1a;--ff-color-ink-2: #3d3d3d;--ff-color-ink-soft: #555555;--ff-color-muted: #6b6b6b;--ff-color-faint: #a3a3a3;--ff-color-line: rgba(0,0,0,.08);--ff-color-accent: #0a68e0;--ff-color-focus: #1a1a1a;--ff-color-send: #0a68e0;--ff-color-send-ink: #ffffff;--ff-color-success: #177245;--ff-color-danger: #c4320a;--ff-color-studio-tint: #ececfd;--ff-color-studio-ink: #4b39ef;--ff-color-contrast: #1a1a1a;--ff-color-contrast-ink: #ffffff;--ff-color-statusbar-ink: #000;--ff-color-statusbar-ink-on-light: #000;--ff-color-statusbar-ink-on-dark: #fff;--ff-color-ui-card: #ffffff;--ff-color-ui-fill: #ebebeb;--ff-color-ui-line: #dedede;--ff-color-ui-frame: #efefef;--ff-color-sheen: rgba(255,255,255,.95);--ff-color-chrome-bar: #ececec;--ff-color-chrome-bg: #f7f7f7;--ff-color-chrome-ink: rgba(0,0,0,.55);--ff-color-chrome-line: rgba(0,0,0,.08);--ff-color-tile: #fff;--ff-color-tile-ring: rgba(0,0,0,.08);--ff-theme-grain: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -.28 0 0 0 .14'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");--ff-theme-shot-light: block;--ff-theme-shot-dark: none;--ff-theme-logo-filter: brightness(0);--ff-theme-logo-filter-knockout: grayscale(1) brightness(.6) contrast(10);--ff-theme-selected-ring: var(--ff-color-line);--ff-theme-chevron: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236b6b6b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");--ff-space-gutter: clamp(20px, 4vw, 48px);--ff-space-section: clamp(64px, 8.9vw, 128px);--ff-space-head: clamp(40px, 6.7vw, 96px);--ff-space-words: clamp(40px, 4.5vw, 64px);--ff-space-cell: 32px;--ff-space-column: 32px;--ff-space-tile: 28px;--ff-radius-page: 16px;--ff-radius-card: 20px;--ff-radius-field-tall: 22px;--ff-radius-field: 26px;--ff-radius-icon: 10px;--ff-radius-pill: 999px;--ff-shadow-resting: 0 0 0 1px rgba(0,0,0,.08), 0 18px 40px -22px rgba(0,0,0,.22);--ff-shadow-resting-sm: 0 0 0 1px rgba(0,0,0,.05), 0 12px 32px -18px rgba(0,0,0,.18);--ff-shadow-field: 0 1px 2px rgba(0,0,0,.04), 0 8px 24px -14px rgba(0,0,0,.14);--ff-shadow-field-focus: 0 0 0 4px rgba(26,26,26,.06), 0 1px 2px rgba(0,0,0,.04), 0 8px 24px -14px rgba(0,0,0,.14);--ff-shadow-floating: 0 0 0 1px rgba(0,0,0,.08), 0 24px 48px -20px rgba(0,0,0,.28);--ff-size-content: 1344px;--ff-size-words: 440px;--ff-size-stage: 700px;--ff-size-bar: 64px;--ff-size-composer-hero: 720px;--ff-size-composer-close: 640px;--ff-size-composer: 680px;--ff-border-hair: 1px;--ff-border-rule: 1px solid var(--ff-color-line);--ff-duration-fast: .12s;--ff-duration-base: .24s;--ff-ease-ui: cubic-bezier(.25,.46,.45,.94);--ff-ease-out: cubic-bezier(.2,.8,.2,1);--ff-ease-spring: cubic-bezier(.2,.8,.2,1);--ff-z-dropdown: 5;--ff-z-sticky: 19;--ff-z-bar: 20;--ff-z-bar-menu: 21;--ff-z-overlay: 50;--ff-z-skip: 60;--ff-focus-width: 2px;--ff-focus-offset: 2px;--ff-font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;--ff-font-mono: ui-monospace, "SF Mono", SFMono-Regular, Menlo, Consolas, monospace;--ff-text-display: 600 clamp(44px, 4.6vw, 66px)/1.03 var(--ff-font-sans);--ff-text-display-tracking: -.035em;--ff-text-heading: 510 clamp(30px, 3.8vw, 48px)/1.08 var(--ff-font-sans);--ff-text-heading-tracking: -.022em;--ff-text-heading-sm: 510 clamp(30px, 3.1vw, 42px)/1.1 var(--ff-font-sans);--ff-text-heading-sm-tracking: -.022em;--ff-text-stat: 510 clamp(34px, 4.2vw, 56px)/1 var(--ff-font-sans);--ff-text-stat-tracking: -.03em;--ff-text-lede: 400 19px/30px var(--ff-font-sans);--ff-text-lede-tracking: normal;--ff-text-section-lede: 400 clamp(17px, 1.4vw, 20px)/1.45 var(--ff-font-sans);--ff-text-section-lede-tracking: -.012em;--ff-text-quote: 400 19px/28px var(--ff-font-sans);--ff-text-quote-tracking: -.01em;--ff-text-prompt: 400 18px/26px var(--ff-font-sans);--ff-text-prompt-tracking: -.01em;--ff-text-body: 400 16px/1.55 var(--ff-font-sans);--ff-text-body-tracking: normal;--ff-text-card-title: 510 15px/24px var(--ff-font-sans);--ff-text-card-title-tracking: -.011em;--ff-text-card-body: 400 15px/24px var(--ff-font-sans);--ff-text-card-body-tracking: -.011em;--ff-text-nav: 400 14px/1.55 var(--ff-font-sans);--ff-text-nav-tracking: normal;--ff-text-kicker: 510 14px/20px var(--ff-font-sans);--ff-text-kicker-tracking: normal;--ff-text-small: 400 13px/1.4 var(--ff-font-sans);--ff-text-small-tracking: normal;--ff-text-label: 500 11px/16px var(--ff-font-mono);--ff-text-label-tracking: .06em;--ff-text-article-title: 510 clamp(32px, 3.6vw, 48px)/1.08 var(--ff-font-sans);--ff-text-article-title-tracking: -.022em;--ff-text-prose: 400 18px/30px var(--ff-font-sans);--ff-text-prose-tracking: -.011em;--ff-text-prose-h2: 510 28px/1.2 var(--ff-font-sans);--ff-text-prose-h2-tracking: -.018em;--ff-text-prose-h3: 600 19px/28px var(--ff-font-sans);--ff-text-prose-h3-tracking: -.012em;--ff-text-testimonial: 510 clamp(24px, 2.6vw, 34px)/1.25 var(--ff-font-sans);--ff-text-testimonial-tracking: -.02em;--ff-text-question: 510 17px/26px var(--ff-font-sans);--ff-text-question-tracking: -.012em;color-scheme:light}@media(width<1024px){:root{--ff-size-stage: 620px}}@media(width<641px){:root{--ff-space-cell: 24px;--ff-radius-page: 12px;--ff-size-stage: 480px}}@media(width<641px)and (height<=830px){:root{--ff-size-stage: 452px}}@media(width<760px){:root{--ff-size-bar: 56px}}@media(min-resolution:2dppx){:root{--ff-border-hair: .5px}}@supports (transition-timing-function:linear(0,1)){:root{--ff-ease-spring: linear(0, .001 .6%, .006 1.5%, .017 2.7%, .036 3.9%, .062 5.3%, .095 6.8%, .135 8.4%, .18 10%, .231 11.7%, .285 13.5%, .341 15.4%, .399 17.3%, .456 19.3%, .513 21.3%, .569 23.4%, .621 25.5%, .671 27.7%, .717 29.9%, .76 32.2%, .799 34.5%, .833 36.8%, .864 39.2%, .891 41.7%, .914 44.1%, .934 46.6%, .951 49.2%, .964 51.7%, .976 54.3%, .985 57%, .992 59.6%, .997 62.3%, 1.001 65.1%, 1.004 67.8%, 1.006 70.6%, 1.007 73.4%, 1.008 76.3%, 1.008 79.1%, 1.007 82%, 1.007 85%, 1.006 87.9%, 1.006 90.9%, 1.005 93.9%, 1.004 96.9%, 1)}}@media(width<641px){:root{--ff-text-display: 600 clamp(36px, 10.8vw, 42px)/1.05 var(--ff-font-sans);--ff-text-heading: 510 26px/1.2 var(--ff-font-sans);--ff-text-heading-tracking: -.018em;--ff-text-heading-sm: 510 28px/1.15 var(--ff-font-sans);--ff-text-lede: 400 16px/25px var(--ff-font-sans);--ff-text-lede-tracking: -.011em;--ff-text-section-lede: 400 16px/24px var(--ff-font-sans);--ff-text-section-lede-tracking: -.011em;--ff-text-quote: 400 16px/24px var(--ff-font-sans);--ff-text-prompt: 400 16px/24px var(--ff-font-sans);--ff-text-prose: 400 17px/28px var(--ff-font-sans);--ff-text-prose-h2: 510 24px/1.2 var(--ff-font-sans)}}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--ff-color-page: #121212;--ff-color-well: #0b0b0b;--ff-color-card: #1b1b1b;--ff-color-card-2: #262626;--ff-color-ink: #ededed;--ff-color-ink-2: #c8c8c8;--ff-color-ink-soft: #a3a3a3;--ff-color-muted: #a0a0a0;--ff-color-faint: #6b6b6b;--ff-color-line: rgba(255,255,255,.08);--ff-color-accent: #5aa2f0;--ff-color-focus: #ededed;--ff-color-success: #4fbd88;--ff-color-danger: #ff8a65;--ff-color-studio-tint: #4b39ef38;--ff-color-studio-ink: #b7adff;--ff-color-contrast: #ededed;--ff-color-contrast-ink: #111111;--ff-color-statusbar-ink: #fff;--ff-color-ui-card: #181818;--ff-color-ui-fill: #272727;--ff-color-ui-line: #303030;--ff-color-ui-frame: #232323;--ff-color-sheen: rgba(255,255,255,.045);--ff-color-chrome-bar: #26272b;--ff-color-chrome-bg: #1c1d20;--ff-color-chrome-ink: rgba(255,255,255,.6);--ff-color-chrome-line: rgba(255,255,255,.07);--ff-theme-grain: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 .14 0 0 0 -.07'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");--ff-theme-shot-light: none;--ff-theme-shot-dark: block;--ff-theme-logo-filter: brightness(0) invert(1);--ff-theme-logo-filter-knockout: grayscale(1) brightness(.6) contrast(10) invert(1);--ff-theme-selected-ring: color-mix(in oklab, var(--ff-color-ink) 40%, transparent);--ff-theme-chevron: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23a0a0a0' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");--ff-shadow-resting: 0 0 0 1px rgba(255,255,255,.1), 0 18px 40px -22px #000;--ff-shadow-resting-sm: 0 0 0 1px rgba(255,255,255,.08), 0 12px 32px -18px #000;--ff-shadow-field-focus: 0 0 0 4px rgba(237,237,237,.06), 0 1px 2px rgba(0,0,0,.04), 0 8px 24px -14px rgba(0,0,0,.14);--ff-shadow-floating: 0 0 0 1px rgba(255,255,255,.1), 0 24px 48px -20px #000;color-scheme:dark}}:root[data-theme=dark]{--ff-color-page: #121212;--ff-color-well: #0b0b0b;--ff-color-card: #1b1b1b;--ff-color-card-2: #262626;--ff-color-ink: #ededed;--ff-color-ink-2: #c8c8c8;--ff-color-ink-soft: #a3a3a3;--ff-color-muted: #a0a0a0;--ff-color-faint: #6b6b6b;--ff-color-line: rgba(255,255,255,.08);--ff-color-accent: #5aa2f0;--ff-color-focus: #ededed;--ff-color-success: #4fbd88;--ff-color-danger: #ff8a65;--ff-color-studio-tint: #4b39ef38;--ff-color-studio-ink: #b7adff;--ff-color-contrast: #ededed;--ff-color-contrast-ink: #111111;--ff-color-statusbar-ink: #fff;--ff-color-ui-card: #181818;--ff-color-ui-fill: #272727;--ff-color-ui-line: #303030;--ff-color-ui-frame: #232323;--ff-color-sheen: rgba(255,255,255,.045);--ff-color-chrome-bar: #26272b;--ff-color-chrome-bg: #1c1d20;--ff-color-chrome-ink: rgba(255,255,255,.6);--ff-color-chrome-line: rgba(255,255,255,.07);--ff-theme-grain: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 .14 0 0 0 -.07'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");--ff-theme-shot-light: none;--ff-theme-shot-dark: block;--ff-theme-logo-filter: brightness(0) invert(1);--ff-theme-logo-filter-knockout: grayscale(1) brightness(.6) contrast(10) invert(1);--ff-theme-selected-ring: color-mix(in oklab, var(--ff-color-ink) 40%, transparent);--ff-theme-chevron: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23a0a0a0' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");--ff-shadow-resting: 0 0 0 1px rgba(255,255,255,.1), 0 18px 40px -22px #000;--ff-shadow-resting-sm: 0 0 0 1px rgba(255,255,255,.08), 0 12px 32px -18px #000;--ff-shadow-field-focus: 0 0 0 4px rgba(237,237,237,.06), 0 1px 2px rgba(0,0,0,.04), 0 8px 24px -14px rgba(0,0,0,.14);--ff-shadow-floating: 0 0 0 1px rgba(255,255,255,.1), 0 24px 48px -20px #000;color-scheme:dark}[data-theme=light]{--ff-color-page: #fcfcfb;--ff-color-well: #f5f5f5;--ff-color-card: #ffffff;--ff-color-card-2: #f0f0f0;--ff-color-ink: #1a1a1a;--ff-color-ink-2: #3d3d3d;--ff-color-ink-soft: #555555;--ff-color-muted: #6b6b6b;--ff-color-faint: #a3a3a3;--ff-color-line: rgba(0,0,0,.08);--ff-color-accent: #0a68e0;--ff-color-focus: #1a1a1a;--ff-color-success: #177245;--ff-color-danger: #c4320a;--ff-color-studio-tint: #ececfd;--ff-color-studio-ink: #4b39ef;--ff-color-contrast: #1a1a1a;--ff-color-contrast-ink: #ffffff;--ff-color-statusbar-ink: #000;--ff-color-ui-card: #ffffff;--ff-color-ui-fill: #ebebeb;--ff-color-ui-line: #dedede;--ff-color-ui-frame: #efefef;--ff-color-sheen: rgba(255,255,255,.95);--ff-color-chrome-bar: #ececec;--ff-color-chrome-bg: #f7f7f7;--ff-color-chrome-ink: rgba(0,0,0,.55);--ff-color-chrome-line: rgba(0,0,0,.08);--ff-theme-grain: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -.28 0 0 0 .14'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");--ff-theme-shot-light: block;--ff-theme-shot-dark: none;--ff-theme-logo-filter: brightness(0);--ff-theme-logo-filter-knockout: grayscale(1) brightness(.6) contrast(10);--ff-theme-selected-ring: var(--ff-color-line);--ff-theme-chevron: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236b6b6b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");--ff-shadow-resting: 0 0 0 1px rgba(0,0,0,.08), 0 18px 40px -22px rgba(0,0,0,.22);--ff-shadow-resting-sm: 0 0 0 1px rgba(0,0,0,.05), 0 12px 32px -18px rgba(0,0,0,.18);--ff-shadow-field-focus: 0 0 0 4px rgba(26,26,26,.06), 0 1px 2px rgba(0,0,0,.04), 0 8px 24px -14px rgba(0,0,0,.14);--ff-shadow-floating: 0 0 0 1px rgba(0,0,0,.08), 0 24px 48px -20px rgba(0,0,0,.28);color-scheme:light}.ff-drip{--ff-drip-bg: oklch(.9702 0 0);--ff-drip-fg: #1a1a1a;--ff-drip-surface: #fff;--ff-drip-surface-2: oklch(.9524 0 0);--ff-drip-muted: #6b6b6b;--ff-drip-default: oklch(.94 0 0);--ff-drip-border: oklch(.9 0 0);--ff-drip-sep: oklch(.92 0 0);--ff-drip-accent: #0a68e0;--ff-drip-accent-fg: #fff;--ff-drip-success: #177245;--ff-drip-warning: #8f5a0c;--ff-drip-surface-shadow: 0 1px 2px rgba(0,0,0,.03), 0 6px 20px rgba(0,0,0,.05);--ff-drip-overlay-shadow: 0 2px 6px rgba(0,0,0,.04), 0 16px 40px rgba(0,0,0,.08);--ff-drip-overlay-raised: 0 2px 6px rgba(0,0,0,.06), 0 24px 64px rgba(0,0,0,.18);--ff-drip-dim: rgba(20,20,20,.1);--ff-drip-accent-soft: color-mix(in oklab, var(--ff-drip-accent) 15%, transparent);--ff-drip-accent-soft-fg: color-mix(in oklab, var(--ff-drip-accent) 70%, var(--ff-drip-fg));--ff-drip-success-soft: color-mix(in oklab, var(--ff-drip-success) 15%, transparent);--ff-drip-warning-soft: color-mix(in oklab, var(--ff-drip-warning) 15%, transparent);--ff-drip-sep-3: color-mix(in oklab, var(--ff-drip-surface) 81%, var(--ff-drip-fg))}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .ff-drip{--ff-drip-bg: oklch(.15 0 0);--ff-drip-fg: #ededed;--ff-drip-surface: oklch(.2103 0 0);--ff-drip-surface-2: oklch(.257 0 0);--ff-drip-muted: #a0a0a0;--ff-drip-default: oklch(.274 0 0);--ff-drip-border: oklch(.28 0 0);--ff-drip-sep: oklch(.25 0 0);--ff-drip-accent: #5aa2f0;--ff-drip-accent-fg: #101010;--ff-drip-success: #4fbd88;--ff-drip-warning: #d9a050;--ff-drip-surface-shadow: 0 1px 2px rgba(0,0,0,.35), 0 6px 20px rgba(0,0,0,.4);--ff-drip-overlay-shadow: 0 0 0 1px rgba(255,255,255,.08), 0 2px 6px rgba(0,0,0,.4), 0 16px 40px rgba(0,0,0,.5);--ff-drip-overlay-raised: 0 0 0 1px rgba(255,255,255,.08), 0 2px 6px rgba(0,0,0,.4), 0 24px 64px rgba(0,0,0,.6);--ff-drip-dim: rgba(0,0,0,.35)}}:root[data-theme=dark] .ff-drip{--ff-drip-bg: oklch(.15 0 0);--ff-drip-fg: #ededed;--ff-drip-surface: oklch(.2103 0 0);--ff-drip-surface-2: oklch(.257 0 0);--ff-drip-muted: #a0a0a0;--ff-drip-default: oklch(.274 0 0);--ff-drip-border: oklch(.28 0 0);--ff-drip-sep: oklch(.25 0 0);--ff-drip-accent: #5aa2f0;--ff-drip-accent-fg: #101010;--ff-drip-success: #4fbd88;--ff-drip-warning: #d9a050;--ff-drip-surface-shadow: 0 1px 2px rgba(0,0,0,.35), 0 6px 20px rgba(0,0,0,.4);--ff-drip-overlay-shadow: 0 0 0 1px rgba(255,255,255,.08), 0 2px 6px rgba(0,0,0,.4), 0 16px 40px rgba(0,0,0,.5);--ff-drip-overlay-raised: 0 0 0 1px rgba(255,255,255,.08), 0 2px 6px rgba(0,0,0,.4), 0 24px 64px rgba(0,0,0,.6);--ff-drip-dim: rgba(0,0,0,.35)}html:root[data-product=studio]{--ff-color-accent: var(--ff-color-studio-ink)}}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_astro/inter-latin-ext.DpK-iCPk.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_astro/inter-latin.BwkfbSeq.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@layer ff.base{html{scroll-padding-top:72px}@media(prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}body{margin:0;background:var(--ff-theme-grain) 0 0 / 160px 160px,var(--ff-color-page);color:var(--ff-color-ink);font:var(--ff-text-body);letter-spacing:var(--ff-text-body-tracking);font-optical-sizing:auto;-webkit-font-smoothing:antialiased}a{color:inherit}button{font:inherit;color:inherit}:focus-visible{outline:var(--ff-focus-width) solid var(--ff-color-focus);outline-offset:var(--ff-focus-offset);border-radius:6px}::selection{background:color-mix(in oklab,var(--ff-color-accent) 22%,transparent)}h1,h2,h3{margin:0;text-wrap:balance}@supports (text-box:trim-both cap alphabetic){h1,h2{text-box:trim-both cap alphabetic}}p{margin:0}h1{font:var(--ff-text-display);letter-spacing:var(--ff-text-display-tracking)}h2{font:var(--ff-text-heading);letter-spacing:var(--ff-text-heading-tracking)}}@layer ff.primitives{@supports (text-box:trim-both cap alphabetic){.ff-lede,.ff-lede-section,.ff-kicker{text-box:trim-both cap alphabetic}}.ff-wrap{max-width:calc(var(--ff-size-content) + 2 * var(--ff-space-gutter));margin:0 auto;padding-inline:var(--ff-space-gutter)}h1 .ff-ln{display:block}.ff-lede{margin-top:32px;max-width:31em;font:var(--ff-text-lede);letter-spacing:var(--ff-text-lede-tracking);color:var(--ff-color-ink-soft);text-wrap:balance}@media(width<641px){.ff-lede{max-width:21em;margin-top:24px}}section.ff-block{padding-block:var(--ff-space-section)}.ff-lede-section{margin-top:24px;font:var(--ff-text-section-lede);letter-spacing:var(--ff-text-section-lede-tracking);color:var(--ff-color-ink-2);max-width:34em;text-wrap:pretty}.ff-kicker{margin-bottom:16px;font:var(--ff-text-kicker);letter-spacing:var(--ff-text-kicker-tracking);color:var(--ff-color-muted)}@media(width>=821px){.ff-kicker{display:none}}@media(width<641px){section.ff-block{padding-block:64px 0}.ff-kicker{font-size:13px}}}@layer ff.primitives{svg.ff-i{width:1em;height:1em;flex:none;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}a.ff-go{display:inline-flex;align-items:center;gap:4px;font-size:15px;font-weight:510;color:var(--ff-color-ink);text-decoration:none}a.ff-go .ff-i{font-size:1.07em;transition:transform var(--ff-duration-base) var(--ff-ease-ui)}@media(hover:hover){a.ff-go:hover .ff-i{transform:translate(2px)}}@media(prefers-reduced-motion:reduce){a.ff-go .ff-i{transition:none}}.ff-lnk{color:var(--ff-color-ink);text-decoration:underline;text-decoration-color:color-mix(in oklab,var(--ff-color-ink) 25%,transparent);text-underline-offset:3px;text-decoration-thickness:1px}.ff-lnk.ff-lnk-muted{color:var(--ff-color-muted);text-decoration-color:color-mix(in oklab,var(--ff-color-muted) 40%,transparent)}@media(hover:hover){.ff-lnk:hover{text-decoration-color:currentColor}}.ff-lnk-sd{color:var(--ff-color-muted)}.ff-lnk .ff-i{display:inline-block;margin-left:2px;font-size:.85em;vertical-align:-.04em;stroke-width:2}}@layer ff.primitives{.ff-mono{font:var(--ff-text-label);letter-spacing:var(--ff-text-label-tracking);text-transform:uppercase;color:var(--ff-color-faint)}}@layer ff.primitives{.ff-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:44px;padding:0 22px;border-radius:var(--ff-radius-pill);border:0;font-size:15px;font-weight:510;text-decoration:none;cursor:pointer;white-space:nowrap;transition:transform var(--ff-duration-fast) var(--ff-ease-ui),background-color var(--ff-duration-fast) var(--ff-ease-ui),box-shadow var(--ff-duration-fast) var(--ff-ease-ui)}.ff-btn:active{transform:scale(.97)}.ff-btn-primary{background:var(--ff-color-contrast);color:var(--ff-color-contrast-ink)}.ff-btn-sm{height:32px;padding:0 14px;font-size:13px;font-weight:510}.ff-btn:focus-visible{outline:var(--ff-focus-width) solid var(--ff-color-focus);outline-offset:var(--ff-focus-offset)}@media(prefers-reduced-motion:reduce){.ff-btn{transition:none}}.ff-pbtn{all:unset;box-sizing:border-box;display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 12px;border-radius:24px;background:var(--ff-color-ui-fill);font-size:14px;font-weight:500;cursor:pointer;white-space:nowrap;transition:background .15s,box-shadow .15s,opacity .2s}.ff-pbtn .ff-i{font-size:16px}.ff-pbtn.ff-pbtn-outline{background:transparent;box-shadow:inset 0 0 0 1px var(--ff-color-ui-line)}@media(hover:hover){.ff-pbtn:hover{background:color-mix(in oklab,var(--ff-color-ui-fill) 80%,var(--ff-color-ink))}.ff-pbtn.ff-pbtn-outline:hover{box-shadow:inset 0 0 0 1px var(--ff-color-faint)}}.ff-pbtn:focus-visible{outline:var(--ff-focus-width) solid var(--ff-color-focus);outline-offset:var(--ff-focus-offset)}.ff-btn-secondary{background:var(--ff-color-card);color:var(--ff-color-ink);box-shadow:inset 0 0 0 var(--ff-border-hair) var(--ff-color-line),0 1px 2px #0000000a}@media(hover:hover){.ff-btn-secondary:hover{background:var(--ff-color-card-2)}}.ff-btn-secondary.ff-btn-sm[aria-pressed=true]{background:var(--ff-color-card-2);box-shadow:inset 0 0 0 var(--ff-border-hair) var(--ff-color-ink)}.ff-ibtn{all:unset;box-sizing:border-box;display:inline-grid;place-items:center;width:36px;height:36px;border-radius:50%;color:var(--ff-color-muted);cursor:pointer;transition:background-color var(--ff-duration-fast) var(--ff-ease-ui),color var(--ff-duration-fast) var(--ff-ease-ui)}.ff-ibtn .ff-i{font-size:18px}.ff-ibtn-sm{width:32px;height:32px}.ff-ibtn-sm svg{width:16px;height:16px}@media(hover:hover){.ff-ibtn:hover{background:color-mix(in oklab,var(--ff-color-ink) 6%,transparent);color:var(--ff-color-ink)}}.ff-ibtn:focus-visible{outline:var(--ff-focus-width) solid var(--ff-color-focus);outline-offset:var(--ff-focus-offset)}@media(prefers-reduced-motion:reduce){.ff-ibtn{transition:none}}.ff-btn>.ff-prg-spin{width:20px;height:20px}.ff-btn-sm>.ff-prg-spin{width:16px;height:16px}}@layer ff.primitives{.ff-split{--ff-hero-lead:var(--ff-space-head);position:relative;display:grid;grid-template-columns:minmax(0,var(--ff-split-words, var(--ff-size-words))) minmax(0,1fr);align-items:center}.ff-split.ff-split-flip{grid-template-columns:minmax(0,1fr) minmax(0,var(--ff-split-words, var(--ff-size-words)))}.ff-split.ff-split-flip .ff-split-words{order:2}.ff-split-words{padding-right:var(--ff-space-words)}.ff-split.ff-split-flip .ff-split-words{padding-right:0;padding-left:var(--ff-space-words)}.ff-split-words h2{max-width:12em}.ff-split:before{content:"";position:absolute;inset-block:0;left:var(--ff-split-words, var(--ff-size-words));border-left:var(--ff-border-rule)}.ff-split.ff-split-flip:before{left:auto;right:var(--ff-split-words, var(--ff-size-words))}.ff-split-stage{--ff-split-foot:104px;position:relative;height:var(--ff-size-stage);overflow:hidden;-webkit-mask-image:linear-gradient(#000 calc(100% - var(--ff-split-foot)),transparent calc(100% - 16px));mask-image:linear-gradient(#000 calc(100% - var(--ff-split-foot)),transparent calc(100% - 16px))}@media(width<1024px){.ff-split,.ff-split.ff-split-flip{grid-template-columns:minmax(0,1fr);row-gap:48px}.ff-split.ff-split-flip .ff-split-words{order:0}.ff-split-words,.ff-split.ff-split-flip .ff-split-words{padding:0}.ff-split:before{display:none}}@media(width<641px){.ff-split,.ff-split.ff-split-flip{row-gap:32px}.ff-split-stage{--ff-split-foot:56px;margin-inline:calc(-1 * var(--ff-space-gutter))}}}@layer ff.primitives{.ff-logos-by{margin-top:56px;text-align:center;font:510 14px/20px var(--ff-font-sans);color:var(--ff-color-muted)}.ff-logos-logos{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:20px 48px;margin:24px 0 0;padding:0;list-style:none}.ff-logos-logos img{display:block;height:40px;width:auto;filter:var(--ff-theme-logo-filter);opacity:.45}@media(width<641px){.ff-logos-logos{gap:16px 32px}.ff-logos-logos img{height:30px}}}@layer ff.primitives{.ff-slot{position:absolute;inset:0;display:grid;place-items:center;padding:16px;text-align:center}.ff-slot span{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border-radius:8px;border:1px dashed color-mix(in oklab,var(--ff-color-ink) 25%,transparent);font:500 11px/16px var(--ff-font-mono);letter-spacing:.04em;text-transform:uppercase;color:var(--ff-color-muted)}.ff-slot-top{place-items:start center;padding:24px 16px}.ff-slot-corner{place-items:start;padding:12px;text-align:inherit}.ff-slot-narrow span{max-width:36ch}}@layer ff.primitives{.ff-prg-spin{display:inline-block;flex:none;width:16px;height:16px;border-radius:50%;border:1.5px solid color-mix(in srgb,currentColor 20%,transparent);border-top-color:currentColor;animation:ff-prg-turn .8s linear infinite}@keyframes ff-prg-turn{to{rotate:1turn}}@media(prefers-reduced-motion:reduce){.ff-prg-spin{animation:none}}.ff-prg-box{display:grid;place-items:center;padding:24px}.ff-prg-line{display:inline-flex;align-items:center;gap:10px;margin:0;font-size:14px;line-height:20px;color:var(--ff-color-muted);text-align:left}}@layer ff.primitives{.ff-cells-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:0;padding:0;list-style:none;border-radius:var(--ff-radius-page);background:var(--ff-color-well);box-shadow:inset 0 0 0 var(--ff-border-hair) var(--ff-color-line);overflow:hidden}.ff-cells-grid li{padding:32px}.ff-cells-grid li+li{border-left:var(--ff-border-hair) solid var(--ff-color-line)}.ff-cells-ic{display:inline-grid;place-items:center;width:36px;height:36px;border-radius:10px;background:var(--ff-color-card);box-shadow:inset 0 0 0 var(--ff-border-hair) var(--ff-color-line);color:var(--ff-color-ink)}.ff-cells-ic .ff-i{font-size:18px}.ff-cells-grid h3{margin-top:20px;font:var(--ff-text-card-title);letter-spacing:var(--ff-text-card-title-tracking)}.ff-cells-grid p{margin:4px 0 0;font:var(--ff-text-card-body);letter-spacing:var(--ff-text-card-body-tracking);color:var(--ff-color-muted);text-wrap:pretty}@media(width<1024px){.ff-cells-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ff-cells-grid li:nth-child(3){border-left:0}.ff-cells-grid li:nth-child(n+3){border-top:var(--ff-border-hair) solid var(--ff-color-line)}}@media(width<641px){.ff-cells-grid{grid-template-columns:minmax(0,1fr)}.ff-cells-grid li{padding:24px}.ff-cells-grid li+li{border-left:0;border-top:var(--ff-border-hair) solid var(--ff-color-line)}}.ff-cells-foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:24px 48px;margin-top:40px}.ff-cells-act{display:flex;flex-wrap:wrap;gap:12px}}@layer ff.primitives{.ff-ptag{display:inline-flex;align-items:center;gap:6px;height:24px;padding:0 10px 0 8px;border-radius:var(--ff-radius-pill);box-shadow:inset 0 0 0 var(--ff-border-hair) var(--ff-color-line);background:var(--ff-color-card);font-size:12px;line-height:16px;font-weight:510;color:var(--ff-color-ink);white-space:nowrap}.ff-ptag-dot{display:inline-block;flex:none;width:7px;height:7px;border-radius:50%;background:var(--ff-color-accent)}.ff-ptag.ff-ptag-studio .ff-ptag-dot,.ff-ptag-dot.ff-ptag-studio{background:var(--ff-color-studio-ink)}.ff-ptag.ff-ptag-tint{background:var(--ff-color-studio-tint);box-shadow:none;color:var(--ff-color-studio-ink)}.ff-ptags{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0 0;padding:0;list-style:none}}@layer ff.primitives{.ff-swi{position:relative;flex:none;width:36px;height:20px;margin:1px 0 0;padding:0;border:1.5px solid color-mix(in oklab,var(--ff-color-ink) 30%,transparent);border-radius:var(--ff-radius-pill);background:var(--ff-color-card);cursor:pointer;transition:background-color var(--ff-duration-fast) var(--ff-ease-ui),border-color var(--ff-duration-fast) var(--ff-ease-ui)}.ff-swi:before{content:"";position:absolute;top:50%;left:1.5px;width:14px;height:14px;margin-top:-7px;border-radius:50%;background:var(--ff-color-muted);transition:transform var(--ff-duration-fast) var(--ff-ease-ui),background-color var(--ff-duration-fast) var(--ff-ease-ui)}.ff-swi[aria-checked=true]{border-color:var(--ff-color-contrast);background:var(--ff-color-contrast)}.ff-swi[aria-checked=true]:before{transform:translate(16px);background:var(--ff-color-contrast-ink)}.ff-swi:focus-visible{outline:var(--ff-focus-width) solid var(--ff-color-focus);outline-offset:var(--ff-focus-offset)}.ff-swi[aria-disabled=true]{opacity:.4;cursor:not-allowed}.ff-swi-in{display:inline-flex;align-items:flex-start;gap:10px;padding-block:11px;font-size:15px;line-height:22px;color:var(--ff-color-ink);cursor:pointer}@media(prefers-reduced-motion:reduce){.ff-swi,.ff-swi:before{transition:none}}}@layer ff.primitives{html:not([data-ff-billing=yearly]) .ff-price[data-ff-period=yearly],html[data-ff-billing=yearly] .ff-price[data-ff-period=monthly]{display:none}}@layer ff.primitives{.ff-prose{font:var(--ff-text-prose);letter-spacing:var(--ff-text-prose-tracking);color:var(--ff-color-ink)}.ff-prose>*+*{margin-top:20px}.ff-prose h2{margin-top:56px;font:var(--ff-text-prose-h2);letter-spacing:var(--ff-text-prose-h2-tracking)}.ff-prose h3{margin-top:36px;font:var(--ff-text-prose-h3);letter-spacing:var(--ff-text-prose-h3-tracking)}.ff-prose :is(h2,h3)+*{margin-top:12px}.ff-prose h2+h3{margin-top:16px}.ff-prose :is(ul,ol){padding-left:1.25em}.ff-prose li+li{margin-top:8px}.ff-prose li::marker{color:var(--ff-color-muted)}.ff-prose strong{font-weight:600}.ff-prose h4{margin-top:24px;font-size:inherit;font-weight:600}.ff-prose h4+*{margin-top:8px}.ff-prose a{color:var(--ff-color-ink);text-decoration:underline;text-decoration-color:color-mix(in oklab,var(--ff-color-ink) 25%,transparent);text-underline-offset:3px;text-decoration-thickness:1px}.ff-prose code{padding:.1em .35em;border-radius:6px;background:var(--ff-color-well);box-shadow:inset 0 0 0 1px var(--ff-color-line);font:500 .84em/1 var(--ff-font-mono)}.ff-prose pre{overflow-x:auto;padding:16px;border-radius:var(--ff-radius-page);background:var(--ff-color-well);box-shadow:inset 0 0 0 var(--ff-border-hair) var(--ff-color-line)}.ff-prose pre:empty{display:none}.ff-prose pre code{padding:0;background:none;box-shadow:none}.ff-prose figure{margin:36px auto}.ff-prose figure img{display:block;width:100%;height:auto;border-radius:var(--ff-radius-page);box-shadow:var(--ff-shadow-resting)}.ff-prose figure[data-media-width=portrait]{max-width:320px}.ff-prose figure[data-media-width=medium]{max-width:440px}.ff-prose figure:is([data-media-width=portrait],[data-media-width=medium])>img{width:auto;max-width:100%;margin-inline:auto}.ff-prose figcaption{margin-top:12px;text-align:center;font-size:13px;line-height:20px;color:var(--ff-color-muted)}.ff-prose [data-media-crop]{overflow:hidden;border-radius:var(--ff-radius-page);box-shadow:var(--ff-shadow-resting);background:#11191d}.ff-prose [data-media-crop] img{border-radius:0;box-shadow:none}.ff-prose [data-media-crop=upsert]{aspect-ratio:680 / 836}.ff-prose [data-media-crop=upsert] img{width:138%;max-width:none;transform:translate(-14.3%,-12.4%)}.ff-prose [data-media-crop=rpc]{aspect-ratio:660 / 320}.ff-prose [data-media-crop=rpc] img{width:127%;max-width:none;transform:translate(-10.7%)}.ff-prose figure[data-page-url]{position:relative;height:0;overflow:hidden;border-radius:var(--ff-radius-page);box-shadow:var(--ff-shadow-resting)}.ff-prose figure[data-page-url]>div,.ff-prose figure[data-page-url] iframe{position:absolute;inset:0;width:100%;height:100%;border:0}.ff-prose [data-rt-embed-type]{margin-block:32px}.ff-prose .ff-doc-link{display:flex;width:fit-content;align-items:center;gap:7px;margin-top:8px;font-size:15px;color:var(--ff-color-muted);text-decoration:none}.ff-prose .ff-doc-link svg{flex:none;width:16px;height:16px}@media(hover:hover){.ff-prose .ff-doc-link:hover{color:var(--ff-color-ink)}}.ff-prose img{display:block;max-width:100%;height:auto;margin-inline:auto;border-radius:var(--ff-radius-page);box-shadow:var(--ff-shadow-resting)}.ff-prose p:has(>img:only-child){margin-block:36px}.ff-prose ol{list-style:decimal}.ff-prose ol ol{list-style:lower-alpha}.ff-prose ol ol ol{list-style:lower-roman}.ff-prose li>:is(ul,ol){margin-top:8px}.ff-prose li ul{list-style:"– "}.ff-prose blockquote{margin:36px 0;font-size:24px;line-height:1.35;font-weight:510;letter-spacing:-.018em;text-wrap:balance}.ff-prose hr{margin-block:48px;border:0;border-top:var(--ff-border-rule)}.ff-prose table{display:block;max-width:100%;overflow-x:auto;border-collapse:collapse;font-size:15px;line-height:22px}.ff-prose :not(pre)>code{overflow-wrap:anywhere}.ff-prose :is(th,td){padding:10px 12px 10px 0;border-bottom:var(--ff-border-rule);text-align:left;vertical-align:top}.ff-prose th{font-weight:510}.ff-prose iframe{display:block;width:100%;aspect-ratio:16 / 9;height:auto;border:0;border-radius:var(--ff-radius-page)}.ff-prose pre[class*=astro-code]{padding:16px 20px;font-size:14px;line-height:22px}.ff-prose .ff-table{margin-block:32px;border-radius:var(--ff-radius-page);background:var(--ff-color-well);box-shadow:inset 0 0 0 var(--ff-border-hair) var(--ff-color-line);overflow-x:auto;overscroll-behavior-x:contain}.ff-prose .ff-table:focus-visible{outline:var(--ff-focus-width) solid var(--ff-color-focus);outline-offset:var(--ff-focus-offset)}.ff-prose .ff-table table{display:table;max-width:none;overflow:visible;width:100%;min-width:480px;border-collapse:collapse;font-size:15px;line-height:22px;letter-spacing:-.006em;font-variant-numeric:tabular-nums}.ff-prose .ff-table :is(th,td){padding:14px 20px;border-bottom:0;text-align:left;vertical-align:top}.ff-prose .ff-table thead th{padding-block:12px 11px;border-bottom:var(--ff-border-rule);font-size:13px;line-height:18px;font-weight:510;letter-spacing:0;color:var(--ff-color-muted)}.ff-prose .ff-table tbody tr+tr>*{border-top:var(--ff-border-rule)}.ff-prose .ff-table td{color:var(--ff-color-ink-2)}.ff-prose .ff-table tbody tr>:first-child{font-weight:510;color:var(--ff-color-ink)}.ff-prose figure>.ff-table{margin-block:0}@media(width<641px){.ff-prose .ff-table table{min-width:0}.ff-prose .ff-table :is(th,td){padding:12px 14px}}}@layer ff.primitives{.ff-seg{position:relative;isolation:isolate;display:inline-flex;padding:3px;border-radius:var(--ff-radius-pill);box-shadow:inset 0 0 0 1px var(--ff-color-line)}.ff-seg button{all:unset;position:relative;z-index:1;box-sizing:border-box;display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 14px;border-radius:var(--ff-radius-pill);font-size:14px;font-weight:510;color:var(--ff-color-muted);white-space:nowrap;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:color var(--ff-duration-fast) var(--ff-ease-ui),background-color var(--ff-duration-fast) var(--ff-ease-ui)}.ff-seg button:is([aria-checked=true],[aria-selected=true]){background:var(--ff-color-card);color:var(--ff-color-ink);box-shadow:0 0 0 1px var(--ff-seg-ring, var(--ff-theme-selected-ring)),0 1px 2px #0000000f}.ff-seg-badge{display:inline-flex;align-items:center;height:20px;margin-left:2px;padding:0 6px;border-radius:var(--ff-radius-pill);background:var(--ff-color-card-2);color:var(--ff-color-ink-2);font-size:11px;line-height:16px;font-weight:510}.ff-seg:before{content:"";position:absolute;top:0;left:0;pointer-events:none;opacity:0;width:var(--ff-seg-width,0px);height:var(--ff-seg-height,0px);transform:translate(var(--ff-seg-x,0px),var(--ff-seg-y,0px));border-radius:var(--ff-radius-pill);background:var(--ff-color-card);box-shadow:0 0 0 1px var(--ff-seg-ring, var(--ff-theme-selected-ring)),0 1px 2px #0000000f}.ff-seg[data-ff-seg-ready]:before{opacity:1}.ff-seg[data-ff-seg-ready] button[aria-checked=true]{background:transparent;box-shadow:none}.ff-seg[data-ff-seg-motion]:before{transition:transform var(--ff-duration-base) var(--ff-ease-ui),width var(--ff-duration-base) var(--ff-ease-ui)}@media(hover:hover){.ff-seg button:hover{color:var(--ff-color-ink)}}.ff-seg button:focus-visible{outline:var(--ff-focus-width) solid var(--ff-color-focus);outline-offset:var(--ff-focus-offset)}@media(width<421px){.ff-seg{max-width:100%}.ff-seg button{padding:0 10px;gap:5px}}@media(prefers-reduced-motion:reduce){.ff-seg button,.ff-seg[data-ff-seg-motion]:before{transition:none}}}@layer ff.primitives{.ff-fld{display:grid;gap:8px;min-width:0;align-content:start}.ff-fld.ff-fld-wide,.ff-chc-set.ff-fld-wide{grid-column:1 / -1}.ff-fld-l{font:510 14px/20px var(--ff-font-sans);color:var(--ff-color-ink)}.ff-fld-l .ff-fld-opt{font-weight:400;color:var(--ff-color-muted)}.ff-fld-i{display:block;width:100%;height:44px;padding:0 18px;border:1px solid color-mix(in oklab,var(--ff-color-ink) 12%,transparent);border-radius:var(--ff-radius-pill);background:var(--ff-color-card);font:400 16px/24px var(--ff-font-sans);color:var(--ff-color-ink);box-shadow:var(--ff-shadow-field);transition:border-color var(--ff-duration-fast) var(--ff-ease-ui),box-shadow var(--ff-duration-fast) var(--ff-ease-ui);-webkit-appearance:none;appearance:none}.ff-fld-i::placeholder{color:color-mix(in oklab,var(--ff-color-muted) 80%,transparent)}.ff-fld-i:focus{outline:none;border-color:color-mix(in oklab,var(--ff-color-ink) 40%,transparent);box-shadow:var(--ff-shadow-field-focus)}textarea.ff-fld-i{height:auto;min-height:120px;padding:12px 18px;border-radius:var(--ff-radius-field-tall);resize:vertical}select.ff-fld-i{padding-right:44px;background-image:var(--ff-theme-chevron);background-repeat:no-repeat;background-position:right 16px center;background-size:16px}select.ff-fld-i:has(option[value=""]:checked){color:var(--ff-color-muted)}.ff-fld-i[readonly],.ff-fld-i[aria-disabled=true],.ff-fld-i:disabled{color:var(--ff-color-muted)}.ff-fld-i:disabled{cursor:not-allowed}.ff-fld-h{margin:0;font-size:13px;line-height:18px;color:var(--ff-color-muted)}.ff-fld-e{display:flex;align-items:flex-start;gap:6px;margin:0;font-size:13px;line-height:18px;color:var(--ff-color-danger)}.ff-fld-e .ff-i{margin-top:1px;font-size:14px}.ff-fld.ff-fld-bad .ff-fld-i{border-color:var(--ff-color-danger)}.ff-fld.ff-fld-bad .ff-fld-i:focus{box-shadow:0 0 0 4px color-mix(in oklab,var(--ff-color-danger) 14%,transparent)}.ff-fld-in{width:100%}.ff-fld-row{display:flex;align-items:center;gap:4px;padding:3px;border:1px solid color-mix(in oklab,var(--ff-color-ink) 12%,transparent);border-radius:var(--ff-radius-field);background:var(--ff-color-card);box-shadow:var(--ff-shadow-field);transition:border-color var(--ff-duration-fast) var(--ff-ease-ui),box-shadow var(--ff-duration-fast) var(--ff-ease-ui)}.ff-fld-row:focus-within{border-color:color-mix(in oklab,var(--ff-color-ink) 40%,transparent);box-shadow:var(--ff-shadow-field-focus)}.ff-fld-row .ff-fld-i{flex:1;min-width:0;height:44px;padding:0 12px 0 17px;border:0;border-radius:0;background:transparent;box-shadow:none}.ff-fld-row .ff-fld-i:focus{box-shadow:none}.ff-fld-row>.ff-btn{flex:none}.ff-fld.ff-fld-bad .ff-fld-row{border-color:var(--ff-color-danger)}.ff-fld.ff-fld-bad .ff-fld-row:focus-within{box-shadow:0 0 0 4px color-mix(in oklab,var(--ff-color-danger) 14%,transparent)}.ff-fld-in .ff-fld-h a{color:inherit;text-decoration:underline;text-decoration-color:color-mix(in oklab,var(--ff-color-muted) 40%,transparent);text-underline-offset:3px}.ff-fld-done{display:flex;align-items:center;gap:12px;min-height:52px;margin:0;font-size:15px;line-height:22px;letter-spacing:-.011em;color:var(--ff-color-ink)}.ff-fld-done:focus-visible{outline:var(--ff-focus-width) solid var(--ff-color-focus);outline-offset:4px;border-radius:12px}.ff-fld-ok{display:grid;place-items:center;flex:none;width:24px;height:24px;border-radius:50%;background:var(--ff-color-success);color:var(--ff-color-page);font-size:14px}.ff-fld-ok .ff-i{stroke-width:2.8}.ff-chc-set{display:grid;gap:12px;margin:0;padding:0;border:0;min-width:0}.ff-chc-set legend{margin-bottom:12px;padding:0;font:510 14px/20px var(--ff-font-sans);color:var(--ff-color-ink)}.ff-chc-set .ff-fld-e[role=alert]{margin-bottom:4px}.ff-chc{--ff-chc-tick:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E");display:flex;align-items:flex-start;gap:10px;font-size:15px;line-height:22px;color:var(--ff-color-ink);cursor:pointer}.ff-chc input{flex:none;display:grid;place-items:center;width:18px;height:18px;margin:2px 0 0;border:1.5px solid color-mix(in oklab,var(--ff-color-ink) 30%,transparent);border-radius:5px;background:var(--ff-color-card);-webkit-appearance:none;appearance:none;cursor:pointer;transition:background-color var(--ff-duration-fast) var(--ff-ease-ui),border-color var(--ff-duration-fast) var(--ff-ease-ui)}.ff-chc input[type=radio]{border-radius:50%}.ff-chc input:checked{border-color:var(--ff-color-contrast);background:var(--ff-color-contrast)}.ff-chc input[type=radio]:checked:after{content:"";width:8px;height:8px;border-radius:50%;background:var(--ff-color-contrast-ink)}.ff-chc input[type=checkbox]:checked:after{content:"";width:12px;height:12px;background:var(--ff-color-contrast-ink);-webkit-mask:var(--ff-chc-tick) center / 12px no-repeat;mask:var(--ff-chc-tick) center / 12px no-repeat}.ff-chc input:focus-visible{outline:var(--ff-focus-width) solid var(--ff-color-focus);outline-offset:var(--ff-focus-offset)}.ff-chc input[aria-disabled=true]{cursor:default}.ff-chc small{display:block;font-size:13px;line-height:18px;color:var(--ff-color-muted)}.ff-chc input:disabled{opacity:.4;cursor:not-allowed}.ff-chc:has(input:disabled){color:var(--ff-color-muted);cursor:not-allowed}.ff-chc+.ff-fld-h{margin:-4px 0 0 28px}.ff-fld-h a.ff-lnk{color:inherit;text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px;text-decoration-color:color-mix(in oklab,currentColor 40%,transparent)}@media(hover:hover){.ff-fld-h a.ff-lnk:hover{text-decoration-color:currentColor}}.ff-chc-set.ff-fld-bad .ff-chc input,.ff-chc-set.ff-fld-bad .ff-chc-cells span{border-color:var(--ff-color-danger)}.ff-chc-rate{display:grid;width:max-content;max-width:100%}.ff-chc-cells{display:grid;grid-auto-flow:column;grid-auto-columns:40px;gap:8px}.ff-chc-cells label{position:relative;cursor:pointer}.ff-chc-cells input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}.ff-chc-cells span{display:grid;place-items:center;height:40px;border:1.5px solid color-mix(in oklab,var(--ff-color-ink) 30%,transparent);border-radius:var(--ff-radius-icon);background:var(--ff-color-card);font:510 15px/1 var(--ff-font-sans);font-variant-numeric:tabular-nums;color:var(--ff-color-ink);transition:background-color var(--ff-duration-fast) var(--ff-ease-ui),border-color var(--ff-duration-fast) var(--ff-ease-ui),color var(--ff-duration-fast) var(--ff-ease-ui)}.ff-chc-cells input:checked+span{border-color:var(--ff-color-contrast);background:var(--ff-color-contrast);color:var(--ff-color-contrast-ink)}.ff-chc-cells input:focus-visible+span{outline:var(--ff-focus-width) solid var(--ff-color-focus);outline-offset:var(--ff-focus-offset)}.ff-chc-cells input:disabled+span{opacity:.4}.ff-chc-cells label:has(input:disabled){cursor:not-allowed}.ff-chc-ends{display:flex;justify-content:space-between;gap:16px;margin-top:10px;font-size:13px;line-height:18px;color:var(--ff-color-muted)}.ff-chc-k{display:none}@media(prefers-reduced-motion:reduce){.ff-fld-i,.ff-fld-row,.ff-chc input,.ff-chc-cells span{transition:none}}}@layer ff.utilities{.ff-vh{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}img.ff-l{display:var(--ff-theme-shot-light)}img.ff-d{display:var(--ff-theme-shot-dark)}@media(prefers-reduced-motion:no-preference){.ff-intro .ff-rise{animation:ff-rise .3s ease-out both;animation-delay:var(--ff-rise-delay, 0s)}@keyframes ff-rise{0%{opacity:0}}}[data-ff-phn-only]{display:none}html[data-ff-os=phone] [data-ff-phn-only]{display:revert}html[data-ff-os=phone] [data-ff-desktop-only]{display:none}}@layer ff.reset,ff.tokens,ff.base,ff.primitives,ff.components,ff.utilities;@layer ff.components{.ff-page-skip{position:absolute;left:max(var(--ff-space-gutter),calc((100% - var(--ff-size-content)) / 2));top:10px;z-index:var(--ff-z-skip);display:inline-flex;align-items:center;height:44px;padding:0 22px;border-radius:var(--ff-radius-pill);background:var(--ff-color-contrast);color:var(--ff-color-contrast-ink);font-size:15px;font-weight:510;text-decoration:none;transform:translateY(calc(-100% - 24px));transition:transform var(--ff-duration-base) var(--ff-ease-ui)}.ff-page-skip:focus{transform:none;outline:var(--ff-focus-width) solid var(--ff-color-focus);outline-offset:var(--ff-focus-offset)}main#main:focus{outline:none}@media(width<760px){.ff-page-skip{top:6px;right:var(--ff-space-gutter);left:var(--ff-space-gutter);justify-content:center}}@media(prefers-reduced-motion:reduce){.ff-page-skip{transition:none}}}.ff-prose .changelog-capture>img.l{display:var(--ff-theme-shot-light)}.ff-prose .changelog-capture>img.d{display:var(--ff-theme-shot-dark)}.ff-chg-also{max-width:62ch}@layer ff.reset,ff.tokens,ff.base,ff.primitives,ff.components,ff.utilities;@layer ff.components{.ff-ftr-site-foot{margin-top:0;padding-top:clamp(56px,5vw,64px);border-top:var(--ff-border-hair) solid var(--ff-color-line);font-size:13px;color:var(--ff-color-muted)}.ff-ftr-site-foot a{color:inherit;text-decoration:none}@media(hover:hover){.ff-ftr-site-foot a:hover{color:var(--ff-color-ink)}}.ff-ftr-site-foot a:focus-visible{outline:var(--ff-focus-width) solid var(--ff-color-focus);outline-offset:3px;border-radius:4px}.ff-ftr-top{display:grid;grid-template-columns:minmax(240px,1fr) minmax(0,2fr);gap:40px}.ff-ftr-id p{margin:16px 0 0;max-width:300px;line-height:1.5}.ff-ftr-id p a{color:var(--ff-color-ink);white-space:nowrap;text-decoration:underline;text-decoration-color:color-mix(in oklab,var(--ff-color-ink) 25%,transparent);text-underline-offset:3px}.ff-ftr-cols{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:48px}.ff-ftr-cols h2{margin:0 0 16px;font:510 13px/1.2 var(--ff-font-sans);letter-spacing:0;color:var(--ff-color-ink)}.ff-ftr-cols ul{list-style:none;margin:0;padding:0;display:grid;gap:2px}.ff-ftr-cols li a{display:inline-flex;align-items:center;min-height:28px}.ff-ftr-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px 24px;margin-top:clamp(56px,7vw,96px);font-size:13px}.ff-ftr-legal{display:flex;flex-wrap:wrap;gap:8px 20px}.ff-ftr-flash{height:var(--ff-ftr-flash-height, 186px);margin:clamp(20px,3vw,36px) calc(-1 * var(--ff-space-gutter)) 0}.ff-ftr-flash canvas{display:block;width:100%;height:100%}@media(width<760px){.ff-ftr-top{grid-template-columns:1fr}.ff-ftr-cols{grid-template-columns:repeat(2,minmax(0,1fr));gap:48px 32px}.ff-ftr-bar{flex-direction:column-reverse;align-items:flex-start;margin-top:48px}}}@layer ff.reset,ff.tokens,ff.base,ff.primitives,ff.components,ff.utilities;@layer ff.components{.ff-ftr-all[data-astro-cid-6evfh7up] .ff-ftr-top[data-astro-cid-6evfh7up]{grid-template-columns:minmax(0,1fr);gap:0}.ff-ftr-brand[data-astro-cid-6evfh7up]{font-size:18px;color:var(--ff-color-ink)}.ff-ftr-all[data-astro-cid-6evfh7up] .ff-ftr-id[data-astro-cid-6evfh7up]{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px 32px;padding-bottom:clamp(56px,5vw,64px);border-bottom:var(--ff-border-hair) solid var(--ff-color-line)}.ff-ftr-all[data-astro-cid-6evfh7up] .ff-ftr-id[data-astro-cid-6evfh7up] p[data-astro-cid-6evfh7up]{margin:0;max-width:none}.ff-ftr-all[data-astro-cid-6evfh7up] .ff-ftr-id[data-astro-cid-6evfh7up] .ff-ptag-dot[data-astro-cid-6evfh7up]{margin-right:8px;vertical-align:1px}.ff-ftr-all[data-astro-cid-6evfh7up] .ff-ftr-id[data-astro-cid-6evfh7up] p[data-astro-cid-6evfh7up] a[data-astro-cid-6evfh7up]+a[data-astro-cid-6evfh7up]{margin-left:12px}.ff-ftr-all[data-astro-cid-6evfh7up] .ff-ftr-cols[data-astro-cid-6evfh7up]{grid-template-columns:repeat(6,minmax(0,1fr));gap:32px;padding-top:40px}.ff-ftr-all[data-astro-cid-6evfh7up] .ff-ftr-cols[data-astro-cid-6evfh7up] li[data-astro-cid-6evfh7up] a[data-astro-cid-6evfh7up]{gap:3px}.ff-ftr-all[data-astro-cid-6evfh7up] .ff-ftr-cols[data-astro-cid-6evfh7up] a[data-astro-cid-6evfh7up] .ff-i[data-astro-cid-6evfh7up]{font-size:11px;stroke-width:2}@media(width<1024px){.ff-ftr-all[data-astro-cid-6evfh7up] .ff-ftr-cols[data-astro-cid-6evfh7up]{grid-template-columns:repeat(3,minmax(0,1fr));gap:40px 32px}}@media(width<760px){.ff-ftr-all[data-astro-cid-6evfh7up] .ff-ftr-cols[data-astro-cid-6evfh7up]{grid-template-columns:repeat(2,minmax(0,1fr))}}.ff-ptag-dot[data-astro-cid-6evfh7up]{display:inline-block;flex:none;width:7px;height:7px;border-radius:50%;background:var(--ff-color-studio-ink)}}
