.tactile-button{--tactile-depth:6px;--tactile-radius:9999px;--tactile-face:#08f48d;--tactile-face-highlight:color-mix(in srgb, var(--tactile-face) 70%, white);--tactile-content:#001c2e;--tactile-base:color-mix(in srgb, var(--tactile-face) 65%, #001c2e);--tactile-base-shadow:color-mix(in srgb, var(--tactile-face) 40%, #001c2e);width:max-content;padding:0 0 var(--tactile-depth);border-radius:var(--tactile-radius);cursor:pointer;-webkit-user-select:none;user-select:none;background:0 0;border:0;flex-shrink:0;font-family:inherit;line-height:1;display:inline-grid;position:relative}.tactile-button-base{inset:var(--tactile-depth) 0 0;border-radius:var(--tactile-radius);background:var(--tactile-base);box-shadow:inset 0 -1px 0 var(--tactile-base-shadow);position:absolute}.tactile-button-face{border-radius:var(--tactile-radius);background:var(--tactile-face);height:32px;color:var(--tactile-content);box-shadow:inset 0 1px 0 var(--tactile-face-highlight);white-space:nowrap;transition:transform .15s var(--ease-out,cubic-bezier(.23, 1, .32, 1));justify-content:center;align-items:center;gap:6px;padding:0 12px;font-size:14px;font-weight:500;line-height:20px;display:flex;position:relative}.tactile-button-face svg{flex-shrink:0;width:14px;height:14px}.tactile-button:focus-visible{outline:2px solid var(--color-focus);outline-offset:3px}@media (hover:hover) and (pointer:fine){.tactile-button:hover .tactile-button-face{transform:translateY(2px)}}.tactile-button:active .tactile-button-face{transform:translateY(var(--tactile-depth))}@media (max-width:600px){.tactile-button-face{height:38px;padding-inline:10px}}@media (prefers-reduced-motion:reduce){.tactile-button .tactile-button-face,.tactile-button:hover .tactile-button-face,.tactile-button:active .tactile-button-face{transition:none;transform:none}}
.logo-trace-loader{vertical-align:middle;flex-shrink:0;display:inline-block}.logo-trace-loader-loop{animation:1.2s linear infinite logo-trace-loader-loop}.logo-trace-loader-outline{animation:logo-trace-loader-close .25s var(--ease-out,cubic-bezier(.23, 1, .32, 1)) both}.logo-trace-loader-fill{opacity:0}.logo-trace-loader[data-phase=fadingFill] .logo-trace-loader-fill{animation:.25s linear both logo-trace-loader-fill}.logo-trace-loader[data-phase=done] .logo-trace-loader-fill{opacity:1}.website-logo-loader{z-index:1000;color:#00f48d;animation:1ms linear 8s forwards website-logo-loader-release;position:fixed;inset:0}.website-logo-loader-backdrop{background:var(--color-bg,#fcfdff);transition:opacity .4s ease-in-out .1s;position:absolute;inset:0}.website-logo-loader-mark{transform-origin:50%;width:96px;height:96px;position:absolute;top:calc(50% - 48px);left:calc(50% - 48px)}.website-logo-loader[data-stage=docking]{pointer-events:none}.website-logo-loader[data-stage=docking] .website-logo-loader-backdrop{opacity:0}.marketing:has(.website-logo-loader[data-stage=docking]) .navbar-logo-mark{opacity:0;animation:1ms linear 8s forwards navbar-logo-release}@keyframes logo-trace-loader-loop{to{stroke-dashoffset:-1px}}@keyframes logo-trace-loader-close{0%{stroke-dashoffset:1px}to{stroke-dashoffset:0}}@keyframes logo-trace-loader-fill{to{opacity:1}}@keyframes website-logo-loader-release{to{visibility:hidden;opacity:0;pointer-events:none}}@keyframes navbar-logo-release{to{opacity:1}}@media (prefers-reduced-motion:reduce){.logo-trace-loader-guide,.logo-trace-loader-loop,.logo-trace-loader-outline{animation:none;display:none}.logo-trace-loader .logo-trace-loader-fill{opacity:1;animation:none}.website-logo-loader-backdrop{transition:none}}@media (scripting:none){.website-logo-loader{display:none}}
html{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}html[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}.theme-switch{border:1px solid var(--site-line-strong);background:var(--color-bg);width:36px;height:36px;color:var(--color-fg);cursor:pointer;border-radius:999px;flex-shrink:0;place-items:center;display:inline-grid}.theme-switch svg{width:18px;height:18px}.theme-switch:focus-visible{outline:2px solid var(--color-focus);outline-offset:4px}.theme-switch:disabled{cursor:wait}html[data-theme-transition]::view-transition-old(root){mix-blend-mode:normal;animation:.5s ease-in-out both theme-blur-out}html[data-theme-transition]::view-transition-new(root){mix-blend-mode:normal;animation:.5s ease-in-out both theme-blur-in}@keyframes theme-blur-out{0%{filter:blur();opacity:1}to{filter:blur(16px);opacity:0}}@keyframes theme-blur-in{0%{filter:blur(16px);opacity:0}to{filter:blur();opacity:1}}@media (prefers-reduced-motion:reduce){html[data-theme-transition]::view-transition-old(root){animation:none}html[data-theme-transition]::view-transition-new(root){animation:none}}
.desktop-navigation{grid-area:navigation;justify-self:start}.desktop-navigation-link{border-radius:10px;padding-inline:12px;font-size:14px;font-weight:500}.desktop-navigation [data-slot=navigation-menu-list]{gap:8px}.desktop-navigation [data-slot=navigation-menu-trigger]{border-radius:10px;padding-inline:12px}.desktop-navigation-link:focus-visible,.desktop-navigation [data-slot=navigation-menu-trigger]:is(:focus-visible,[aria-expanded=true]){background:var(--film-bg)}@media (hover:hover) and (pointer:fine){.desktop-navigation-link:hover,.desktop-navigation [data-slot=navigation-menu-trigger]:hover{background:var(--film-bg)}}.desktop-navigation button{cursor:pointer}.marketing-navigation-popup{background:var(--color-bg);color:var(--color-fg);border-color:var(--site-line);box-shadow:var(--shadow-raised);transform-origin:var(--transform-origin);transition:opacity .18s var(--ease-out), transform .18s var(--ease-out)}.marketing-navigation-popup[data-starting-style],.marketing-navigation-popup[data-ending-style]{opacity:0;transform:translateY(-4px)scale(.98)}.mobile-menu-toggle{border:1px solid var(--site-line-strong);background:var(--color-bg);width:44px;height:44px;color:var(--color-fg);cursor:pointer;border-radius:999px;justify-content:center;align-items:center;padding:0;display:none}.mobile-menu-toggle svg{width:22px;height:22px}.mobile-menu-toggle:focus-visible{outline:2px solid var(--color-focus);outline-offset:4px}.mobile-menu-backdrop{z-index:120;transition:opacity .22s var(--ease-out);background:#001c2e3d;position:fixed;inset:0}.mobile-menu-panel{z-index:121;border:1px solid var(--site-line);border-radius:var(--radius-showcase);background:var(--color-bg);max-height:calc(100dvh - 24px);color:var(--color-fg);box-shadow:var(--shadow-raised);transition:opacity .22s var(--ease-out), transform .22s var(--ease-out);padding:20px;position:fixed;inset:12px 12px auto;overflow-y:auto}.mobile-menu-backdrop[data-starting-style],.mobile-menu-backdrop[data-ending-style]{opacity:0}.mobile-menu-panel[data-starting-style],.mobile-menu-panel[data-ending-style]{opacity:0;transform:translateY(-8px)scale(.98)}.mobile-menu-heading{justify-content:space-between;align-items:center;gap:16px;display:flex}.mobile-menu-heading h2{margin:0;font-size:16px;font-weight:500}.mobile-menu-controls{align-items:center;gap:8px;display:flex}.mobile-menu-links{transition:opacity .18s var(--ease-out) 50ms;margin-block:24px;display:grid}.mobile-menu-panel[data-starting-style] .mobile-menu-links,.mobile-menu-panel[data-ending-style] .mobile-menu-links{opacity:0;transition-delay:0s}.mobile-menu-panel .mobile-menu-toggle{display:inline-flex}.mobile-menu-links a{border-radius:var(--radius-control);align-items:center;min-height:48px;padding-inline:12px;font-size:20px;display:flex}.mobile-menu-links a[aria-current=page]{background:var(--film-bg);font-weight:500}.desktop-navigation-link[aria-current=page]{text-underline-offset:6px;text-decoration:underline;-webkit-text-decoration-color:var(--site-line-strong);text-decoration-color:var(--site-line-strong)}.marketing-navigation-popup a[aria-current=page]{background:var(--film-bg)}@media (hover:hover) and (pointer:fine){.mobile-menu-links a:hover{background:var(--film-bg)}}.mobile-menu-links a:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px;border-radius:4px}.mobile-menu-group-label{border-top:1px solid var(--site-line);color:var(--color-fg-secondary);margin-top:16px;padding:16px 12px 8px;font-size:12px}.mobile-menu-actions{flex-wrap:wrap;align-items:center;gap:12px;display:flex}@media (max-width:900px){.marketing .site-header{padding:10px var(--site-gutter);justify-content:space-between;gap:16px;display:flex}.site-header .desktop-navigation,.site-header>.nav-actions{display:none}.site-header .brand-group{margin:0}.site-header .beta-tag{display:none}.mobile-menu-toggle{display:inline-flex}}@media (prefers-reduced-motion:reduce){.marketing-navigation-popup,.mobile-menu-panel,.mobile-menu-backdrop,.mobile-menu-links{transition:none}}
html{scroll-padding-top:112px}.route-page{background:var(--color-bg);min-height:100dvh}.route-header{z-index:100;background:var(--color-bg);position:sticky;top:0}::view-transition-group(.route-page){animation-duration:1.4s;animation-timing-function:cubic-bezier(.4,.3,0,1)}::view-transition-group(.route-header){animation-duration:1.4s;animation-timing-function:cubic-bezier(.4,.3,0,1)}::view-transition-group(.route-header){z-index:100}::view-transition-group(.route-page){width:100%;height:100dvh;animation:none;position:fixed;inset:0;overflow:clip}::view-transition-old(.route-page){object-fit:none;object-position:left top;width:100%;height:100%}::view-transition-new(.route-page){object-fit:none;object-position:left top;width:100%;height:100%}::view-transition-image-pair(.route-page){isolation:isolate}::view-transition-image-pair(.route-header){isolation:isolate}::view-transition-old(.route-page){mix-blend-mode:normal}::view-transition-new(.route-page){mix-blend-mode:normal}::view-transition-old(.route-header){mix-blend-mode:normal}::view-transition-new(.route-header){mix-blend-mode:normal}::view-transition-old(.route-page){animation:1.4s cubic-bezier(.4,.3,0,1) both route-page-out}::view-transition-new(.route-page){animation:1.4s cubic-bezier(.4,.3,0,1) both route-page-in}::view-transition-old(.route-header){animation:.4s cubic-bezier(.4,.3,0,1) both route-header-out}::view-transition-new(.route-header){animation:.4s cubic-bezier(.4,.3,0,1) .9s both route-header-fade,.8s cubic-bezier(.4,.3,0,1) .7s both route-header-in}@keyframes route-page-out{to{opacity:.5;transform:translateY(-160px)scale(.95)}}@keyframes route-page-in{0%{clip-path:inset(70% 0% 0%);transform:translateY(50dvh)}to{clip-path:inset(0%);transform:translateY(0)}}@keyframes route-header-out{to{opacity:0}}@keyframes route-header-fade{0%{opacity:0}to{opacity:1}}@keyframes route-header-in{0%{transform:translateY(10dvh)}to{transform:translateY(0)}}@media (prefers-reduced-motion:reduce){::view-transition-group(.route-page){animation:none}::view-transition-group(.route-header){animation:none}::view-transition-old(.route-page){animation:none}::view-transition-new(.route-page){animation:none}::view-transition-old(.route-header){animation:none}::view-transition-new(.route-header){animation:none}}
.progressive-blur{z-index:10;pointer-events:none;height:200px;position:fixed;left:0;right:0;overflow:hidden}.progressive-blur.top-blur{--blur-direction:to bottom;top:-32px}.progressive-blur.bottom-blur{--blur-direction:to top;bottom:-32px}.progressive-blur .layer{pointer-events:none;position:absolute;inset:0}.progressive-blur .blur-1{z-index:1;-webkit-backdrop-filter:blur(.078125px);backdrop-filter:blur(.078125px);-webkit-mask-image:linear-gradient(var(--blur-direction), transparent 87.5%, #000 100%);-webkit-mask-image:linear-gradient(var(--blur-direction), transparent 87.5%, #000 100%);mask-image:linear-gradient(var(--blur-direction), transparent 87.5%, #000 100%)}.progressive-blur .blur-2{z-index:2;-webkit-backdrop-filter:blur(.15625px);backdrop-filter:blur(.15625px);-webkit-mask-image:linear-gradient(var(--blur-direction), transparent 75%, #000 87.5% 100%);-webkit-mask-image:linear-gradient(var(--blur-direction), transparent 75%, #000 87.5% 100%);mask-image:linear-gradient(var(--blur-direction), transparent 75%, #000 87.5% 100%)}.progressive-blur .blur-3{z-index:3;-webkit-backdrop-filter:blur(.3125px);backdrop-filter:blur(.3125px);-webkit-mask-image:linear-gradient(var(--blur-direction), transparent 62.5%, #000 75% 87.5%, transparent 100%);-webkit-mask-image:linear-gradient(var(--blur-direction), transparent 62.5%, #000 75% 87.5%, transparent 100%);mask-image:linear-gradient(var(--blur-direction), transparent 62.5%, #000 75% 87.5%, transparent 100%)}.progressive-blur .blur-4{z-index:4;-webkit-backdrop-filter:blur(.625px);backdrop-filter:blur(.625px);-webkit-mask-image:linear-gradient(var(--blur-direction), transparent 50%, #000 62.5% 75%, transparent 87.5%);-webkit-mask-image:linear-gradient(var(--blur-direction), transparent 50%, #000 62.5% 75%, transparent 87.5%);mask-image:linear-gradient(var(--blur-direction), transparent 50%, #000 62.5% 75%, transparent 87.5%)}.progressive-blur .blur-5{z-index:5;-webkit-backdrop-filter:blur(1.25px);backdrop-filter:blur(1.25px);-webkit-mask-image:linear-gradient(var(--blur-direction), transparent 37.5%, #000 50% 62.5%, transparent 75%);-webkit-mask-image:linear-gradient(var(--blur-direction), transparent 37.5%, #000 50% 62.5%, transparent 75%);mask-image:linear-gradient(var(--blur-direction), transparent 37.5%, #000 50% 62.5%, transparent 75%)}.progressive-blur .blur-6{z-index:6;-webkit-backdrop-filter:blur(2.5px);backdrop-filter:blur(2.5px);-webkit-mask-image:linear-gradient(var(--blur-direction), transparent 25%, #000 37.5% 50%, transparent 62.5%);-webkit-mask-image:linear-gradient(var(--blur-direction), transparent 25%, #000 37.5% 50%, transparent 62.5%);mask-image:linear-gradient(var(--blur-direction), transparent 25%, #000 37.5% 50%, transparent 62.5%)}.progressive-blur .blur-7{z-index:7;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);-webkit-mask-image:linear-gradient(var(--blur-direction), transparent 12.5%, #000 25% 37.5%, transparent 50%);-webkit-mask-image:linear-gradient(var(--blur-direction), transparent 12.5%, #000 25% 37.5%, transparent 50%);mask-image:linear-gradient(var(--blur-direction), transparent 12.5%, #000 25% 37.5%, transparent 50%)}.progressive-blur .blur-8{z-index:8;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);-webkit-mask-image:linear-gradient(var(--blur-direction), transparent 0%, #000 12.5% 25%, transparent 37.5%);-webkit-mask-image:linear-gradient(var(--blur-direction), transparent 0%, #000 12.5% 25%, transparent 37.5%);mask-image:linear-gradient(var(--blur-direction), transparent 0%, #000 12.5% 25%, transparent 37.5%)}@media (max-width:680px){.progressive-blur{height:160px}}
