:root:has(.fx-site){--font-sans:var(--font-onest);--nav-h:72px;--gut:16px;scroll-padding-top:calc(var(--nav-h) + 16px)}@media (prefers-reduced-motion:no-preference){:root:has(.fx-site){scroll-behavior:smooth}}@media (min-width:761px){:root:has(.fx-site){--gut:32px}}@media (min-width:1101px){:root:has(.fx-site){--gut:64px}}:root:has(.fx-site) ::selection{background:#38d9b947}@layer components{.fx-wrap{width:100%;max-width:calc(1312px + var(--gut) * 2);padding-inline:var(--gut);margin-inline:auto}.fx-dots{background-image:radial-gradient(circle at 1px 1px, rgba(var(--fx-df-a), var(--fx-dot-alpha)) 1px, transparent 1.25px);background-size:10px 10px}.fx-dots-lg{background-image:radial-gradient(circle at 8px 8px, rgba(var(--fx-df-a), .1) 1.1px, transparent 1.35px);background-size:16px 16px}.fx-em{font-family:var(--font-dot);color:var(--fx-accent);letter-spacing:-.01em;text-transform:uppercase;font-weight:900}.fx-tk{font-family:var(--font-mono);color:var(--fx-accent);white-space:nowrap;background:var(--fx-accent-soft);box-shadow:inset 0 0 0 1px var(--fx-accent-line);border-radius:5px;padding:1px 7px;font-size:.88em;font-weight:600}.fx-mark{background:var(--fx-accent-soft);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--fx-accent) 28%, transparent);border-radius:10px;flex:none;grid-template-columns:repeat(9,4px);gap:1px;padding:6px;display:grid}.fx-mark i{background:color-mix(in srgb, var(--fx-accent) 16%, transparent);border-radius:50%;width:4px;height:4px}.fx-mark i.on{background:var(--fx-accent);animation:fx-mark-in .32s cubic-bezier(.2, .9, .3, 1.4) var(--d) both paused, fx-mark-scan 3.6s ease-in-out calc(.9s + var(--w)) infinite paused;transform:scale(0)}.fx-mark.play i.on{animation-play-state:running}.fx-glyph{--g-off:color-mix(in srgb, var(--fx-text) 7%, transparent);gap:4px;width:max-content;display:grid}.fx-glyph i{background:var(--g-off);border-radius:50%;width:7px;height:7px;transition:background-color .35s ease-out;position:relative}.fx-glyph i.on{background:var(--fx-text)}.group:hover .fx-glyph i.on,.group:focus-within .fx-glyph i.on{background:var(--fx-accent)}.fx-glyph i.on:after{content:"";border-radius:inherit;background:var(--fx-accent);opacity:0;animation:fx-sweep 4.2s ease-in-out calc(var(--o,0s) + 1s) infinite paused;position:absolute;inset:0}.fx-glyph.play i.on:after{animation-play-state:running}.fx-live-dot{background:var(--fx-success);border-radius:50%;width:6px;height:6px;position:relative}.fx-live-dot:after{content:"";background:var(--fx-success);border-radius:50%;animation:2s ease-out infinite fx-ping;position:absolute;inset:0}.fx-tape{-webkit-mask-image:linear-gradient(90deg,#0000,#000 48px calc(100% - 48px),#0000);mask-image:linear-gradient(90deg,#0000,#000 48px calc(100% - 48px),#0000)}.fx-tape-in{width:max-content;animation:56s linear infinite fx-tape;display:flex}.fx-tape:hover .fx-tape-in,.fx-tape[data-paused] .fx-tape-in{animation-play-state:paused}.fx-top{padding-inline:var(--gut)}.fx-top:before{content:"";z-index:-1;inset:8px max(6px, calc(var(--gut) - 16px));background:color-mix(in srgb, var(--fx-bg) 78%, transparent);-webkit-backdrop-filter:blur(16px)saturate(1.3);backdrop-filter:blur(16px)saturate(1.3);box-shadow:inset 0 0 0 1px var(--fx-line-2), 0 18px 40px -18px #0000008c;opacity:0;pointer-events:none;border-radius:16px;transition:opacity .25s ease-out,transform .4s cubic-bezier(.2,.8,.2,1),left .45s cubic-bezier(.2,.8,.2,1),right .45s cubic-bezier(.2,.8,.2,1);position:absolute;transform:translateY(-8px)scale(.985)}.fx-top[data-stuck]:before{opacity:1;transform:none}@media (min-width:1101px){.fx-top{--nav-in:max(var(--gut), calc((100% - 1040px) / 2));transition:padding .45s cubic-bezier(.2,.8,.2,1)}.fx-top[data-stuck]{padding-inline:var(--nav-in)}.fx-top[data-stuck]:before{left:calc(var(--nav-in) - 16px);right:calc(var(--nav-in) - 16px)}}.fx-prog i{background:var(--fx-dot-off);border-radius:50%;width:5px;height:5px;position:relative}.fx-prog i:after{content:"";border-radius:inherit;background:var(--fx-accent);opacity:0;position:absolute;inset:0}[data-state=done] .fx-prog i:after{opacity:.45}[data-state=current] .fx-prog i:after{animation:.2s ease-out forwards fx-fill;animation-delay:calc(var(--i) * .18s)}.fx-js .fx-rv{opacity:0;transition:opacity .8s var(--ease-fx), transform .8s var(--ease-fx);transition-delay:var(--d,0s);transform:translateY(18px)}.fx-js:not(.fx-ready) .fx-rv{animation:0s 3s forwards fx-appear}.fx-js .fx-rv.in{opacity:1;transform:none}.fx-appear{opacity:0;animation:fx-appear .9s var(--ease-fx) forwards;animation-delay:var(--d,0s);transform:translateY(14px)}}@keyframes fx-mark-in{to{transform:scale(1)}}@keyframes fx-mark-scan{0%,70%,to{opacity:1}35%{opacity:.35}}@keyframes fx-sweep{0%,48%,to{opacity:0}16%{opacity:1}}@keyframes fx-ping{0%{opacity:.6;transform:scale(1)}70%,to{opacity:0;transform:scale(2.6)}}@keyframes fx-tape{to{transform:translate(-50%)}}@keyframes fx-fill{to{opacity:1}}@keyframes fx-appear{to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.fx-mark i.on{animation:none;transform:none}.fx-glyph i.on:after,.fx-live-dot:after,.fx-tape-in{animation:none}.fx-appear,.fx-js .fx-rv{opacity:1;transition:none;animation:none;transform:none}[data-state=current] .fx-prog i:after{opacity:1;animation:none}}
