:is(.v2-slm,.v2-qos,.v2-mesh){display:block;width:100%;height:auto;font-family:var(--font-body),ui-sans-serif,system-ui,sans-serif}:is(.v2-slm,.v2-qos,.v2-mesh) .fx{opacity:0;transform:translate(var(--tx,0),var(--ty,0));transition:opacity .25s ease,transform .25s ease}:is(.v2-slm,.v2-qos,.v2-mesh) .fx.on{opacity:1;transform:none;transition:opacity .5s ease var(--d,0s),transform .6s cubic-bezier(.2,.7,.2,1) var(--d,0s)}:is(.v2-slm,.v2-qos,.v2-mesh) .mv{transition:transform .8s cubic-bezier(.4,0,.2,1)}:is(.v2-slm,.v2-qos,.v2-mesh) .bx>rect:first-child{fill:var(--q-surface-2);stroke:var(--q-border-strong);stroke-width:1.2}:is(.v2-slm,.v2-qos,.v2-mesh) .bx.t-accent>rect:first-child{fill:var(--q-accent-soft);stroke:var(--q-accent)}:is(.v2-slm,.v2-qos,.v2-mesh) .bx.t-amber>rect:first-child{fill:var(--q-amber-soft);stroke:var(--q-amber)}:is(.v2-slm,.v2-qos,.v2-mesh) .bx.t-fail>rect:first-child{fill:var(--q-fail-soft);stroke:var(--q-fail)}:is(.v2-slm,.v2-qos,.v2-mesh) .bx.t-ghost>rect:first-child{fill:none;stroke:var(--q-border-strong);stroke-dasharray:4 4}:is(.v2-slm,.v2-qos,.v2-mesh) .bt{font-size:14px;font-weight:500;fill:var(--q-fg);text-anchor:middle}:is(.v2-slm,.v2-qos,.v2-mesh) .bt.b{font-weight:600}:is(.v2-slm,.v2-qos,.v2-mesh) .bt.mono,:is(.v2-slm,.v2-qos,.v2-mesh) .tx.mono{font-family:var(--font-jetbrains-mono),ui-monospace,monospace;font-weight:500}:is(.v2-slm,.v2-qos,.v2-mesh) .hl{fill:none;stroke-width:2;opacity:0;transition:opacity .4s ease var(--d,0s)}:is(.v2-slm,.v2-qos,.v2-mesh) .hl.on{opacity:1}:is(.v2-slm,.v2-qos,.v2-mesh) .h-amber{stroke:var(--q-amber);fill:var(--q-amber-soft)}:is(.v2-slm,.v2-qos,.v2-mesh) .h-accent{stroke:var(--q-accent);fill:var(--q-accent-soft)}:is(.v2-slm,.v2-qos,.v2-mesh) .h-fail{stroke:var(--q-fail);fill:var(--q-fail-soft)}:is(.v2-slm,.v2-qos,.v2-mesh) .cap>rect{fill:var(--q-bg-2);stroke:var(--q-border);stroke-width:1}:is(.v2-slm,.v2-qos,.v2-mesh) .capt{font-size:14px;font-weight:600;fill:var(--q-fg);text-anchor:middle;animation:v2-cap .5s ease both}@keyframes v2-cap{0%{opacity:0}to{opacity:1}}:is(.v2-slm,.v2-qos,.v2-mesh) .tx{font-size:14px;font-weight:500;fill:var(--q-fg-muted)}:is(.v2-slm,.v2-qos,.v2-mesh) .tx.b{font-weight:600}:is(.v2-slm,.v2-qos,.v2-mesh) .x-accent{fill:var(--q-accent)}:is(.v2-slm,.v2-qos,.v2-mesh) .x-amber{fill:var(--q-amber)}:is(.v2-slm,.v2-qos,.v2-mesh) .x-fail{fill:var(--q-fail)}:is(.v2-slm,.v2-qos,.v2-mesh) .eg .ed{fill:none;stroke:var(--q-fg-muted);stroke-width:1.5;stroke-dasharray:1 1;stroke-dashoffset:1;opacity:0;transition:opacity .25s ease,stroke-dashoffset .25s ease}:is(.v2-slm,.v2-qos,.v2-mesh) .eg.on .ed{stroke-dashoffset:0;opacity:1;transition:stroke-dashoffset .6s ease var(--d,0s),opacity .1s linear var(--d,0s)}:is(.v2-slm,.v2-qos,.v2-mesh) .eg.dash .ed{stroke-dasharray:5 4;stroke-dashoffset:0}:is(.v2-slm,.v2-qos,.v2-mesh) .eg .ah{fill:var(--q-fg-muted);opacity:0;transition:opacity .2s ease}:is(.v2-slm,.v2-qos,.v2-mesh) .eg.on .ah{opacity:1;transition:opacity .2s ease calc(var(--d, 0s) + .45s)}:is(.v2-slm,.v2-qos,.v2-mesh) .e-accent .ed{stroke:var(--q-accent)}:is(.v2-slm,.v2-qos,.v2-mesh) .e-accent .ah{fill:var(--q-accent)}:is(.v2-slm,.v2-qos,.v2-mesh) .e-amber .ed{stroke:var(--q-amber)}:is(.v2-slm,.v2-qos,.v2-mesh) .e-amber .ah{fill:var(--q-amber)}:is(.v2-slm,.v2-qos,.v2-mesh) .e-fail .ed{stroke:var(--q-fail)}:is(.v2-slm,.v2-qos,.v2-mesh) .e-fail .ah{fill:var(--q-fail)}:is(.v2-slm,.v2-qos,.v2-mesh) .e-ghost .ed{stroke:var(--q-border-strong)}:is(.v2-slm,.v2-qos,.v2-mesh) .e-ghost .ah{fill:var(--q-border-strong)}:is(.v2-slm,.v2-qos,.v2-mesh) .pk{opacity:0;transform:translate(var(--x0),var(--y0))}:is(.v2-slm,.v2-qos,.v2-mesh) .p-accent{fill:var(--q-accent)}:is(.v2-slm,.v2-qos,.v2-mesh) .p-amber{fill:var(--q-amber)}:is(.v2-slm,.v2-qos,.v2-mesh) .p-fail{fill:var(--q-fail)}:is(.v2-slm,.v2-qos,.v2-mesh) .p-plain{fill:var(--q-fg-muted)}:is(.v2-slm,.v2-qos,.v2-mesh) .pk.on{animation:v2-pk var(--dur,1.1s) cubic-bezier(.4,0,.2,1) var(--d,0s) both}@keyframes v2-pk{0%{opacity:0;transform:translate(var(--x0),var(--y0))}12%{opacity:1}50%{transform:translate(var(--x1),var(--y1))}88%{opacity:1}to{opacity:0;transform:translate(var(--x2),var(--y2))}}:is(.v2-slm,.v2-qos,.v2-mesh) .mk path{fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round}:is(.v2-slm,.v2-qos,.v2-mesh) .mk.x-fail{color:var(--q-fail);fill:none}:is(.v2-slm,.v2-qos,.v2-mesh) .mk.x-amber{color:var(--q-amber);fill:none}:is(.v2-slm,.v2-qos,.v2-mesh) .dot{fill:var(--q-border-strong)}:is(.v2-slm,.v2-qos,.v2-mesh) .dot-on{fill:var(--q-accent);opacity:0;transition:opacity .3s ease}:is(.v2-slm,.v2-qos,.v2-mesh) .dot-on.on{opacity:1}.v2-slm .store{fill:var(--q-surface);stroke:var(--q-border-strong);stroke-width:1.4}.v2-slm .bound{fill:none;stroke:var(--q-accent);stroke-width:1.5;stroke-dasharray:6 5}.v2-slm .bar-t{fill:var(--q-border)}.v2-slm .bar-f{fill:var(--q-accent);transform-box:fill-box;transform-origin:left center;transform:scaleX(var(--k,1));transition:transform 1.4s cubic-bezier(.4,0,.2,1) var(--d,0s)}.v2-slm .bar-f.bad{fill:var(--q-fail)}.v2-qos .ladder-hl{fill:none;stroke:var(--q-accent);stroke-width:2.2;opacity:0}.v2-qos .ladder-hl.on{opacity:1;animation:v2-qos-ladder 3s cubic-bezier(.4,0,.2,1) both}@keyframes v2-qos-ladder{0%,16%{transform:translateY(0)}34%,52%{transform:translateY(var(--st))}70%,to{transform:translateY(calc(var(--st) * 2))}}.v2-mesh .lock{fill:var(--q-amber)}@media (prefers-reduced-motion:reduce){:is(.v2-slm,.v2-qos,.v2-mesh) *,:is(.v2-slm,.v2-qos,.v2-mesh) :before{transition:none!important;animation:none!important}:is(.v2-slm,.v2-qos,.v2-mesh) .pk{display:none}.v2-qos .ladder-hl{transform:translateY(calc(var(--st) * 2))}}.v2{color:var(--q-fg)}.v2,.v2 svg{display:block;width:100%}.v2 svg{height:auto}.v2 text{font-family:var(--font-body),ui-sans-serif,system-ui,sans-serif;font-size:13px;font-weight:400;fill:var(--q-fg)}.v2 .b{font-weight:600}.v2 .m{fill:var(--q-fg-muted)}.v2 .bx.b text{font-weight:600}.v2 .bx{transition:opacity .4s ease}.v2 .bx rect{fill:var(--q-surface);stroke:var(--q-border-strong);stroke-width:1.2;transition:fill .4s ease,stroke .4s ease}.v2 .bx.acc rect,.v2 .bx.ok rect{stroke:var(--q-accent)}.v2 .bx.acc rect{fill:var(--q-accent-soft)}.v2 .bx.amb rect{fill:var(--q-amber-soft);stroke:var(--q-amber)}.v2 .bx.bad rect{fill:var(--q-fail-soft);stroke:var(--q-fail)}.v2 .bx.top rect{fill:var(--q-surface-2)}.v2 .bx.top text{font-weight:600}.v2 .bx.tag rect{fill:transparent;stroke-dasharray:4 3}.v2 .bx.tag text{fill:var(--q-fg-muted)}.v2 .bx.faded{opacity:.4}.v2 .pn{fill:var(--q-surface-2);stroke:var(--q-border);stroke-width:1;transition:stroke .4s ease}.v2 .rv{opacity:0;transform:translateY(6px);transition:opacity .5s ease,transform .55s cubic-bezier(.2,.7,.2,1)}.v2 .rv.on{opacity:1;transform:none}.v2 .dr{fill:none;stroke:var(--q-accent);stroke-width:2;stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset .6s cubic-bezier(.5,0,.2,1)}.v2 .ar.on .dr,.v2 .dr.on{stroke-dashoffset:0}.v2 .hd{fill:var(--q-accent);opacity:0;transition:opacity .25s ease .45s}.v2 .ar.on .hd{opacity:1}.v2 .ar.late .dr{transition-delay:.9s}.v2 .ar.late .hd{transition-delay:1.35s}.v2 .tk{fill:none;stroke:var(--q-accent);stroke-width:2.2;stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset .35s ease}.v2 .tk.on{stroke-dashoffset:0}.v2 .mt{fill:var(--q-border)}.v2 .mf{fill:var(--q-accent);transform-origin:0 0;transition:transform .9s cubic-bezier(.4,0,.2,1) .3s}.v2-prog{display:flex;gap:6px;margin-top:12px}.v2-prog i{flex:1;height:3px;border-radius:2px;background:var(--q-border);transition:background .4s ease}.v2-prog i.done{background:var(--q-border-strong)}.v2-prog i.cur{background:var(--q-accent)}.v2-cap{display:grid;margin-top:10px}.v2-cap p{grid-area:1/1;margin:0;opacity:0;visibility:hidden;transition:opacity .3s ease,visibility 0s linear .3s;font:400 .86rem/1.5 var(--font-body),ui-sans-serif,system-ui,sans-serif;color:var(--q-fg-muted)}.v2-cap p.cur{opacity:1;visibility:visible;transition:opacity .4s ease .15s,visibility 0s}.v2-cap b{display:block;color:var(--q-fg);font-weight:600}.v2-jev .pn.gate.on{stroke:var(--q-accent);stroke-dasharray:6 4}.v2-jev .gl{transition:fill .4s ease}.v2-jev .gl.on{fill:var(--q-accent)}.v2-jev .row rect{fill:var(--q-surface)}.v2-jev .rcpt rect{fill:var(--q-bg-2)}.v2-assert .chart,.v2-assert .p2{opacity:0;transition:opacity .5s ease}.v2-assert .chart.show,.v2-assert .p2.show{opacity:1}.v2-assert .keep{opacity:1;transition:opacity .5s ease}.v2-assert .dimmed{opacity:.3;transition:opacity .5s ease}.v2-assert .band{fill:var(--q-accent-soft);stroke:var(--q-accent);stroke-width:1.2;stroke-dasharray:5 4}.v2-assert .tr{fill:none;stroke-width:3;stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset .9s cubic-bezier(.5,0,.2,1)}.v2-assert .tr.ok{stroke:var(--q-accent)}.v2-assert .tr.amb{stroke:var(--q-amber)}.v2-assert .tr.bad{stroke:var(--q-fail)}.v2-assert .tr.on{stroke-dashoffset:0}.v2-assert .ghost,.v2-assert .nd{opacity:0}.v2-assert .ghost.on,.v2-assert .nd.on{opacity:1}.v2-assert .nd{fill:var(--q-surface);stroke:var(--q-border-strong);stroke-width:2;transition:opacity .4s ease,fill .3s ease .6s,stroke .3s ease .6s}.v2-assert .nd.ok{fill:var(--q-accent);stroke:var(--q-accent)}.v2-assert .nd.amb{fill:var(--q-amber);stroke:var(--q-amber)}.v2-assert .nd.bad{fill:var(--q-fail);stroke:var(--q-fail)}.v2-assert .ghost{transition:opacity .4s ease;fill:none;stroke:var(--q-border-strong);stroke-width:1.5;stroke-dasharray:3 3}.v2-assert .cell{fill:var(--q-surface);stroke:var(--q-border-strong);stroke-width:1.2;opacity:0;transition:opacity .4s ease}.v2-assert .p2.show .cell{opacity:1}.v2-assert .cell.f{fill:var(--q-fail-soft);stroke:var(--q-fail)}.v2-assert .both{fill:none;stroke:var(--q-fail);stroke-width:1.4;stroke-dasharray:4 3}.v2-assay .tape{opacity:0;transition:opacity .4s ease}.v2-assay .tape.show{opacity:1}.v2-assay .cell{fill:var(--q-accent-soft);stroke:var(--q-accent);stroke-width:1;opacity:0;transition:opacity .35s ease}.v2-assay .cell.on{opacity:1}.v2-assay .cell.f{fill:var(--q-fail-soft);stroke:var(--q-fail)}.v2-assay .cnt{opacity:0;transition:opacity .3s ease}.v2-assay .cnt.on{opacity:1}.v2-assay .th{stroke:var(--q-amber);stroke-width:1.5;stroke-dasharray:4 3}.v2-assay .axis{stroke:var(--q-border-strong);stroke-width:1.5}.v2-assay .ci,.v2-assay .mk{transform-origin:0 0;transition:transform .9s cubic-bezier(.4,0,.2,1),opacity .5s ease,fill .4s ease}.v2-assay .ci.ok{fill:var(--q-accent)}.v2-assay .ci.amb{fill:var(--q-amber)}.v2-assay .ci.bad{fill:var(--q-fail)}.v2-assay .mk{fill:var(--q-fg);stroke:var(--q-surface);stroke-width:2}.v2-assay .gain{fill:var(--q-accent)}.v2-sf .file{fill:var(--q-surface-2);stroke:var(--q-border-strong);stroke-width:1.2}.v2-sf .ln{fill:var(--q-border-strong);transition:fill .4s ease}.v2-sf .ln.risk{fill:var(--q-amber)}.v2-sf .scan{fill:var(--q-accent-soft);stroke:var(--q-accent);stroke-width:1;opacity:0;transition:opacity .3s ease}.v2-sf .scan.run{opacity:1;transform:translateY(150px);transition:opacity .3s ease,transform 2.4s linear}.v2-sf .scan.end{opacity:0;transform:translateY(150px)}.v2-sf .dr.ln1,.v2-sf .dr.ln2{stroke:var(--q-amber);stroke-width:1.6}.v2-sf .dr.ln1{transition-delay:.8s}.v2-sf .dr.ln2{transition-delay:1.7s}.v2-sf .dr.stem{stroke:var(--q-border-strong)}@media (prefers-reduced-motion:reduce){.v2,.v2 *{transition:none!important;animation:none!important}}