

body { margin: 0; }
a { color: inherit; } a:hover { color: var(--green); }
.bc { font-family: "Geist", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", sans-serif; -webkit-font-smoothing: antialiased; font-size: 16px; line-height: 1.5; }
.bc * { box-sizing: border-box; }
.bc.dark { --bg: #181818; --ink: #F2F2F2; --body: #D4D4D4; --muted: #9B9B9B; --green: #59B387; --green-light: #8AD6AF; --on-green: #181818; --green-tint: rgba(89,179,135,.12); --surface: #1F1F1F; --surface-2: #272727; --hairline: rgba(242,242,242,.12); --hairline-2: rgba(242,242,242,.2); --nav-bg: #181818; --foot-bg: #59B387; --foot-ink: #181818; --foot-dim: rgba(24,24,24,.78); }
.bc.light { --bg: #fbfbfd; --ink: #181818; --body: #3a3a3c; --muted: #6e6e73; --green: #176E4A; --green-light: #125C3F; --on-green: #ffffff; --green-tint: rgba(23,110,74,.09); --surface: #F2F2F2; --surface-2: #ebe8da; --hairline: rgba(24,24,24,.1); --hairline-2: rgba(24,24,24,.18); --nav-bg: #fbfbfd; --foot-bg: #176E4A; --foot-ink: #F2F2F2; --foot-dim: rgba(242,242,242,.78); }
.mono { font-family: "Geist Mono", ui-monospace, "SF Mono", SFMono-Regular, Menlo, Consolas, monospace; }
.wrap { margin: 0 auto; max-width: 1080px; padding-left: 24px; padding-right: 24px; }
.eyebrow { font-family: "Geist Mono", ui-monospace, "SF Mono", Menlo, monospace; font-size: 10.5px; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; color: var(--green); line-height: 14px; }
.label { font-family: "Geist Mono", ui-monospace, "SF Mono", Menlo, monospace; font-size: 10.5px; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; color: var(--muted); line-height: 14px; }
.cur { display: inline-block; width: 7px; height: 11px; background: var(--green); vertical-align: -1px; }
.h1 { font-family: "Geist Mono", ui-monospace, Menlo, monospace; font-size: clamp(28px, 3.6vw, 46px); font-weight: 500; letter-spacing: -0.03em; line-height: 1.1; margin: 0; color: var(--ink); text-wrap: balance; }
.h1 .dim { color: var(--muted); }
.h2 { font-family: "Geist Mono", ui-monospace, Menlo, monospace; font-size: clamp(22px, 2.3vw, 28px); font-weight: 500; letter-spacing: -0.02em; line-height: 1.18; margin: 0; color: var(--ink); max-width: 720px; text-wrap: balance; }
.h3 { font-family: "Geist Mono", ui-monospace, Menlo, monospace; font-size: 22px; font-weight: 500; letter-spacing: -0.02em; line-height: 1.2; margin: 0; color: var(--ink); }
.lede { font-size: 18px; line-height: 1.5; margin: 0; color: var(--body); max-width: 640px; text-wrap: pretty; }
.lede .k { color: var(--green); }
.p { font-size: 16px; line-height: 1.6; margin: 0; color: var(--body); max-width: 560px; text-wrap: pretty; }
.btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 48px; padding: 12px 28px; border-radius: 0; background: var(--green); color: var(--on-green); font-weight: 600; font-size: 16px; letter-spacing: -0.005em; text-decoration: none; border: 1px solid transparent; white-space: nowrap; transition: transform 160ms cubic-bezier(0.22,1,0.36,1), background 300ms cubic-bezier(0.22,1,0.36,1); }
.btn:hover { color: var(--on-green); background: var(--green-light); }
.btn:active { transform: scale(0.98); }
.btn.tint { background: var(--green-tint); color: var(--green); border-color: var(--hairline); }
.btn.tint:hover { color: var(--green-light); }
.quiet { font-weight: 500; font-size: 16px; color: var(--muted); text-decoration: underline; text-underline-offset: 4px; text-decoration-color: var(--hairline-2); }
.go { font-weight: 600; font-size: 14px; color: var(--ink); text-decoration: none; }
.island { display: inline-flex; align-items: center; gap: 16px; padding: 10px 16px; border-radius: 0; background: var(--nav-bg); border: 1px solid var(--hairline); }
.seg { display: inline-flex; align-items: center; gap: 2px; padding: 0; border-radius: 0; border: 0; }
.seg a { font-family: "Geist Mono", ui-monospace, Menlo, monospace; font-size: 10.5px; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; line-height: 14px; padding: 6px 10px; border-radius: 0; color: var(--muted); text-decoration: none; white-space: nowrap; }
.seg a.on { background: var(--surface-2); color: var(--ink); }
.seg a.req { color: var(--green); }
.vbar { width: 1px; height: 16px; background: var(--hairline-2); }
.yc { display: inline-grid; place-items: center; width: 18px; height: 18px; border-radius: 0; background: #F26625; color: #fff; font-weight: 700; font-size: 11px; line-height: 1; }
.band { background: var(--surface); }
.card { background: var(--surface); border: 1px solid var(--hairline); border-radius: 0; }
.tag { display: inline-block; font-family: "Geist Mono", ui-monospace, Menlo, monospace; font-size: 10.5px; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; padding: 3px 9px; border: 1px solid var(--hairline-2); border-radius: 0; color: var(--body); white-space: nowrap; line-height: 16px; }
.who { display: flex; flex-wrap: wrap; gap: 10px; }
.who .tag { font-size: 12px; padding: 7px 14px; }
.lbl-narrow { display: none; }
.hide-narrow { display: inline-flex; }
.foot { background: var(--foot-bg); color: var(--foot-ink); }
.foot a { color: var(--foot-ink); text-decoration: none; }
.foot a:hover { color: var(--foot-dim); }
.foot .label { color: var(--foot-dim); }
.bc.light .wm-dark { display: none !important; }
.bc.light .wm-light { display: block !important; }
.footgrid { display: grid; grid-template-columns: 1.4fr 1fr 1fr 1fr; gap: 32px; }
.steps { display: grid; grid-template-columns: 320px minmax(0, 1fr); gap: 32px; align-items: start; }
.tabs { display: flex; flex-direction: column; gap: 6px; }
.tab { display: flex; flex-direction: column; gap: 8px; text-align: left; width: 100%; padding: 16px 18px; border-radius: 0; border: 1px solid transparent; background: transparent; color: inherit; font: inherit; cursor: pointer; transition: background 300ms cubic-bezier(0.22,1,0.36,1), border-color 300ms cubic-bezier(0.22,1,0.36,1); }
.tab .h3 { font-size: 18px; color: var(--muted); transition: color 300ms cubic-bezier(0.22,1,0.36,1); }
.tab .p { font-size: 15px; }
.tab.on { background: var(--bg); border-color: var(--hairline); }
.tab.on .h3 { color: var(--ink); }
.tab:hover .h3 { color: var(--ink); }
.tab:focus-visible { outline: 2px solid var(--green); outline-offset: 2px; }
/* visuals scale to whatever width their container gives them */
.viz-wrap { container-type: inline-size; }
.viz { zoom: calc(100cqw / 1032px); }
@supports not (zoom: calc(100cqw / 1032px)) {
  .viz-side .viz { zoom: 0.66; }
  @media (max-width: 1079px) { .viz-side .viz { zoom: 0.55; } .viz-hero .viz, .viz-net .viz { zoom: 0.82; } }
  @media (max-width: 900px) { .viz-side .viz, .viz-hero .viz, .viz-net .viz { zoom: 0.53; } }
  @media (max-width: 600px) { .viz-side .viz, .viz-hero .viz, .viz-net .viz { zoom: 0.36; } }
  @media (max-width: 420px) { .viz-side .viz, .viz-hero .viz, .viz-net .viz { zoom: 0.33; } }
}
@media (max-width: 760px) {
  .lbl-wide { display: none; }
  .lbl-narrow { display: inline; }
  .hide-narrow { display: none; }
  .footgrid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .island { gap: 8px; padding: 6px 10px; }
  .seg a { padding: 2px 9px; font-size: 13px; }
  .two { grid-template-columns: repeat(1, minmax(0, 1fr)) !important; }
}
.vC.c { font-family: "Geist", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif; --bg: #181818; --ink: #F2F2F2; --body: #D4D4D4; --muted: #9B9B9B; --green: #59B387; --on-green: #181818; --surface: #1F1F1F; --surface-2: #272727; --hair: rgba(242,242,242,.12); --hair2: rgba(242,242,242,.2); }
.vC.c * { box-sizing: border-box; }
.vC .lab { font-family: "Geist Mono", ui-monospace, Menlo, monospace; font-size: 10.5px; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase; color: var(--muted); line-height: 14px; }
.vC .mono { font-family: "Geist Mono", ui-monospace, Menlo, monospace; }
.vC .pane { background: var(--surface); border: 1px solid var(--hair); border-radius: 0; padding: 12px 14px; display: flex; flex-direction: column; gap: 8px; min-width: 0; }
.vC .head { display: flex; align-items: center; gap: 8px; padding-bottom: 8px; border-bottom: 1px solid var(--hair); }
.vC .app { width: 22px; height: 22px; border-radius: 0; flex: none; object-fit: contain; padding: 2px; }
.vC .msg { max-width: 92%; padding: 9px 12px; border-radius: 12px; font-size: 13px; line-height: 1.4; opacity: 0; }
.vC .you { align-self: flex-end; background: var(--green); color: var(--on-green); border-bottom-right-radius: 4px; }
.vC .bot { align-self: flex-start; background: var(--surface-2); color: var(--body); border: 1px solid var(--hair); border-bottom-left-radius: 4px; }
.vC .bot .k { color: var(--green); font-weight: 600; }
.vC .net { position: relative; height: 392px; }
.vC .n { position: absolute; width: 180px; background: var(--surface); border: 1px solid var(--hair); border-radius: 0; padding: 8px 10px 9px; display: grid; grid-template-columns: 22px 1fr auto; column-gap: 8px; row-gap: 3px; align-items: center; opacity: 0; }
.vC .n .app { grid-row: span 2; }
.vC .n .who { position: relative; height: 12px; display: block; }
.vC .n .bar { position: absolute; left: 0; top: 2px; height: 9px; width: 76px; background: var(--hair2); border-radius: 0; }
.vC .n .nm { position: absolute; left: 0; top: -2px; font-size: 11.5px; font-weight: 600; color: var(--ink); white-space: nowrap; opacity: 0; }
.vC .n .ch { font-size: 10px; color: var(--muted); justify-self: end; }
.vC .n .snip { grid-column: 2 / 4; font-size: 11.5px; color: var(--body); line-height: 1.35; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.vC .n .fit { grid-column: 2 / 4; opacity: 0; }
.vC .n .contact { grid-column: 2 / 4; font-size: 10.5px; color: var(--green); opacity: 0; max-height: 0; overflow: hidden; white-space: nowrap; }
.vC .n.c6 { z-index: 3; transform-origin: top right; width: 200px; }
.vC .req { position: absolute; left: 300px; top: 196px; transform: translate(-50%, -50%); width: 200px; background: var(--surface-2); border: 1px solid var(--green); border-radius: 0; padding: 10px 12px; display: flex; flex-direction: column; gap: 5px; box-shadow: 0 16px 40px -20px rgba(0,0,0,.9); opacity: 0; z-index: 2; }
.vC .ring { fill: none; stroke: var(--green); stroke-width: 1.5; opacity: 0; }
.vC .m1 { animation: vC_m1 13s infinite; }
.vC .m2 { animation: vC_m2 13s infinite; }
.vC .m3 { animation: vC_m3 13s infinite; }
.vC .m4 { animation: vC_m4 13s infinite; }
.vC .m5 { animation: vC_m5 13s infinite; }
.vC .n.c6 .mask, .vC .n.c6 .ch { animation: vC_um 13s infinite; }
.vC .n.c6 .reveal { animation: vC_rv 13s infinite; }
.vC .n.c6 .contact { animation: vC_ct 13s infinite; }
.vC .req { animation: vC_req 13s infinite; }
.vC .ring { animation: vC_ring 13s infinite; }
.vC .n.c0 { animation: vC_n0 13s infinite; }
.vC .n.c1 { animation: vC_n1 13s infinite; }
.vC .n.c2 { animation: vC_n2 13s infinite; }
.vC .n.c2 .fit { animation: vC_fit2 13s infinite; }
.vC .n.c3 { animation: vC_n3 13s infinite; }
.vC .n.c4 { animation: vC_n4 13s infinite; }
.vC .n.c5 { animation: vC_n5 13s infinite; }
.vC .n.c6 { animation: vC_n6 13s infinite; }
.vC .n.c6 .fit { animation: vC_fit6 13s infinite; }
.vC .n.c7 { animation: vC_n7 13s infinite; }
.vC .n.c8 { animation: vC_n8 13s infinite; }
.vC .n.c8 .fit { animation: vC_fit8 13s infinite; }
.vC .n.c9 { animation: vC_n9 13s infinite; }
@keyframes vC_m1 { 0%, 3.85% { opacity: 0; transform: translateY(6px); animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 6.92% { opacity: 1; transform: none; } 95.38% { opacity: 1; transform: none; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 98.46%, 100% { opacity: 0; transform: translateY(6px); } }
@keyframes vC_m2 { 0%, 10.77% { opacity: 0; transform: translateY(6px); animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 13.85% { opacity: 1; transform: none; } 95.38% { opacity: 1; transform: none; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 98.46%, 100% { opacity: 0; transform: translateY(6px); } }
@keyframes vC_m3 { 0%, 36.92% { opacity: 0; transform: translateY(6px); animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 40.00% { opacity: 1; transform: none; } 95.38% { opacity: 1; transform: none; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 98.46%, 100% { opacity: 0; transform: translateY(6px); } }
@keyframes vC_m4 { 0%, 50.77% { opacity: 0; transform: translateY(6px); animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 53.85% { opacity: 1; transform: none; } 95.38% { opacity: 1; transform: none; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 98.46%, 100% { opacity: 0; transform: translateY(6px); } }
@keyframes vC_m5 { 0%, 60.77% { opacity: 0; transform: translateY(6px); animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 63.85% { opacity: 1; transform: none; } 95.38% { opacity: 1; transform: none; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 98.46%, 100% { opacity: 0; transform: translateY(6px); } }
@keyframes vC_um { 0%, 60.77% { opacity: 1; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 63.08% { opacity: 0; } 95.38% { opacity: 0; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 98.46%, 100% { opacity: 1; } }
@keyframes vC_rv { 0%, 60.77% { opacity: 0; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 63.08% { opacity: 1; } 95.38% { opacity: 1; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 98.46%, 100% { opacity: 0; } }
@keyframes vC_ct { 0%, 62.31% { opacity: 0; max-height: 0px; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 65.00% { opacity: 1; max-height: 18px; } 95.38% { opacity: 1; max-height: 18px; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 98.46%, 100% { opacity: 0; max-height: 0px; } }
@keyframes vC_req { 0%, 11.54% { opacity: 0; transform: translate(-50%, -50%) scale(0.97); animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 14.23% { opacity: 1; transform: translate(-50%, -50%) scale(1); } 95.38% { opacity: 1; transform: translate(-50%, -50%) scale(1); animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 98.46%, 100% { opacity: 0; transform: translate(-50%, -50%) scale(0.97); } }
@keyframes vC_ring { 0%, 23.08% { r: 0; opacity: 0; } 23.46% { opacity: 0.9; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 30.00% { r: 420; opacity: 0; } 100% { r: 420; opacity: 0; } }
@keyframes vC_n0 { 0%, 4.38% { opacity: 0; transform: translateY(-8px) scale(0.97); animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 7.08% { opacity: 1; transform: none; } 27.45% { opacity: 1; filter: none; transform: none; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 30.53% { opacity: 0.22; filter: blur(0.7px); transform: none; } 95.38% { opacity: 0.22; filter: blur(0.7px); transform: none; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 98.46%, 100% { opacity: 0; transform: translateY(-8px) scale(0.97); } }
@keyframes vC_n1 { 0%, 3.31% { opacity: 0; transform: translateY(-8px) scale(0.97); animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 6.00% { opacity: 1; transform: none; } 26.70% { opacity: 1; filter: none; transform: none; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 29.77% { opacity: 0.22; filter: blur(0.7px); transform: none; } 95.38% { opacity: 0.22; filter: blur(0.7px); transform: none; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 98.46%, 100% { opacity: 0; transform: translateY(-8px) scale(0.97); } }
@keyframes vC_n2 { 0%, 1.15% { opacity: 0; transform: translateY(-8px) scale(0.97); border-color: var(--hair); animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 3.85% { opacity: 1; transform: none; border-color: var(--hair); } 26.58% { border-color: var(--hair); transform: none; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 28.89% { border-color: var(--green); transform: scale(1.03); } 60.77% { opacity: 1; border-color: var(--green); transform: scale(1.03); animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 63.85% { opacity: 0.5; border-color: var(--hair2); transform: none; } 95.38% { opacity: 0.5; border-color: var(--hair2); transform: none; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 98.46%, 100% { opacity: 0; transform: translateY(-8px) scale(0.97); border-color: var(--hair); } }
@keyframes vC_fit2 { 0%, 27.74% { opacity: 0; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 30.05% { opacity: 1; } 95.38% { opacity: 1; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 98.46%, 100% { opacity: 0; } }
@keyframes vC_n3 { 0%, 2.23% { opacity: 0; transform: translateY(-8px) scale(0.97); animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 4.92% { opacity: 1; transform: none; } 27.17% { opacity: 1; filter: none; transform: none; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 30.24% { opacity: 0.22; filter: blur(0.7px); transform: none; } 95.38% { opacity: 0.22; filter: blur(0.7px); transform: none; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 98.46%, 100% { opacity: 0; transform: translateY(-8px) scale(0.97); } }
@keyframes vC_n4 { 0%, 9.77% { opacity: 0; transform: translateY(-8px) scale(0.97); animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 12.46% { opacity: 1; transform: none; } 25.75% { opacity: 1; filter: none; transform: none; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 28.82% { opacity: 0.22; filter: blur(0.7px); transform: none; } 95.38% { opacity: 0.22; filter: blur(0.7px); transform: none; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 98.46%, 100% { opacity: 0; transform: translateY(-8px) scale(0.97); } }
@keyframes vC_n5 { 0%, 8.69% { opacity: 0; transform: translateY(-8px) scale(0.97); animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 11.38% { opacity: 1; transform: none; } 25.25% { opacity: 1; filter: none; transform: none; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 28.33% { opacity: 0.22; filter: blur(0.7px); transform: none; } 95.38% { opacity: 0.22; filter: blur(0.7px); transform: none; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 98.46%, 100% { opacity: 0; transform: translateY(-8px) scale(0.97); } }
@keyframes vC_n6 { 0%, 7.62% { opacity: 0; transform: translateY(-8px) scale(0.97); border-color: var(--hair); box-shadow: none; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 10.31% { opacity: 1; transform: none; border-color: var(--hair); } 27.19% { border-color: var(--hair); transform: none; box-shadow: none; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 29.50% { border-color: var(--green); transform: scale(1.03); } 60.77% { border-color: var(--green); transform: scale(1.03); box-shadow: none; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 63.85% { border-color: var(--green); transform: scale(1.12); box-shadow: 0 0 0 1px var(--green), 0 18px 48px -12px rgba(89,179,135,.55); } 95.38% { opacity: 1; border-color: var(--green); transform: scale(1.12); box-shadow: 0 0 0 1px var(--green), 0 18px 48px -12px rgba(89,179,135,.55); animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 98.46%, 100% { opacity: 0; transform: translateY(-8px) scale(0.97); border-color: var(--hair); box-shadow: none; } }
@keyframes vC_fit6 { 0%, 28.35% { opacity: 0; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 30.65% { opacity: 1; } 95.38% { opacity: 1; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 98.46%, 100% { opacity: 0; } }
@keyframes vC_n7 { 0%, 6.54% { opacity: 0; transform: translateY(-8px) scale(0.97); animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 9.23% { opacity: 1; transform: none; } 26.70% { opacity: 1; filter: none; transform: none; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 29.77% { opacity: 0.22; filter: blur(0.7px); transform: none; } 95.38% { opacity: 0.22; filter: blur(0.7px); transform: none; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 98.46%, 100% { opacity: 0; transform: translateY(-8px) scale(0.97); } }
@keyframes vC_n8 { 0%, 5.46% { opacity: 0; transform: translateY(-8px) scale(0.97); border-color: var(--hair); animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 8.15% { opacity: 1; transform: none; border-color: var(--hair); } 26.58% { border-color: var(--hair); transform: none; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 28.89% { border-color: var(--green); transform: scale(1.03); } 60.77% { opacity: 1; border-color: var(--green); transform: scale(1.03); animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 63.85% { opacity: 0.5; border-color: var(--hair2); transform: none; } 95.38% { opacity: 0.5; border-color: var(--hair2); transform: none; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 98.46%, 100% { opacity: 0; transform: translateY(-8px) scale(0.97); border-color: var(--hair); } }
@keyframes vC_fit8 { 0%, 27.74% { opacity: 0; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 30.05% { opacity: 1; } 95.38% { opacity: 1; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 98.46%, 100% { opacity: 0; } }
@keyframes vC_n9 { 0%, 10.85% { opacity: 0; transform: translateY(-8px) scale(0.97); animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 13.54% { opacity: 1; transform: none; } 27.17% { opacity: 1; filter: none; transform: none; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 30.24% { opacity: 0.22; filter: blur(0.7px); transform: none; } 95.38% { opacity: 0.22; filter: blur(0.7px); transform: none; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 98.46%, 100% { opacity: 0; transform: translateY(-8px) scale(0.97); } }
@media (prefers-reduced-motion: reduce) {
.vC .msg, .vC .n, .vC .req, .vC .ring, .vC .fit, .vC .mask, .vC .reveal { animation: none !important; }
.vC .msg, .vC .req, .vC .fit, .vC .reveal { opacity: 1; }
.vC .mask { opacity: 0; }
.vC .n { opacity: 0.22; }
.vC .n.c2, .vC .n.c6, .vC .n.c8 { opacity: 1; border-color: var(--green); }
.vC .n.c6 .contact { opacity: 1; max-height: 18px; }
}

.vA.c { font-family: "Geist", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif; --bg: #181818; --ink: #F2F2F2; --body: #D4D4D4; --muted: #9B9B9B; --green: #59B387; --surface: #1F1F1F; --surface-2: #272727; --surface-3: #333333; --hair: rgba(242,242,242,.12); --hair2: rgba(242,242,242,.2); --ease: cubic-bezier(0.22, 1, 0.36, 1); }
.vA.c * { box-sizing: border-box; }
.vA .mono { font-family: "Geist Mono", ui-monospace, Menlo, monospace; }
.vA .lab { font-family: "Geist Mono", ui-monospace, Menlo, monospace; font-size: 11px; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase; color: var(--muted); line-height: 14px; }
.vA .notif { position: absolute; left: 0; width: 320px; height: 72px; overflow: hidden; background: var(--surface-2); border: 1px solid var(--hair2); border-radius: 0; padding: 10px 12px 11px; display: grid; grid-template-columns: 30px 1fr auto; column-gap: 10px; row-gap: 2px; align-items: start; box-shadow: 0 12px 32px -16px rgba(0,0,0,.8); opacity: 0; transform: translateY(-14px) scale(0.96); animation: vA_pop 10s infinite; }
.vA .notif .app { width: 30px; height: 30px; border-radius: 0; display: grid; place-items: center; font-weight: 700; font-size: 14px; color: #fff; grid-row: span 2; }
.vA .notif .name { font-size: 13px; font-weight: 600; color: var(--ink); line-height: 1.3; }
.vA .notif .time { font-size: 11px; color: var(--muted); line-height: 1.3; justify-self: end; }
.vA .notif .text { grid-column: 2 / 4; font-size: 13px; color: var(--body); line-height: 1.4; }
.vA .row { position: absolute; right: 0; width: 420px; height: 46px; white-space: nowrap; border-top: 1px solid var(--hair); display: grid; grid-template-columns: 56px 1.6fr 0.9fr 1.1fr; align-items: center; gap: 10px; padding: 0 12px; font-size: 12.5px; color: var(--body); opacity: 0; transform: translateY(6px); animation: vA_rowin 10s infinite; }
.vA .row .num { font-family: "Geist Mono", ui-monospace, Menlo, monospace; color: var(--ink); font-size: 11.5px; overflow: hidden; text-overflow: ellipsis; }
.vA .row > span { overflow: hidden; text-overflow: ellipsis; }
.vA .tag { display: inline-block; font-family: "Geist Mono", ui-monospace, Menlo, monospace; font-size: 10px; font-weight: 600; letter-spacing: 0.06em; text-transform: uppercase; padding: 2px 8px; border: 1px solid var(--hair2); border-radius: 0; color: var(--body); line-height: 14px; }
.vA .tag.live { color: var(--green); border-color: var(--green); }
.vA .tag.buy { color: #181818; background: var(--green); border-color: var(--green); }
.vA .tag.sell { color: var(--ink); background: var(--surface-3); border-color: var(--surface-3); }
.vA .thread { fill: none; stroke: var(--green); stroke-width: 1.5; stroke-dasharray: 360; stroke-dashoffset: 360; animation: vA_draw 10s infinite; }
@keyframes vA_pop { 0% { opacity: 0; transform: translateY(-14px) scale(0.96); animation-timing-function: cubic-bezier(0.22, 1, 0.36, 1); } 5% { opacity: 1; transform: translateY(0) scale(1); } 90% { opacity: 1; transform: translateY(0) scale(1); animation-timing-function: cubic-bezier(0.22, 1, 0.36, 1); } 95%, 100% { opacity: 0; transform: translateY(-14px) scale(0.96); } }
@keyframes vA_draw { 0%, 7% { stroke-dashoffset: 360; opacity: 1; animation-timing-function: cubic-bezier(0.22, 1, 0.36, 1); } 16% { stroke-dashoffset: 0; } 90% { stroke-dashoffset: 0; opacity: 1; } 95%, 100% { stroke-dashoffset: 0; opacity: 0; } }
@keyframes vA_rowin { 0%, 14% { opacity: 0; transform: translateY(6px); animation-timing-function: cubic-bezier(0.22, 1, 0.36, 1); } 19% { opacity: 1; transform: translateY(0); } 90% { opacity: 1; } 95%, 100% { opacity: 0; } }
.vA .d1 { animation-delay: 0.2s; }
.vA .d2 { animation-delay: 1.8s; }
.vA .d3 { animation-delay: 3.4s; }
.vA .d4 { animation-delay: 5s; }
@media (prefers-reduced-motion: reduce) {
.vA .notif, .vA .row, .vA .thread { animation: none; opacity: 1; transform: none; stroke-dashoffset: 0; }
}
.vA img.app { object-fit: contain; background: transparent; padding: 2px; }

.vK.c { font-family: "Geist", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif; --bg: #181818; --ink: #F2F2F2; --body: #D4D4D4; --muted: #9B9B9B; --green: #59B387; --on-green: #181818; --surface: #1F1F1F; --surface-2: #272727; --surface-3: #333333; --hair: rgba(242,242,242,.12); --hair2: rgba(242,242,242,.2); --tint: rgba(89,179,135,.14); --ease: cubic-bezier(0.22,1,0.36,1); }
.vK.c * { box-sizing: border-box; }
.vK .lab { font-family: "Geist Mono", ui-monospace, Menlo, monospace; font-size: 11px; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase; color: var(--muted); line-height: 14px; }
.vK .mono { font-family: "Geist Mono", ui-monospace, Menlo, monospace; }
.vK .col { display: flex; flex-direction: column; gap: 10px; align-self: start; }
.vK .k { position: relative; height: 62px; background: var(--surface); border: 1px solid var(--hair); border-radius: 0; padding: 9px 12px; display: flex; flex-direction: column; gap: 7px; opacity: 0; transform: translateY(8px); }
.vK .k .top { display: flex; align-items: center; gap: 8px; }
.vK .bar { display: inline-block; height: 9px; width: 72px; background: var(--hair2); border-radius: 0; }
.vK .side { font-family: "Geist Mono", ui-monospace, Menlo, monospace; font-size: 9.5px; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; padding: 1px 7px; border-radius: 0; line-height: 13px; margin-left: auto; }
.vK .buy { background: var(--green); color: var(--on-green); }
.vK .sell { background: var(--surface-3); color: var(--ink); }
.vK .chips { display: flex; gap: 6px; flex-wrap: wrap; }
.vK .ch { font-family: "Geist Mono", ui-monospace, Menlo, monospace; font-size: 11px; font-weight: 500; padding: 3px 8px; border-radius: 0; background: var(--surface-2); color: var(--body); border: 1px solid transparent; line-height: 14px; white-space: nowrap; }
.vK .pct { position: absolute; right: 12px; bottom: 10px; font-family: "Geist Mono", ui-monospace, Menlo, monospace; font-size: 12px; font-weight: 600; opacity: 0; }
.vK .you { box-shadow: inset 0 0 0 1px var(--green); }
.vK .link { fill: none; stroke: var(--hair2); stroke-width: 1; stroke-dasharray: 300; stroke-dashoffset: 300; }
.vK .link.best { stroke: var(--green); stroke-width: 2; }
.vK .r2 { animation: vK_enter_30 13s infinite; }
.vK .r4 { animation: vK_enter_70 13s infinite; }
.vK .o2 { animation: vK_enter_40 13s infinite; }
.vK .o3 { animation: vK_enter_60 13s infinite; }
.vK .r1 { animation: vK_enterSettle_10_560 13s infinite; }
.vK .o1 { animation: vK_enterSettle_20_560 13s infinite, vK_ring_460 13s infinite; }
.vK .r3 { animation: vK_enterSettle_50_960 13s infinite; }
.vK .o4 { animation: vK_enterSettle_80_960 13s infinite, vK_ring_860 13s infinite; }
.vK .l1 { animation: vK_draw_180 13s infinite; }
.vK .l2 { animation: vK_draw_200 13s infinite; }
.vK .l3 { animation: vK_draw_220 13s infinite; }
.vK .lb1 { animation: vK_draw_460 13s infinite; }
.vK .l4 { animation: vK_draw_660 13s infinite; }
.vK .lb2 { animation: vK_draw_860 13s infinite; }
.vK .o1 .chips .ch:nth-child(1).y { animation: vK_ok_260 13s infinite; }
.vK .o1 .chips .ch:nth-child(1).n { animation: vK_no_260 13s infinite; }
.vK .o1 .chips .ch:nth-child(2).y { animation: vK_ok_274 13s infinite; }
.vK .o1 .chips .ch:nth-child(2).n { animation: vK_no_274 13s infinite; }
.vK .o1 .chips .ch:nth-child(3).y { animation: vK_ok_288 13s infinite; }
.vK .o1 .chips .ch:nth-child(3).n { animation: vK_no_288 13s infinite; }
.vK .o1 .chips .ch:nth-child(4).y { animation: vK_ok_302 13s infinite; }
.vK .o1 .chips .ch:nth-child(4).n { animation: vK_no_302 13s infinite; }
.vK .o1 .chips .ch:nth-child(5).y { animation: vK_ok_316 13s infinite; }
.vK .o1 .chips .ch:nth-child(5).n { animation: vK_no_316 13s infinite; }
.vK .o1 .chips .ch:nth-child(6).y { animation: vK_ok_330 13s infinite; }
.vK .o1 .chips .ch:nth-child(6).n { animation: vK_no_330 13s infinite; }
.vK .o2 .chips .ch:nth-child(1).y { animation: vK_ok_280 13s infinite; }
.vK .o2 .chips .ch:nth-child(1).n { animation: vK_no_280 13s infinite; }
.vK .o2 .chips .ch:nth-child(2).y { animation: vK_ok_294 13s infinite; }
.vK .o2 .chips .ch:nth-child(2).n { animation: vK_no_294 13s infinite; }
.vK .o2 .chips .ch:nth-child(3).y { animation: vK_ok_308 13s infinite; }
.vK .o2 .chips .ch:nth-child(3).n { animation: vK_no_308 13s infinite; }
.vK .o2 .chips .ch:nth-child(4).y { animation: vK_ok_322 13s infinite; }
.vK .o2 .chips .ch:nth-child(4).n { animation: vK_no_322 13s infinite; }
.vK .o2 .chips .ch:nth-child(5).y { animation: vK_ok_336 13s infinite; }
.vK .o2 .chips .ch:nth-child(5).n { animation: vK_no_336 13s infinite; }
.vK .o2 .chips .ch:nth-child(6).y { animation: vK_ok_350 13s infinite; }
.vK .o2 .chips .ch:nth-child(6).n { animation: vK_no_350 13s infinite; }
.vK .o3 .chips .ch:nth-child(1).y { animation: vK_ok_300 13s infinite; }
.vK .o3 .chips .ch:nth-child(1).n { animation: vK_no_300 13s infinite; }
.vK .o3 .chips .ch:nth-child(2).y { animation: vK_ok_314 13s infinite; }
.vK .o3 .chips .ch:nth-child(2).n { animation: vK_no_314 13s infinite; }
.vK .o3 .chips .ch:nth-child(3).y { animation: vK_ok_328 13s infinite; }
.vK .o3 .chips .ch:nth-child(3).n { animation: vK_no_328 13s infinite; }
.vK .o3 .chips .ch:nth-child(4).y { animation: vK_ok_342 13s infinite; }
.vK .o3 .chips .ch:nth-child(4).n { animation: vK_no_342 13s infinite; }
.vK .o3 .chips .ch:nth-child(5).y { animation: vK_ok_356 13s infinite; }
.vK .o3 .chips .ch:nth-child(5).n { animation: vK_no_356 13s infinite; }
.vK .o3 .chips .ch:nth-child(6).y { animation: vK_ok_370 13s infinite; }
.vK .o3 .chips .ch:nth-child(6).n { animation: vK_no_370 13s infinite; }
.vK .o4 .chips .ch:nth-child(1).y { animation: vK_ok_720 13s infinite; }
.vK .o4 .chips .ch:nth-child(1).n { animation: vK_no_720 13s infinite; }
.vK .o4 .chips .ch:nth-child(2).y { animation: vK_ok_734 13s infinite; }
.vK .o4 .chips .ch:nth-child(2).n { animation: vK_no_734 13s infinite; }
.vK .o4 .chips .ch:nth-child(3).y { animation: vK_ok_748 13s infinite; }
.vK .o4 .chips .ch:nth-child(3).n { animation: vK_no_748 13s infinite; }
.vK .o4 .chips .ch:nth-child(4).y { animation: vK_ok_762 13s infinite; }
.vK .o4 .chips .ch:nth-child(4).n { animation: vK_no_762 13s infinite; }
.vK .o4 .chips .ch:nth-child(5).y { animation: vK_ok_776 13s infinite; }
.vK .o4 .chips .ch:nth-child(5).n { animation: vK_no_776 13s infinite; }
.vK .o4 .chips .ch:nth-child(6).y { animation: vK_ok_790 13s infinite; }
.vK .o4 .chips .ch:nth-child(6).n { animation: vK_no_790 13s infinite; }
.vK .o1 .pct { animation: vK_show_360 13s infinite; }
.vK .o2 .pct { animation: vK_show_380 13s infinite; }
.vK .o3 .pct { animation: vK_show_400 13s infinite; }
.vK .o4 .pct { animation: vK_show_810 13s infinite; }
.vK .r1 .chk, .vK .o1 .chk { animation: vK_show_480 13s infinite; }
.vK .r3 .chk, .vK .o4 .chk { animation: vK_show_880 13s infinite; }
@keyframes vK_enter_30 { 0%, 2.31% { opacity: 0; transform: translateY(8px); animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 5.38% { opacity: 1; transform: none; } 95.38% { opacity: 1; transform: none; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 98.46%, 100% { opacity: 0; transform: translateY(8px); } }
@keyframes vK_enter_70 { 0%, 5.38% { opacity: 0; transform: translateY(8px); animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 8.46% { opacity: 1; transform: none; } 95.38% { opacity: 1; transform: none; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 98.46%, 100% { opacity: 0; transform: translateY(8px); } }
@keyframes vK_enter_40 { 0%, 3.08% { opacity: 0; transform: translateY(8px); animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 6.15% { opacity: 1; transform: none; } 95.38% { opacity: 1; transform: none; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 98.46%, 100% { opacity: 0; transform: translateY(8px); } }
@keyframes vK_enter_60 { 0%, 4.62% { opacity: 0; transform: translateY(8px); animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 7.69% { opacity: 1; transform: none; } 95.38% { opacity: 1; transform: none; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 98.46%, 100% { opacity: 0; transform: translateY(8px); } }
@keyframes vK_enterSettle_10_560 { 0%, 0.77% { opacity: 0; transform: translateY(8px); animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 3.85% { opacity: 1; transform: none; } 43.08% { opacity: 1; transform: none; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 45.38% { opacity: 0.45; transform: none; } 95.38% { opacity: 0.45; transform: none; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 98.46%, 100% { opacity: 0; transform: translateY(8px); } }
@keyframes vK_enterSettle_20_560 { 0%, 1.54% { opacity: 0; transform: translateY(8px); animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 4.62% { opacity: 1; transform: none; } 43.08% { opacity: 1; transform: none; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 45.38% { opacity: 0.45; transform: none; } 95.38% { opacity: 0.45; transform: none; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 98.46%, 100% { opacity: 0; transform: translateY(8px); } }
@keyframes vK_ring_460 { 0%, 35.38% { box-shadow: inset 0 0 0 1px transparent; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 37.69% { box-shadow: inset 0 0 0 1.5px var(--green); } 95.38% { box-shadow: inset 0 0 0 1.5px var(--green); animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 98.46%, 100% { box-shadow: inset 0 0 0 1px transparent; } }
@keyframes vK_enterSettle_50_960 { 0%, 3.85% { opacity: 0; transform: translateY(8px); animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 6.92% { opacity: 1; transform: none; } 73.85% { opacity: 1; transform: none; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 76.15% { opacity: 0.45; transform: none; } 95.38% { opacity: 0.45; transform: none; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 98.46%, 100% { opacity: 0; transform: translateY(8px); } }
@keyframes vK_enterSettle_80_960 { 0%, 6.15% { opacity: 0; transform: translateY(8px); animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 9.23% { opacity: 1; transform: none; } 73.85% { opacity: 1; transform: none; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 76.15% { opacity: 0.45; transform: none; } 95.38% { opacity: 0.45; transform: none; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 98.46%, 100% { opacity: 0; transform: translateY(8px); } }
@keyframes vK_ring_860 { 0%, 66.15% { box-shadow: inset 0 0 0 1px transparent; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 68.46% { box-shadow: inset 0 0 0 1.5px var(--green); } 95.38% { box-shadow: inset 0 0 0 1.5px var(--green); animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 98.46%, 100% { box-shadow: inset 0 0 0 1px transparent; } }
@keyframes vK_draw_180 { 0%, 13.85% { stroke-dashoffset: 300; opacity: 1; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 18.46% { stroke-dashoffset: 0; opacity: 1; } 95.38% { stroke-dashoffset: 0; opacity: 1; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 98.46%, 100% { stroke-dashoffset: 0; opacity: 0; } }
@keyframes vK_draw_200 { 0%, 15.38% { stroke-dashoffset: 300; opacity: 1; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 20.00% { stroke-dashoffset: 0; opacity: 1; } 95.38% { stroke-dashoffset: 0; opacity: 1; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 98.46%, 100% { stroke-dashoffset: 0; opacity: 0; } }
@keyframes vK_draw_220 { 0%, 16.92% { stroke-dashoffset: 300; opacity: 1; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 21.54% { stroke-dashoffset: 0; opacity: 1; } 95.38% { stroke-dashoffset: 0; opacity: 1; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 98.46%, 100% { stroke-dashoffset: 0; opacity: 0; } }
@keyframes vK_draw_460 { 0%, 35.38% { stroke-dashoffset: 300; opacity: 1; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 40.00% { stroke-dashoffset: 0; opacity: 1; } 95.38% { stroke-dashoffset: 0; opacity: 1; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 98.46%, 100% { stroke-dashoffset: 0; opacity: 0; } }
@keyframes vK_draw_660 { 0%, 50.77% { stroke-dashoffset: 300; opacity: 1; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 55.38% { stroke-dashoffset: 0; opacity: 1; } 95.38% { stroke-dashoffset: 0; opacity: 1; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 98.46%, 100% { stroke-dashoffset: 0; opacity: 0; } }
@keyframes vK_draw_860 { 0%, 66.15% { stroke-dashoffset: 300; opacity: 1; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 70.77% { stroke-dashoffset: 0; opacity: 1; } 95.38% { stroke-dashoffset: 0; opacity: 1; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 98.46%, 100% { stroke-dashoffset: 0; opacity: 0; } }
@keyframes vK_ok_260 { 0%, 20.00% { background: var(--surface-2); color: var(--body); border-color: transparent; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 22.31% { background: var(--tint); color: var(--green); border-color: var(--green); } 95.38% { background: var(--tint); color: var(--green); border-color: var(--green); animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 98.46%, 100% { background: var(--surface-2); color: var(--body); border-color: transparent; } }
@keyframes vK_no_260 { 0%, 20.00% { opacity: 1; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 22.31% { opacity: 0.35; } 95.38% { opacity: 0.35; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 98.46%, 100% { opacity: 1; } }
@keyframes vK_ok_274 { 0%, 21.08% { background: var(--surface-2); color: var(--body); border-color: transparent; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 23.38% { background: var(--tint); color: var(--green); border-color: var(--green); } 95.38% { background: var(--tint); color: var(--green); border-color: var(--green); animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 98.46%, 100% { background: var(--surface-2); color: var(--body); border-color: transparent; } }
@keyframes vK_no_274 { 0%, 21.08% { opacity: 1; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 23.38% { opacity: 0.35; } 95.38% { opacity: 0.35; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 98.46%, 100% { opacity: 1; } }
@keyframes vK_ok_288 { 0%, 22.15% { background: var(--surface-2); color: var(--body); border-color: transparent; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 24.46% { background: var(--tint); color: var(--green); border-color: var(--green); } 95.38% { background: var(--tint); color: var(--green); border-color: var(--green); animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 98.46%, 100% { background: var(--surface-2); color: var(--body); border-color: transparent; } }
@keyframes vK_no_288 { 0%, 22.15% { opacity: 1; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 24.46% { opacity: 0.35; } 95.38% { opacity: 0.35; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 98.46%, 100% { opacity: 1; } }
@keyframes vK_ok_302 { 0%, 23.23% { background: var(--surface-2); color: var(--body); border-color: transparent; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 25.54% { background: var(--tint); color: var(--green); border-color: var(--green); } 95.38% { background: var(--tint); color: var(--green); border-color: var(--green); animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 98.46%, 100% { background: var(--surface-2); color: var(--body); border-color: transparent; } }
@keyframes vK_no_302 { 0%, 23.23% { opacity: 1; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 25.54% { opacity: 0.35; } 95.38% { opacity: 0.35; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 98.46%, 100% { opacity: 1; } }
@keyframes vK_ok_316 { 0%, 24.31% { background: var(--surface-2); color: var(--body); border-color: transparent; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 26.62% { background: var(--tint); color: var(--green); border-color: var(--green); } 95.38% { background: var(--tint); color: var(--green); border-color: var(--green); animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 98.46%, 100% { background: var(--surface-2); color: var(--body); border-color: transparent; } }
@keyframes vK_no_316 { 0%, 24.31% { opacity: 1; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 26.62% { opacity: 0.35; } 95.38% { opacity: 0.35; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 98.46%, 100% { opacity: 1; } }
@keyframes vK_ok_330 { 0%, 25.38% { background: var(--surface-2); color: var(--body); border-color: transparent; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 27.69% { background: var(--tint); color: var(--green); border-color: var(--green); } 95.38% { background: var(--tint); color: var(--green); border-color: var(--green); animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 98.46%, 100% { background: var(--surface-2); color: var(--body); border-color: transparent; } }
@keyframes vK_no_330 { 0%, 25.38% { opacity: 1; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 27.69% { opacity: 0.35; } 95.38% { opacity: 0.35; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 98.46%, 100% { opacity: 1; } }
@keyframes vK_ok_280 { 0%, 21.54% { background: var(--surface-2); color: var(--body); border-color: transparent; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 23.85% { background: var(--tint); color: var(--green); border-color: var(--green); } 95.38% { background: var(--tint); color: var(--green); border-color: var(--green); animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 98.46%, 100% { background: var(--surface-2); color: var(--body); border-color: transparent; } }
@keyframes vK_no_280 { 0%, 21.54% { opacity: 1; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 23.85% { opacity: 0.35; } 95.38% { opacity: 0.35; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 98.46%, 100% { opacity: 1; } }
@keyframes vK_ok_294 { 0%, 22.62% { background: var(--surface-2); color: var(--body); border-color: transparent; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 24.92% { background: var(--tint); color: var(--green); border-color: var(--green); } 95.38% { background: var(--tint); color: var(--green); border-color: var(--green); animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 98.46%, 100% { background: var(--surface-2); color: var(--body); border-color: transparent; } }
@keyframes vK_no_294 { 0%, 22.62% { opacity: 1; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 24.92% { opacity: 0.35; } 95.38% { opacity: 0.35; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 98.46%, 100% { opacity: 1; } }
@keyframes vK_ok_308 { 0%, 23.69% { background: var(--surface-2); color: var(--body); border-color: transparent; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 26.00% { background: var(--tint); color: var(--green); border-color: var(--green); } 95.38% { background: var(--tint); color: var(--green); border-color: var(--green); animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 98.46%, 100% { background: var(--surface-2); color: var(--body); border-color: transparent; } }
@keyframes vK_no_308 { 0%, 23.69% { opacity: 1; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 26.00% { opacity: 0.35; } 95.38% { opacity: 0.35; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 98.46%, 100% { opacity: 1; } }
@keyframes vK_ok_322 { 0%, 24.77% { background: var(--surface-2); color: var(--body); border-color: transparent; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 27.08% { background: var(--tint); color: var(--green); border-color: var(--green); } 95.38% { background: var(--tint); color: var(--green); border-color: var(--green); animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 98.46%, 100% { background: var(--surface-2); color: var(--body); border-color: transparent; } }
@keyframes vK_no_322 { 0%, 24.77% { opacity: 1; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 27.08% { opacity: 0.35; } 95.38% { opacity: 0.35; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 98.46%, 100% { opacity: 1; } }
@keyframes vK_ok_336 { 0%, 25.85% { background: var(--surface-2); color: var(--body); border-color: transparent; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 28.15% { background: var(--tint); color: var(--green); border-color: var(--green); } 95.38% { background: var(--tint); color: var(--green); border-color: var(--green); animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 98.46%, 100% { background: var(--surface-2); color: var(--body); border-color: transparent; } }
@keyframes vK_no_336 { 0%, 25.85% { opacity: 1; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 28.15% { opacity: 0.35; } 95.38% { opacity: 0.35; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 98.46%, 100% { opacity: 1; } }
@keyframes vK_ok_350 { 0%, 26.92% { background: var(--surface-2); color: var(--body); border-color: transparent; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 29.23% { background: var(--tint); color: var(--green); border-color: var(--green); } 95.38% { background: var(--tint); color: var(--green); border-color: var(--green); animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 98.46%, 100% { background: var(--surface-2); color: var(--body); border-color: transparent; } }
@keyframes vK_no_350 { 0%, 26.92% { opacity: 1; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 29.23% { opacity: 0.35; } 95.38% { opacity: 0.35; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 98.46%, 100% { opacity: 1; } }
@keyframes vK_ok_300 { 0%, 23.08% { background: var(--surface-2); color: var(--body); border-color: transparent; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 25.38% { background: var(--tint); color: var(--green); border-color: var(--green); } 95.38% { background: var(--tint); color: var(--green); border-color: var(--green); animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 98.46%, 100% { background: var(--surface-2); color: var(--body); border-color: transparent; } }
@keyframes vK_no_300 { 0%, 23.08% { opacity: 1; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 25.38% { opacity: 0.35; } 95.38% { opacity: 0.35; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 98.46%, 100% { opacity: 1; } }
@keyframes vK_ok_314 { 0%, 24.15% { background: var(--surface-2); color: var(--body); border-color: transparent; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 26.46% { background: var(--tint); color: var(--green); border-color: var(--green); } 95.38% { background: var(--tint); color: var(--green); border-color: var(--green); animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 98.46%, 100% { background: var(--surface-2); color: var(--body); border-color: transparent; } }
@keyframes vK_no_314 { 0%, 24.15% { opacity: 1; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 26.46% { opacity: 0.35; } 95.38% { opacity: 0.35; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 98.46%, 100% { opacity: 1; } }
@keyframes vK_ok_328 { 0%, 25.23% { background: var(--surface-2); color: var(--body); border-color: transparent; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 27.54% { background: var(--tint); color: var(--green); border-color: var(--green); } 95.38% { background: var(--tint); color: var(--green); border-color: var(--green); animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 98.46%, 100% { background: var(--surface-2); color: var(--body); border-color: transparent; } }
@keyframes vK_no_328 { 0%, 25.23% { opacity: 1; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 27.54% { opacity: 0.35; } 95.38% { opacity: 0.35; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 98.46%, 100% { opacity: 1; } }
@keyframes vK_ok_342 { 0%, 26.31% { background: var(--surface-2); color: var(--body); border-color: transparent; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 28.62% { background: var(--tint); color: var(--green); border-color: var(--green); } 95.38% { background: var(--tint); color: var(--green); border-color: var(--green); animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 98.46%, 100% { background: var(--surface-2); color: var(--body); border-color: transparent; } }
@keyframes vK_no_342 { 0%, 26.31% { opacity: 1; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 28.62% { opacity: 0.35; } 95.38% { opacity: 0.35; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 98.46%, 100% { opacity: 1; } }
@keyframes vK_ok_356 { 0%, 27.38% { background: var(--surface-2); color: var(--body); border-color: transparent; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 29.69% { background: var(--tint); color: var(--green); border-color: var(--green); } 95.38% { background: var(--tint); color: var(--green); border-color: var(--green); animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 98.46%, 100% { background: var(--surface-2); color: var(--body); border-color: transparent; } }
@keyframes vK_no_356 { 0%, 27.38% { opacity: 1; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 29.69% { opacity: 0.35; } 95.38% { opacity: 0.35; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 98.46%, 100% { opacity: 1; } }
@keyframes vK_ok_370 { 0%, 28.46% { background: var(--surface-2); color: var(--body); border-color: transparent; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 30.77% { background: var(--tint); color: var(--green); border-color: var(--green); } 95.38% { background: var(--tint); color: var(--green); border-color: var(--green); animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 98.46%, 100% { background: var(--surface-2); color: var(--body); border-color: transparent; } }
@keyframes vK_no_370 { 0%, 28.46% { opacity: 1; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 30.77% { opacity: 0.35; } 95.38% { opacity: 0.35; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 98.46%, 100% { opacity: 1; } }
@keyframes vK_ok_720 { 0%, 55.38% { background: var(--surface-2); color: var(--body); border-color: transparent; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 57.69% { background: var(--tint); color: var(--green); border-color: var(--green); } 95.38% { background: var(--tint); color: var(--green); border-color: var(--green); animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 98.46%, 100% { background: var(--surface-2); color: var(--body); border-color: transparent; } }
@keyframes vK_no_720 { 0%, 55.38% { opacity: 1; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 57.69% { opacity: 0.35; } 95.38% { opacity: 0.35; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 98.46%, 100% { opacity: 1; } }
@keyframes vK_ok_734 { 0%, 56.46% { background: var(--surface-2); color: var(--body); border-color: transparent; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 58.77% { background: var(--tint); color: var(--green); border-color: var(--green); } 95.38% { background: var(--tint); color: var(--green); border-color: var(--green); animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 98.46%, 100% { background: var(--surface-2); color: var(--body); border-color: transparent; } }
@keyframes vK_no_734 { 0%, 56.46% { opacity: 1; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 58.77% { opacity: 0.35; } 95.38% { opacity: 0.35; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 98.46%, 100% { opacity: 1; } }
@keyframes vK_ok_748 { 0%, 57.54% { background: var(--surface-2); color: var(--body); border-color: transparent; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 59.85% { background: var(--tint); color: var(--green); border-color: var(--green); } 95.38% { background: var(--tint); color: var(--green); border-color: var(--green); animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 98.46%, 100% { background: var(--surface-2); color: var(--body); border-color: transparent; } }
@keyframes vK_no_748 { 0%, 57.54% { opacity: 1; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 59.85% { opacity: 0.35; } 95.38% { opacity: 0.35; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 98.46%, 100% { opacity: 1; } }
@keyframes vK_ok_762 { 0%, 58.62% { background: var(--surface-2); color: var(--body); border-color: transparent; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 60.92% { background: var(--tint); color: var(--green); border-color: var(--green); } 95.38% { background: var(--tint); color: var(--green); border-color: var(--green); animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 98.46%, 100% { background: var(--surface-2); color: var(--body); border-color: transparent; } }
@keyframes vK_no_762 { 0%, 58.62% { opacity: 1; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 60.92% { opacity: 0.35; } 95.38% { opacity: 0.35; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 98.46%, 100% { opacity: 1; } }
@keyframes vK_ok_776 { 0%, 59.69% { background: var(--surface-2); color: var(--body); border-color: transparent; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 62.00% { background: var(--tint); color: var(--green); border-color: var(--green); } 95.38% { background: var(--tint); color: var(--green); border-color: var(--green); animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 98.46%, 100% { background: var(--surface-2); color: var(--body); border-color: transparent; } }
@keyframes vK_no_776 { 0%, 59.69% { opacity: 1; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 62.00% { opacity: 0.35; } 95.38% { opacity: 0.35; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 98.46%, 100% { opacity: 1; } }
@keyframes vK_ok_790 { 0%, 60.77% { background: var(--surface-2); color: var(--body); border-color: transparent; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 63.08% { background: var(--tint); color: var(--green); border-color: var(--green); } 95.38% { background: var(--tint); color: var(--green); border-color: var(--green); animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 98.46%, 100% { background: var(--surface-2); color: var(--body); border-color: transparent; } }
@keyframes vK_no_790 { 0%, 60.77% { opacity: 1; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 63.08% { opacity: 0.35; } 95.38% { opacity: 0.35; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 98.46%, 100% { opacity: 1; } }
@keyframes vK_show_360 { 0%, 27.69% { opacity: 0; transform: translateY(3px); animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 30.00% { opacity: 1; transform: none; } 95.38% { opacity: 1; transform: none; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 98.46%, 100% { opacity: 0; transform: translateY(3px); } }
@keyframes vK_show_380 { 0%, 29.23% { opacity: 0; transform: translateY(3px); animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 31.54% { opacity: 1; transform: none; } 95.38% { opacity: 1; transform: none; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 98.46%, 100% { opacity: 0; transform: translateY(3px); } }
@keyframes vK_show_400 { 0%, 30.77% { opacity: 0; transform: translateY(3px); animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 33.08% { opacity: 1; transform: none; } 95.38% { opacity: 1; transform: none; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 98.46%, 100% { opacity: 0; transform: translateY(3px); } }
@keyframes vK_show_810 { 0%, 62.31% { opacity: 0; transform: translateY(3px); animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 64.62% { opacity: 1; transform: none; } 95.38% { opacity: 1; transform: none; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 98.46%, 100% { opacity: 0; transform: translateY(3px); } }
@keyframes vK_show_480 { 0%, 36.92% { opacity: 0; transform: translateY(3px); animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 39.23% { opacity: 1; transform: none; } 95.38% { opacity: 1; transform: none; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 98.46%, 100% { opacity: 0; transform: translateY(3px); } }
@keyframes vK_show_880 { 0%, 67.69% { opacity: 0; transform: translateY(3px); animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 70.00% { opacity: 1; transform: none; } 95.38% { opacity: 1; transform: none; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 98.46%, 100% { opacity: 0; transform: translateY(3px); } }
.vK .chk { width: 16px; height: 16px; border-radius: 0; background: var(--green); color: var(--on-green); display: grid; place-items: center; font-size: 10px; font-weight: 700; opacity: 0; margin-left: auto; }
.vK .top .side { margin-left: 0; }
@media (prefers-reduced-motion: reduce) {
.vK .k, .vK .link, .vK .pct, .vK .chk { animation: none !important; opacity: 1; transform: none; stroke-dashoffset: 0; }
.vK .ch.y { background: var(--tint); color: var(--green); border-color: var(--green); }
.vK .ch.n { opacity: .35; }
.vK .win { box-shadow: inset 0 0 0 1.5px var(--green); opacity: .6; }
}

.vN.c { font-family: "Geist", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif; --bg: #181818; --ink: #F2F2F2; --body: #D4D4D4; --muted: #9B9B9B; --green: #59B387; --on-green: #181818; --surface: #1F1F1F; --surface-2: #272727; --surface-3: #333333; --hair: rgba(242,242,242,.12); --hair2: rgba(242,242,242,.2); }
.vN.c * { box-sizing: border-box; }
.vN .lab { font-family: "Geist Mono", ui-monospace, Menlo, monospace; font-size: 11px; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase; color: var(--muted); line-height: 14px; }
.vN .mono { font-family: "Geist Mono", ui-monospace, Menlo, monospace; }
.vN .pane { background: var(--surface); border: 1px solid var(--hair); border-radius: 0; padding: 12px 14px; display: flex; flex-direction: column; gap: 8px; min-width: 0; }
.vN .head { display: flex; align-items: center; gap: 8px; padding-bottom: 8px; border-bottom: 1px solid var(--hair); }
.vN .app { width: 22px; height: 22px; border-radius: 0; flex: none; }
.vN img.app { object-fit: contain; background: transparent; padding: 2px; }
.vN .stack { display: flex; flex-direction: column; gap: 8px; flex: 1; min-height: 0; }
.vN .msg { background: var(--surface-2); border: 1px solid var(--hair); border-radius: 12px; border-bottom-left-radius: 4px; padding: 9px 12px; font-size: 13px; line-height: 1.4; color: var(--body); display: flex; flex-direction: column; gap: 8px; opacity: 0; }
.vN .msg .k { color: var(--green); font-weight: 600; }
.vN .yes { display: inline-flex; align-items: center; justify-content: center; align-self: flex-start; min-width: 72px; height: 30px; padding: 0 14px; border-radius: 9999px; background: var(--green); color: var(--on-green); font-weight: 600; font-size: 13px; }
.vN .sent { align-self: flex-end; opacity: 0; }
.vN .card { background: #101010; border: 1px solid var(--hair); border-radius: 0; padding: 10px 12px; display: flex; flex-direction: column; gap: 4px; opacity: 0; }
.vN .lock { position: relative; width: 44px; height: 44px; border-radius: 9999px; background: var(--surface-2); border: 1px solid var(--hair2); display: grid; place-items: center; color: var(--muted); animation: vN_lk 12s infinite; }
.vN .lock svg { display: block; position: absolute; }
.vN .lock .closed { animation: vN_lkc 12s infinite; }
.vN .lock .open { opacity: 0; animation: vN_lko 12s infinite; }
.vN .rule { flex: 1; width: 1px; background: var(--hair2); }
.vN .m1 { animation: vN_m1 12s infinite; }
.vN .m2 { animation: vN_m2 12s infinite; }
.vN .y1 { animation: vN_y1 12s infinite; }
.vN .y2 { animation: vN_y2 12s infinite; }
.vN .s1 { animation: vN_s1 12s infinite; }
.vN .s2 { animation: vN_s2 12s infinite; }
.vN .c1 { animation: vN_c1 12s infinite; }
.vN .c2 { animation: vN_c2 12s infinite; }
@keyframes vN_m1 { 0%, 2.50% { opacity: 0; transform: translateY(6px); animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 5.83% { opacity: 1; transform: none; } 95.00% { opacity: 1; transform: none; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 98.33%, 100% { opacity: 0; transform: translateY(6px); } }
@keyframes vN_m2 { 0%, 10.00% { opacity: 0; transform: translateY(6px); animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 13.33% { opacity: 1; transform: none; } 95.00% { opacity: 1; transform: none; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 98.33%, 100% { opacity: 0; transform: translateY(6px); } }
@keyframes vN_y1 { 0%, 27.50% { transform: scale(1); background: var(--green); color: var(--on-green); animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 28.50% { transform: scale(0.94); background: var(--green); color: var(--on-green); } 30.00% { transform: scale(1); background: var(--surface-3); color: var(--muted); } 95.00% { background: var(--surface-3); color: var(--muted); } 98.33%, 100% { transform: scale(1); background: var(--green); color: var(--on-green); } }
@keyframes vN_y2 { 0%, 45.83% { transform: scale(1); background: var(--green); color: var(--on-green); animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 46.83% { transform: scale(0.94); background: var(--green); color: var(--on-green); } 48.33% { transform: scale(1); background: var(--surface-3); color: var(--muted); } 95.00% { background: var(--surface-3); color: var(--muted); } 98.33%, 100% { transform: scale(1); background: var(--green); color: var(--on-green); } }
@keyframes vN_s1 { 0%, 32.50% { opacity: 0; transform: translateY(6px); animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 35.83% { opacity: 1; transform: none; } 95.00% { opacity: 1; transform: none; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 98.33%, 100% { opacity: 0; transform: translateY(6px); } }
@keyframes vN_s2 { 0%, 50.83% { opacity: 0; transform: translateY(6px); animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 54.17% { opacity: 1; transform: none; } 95.00% { opacity: 1; transform: none; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 98.33%, 100% { opacity: 0; transform: translateY(6px); } }
@keyframes vN_lk { 0%, 52.50% { border-color: var(--hair2); color: var(--muted); animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 55.00% { border-color: var(--green); color: var(--green); } 95.00% { border-color: var(--green); color: var(--green); animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 98.33%, 100% { border-color: var(--hair2); color: var(--muted); } }
@keyframes vN_lkc { 0%, 52.50% { opacity: 1; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 55.00% { opacity: 0; } 95.00% { opacity: 0; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 98.33%, 100% { opacity: 1; } }
@keyframes vN_lko { 0%, 52.50% { opacity: 0; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 55.00% { opacity: 1; } 95.00% { opacity: 1; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 98.33%, 100% { opacity: 0; } }
@keyframes vN_c1 { 0%, 55.83% { opacity: 0; transform: translateY(6px); animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 59.17% { opacity: 1; transform: none; } 95.00% { opacity: 1; transform: none; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 98.33%, 100% { opacity: 0; transform: translateY(6px); } }
@keyframes vN_c2 { 0%, 57.50% { opacity: 0; transform: translateY(6px); animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 60.83% { opacity: 1; transform: none; } 95.00% { opacity: 1; transform: none; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 98.33%, 100% { opacity: 0; transform: translateY(6px); } }
@media (prefers-reduced-motion: reduce) {
.vN .msg, .vN .yes, .vN .sent, .vN .card, .vN .lock, .vN .lock svg { animation: none !important; }
.vN .msg { opacity: 0; }
.vN .sent, .vN .card { opacity: 1; }
.vN .lock { border-color: var(--green); color: var(--green); }
.vN .lock .closed { opacity: 0; }
.vN .lock .open { opacity: 1; }
}

.vB.c { font-family: "Geist", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif; --bg: #181818; --ink: #F2F2F2; --body: #D4D4D4; --muted: #9B9B9B; --green: #59B387; --on-green: #181818; --surface: #1F1F1F; --surface-2: #272727; --hair: rgba(242,242,242,.12); --hair2: rgba(242,242,242,.2); }
.vB.c * { box-sizing: border-box; }
.vB .lab { font-family: "Geist Mono", ui-monospace, Menlo, monospace; font-size: 11px; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase; color: var(--muted); line-height: 14px; }
.vB .mono { font-family: "Geist Mono", ui-monospace, Menlo, monospace; }
.vB .msg { max-width: 420px; padding: 10px 14px; border-radius: 14px; font-size: 14px; line-height: 1.45; opacity: 0; transform: translateY(6px); animation: vB_show 12s infinite; }
.vB .you { align-self: flex-end; background: var(--green); color: var(--on-green); border-bottom-right-radius: 4px; }
.vB .bot { align-self: flex-start; background: var(--surface-2); color: var(--body); border: 1px solid var(--hair); border-bottom-left-radius: 4px; }
.vB .bot .k { color: var(--green); font-weight: 600; }
.vB .who { display: flex; align-items: center; gap: 8px; margin-bottom: 4px; }
@keyframes vB_show { 0% { opacity: 0; transform: translateY(6px); } 4% { opacity: 1; transform: translateY(0); } 90% { opacity: 1; } 96%, 100% { opacity: 0; } }
.vB .t1 { animation-delay: 0.3s; }
.vB .t2 { animation-delay: 1.6s; }
.vB .t3 { animation-delay: 3.4s; }
.vB .t4 { animation-delay: 5.4s; }
.vB .t5 { animation-delay: 7.2s; }
.vB .side { opacity: 0; animation: vB_show 12s infinite; }
.vB .s1 { animation-delay: 2s; }
.vB .s2 { animation-delay: 3.8s; }
.vB .s3 { animation-delay: 7.6s; }
@media (prefers-reduced-motion: reduce) {
.vB .msg, .vB .side { animation: none; opacity: 1; transform: none; }
}

.vW.c { font-family: "Geist", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif; --bg: #181818; --ink: #F2F2F2; --body: #D4D4D4; --muted: #9B9B9B; --green: #59B387; --on-green: #181818; --hair: rgba(242,242,242,.12); --hair2: rgba(242,242,242,.2); }
.vW.c * { box-sizing: border-box; }
.vW .bg { fill: var(--ink); opacity: var(--o); }
.vW .cs { fill: var(--ink); opacity: 0; }
.vW .gs { fill: var(--green); opacity: 0; }
.vW .cl { fill: none; stroke: rgba(242,242,242,.22); stroke-width: 1; stroke-dasharray: 400; stroke-dashoffset: 400; }
.vW .yl { fill: none; stroke: var(--green); stroke-width: 1.2; stroke-dasharray: 400; stroke-dashoffset: 400; opacity: 0.9; }
.vW .spark { fill: none; stroke: var(--green); stroke-width: 1; stroke-dasharray: 3 4; opacity: 0; }
.vW .role, .vW .you { position: absolute; transform: translate(-50%, -50%); opacity: 0; }
.vW .tag { display: inline-block; font-family: "Geist Mono", ui-monospace, Menlo, monospace; font-size: 11px; font-weight: 600; letter-spacing: 0.06em; text-transform: uppercase; padding: 6px 12px; border: 1px solid var(--hair2); border-radius: 0; color: var(--body); white-space: nowrap; line-height: 16px; background: var(--bg); }
.vW .tag.on { background: var(--green); color: var(--on-green); border-color: var(--green); }
.vW .cs.c0s0 { animation: vW_c0s0 14s infinite; }
.vW .cs.c0s1 { animation: vW_c0s1 14s infinite; }
.vW .cs.c0s2 { animation: vW_c0s2 14s infinite; }
.vW .cs.c0s3 { animation: vW_c0s3 14s infinite; }
.vW .cs.c0s4 { animation: vW_c0s4 14s infinite; }
.vW .cl.c0l0 { animation: vW_c0l0 14s infinite; }
.vW .cl.c0l1 { animation: vW_c0l1 14s infinite; }
.vW .cl.c0l2 { animation: vW_c0l2 14s infinite; }
.vW .cl.c0l3 { animation: vW_c0l3 14s infinite; }
.vW .role.r0 { animation: vW_r0 14s infinite; }
.vW .cs.c1s0 { animation: vW_c1s0 14s infinite; }
.vW .cs.c1s1 { animation: vW_c1s1 14s infinite; }
.vW .cs.c1s2 { animation: vW_c1s2 14s infinite; }
.vW .cs.c1s3 { animation: vW_c1s3 14s infinite; }
.vW .cs.c1s4 { animation: vW_c1s4 14s infinite; }
.vW .cl.c1l0 { animation: vW_c1l0 14s infinite; }
.vW .cl.c1l1 { animation: vW_c1l1 14s infinite; }
.vW .cl.c1l2 { animation: vW_c1l2 14s infinite; }
.vW .cl.c1l3 { animation: vW_c1l3 14s infinite; }
.vW .role.r1 { animation: vW_r1 14s infinite; }
.vW .cs.c2s0 { animation: vW_c2s0 14s infinite; }
.vW .cs.c2s1 { animation: vW_c2s1 14s infinite; }
.vW .cs.c2s2 { animation: vW_c2s2 14s infinite; }
.vW .cs.c2s3 { animation: vW_c2s3 14s infinite; }
.vW .cs.c2s4 { animation: vW_c2s4 14s infinite; }
.vW .cl.c2l0 { animation: vW_c2l0 14s infinite; }
.vW .cl.c2l1 { animation: vW_c2l1 14s infinite; }
.vW .cl.c2l2 { animation: vW_c2l2 14s infinite; }
.vW .cl.c2l3 { animation: vW_c2l3 14s infinite; }
.vW .role.r2 { animation: vW_r2 14s infinite; }
.vW .cs.c3s0 { animation: vW_c3s0 14s infinite; }
.vW .cs.c3s1 { animation: vW_c3s1 14s infinite; }
.vW .cs.c3s2 { animation: vW_c3s2 14s infinite; }
.vW .cs.c3s3 { animation: vW_c3s3 14s infinite; }
.vW .cs.c3s4 { animation: vW_c3s4 14s infinite; }
.vW .cl.c3l0 { animation: vW_c3l0 14s infinite; }
.vW .cl.c3l1 { animation: vW_c3l1 14s infinite; }
.vW .cl.c3l2 { animation: vW_c3l2 14s infinite; }
.vW .cl.c3l3 { animation: vW_c3l3 14s infinite; }
.vW .role.r3 { animation: vW_r3 14s infinite; }
.vW .cs.c4s0 { animation: vW_c4s0 14s infinite; }
.vW .cs.c4s1 { animation: vW_c4s1 14s infinite; }
.vW .cs.c4s2 { animation: vW_c4s2 14s infinite; }
.vW .cs.c4s3 { animation: vW_c4s3 14s infinite; }
.vW .cs.c4s4 { animation: vW_c4s4 14s infinite; }
.vW .cs.c4s5 { animation: vW_c4s5 14s infinite; }
.vW .cs.c4s6 { animation: vW_c4s6 14s infinite; }
.vW .cl.c4l0 { animation: vW_c4l0 14s infinite; }
.vW .cl.c4l1 { animation: vW_c4l1 14s infinite; }
.vW .cl.c4l2 { animation: vW_c4l2 14s infinite; }
.vW .cl.c4l3 { animation: vW_c4l3 14s infinite; }
.vW .cl.c4l4 { animation: vW_c4l4 14s infinite; }
.vW .cl.c4l5 { animation: vW_c4l5 14s infinite; }
.vW .role.r4 { animation: vW_r4 14s infinite; }
.vW .cs.c5s0 { animation: vW_c5s0 14s infinite; }
.vW .cs.c5s1 { animation: vW_c5s1 14s infinite; }
.vW .cs.c5s2 { animation: vW_c5s2 14s infinite; }
.vW .cs.c5s3 { animation: vW_c5s3 14s infinite; }
.vW .cs.c5s4 { animation: vW_c5s4 14s infinite; }
.vW .cs.c5s5 { animation: vW_c5s5 14s infinite; }
.vW .cl.c5l0 { animation: vW_c5l0 14s infinite; }
.vW .cl.c5l1 { animation: vW_c5l1 14s infinite; }
.vW .cl.c5l2 { animation: vW_c5l2 14s infinite; }
.vW .cl.c5l3 { animation: vW_c5l3 14s infinite; }
.vW .cl.c5l4 { animation: vW_c5l4 14s infinite; }
.vW .role.r5 { animation: vW_r5 14s infinite; }
.vW .cs.c6s0 { animation: vW_c6s0 14s infinite; }
.vW .cs.c6s1 { animation: vW_c6s1 14s infinite; }
.vW .cs.c6s2 { animation: vW_c6s2 14s infinite; }
.vW .cs.c6s3 { animation: vW_c6s3 14s infinite; }
.vW .cs.c6s4 { animation: vW_c6s4 14s infinite; }
.vW .cs.c6s5 { animation: vW_c6s5 14s infinite; }
.vW .cs.c6s6 { animation: vW_c6s6 14s infinite; }
.vW .cl.c6l0 { animation: vW_c6l0 14s infinite; }
.vW .cl.c6l1 { animation: vW_c6l1 14s infinite; }
.vW .cl.c6l2 { animation: vW_c6l2 14s infinite; }
.vW .cl.c6l3 { animation: vW_c6l3 14s infinite; }
.vW .cl.c6l4 { animation: vW_c6l4 14s infinite; }
.vW .cl.c6l5 { animation: vW_c6l5 14s infinite; }
.vW .role.r6 { animation: vW_r6 14s infinite; }
.vW .you { animation: vW_you 14s infinite; }
.vW .yl.y0 { animation: vW_y0 14s infinite; }
.vW .yl.y1 { animation: vW_y1 14s infinite; }
.vW .yl.y2 { animation: vW_y2 14s infinite; }
.vW .yl.y3 { animation: vW_y3 14s infinite; }
.vW .yl.y4 { animation: vW_y4 14s infinite; }
.vW .yl.y5 { animation: vW_y5 14s infinite; }
.vW .yl.y6 { animation: vW_y6 14s infinite; }
.vW .gs.g0 { animation: vW_g0 14s infinite; }
.vW .cl.gl0 { animation: vW_gl0 14s infinite; }
.vW .gs.g1 { animation: vW_g1 14s infinite; }
.vW .cl.gl1 { animation: vW_gl1 14s infinite; }
.vW .gs.g2 { animation: vW_g2 14s infinite; }
.vW .cl.gl2 { animation: vW_gl2 14s infinite; }
.vW .gs.g3 { animation: vW_g3 14s infinite; }
.vW .cl.gl3 { animation: vW_gl3 14s infinite; }
.vW .gs.g4 { animation: vW_g4 14s infinite; }
.vW .cl.gl4 { animation: vW_gl4 14s infinite; }
.vW .gs.g5 { animation: vW_g5 14s infinite; }
.vW .cl.gl5 { animation: vW_gl5 14s infinite; }
.vW .gs.g6 { animation: vW_g6 14s infinite; }
.vW .cl.gl6 { animation: vW_gl6 14s infinite; }
.vW .role.r0 .tag { animation: vW_rg0 14s infinite; }
.vW .role.r3 .tag { animation: vW_rg3 14s infinite; }
.vW .role.r6 .tag { animation: vW_rg6 14s infinite; }
.vW .role.r2 .tag { animation: vW_rg2 14s infinite; }
.vW .role.r5 .tag { animation: vW_rg5 14s infinite; }
.vW .role.r1 .tag { animation: vW_rg1 14s infinite; }
.vW .role.r4 .tag { animation: vW_rg4 14s infinite; }
.vW .spark.sp0 { animation: vW_sp0 14s infinite; }
.vW .spark.sp1 { animation: vW_sp1 14s infinite; }
.vW .spark.sp2 { animation: vW_sp2 14s infinite; }
@keyframes vW_c0s0 { 0%, 1.43% { opacity: 0; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 3.57% { opacity: 1; } 95.71% { opacity: 1; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 98.57%, 100% { opacity: 0; } }
@keyframes vW_c0s1 { 0%, 1.86% { opacity: 0; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 4.00% { opacity: 1; } 95.71% { opacity: 1; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 98.57%, 100% { opacity: 0; } }
@keyframes vW_c0s2 { 0%, 2.29% { opacity: 0; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 4.43% { opacity: 1; } 95.71% { opacity: 1; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 98.57%, 100% { opacity: 0; } }
@keyframes vW_c0s3 { 0%, 2.71% { opacity: 0; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 4.86% { opacity: 1; } 95.71% { opacity: 1; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 98.57%, 100% { opacity: 0; } }
@keyframes vW_c0s4 { 0%, 3.14% { opacity: 0; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 5.29% { opacity: 1; } 95.71% { opacity: 1; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 98.57%, 100% { opacity: 0; } }
@keyframes vW_c0l0 { 0%, 3.57% { stroke-dashoffset: 400; opacity: 1; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 6.07% { stroke-dashoffset: 0; opacity: 1; } 95.71% { stroke-dashoffset: 0; opacity: 1; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 98.57%, 100% { stroke-dashoffset: 0; opacity: 0; } }
@keyframes vW_c0l1 { 0%, 4.14% { stroke-dashoffset: 400; opacity: 1; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 6.64% { stroke-dashoffset: 0; opacity: 1; } 95.71% { stroke-dashoffset: 0; opacity: 1; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 98.57%, 100% { stroke-dashoffset: 0; opacity: 0; } }
@keyframes vW_c0l2 { 0%, 4.71% { stroke-dashoffset: 400; opacity: 1; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 7.21% { stroke-dashoffset: 0; opacity: 1; } 95.71% { stroke-dashoffset: 0; opacity: 1; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 98.57%, 100% { stroke-dashoffset: 0; opacity: 0; } }
@keyframes vW_c0l3 { 0%, 5.29% { stroke-dashoffset: 400; opacity: 1; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 7.79% { stroke-dashoffset: 0; opacity: 1; } 95.71% { stroke-dashoffset: 0; opacity: 1; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 98.57%, 100% { stroke-dashoffset: 0; opacity: 0; } }
@keyframes vW_r0 { 0%, 5.71% { opacity: 0; transform: translate(-50%, -50%) scale(0.9); animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 8.21% { opacity: 1; transform: translate(-50%, -50%) scale(1); } 95.71% { opacity: 1; transform: translate(-50%, -50%) scale(1); animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 98.57%, 100% { opacity: 0; transform: translate(-50%, -50%) scale(0.9); } }
@keyframes vW_c1s0 { 0%, 2.86% { opacity: 0; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 5.00% { opacity: 1; } 95.71% { opacity: 1; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 98.57%, 100% { opacity: 0; } }
@keyframes vW_c1s1 { 0%, 3.29% { opacity: 0; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 5.43% { opacity: 1; } 95.71% { opacity: 1; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 98.57%, 100% { opacity: 0; } }
@keyframes vW_c1s2 { 0%, 3.71% { opacity: 0; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 5.86% { opacity: 1; } 95.71% { opacity: 1; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 98.57%, 100% { opacity: 0; } }
@keyframes vW_c1s3 { 0%, 4.14% { opacity: 0; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 6.29% { opacity: 1; } 95.71% { opacity: 1; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 98.57%, 100% { opacity: 0; } }
@keyframes vW_c1s4 { 0%, 4.57% { opacity: 0; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 6.71% { opacity: 1; } 95.71% { opacity: 1; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 98.57%, 100% { opacity: 0; } }
@keyframes vW_c1l0 { 0%, 5.00% { stroke-dashoffset: 400; opacity: 1; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 7.50% { stroke-dashoffset: 0; opacity: 1; } 95.71% { stroke-dashoffset: 0; opacity: 1; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 98.57%, 100% { stroke-dashoffset: 0; opacity: 0; } }
@keyframes vW_c1l1 { 0%, 5.57% { stroke-dashoffset: 400; opacity: 1; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 8.07% { stroke-dashoffset: 0; opacity: 1; } 95.71% { stroke-dashoffset: 0; opacity: 1; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 98.57%, 100% { stroke-dashoffset: 0; opacity: 0; } }
@keyframes vW_c1l2 { 0%, 6.14% { stroke-dashoffset: 400; opacity: 1; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 8.64% { stroke-dashoffset: 0; opacity: 1; } 95.71% { stroke-dashoffset: 0; opacity: 1; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 98.57%, 100% { stroke-dashoffset: 0; opacity: 0; } }
@keyframes vW_c1l3 { 0%, 6.71% { stroke-dashoffset: 400; opacity: 1; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 9.21% { stroke-dashoffset: 0; opacity: 1; } 95.71% { stroke-dashoffset: 0; opacity: 1; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 98.57%, 100% { stroke-dashoffset: 0; opacity: 0; } }
@keyframes vW_r1 { 0%, 7.14% { opacity: 0; transform: translate(-50%, -50%) scale(0.9); animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 9.64% { opacity: 1; transform: translate(-50%, -50%) scale(1); } 95.71% { opacity: 1; transform: translate(-50%, -50%) scale(1); animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 98.57%, 100% { opacity: 0; transform: translate(-50%, -50%) scale(0.9); } }
@keyframes vW_c2s0 { 0%, 4.29% { opacity: 0; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 6.43% { opacity: 1; } 95.71% { opacity: 1; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 98.57%, 100% { opacity: 0; } }
@keyframes vW_c2s1 { 0%, 4.71% { opacity: 0; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 6.86% { opacity: 1; } 95.71% { opacity: 1; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 98.57%, 100% { opacity: 0; } }
@keyframes vW_c2s2 { 0%, 5.14% { opacity: 0; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 7.29% { opacity: 1; } 95.71% { opacity: 1; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 98.57%, 100% { opacity: 0; } }
@keyframes vW_c2s3 { 0%, 5.57% { opacity: 0; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 7.71% { opacity: 1; } 95.71% { opacity: 1; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 98.57%, 100% { opacity: 0; } }
@keyframes vW_c2s4 { 0%, 6.00% { opacity: 0; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 8.14% { opacity: 1; } 95.71% { opacity: 1; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 98.57%, 100% { opacity: 0; } }
@keyframes vW_c2l0 { 0%, 6.43% { stroke-dashoffset: 400; opacity: 1; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 8.93% { stroke-dashoffset: 0; opacity: 1; } 95.71% { stroke-dashoffset: 0; opacity: 1; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 98.57%, 100% { stroke-dashoffset: 0; opacity: 0; } }
@keyframes vW_c2l1 { 0%, 7.00% { stroke-dashoffset: 400; opacity: 1; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 9.50% { stroke-dashoffset: 0; opacity: 1; } 95.71% { stroke-dashoffset: 0; opacity: 1; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 98.57%, 100% { stroke-dashoffset: 0; opacity: 0; } }
@keyframes vW_c2l2 { 0%, 7.57% { stroke-dashoffset: 400; opacity: 1; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 10.07% { stroke-dashoffset: 0; opacity: 1; } 95.71% { stroke-dashoffset: 0; opacity: 1; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 98.57%, 100% { stroke-dashoffset: 0; opacity: 0; } }
@keyframes vW_c2l3 { 0%, 8.14% { stroke-dashoffset: 400; opacity: 1; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 10.64% { stroke-dashoffset: 0; opacity: 1; } 95.71% { stroke-dashoffset: 0; opacity: 1; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 98.57%, 100% { stroke-dashoffset: 0; opacity: 0; } }
@keyframes vW_r2 { 0%, 8.57% { opacity: 0; transform: translate(-50%, -50%) scale(0.9); animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 11.07% { opacity: 1; transform: translate(-50%, -50%) scale(1); } 95.71% { opacity: 1; transform: translate(-50%, -50%) scale(1); animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 98.57%, 100% { opacity: 0; transform: translate(-50%, -50%) scale(0.9); } }
@keyframes vW_c3s0 { 0%, 5.71% { opacity: 0; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 7.86% { opacity: 1; } 95.71% { opacity: 1; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 98.57%, 100% { opacity: 0; } }
@keyframes vW_c3s1 { 0%, 6.14% { opacity: 0; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 8.29% { opacity: 1; } 95.71% { opacity: 1; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 98.57%, 100% { opacity: 0; } }
@keyframes vW_c3s2 { 0%, 6.57% { opacity: 0; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 8.71% { opacity: 1; } 95.71% { opacity: 1; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 98.57%, 100% { opacity: 0; } }
@keyframes vW_c3s3 { 0%, 7.00% { opacity: 0; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 9.14% { opacity: 1; } 95.71% { opacity: 1; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 98.57%, 100% { opacity: 0; } }
@keyframes vW_c3s4 { 0%, 7.43% { opacity: 0; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 9.57% { opacity: 1; } 95.71% { opacity: 1; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 98.57%, 100% { opacity: 0; } }
@keyframes vW_c3l0 { 0%, 7.86% { stroke-dashoffset: 400; opacity: 1; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 10.36% { stroke-dashoffset: 0; opacity: 1; } 95.71% { stroke-dashoffset: 0; opacity: 1; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 98.57%, 100% { stroke-dashoffset: 0; opacity: 0; } }
@keyframes vW_c3l1 { 0%, 8.43% { stroke-dashoffset: 400; opacity: 1; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 10.93% { stroke-dashoffset: 0; opacity: 1; } 95.71% { stroke-dashoffset: 0; opacity: 1; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 98.57%, 100% { stroke-dashoffset: 0; opacity: 0; } }
@keyframes vW_c3l2 { 0%, 9.00% { stroke-dashoffset: 400; opacity: 1; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 11.50% { stroke-dashoffset: 0; opacity: 1; } 95.71% { stroke-dashoffset: 0; opacity: 1; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 98.57%, 100% { stroke-dashoffset: 0; opacity: 0; } }
@keyframes vW_c3l3 { 0%, 9.57% { stroke-dashoffset: 400; opacity: 1; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 12.07% { stroke-dashoffset: 0; opacity: 1; } 95.71% { stroke-dashoffset: 0; opacity: 1; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 98.57%, 100% { stroke-dashoffset: 0; opacity: 0; } }
@keyframes vW_r3 { 0%, 10.00% { opacity: 0; transform: translate(-50%, -50%) scale(0.9); animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 12.50% { opacity: 1; transform: translate(-50%, -50%) scale(1); } 95.71% { opacity: 1; transform: translate(-50%, -50%) scale(1); animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 98.57%, 100% { opacity: 0; transform: translate(-50%, -50%) scale(0.9); } }
@keyframes vW_c4s0 { 0%, 7.14% { opacity: 0; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 9.29% { opacity: 1; } 95.71% { opacity: 1; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 98.57%, 100% { opacity: 0; } }
@keyframes vW_c4s1 { 0%, 7.57% { opacity: 0; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 9.71% { opacity: 1; } 95.71% { opacity: 1; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 98.57%, 100% { opacity: 0; } }
@keyframes vW_c4s2 { 0%, 8.00% { opacity: 0; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 10.14% { opacity: 1; } 95.71% { opacity: 1; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 98.57%, 100% { opacity: 0; } }
@keyframes vW_c4s3 { 0%, 8.43% { opacity: 0; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 10.57% { opacity: 1; } 95.71% { opacity: 1; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 98.57%, 100% { opacity: 0; } }
@keyframes vW_c4s4 { 0%, 8.86% { opacity: 0; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 11.00% { opacity: 1; } 95.71% { opacity: 1; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 98.57%, 100% { opacity: 0; } }
@keyframes vW_c4s5 { 0%, 9.29% { opacity: 0; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 11.43% { opacity: 1; } 95.71% { opacity: 1; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 98.57%, 100% { opacity: 0; } }
@keyframes vW_c4s6 { 0%, 9.71% { opacity: 0; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 11.86% { opacity: 1; } 95.71% { opacity: 1; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 98.57%, 100% { opacity: 0; } }
@keyframes vW_c4l0 { 0%, 9.29% { stroke-dashoffset: 400; opacity: 1; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 11.79% { stroke-dashoffset: 0; opacity: 1; } 95.71% { stroke-dashoffset: 0; opacity: 1; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 98.57%, 100% { stroke-dashoffset: 0; opacity: 0; } }
@keyframes vW_c4l1 { 0%, 9.86% { stroke-dashoffset: 400; opacity: 1; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 12.36% { stroke-dashoffset: 0; opacity: 1; } 95.71% { stroke-dashoffset: 0; opacity: 1; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 98.57%, 100% { stroke-dashoffset: 0; opacity: 0; } }
@keyframes vW_c4l2 { 0%, 10.43% { stroke-dashoffset: 400; opacity: 1; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 12.93% { stroke-dashoffset: 0; opacity: 1; } 95.71% { stroke-dashoffset: 0; opacity: 1; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 98.57%, 100% { stroke-dashoffset: 0; opacity: 0; } }
@keyframes vW_c4l3 { 0%, 11.00% { stroke-dashoffset: 400; opacity: 1; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 13.50% { stroke-dashoffset: 0; opacity: 1; } 95.71% { stroke-dashoffset: 0; opacity: 1; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 98.57%, 100% { stroke-dashoffset: 0; opacity: 0; } }
@keyframes vW_c4l4 { 0%, 11.57% { stroke-dashoffset: 400; opacity: 1; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 14.07% { stroke-dashoffset: 0; opacity: 1; } 95.71% { stroke-dashoffset: 0; opacity: 1; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 98.57%, 100% { stroke-dashoffset: 0; opacity: 0; } }
@keyframes vW_c4l5 { 0%, 12.14% { stroke-dashoffset: 400; opacity: 1; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 14.64% { stroke-dashoffset: 0; opacity: 1; } 95.71% { stroke-dashoffset: 0; opacity: 1; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 98.57%, 100% { stroke-dashoffset: 0; opacity: 0; } }
@keyframes vW_r4 { 0%, 11.43% { opacity: 0; transform: translate(-50%, -50%) scale(0.9); animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 13.93% { opacity: 1; transform: translate(-50%, -50%) scale(1); } 95.71% { opacity: 1; transform: translate(-50%, -50%) scale(1); animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 98.57%, 100% { opacity: 0; transform: translate(-50%, -50%) scale(0.9); } }
@keyframes vW_c5s0 { 0%, 8.57% { opacity: 0; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 10.71% { opacity: 1; } 95.71% { opacity: 1; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 98.57%, 100% { opacity: 0; } }
@keyframes vW_c5s1 { 0%, 9.00% { opacity: 0; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 11.14% { opacity: 1; } 95.71% { opacity: 1; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 98.57%, 100% { opacity: 0; } }
@keyframes vW_c5s2 { 0%, 9.43% { opacity: 0; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 11.57% { opacity: 1; } 95.71% { opacity: 1; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 98.57%, 100% { opacity: 0; } }
@keyframes vW_c5s3 { 0%, 9.86% { opacity: 0; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 12.00% { opacity: 1; } 95.71% { opacity: 1; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 98.57%, 100% { opacity: 0; } }
@keyframes vW_c5s4 { 0%, 10.29% { opacity: 0; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 12.43% { opacity: 1; } 95.71% { opacity: 1; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 98.57%, 100% { opacity: 0; } }
@keyframes vW_c5s5 { 0%, 10.71% { opacity: 0; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 12.86% { opacity: 1; } 95.71% { opacity: 1; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 98.57%, 100% { opacity: 0; } }
@keyframes vW_c5l0 { 0%, 10.71% { stroke-dashoffset: 400; opacity: 1; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 13.21% { stroke-dashoffset: 0; opacity: 1; } 95.71% { stroke-dashoffset: 0; opacity: 1; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 98.57%, 100% { stroke-dashoffset: 0; opacity: 0; } }
@keyframes vW_c5l1 { 0%, 11.29% { stroke-dashoffset: 400; opacity: 1; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 13.79% { stroke-dashoffset: 0; opacity: 1; } 95.71% { stroke-dashoffset: 0; opacity: 1; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 98.57%, 100% { stroke-dashoffset: 0; opacity: 0; } }
@keyframes vW_c5l2 { 0%, 11.86% { stroke-dashoffset: 400; opacity: 1; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 14.36% { stroke-dashoffset: 0; opacity: 1; } 95.71% { stroke-dashoffset: 0; opacity: 1; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 98.57%, 100% { stroke-dashoffset: 0; opacity: 0; } }
@keyframes vW_c5l3 { 0%, 12.43% { stroke-dashoffset: 400; opacity: 1; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 14.93% { stroke-dashoffset: 0; opacity: 1; } 95.71% { stroke-dashoffset: 0; opacity: 1; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 98.57%, 100% { stroke-dashoffset: 0; opacity: 0; } }
@keyframes vW_c5l4 { 0%, 13.00% { stroke-dashoffset: 400; opacity: 1; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 15.50% { stroke-dashoffset: 0; opacity: 1; } 95.71% { stroke-dashoffset: 0; opacity: 1; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 98.57%, 100% { stroke-dashoffset: 0; opacity: 0; } }
@keyframes vW_r5 { 0%, 12.86% { opacity: 0; transform: translate(-50%, -50%) scale(0.9); animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 15.36% { opacity: 1; transform: translate(-50%, -50%) scale(1); } 95.71% { opacity: 1; transform: translate(-50%, -50%) scale(1); animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 98.57%, 100% { opacity: 0; transform: translate(-50%, -50%) scale(0.9); } }
@keyframes vW_c6s0 { 0%, 10.00% { opacity: 0; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 12.14% { opacity: 1; } 95.71% { opacity: 1; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 98.57%, 100% { opacity: 0; } }
@keyframes vW_c6s1 { 0%, 10.43% { opacity: 0; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 12.57% { opacity: 1; } 95.71% { opacity: 1; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 98.57%, 100% { opacity: 0; } }
@keyframes vW_c6s2 { 0%, 10.86% { opacity: 0; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 13.00% { opacity: 1; } 95.71% { opacity: 1; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 98.57%, 100% { opacity: 0; } }
@keyframes vW_c6s3 { 0%, 11.29% { opacity: 0; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 13.43% { opacity: 1; } 95.71% { opacity: 1; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 98.57%, 100% { opacity: 0; } }
@keyframes vW_c6s4 { 0%, 11.71% { opacity: 0; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 13.86% { opacity: 1; } 95.71% { opacity: 1; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 98.57%, 100% { opacity: 0; } }
@keyframes vW_c6s5 { 0%, 12.14% { opacity: 0; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 14.29% { opacity: 1; } 95.71% { opacity: 1; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 98.57%, 100% { opacity: 0; } }
@keyframes vW_c6s6 { 0%, 12.57% { opacity: 0; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 14.71% { opacity: 1; } 95.71% { opacity: 1; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 98.57%, 100% { opacity: 0; } }
@keyframes vW_c6l0 { 0%, 12.14% { stroke-dashoffset: 400; opacity: 1; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 14.64% { stroke-dashoffset: 0; opacity: 1; } 95.71% { stroke-dashoffset: 0; opacity: 1; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 98.57%, 100% { stroke-dashoffset: 0; opacity: 0; } }
@keyframes vW_c6l1 { 0%, 12.71% { stroke-dashoffset: 400; opacity: 1; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 15.21% { stroke-dashoffset: 0; opacity: 1; } 95.71% { stroke-dashoffset: 0; opacity: 1; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 98.57%, 100% { stroke-dashoffset: 0; opacity: 0; } }
@keyframes vW_c6l2 { 0%, 13.29% { stroke-dashoffset: 400; opacity: 1; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 15.79% { stroke-dashoffset: 0; opacity: 1; } 95.71% { stroke-dashoffset: 0; opacity: 1; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 98.57%, 100% { stroke-dashoffset: 0; opacity: 0; } }
@keyframes vW_c6l3 { 0%, 13.86% { stroke-dashoffset: 400; opacity: 1; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 16.36% { stroke-dashoffset: 0; opacity: 1; } 95.71% { stroke-dashoffset: 0; opacity: 1; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 98.57%, 100% { stroke-dashoffset: 0; opacity: 0; } }
@keyframes vW_c6l4 { 0%, 14.43% { stroke-dashoffset: 400; opacity: 1; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 16.93% { stroke-dashoffset: 0; opacity: 1; } 95.71% { stroke-dashoffset: 0; opacity: 1; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 98.57%, 100% { stroke-dashoffset: 0; opacity: 0; } }
@keyframes vW_c6l5 { 0%, 15.00% { stroke-dashoffset: 400; opacity: 1; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 17.50% { stroke-dashoffset: 0; opacity: 1; } 95.71% { stroke-dashoffset: 0; opacity: 1; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 98.57%, 100% { stroke-dashoffset: 0; opacity: 0; } }
@keyframes vW_r6 { 0%, 14.29% { opacity: 0; transform: translate(-50%, -50%) scale(0.9); animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 16.79% { opacity: 1; transform: translate(-50%, -50%) scale(1); } 95.71% { opacity: 1; transform: translate(-50%, -50%) scale(1); animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 98.57%, 100% { opacity: 0; transform: translate(-50%, -50%) scale(0.9); } }
@keyframes vW_you { 0%, 17.14% { opacity: 0; transform: translate(-50%, -50%) scale(0.9); animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 19.64% { opacity: 1; transform: translate(-50%, -50%) scale(1); } 95.71% { opacity: 1; transform: translate(-50%, -50%) scale(1); animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 98.57%, 100% { opacity: 0; transform: translate(-50%, -50%) scale(0.9); } }
@keyframes vW_y0 { 0%, 20.71% { stroke-dashoffset: 400; opacity: 1; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 23.93% { stroke-dashoffset: 0; opacity: 1; } 95.71% { stroke-dashoffset: 0; opacity: 1; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 98.57%, 100% { stroke-dashoffset: 0; opacity: 0; } }
@keyframes vW_y1 { 0%, 21.43% { stroke-dashoffset: 400; opacity: 1; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 24.64% { stroke-dashoffset: 0; opacity: 1; } 95.71% { stroke-dashoffset: 0; opacity: 1; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 98.57%, 100% { stroke-dashoffset: 0; opacity: 0; } }
@keyframes vW_y2 { 0%, 22.14% { stroke-dashoffset: 400; opacity: 1; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 25.36% { stroke-dashoffset: 0; opacity: 1; } 95.71% { stroke-dashoffset: 0; opacity: 1; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 98.57%, 100% { stroke-dashoffset: 0; opacity: 0; } }
@keyframes vW_y3 { 0%, 22.86% { stroke-dashoffset: 400; opacity: 1; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 26.07% { stroke-dashoffset: 0; opacity: 1; } 95.71% { stroke-dashoffset: 0; opacity: 1; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 98.57%, 100% { stroke-dashoffset: 0; opacity: 0; } }
@keyframes vW_y4 { 0%, 23.57% { stroke-dashoffset: 400; opacity: 1; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 26.79% { stroke-dashoffset: 0; opacity: 1; } 95.71% { stroke-dashoffset: 0; opacity: 1; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 98.57%, 100% { stroke-dashoffset: 0; opacity: 0; } }
@keyframes vW_y5 { 0%, 24.29% { stroke-dashoffset: 400; opacity: 1; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 27.50% { stroke-dashoffset: 0; opacity: 1; } 95.71% { stroke-dashoffset: 0; opacity: 1; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 98.57%, 100% { stroke-dashoffset: 0; opacity: 0; } }
@keyframes vW_y6 { 0%, 25.00% { stroke-dashoffset: 400; opacity: 1; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 28.21% { stroke-dashoffset: 0; opacity: 1; } 95.71% { stroke-dashoffset: 0; opacity: 1; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 98.57%, 100% { stroke-dashoffset: 0; opacity: 0; } }
@keyframes vW_g0 { 0%, 35.71% { opacity: 0; r: 0.5; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 38.21% { opacity: 1; r: 2.4; } 95.71% { opacity: 1; r: 2.4; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 98.57%, 100% { opacity: 0; r: 0.5; } }
@keyframes vW_gl0 { 0%, 36.43% { stroke-dashoffset: 400; opacity: 1; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 39.29% { stroke-dashoffset: 0; opacity: 1; } 95.71% { stroke-dashoffset: 0; opacity: 1; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 98.57%, 100% { stroke-dashoffset: 0; opacity: 0; } }
@keyframes vW_g1 { 0%, 43.57% { opacity: 0; r: 0.5; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 46.07% { opacity: 1; r: 2.4; } 95.71% { opacity: 1; r: 2.4; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 98.57%, 100% { opacity: 0; r: 0.5; } }
@keyframes vW_gl1 { 0%, 44.29% { stroke-dashoffset: 400; opacity: 1; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 47.14% { stroke-dashoffset: 0; opacity: 1; } 95.71% { stroke-dashoffset: 0; opacity: 1; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 98.57%, 100% { stroke-dashoffset: 0; opacity: 0; } }
@keyframes vW_g2 { 0%, 51.43% { opacity: 0; r: 0.5; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 53.93% { opacity: 1; r: 2.4; } 95.71% { opacity: 1; r: 2.4; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 98.57%, 100% { opacity: 0; r: 0.5; } }
@keyframes vW_gl2 { 0%, 52.14% { stroke-dashoffset: 400; opacity: 1; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 55.00% { stroke-dashoffset: 0; opacity: 1; } 95.71% { stroke-dashoffset: 0; opacity: 1; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 98.57%, 100% { stroke-dashoffset: 0; opacity: 0; } }
@keyframes vW_g3 { 0%, 59.29% { opacity: 0; r: 0.5; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 61.79% { opacity: 1; r: 2.4; } 95.71% { opacity: 1; r: 2.4; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 98.57%, 100% { opacity: 0; r: 0.5; } }
@keyframes vW_gl3 { 0%, 60.00% { stroke-dashoffset: 400; opacity: 1; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 62.86% { stroke-dashoffset: 0; opacity: 1; } 95.71% { stroke-dashoffset: 0; opacity: 1; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 98.57%, 100% { stroke-dashoffset: 0; opacity: 0; } }
@keyframes vW_g4 { 0%, 67.14% { opacity: 0; r: 0.5; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 69.64% { opacity: 1; r: 2.4; } 95.71% { opacity: 1; r: 2.4; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 98.57%, 100% { opacity: 0; r: 0.5; } }
@keyframes vW_gl4 { 0%, 67.86% { stroke-dashoffset: 400; opacity: 1; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 70.71% { stroke-dashoffset: 0; opacity: 1; } 95.71% { stroke-dashoffset: 0; opacity: 1; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 98.57%, 100% { stroke-dashoffset: 0; opacity: 0; } }
@keyframes vW_g5 { 0%, 75.00% { opacity: 0; r: 0.5; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 77.50% { opacity: 1; r: 2.4; } 95.71% { opacity: 1; r: 2.4; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 98.57%, 100% { opacity: 0; r: 0.5; } }
@keyframes vW_gl5 { 0%, 75.71% { stroke-dashoffset: 400; opacity: 1; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 78.57% { stroke-dashoffset: 0; opacity: 1; } 95.71% { stroke-dashoffset: 0; opacity: 1; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 98.57%, 100% { stroke-dashoffset: 0; opacity: 0; } }
@keyframes vW_g6 { 0%, 82.86% { opacity: 0; r: 0.5; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 85.36% { opacity: 1; r: 2.4; } 95.71% { opacity: 1; r: 2.4; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 98.57%, 100% { opacity: 0; r: 0.5; } }
@keyframes vW_gl6 { 0%, 83.57% { stroke-dashoffset: 400; opacity: 1; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 86.43% { stroke-dashoffset: 0; opacity: 1; } 95.71% { stroke-dashoffset: 0; opacity: 1; animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 98.57%, 100% { stroke-dashoffset: 0; opacity: 0; } }
@keyframes vW_rg0 { 0% { border-color: var(--hair2); color: var(--body); } 36.79% { border-color: var(--hair2); color: var(--body); animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 38.21% { border-color: var(--green); color: var(--green); } 43.21% { border-color: var(--green); color: var(--green); animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 46.07% { border-color: var(--hair2); color: var(--body); } 100% { border-color: var(--hair2); color: var(--body); } }
@keyframes vW_rg3 { 0% { border-color: var(--hair2); color: var(--body); } 44.64% { border-color: var(--hair2); color: var(--body); animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 46.07% { border-color: var(--green); color: var(--green); } 51.07% { border-color: var(--green); color: var(--green); animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 53.93% { border-color: var(--hair2); color: var(--body); } 100% { border-color: var(--hair2); color: var(--body); } }
@keyframes vW_rg6 { 0% { border-color: var(--hair2); color: var(--body); } 52.50% { border-color: var(--hair2); color: var(--body); animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 53.93% { border-color: var(--green); color: var(--green); } 58.93% { border-color: var(--green); color: var(--green); animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 61.79% { border-color: var(--hair2); color: var(--body); } 100% { border-color: var(--hair2); color: var(--body); } }
@keyframes vW_rg2 { 0% { border-color: var(--hair2); color: var(--body); } 60.36% { border-color: var(--hair2); color: var(--body); animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 61.79% { border-color: var(--green); color: var(--green); } 66.79% { border-color: var(--green); color: var(--green); animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 69.64% { border-color: var(--hair2); color: var(--body); } 100% { border-color: var(--hair2); color: var(--body); } }
@keyframes vW_rg5 { 0% { border-color: var(--hair2); color: var(--body); } 68.21% { border-color: var(--hair2); color: var(--body); animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 69.64% { border-color: var(--green); color: var(--green); } 74.64% { border-color: var(--green); color: var(--green); animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 77.50% { border-color: var(--hair2); color: var(--body); } 100% { border-color: var(--hair2); color: var(--body); } }
@keyframes vW_rg1 { 0% { border-color: var(--hair2); color: var(--body); } 76.07% { border-color: var(--hair2); color: var(--body); animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 77.50% { border-color: var(--green); color: var(--green); } 82.50% { border-color: var(--green); color: var(--green); animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 85.36% { border-color: var(--hair2); color: var(--body); } 100% { border-color: var(--hair2); color: var(--body); } }
@keyframes vW_rg4 { 0% { border-color: var(--hair2); color: var(--body); } 83.93% { border-color: var(--hair2); color: var(--body); animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 85.36% { border-color: var(--green); color: var(--green); } 90.36% { border-color: var(--green); color: var(--green); animation-timing-function: cubic-bezier(0.22,1,0.36,1); } 93.21% { border-color: var(--hair2); color: var(--body); } 100% { border-color: var(--hair2); color: var(--body); } }
@keyframes vW_sp0 { 0%, 44.29% { opacity: 0; } 45.36% { opacity: 1; } 52.86% { opacity: 1; } 55.71%, 100% { opacity: 0; } }
@keyframes vW_sp1 { 0%, 61.43% { opacity: 0; } 62.50% { opacity: 1; } 70.00% { opacity: 1; } 72.86%, 100% { opacity: 0; } }
@keyframes vW_sp2 { 0%, 78.57% { opacity: 0; } 79.64% { opacity: 1; } 87.14% { opacity: 1; } 90.00%, 100% { opacity: 0; } }
@keyframes vW_tw { 0%, 100% { opacity: var(--o); } 50% { opacity: calc(var(--o) * 0.3); } }
@media (prefers-reduced-motion: reduce) {
.vW .bg, .vW .cs, .vW .gs, .vW .cl, .vW .yl, .vW .spark, .vW .role, .vW .you, .vW .tag { animation: none !important; }
.vW .cs, .vW .gs, .vW .role, .vW .you { opacity: 1; }
.vW .cl, .vW .yl { stroke-dashoffset: 0; }
}


/* Site navigation and responsive corrections to the reference export. */
section[id] { scroll-margin-top: 120px; }
html { scroll-behavior: smooth; background: #181818; color-scheme: dark; }
[hidden] { display: none !important; }
a:focus-visible, [role="tabpanel"]:focus-visible { outline: 2px solid var(--green); outline-offset: 4px; }
.foot a:focus-visible { outline-color: var(--foot-ink); }
.site-tabs { border: 1px solid var(--hairline); padding: 2px; }
.island { flex-wrap: wrap; justify-content: center; max-width: 100%; }
.viz-side { min-width: 0; }
@media (max-width: 1000px) {
  .utility-links { justify-content: center; width: 100%; }
}
@media (max-width: 760px) {
  .island > .vbar { display: none; }
  .site-tabs a { font-size: 11px; padding: 6px 10px; }
  .utility-links a { font-size: 10.5px; }
  .steps { grid-template-columns: minmax(0, 1fr); gap: 24px; }
  .footgrid > :first-child { grid-column: 1 / -1; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
