.fh{font-family:var(--dk-font-ui);font-feature-settings:"ss01", "cv11";color:var(--dk-text-primary);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility}.fh ::selection{background:var(--dk-fill-selected)}.fh-wrap{width:100%;max-width:1168px;margin-inline:auto;padding-inline:24px}@media (width<=639px){.fh-wrap{padding-inline:16px}}.fh-display{letter-spacing:-.035em;text-wrap:balance;font-size:clamp(2.5rem,1.6rem + 3.6vw,4rem);font-weight:600;line-height:1.04}.fh-h1{letter-spacing:-.03em;text-wrap:balance;font-size:clamp(2.125rem,1.6rem + 2vw,3rem);font-weight:600;line-height:1.06}.fh-h2{letter-spacing:-.028em;text-wrap:balance;font-size:clamp(1.75rem,1.35rem + 1.5vw,2.5rem);font-weight:600;line-height:1.1}.fh-h3{letter-spacing:-.008em;font-size:.9375rem;font-weight:590;line-height:1.4}.fh-lede{letter-spacing:-.006em;color:var(--dk-text-secondary);text-wrap:pretty;font-size:1.0625rem;line-height:1.55}.fh-body{color:var(--dk-text-secondary);text-wrap:pretty;font-size:.9375rem;line-height:1.6}.fh-small{color:var(--dk-text-tertiary);text-wrap:pretty;font-size:.8125rem;line-height:1.5}.fh-label{color:var(--dk-text-tertiary);font-size:.8125rem;font-weight:500;line-height:1.4}.fh-num{font-variant-numeric:tabular-nums}.fh-body strong,.fh-lede strong{color:var(--dk-text-primary);font-weight:560}.fh-link{color:var(--dk-text-primary);text-decoration:underline;-webkit-text-decoration-color:var(--dk-separator-strong);text-decoration-color:var(--dk-separator-strong);text-underline-offset:3px;text-decoration-thickness:1px}.fh-link:hover{text-decoration-color:currentColor}.fh-rule{border-color:var(--dk-separator)}.fh :where(a,button,summary,input,[tabindex]):focus-visible{outline:var(--dk-stroke-ring) solid var(--dk-focus-edge);outline-offset:2px}.fh :where(a:not([data-slot=button]),summary):focus-visible{border-radius:var(--dk-radius-s)}.fh :where(button,[data-slot=button],input:not([type=range],[type=checkbox],[type=radio])){border-radius:9999px}.fh-scene{overflow-clip-margin:32px;width:100%;position:relative;overflow:clip;container-type:inline-size}.fh-scene>[data-scene-natural]{transform-origin:0 0;position:absolute;top:0;left:0}.fh-faq summary{cursor:pointer;list-style:none}.fh-faq summary::-webkit-details-marker{display:none}.fh-faq [data-faq-icon]{transition:transform var(--dk-duration-snap) var(--dk-ease-snap)}.fh-faq details[open] [data-faq-icon]{transform:rotate(45deg)}.fh-range{appearance:none;cursor:pointer;background:0 0;width:100%;height:20px}.fh-range::-webkit-slider-runnable-track{background:linear-gradient(to right, var(--dk-text-primary) 0 var(--inner,var(--fill,0%)), color-mix(in srgb, var(--dk-text-primary) 35%, transparent) var(--inner,var(--fill,0%)) var(--fill,0%), var(--dk-fill-quiet) var(--fill,0%) 100%);border-radius:999px;height:4px}.fh-range::-moz-range-track{background:var(--dk-fill-quiet);border-radius:999px;height:4px}.fh-range::-moz-range-progress{background:var(--dk-text-primary);border-radius:999px;height:4px}.fh-range::-webkit-slider-thumb{appearance:none;background:var(--dk-surface-thumb);width:16px;height:16px;box-shadow:0 0 0 .5px var(--dk-separator-strong), var(--dk-shadow-raised);border-radius:999px;margin-top:-6px}.fh-range::-moz-range-thumb{background:var(--dk-surface-thumb);width:16px;height:16px;box-shadow:0 0 0 .5px var(--dk-separator-strong), var(--dk-shadow-raised);border:0;border-radius:999px}.dark .fh-range::-webkit-slider-thumb{background:var(--dk-text-primary)}.dark .fh-range::-moz-range-thumb{background:var(--dk-text-primary)}.fh-doc{color:var(--dk-text-secondary);font-size:.9375rem;line-height:1.65}.fh-doc>h1{letter-spacing:-.03em;color:var(--dk-text-primary);text-wrap:balance;font-size:clamp(1.875rem,1.6rem + 1vw,2.375rem);font-weight:600;line-height:1.1}.fh-doc>h1+p{letter-spacing:-.006em;margin-top:14px;font-size:1.0625rem;line-height:1.55}.fh-doc :where(h2,h3){color:var(--dk-text-primary);text-wrap:balance;scroll-margin-top:96px}.fh-doc h2{letter-spacing:-.02em;margin-top:48px;margin-bottom:10px;font-size:1.25rem;font-weight:600;line-height:1.3}.fh-doc h3{letter-spacing:-.008em;margin-top:28px;margin-bottom:6px;font-size:.9375rem;font-weight:590;line-height:1.4}.fh-doc :where(p,ul,ol:not(.fh-doc-steps),table){margin-top:12px}.fh-doc :where(p,li){text-wrap:pretty}.fh-doc :where(ul,ol:not(.fh-doc-steps)){flex-direction:column;gap:6px;padding-left:20px;display:flex}.fh-doc ul{list-style:outside}.fh-doc ol:not(.fh-doc-steps){list-style:decimal}.fh-doc li::marker{color:var(--dk-text-tertiary)}.fh-doc :where(li>ul,li>ol){margin-top:6px}.fh-doc strong{color:var(--dk-text-primary);font-weight:560}.fh-doc a{color:var(--dk-text-primary);text-decoration:underline;-webkit-text-decoration-color:var(--dk-separator-strong);text-decoration-color:var(--dk-separator-strong);text-underline-offset:3px;text-decoration-thickness:1px}.fh-doc a:hover{text-decoration-color:currentColor}.fh-doc hr{border-color:var(--dk-separator);margin-block:32px}.fh-doc code,.fh-code{border-radius:var(--dk-radius-xs);background:var(--dk-fill-quiet);font-family:var(--dk-font-mono);color:var(--dk-text-primary);padding:1px 5px;font-size:.85em}.fh-doc pre{border-radius:var(--dk-radius-m);background:var(--dk-fill-quiet);margin-top:12px;padding:12px 14px;font-size:.8125rem;line-height:1.6;overflow-x:auto}.fh-doc pre code{font-size:inherit;background:0 0;padding:0}.fh-wrap.fh-wrap-wide{max-width:90rem}.fh-doc-wide :where(p,ul,ol,blockquote,h1,h2,h3){max-width:44rem}.fh-doc-wide :where(td,th,li) :where(p,ul,ol){max-width:none}.fh-doc .shiki,.fh-doc .shiki span{color:var(--shiki-light);font-style:var(--shiki-light-font-style);font-weight:var(--shiki-light-font-weight)}.dark .fh-doc .shiki,.dark .fh-doc .shiki span{color:var(--shiki-dark);font-style:var(--shiki-dark-font-style);font-weight:var(--shiki-dark-font-weight)}@media (prefers-color-scheme:dark){:root:not(.light) .fh-doc .shiki,:root:not(.light) .fh-doc .shiki span{color:var(--shiki-dark);font-style:var(--shiki-dark-font-style);font-weight:var(--shiki-dark-font-weight)}}.fh-doc .shiki{font-variant-ligatures:none}.fh-code{border:1px solid var(--dk-separator);border-radius:var(--dk-radius-m);background:var(--dk-fill-quiet);margin:12px 0 0;overflow:hidden}.fh-code figcaption{border-bottom:1px solid var(--dk-separator);color:var(--dk-text-tertiary);justify-content:space-between;align-items:center;gap:12px;padding:6px 8px 6px 14px;font-size:.75rem;display:flex}.fh-code button{border-radius:var(--dk-radius-s);color:var(--dk-text-secondary);padding:2px 8px;font-size:.75rem}.fh-code button:hover{background:var(--dk-fill-hover);color:var(--dk-text-primary)}.fh-code button:focus-visible{outline:2px solid var(--dk-focus-edge);outline-offset:1px}.fh-doc .fh-code pre{background:0 0;border-radius:0;margin-top:0}.fh-doc a.fh-doc-path{border-bottom:0;text-decoration:none}.fh-doc a.fh-doc-path code{text-decoration:underline;-webkit-text-decoration-color:var(--dk-separator-strong);text-decoration-color:var(--dk-separator-strong);text-underline-offset:3px}.fh-doc a.fh-doc-path:hover code{text-decoration-color:currentColor}.fh-mermaid{border:1px solid var(--dk-separator);border-radius:var(--dk-radius-m);margin-top:16px;position:relative}.fh-mermaid-scroll{padding:36px 16px 16px}.fh-mermaid svg{height:auto;margin:0 auto;display:block}.fh-doc .fh-mermaid pre{background:0 0;margin:0}.fh-mermaid button,.fh-mermaid-dialog-bar button{border:1px solid var(--dk-separator);border-radius:var(--dk-radius-s);background:var(--background);color:var(--dk-text-secondary);padding:3px 10px;font-size:.75rem}.fh-mermaid button{position:absolute;top:8px;right:8px}.fh-mermaid button:hover,.fh-mermaid-dialog-bar button:hover:not(:disabled){color:var(--dk-text-primary);background:var(--dk-fill-hover)}.fh-mermaid-dialog-bar button:disabled{opacity:.4}.fh-mermaid button:focus-visible,.fh-mermaid-dialog-bar button:focus-visible{outline:2px solid var(--dk-focus-edge);outline-offset:1px}.fh-mermaid-dialog{border:1px solid var(--dk-separator-strong);border-radius:var(--dk-radius-l);background:var(--background);width:calc(100vw - 48px);max-width:none;height:calc(100dvh - 48px);max-height:none;color:var(--dk-text-primary);padding:0}.fh-mermaid-dialog[open]{grid-template-rows:auto minmax(0,1fr);display:grid;overflow:hidden}.fh-mermaid-dialog::backdrop{background:var(--dk-scrim)}.fh-mermaid-dialog-bar{border-bottom:1px solid var(--dk-separator);color:var(--dk-text-tertiary);justify-content:flex-end;align-items:center;gap:8px;padding:10px 12px;font-size:.75rem;display:flex}.fh-mermaid-dialog-scroll{padding:24px;overflow:auto}.fh-mermaid-dialog-scroll>div{margin:0 auto}.fh-mermaid-dialog-scroll svg{width:100%;height:auto;display:block;max-width:none!important}.fh-explainer{border:1px solid var(--dk-separator);border-radius:var(--dk-radius-m);background:var(--background);margin:16px 0 0}.fh-explainer-bar{border-bottom:1px solid var(--dk-separator);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 16px;padding:8px;display:flex}.fh-explainer-scenes,.fh-explainer-steps{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.fh-explainer-steps span{color:var(--dk-text-tertiary);margin-right:6px;font-size:.75rem}.fh-explainer-bar button{border-radius:var(--dk-radius-s);color:var(--dk-text-secondary);padding:4px 10px;font-size:.8125rem}.fh-explainer-steps button{border:1px solid var(--dk-separator)}.fh-explainer-bar button:hover:not(:disabled){background:var(--dk-fill-hover);color:var(--dk-text-primary)}.fh-explainer-bar button[aria-pressed=true]{background:var(--dk-fill-selected);color:var(--dk-text-primary);font-weight:500}.fh-explainer-bar button:disabled{opacity:.4}.fh-explainer-bar button:focus-visible{outline:2px solid var(--dk-focus-edge);outline-offset:1px}.fh-explainer-stage{padding:12px;overflow-x:auto}.fh-explainer-stage svg{max-width:none;height:auto;font-family:var(--dk-font-ui);margin:0 auto;display:block}.fh-explainer-node{transition:opacity var(--dk-duration-quick) var(--dk-ease-quick)}.fh-explainer-node[data-idle]{opacity:.4}.fh-explainer-node rect{fill:var(--dk-surface-raised);stroke:var(--dk-separator-strong);stroke-width:1px}.fh-explainer-node[data-kind=client] rect{stroke:var(--dk-text-secondary)}.fh-explainer-node[data-kind=outside] rect{fill:var(--dk-fill-quiet);stroke-dasharray:4 3}.fh-explainer-node text{fill:var(--dk-text-primary);text-anchor:middle;font-size:13px;font-weight:600}.fh-explainer-node text.fh-explainer-note{fill:var(--dk-text-tertiary);font-size:11px;font-weight:400}.fh-explainer-flows line,.fh-explainer-legend line{stroke:var(--dk-text-secondary);stroke-width:1.25px;stroke-linecap:round}.fh-explainer-flows polygon,.fh-explainer-dot{fill:var(--dk-text-secondary)}.fh-explainer-flows [data-kind=message] line,.fh-explainer-legend [data-kind=message] line{stroke-dasharray:6 5}.fh-explainer-flows [data-kind=request] line,.fh-explainer-legend [data-kind=request] line{stroke-dasharray:1 5}.fh-explainer-flows [data-kind=media] line,.fh-explainer-legend [data-kind=media] line{stroke:var(--dk-text-primary);stroke-width:3px}.fh-explainer-flows [data-kind=media] :where(polygon,circle){fill:var(--dk-text-primary)}.fh-explainer-flows [data-quiet] line{stroke:var(--dk-separator-strong);stroke-width:1.25px}.fh-explainer-flows [data-kind=media] .fh-explainer-dot{fill:var(--background);stroke:var(--dk-text-primary);stroke-width:1.5px}.fh-explainer-dot{animation-name:fh-explainer-travel;animation-timing-function:linear;animation-iteration-count:infinite}@keyframes fh-explainer-travel{0%{transform:translate(var(--x1), var(--y1));opacity:0}12%,88%{opacity:1}to{transform:translate(var(--x2), var(--y2));opacity:0}}.fh-explainer-label{fill:var(--dk-text-primary);text-anchor:middle;paint-order:stroke;stroke:var(--background);stroke-width:7px;stroke-linejoin:round;font-size:12px}.fh-explainer figcaption{border-top:1px solid var(--dk-separator);flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:8px 24px;padding:12px 14px;display:flex}.fh-doc .fh-explainer figcaption p{max-width:40rem;min-height:4.5em;color:var(--dk-text-primary);flex:20rem;margin:0;font-size:.9375rem;line-height:1.5}.fh-doc .fh-explainer-legend{color:var(--dk-text-tertiary);flex-wrap:wrap;gap:4px 14px;margin:3px 0 0;padding:0;font-size:.75rem;list-style:none;display:flex}.fh-doc .fh-explainer-legend li{align-items:center;gap:6px;margin:0;padding:0;display:flex}@media (prefers-reduced-motion:reduce){.fh-explainer-dot{display:none}}.fh-mock{border:1px solid var(--dk-separator);border-radius:var(--dk-radius-m);background:var(--background);margin:16px 0 0}.fh-mock-stage{flex-wrap:wrap;justify-content:center;align-items:flex-start;gap:8px;padding:8px;display:flex}.fh-mock-cell{flex:1 1 calc(min(var(--w), max(var(--w) * .6, 300px)) + 40px);min-width:0;max-width:calc(var(--w) + 40px);border-radius:var(--dk-radius-s);background:var(--background);color:var(--dk-text-primary);padding:10px 20px 24px}.fh-mock-label{color:var(--dk-text-tertiary);margin-bottom:12px;font-size:.75rem;line-height:1.4}.fh-doc .fh-mock [data-scene-natural] :is(p,ul,ol,li,h1,h2,h3,a,strong,code,pre,hr,table,th,td){all:revert-layer}.fh-mock figcaption{border-top:1px solid var(--dk-separator);padding:12px 14px}.fh-doc .fh-mock figcaption p{max-width:40rem;color:var(--dk-text-primary);margin:0;font-size:.9375rem;line-height:1.5}.fh-doc .fh-mock figcaption p+p,.fh-doc .fh-mock figcaption p.fh-mock-caption:only-child{color:var(--dk-text-secondary);font-size:.8125rem}.fh-doc .fh-mock figcaption p+p{margin-top:6px}.fh-doc table{border-collapse:collapse;width:100%;font-size:.875rem;line-height:1.5}.fh-doc :where(th,td){border-bottom:1px solid var(--dk-separator);text-align:left;vertical-align:top;padding:9px 20px 9px 0}.fh-doc :where(th,td):last-child{padding-right:0}.fh-doc th{color:var(--dk-text-tertiary);font-size:.8125rem;font-weight:500}.fh-doc td:first-child{color:var(--dk-text-primary)}.fh-kbd{border-radius:var(--dk-radius-xs);background:var(--dk-fill-quiet);min-width:1.6em;box-shadow:inset 0 0 0 .5px var(--dk-separator-strong), 0 1px 0 var(--dk-separator);font-family:var(--dk-font-ui);letter-spacing:.02em;text-align:center;white-space:nowrap;color:var(--dk-text-primary);padding:0 6px;font-size:.8125rem;font-weight:500;line-height:1.6;display:inline-block}.fh-doc-callout{background:var(--dk-fill-quiet);box-shadow:inset 0 0 0 .5px var(--dk-separator);font-size:.875rem;line-height:1.6}.fh-doc-callout[data-callout=warning]{background:color-mix(in srgb, var(--dk-status-warning) 9%, transparent)}.fh-doc-callout :where(p,ul){margin-top:6px}.fh-doc-steps h3{margin:0}.fh-doc-steps :where(p,ul){margin-top:4px}.fh-doc-icon-fill{opacity:.26}.dark .fh{--background:#08090a}@media (prefers-color-scheme:dark){:root:not(.light) .fh{--background:#08090a}}.fh{--fh-reveal:calc(var(--dk-duration-place) * 2.2);--fh-rise:10px}@keyframes fh-rise{0%{opacity:0;transform:translateY(var(--fh-rise))}}@keyframes fh-fade{0%{opacity:0}}@keyframes fh-draw{0%{transform:scaleX(0)}}.fh [data-reveal]{overflow-anchor:none}.fh [data-reveal=wait]{opacity:0}.fh [data-reveal=in]{animation:fh-rise var(--fh-reveal) var(--dk-ease-place) backwards;animation-delay:calc(var(--fh-ri,0) * var(--dk-duration-stagger) * 1.5)}.fh-enter{animation:fh-rise var(--fh-reveal) var(--dk-ease-place) backwards;animation-delay:calc(var(--fh-step,0) * var(--dk-duration-stagger) * 1.6)}.fh-sep{background:var(--dk-separator);transform-origin:0;pointer-events:none;height:1px;position:absolute;top:0;left:24px;right:24px}@media (width<=639px){.fh-sep{left:16px;right:16px}}.fh .fh-sep[data-reveal=wait]{opacity:1;transform:scaleX(0)}.fh .fh-sep[data-reveal=in]{animation:fh-draw calc(var(--fh-reveal) * 2) var(--dk-ease-place) backwards}.fh-line-t{position:relative}.fh-line-t:before{content:"";inset-inline:0;background:var(--fh-line,var(--dk-separator-strong));transform-origin:0;height:1px;position:absolute;top:0}.fh .fh-line-t[data-reveal=wait]:before{transform:scaleX(0)}.fh .fh-line-t[data-reveal=in]:before{animation:fh-draw calc(var(--fh-reveal) * 1.8) var(--dk-ease-place) backwards;animation-delay:inherit}.fh :where(a,button,summary){transition-property:color,background-color,border-color,text-decoration-color,opacity,box-shadow,transform;transition-duration:var(--dk-duration-quick);transition-timing-function:var(--dk-ease-quick)}.fh :where(button,[data-slot=button]):not(:disabled):active{transform:scale(.98)}.fh-header{transition:background-color var(--dk-duration-snap) var(--dk-ease-snap), border-color var(--dk-duration-snap) var(--dk-ease-snap), backdrop-filter var(--dk-duration-snap) var(--dk-ease-snap)}@keyframes fh-scene{0%{opacity:0;transform:translateY(16px)scale(.985)}}.fh .fh-scene[data-reveal=in]{animation-name:fh-scene;animation-duration:calc(var(--fh-reveal) * 1.6)}.fh-desk:after{content:"";z-index:20;border-radius:inherit;box-shadow:inset 0 0 0 .5px var(--dk-separator);pointer-events:none;position:absolute;inset:0}.fh-glow{isolation:isolate;position:relative}.fh-glow:before{content:"";z-index:-1;background:radial-gradient(closest-side, color-mix(in srgb, var(--dk-text-primary) 7%, transparent), transparent);pointer-events:none;height:560px;position:absolute;inset:-240px 0 auto}.fh-art{border-radius:var(--dk-radius-xl);background:#08090a;overflow:hidden}.dark .fh-art{background:0 0;border-radius:0;-webkit-mask-image:radial-gradient(closest-side,#000 62%,#0000 100%);mask-image:radial-gradient(closest-side,#000 62%,#0000 100%)}@media (prefers-color-scheme:dark){:root:not(.light) .fh-art{background:0 0;border-radius:0;-webkit-mask-image:radial-gradient(closest-side,#000 62%,#0000 100%);mask-image:radial-gradient(closest-side,#000 62%,#0000 100%)}}.fh-art-sweep{mix-blend-mode:screen;pointer-events:none;opacity:0;background:radial-gradient(closest-side,#fff6,#fff0);width:14%;height:6%;animation:7s cubic-bezier(.45,0,.55,1) 1.2s infinite fh-sweep;position:absolute;top:50%;left:0;translate:-100% -50%}@keyframes fh-sweep{0%{opacity:0;transform:translate(0)}12%{opacity:1}48%{opacity:1}60%,to{opacity:0;transform:translate(800%)}}.fh-duo{border-radius:var(--dk-radius-m);background:var(--dk-fill-hover);width:40px;height:40px;box-shadow:inset 0 0 0 .5px var(--dk-separator);color:var(--dk-text-primary);justify-content:center;align-items:center;display:inline-flex}.fh-duo-glyph{width:22px;height:22px;transition:transform var(--dk-duration-snap) var(--dk-ease-snap);display:block;position:relative}.fh-duo-glyph>svg{width:100%;height:100%;position:absolute;inset:0}.fh-duo-fill{opacity:.26;transition:opacity var(--dk-duration-snap) var(--dk-ease-snap), transform var(--dk-duration-snap) var(--dk-ease-snap)}.fh-duo-cursor{opacity:0;background:currentColor;border-radius:1px;width:11%;height:14%;position:absolute;top:36%;left:45%}@keyframes fh-duo-line{0%{opacity:0;transform:scale(.85)}}@keyframes fh-duo-tint{0%{opacity:0}}.fh [data-reveal=in] .fh-duo-line{animation:fh-duo-line .5s var(--dk-ease-place) backwards;animation-delay:calc(var(--fh-ri,0) * var(--dk-duration-stagger) * 1.5)}.fh [data-reveal=in] .fh-duo-fill{animation:fh-duo-tint .6s var(--dk-ease-quick) backwards;animation-delay:calc(var(--fh-ri,0) * var(--dk-duration-stagger) * 1.5 + .32s)}.fh-fact:hover .fh-duo-fill{opacity:.4}.fh-fact:hover [data-motion=flip] .fh-duo-glyph{transform:rotate(-6deg)translateY(-1px)}.fh-fact:hover [data-motion=pop] .fh-duo-glyph{transform:scale(1.1)}.fh-fact:hover [data-motion=rise] .fh-duo-fill,.fh-fact:hover [data-motion=lift] .fh-duo-glyph{transform:translateY(-2px)}@keyframes fh-blink{0%,49%{opacity:1}50%,to{opacity:0}}.fh-fact:hover [data-motion=blink] .fh-duo-cursor{animation:1s step-end infinite fh-blink}@keyframes fh-wiggle{0%,to{transform:rotate(0)}25%{transform:rotate(-8deg)}75%{transform:rotate(6deg)}}.fh-fact:hover [data-motion=wiggle] .fh-duo-glyph{animation:fh-wiggle .48s var(--dk-ease-snap)}.fh-tour-bar{box-shadow:inset 0 0 0 .5px var(--dk-glass-edge);-webkit-mask-image:linear-gradient(90deg,#0000,#000 90px);mask-image:linear-gradient(90deg,#0000,#000 90px)}.fh-tour [data-label]{transition:box-shadow var(--dk-duration-snap) var(--dk-ease-snap), transform var(--dk-duration-snap) var(--dk-ease-snap)}.fh-tour [data-tour=on]{box-shadow:0 0 0 2px var(--dk-text-primary);transform:scale(1.08)}.fh-tour-cursor{transition:transform calc(var(--dk-duration-place) * 2) var(--dk-ease-place)}.fh-tour-tip-in{animation:fh-fade var(--dk-duration-quick) var(--dk-ease-quick) backwards;animation-delay:calc(var(--dk-duration-place) * 1.6)}.fh-tour-tip-out{animation:fh-fade var(--dk-duration-quick) var(--dk-ease-quick) reverse forwards}@keyframes fh-beat{0%{transform:scaleX(var(--fh-beat-from,0))}to{transform:scaleX(1)}}.fh-beat-fill{animation:linear both fh-beat}.fh-iso{--iso:color-mix(in srgb, var(--dk-text-primary) 30%, transparent);--iso-hi:color-mix(in srgb, var(--dk-text-primary) 62%, transparent);--iso-lo:color-mix(in srgb, var(--dk-text-primary) 18%, transparent);--iso-stroke:1.18;--iso-w:calc(var(--iso-stroke) * 1px);--iso-loop-start:1.2s;width:100%;max-width:280px;height:220px;overflow:visible}.fh-iso-wide{max-width:none;height:auto}.fh-iso :is(polygon,line,ellipse,path,circle){fill:var(--background);stroke:var(--iso);stroke-width:var(--iso-w);stroke-linejoin:round;stroke-linecap:round}.fh-iso line{fill:none}.fh-iso .hi{stroke:var(--iso-hi)}.fh-iso .thin{fill:none;stroke:var(--iso-lo)}.fh-iso .dash{stroke:var(--iso-lo);stroke-dasharray:calc(var(--iso-w) * 2) calc(var(--iso-w) * 3)}.fh-iso :is(line.dash,.dash.open){fill:none}.fh-iso .mark{fill:none;stroke:var(--iso-hi)}.fh-iso .cur{fill:var(--background);stroke:var(--iso-hi)}.fh-iso .dot{fill:var(--iso-hi);stroke:none}.fh-iso rect.tag{fill:var(--background);stroke:var(--iso-lo);stroke-width:var(--iso-w)}.fh-iso rect.tag.mark{stroke:var(--iso-hi)}.fh-iso text.tag{fill:var(--iso-hi);font:500 8px/1 var(--dk-font-ui);letter-spacing:.01em}.fh-iso .fx{opacity:0}@keyframes iso-draw{0%{stroke-dashoffset:1px}}.fh-iso[data-iso=wait] [pathLength]{stroke-dasharray:1;stroke-dashoffset:1px}.fh-iso[data-iso=wait] :is(.dash,.tag){opacity:0}.fh-iso[data-iso=on] [pathLength]{stroke-dasharray:1;animation:iso-draw 1s var(--dk-ease-place) backwards;animation-delay:calc(var(--i,0) * .11s)}.fh-iso[data-iso=on] :is(.dash,.tag){animation:fh-fade .5s var(--dk-ease-quick) backwards;animation-delay:calc(.3s + var(--i,0) * .11s)}.fh-iso[data-paused] *{animation-play-state:paused!important}.fh-iso[data-iso=on] :is(.iso-mac-item,.iso-mac-reach,.iso-mac-panel,.iso-mac-row,.iso-team-pulse,.iso-team-press,.iso-fast-run,.iso-fast-page,.iso-net-packet,.iso-guest-arrive,.iso-guest-link){animation-delay:calc(var(--iso-loop-start) + var(--o,0s));animation-iteration-count:infinite;animation-fill-mode:backwards}.fh-iso .iso-mac-item{fill:var(--iso-lo);stroke:none}.fh-iso[data-iso=on] .iso-mac-item{animation-name:iso-loop-mac-item;animation-duration:8s}@keyframes iso-loop-mac-item{0%,2%{opacity:0}5%,84%{opacity:1}90%,to{opacity:0}}.fh-iso[data-iso=on] .iso-mac-reach{animation-name:iso-loop-mac-reach;animation-duration:8s}@keyframes iso-loop-mac-reach{0%,4%{opacity:0}10%,83%{opacity:1}88%,to{opacity:0}}.fh-iso[data-iso=on] .iso-mac-panel{animation-name:iso-loop-mac-panel;animation-duration:8s}@keyframes iso-loop-mac-panel{0%,5%{opacity:0;animation-timing-function:var(--dk-ease-place);transform:translateY(-9px)}13%,82%{opacity:1;animation-timing-function:var(--dk-ease-quick);transform:none}88%,to{opacity:0;transform:translateY(-4px)}}.fh-iso[data-iso=on] .iso-mac-row{animation-name:iso-loop-mac-row;animation-duration:8s}@keyframes iso-loop-mac-row{0%,11%{opacity:0;animation-timing-function:var(--dk-ease-place);transform:translate(-3px,-1.7px)}16%,to{opacity:1;transform:none}}.fh-iso[data-iso=on] .iso-team-drift{animation:iso-drift-a 14s ease-in-out var(--iso-loop-start) infinite}.fh-iso[data-iso=on] .iso-team-sam{animation-name:iso-drift-b;animation-duration:17s}.fh-iso[data-iso=on] .iso-team-priya{animation-name:iso-drift-c;animation-duration:12s}@keyframes iso-drift-a{0%,to{transform:none}30%{transform:translate(15.6px,9px)}60%{transform:translate(5.2px,15px)}}@keyframes iso-drift-b{0%,to{transform:none}35%{transform:translate(-13px,-7.5px)}70%{transform:translate(-20.8px)}}@keyframes iso-drift-c{0%,to{transform:none}40%{transform:translate(17.3px,-10px)}75%{transform:translate(8.7px,-5px)}}.fh-iso .iso-team-pulse{fill:none;stroke:var(--iso-hi);transform-box:fill-box;transform-origin:50%}.fh-iso[data-iso=on] .iso-team-pulse{animation-name:iso-loop-team-pulse;animation-duration:12s;animation-timing-function:var(--dk-ease-quick)}@keyframes iso-loop-team-pulse{0%,10%{opacity:0;transform:scale(1)}10.5%{opacity:.9;transform:scale(1)}16%,to{opacity:0;transform:scale(2.2)}}.fh-iso .iso-team-press{transform-box:fill-box;transform-origin:0 0}.fh-iso[data-iso=on] .iso-team-press{animation-name:iso-loop-team-press;animation-duration:12s}@keyframes iso-loop-team-press{0%,9.5%,12%,to{transform:none}10.5%{transform:scale(.88)}}.fh-iso .iso-fast-run{fill:none;stroke:var(--iso-hi)}.fh-iso[data-iso=on] .iso-fast-run{animation-name:iso-loop-fast-run;animation-duration:4.8s}@keyframes iso-loop-fast-run{0%{opacity:0;animation-timing-function:var(--dk-ease-snap);transform:none}3%{opacity:1;animation-timing-function:var(--dk-ease-snap);transform:none}6%{animation-timing-function:var(--dk-ease-snap);transform:translate(14.7px,8.5px)}9%{animation-timing-function:var(--dk-ease-snap);transform:translate(29.4px,17px)}12%{animation-timing-function:var(--dk-ease-snap);transform:translate(44.1px,25.5px)}15%{animation-timing-function:var(--dk-ease-snap);transform:translate(58.8px,34px)}18%{animation-timing-function:var(--dk-ease-snap);transform:translate(73.5px,42.5px)}21%{opacity:1;transform:translate(90.9px,52.5px)}24%,to{opacity:0;transform:translate(90.9px,52.5px)}}.fh-iso[data-iso=on] .iso-fast-page{animation-name:iso-loop-fast-page;animation-duration:4.8s}@keyframes iso-loop-fast-page{0%,19.5%{opacity:1;transform:none}20%,21.5%{opacity:0;animation-timing-function:var(--dk-ease-place);transform:translate(-2.6px,-1.5px)}26%,to{opacity:1;transform:none}}.fh-iso .iso-net-packet{opacity:0}.fh-iso[data-iso=on] .iso-net-packet{animation-name:iso-loop-net-packet;animation-duration:var(--d,3.2s);animation-timing-function:linear}@keyframes iso-loop-net-packet{0%{opacity:0;transform:translate(var(--ax), var(--ay))}6%{opacity:1}34%{opacity:1;transform:translate(var(--bx), var(--by))}38%,to{opacity:0;transform:translate(var(--bx), var(--by))}}.fh-iso .face{fill:var(--background);stroke:var(--iso-hi)}.fh-iso circle.face.mark{stroke:var(--iso-hi);stroke-width:calc(var(--iso-w) * 1.6)}.fh-iso text.face{font-size:8.5px;font-weight:600}.fh-iso[data-iso=on] .iso-guest-link{animation-name:iso-loop-guest-link;animation-duration:6s}@keyframes iso-loop-guest-link{0%,6%,24%,to{opacity:1}13%{opacity:.45}}.fh-iso[data-iso=on] .iso-guest-arrive{animation-name:iso-loop-guest-arrive;animation-duration:6s}@keyframes iso-loop-guest-arrive{0%,10%{opacity:0;transform:translate(var(--fx), var(--fy));animation-timing-function:var(--dk-ease-place)}17%{opacity:1;transform:translate(var(--fx), var(--fy));animation-timing-function:var(--dk-ease-place)}40%,86%{opacity:1;transform:none}94%,to{opacity:0;transform:none}}@media (prefers-reduced-motion:reduce){.fh [data-reveal],.fh .fh-sep,.fh .fh-line-t:before,.fh .fh-scene,.fh-art-sweep,.fh-duo *,.fh-tour *,.fh-beat-fill,.fh-enter,.fh-iso *,.fh :where(a,button,summary){transition:none!important;animation:none!important}.fh [data-reveal=wait]{opacity:1}.fh .fh-sep[data-reveal=wait],.fh .fh-line-t[data-reveal=wait]:before,.fh :where(button,[data-slot=button]):active{transform:none}}@media print{.fh [data-reveal=wait]{opacity:1}}
