.vs{--vs-ink:var(--color-primary);--vs-muted:var(--color-secondary);--vs-fill:var(--color-neutral);--vs-card:#fff;--vs-rule:var(--color-secondary-20);--vs-edge:var(--color-secondary-65);--vs-edge-lt:var(--color-secondary-40);--vs-ext:var(--color-secondary-55);--vs-own:var(--color-brand);--vs-done:var(--color-success);--vs-event:var(--color-brand);--vs-waiting:var(--color-warning);--vs-alert:var(--color-danger)}.vs .dg{width:100%;min-width:720px;height:auto;display:block}.vs figure:has(.dg){overflow-x:auto}.vs .dg text{font-family:inherit}.vs .dg .zone{font-family:var(--font-mono);letter-spacing:.14em;fill:var(--vs-muted);font-size:10.5px}.vs .dg .zone-own{fill:var(--vs-own)}.vs .dg .title{letter-spacing:.045em;fill:var(--vs-ink);font-size:13px;font-weight:700}.vs .dg .detail{fill:var(--vs-muted);font-size:11.5px}.vs .dg .token{font-family:var(--font-mono);fill:var(--vs-own);font-size:12.5px;font-weight:700}.vs .dg .step{font-family:var(--font-mono);letter-spacing:.06em;fill:var(--vs-own);font-size:11px;font-weight:700}.vs .dg .n{fill:var(--vs-fill);stroke:var(--vs-rule);stroke-width:1px}.vs .dg .n-own{fill:var(--vs-own)}@supports (color:color-mix(in lab, red, red)){.vs .dg .n-own{fill:color-mix(in srgb, var(--vs-own) 7%, transparent)}}.vs .dg .n-own{stroke:var(--vs-own);stroke-width:1.6px}.vs .dg .n-ghost{fill:none;stroke:var(--vs-rule);stroke-width:1px;stroke-dasharray:5 4}.vs .dg .e{fill:none;stroke:var(--vs-edge);stroke-width:1.4px}.vs .dg .e-back{fill:none;stroke:var(--vs-own);stroke-width:1.4px;stroke-dasharray:5 4}.vs .dg .e-ghost{fill:none;stroke:var(--vs-edge-lt);stroke-width:1.3px;stroke-dasharray:5 4}.vs .dg .bar{fill:var(--vs-own);opacity:.28}.vs .dg .bar.on{opacity:.85}.vs .dg .dot-core{stroke:none}.vs .dg .dot-ring{fill:none;stroke-width:4px;opacity:0}.vs .dg .dot-ext .dot-core{fill:var(--vs-ext)}.vs .dg .dot-own .dot-core{fill:var(--vs-own)}.vs .dg .dot-done .dot-core{fill:var(--vs-done)}.vs .dg .dot-waiting .dot-core{fill:var(--vs-waiting)}.vs .dg .dot-event .dot-core{fill:var(--vs-event)}.vs .dg .dot-alert .dot-core{fill:var(--vs-alert)}.vs .dg .dot-event .dot-ring{stroke:var(--vs-event);opacity:.22;animation:2.6s ease-in-out infinite dg-beat}.vs .dg .dot-alert .dot-ring{stroke:var(--vs-alert);opacity:.22;animation:2.6s ease-in-out infinite dg-beat}.vs .dg .dot-waiting .dot-ring{stroke:var(--vs-waiting);opacity:.34;animation:2.6s ease-in-out infinite dg-beat}@keyframes dg-beat{0%,to{r:5.5px;opacity:.22}50%{r:10.5px;opacity:0}}.vs .evlog{--el-bg:var(--vs-card);--el-bar:var(--vs-fill);--el-rule:var(--vs-rule);--el-spine:var(--vs-rule);--el-text:var(--vs-ink);--el-muted:var(--vs-muted);--el-dim:var(--vs-ext);--el-accent:var(--vs-own);--el-accent-soft:var(--vs-own)}@supports (color:color-mix(in lab, red, red)){.vs .evlog{--el-accent-soft:color-mix(in srgb, var(--vs-own) 8.5%, transparent)}}.vs .evlog{--el-accent-line:var(--vs-own)}@supports (color:color-mix(in lab, red, red)){.vs .evlog{--el-accent-line:color-mix(in srgb, var(--vs-own) 34%, transparent)}}.vs .evlog{--el-accent-ring:var(--vs-own)}@supports (color:color-mix(in lab, red, red)){.vs .evlog{--el-accent-ring:color-mix(in srgb, var(--vs-own) 22%, transparent)}}.vs .evlog{--el-signal:var(--vs-alert);--el-signal-ring:var(--vs-alert)}@supports (color:color-mix(in lab, red, red)){.vs .evlog{--el-signal-ring:color-mix(in srgb, var(--vs-alert) 22%, transparent)}}.vs .evlog{--el-waiting:var(--vs-waiting);--el-waiting-ring:var(--vs-waiting)}@supports (color:color-mix(in lab, red, red)){.vs .evlog{--el-waiting-ring:color-mix(in srgb, var(--vs-waiting) 34%, transparent)}}.vs .evlog{--el-ok:var(--vs-done);--el-live:var(--vs-done);--el-live-ring:var(--vs-done)}@supports (color:color-mix(in lab, red, red)){.vs .evlog{--el-live-ring:color-mix(in srgb, var(--vs-done) 18%, transparent)}}.vs .evlog{border:1px solid var(--el-rule);background:var(--el-bg);border-radius:10px;overflow:hidden}.vs .evlog--dark{--el-bg:var(--color-dark-surface);--el-bar:var(--color-dark-bar);--el-rule:var(--color-dark-rule);--el-spine:var(--color-dark-spine);--el-text:var(--color-dark-text);--el-muted:var(--color-dark-muted);--el-dim:var(--color-dark-dim);--el-accent:var(--color-brand-light);--el-accent-soft:var(--color-brand-light)}@supports (color:color-mix(in lab, red, red)){.vs .evlog--dark{--el-accent-soft:color-mix(in srgb, var(--color-brand-light) 17%, transparent)}}.vs .evlog--dark{--el-accent-line:var(--color-brand-light)}@supports (color:color-mix(in lab, red, red)){.vs .evlog--dark{--el-accent-line:color-mix(in srgb, var(--color-brand-light) 44%, transparent)}}.vs .evlog--dark{--el-accent-ring:var(--color-brand-light)}@supports (color:color-mix(in lab, red, red)){.vs .evlog--dark{--el-accent-ring:color-mix(in srgb, var(--color-brand-light) 28%, transparent)}}.vs .evlog--dark{--el-signal:var(--color-dark-danger);--el-signal-ring:var(--color-dark-danger)}@supports (color:color-mix(in lab, red, red)){.vs .evlog--dark{--el-signal-ring:color-mix(in srgb, var(--color-dark-danger) 28%, transparent)}}.vs .evlog--dark{--el-waiting:var(--color-dark-warning);--el-waiting-ring:var(--color-dark-warning)}@supports (color:color-mix(in lab, red, red)){.vs .evlog--dark{--el-waiting-ring:color-mix(in srgb, var(--color-dark-warning) 28%, transparent)}}.vs .evlog--dark{--el-ok:var(--color-dark-success);--el-live:var(--color-dark-success);--el-live-ring:var(--color-dark-success)}@supports (color:color-mix(in lab, red, red)){.vs .evlog--dark{--el-live-ring:color-mix(in srgb, var(--color-dark-success) 20%, transparent)}}.vs .evlog-bar{background:var(--el-bar);border-bottom:1px solid var(--el-rule);font-family:var(--font-mono);letter-spacing:.15em;color:var(--el-muted);align-items:center;gap:10px;padding:11px 15px;font-size:.68rem;display:flex}.vs .evlog-dot{background:var(--el-live);width:7px;height:7px;box-shadow:0 0 0 4px var(--el-live-ring);border-radius:50%;flex:none;animation:2.6s ease-in-out infinite el-pulse}.vs .evlog-meta{color:var(--el-dim);letter-spacing:.12em;white-space:nowrap;margin-left:auto}.vs .evlog-scroll{overflow-x:auto}.vs .evlog-grid{min-width:max-content}.vs .evlog-body{padding:2px 0 3px}.vs .evlog-row{font-family:var(--font-mono);white-space:nowrap;grid-template-columns:80px 22px 124px 208px minmax(190px,1fr);align-items:center;gap:0 20px;padding:7px 16px 7px 15px;font-size:.765rem;line-height:1.85;display:grid}.vs .evlog-head{letter-spacing:.15em;color:var(--el-dim);border-bottom:1px solid var(--el-rule);padding-top:12px;padding-bottom:10px;font-size:.63rem;line-height:1}@supports (grid-template-columns:subgrid){@media (min-width:681px){.vs .evlog-grid{grid-template-columns:max-content 22px max-content max-content minmax(190px,1fr);column-gap:20px;display:grid}.vs .evlog-grid>.evlog-row,.vs .evlog-body,.vs .evlog-body>.evlog-row{grid-column:1/-1;grid-template-columns:subgrid;display:grid}}}.vs .evlog-t{color:var(--el-dim)}.vs .evlog-t .day{opacity:.72;margin-right:.35em}.vs .evlog-e{color:var(--el-text);font-weight:600;font-family:var(--font-sans);letter-spacing:-.005em;font-size:.85rem}.vs .evlog-x{color:var(--el-dim)}.vs .evlog-node{align-self:stretch;position:relative}.vs .evlog-node:before{content:"";background:var(--el-spine);width:1px;position:absolute;top:-7px;bottom:-7px;left:50%;transform:translate(-50%)}.vs .evlog-node:after{content:"";background:var(--el-dim);border-radius:50%;width:7px;height:7px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.vs .evlog-body .evlog-row:first-child .evlog-node:before{top:50%}.vs .evlog-body .evlog-row:last-child .evlog-node:before{bottom:50%}.vs .evlog-row.ev-ext .evlog-node:after{background:var(--el-dim)}.vs .evlog-row.ev-own .evlog-node:after{background:var(--el-accent)}.vs .evlog-row.ev-done .evlog-node:after{background:var(--el-ok)}.vs .evlog-row.ev-event .evlog-node:after,.vs .evlog-row.ev-alert .evlog-node:after,.vs .evlog-row.ev-waiting .evlog-node:after{background:var(--el-node);box-shadow:0 0 0 4px var(--el-node-ring);animation:2.6s ease-in-out infinite el-beat}.vs .evlog-row.ev-event{--el-node:var(--el-accent);--el-node-ring:var(--el-accent-ring)}.vs .evlog-row.ev-alert{--el-node:var(--el-signal);--el-node-ring:var(--el-signal-ring)}.vs .evlog-row.ev-waiting{--el-node:var(--el-waiting);--el-node-ring:var(--el-waiting-ring)}.vs .evlog-chip{font-family:var(--font-mono);color:var(--el-accent);background:var(--el-accent-soft);border:1px solid var(--el-accent-line);white-space:nowrap;border-radius:4px;padding:2px 7px;font-size:.72rem}.vs .evlog-src{color:var(--el-muted);font-family:var(--font-mono);font-size:.72rem}.vs .evlog--stream .evlog-body .evlog-row{opacity:0;animation:.55s cubic-bezier(.2,.7,.3,1) forwards el-rise;transform:translateY(7px)}.vs .evlog--stream .evlog-body .evlog-row:first-child{animation-delay:.15s}.vs .evlog--stream .evlog-body .evlog-row:nth-child(2){animation-delay:.45s}.vs .evlog--stream .evlog-body .evlog-row:nth-child(3){animation-delay:.75s}.vs .evlog--stream .evlog-body .evlog-row:nth-child(4){animation-delay:1.05s}.vs .evlog--stream .evlog-body .evlog-row:nth-child(5){animation-delay:1.35s}.vs .evlog--stream .evlog-body .evlog-row:nth-child(6){animation-delay:1.65s}.vs .evlog--stream .evlog-body .evlog-row:nth-child(7){animation-delay:1.95s}@keyframes el-rise{to{opacity:1;transform:none}}@keyframes el-pulse{0%,to{box-shadow:0 0 0 4px var(--el-live-ring)}50%{box-shadow:0 0 0 9px #0000}}@keyframes el-beat{0%,to{box-shadow:0 0 0 4px var(--el-node-ring)}50%{box-shadow:0 0 0 9px #0000}}@media (max-width:680px){.vs .evlog-scroll{overflow-x:visible}.vs .evlog-grid{min-width:0}.vs .evlog-row.evlog-head{display:none}.vs .evlog-row{white-space:normal;border-bottom:1px solid var(--el-rule);padding:12px 14px 13px 38px;line-height:1.5;display:block;position:relative}.vs .evlog-body .evlog-row:last-child{border-bottom:0}.vs .evlog-node{width:7px;position:absolute;top:0;bottom:0;left:15.5px}.vs .evlog-node:before{top:0;bottom:0}.vs .evlog-body .evlog-row:first-child .evlog-node:before{top:20px}.vs .evlog-body .evlog-row:last-child .evlog-node:before{height:20px;bottom:auto}.vs .evlog-node:after{top:20px}.vs .evlog-t{font-size:.7rem}.vs .evlog-e{margin-top:1px;display:block}.vs .evlog-x{margin-top:4px;font-size:.72rem;display:block}.vs .evlog-chip,.vs .evlog-src{margin-top:6px;display:inline-block}}@media (prefers-reduced-motion:reduce){.vs .evlog--stream .evlog-body .evlog-row{opacity:1;animation:none;transform:none}.vs .evlog-dot{animation:none}.vs .evlog-row.ev-event .evlog-node:after,.vs .evlog-row.ev-alert .evlog-node:after,.vs .evlog-row.ev-waiting .evlog-node:after{box-shadow:0 0 0 4px var(--el-node-ring);animation:none}.vs .dg .dot-event .dot-ring,.vs .dg .dot-alert .dot-ring,.vs .dg .dot-waiting .dot-ring{r:5.5px;animation:none}}.blog-content{color:var(--color-primary);line-height:1.75}.blog-content h1,.blog-content h2,.blog-content h3,.blog-content h4{letter-spacing:-.01em;color:var(--color-primary);margin-top:2rem;margin-bottom:.75rem;font-weight:700;line-height:1.2}.blog-content h1{font-size:1.875rem}.blog-content h2{font-size:1.5rem}.blog-content h3{font-size:1.25rem}.blog-content h4{font-size:1.125rem}.blog-content p{color:var(--color-primary);margin-bottom:1.25rem}.blog-content a{color:var(--color-accent);text-underline-offset:2px;text-decoration:underline}.blog-content a:hover{color:var(--color-accent-hover)}.blog-content ul,.blog-content ol{margin-bottom:1.25rem;padding-left:1.5rem}.blog-content ul{list-style-type:disc}.blog-content ol{list-style-type:decimal}.blog-content li{margin-bottom:.375rem}.blog-content blockquote{border-left:3px solid var(--color-accent);background:var(--color-accent);margin:1.5rem 0;padding:.75rem 1.25rem}@supports (color:color-mix(in lab, red, red)){.blog-content blockquote{background:color-mix(in srgb, var(--color-accent) 5%, transparent)}}.blog-content blockquote{color:var(--color-secondary);border-radius:0 6px 6px 0;font-style:italic}.blog-content blockquote p{margin-bottom:0}.blog-content code{background:var(--color-secondary);font-family:"M PLUS Rounded 1c",monospace;font-size:.85em}@supports (color:color-mix(in lab, red, red)){.blog-content code{background:color-mix(in srgb, var(--color-secondary) 12%, transparent)}}.blog-content code{color:var(--color-primary);border-radius:4px;padding:.15em .4em}.blog-content pre{background:var(--color-primary);border-radius:8px;margin-bottom:1.5rem;padding:1.25rem;overflow-x:auto}.blog-content pre code{color:#e2e8f0;background:0 0;padding:0;font-size:.875rem}.blog-content img{border:1px solid var(--color-secondary);border-radius:8px;max-width:100%;margin:1.5rem 0}@supports (color:color-mix(in lab, red, red)){.blog-content img{border:1px solid color-mix(in srgb, var(--color-secondary) 20%, transparent)}}.blog-content figure{margin:1.5rem 0}.blog-content svg{height:auto}.blog-content figure img{margin:0}.blog-content figcaption{color:var(--color-secondary);margin-top:.625rem;font-size:.875rem;font-style:italic}.blog-content hr{border:none;border-top:1px solid var(--color-secondary)}@supports (color:color-mix(in lab, red, red)){.blog-content hr{border-top:1px solid color-mix(in srgb, var(--color-secondary) 20%, transparent)}}.blog-content hr{margin:2rem 0}.blog-content .callout{border:1px solid var(--color-secondary)}@supports (color:color-mix(in lab, red, red)){.blog-content .callout{border:1px solid color-mix(in srgb, var(--color-secondary) 20%, transparent)}}.blog-content .callout{border-left:3px solid var(--color-secondary);color:var(--color-secondary);background:#fff;border-radius:0 8px 8px 0;margin:1.75rem 0;padding:1.125rem 1.375rem;font-size:.9375rem}.blog-content .callout.accent{border-left-color:var(--color-accent);background:var(--color-accent)}@supports (color:color-mix(in lab, red, red)){.blog-content .callout.accent{background:color-mix(in srgb, var(--color-accent) 3%, transparent)}}.blog-content .callout.accent{color:var(--color-primary)}.blog-content .callout p:last-child{margin-bottom:0}.blog-content table{border-collapse:collapse;width:100%;margin-bottom:1.5rem;font-size:.9rem}.blog-content th,.blog-content td{text-align:left;border:1px solid var(--color-secondary);padding:.625rem .875rem}@supports (color:color-mix(in lab, red, red)){.blog-content th,.blog-content td{border:1px solid color-mix(in srgb, var(--color-secondary) 20%, transparent)}}.blog-content th{background:var(--color-secondary)}@supports (color:color-mix(in lab, red, red)){.blog-content th{background:color-mix(in srgb, var(--color-secondary) 8%, transparent)}}.blog-content th{text-transform:uppercase;letter-spacing:.05em;font-size:.8rem;font-weight:600}.blog-content .evlog{margin:1.5rem 0}.blog-content figure .evlog{margin:0}
