.sim{--s-bg:#111a2e;--s-deep:#0c1322;--s-rule:#22304a;--s-ink:#eaeff9;--s-ink-2:#9ca8c2;--s-ink-3:#8390ab;--s-accent:#a9c1ff;--s-run:#a9c1ff;--s-ok:#2bb3a3;--s-fail:#f0718a;--s-wait:#ffc27a;--s-comp:#9ebcfd;--s-off:#6b7380;background:var(--s-bg);color:var(--s-ink);border:1px solid var(--s-rule);font:14px/1.55 var(--sl-font,"Sora Variable", system-ui, sans-serif);border-radius:20px;overflow:hidden}.sim .head{border-bottom:1px solid var(--s-rule);min-height:58px;font:13px var(--sl-font-mono,monospace);box-sizing:border-box;flex-wrap:wrap;align-items:center;gap:10px 12px;padding:10px 22px;display:flex}.sim .wf{font-weight:500}.sim .runid{color:var(--s-ink-3)}.st-pending,.st-skipped{--c:var(--s-off)}.st-running{--c:var(--s-run)}.st-waiting{--c:var(--s-wait)}.st-completed{--c:var(--s-ok)}.st-failed{--c:var(--s-fail)}.st-compensating,.st-compensated{--c:var(--s-comp)}.sim .pill{font:13px var(--sl-font,sans-serif);background:color-mix(in srgb, var(--c) 16%, transparent);color:color-mix(in srgb, var(--c) 60%, var(--s-ink));border-radius:999px;align-items:center;gap:8px;padding:4px 12px;display:inline-flex}.sim .pill .st{background:var(--c);border-radius:50%;width:8px;height:8px}.sim .pill.st-pending .st{border:1.5px dashed var(--c);box-sizing:border-box;background:0 0}.sim .pill.st-waiting .st{border:2px solid var(--c);box-sizing:border-box;background:0 0}.sim .pill.st-failed .st{border-radius:1px;transform:rotate(45deg)scale(.85)}.sim .controls{font-family:var(--sl-font,sans-serif);flex-wrap:wrap;align-items:center;gap:8px 16px;margin-left:auto;display:flex}.sim .actions{flex-wrap:wrap;gap:8px;display:flex}.sim .act{cursor:pointer;height:36px;font:500 13.5px var(--sl-font,sans-serif);color:var(--s-ink);border:1px solid var(--s-rule);background:0 0;border-radius:999px;padding:0 16px;transition:border-color .2s}.sim .act:hover{border-color:var(--s-ink-3)}.sim .act.primary{background:var(--s-accent);border-color:var(--s-accent);color:#0c172e;font-weight:600}.sim .act:focus-visible,.sim .toggle input:focus-visible{outline:2px solid var(--s-accent);outline-offset:2px}.sim .toggle{color:var(--s-ink-2);cursor:pointer;align-items:center;gap:8px;font-size:13.5px;display:inline-flex}.sim .toggle input{accent-color:var(--s-fail);margin:0}.sim .graph-wrap{scroll-behavior:smooth;scrollbar-width:thin;scrollbar-color:var(--s-rule) transparent;background:radial-gradient(circle at 1px 1px, #ffffff0d 1px, transparent 0) 0 0 / 22px 22px, var(--s-deep);border-bottom:1px solid var(--s-rule);padding:18px 16px;overflow-x:auto}.sim .graph{width:100%;max-width:calc(var(--w) * 1.3);min-width:calc(var(--w) * .8);height:auto;margin:0 auto;display:block;overflow:visible}.sim .ge .rail{fill:none;stroke:#ffffff1a;stroke-width:1.5px}.sim .ge .ink{fill:none;stroke-width:2.4px;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1px;transition:stroke-dashoffset .55s cubic-bezier(.4,0,.2,1)}.sim .ge.drawn .ink{stroke-dashoffset:0}.sim .ge.dim .rail{stroke-dasharray:3 4;opacity:.5}.sim .ge.comp .rail{stroke-dasharray:3 4}.sim .ge.comp .ink{stroke:var(--s-comp);stroke-dasharray:1}.sim .elabel rect{fill:var(--s-deep);stroke:#ffffff1f}.sim .elabel text{font:11.5px var(--sl-font-mono,monospace);fill:var(--s-ink-2)}.sim .ge.drawn .elabel rect{stroke:color-mix(in srgb, var(--s-accent) 50%, transparent)}.sim .ge.drawn .elabel text{fill:var(--s-ink)}.sim .ge.dim .elabel{opacity:.45}.sim .gn .shape{fill:#141f36;stroke:color-mix(in srgb, var(--c) 55%, transparent);stroke-width:1.5px;transition:stroke .3s,fill .3s}.sim .gn .dot{fill:var(--c);transition:fill .3s}.sim .gn .label{font:12.5px var(--sl-font-mono,monospace);fill:var(--s-ink);transition:fill .3s}.sim .gn .label.small{fill:var(--s-ink-2);font-size:11.5px}.sim .gn .meta{font:11px var(--sl-font,sans-serif);fill:var(--s-ink-3)}.sim .gn.st-pending .label,.sim .gn.st-skipped .label{fill:var(--s-ink-3)}.sim .gn.st-pending .dot{fill:none;stroke:var(--c);stroke-width:1.5px;stroke-dasharray:2 2}.sim .gn.st-skipped{opacity:.45}.sim .gn.st-skipped .label{text-decoration:line-through}.sim .gn.st-running .shape,.sim .gn.st-compensating .shape{fill:color-mix(in srgb, var(--c) 14%, #141f36);stroke:var(--c)}.sim .gn.st-running .dot,.sim .gn.st-compensating .dot{transform-box:fill-box;transform-origin:50%;animation:1.1s ease-in-out infinite sim-beat}.sim .gn.st-waiting .shape{fill:color-mix(in srgb, var(--c) 10%, #141f36);stroke:var(--c);stroke-dasharray:5 4;animation:1s linear infinite sim-march}.sim .gn.st-waiting .dot{fill:none;stroke:var(--c);stroke-width:2px}.sim .gn.st-completed .shape{stroke:color-mix(in srgb, var(--c) 70%, transparent)}.sim .gn.st-failed .shape{fill:color-mix(in srgb, var(--c) 14%, #141f36);stroke:var(--c)}.sim .gn.st-failed .meta{fill:var(--s-fail)}.sim .gn.comp.st-pending{opacity:.4}.sim .gn.comp.st-pending .shape{stroke-dasharray:4 4}.sim .gn.comp.st-compensated .shape{fill:color-mix(in srgb, var(--c) 12%, #141f36)}.sim .gn.start .shape,.sim .gn.end .shape{stroke-width:2px}.sim .gn.start.st-completed .shape{fill:var(--s-ok)}.sim .gn.end.st-completed .shape{fill:var(--s-wait);stroke:var(--s-wait);filter:drop-shadow(0 0 10px #ffc27a99)}.sim .gn.end.st-compensated .shape{fill:var(--s-comp)}.sim .gn.end.st-failed .shape{fill:var(--s-fail)}.sim .gn.gate.st-completed .shape{fill:color-mix(in srgb, var(--s-accent) 22%, #141f36);stroke:var(--s-accent)}@keyframes sim-beat{50%{opacity:.6;transform:scale(1.5)}}@keyframes sim-march{to{stroke-dashoffset:-18px}}.sim .foot{flex-wrap:wrap;display:flex}.sim .code{border-right:1px solid var(--s-rule);background:var(--s-deep);flex:1.5 440px;min-width:0}.sim .file{font:12px var(--sl-font-mono,monospace);color:var(--s-ink-3);padding:12px 22px 0}.sim .code pre.astro-code{font:12.5px/1.7 var(--sl-font-mono,monospace);scrollbar-width:thin;scrollbar-color:var(--s-rule) transparent;border:0;margin:0;padding:10px 0 16px;overflow-x:auto;background:0 0!important}.sim .code .line{box-sizing:border-box;min-width:100%;padding:0 22px;transition:background-color .2s;display:inline-block}.sim .code .line.on{box-shadow:inset 3px 0 var(--c)}.sim .code .line.on.st-running,.sim .code .line.on.st-waiting,.sim .code .line.on.st-compensating{background:color-mix(in srgb, var(--c) 10%, transparent)}.sim .log{min-width:0;max-height:460px;color:var(--s-ink-2);scrollbar-width:thin;scrollbar-color:var(--s-rule) transparent;flex:280px;margin:0;padding:14px 22px;font-size:13px;list-style:none;overflow-y:auto}.sim .log li{grid-template-columns:48px 1fr;gap:8px;margin:0;padding:2px 0;display:grid}.sim .log li:last-child{color:var(--s-ink)}.sim .log .at{font:11.5px var(--sl-font-mono,monospace);color:var(--s-ink-3);padding-top:2px}.sim .log code{font:12px var(--sl-font-mono,monospace);color:var(--s-ink);background:0 0;padding:0}@media (width<=640px){.sim .head,.sim .log{padding-left:14px;padding-right:14px}.sim .controls{width:100%;min-height:36px;margin-left:0}.sim .code{border-right:0;border-bottom:1px solid var(--s-rule);max-height:320px;overflow:auto}}@media (prefers-reduced-motion:reduce){.sim *{transition:none!important;animation:none!important}.sim .graph-wrap{scroll-behavior:auto}}:root{--sl-content-width:62rem}
