.cs-root{--cs-ink-0:#07090B;--cs-ink-1:#0A0D10;--cs-ink-2:#10151A;--cs-ink-3:#151B21;--cs-ink-4:#0D1216;--cs-line-1:#1B222A;--cs-line-2:#232C35;--cs-line-3:#33404B;--cs-line-4:#55677A;--cs-fg-1:#E6ECF1;--cs-fg-2:#9FAFBC;--cs-fg-3:#8997A3;--cs-fg-4:#748491;--cs-paper-base:#12100D;--cs-paper-raised:#1A1713;--cs-paper-line:#2A2520;--cs-paper-fg-1:#F1EDE6;--cs-paper-fg-2:#BCB2A4;--cs-light:#4C93FF;--cs-light-dim:#2A4E80;--cs-halo:color-mix(in srgb,var(--w-spectrum-1) 15%,transparent);--cs-halo-2:color-mix(in srgb,var(--w-spectrum-3) 66%,transparent);--cs-halo-3:color-mix(in srgb,var(--w-spectrum-5) 52%,transparent);--cs-paint-shade:#05070A;--cs-paint-fg:#FFFFFF;--cs-paint-fg-dim:#E8EEF6;--cs-paint-1:color-mix(in srgb,var(--w-spectrum-1) 62%,var(--cs-paint-shade));--cs-paint-2:color-mix(in srgb,var(--w-spectrum-2) 62%,var(--cs-paint-shade));--cs-paint-3:color-mix(in srgb,var(--w-spectrum-3) 62%,var(--cs-paint-shade));--cs-paint-4:color-mix(in srgb,var(--w-spectrum-4) 62%,var(--cs-paint-shade));--cs-paint-5:color-mix(in srgb,var(--w-spectrum-5) 62%,var(--cs-paint-shade));--cs-fill-1:linear-gradient(117deg,var(--cs-paint-1) 0%,var(--cs-paint-2) 100%);--cs-fill-2:linear-gradient(293.2deg,var(--cs-paint-4) 13.45%,var(--cs-paint-5) 73.57%,var(--cs-paint-3) 100%);--cs-fill-3:linear-gradient(335.07deg,var(--cs-paint-1) 0%,var(--cs-paint-2) 40.63%,var(--cs-paint-4) 100%);--cs-fill-4:linear-gradient(294.91deg,var(--cs-paint-3) -50.1%,var(--cs-paint-1) 97.43%);--cs-fill-5:linear-gradient(283.8deg,var(--cs-paint-1) 5.73%,var(--cs-paint-2) 68.4%,var(--cs-paint-3) 100%);--cs-fill-6:linear-gradient(212.4deg,var(--cs-paint-5) -12.47%,var(--cs-paint-4) 61.8%,var(--cs-paint-2) 99.96%);--cs-shadow-bloom:0 1.5rem 3rem -1rem rgba(0,0,0,0.72);--cs-shadow-hair:inset 0 1px 0 0 rgba(230,236,241,0.06);--cs-grain-alpha:0.055;--cs-grain-blend:overlay;--cs-mesh-alpha:0.11;--cs-edge-ring:inset 0 0 0 1px rgba(230,236,241,0.085),0 1px 2px rgba(0,0,0,0.34),0 0 0 1px rgba(7,9,11,1);--cs-edge-ring-hi:inset 0 0 0 1px rgba(230,236,241,0.16),0 1px 2px rgba(0,0,0,0.42),0 0 0 1px rgba(7,9,11,1);--cs-display-1-size:clamp(2rem,1.2rem + 3.55vw,3.5rem);--cs-display-1-line:1;--cs-display-1-tracking:-0.035em;--cs-display-1-weight:600;--cs-display-2-size:clamp(1.75rem,1.2rem + 2.3vw,2.75rem);--cs-display-2-line:1.02;--cs-display-2-tracking:-0.03em;--cs-display-2-weight:600;--cs-h2-size:clamp(1.375rem,1.05rem + 1.5vw,2rem);--cs-h2-line:1.12;--cs-h2-tracking:-0.03em;--cs-h2-weight:600;--cs-h3-size:clamp(1.0625rem,0.98rem + 0.42vw,1.25rem);--cs-h3-line:1.3;--cs-h3-tracking:-0.02em;--cs-h3-weight:600;--cs-h4-size:0.9375rem;--cs-h4-line:1.45;--cs-h4-tracking:-0.006em;--cs-h4-weight:600;--cs-lead-size:clamp(0.9375rem,0.9rem + 0.22vw,1.0625rem);--cs-lead-line:1.5;--cs-lead-tracking:-0.006em;--cs-lead-weight:400;--cs-body-size:0.9375rem;--cs-body-line:1.55;--cs-body-tracking:-0.003em;--cs-body-weight:400;--cs-small-size:0.8125rem;--cs-small-line:1.5;--cs-small-tracking:0;--cs-small-weight:400;--cs-caption-size:0.8125rem;--cs-caption-line:1.45;--cs-caption-tracking:0.005em;--cs-caption-weight:400;--cs-code-size:0.8125rem;--cs-code-line:1.65;--cs-code-tracking:0;--cs-code-weight:400;--cs-eyebrow-size:0.6875rem;--cs-eyebrow-line:1.45;--cs-eyebrow-tracking:0.14em;--cs-eyebrow-weight:500;--cs-micro-size:0.625rem;--cs-micro-line:1.6;--cs-micro-tracking:0.12em;--cs-micro-weight:500;--cs-figure-size:clamp(2rem,1.4rem + 2.7vw,3.5rem);--cs-figure-line:1;--cs-figure-tracking:-0.02em;--cs-figure-weight:500;--cs-read:calc(var(--w-measure-prose) * 0.74);--cs-read-narrow:var(--w-measure-narrow);--cs-band-y:clamp(2.5rem,1.6rem + 4.2vw,4.5rem);--cs-band-y-tight:clamp(2rem,1.4rem + 2.6vw,3rem);--cs-max:clamp(80rem,90vw,90rem);--cs-max-wide:min(94vw,112.5rem);--cs-header-h:56px;--cs-ease-out:cubic-bezier(0.16,1,0.3,1);--cs-ease-inout:cubic-bezier(0.65,0,0.35,1);--cs-dur-reveal:520ms;--cs-dur-stage:720ms;--cr-travel:12px;--cr-travel-x:0px;--cr-step:55ms;color:var(--cs-fg-1);font-family:var(--w-font-sans);font-size:var(--cs-body-size);line-height:var(--cs-body-line);letter-spacing:var(--cs-body-tracking)}:root{--cs-page-ground:#0A0D10;--cs-field:color-mix(in srgb,var(--w-spectrum-1) 22%,transparent);--cs-field-2:color-mix(in srgb,var(--w-spectrum-3) 20%,transparent);--cs-field-3:color-mix(in srgb,var(--w-spectrum-5) 18%,transparent)}:root[data-theme=light]{--cs-page-ground:#F7F9FA;--cs-field:color-mix(in srgb,var(--w-spectrum-1) 18%,transparent);--cs-field-2:color-mix(in srgb,var(--w-spectrum-3) 16%,transparent);--cs-field-3:color-mix(in srgb,var(--w-spectrum-5) 14%,transparent)}@media (prefers-color-scheme:light){:root:not([data-theme=dark]){--cs-page-ground:#F7F9FA;--cs-field:color-mix(in srgb,var(--w-spectrum-1) 18%,transparent);--cs-field-2:color-mix(in srgb,var(--w-spectrum-3) 16%,transparent);--cs-field-3:color-mix(in srgb,var(--w-spectrum-5) 14%,transparent)}}body:has(>.cs-root){background-color:var(--cs-page-ground)}body:has(>.cs-root){isolation:isolate}body:has(>.cs-root){position:relative;background:var(--cs-page-ground)}body:has(>.cs-root):before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background-repeat:no-repeat;background-image:radial-gradient(1200px 820px at 6% 1%,var(--cs-field) 0,transparent 68%),radial-gradient(1100px 780px at 94% 7%,var(--cs-field-2) 0,transparent 70%),radial-gradient(1000px 720px at 34% 14%,var(--cs-field-3) 0,transparent 72%),radial-gradient(1150px 800px at 88% 22%,var(--cs-field) 0,transparent 70%),radial-gradient(1050px 760px at 12% 30%,var(--cs-field-2) 0,transparent 71%),radial-gradient(1100px 780px at 62% 38%,var(--cs-field-3) 0,transparent 70%),radial-gradient(1000px 740px at 8% 47%,var(--cs-field-3) 0,transparent 72%),radial-gradient(1180px 820px at 92% 55%,var(--cs-field-2) 0,transparent 69%),radial-gradient(1050px 760px at 28% 64%,var(--cs-field) 0,transparent 71%),radial-gradient(1120px 790px at 78% 73%,var(--cs-field-3) 0,transparent 70%),radial-gradient(1000px 730px at 16% 82%,var(--cs-field-2) 0,transparent 72%),radial-gradient(1200px 840px at 70% 91%,var(--cs-field) 0,transparent 68%),radial-gradient(1100px 800px at 30% 98%,var(--cs-field-3) 0,transparent 70%);background-size:132% 100%;background-position:50% 50%;animation:cs-field-drift 48s var(--w-easing-standard) infinite alternate}@keyframes cs-field-drift{0%{background-position:42% 44%}to{background-position:58% 56%}}@media (prefers-reduced-motion:reduce){body:has(>.cs-root):before{animation:none;background-position:50% 50%}}@media (forced-colors:active){body:has(>.cs-root):before{display:none}}body:has(.cn-pagehead__title):before{background-image:radial-gradient(1100px 720px at 50% -2%,var(--cs-field) 0,transparent 60%)}:root[data-theme=light] .cs-root{--cs-ink-0:#EEF1F3;--cs-ink-1:#F7F9FA;--cs-ink-2:#FFFFFF;--cs-ink-3:#FFFFFF;--cs-ink-4:#F1F4F6;--cs-line-1:#E3E8EC;--cs-line-2:#D6DDE3;--cs-line-3:#BCC7D0;--cs-line-4:#7E8B97;--cs-fg-1:#0C1116;--cs-fg-2:#4A5763;--cs-fg-3:#5C6975;--cs-fg-4:#646F7B;--cs-paper-base:#FAF7F2;--cs-paper-raised:#FFFFFF;--cs-paper-line:#E7E0D6;--cs-paper-fg-1:#14110D;--cs-paper-fg-2:#544C41;--cs-light:#0B5FD6;--cs-light-dim:#9DBEF0;--cs-halo:color-mix(in srgb,var(--w-spectrum-1) 12%,transparent);--cs-halo-2:color-mix(in srgb,var(--w-spectrum-3) 34%,transparent);--cs-halo-3:color-mix(in srgb,var(--w-spectrum-5) 26%,transparent);--cs-shadow-bloom:0 1.5rem 3rem -1rem rgba(12,17,22,0.1);--cs-shadow-hair:inset 0 1px 0 0 rgba(255,255,255,0.9);--cs-grain-alpha:0.035;--cs-grain-blend:multiply;--cs-mesh-alpha:0.035;--cs-edge-ring:inset 0 1px 0 0 rgba(255,255,255,0.9),0 0 0 1px rgba(12,17,22,0.075),0 1px 2px rgba(12,17,22,0.05);--cs-edge-ring-hi:inset 0 1px 0 0 rgba(255,255,255,1),0 0 0 1px rgba(12,17,22,0.14),0 1px 3px rgba(12,17,22,0.08)}@media (prefers-color-scheme:light){:root:not([data-theme=dark]) .cs-root{--cs-ink-0:#EEF1F3;--cs-ink-1:#F7F9FA;--cs-ink-2:#FFFFFF;--cs-ink-3:#FFFFFF;--cs-ink-4:#F1F4F6;--cs-line-1:#E3E8EC;--cs-line-2:#D6DDE3;--cs-line-3:#BCC7D0;--cs-line-4:#7E8B97;--cs-fg-1:#0C1116;--cs-fg-2:#4A5763;--cs-fg-3:#5C6975;--cs-fg-4:#646F7B;--cs-paper-base:#FAF7F2;--cs-paper-raised:#FFFFFF;--cs-paper-line:#E7E0D6;--cs-paper-fg-1:#14110D;--cs-paper-fg-2:#544C41;--cs-light:#0B5FD6;--cs-light-dim:#9DBEF0;--cs-halo:color-mix(in srgb,var(--w-spectrum-1) 12%,transparent);--cs-halo-2:color-mix(in srgb,var(--w-spectrum-3) 34%,transparent);--cs-halo-3:color-mix(in srgb,var(--w-spectrum-5) 26%,transparent);--cs-shadow-bloom:0 1.5rem 3rem -1rem rgba(12,17,22,0.1);--cs-shadow-hair:inset 0 1px 0 0 rgba(255,255,255,0.9);--cs-grain-alpha:0.035;--cs-grain-blend:multiply;--cs-mesh-alpha:0.035;--cs-edge-ring:inset 0 1px 0 0 rgba(255,255,255,0.9),0 0 0 1px rgba(12,17,22,0.075),0 1px 2px rgba(12,17,22,0.05);--cs-edge-ring-hi:inset 0 1px 0 0 rgba(255,255,255,1),0 0 0 1px rgba(12,17,22,0.14),0 1px 3px rgba(12,17,22,0.08)}}.cs-grain{position:relative;isolation:isolate}.cs-grain.cs-mesh:after,.cs-grain:not(.cs-mesh):before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='128' height='128'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='128' height='128' filter='url(%23g)'/%3E%3C/svg%3E");background-size:128px 128px;background-repeat:repeat;opacity:var(--cs-grain-alpha);mix-blend-mode:var(--cs-grain-blend)}.cs-mesh{position:relative;isolation:isolate;overflow-x:clip}.cs-mesh:before{content:"";position:absolute;inset:-20% 0 auto 0;height:140%;z-index:-1;pointer-events:none;background-image:radial-gradient(46% 42% at 22% 34%,var(--cs-halo) 0,transparent 70%),radial-gradient(52% 48% at 86% 40%,var(--cs-halo-2) 0,transparent 72%),radial-gradient(46% 44% at 70% 88%,var(--cs-halo-3) 0,transparent 70%);background-repeat:no-repeat;-webkit-mask-image:radial-gradient(50% 50% at 50% 45%,#000 0,#000 26%,transparent 100%);mask-image:radial-gradient(50% 50% at 50% 45%,#000 0,#000 26%,transparent 100%)}.cs-grid{position:relative;isolation:isolate}.cs-grid:after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background-image:linear-gradient(to right,var(--cs-line-1) 1px,transparent 1px),linear-gradient(to bottom,var(--cs-line-1) 1px,transparent 1px);background-size:24px 24px;opacity:.5;-webkit-mask-image:radial-gradient(110% 80% at 50% 0,#000 0,transparent 72%);mask-image:radial-gradient(110% 80% at 50% 0,#000 0,transparent 72%)}.cs-grid[data-grid=dots]:after{background-image:radial-gradient(circle at 1px 1px,var(--cs-line-3) 1px,transparent 0);background-size:16px 16px;opacity:.34}.cs-lift{border:1px solid var(--cs-line-1);border-radius:var(--w-radius-lg);background-color:var(--cs-ink-2);box-shadow:var(--cs-shadow-hair),var(--cs-shadow-bloom)}.cs-lift[data-elev=flat]{box-shadow:var(--cs-shadow-hair)}.cs-edge{border:0;border-radius:var(--w-radius-lg);background-color:var(--cs-ink-2);box-shadow:var(--cs-edge-ring);transition:box-shadow var(--w-duration-normal) var(--cs-ease-out)}.cs-edge:focus-within,.cs-edge:hover{box-shadow:var(--cs-edge-ring-hi);transition-duration:var(--w-duration-instant)}.cs-edge:disabled,.cs-edge[aria-disabled=true]{background-color:transparent;box-shadow:inset 0 0 0 1px var(--cs-line-1)}@media (forced-colors:active),print{.cs-grain.cs-mesh:after,.cs-grain:before,.cs-grid:after,.cs-mesh:before{display:none}.cs-lift{box-shadow:none}}@media (forced-colors:active){.cs-edge,.cs-edge:focus-within,.cs-edge:hover{box-shadow:none;border:1px solid CanvasText}.cs-edge:disabled,.cs-edge[aria-disabled=true]{border-color:GrayText;color:GrayText}}@media print{.cs-edge{box-shadow:none;border:1px solid var(--cs-line-2)}}@media (max-width:639px){.cs-mesh:before{display:none}}@keyframes cs-surface{0%{background-position:-60% 0}to{background-position:160% 0}}@media (scripting:enabled) and (prefers-reduced-motion:no-preference){.cs-artifact[data-surface=once] .cs-artifact__bar{background-image:linear-gradient(100deg in oklab,transparent 0,var(--cs-halo) 44%,transparent 72%);background-size:220% 100%;background-repeat:no-repeat;animation:cs-surface .9s var(--cs-ease-out) 1 both}}@keyframes cs-rise-in{0%{opacity:0;transform:translate3d(0,var(--cr-travel),0)}to{opacity:1;transform:none}}@keyframes cs-fade-in{0%{opacity:0}to{opacity:1}}@keyframes cs-rule-draw{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@media (prefers-reduced-motion:no-preference){@supports (animation-timeline:view()){.cs-rise{animation:cs-rise-in linear both;animation-timeline:view();animation-range:entry 6% cover 24%;will-change:opacity,transform}.cs-fade{animation:cs-fade-in linear both;animation-timeline:view();animation-range:entry 4% cover 18%;will-change:opacity}.cs-rule-draw{animation:cs-rule-draw linear both;animation-timeline:view();animation-range:entry 10% cover 30%;transform-origin:left center;will-change:transform}}}.cs-rule{height:1px;border:0;margin:0;background-color:var(--cs-line-2);transform-origin:left center}@media (forced-colors:active),print{.cs-rule{background-color:CanvasText}}@media (scripting:enabled) and (prefers-reduced-motion:no-preference){.cs-root [data-cr-stagger=shown]>:nth-child(n+7){transition-delay:calc(var(--cr-step) * 6)}}.cs-band{position:relative;overflow-x:clip;padding-block:var(--cs-band-y);background-color:var(--cs-ink-1);color:var(--cs-fg-1)}.cs-band[data-rhythm=tight]{padding-block:var(--cs-band-y-tight)}.cs-band{background-color:transparent}.cs-band[data-ground=sunken]{background-color:color-mix(in srgb,var(--cs-ink-0) 62%,transparent)}.cs-band[data-ground=raised]{background-color:color-mix(in srgb,var(--cs-ink-2) 62%,transparent)}.cs-band[data-ground=paper]{--cs-ink-1:var(--cs-paper-base);--cs-ink-2:var(--cs-paper-raised);--cs-ink-3:var(--cs-paper-raised);--cs-line-1:var(--cs-paper-line);--cs-line-2:var(--cs-paper-line);--cs-fg-1:var(--cs-paper-fg-1);--cs-fg-2:var(--cs-paper-fg-2);background-color:var(--cs-paper-base);color:var(--cs-paper-fg-1)}.cs-band__inner{width:100%;max-width:var(--cs-max);margin-inline:auto;padding-inline:var(--w-gutter);container-type:inline-size;container-name:cs-inner}.cs-band[data-width=wide] .cs-band__inner{max-width:var(--cs-max-wide)}.cs-eyebrow{display:flex;align-items:baseline;gap:var(--w-space-3);margin:0 0 var(--w-space-6);font-family:var(--w-font-mono);font-size:var(--cs-eyebrow-size);line-height:var(--cs-eyebrow-line);letter-spacing:var(--cs-eyebrow-tracking);font-weight:var(--cs-eyebrow-weight);font-feature-settings:var(--w-numeric-tabular);font-variant-numeric:var(--w-numeric-tabular);text-transform:uppercase;color:var(--cs-fg-3)}.cs-eyebrow__num{color:var(--cs-fg-1)}.cs-eyebrow__slash{color:var(--cs-line-3)}.cs-head{display:grid;grid-gap:var(--w-space-6);gap:var(--w-space-6);margin:0 0 var(--w-space-11)}.cs-head__title{margin:0;font-size:var(--cs-h2-size);line-height:var(--cs-h2-line);letter-spacing:var(--cs-h2-tracking);font-weight:var(--cs-h2-weight);color:var(--cs-fg-1);text-wrap:balance}.cs-head__lead{margin:0;max-width:var(--cs-read);font-size:var(--cs-lead-size);line-height:var(--cs-lead-line);letter-spacing:var(--cs-lead-tracking);font-weight:var(--cs-lead-weight);color:var(--cs-fg-2);text-wrap:pretty}@media (min-width:1000px){.cs-head{grid-template-columns:minmax(0,7fr) minmax(0,5fr);align-items:end;gap:var(--w-space-9)}}.cs-display-1{font-size:var(--cs-display-1-size);line-height:var(--cs-display-1-line);letter-spacing:var(--cs-display-1-tracking);font-weight:var(--cs-display-1-weight)}.cs-display-1,.cs-display-2{margin:0;color:var(--cs-fg-1);text-wrap:balance;overflow-wrap:anywhere}.cs-display-2{font-size:var(--cs-display-2-size);line-height:var(--cs-display-2-line);letter-spacing:var(--cs-display-2-tracking);font-weight:var(--cs-display-2-weight)}.cs-lead{margin:0;font-size:var(--cs-lead-size);line-height:var(--cs-lead-line);letter-spacing:var(--cs-lead-tracking);font-weight:var(--cs-lead-weight);text-wrap:pretty}.cs-lead,.cs-prose{max-width:var(--cs-read);color:var(--cs-fg-2)}.cs-prose{font-size:var(--cs-body-size);line-height:var(--cs-body-line);letter-spacing:var(--cs-body-tracking)}.cs-inline-link,.cs-prose a{color:var(--cs-light);-webkit-text-decoration-color:color-mix(in oklab,var(--cs-light) 45%,transparent);text-decoration-color:color-mix(in oklab,var(--cs-light) 45%,transparent);text-decoration-thickness:1px;text-underline-offset:.18em}.cs-inline-link:focus-visible,.cs-inline-link:hover,.cs-prose a:focus-visible,.cs-prose a:hover{-webkit-text-decoration-color:currentColor;text-decoration-color:currentColor}.cs-fig{display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--w-space-2) var(--w-space-5);margin:0;font-family:var(--w-font-mono);font-size:var(--cs-micro-size);line-height:var(--cs-micro-line);letter-spacing:var(--cs-micro-tracking);font-weight:var(--cs-micro-weight);font-feature-settings:var(--w-numeric-tabular);font-variant-numeric:var(--w-numeric-tabular);text-transform:none;color:var(--cs-fg-3)}.cs-fig__source{min-width:0;color:var(--cs-fg-4);overflow-wrap:anywhere}.cs-card{padding:var(--w-space-8);transition:border-color var(--w-duration-normal) var(--cs-ease-out),transform var(--w-duration-normal) var(--cs-ease-out),box-shadow var(--w-duration-normal) var(--cs-ease-out)}.cs-card:has(a:focus-visible),.cs-card:hover{border-color:var(--cs-line-3);transform:translateY(-1px);transition-duration:var(--w-duration-instant)}@media (prefers-reduced-motion:reduce){.cs-card:has(a:focus-visible),.cs-card:hover{transform:none}}.cs-card__head{margin:0 0 var(--w-space-6)}.cs-card__title{margin:0;font-size:var(--cs-h3-size);line-height:var(--cs-h3-line);letter-spacing:var(--cs-h3-tracking);font-weight:var(--cs-h3-weight);color:var(--cs-fg-1)}.cs-card__body{font-size:var(--cs-body-size);line-height:var(--cs-body-line);letter-spacing:var(--cs-body-tracking);color:var(--cs-fg-2)}.cs-card__body>:first-child{margin-top:0}.cs-card__body>:last-child{margin-bottom:0}.cs-card__foot{margin:var(--w-space-7) 0 0;padding-top:var(--w-space-6);border-top:1px solid var(--cs-line-1);font-size:var(--cs-caption-size);line-height:var(--cs-caption-line);letter-spacing:var(--cs-caption-tracking);color:var(--cs-fg-3)}.cs-sub{margin:0 0 var(--w-space-4);font-size:var(--cs-h4-size);line-height:var(--cs-h4-line);letter-spacing:var(--cs-h4-tracking);font-weight:var(--cs-h4-weight);color:var(--cs-fg-1)}.cs-artifact{margin:0;overflow:hidden}.cs-artifact__bar{display:flex;align-items:center;justify-content:space-between;gap:var(--w-space-6);padding:var(--w-space-4) var(--w-space-6);background-color:var(--cs-ink-3);border-bottom:1px solid var(--cs-line-1);font-family:var(--w-font-mono);font-size:var(--cs-micro-size);line-height:var(--cs-micro-line);letter-spacing:var(--cs-micro-tracking);font-weight:var(--cs-micro-weight);text-transform:uppercase;color:var(--cs-fg-3)}.cs-artifact__label{color:var(--cs-fg-1);white-space:nowrap}.cs-artifact__meta{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--cs-fg-4);text-align:right}.cs-artifact__body{background-color:var(--cs-ink-4);--scroll-ground:var(--cs-ink-4);color:var(--cs-fg-1)}.cs-artifact__caption{max-width:var(--cs-read);padding:var(--w-space-6);border-top:1px solid var(--cs-line-1);font-size:var(--cs-caption-size);line-height:var(--cs-caption-line);letter-spacing:var(--cs-caption-tracking);color:var(--cs-fg-3)}@media (max-width:639px){.cs-artifact__meta{display:none}}.cs-finding{display:grid;grid-template-columns:minmax(0,1fr);grid-gap:var(--w-space-6);gap:var(--w-space-6);padding-block:var(--w-space-9);border-bottom:1px solid var(--cs-line-1)}.cs-finding__chips{display:flex;flex-wrap:wrap;gap:var(--w-space-4);margin:0}.cs-finding__title{margin:0;font-size:var(--cs-h3-size);line-height:var(--cs-h3-line);letter-spacing:var(--cs-h3-tracking);font-weight:var(--cs-h3-weight);color:var(--cs-fg-1);overflow-wrap:anywhere}.cs-finding__mech{margin:0;max-width:var(--cs-read);overflow-wrap:anywhere;font-size:var(--cs-body-size);line-height:var(--cs-body-line);letter-spacing:var(--cs-body-tracking);color:var(--cs-fg-2)}.cs-finding__repro{padding:var(--w-space-6);border:1px solid var(--cs-line-1);border-radius:var(--w-radius-md);background-color:var(--cs-ink-4);--scroll-ground:var(--cs-ink-4);overflow-x:auto;white-space:pre}.cs-finding__proof{display:grid;grid-gap:var(--w-space-3) var(--w-space-7);gap:var(--w-space-3) var(--w-space-7);margin:0;font-size:var(--cs-small-size);line-height:var(--cs-small-line);letter-spacing:var(--cs-small-tracking)}.cs-finding__proof dt{font-family:var(--w-font-mono);font-size:var(--cs-micro-size);line-height:var(--cs-micro-line);letter-spacing:var(--cs-micro-tracking);font-weight:var(--cs-micro-weight);text-transform:uppercase;color:var(--cs-fg-4)}.cs-finding__proof dd{margin:0;color:var(--cs-fg-2);overflow-wrap:anywhere}.cs-finding-group__head{position:-webkit-sticky;position:sticky;top:0;z-index:1;padding:var(--w-space-5) 0;background-color:var(--cs-ink-1);border-bottom:1px solid var(--cs-line-2);font-family:var(--w-font-mono);font-size:var(--cs-eyebrow-size);line-height:var(--cs-eyebrow-line);letter-spacing:var(--cs-eyebrow-tracking);font-weight:var(--cs-eyebrow-weight);text-transform:uppercase;color:var(--cs-fg-1);cursor:pointer}@media (min-width:640px){.cs-finding__proof{grid-template-columns:max-content minmax(0,1fr);align-items:baseline}.cs-finding__proof dt{grid-column:1}.cs-finding__proof dd{grid-column:2}}.cs-code{font-family:var(--w-font-mono);font-size:var(--cs-code-size);font-feature-settings:var(--w-ligatures-mono),var(--w-numeric-tabular);font-variant-ligatures:var(--w-ligatures-mono);font-variant-numeric:var(--w-numeric-tabular);color:var(--cs-fg-1)}.cs-code,.cs-diff{line-height:var(--cs-code-line);letter-spacing:var(--cs-code-tracking);background-color:var(--cs-ink-4)}.cs-diff{display:grid;grid-auto-rows:min-content;margin:0;font-family:var(--w-font-mono);font-size:var(--cs-code-size);font-feature-settings:var(--w-ligatures-mono);font-variant-ligatures:var(--w-ligatures-mono);--scroll-ground:var(--cs-ink-4);overflow-x:auto}.cs-diff__hunk{padding:var(--w-space-3) var(--w-space-6);color:var(--cs-fg-4);min-width:max-content}.cs-diff__line{display:grid;grid-template-columns:1.5ch minmax(0,1fr);grid-gap:var(--w-space-4);gap:var(--w-space-4);min-width:max-content;padding:0 var(--w-space-6);white-space:pre;color:var(--cs-fg-2)}.cs-diff__line:before{content:" ";color:var(--cs-fg-4)}.cs-diff__line[data-line=add]{background-color:var(--w-state-verified-bg);color:var(--w-state-verified-fg)}.cs-diff__line[data-line=add]:before{content:"+";color:var(--w-state-verified-fg)}.cs-diff__line[data-line=del]{background-color:var(--w-state-rejected-bg);color:var(--w-state-rejected-fg)}.cs-diff__line[data-line=del]:before{content:"-";color:var(--w-state-rejected-fg)}.cs-diff__line[data-line=ctx]{color:var(--cs-fg-2)}:root{--cs-on-spectrum-ink:#0A0A0A}.cs-cta{display:inline-flex;align-items:center;justify-content:center;gap:var(--w-space-4);min-height:44px;padding:var(--w-space-5) var(--w-space-8);border:1px solid transparent;border-radius:var(--w-radius-md);font-size:var(--cs-small-size);line-height:var(--cs-small-line);letter-spacing:var(--cs-small-tracking);font-weight:600;text-decoration:none;cursor:pointer;transition:background-color var(--w-duration-normal) var(--cs-ease-out),border-color var(--w-duration-normal) var(--cs-ease-out),color var(--w-duration-normal) var(--cs-ease-out)}.cs-cta:focus-visible,.cs-cta:hover{transition-duration:var(--w-duration-instant)}.cs-cta[data-kind=primary]{background-image:none;background-color:var(--cs-fg-1);color:var(--cs-ink-0);border-color:transparent;transition:background-color var(--w-duration-normal) var(--cs-ease-out),transform var(--w-duration-normal) var(--cs-ease-out)}.cs-cta[data-kind=primary]:focus-visible,.cs-cta[data-kind=primary]:hover{background-color:var(--cs-fg-2)}.cs-cta[data-kind=primary]:active{transform:translateY(1px)}@media (forced-colors:active){.cs-cta[data-kind=primary]{background-image:none}}.cs-cta[data-kind=ghost]{background-color:transparent;border-color:var(--cs-line-3);color:var(--cs-fg-1)}.cs-cta[data-kind=ghost]:hover{border-color:var(--cs-line-4)}.cs-stat{display:grid;grid-gap:var(--w-space-4);gap:var(--w-space-4)}.cs-stat__figure{margin:0;font-family:var(--w-font-mono);font-size:var(--cs-figure-size);line-height:var(--cs-figure-line);letter-spacing:var(--cs-figure-tracking);font-weight:var(--cs-figure-weight);font-feature-settings:var(--w-numeric-tabular);font-variant-numeric:var(--w-numeric-tabular);color:var(--cs-fg-1)}.cs-stat[data-hero=true] .cs-stat__figure{font-weight:700}.cs-stat__of{font-size:.5em;line-height:inherit;letter-spacing:var(--cs-caption-tracking);color:var(--cs-fg-3)}.cs-stat__denom{margin:0;max-width:var(--cs-read-narrow);font-size:var(--cs-small-size);line-height:var(--cs-small-line);letter-spacing:var(--cs-small-tracking);color:var(--cs-fg-2)}.cs-stat__source{margin:0;font-family:var(--w-font-mono);font-size:var(--cs-caption-size);line-height:var(--cs-caption-line);letter-spacing:var(--cs-caption-tracking);color:var(--cs-fg-4);overflow-wrap:anywhere}.cs-stat__when{white-space:nowrap}.cs-stat-grid{display:grid;grid-template-columns:1fr;grid-gap:var(--w-space-9);gap:var(--w-space-9)}@media (min-width:560px){.cs-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.cs-scroller{--scroll-ground:var(--cs-ink-1);overflow-x:auto;overscroll-behavior-x:contain}.cs-toc{font-size:var(--cs-small-size);line-height:var(--cs-small-line);letter-spacing:var(--cs-small-tracking)}.cs-toc ol{display:grid;grid-gap:var(--w-space-4);gap:var(--w-space-4);margin:0;padding:0;list-style:none}.cs-toc a{display:block;padding:var(--w-space-2) 0;color:var(--cs-fg-3);text-decoration:none;border-left:1px solid var(--cs-line-1);padding-left:var(--w-space-6);transition:color var(--w-duration-normal) var(--cs-ease-out),border-color var(--w-duration-normal) var(--cs-ease-out)}.cs-toc a:focus-visible,.cs-toc a:hover,.cs-toc a[aria-current=true]{color:var(--cs-fg-1);border-left-color:var(--cs-line-4);transition-duration:var(--w-duration-instant)}@media (max-width:999px){.cs-toc[data-sticky=true]{display:none}}@media (min-width:1000px){.cs-toc[data-sticky=true]{position:-webkit-sticky;position:sticky;top:calc(var(--cs-header-h) + var(--w-space-6))}.cs-toc[data-collapsed=true]{display:none}}.cs-auth{min-height:100dvh;display:grid;grid-template-columns:1fr;background-color:var(--cs-ink-1);color:var(--cs-fg-1)}.cs-auth__aside{position:relative;gap:var(--w-space-8);background-color:var(--cs-ink-0);overflow-x:clip}.cs-auth__aside,.cs-auth__panel{display:flex;flex-direction:column;justify-content:center;padding:var(--w-space-11) var(--w-gutter)}.cs-auth__panel{background-color:var(--cs-ink-1)}.cs-auth__panel-inner{width:100%;max-width:var(--cs-read-narrow);margin-inline:auto}.cs-auth__back{margin-top:var(--w-space-10);font-size:var(--cs-small-size);line-height:var(--cs-small-line);letter-spacing:var(--cs-small-tracking);color:var(--cs-fg-3);text-decoration:none}.cs-auth__back:hover{color:var(--cs-fg-1)}@media (min-width:900px){.cs-auth{grid-template-columns:minmax(0,2fr) minmax(0,1fr)}.cs-auth__panel{border-left:1px solid var(--cs-line-1)}}@media (min-width:900px) and (max-width:1180px){.cs-auth{grid-template-columns:minmax(0,3fr) minmax(360px,2fr)}}@media (forced-colors:active){.cs-artifact,.cs-artifact__bar,.cs-artifact__body,.cs-card,.cs-code,.cs-diff,.cs-finding__repro,.cs-lift{background-color:Canvas;color:CanvasText;border-color:CanvasText;forced-color-adjust:none}.cs-artifact[data-surface=once] .cs-artifact__bar{background-image:none;animation:none}}@media print{.cs-band{padding-block:var(--w-space-9)}.cs-lift{box-shadow:none}.cs-toc{display:none}}.cs-lockup{display:inline-flex;align-items:center;gap:var(--w-space-4)}.cs-lockup .cs-lockup__mark{width:28px;height:28px}.cs-lockup .cs-lockup__mark,.cs-lockup .cs-lockup__word{display:block;object-fit:contain;transition:transform var(--w-duration-normal) var(--cs-ease-out)}.cs-lockup .cs-lockup__word{width:62px;height:25px}.cs-lockup .cs-lockup__mark[data-tone=light],.cs-lockup .cs-lockup__word[data-tone=light]{display:none}:root[data-theme=light] .cs-lockup__mark[data-tone=light],:root[data-theme=light] .cs-lockup__word[data-tone=light]{display:block}:root[data-theme=light] .cs-lockup__mark[data-tone=dark],:root[data-theme=light] .cs-lockup__word[data-tone=dark]{display:none}@media (prefers-color-scheme:light){:root:not([data-theme=dark]) .cs-lockup__mark[data-tone=light],:root:not([data-theme=dark]) .cs-lockup__word[data-tone=light]{display:block}:root:not([data-theme=dark]) .cs-lockup__mark[data-tone=dark],:root:not([data-theme=dark]) .cs-lockup__word[data-tone=dark]{display:none}}.sf-identity:focus-within .cs-lockup__mark,.sf-identity:hover .cs-lockup__mark{transform:rotate(-4deg) scale(1.06)}.sf-link{position:relative}.sf-link:after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background-color:var(--cs-line-4);transform:scaleX(0);transform-origin:right center;transition:transform var(--w-duration-normal) var(--cs-ease-out)}.sf-link:focus-visible:after,.sf-link:hover:after{transform:scaleX(1);transform-origin:left center;transition-duration:var(--w-duration-instant)}.sf-link-icon>svg:last-child{transition:transform var(--w-duration-normal) var(--cs-ease-out)}.sf-link-icon:focus-visible>svg:last-child,.sf-link-icon:hover>svg:last-child{transform:translate3d(2px,-2px,0);transition-duration:var(--w-duration-instant)}.cs-cta{transition:background-color var(--w-duration-normal) var(--cs-ease-out),border-color var(--w-duration-normal) var(--cs-ease-out),color var(--w-duration-normal) var(--cs-ease-out),transform var(--w-duration-normal) var(--cs-ease-out)}.cs-cta:active{transform:translateY(1px)}.cs-finding{transition:transform var(--w-duration-normal) var(--cs-ease-out)}.cs-finding:focus-within,.cs-finding:hover{transform:translate3d(2px,0,0);transition-duration:var(--w-duration-instant)}@keyframes cs-figure-settle{0%{opacity:0;transform:translate3d(0,.25em,0) scale(.94)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:no-preference){@supports (animation-timeline:view()){.cs-stat__figure{animation:cs-figure-settle linear both;animation-timeline:view();animation-range:entry 8% cover 26%;transform-origin:left bottom;will-change:opacity,transform}.cs-stat .cs-eyebrow{animation:cs-fade-in linear both;animation-timeline:view();animation-range:entry 4% cover 16%;will-change:opacity}}}@media (prefers-reduced-motion:reduce){.cs-cta:active,.cs-finding:focus-within,.cs-finding:hover,.sf-identity:focus-within .cs-lockup__mark,.sf-identity:hover .cs-lockup__mark,.sf-link-icon:focus-visible>svg:last-child,.sf-link-icon:hover>svg:last-child{transform:none}.sf-link:after{transform:scaleX(0)}.sf-link:focus-visible:after,.sf-link:hover:after{transform:scaleX(1)}}@media (forced-colors:active){.sf-link:after{background-color:CanvasText}.cs-stat__figure{animation:none}}.cs-paint{position:relative;isolation:isolate;background-color:var(--cs-ink-2);background-image:none;border:1px solid var(--cs-line-2);color:var(--cs-fg-1);transition:border-color var(--w-duration-normal) var(--cs-ease-out),transform var(--w-duration-normal) var(--cs-ease-out)}@media (hover:hover){.cs-paint[data-lift=true]:focus-within,.cs-paint[data-lift=true]:hover{border-color:var(--cs-line-3);transform:translate3d(0,-2px,0)}}@media (forced-colors:active){.cs-paint{background-image:none;animation:none}}.cs-ticker{position:relative;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}.cs-ticker__track{list-style:none;margin:0;padding:0;display:flex;width:max-content;gap:var(--w-space-4);will-change:transform}.cs-ticker__item{display:inline-flex;align-items:center;gap:var(--w-space-4);flex:none;padding:var(--w-space-3) var(--w-space-6);border:1px solid var(--cs-line-1);border-radius:var(--w-radius-full);background-color:var(--cs-ink-2);font-family:var(--w-font-mono);font-size:var(--cs-caption-size);line-height:var(--cs-caption-line);letter-spacing:var(--cs-caption-tracking);color:var(--cs-fg-2);transition:color var(--w-duration-fast) var(--cs-ease-out),border-color var(--w-duration-fast) var(--cs-ease-out),background-color var(--w-duration-fast) var(--cs-ease-out)}.cs-ticker__dot{flex:none;width:6px;height:6px;border-radius:50%;background-color:var(--cs-fg-2)}@media (hover:hover){.cs-ticker__item:hover{color:var(--cs-fg-1);border-color:var(--cs-line-3);background-color:var(--cs-ink-3)}}@keyframes cs-ticker-run{0%{transform:translateZ(0)}to{transform:translate3d(-50%,0,0)}}@media (prefers-reduced-motion:no-preference){.cs-ticker__track{animation:cs-ticker-run 60s linear infinite}.cs-ticker:hover .cs-ticker__track{animation-play-state:paused}}@media (prefers-reduced-motion:reduce){.cs-paint[data-drift=true],.cs-ticker__track{animation:none}.cs-paint[data-lift=true]:focus-within,.cs-paint[data-lift=true]:hover{transform:none}}.hf{border:1px solid color-mix(in srgb,var(--cs-line-2) 70%,transparent);border-radius:var(--w-radius-lg);background-color:color-mix(in srgb,var(--cs-ink-0) 95%,transparent);overflow:hidden;font-family:var(--w-font-mono);box-shadow:0 28px 70px -34px rgb(0 0 0/.75)}.hf__bar{position:relative;display:flex;align-items:center;gap:var(--w-space-3);padding:10px var(--w-space-4);border-bottom:1px solid color-mix(in srgb,var(--cs-line-1) 80%,transparent);background-image:linear-gradient(180deg,color-mix(in srgb,var(--cs-fg-1) 6%,transparent) 0,transparent 100%)}.hf__title{position:absolute;left:50%;translate:-50% 0;pointer-events:none}.hf__dots{display:inline-flex;gap:8px}.hf__dots i{width:12px;height:12px;border-radius:50%;box-shadow:inset 0 0 0 .5px rgb(0 0 0/.22)}.hf__dots i:first-child{background-color:var(--cs-line-4)}.hf__dots i:nth-child(2){background-color:var(--cs-fg-4)}.hf__dots i:nth-child(3){background-color:var(--cs-fg-3)}.hf__tag,.hf__title{font-size:var(--cs-micro-size);letter-spacing:.1em;text-transform:uppercase;color:var(--cs-fg-3)}.hf__tag{-webkit-margin-start:auto;margin-inline-start:auto}.hf__body{padding:var(--w-space-4) var(--w-space-4) var(--w-space-5);display:grid;grid-gap:7px;gap:7px}.hf__line{margin:0;display:grid;grid-template-columns:1.1em minmax(0,1fr);grid-gap:var(--w-space-2);gap:var(--w-space-2);align-items:baseline;font-size:var(--cs-caption-size);line-height:1.55;color:var(--cs-fg-2);opacity:1}.hf__line[data-kind=dim]{grid-template-columns:1.1em minmax(0,1fr)}.hf__line[data-kind=dim] .hf__text{grid-column:2;color:var(--cs-fg-3)}.hf__line[data-kind=cmd]{-webkit-margin-before:var(--w-space-3);margin-block-start:var(--w-space-3)}.hf__line[data-kind=cmd]:first-child{-webkit-margin-before:0;margin-block-start:0}.hf__line[data-kind=cmd] .hf__text{color:var(--cs-fg-1)}.hf__prompt{color:var(--cs-fg-2)}.hf__glyph{text-align:center;display:inline-block}@media (prefers-reduced-motion:no-preference){.hf__glyph[data-g=step]{animation:hf-spin 1.1s linear infinite;animation-delay:calc(.3s + var(--hf-i) * .26s)}.hf__glyph[data-g=hit]{animation:hf-pop var(--w-duration-normal) var(--cs-ease-out) both;animation-delay:calc(.3s + var(--hf-i) * .26s)}}@keyframes hf-spin{to{rotate:1turn}}@keyframes hf-pop{0%{scale:.4;opacity:0}60%{scale:1.18;opacity:1}to{scale:1;opacity:1}}.hf__glyph[data-g=step]{color:var(--cs-fg-2)}.hf__glyph[data-g=hit],.hf__glyph[data-g=ok],.hf__glyph[data-g=out],.hf__text{color:var(--cs-fg-1)}.hf__note{grid-column:2;color:var(--cs-fg-3);font-size:var(--cs-micro-size)}@media (min-width:30rem){.hf__note{grid-column:auto;justify-self:start}.hf__line:not([data-kind=cmd]):not([data-kind=dim]){grid-template-columns:1.1em auto minmax(0,1fr)}}.hf__cursor{display:inline-block;width:8px;height:1em;translate:0 2px;background-color:var(--cs-fg-2)}@media (prefers-reduced-motion:no-preference){.hf__line{animation:hf-line-in var(--w-duration-slow) var(--cs-ease-out) both;animation-delay:calc(.3s + var(--hf-i) * .26s)}.hf__cursor{animation:hf-blink 1.05s step-end infinite;animation-delay:calc(.3s + var(--hf-i) * .26s)}}@keyframes hf-line-in{0%{opacity:0;transform:translate3d(0,4px,0)}to{opacity:1;transform:none}}@keyframes hf-blink{0%,50%{opacity:1}51%,to{opacity:0}}@media (forced-colors:active){.hf__cursor,.hf__glyph,.hf__prompt{color:CanvasText;background-color:CanvasText}}.cs-sweep{background-image:linear-gradient(177deg,color-mix(in srgb,var(--cs-page-ground) 42%,transparent) 0,color-mix(in srgb,var(--cs-page-ground) 63%,transparent) 41%,var(--cs-page-ground) 93%),linear-gradient(112deg in oklab,var(--w-spectrum-1) -12%,var(--w-spectrum-2) 23%,var(--w-spectrum-3) 51%,var(--w-spectrum-4) 76%,var(--w-spectrum-5) 108%);background-repeat:no-repeat;background-size:100% 100%,150% 100%;background-position:0 0,18% 0;-webkit-margin-before:calc(var(--cs-header-h) * -1);margin-block-start:calc(var(--cs-header-h) * -1);-webkit-padding-before:calc(var(--w-space-12) + var(--cs-header-h));padding-block-start:calc(var(--w-space-12) + var(--cs-header-h))}.cs-sweep.cs-sweep :is(p,dd,li,figcaption,.cs-eyebrow,.cs-eyebrow__label,.cs-eyebrow__slash){color:var(--cs-fg-1)}@media (prefers-reduced-motion:no-preference){.cs-sweep{animation:cs-sweep-drift 18s var(--w-easing-standard) infinite alternate}}@keyframes cs-sweep-drift{0%{background-position:0 0,4% 0}to{background-position:0 0,78% 0}}.hf__meter{grid-column:2/-1;display:block;height:3px;border-radius:2px;background-color:color-mix(in srgb,var(--cs-fg-3) 26%,transparent);overflow:hidden}@media (min-width:30rem){.hf__meter{grid-column:3;align-self:center;max-width:128px}}.hf__meterFill{display:block;height:100%;width:100%;border-radius:inherit;background-color:var(--cs-fg-2);transform-origin:left center;transform:scaleX(1)}@media (prefers-reduced-motion:no-preference){.hf__meterFill{animation:hf-fill 1.5s var(--cs-ease-out) both;animation-delay:calc(.3s + var(--hf-i) * .26s)}}@keyframes hf-fill{0%{transform:scaleX(.02)}to{transform:scaleX(1)}}