.fs-proto{background:var(--fs-bg);color:var(--fs-ink);font-family:var(--font-manrope), ui-sans-serif, system-ui, sans-serif;font-size:16px;line-height:26px}@layer base{.fs-proto :is(h1,h2,h3){color:var(--fs-ink-strong);letter-spacing:-.02em;font-weight:400}}.fs-press{transition:transform .16s var(--fs-ease), background-color .2s ease, box-shadow .2s ease, color .2s ease}.fs-press:active{transform:scale(.97)}.fs-proto :focus-visible{outline:2px solid var(--fs-primary);outline-offset:2px}.fs-proto input[type=search]:focus-visible{outline:none}@media (prefers-reduced-motion:no-preference){.fs-rise{animation:fs-rise .5s var(--fs-ease) both;animation-delay:calc(var(--i,0) * 80ms)}}@keyframes fs-rise{0%{opacity:0;transform:translateY(12px)}}@media (prefers-reduced-motion:reduce){.fs-press,.fs-press:active{transition:none;transform:none}}.fs-dialog{background:var(--fs-bg);width:100%;max-width:min(720px,100vw - 32px);max-height:min(560px,100dvh - 32px);color:var(--fs-ink);box-shadow:var(--fs-shadow-pop);border:0;border-radius:16px;padding:0}.fs-dialog::backdrop{background:#1f20294d}@media (prefers-reduced-motion:no-preference){.fs-dialog[open]{animation:fs-pop .25s var(--fs-ease)}}@keyframes fs-pop{0%{opacity:0;transform:scale(.96)}}.fs-faq summary::-webkit-details-marker{display:none}.fs-faq[open] .fs-faq-icon{transform:rotate(45deg)}.fs-glow{filter:blur(80px);border-radius:9999px;position:absolute}.fs-glow-warm{background:radial-gradient(circle, color-mix(in oklab, var(--fs-primary) 22%, transparent), transparent 70%);width:640px;height:640px;top:-260px;right:-120px}.fs-glow-cool{background:radial-gradient(circle, color-mix(in oklab, var(--fs-line-hover) 70%, transparent), transparent 70%);width:720px;height:720px;top:120px;left:-280px}.fs-dots{background-image:radial-gradient(color-mix(in oklab, var(--fs-ink-subtle) 35%, transparent) 1px, transparent 1px);background-size:24px 24px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(80% 60% at 50% 0,#000 30%,#0000 75%);mask-image:radial-gradient(80% 60% at 50% 0,#000 30%,#0000 75%)}.fs-stack-card{top:calc(24px + var(--i,0) * 20px);position:sticky}@media (max-width:1023px){.fs-stack-card{position:relative;top:auto;animation:none!important}}@media (prefers-reduced-motion:no-preference){@supports (animation-timeline:scroll()){.fs-glow-warm{animation:linear both fs-drift-a;animation-timeline:scroll(root);animation-range:0 100vh}.fs-glow-cool{animation:linear both fs-drift-b;animation-timeline:scroll(root);animation-range:0 100vh}.fs-dots{animation:linear both fs-drift-c;animation-timeline:scroll(root);animation-range:0 100vh}.fs-stack-card{transform-origin:50% 0;animation:linear both fs-stack-out;animation-timeline:view();animation-range:exit-crossing}.fs-stack-card:last-child{animation:none}.fs-stack-card img{animation:linear both fs-parallax;animation-timeline:view()}.fs-reveal>*{animation:linear both fs-reveal;animation-timeline:view();animation-range:entry 0 entry 160px}}}@keyframes fs-drift-a{to{transform:translate(-80px,220px)scale(1.15)}}@keyframes fs-drift-b{to{transform:translate(120px,120px)}}@keyframes fs-drift-c{to{transform:translateY(90px)}}@keyframes fs-stack-out{to{filter:brightness(.96);transform:scale(.94)}}@keyframes fs-parallax{0%{transform:translateY(-16px)scale(1.06)}to{transform:translateY(16px)scale(1.06)}}@keyframes fs-reveal{0%{opacity:0;transform:translateY(16px)}}@media (prefers-reduced-motion:no-preference){.fs-faq{interpolate-size:allow-keywords}.fs-faq::details-content{block-size:0;transition:block-size .25s var(--fs-ease), content-visibility .25s allow-discrete;overflow:hidden}.fs-faq[open]::details-content{block-size:auto}}.fs-vs .fs-vs-band{background:color-mix(in oklab, var(--fs-chip-info-surface) 75%, var(--fs-bg));box-shadow:inset 1px 0 0 var(--fs-chip-info-line), inset -1px 0 0 var(--fs-chip-info-line)}.fs-vs thead .fs-vs-band{box-shadow:inset 1px 0 0 var(--fs-chip-info-line), inset -1px 0 0 var(--fs-chip-info-line), inset 0 1px 0 var(--fs-chip-info-line);border-radius:12px 12px 0 0}.fs-vs tfoot .fs-vs-band{box-shadow:inset 1px 0 0 var(--fs-chip-info-line), inset -1px 0 0 var(--fs-chip-info-line), inset 0 -1px 0 var(--fs-chip-info-line);border-radius:0 0 12px 12px}@media (prefers-reduced-motion:no-preference){@keyframes fs-dash-march{to{stroke-dashoffset:-12px}}.group:hover [data-art],.group:focus-visible [data-art]{animation:.8s linear infinite fs-dash-march}}html:has(.fs-proto){scroll-padding-top:112px}@media (prefers-reduced-motion:reduce){html:has(.fs-proto){scroll-behavior:auto}.fs-ls-layer{transform:none!important}}.fs-post{--fs-mono:ui-monospace, SFMono-Regular, Menlo, monospace}.fs-post-grid{grid-template-columns:repeat(12,minmax(0,1fr));padding:0 32px;display:grid}.fs-post-hero{border-bottom:1px solid var(--fs-line-soft);padding-top:72px;padding-bottom:56px}.fs-post-hd{grid-column:5/13;max-width:732px}.fs-post-chip{border:1px solid var(--fs-line-soft);color:var(--fs-muted-fg);font-family:var(--fs-mono);margin-bottom:14px;padding:2px 8px;font-size:12px;line-height:18px;display:inline-block}.fs-post-chip:hover{color:var(--fs-ink-strong)}.fs-post-hd h1{max-width:720px;color:var(--fs-ink-strong);letter-spacing:-.01em;font-size:34px;font-weight:500;line-height:44px}.fs-post-standfirst{max-width:720px;color:var(--fs-ink);margin-top:12px;font-size:18px;line-height:29px}.fs-post-meta{grid-template-columns:repeat(8,minmax(0,1fr));margin-top:30px;display:grid}.fs-post-meta>div{grid-column:span 2}.fs-post-meta dt,.fs-rail-th{color:var(--fs-muted-fg);font-family:var(--fs-mono);letter-spacing:.02em;text-transform:uppercase;margin-bottom:7px;font-size:12px;font-weight:400;line-height:18px}.fs-post-meta dd{text-indent:-1.4em;color:var(--fs-ink-strong);padding-left:1.4em;font-size:14px;line-height:22px}.fs-post-meta dd:before{content:"└ ";color:var(--fs-ink-subtle);font-family:var(--fs-mono)}.fs-post-body{padding-top:64px;padding-bottom:32px}.fs-post-cover{border:1px solid var(--fs-line-soft);width:100%;margin-bottom:32px}.fs-rail{min-height:calc(100dvh - 165px);font-family:var(--fs-mono);flex-direction:column;grid-column:1/5;align-self:start;margin-right:32px;display:flex;position:sticky;top:133px}.fs-rail-title{opacity:0;max-height:0;color:var(--fs-ink-strong);font-family:var(--font-manrope), ui-sans-serif, system-ui, sans-serif;font-size:16px;font-weight:500;line-height:24px;overflow:hidden;transform:translateY(8px)}.fs-rail-title.on{opacity:1;max-height:240px;margin-bottom:24px;transform:none}.fs-rail-th{margin-bottom:12px}.fs-rail-tree a,.fs-rail-share :is(a,button){width:-moz-fit-content;width:fit-content;max-width:100%;color:var(--fs-ink);font-family:var(--fs-mono);text-align:left;white-space:nowrap;text-overflow:ellipsis;padding:2px 0;font-size:13px;line-height:19px;display:block;overflow:hidden}.fs-rail-tree a:hover,.fs-rail-tree a.on,.fs-rail-share :is(a,button):hover{color:var(--fs-ink-strong)}.fs-rail .br{color:var(--fs-ink-subtle);margin-right:10px}.fs-rail-share :is(a,button):before{content:"└";color:var(--fs-ink-subtle);margin-right:10px}.fs-rail-tree a.on .br{color:var(--fs-ink)}.fs-rail-tree a.sub{padding-left:18px}.fs-rail-tree .subs{visibility:hidden;grid-template-rows:0fr;display:grid}.fs-rail-tree .subs.open{visibility:visible;grid-template-rows:1fr}.fs-rail-tree .subs:has(:focus-visible){visibility:visible;grid-template-rows:1fr}.fs-rail-tree .subs>div{min-height:0;margin:-3px;padding:3px;overflow:hidden}.fs-rail-prog{color:var(--fs-ink-subtle);letter-spacing:-.04em;white-space:nowrap;margin-top:26px;font-size:13px;line-height:19px}.fs-rail-prog b{color:var(--fs-ink-strong);font-weight:400}.fs-rail-prog span{color:var(--fs-ink);letter-spacing:0;margin-left:8px}.fs-rail-hint{color:var(--fs-muted-fg);letter-spacing:.02em;text-transform:uppercase;margin-top:12px;font-size:12px;line-height:18px}.fs-rail-share{margin-top:auto;padding-top:26px}@media (prefers-reduced-motion:no-preference){.fs-rail-title{transition:opacity .4s cubic-bezier(.19,1,.22,1),transform .4s cubic-bezier(.19,1,.22,1),max-height .4s cubic-bezier(.19,1,.22,1),margin .4s cubic-bezier(.19,1,.22,1)}.fs-rail-tree .subs{transition:grid-template-rows .3s ease-out,visibility .3s}}.fs-post-more{padding-bottom:24px}.fs-post-more-list{border-top:1px solid var(--fs-line-soft);grid-column:5/13;max-width:732px;padding-top:32px}.fs-post-more-list a{color:var(--fs-ink);gap:10px;padding:6px 0;font-size:16px;line-height:24px;display:flex}.fs-post-more-list a:hover .t{color:var(--fs-ink-strong);text-underline-offset:.2em;text-decoration:underline}.fs-post-more-list :is(.br,.m){color:var(--fs-ink-subtle);font-family:var(--fs-mono);font-size:13px}.fs-post-more-list .m{white-space:nowrap;margin-left:auto}@media (max-width:899px){.fs-post-grid{flex-direction:column;padding:0 16px;display:flex}.fs-post-hero{padding-top:40px;padding-bottom:40px}.fs-post-meta{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.fs-post-meta>div{grid-column:auto}.fs-post-body{padding-top:40px}.fs-rail{order:2;min-height:0;margin:40px 0 0;position:static}.fs-rail :is(.fs-rail-title,.fs-rail-tree){display:none}.fs-rail-share{padding-top:0}}@media (max-width:440px){.fs-post-meta{grid-template-columns:auto 1fr;gap:6px 16px}.fs-post-meta>div{display:contents}.fs-post-meta dt{margin:0}.fs-post-meta dd{text-indent:0;padding:0}.fs-post-meta dd:before{content:none}}.fs-article{grid-column:5/13;min-width:0;max-width:732px}.fs-article .blog-post-content{color:var(--fs-ink);overflow-wrap:break-word;font-size:18px;line-height:30.6px;overflow:visible}.fs-article .blog-post-content p{margin:0 0 14px}.fs-article :is(.blog-h1,.blog-h2,.blog-h3,.blog-h4,.blog-h5,.blog-h6){color:var(--fs-ink-strong);font-family:var(--fs-mono);letter-spacing:.02em;scroll-margin-top:0;font-size:15px;font-weight:500;line-height:22px;position:relative}.fs-article :is(.blog-h1,.blog-h2){text-transform:uppercase;margin:54px 0 20px}.fs-article :is(.blog-h1,.blog-h2):first-child{margin-top:0}.fs-article :is(.blog-h3,.blog-h4,.blog-h5,.blog-h6){margin:32px 0 14px}.fs-article .heading-anchor{color:var(--fs-ink-subtle)}.fs-article .blog-link{color:inherit;text-decoration:underline;text-decoration-thickness:1px;-webkit-text-decoration-color:var(--fs-muted-fg);text-decoration-color:var(--fs-muted-fg);text-underline-offset:.2em}.fs-article .blog-link:hover{text-decoration-color:#0000}.fs-article :is(.blog-ul,.blog-ol){margin:0 0 14px;padding-left:1.25rem;line-height:1.7}.fs-article .blog-ul{list-style:outside}.fs-article .blog-ol{list-style:decimal}.fs-article .blog-li+.blog-li{margin-top:6px}.fs-article .blog-li::marker{color:var(--fs-ink-subtle)}.fs-article .blog-blockquote{background:0 0;border:0;border-radius:0;margin:24px 0;padding:0}.fs-article .blog-blockquote p{color:var(--fs-muted-fg);margin:0;font-style:normal}.fs-article .blog-hr{border:0;border-top:1px solid var(--fs-line-soft);margin:44px 0}.fs-article .inline-code{border:1px solid var(--fs-line-soft);background:var(--fs-muted);color:var(--fs-ink-strong);font-family:var(--fs-mono);border-radius:0;padding:.0625em .25em;font-size:.875em}.fs-article .code-block-wrapper{border:1px solid var(--fs-line-soft);background:var(--fs-muted);border-radius:0;margin:24px 0;padding-top:36px;position:relative;overflow:hidden}.fs-article .code-block-wrapper:before{content:"";border-bottom:1px solid var(--fs-line-soft);background:var(--fs-bg);height:36px;position:absolute;inset:0 0 auto}.fs-article :is(.code-language,.code-copy-button){z-index:1;height:36px;color:var(--fs-muted-fg);font-family:var(--fs-mono);letter-spacing:.02em;text-transform:uppercase;opacity:1;background:0 0;border:0;align-items:center;padding:0 14px;font-size:12px;display:flex;position:absolute;top:0}.fs-article .code-language{left:0}.fs-article .code-copy-button{cursor:pointer;right:0}.fs-article .code-copy-button:hover{color:var(--fs-ink-strong)}.fs-article .code-block-wrapper>div,.fs-article .code-block-wrapper code{font-family:var(--fs-mono)!important;background:0 0!important;margin:0!important;font-size:13.5px!important;line-height:23.6px!important}.fs-article .code-block-wrapper>div span{color:var(--fs-ink)!important}.fs-article .code-block-wrapper>div{overflow-x:auto;color:var(--fs-ink)!important;padding:16px!important}.fs-article .blog-table-wrapper{border:1px solid var(--fs-line-soft);margin:24px 0;overflow-x:auto}.fs-article .blog-table{border-collapse:collapse;width:100%;font-size:15px;line-height:24px}.fs-article :is(.blog-th,.blog-td){border-bottom:1px solid var(--fs-line-soft);text-align:left;vertical-align:top;padding:10px 14px}.fs-article .blog-th{background:var(--fs-muted);color:var(--fs-ink-strong);font-family:var(--fs-mono);letter-spacing:.02em;text-transform:uppercase;font-size:12px;font-weight:500}.fs-article .blog-tr:last-child .blog-td{border-bottom:0}.fs-article .blog-image-wrapper{margin:28px 0}.fs-article .blog-image-wrapper img{border:1px solid var(--fs-line-soft)}.fs-article .blog-image-caption{color:var(--fs-muted-fg);font-family:var(--fs-mono);text-align:center;margin-top:8px;font-size:12px}.fs-article details{border:1px solid var(--fs-line-soft);background:0 0;margin:24px 0}.fs-no-scrollbar{scrollbar-width:none}.fs-no-scrollbar::-webkit-scrollbar{display:none}.fs-tut-crumbs{color:var(--fs-muted-fg);font-family:var(--fs-mono);flex-wrap:wrap;gap:8px;margin-bottom:14px;font-size:12px;line-height:18px;display:flex}.fs-tut-crumbs a:hover{color:var(--fs-ink-strong)}.fs-tut-steps{flex-direction:column;gap:56px;display:flex}.fs-tut-step h2{color:var(--fs-ink-strong);letter-spacing:-.01em;gap:14px;margin-bottom:14px;font-size:22px;font-weight:500;line-height:30px;display:flex}.fs-tut .n{color:var(--fs-ink-subtle);font-family:var(--fs-mono);font-size:13px;font-weight:400;line-height:inherit;flex:none}.fs-tut-prose{color:var(--fs-ink);overflow-wrap:break-word;font-size:17px;line-height:28px}.fs-tut-prose :is(p,ul,ol){margin:0 0 14px}.fs-tut-prose>:last-child{margin-bottom:0}.fs-tut-prose ul{padding-left:1.25rem;list-style:outside}.fs-tut-prose ol{padding-left:1.25rem;list-style:decimal}.fs-tut-prose li+li{margin-top:6px}.fs-tut-prose li::marker{color:var(--fs-ink-subtle)}.fs-tut-prose strong{color:var(--fs-ink-strong);font-weight:600}.fs-tut-prose a{color:inherit;text-decoration:underline;text-decoration-thickness:1px;-webkit-text-decoration-color:var(--fs-muted-fg);text-decoration-color:var(--fs-muted-fg);text-underline-offset:.2em}.fs-tut-prose a:hover{text-decoration-color:#0000}.fs-tut-prose code,.fs-tut-code{border:1px solid var(--fs-line-soft);background:var(--fs-muted);color:var(--fs-ink-strong);font-family:var(--fs-mono)}.fs-tut-prose code{padding:.0625em .25em;font-size:.875em}.fs-tut-code{margin-top:18px;padding:16px;font-size:13px;line-height:20px;overflow-x:auto}.fs-tut-shot{border:1px solid var(--fs-line-soft);background:var(--fs-muted);border-radius:8px;margin-top:20px;overflow:hidden}.fs-tut-shot img{width:100%;height:auto;display:block}.fs-tut-block{border-top:1px solid var(--fs-line-soft);margin-top:72px;padding-top:32px}.fs-tut-tips{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.fs-tut-tips li{border:1px solid var(--fs-line-soft);background:var(--fs-bg);border-radius:8px;padding:20px}.fs-tut-tips h3{color:var(--fs-ink-strong);margin-top:10px;font-size:16px;font-weight:500;line-height:24px}.fs-tut-tips p{color:var(--fs-ink);margin-top:6px;font-size:15px;line-height:24px}.fs-tut-faq details{border:0;border-bottom:1px solid var(--fs-line-soft);background:0 0;border-radius:0;margin:0;padding:0}.fs-tut-faq summary{color:var(--fs-ink-strong);cursor:pointer;justify-content:space-between;gap:16px;padding:16px 0;font-size:17px;font-weight:500;line-height:26px;list-style:none;display:flex}.fs-tut-faq summary::-webkit-details-marker{display:none}.fs-tut-faq summary:after{content:"+";color:var(--fs-ink-subtle);font-family:var(--fs-mono);flex:none}.fs-tut-faq details[open] summary:after{content:"−"}.fs-tut-faq .fs-tut-prose{padding-bottom:18px}@media (max-width:899px){.fs-tut-steps{gap:44px}.fs-tut-step h2{font-size:20px;line-height:28px}.fs-tut-tips{grid-template-columns:minmax(0,1fr)}.fs-tut-block{margin-top:56px}}.fs-article .fs-mc-callout{margin:20px 0}.fs-article .fs-mc-callout p{margin:0}.fs-article .fs-mc-callout .t{color:var(--fs-ink-strong);margin-bottom:4px;font-weight:600}.fs-article .fs-mc-stat{border:1px solid var(--fs-line-soft);text-align:center;border-radius:8px;flex:1;padding:16px}.fs-article .fs-mc-stat .v{color:var(--fs-ink-strong);margin:0;font-size:26px;font-weight:600;line-height:1.2}.fs-article .fs-mc-stat .l{color:var(--fs-muted-fg);font-family:var(--fs-mono);text-transform:uppercase;margin:4px 0 0;font-size:12px;line-height:18px}.fs-article .fs-mc-item{align-items:baseline;gap:12px;display:flex}.fs-article .fs-mc-item .n{color:var(--fs-muted-fg);font-family:var(--fs-mono);font-size:13px}.fs-article .fs-mc-item p{margin:0}.fs-article .fs-mc-lead{color:var(--fs-ink-strong);font-size:21px;line-height:32px}.fs-article .fs-mc-steps{gap:18px;margin:24px 0;padding:0;list-style:none;display:grid}.fs-article .fs-mc-steps li{grid-template-columns:40px minmax(0,1fr);gap:12px;margin:0;display:grid}.fs-article .fs-mc-steps .n{color:var(--fs-ink-subtle);font-family:var(--fs-mono);font-size:13px;line-height:30px}.fs-article .fs-mc-steps p{margin:0}.fs-article .fs-mc-steps .t{color:var(--fs-ink-strong);font-weight:600}.fs-article .fs-mc-callout{border:1px solid var(--fs-line-soft);background:var(--fs-muted);border-left-width:3px;border-radius:8px;padding:16px 18px}.fs-article .fs-mc-callout.is-warning{border-color:var(--fs-chip-warn-line);background:var(--fs-chip-warn-surface)}.fs-article .fs-mc-callout.is-success{border-left-color:var(--fs-status-ok)}.fs-article .fs-mc-fact{border:1px solid var(--fs-chip-info-line);background:var(--fs-chip-info-surface);border-radius:8px;margin:24px 0;padding:16px 18px}.fs-article .fs-mc-fact p{margin:0}.fs-article .fs-mc-fact .src{font-family:var(--fs-mono);text-transform:uppercase;margin-top:6px;font-size:12px;line-height:18px}.fs-article .fs-mc-fact .src a{color:var(--fs-chip-info-ink);text-underline-offset:3px;text-decoration:underline}.fs-article .fs-mc-table{border:1px solid var(--fs-line-soft);border-radius:8px;margin:24px 0;overflow-x:auto}.fs-article .fs-mc-table:focus-visible{outline:2px solid var(--fs-primary);outline-offset:2px}.fs-article .fs-mc-table table{border-collapse:collapse;width:100%;font-size:16px;line-height:24px}.fs-article .fs-mc-table th,.fs-article .fs-mc-table td{border-bottom:1px solid var(--fs-line-soft);text-align:left;vertical-align:top;padding:10px 14px}.fs-article .fs-mc-table thead th{background:var(--fs-muted);color:var(--fs-muted-fg);font-family:var(--fs-mono);text-transform:uppercase;font-size:12px;font-weight:500}.fs-article .fs-mc-table tbody th{color:var(--fs-ink-strong);font-weight:600}.fs-article .fs-mc-table tr:last-child>*{border-bottom:0}.fs-fig{border:1px solid var(--fs-line-soft);background:var(--fs-bg);box-shadow:var(--fs-shadow-card);border-radius:12px;margin:48px 0;padding:28px}.fs-fig figcaption{gap:6px;display:grid}.fs-fig .fs-fig-t{color:var(--fs-ink-strong);font-family:var(--fs-mono);text-transform:uppercase;font-size:13px;line-height:20px}.fs-fig .fs-fig-c{color:var(--fs-muted-fg);font-size:16px;line-height:24px}.fs-fig .fs-fig-stage{background:var(--fs-muted);border-radius:8px;margin:24px 0 20px;padding:24px 16px}.fs-fig svg{width:100%;max-width:600px;height:auto;margin:0 auto;display:block;overflow:visible}.fs-fig svg text{font-family:var(--fs-mono);font-size:14px}.fs-fig .fs-fig-lbl{fill:var(--fs-muted-fg)}.fs-fig .fs-fig-lbl.is-on{fill:var(--fs-ink-strong);font-weight:600}.fs-fig .fs-fig-lbl.is-inv{fill:var(--fs-primary-fg)}.fs-fig .fs-fig-val{fill:var(--fs-ink);font-size:14px}.fs-fig .fs-fig-big{fill:var(--fs-ink-strong);font-size:34px;font-weight:600}.fs-fig .fs-fig-lead{stroke:var(--fs-border);stroke-width:1px}.fs-fig .fs-fig-slab .tp{fill:var(--fs-bg);stroke:var(--fs-border)}.fs-fig .fs-fig-slab .s1{fill:var(--fs-secondary);stroke:var(--fs-border)}.fs-fig .fs-fig-slab .s2{fill:var(--fs-line-soft);stroke:var(--fs-border)}.fs-fig .fs-fig-slab.is-on .tp{fill:var(--fs-primary);stroke:var(--fs-primary)}.fs-fig .fs-fig-slab.is-on .s1,.fs-fig .fs-fig-slab.is-on .s2{fill:color-mix(in oklab, var(--fs-primary) 70%, var(--fs-solid));stroke:var(--fs-primary)}.fs-fig .fs-fig-badge circle{fill:var(--fs-bg);stroke:var(--fs-border)}.fs-fig .fs-fig-badge text{fill:var(--fs-muted-fg);font-size:11px}.fs-fig .fs-fig-badge.is-on circle{fill:var(--fs-primary);stroke:var(--fs-primary)}.fs-fig .fs-fig-badge.is-on text{fill:var(--fs-primary-fg)}.fs-fig .fs-fig-track{fill:none;stroke:var(--fs-border);stroke-width:2px}.fs-fig .fs-fig-dash{fill:none;stroke:var(--fs-ink-subtle);stroke-width:2px;stroke-dasharray:4 10}.fs-fig .fs-fig-fill{stroke:var(--fs-primary);stroke-width:3px}.fs-fig .fs-fig-dot{fill:var(--fs-bg);stroke:var(--fs-border);stroke-width:2px}.fs-fig .fs-fig-dot.is-past{fill:var(--fs-primary);stroke:var(--fs-primary)}.fs-fig .fs-fig-bar{fill:var(--fs-border)}.fs-fig .fs-fig-bar.is-on{fill:var(--fs-primary)}.fs-fig .fs-fig-band{fill:var(--fs-secondary);stroke:var(--fs-border)}.fs-fig .fs-fig-band.is-on{fill:var(--fs-primary);stroke:var(--fs-primary)}.fs-fig .fs-fig-card{fill:var(--fs-bg);stroke:var(--fs-border)}.fs-fig .fs-fig-zone{fill:#0000;stroke:#0000}.fs-fig .fs-fig-zone.is-on{fill:color-mix(in oklab, var(--fs-primary) 10%, var(--fs-bg));stroke:var(--fs-primary)}.fs-fig .fs-fig-line{fill:var(--fs-line-soft)}.fs-fig .fs-fig-ring{fill:none;stroke:var(--fs-primary);stroke-width:10px;stroke-linecap:round}.fs-fig .fs-fig-ctl,.fs-fig .fs-fig-checks{margin-bottom:20px!important}.fs-fig .fs-fig-ctl{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.fs-fig .fs-fig-ctl button{background:var(--fs-bg);min-height:36px;box-shadow:var(--fs-shadow-btn);color:var(--fs-ink);cursor:pointer;border:0;border-radius:999px;align-items:center;gap:6px;padding:6px 12px;font-size:14px;line-height:20px;display:inline-flex}.fs-fig .fs-fig-ctl button span{color:var(--fs-ink-subtle);font-family:var(--fs-mono);font-size:12px}.fs-fig .fs-fig-ctl button:hover{background:var(--fs-ghost-hover)}.fs-fig .fs-fig-ctl button[aria-pressed=true]{background:var(--fs-solid);color:var(--fs-primary-fg);box-shadow:none}.fs-fig .fs-fig-ctl button[aria-pressed=true] span{color:var(--fs-primary-fg)}.fs-fig .fs-fig-ctl button:focus-visible,.fs-fig input:focus-visible{outline:2px solid var(--fs-primary);outline-offset:2px}.fs-fig .fs-fig-ctl label{color:var(--fs-muted-fg);font-family:var(--fs-mono);text-transform:uppercase;font-size:12px}.fs-fig input[type=range]{min-width:160px;accent-color:var(--fs-primary);flex:1}.fs-fig .fs-fig-checks{gap:6px;margin:0;padding:0;list-style:none;display:grid}.fs-fig .fs-fig-checks li{margin:0}.fs-fig .fs-fig-checks label{cursor:pointer;align-items:baseline;gap:10px;font-size:16px;line-height:24px;display:flex}.fs-fig .fs-fig-checks input{accent-color:var(--fs-primary)}.fs-fig .fs-fig-detail{border-top:1px solid var(--fs-line-soft);color:var(--fs-ink);margin:20px 0 0;padding-top:20px;font-size:16px;line-height:26px}.fs-fig .fs-fig-detail strong{color:var(--fs-ink-strong)}@media (prefers-reduced-motion:no-preference){.fs-fig .fs-fig-ctl button{transition:background-color .15s ease, transform .12s var(--fs-ease)}.fs-fig .fs-fig-ctl button:active{transform:scale(.97)}.fs-fig .fs-fig-slab,.fs-fig .fs-fig-badge{transition:transform .2s var(--fs-ease)}.fs-fig .fs-fig-bar,.fs-fig .fs-fig-fill,.fs-fig .fs-fig-ring{transition:fill .15s ease, stroke-dasharray .3s var(--fs-ease), x2 .3s var(--fs-ease)}.fs-fig .fs-fig-dash{animation:1.6s linear infinite fs-fig-dash}.fs-fig .fs-fig-in{animation:fs-fig-in .42s var(--fs-ease) both}}@keyframes fs-fig-dash{to{stroke-dashoffset:-28px}}@keyframes fs-fig-in{0%{opacity:0;transform:translateY(-10px)}}@media (prefers-reduced-motion:reduce){.fs-fig *,.fs-fig :before,.fs-fig :after{transition:none!important;animation:none!important}}@media (max-width:599px){.fs-fig{padding:16px}.fs-fig .fs-fig-stage{padding:12px 4px}.fs-fig svg text{font-size:22px}.fs-fig svg .fs-fig-lbl:not(.is-on),.fs-fig-stack svg .fs-fig-lbl,.fs-fig-anatomy svg .fs-fig-lbl{display:none}}
