:root{--ease-expo:cubic-bezier(.16, 1, .3, 1);--t-reveal:.8s;--stagger-item:75ms;--t-bg:#fdfdfc;--t-bar:#f3f3f2;--t-line:#00000017;--t-fg:#1c1c1c;--t-dim:#6b6b6b;--t-you:#0e7490;--t-me:#0f766e;--t-ses:#a3127f;--t-ok:#15803d;--t-hover:#0000000f;--surface:color-mix(in oklab, var(--color-fd-foreground) 4.5%, var(--color-fd-background))}@supports (color:lab(0% 0 0)){:root{--t-line:lab(0% 0 0/.09);--t-hover:lab(0% 0 0/.06)}}@keyframes caret{50%{opacity:0}}.caret{animation:1s step-end infinite caret}.press{transition:transform var(--t-press) var(--ease-out), background-color var(--t-hover) ease, color var(--t-hover) ease}.press:active{transform:scale(.97)}.link{text-underline-offset:.2em;transition:text-decoration-color var(--t-hover) ease;text-decoration-line:underline;text-decoration-color:#0000;text-decoration-thickness:.07em}@media (hover:hover) and (pointer:fine){.link:hover{text-decoration-color:currentColor}}.link:focus-visible{outline-offset:3px;border-radius:2px;outline:2px solid}.copy-label{transition:opacity var(--t-hover) ease, transform var(--t-ui) var(--ease-out)}.copy-label.is-off{opacity:0;transform:translateY(-4px)}.foot-link{color:var(--color-fd-muted-foreground);transition:color var(--t-hover) ease;border-radius:4px}.foot-link:hover{color:var(--color-fd-foreground)}.foot-link:focus-visible{color:var(--color-fd-foreground);outline:2px solid var(--color-fd-ring);outline-offset:4px}.dark{--t-bg:#0d0d0d;--t-bar:#111;--t-line:#ffffff1a;--t-fg:#e5e5e5;--t-dim:#8a8a8a;--t-you:#22d3ee;--t-me:#2dd4bf;--t-ses:#f472d0;--t-ok:#4ade80;--t-hover:#ffffff1a}.surface{background-color:var(--surface)}.stage-hold{display:contents}.stage-hold .stage-card{position:sticky;top:4.5rem}@media (min-width:1024px){.stage-hold{display:block;position:sticky;top:max(4.5rem,50svh - 21rem)}.stage-hold .stage-card{position:relative;top:auto}}.stage-run:after{content:"";height:170svh;display:block}.track-rail,.track-fill{pointer-events:none;border-radius:4px;width:4px;height:80%;position:absolute;top:10px;left:8px;translate:-50%}.track-rail{background:color-mix(in oklab, var(--color-fd-foreground) 12%, transparent)}.track-fill{background:var(--color-brand);transform:scaleY(var(--fill,1));transform-origin:50% 0;transition:transform .16s var(--ease-out)}.stage-node{background:var(--surface);border:2px solid color-mix(in oklab, var(--color-fd-foreground) 22%, transparent);width:16px;height:16px;transition:background-color var(--t-ui) ease, border-color var(--t-ui) ease, transform .36s var(--ease-out);border-radius:999px;position:absolute;top:2px;left:0}.stage-node:before,.stage-node:after{content:"";border-radius:inherit;opacity:0;position:absolute}.stage-node:before{background:var(--color-brand);transition:opacity var(--t-ui) ease;inset:3px}.stage-node:after{border:2px solid var(--color-brand);inset:-6px}.stage[data-state=past] .stage-node,.stage[data-state=all] .stage-node{background:var(--color-brand);border-color:var(--color-brand)}.stage[data-state=on] .stage-node{border-color:var(--color-brand);transform:scale(1.15)}.stage[data-state=on] .stage-node:before{opacity:1}.track[data-linked] .stage[data-state=on] .stage-node:after{animation:node-pulse 2.2s var(--ease-out) infinite}@keyframes node-pulse{0%{opacity:.5;transform:scale(.7)}70%,to{opacity:0;transform:scale(1.5)}}.stage-label{color:var(--color-fd-foreground);transition:opacity .42s ease, transform .52s var(--ease-out)}.stage[data-state=next] .stage-label{opacity:.42;transform:translateY(3px)}.stage[data-state=past] .stage-label{opacity:.62}.stage-chip{color:var(--color-fd-foreground);background:color-mix(in oklab, var(--color-fd-foreground) 7%, transparent);transition:background-color var(--t-ui) ease, color var(--t-ui) ease, opacity .42s ease}.stage[data-state=next] .stage-chip{opacity:.5}.stage[data-state=on] .stage-chip{background:color-mix(in oklab, var(--color-brand) 26%, transparent)}@media (min-width:1024px){.track-rail,.track-fill{width:80%;height:4px;top:8px;left:8px;translate:0 -50%}.track-fill{transform:scaleX(var(--fill,1));transform-origin:0}.stage-node{top:0}}.meter{align-items:flex-end;gap:2px;height:10px;display:inline-flex}.meter>span{background:var(--t-you);transform-origin:50% 100%;width:3px;height:100%;transition:transform .3s var(--ease-out);border-radius:1px;transform:scaleY(.25)}.meter.is-on>span{animation:.64s ease-in-out infinite alternate level}.meter.is-on>span:nth-child(2){animation-duration:.52s;animation-delay:-220ms}.meter.is-on>span:nth-child(3){animation-duration:.7s;animation-delay:-410ms}@keyframes level{0%{transform:scaleY(.25)}to{transform:scaleY(1)}}.wave-field{-webkit-mask-image:linear-gradient(#0000,#000 45%);mask-image:linear-gradient(#0000,#000 45%)}.tile{transform:perspective(1100px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));transition:transform .42s var(--ease-out)}.tile:after{content:"";z-index:0;pointer-events:none;background:radial-gradient(460px circle at var(--mx,50%) var(--my,50%), color-mix(in oklab, var(--color-fd-foreground) 8%, transparent), transparent 62%);opacity:0;transition:opacity .3s;position:absolute;inset:0}.tile.is-hot:after{opacity:1}.tile-art{z-index:0;pointer-events:none;position:absolute;inset:0}.art-c{-webkit-mask-image:radial-gradient(62% 70% at 64% 52%,#000 15%,#0000 78%);mask-image:radial-gradient(62% 70% at 64% 52%,#000 15%,#0000 78%)}.art-tr{-webkit-mask-image:radial-gradient(62% 100% at 100% 0,#000 22%,#0000 70%);mask-image:radial-gradient(62% 100% at 100% 0,#000 22%,#0000 70%)}.art-r{-webkit-mask-image:linear-gradient(90deg,#0000 20%,#000 70%);mask-image:linear-gradient(90deg,#0000 20%,#000 70%)}[data-ui] .doc-row{opacity:0;transition:opacity .26s ease, transform .32s var(--ease-out);transform:translateY(4px)}[data-ui] .doc-row.is-on{opacity:1;transform:none}@keyframes rise-in{0%{opacity:0;transform:translateY(5px)}}@keyframes fade-in{0%{opacity:0}}.line-in{animation:rise-in .28s var(--ease-out) both}.replay[data-live] .state-in,.state-swap{animation:.22s both fade-in}@media (prefers-reduced-motion:no-preference){[data-armed] [data-reveal]{opacity:0;transition:opacity .7s var(--ease-out), transform var(--t-reveal) var(--ease-expo);transition-delay:calc(var(--i,0) * var(--stagger-item));transform:translateY(24px)}[data-armed][data-in] [data-reveal]{opacity:1;transform:none}}@supports (animation-timeline:view()){@media (prefers-reduced-motion:no-preference){.hero-recede{animation:linear both recede;animation-timeline:view();animation-range:exit}.hero-recede .replay{animation:linear both lift-away;animation-timeline:view();animation-range:exit}[data-stagger] [data-reveal]{animation:linear both rise-into-view;animation-timeline:view();animation-range:entry cover 14%}[data-stagger] h2[data-reveal]{animation:linear both heading-in;animation-timeline:view();animation-range:entry 20% cover 24%}.stage-card[data-reveal]{animation:linear both card-in;animation-timeline:view();animation-range:entry entry 80%}.tile[data-reveal]{animation:linear both card-in;animation-timeline:view();animation-range:entry cover 30%}.tile[data-reveal]:nth-child(2){animation-range:entry 8% cover 34%}.tile[data-reveal]:nth-child(3){animation-range:entry 14% cover 38%}.tile[data-reveal]:nth-child(4){animation-range:entry 4% cover 30%}.tile-art{animation:linear both drift;animation-timeline:view();animation-range:cover;scale:1.14}.tile:nth-child(2n) .tile-art{animation-name:drift-back}.needs-light{animation:linear both light-up;animation-timeline:view();animation-range:entry cover 50%}main>footer{animation:linear both rise-into-view;animation-timeline:view();animation-range:entry}}}@keyframes recede{to{transform:translateY(6%)scale(.95)}}@keyframes lift-away{to{translate:0 -7%}}@keyframes rise-into-view{0%{opacity:0;translate:0 28px}}@keyframes heading-in{0%{clip-path:inset(0 0 100%);filter:blur(6px);translate:0 .45em}to{clip-path:inset(-.3em)}}@keyframes card-in{0%{opacity:0;translate:0 40px;scale:.96}}@keyframes drift{0%{translate:0 -5%}to{translate:0 5%}}@keyframes drift-back{0%{translate:0 4%}to{translate:0 -4%}}@keyframes light-up{0%{opacity:.3;filter:saturate(.6);scale:1.08}}@media (prefers-reduced-motion:reduce){.caret,.line-in,.state-swap,.replay[data-live] .state-in{animation:none}.press:active,.tile{transform:none}.foot-link,.copy-label,.stage-label,.stage-node,.stage-chip,.track-fill,.tile,[data-ui] .doc-row{transition:none}.stage-node:after,.meter>span{animation:none!important}}
