.vision-root{--vis-ink:var(--canopii-text);--vis-faint:color-mix(in oklab, var(--canopii-text) 42%, transparent);--vis-ghost:color-mix(in oklab, var(--canopii-text) 20%, transparent);--vis-pulse:var(--canopii-accent);--vis-pulse-soft:color-mix(in oklab, var(--canopii-accent) 30%, transparent);--vis-pulse-text:color-mix(in oklab, var(--vis-pulse) 50%, var(--canopii-text));--vis-panel:color-mix(in oklab, var(--canopii-text) 9%, var(--canopii-bg));--vis-panel-edge:color-mix(in oklab, var(--canopii-text) 22%, transparent);background-color:var(--canopii-bg);background-image:var(--vis-ground,none);color:var(--canopii-text)}.vis-veg{stroke-dasharray:1;stroke-dashoffset:1px;transition:none}[data-grown=true] .vis-veg{stroke-dashoffset:0;transition:stroke-dashoffset 1.05s cubic-bezier(.55, .06, .18, 1) calc(var(--i,0) * 12ms)}.vis-node{opacity:0;transform-box:fill-box;transform-origin:50%;transition:none;scale:.2}[data-grown=true] .vis-node{opacity:1;transition:opacity .5s ease-out calc(var(--i,0) * 12ms + 1.05s), scale .55s cubic-bezier(.2, .9, .3, 1.3) calc(var(--i,0) * 12ms + 1.05s);scale:1}.vis-ambient{opacity:0;transition:none}[data-grown=true] .vis-ambient{opacity:1;transition:opacity .7s ease-out calc(var(--i,0) * 12ms + 1.05s)}.vis-fade{--k:calc((var(--p,0) - var(--f0,.3)) / .22);opacity:var(--k);translate:0 calc((1 - min(1, max(0, var(--k)))) * 22px)}.vis-fade-still{--k:calc((var(--p,0) - var(--f0,.3)) / .22);opacity:var(--k)}.vis-fade-out{--k2:calc((var(--p,0) - var(--f0,.5)) / .14);opacity:calc(1 - var(--k2))}.vis-swap{animation:.5s cubic-bezier(.2,.7,.2,1) both vis-rise}.vis-pulse-dash{stroke:var(--vis-pulse);stroke-dasharray:.055 1.065;stroke-dashoffset:1.12px;animation:vis-pulse-run var(--pulse-dur,3.4s) linear infinite;animation-delay:var(--pulse-delay,0s)}@keyframes vis-pulse-run{0%{stroke-dashoffset:1.12px}to{stroke-dashoffset:0}}[data-inview=false] .vis-pulse-dash{animation-play-state:paused}.vis-pulse-glow{stroke:var(--vis-pulse-soft);filter:none}.vis-sway{transform-box:fill-box;transform-origin:50% 100%;animation:vis-sway var(--sway-dur,5.6s) ease-in-out var(--sway-delay,0s) infinite alternate}@keyframes vis-sway{0%{rotate:-1.2deg}to{rotate:1.3deg}}.vis-sway-hang{transform-box:view-box;transform-origin:var(--sway-x) var(--sway-y,0px);animation:vis-sway var(--sway-dur,6.4s) ease-in-out var(--sway-delay,0s) infinite alternate}[data-inview=false] .vis-sway,[data-inview=false] .vis-sway-hang{animation-play-state:paused}.vision-root .vis-hero-flora{transition:opacity .5s}.vision-root[data-past-overture=false] .vis-hero-flora{opacity:0}.vis-mote{fill:var(--canopii-muted);opacity:.3;animation:vis-drift var(--mote-dur,14s) ease-in-out var(--mote-delay,0s) infinite alternate}.dark .vis-mote{fill:var(--vis-pulse);opacity:.85;animation:vis-drift var(--mote-dur,14s) ease-in-out var(--mote-delay,0s) infinite alternate, vis-glow 3.8s ease-in-out var(--mote-delay,0s) infinite alternate}@keyframes vis-drift{0%{transform:translate(0,0)}to{transform:translate3d(var(--mote-dx,26px), var(--mote-dy,-34px), 0)}}@keyframes vis-glow{0%{opacity:.25}to{opacity:.95}}[data-inview=false] .vis-mote{animation-play-state:paused}.vis-hero-line{opacity:0;animation:1.1s cubic-bezier(.2,.7,.2,1) forwards vis-rise;animation-delay:var(--rise-delay,0s);transform:translateY(26px)}@keyframes vis-rise{to{opacity:1;transform:translateY(0)}}.vis-cue{animation:2.6s ease-in-out infinite vis-nudge}[data-inview=false] .vis-cue{animation-play-state:paused}@keyframes vis-nudge{0%,to{transform:translateY(0)}50%{transform:translateY(7px)}}.vis-approve{stroke-dasharray:1;stroke-dashoffset:max(0, min(1, calc(1 - (var(--p,0) - var(--f0,.5)) * 5)))}.vis-gauge-fill{transition:height 80ms linear}.vision-root button:focus-visible,.vision-root a:focus-visible{outline:2px solid var(--vis-ink);outline-offset:3px;border-radius:2px}html.view-transitioning [data-grown=true] .vis-veg{transition:stroke-dashoffset 1.05s cubic-bezier(.55, .06, .18, 1) calc(var(--i,0) * 12ms)!important}html.view-transitioning [data-grown=true] .vis-node{transition:opacity .5s ease-out calc(var(--i,0) * 12ms + 1.05s), scale .55s cubic-bezier(.2, .9, .3, 1.3) calc(var(--i,0) * 12ms + 1.05s)!important}.vision-root[data-js=false] .vis-veg,.vision-root[data-js=false] .vis-approve{stroke-dashoffset:0!important;transition:none!important}.vision-root[data-js=false] .vis-node{opacity:1!important;scale:1!important}.vision-root[data-js=false] .vis-ambient{opacity:1!important;transition:none!important}.vision-root[data-js=false] .vis-fade,.vision-root[data-js=false] .vis-fade-still{opacity:1!important;translate:0!important}.vision-root[data-js=false] .vis-fade-out{opacity:0!important}@media (prefers-reduced-motion:reduce){.vision-root .vis-veg,.vision-root .vis-approve{stroke-dashoffset:0!important;transition:none!important}.vision-root .vis-node{opacity:1!important;transition:none!important;scale:1!important}.vision-root .vis-ambient{opacity:1!important;transition:none!important}.vision-root .vis-fade,.vision-root .vis-fade-still{opacity:1!important;translate:0!important}.vision-root .vis-fade-out{opacity:0!important}.vision-root [data-stage]{opacity:1!important;transform:none!important}.vision-root .vis-swap,.vision-root .vis-pulse-dash,.vision-root .vis-sway,.vision-root .vis-sway-hang,.vision-root .vis-mote,.vision-root .vis-cue{animation:none!important}.vision-root .vis-hero-line{opacity:1;transform:none;animation:none!important}}.overture-scrim{background:linear-gradient(to bottom, transparent 0%, transparent 23%, color-mix(in oklab, var(--canopii-bg) 12%, transparent) 40%, color-mix(in oklab, var(--canopii-bg) 40%, transparent) 60%, color-mix(in oklab, var(--canopii-bg) 74%, transparent) 78%, var(--canopii-bg) 90%, var(--canopii-bg) 100%)}