.va-box{aspect-ratio:1.06;background:var(--color-bg);border-radius:10px;position:relative;overflow:hidden}.va-box.va-fill{aspect-ratio:auto;height:100%}.va-box>svg.vm{width:100%;height:100%;display:block;position:absolute;inset:0}.vm path{vector-effect:non-scaling-stroke;stroke-linejoin:round}.vm .vm-st path{fill:color-mix(in srgb, var(--color-fg) 7%, var(--color-surface-2));stroke:var(--color-bg);stroke-width:1px}.vm.v-state .vm-st path.is-d2{fill:var(--color-orange);cursor:zoom-in}.vm.v-d2 .vm-st path.is-d2{fill:color-mix(in srgb, var(--color-orange) 8%, var(--color-surface-2))}.vm .vm-ctx path{fill:color-mix(in srgb, var(--color-fg) 6%, var(--color-surface-2));stroke:var(--color-bg);stroke-width:.6px}.vm.v-state .vm-ctx,.vm.v-state .vm-pc,.vm.v-state .vm-lab{opacity:0;pointer-events:none}.vm .vm-pc path{stroke:var(--color-bg);stroke-width:.35px}.vm .vm-pc .p0{fill:color-mix(in srgb, var(--color-orange) 30%, var(--color-surface-2))}.vm .vm-pc .p1{fill:color-mix(in srgb, var(--color-orange) 45%, var(--color-surface-2))}.vm .vm-pc .p2{fill:color-mix(in srgb, var(--color-orange) 62%, var(--color-surface-2))}.vm .vm-pc .p3{fill:color-mix(in srgb, var(--color-orange) 78%, var(--color-surface-2))}.vm .vm-pc .px{fill:color-mix(in srgb, var(--color-fg) 6%, var(--color-surface-2));stroke-dasharray:2 2}.vm .vm-pc .p4{fill:color-mix(in srgb, var(--color-orange) 95%, var(--color-surface-2))}.vm.v-d2 .vm-pc path:hover{stroke:var(--color-fg);stroke-width:1.4px}.vm.vm-top .vm-pc path:not(.h){opacity:.18}.vm.vm-top .vm-pc path.h{stroke:color-mix(in srgb, var(--color-fg) 60%, transparent);stroke-width:.6px}.vm .vm-d2{fill:none;stroke:var(--color-orange);stroke-width:1.4px;pointer-events:none}.vm.v-state .vm-d2{stroke:var(--color-bg);stroke-width:.8px}.vm .vm-lab{pointer-events:none}.vm .vm-lab text{fill:var(--color-fg);font-family:var(--font-sans);paint-order:stroke;stroke:var(--color-bg);stroke-linejoin:round;font-weight:600}.vm .vm-call text{fill:var(--color-fg);font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase}.vm.v-d2 .vm-call{opacity:0;pointer-events:none}.vm.v-state .vm-call{cursor:zoom-in}@media (prefers-reduced-motion:no-preference){.vm .vm-st path{transition:fill .5s,opacity .5s}.vm .vm-ctx,.vm .vm-lab,.vm .vm-call{transition:opacity .5s}.vm .vm-pc{transition:opacity .6s}.vm .vm-pc path{transition:opacity .35s,stroke .2s}}.va-loc{z-index:2;border:1px solid var(--color-stroke);background:color-mix(in srgb, var(--color-surface) 90%, transparent);cursor:zoom-out;border-radius:8px;width:30%;max-width:120px;padding:5px 6px;position:absolute;top:8px;left:8px}.va-loc svg{width:100%;height:auto;display:block}.va-loc path{fill:color-mix(in srgb, var(--color-fg) 22%, var(--color-surface-2));stroke:var(--color-surface);stroke-width:4px}.va-loc path.is-d2{fill:var(--color-orange)}.va-loc span{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--color-muted);text-align:center;margin-top:3px;font-size:9px;display:block}.va-loc:hover span,.va-loc:focus-visible span{color:var(--color-orange-lift)}.va-back{z-index:2;font-family:var(--font-mono);font-size:var(--text-mono-xs);letter-spacing:.08em;text-transform:uppercase;color:#fff;background:var(--color-orange-ink);cursor:zoom-in;border-radius:999px;padding:6px 12px;position:absolute;top:8px;left:8px}.va-loc[hidden],.va-back[hidden],.va-tip[hidden]{display:none}.va-loc:focus-visible,.va-back:focus-visible,.va-show:focus-visible{outline:2px solid var(--color-orange);outline-offset:2px}.va-tip{z-index:3;pointer-events:none;background:var(--color-surface);min-width:150px;max-width:220px;box-shadow:inset 0 0 0 1px var(--color-stroke-strong), 0 12px 32px -8px #000c;font-size:var(--text-caption);border-radius:10px;flex-direction:column;gap:1px;padding:8px 10px;line-height:1.35;display:flex;position:absolute}.va-tip b{color:var(--color-fg);font-weight:600}.va-tip span{color:var(--color-muted)}.va-tip .n{color:var(--color-fg);font-variant-numeric:tabular-nums;margin-top:3px}.va-tip .r{font-family:var(--font-mono);font-size:var(--text-mono-xs);letter-spacing:.06em;color:var(--color-orange-lift)}.va-show{min-height:32px;color:var(--color-orange-lift);font-family:var(--font-mono);font-size:var(--text-mono-xs);letter-spacing:.08em;text-transform:uppercase;cursor:pointer;background:#f1592a1f;border:1px solid #f1592a66;border-radius:999px;align-self:flex-start;margin-top:6px;padding:3px 11px}.va-show[aria-pressed=true]{background:var(--color-orange-ink);border-color:var(--color-orange-ink);color:#fff}.op-grid{font-family:var(--font-mono);font-size:var(--text-mono-xs);color:var(--color-muted);grid-template-columns:3.6rem repeat(4,minmax(0,1fr));align-items:center;gap:5px;display:grid}.op-grid i{background:#ffffff0f;border-radius:3px;height:12px;display:block}.op-grid i.on{background:linear-gradient(90deg,#c2410c,#f1592a)}.bld-k li{opacity:.55;transition:opacity .3s,box-shadow .3s,background .3s}.bld[data-st=idle] .bld-k li,.bld-k li.ok{opacity:1}.bld-k li.ok{background:#f1592a14;box-shadow:inset 0 0 0 1px #f1592a4d}.bk-ok{border:1.5px solid var(--color-stroke-strong);border-radius:50%;width:18px;height:18px;transition:background .25s,border-color .25s;position:relative}.bld-k li.ok .bk-ok{background:var(--color-orange-ink);border-color:var(--color-orange-ink)}.bld-k li.ok .bk-ok:after{content:"";border:2px solid #fff;border-width:0 2px 2px 0;width:5px;height:9px;position:absolute;top:2px;left:5px;transform:rotate(45deg)}.bc-orb{border-radius:50%;justify-content:center;align-items:center;width:150px;height:150px;display:flex;position:relative}.bc-ring{border:2px solid #f1592a47;border-radius:50%;position:absolute;inset:0}.bld[data-st=ready] .bc-ring{border-color:var(--color-orange);box-shadow:0 0 28px #f1592a59}@media (prefers-reduced-motion:no-preference){.bld[data-st=reading] .bc-ring,.bld[data-st=forming] .bc-ring{border-top-color:var(--color-orange);animation:1s linear infinite bc-spin}.bo-in{animation:bo-in .4s var(--ease-out-quad) both}}@keyframes bc-spin{to{transform:rotate(360deg)}}@keyframes bo-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.bld-tab{border:1px solid var(--color-stroke-strong);background:var(--color-surface);min-height:36px;color:var(--color-light);font-size:var(--text-caption);cursor:pointer;border-radius:999px;padding:6px 13px 6px 24px;font-weight:600;position:relative}.bld-tab:before{content:"";background:var(--color-stroke-strong);border-radius:50%;width:6px;height:6px;margin-top:-3px;transition:background .25s;position:absolute;top:50%;left:11px}.bld-tab.ready:before{background:var(--color-ok)}.bld-tab[aria-selected=true]{color:#fff;background:var(--color-orange-ink);border-color:var(--color-orange-ink)}.bld-tab[aria-selected=true]:before{background:#fff}.bld-tab:focus-visible{outline:2px solid var(--color-orange);outline-offset:2px}.bld-chan{font-family:var(--font-mono);font-size:var(--text-mono-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--color-light);background:#ffffff0d;border-radius:999px;padding:4px 12px;transition:box-shadow .3s,color .3s,background .3s,opacity .3s;box-shadow:inset 0 0 0 1px #ffffff1a}.bld-chan:not(.ready){opacity:.55}.bld-chan.on{color:var(--color-orange-lift);box-shadow:inset 0 0 0 1px var(--color-orange);background:#f1592a1f}.bo-wait{justify-content:center;gap:6px;display:flex}.bo-wait span{background:var(--color-stroke-strong);border-radius:50%;width:8px;height:8px}@media (prefers-reduced-motion:no-preference){.bo-wait span{animation:1s ease-in-out infinite bo-dot}.bo-wait span:nth-child(2){animation-delay:.15s}.bo-wait span:nth-child(3){animation-delay:.3s}}@keyframes bo-dot{50%{background:var(--color-orange)}}.tok{color:var(--color-orange-lift);background:#f1592a24;border-radius:4px;padding:0 4px;font-weight:600}.cad{grid-template-columns:3.4rem repeat(4,minmax(0,1fr));align-items:center;gap:5px 4px;display:grid}.cad-b{grid-column:calc(var(--c) + 1) / span var(--s);white-space:nowrap;text-overflow:ellipsis;color:var(--color-fg);background:#f1592a29;border-radius:4px;padding:3px 6px;font-size:11px;overflow:hidden;box-shadow:inset 0 0 0 1px #f1592a52}.lp-ring{aspect-ratio:1;width:min(100%,360px);margin:36px auto;position:relative}.lp-track{width:100%;height:100%;position:absolute;inset:0;overflow:visible}.lp-track circle{fill:none;stroke:var(--color-stroke-strong);stroke-width:1.5px}.lp-track .lp-prog{stroke:var(--color-orange);stroke-width:2px;stroke-linecap:round;transform-origin:200px 200px;transform:rotate(-90deg)}@media (prefers-reduced-motion:no-preference){.lp-track .lp-prog{transition:stroke-dasharray .7s cubic-bezier(.4,0,.2,1)}}.lp-core{text-align:center;flex-direction:column;align-items:center;gap:8px;width:46%;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.lp-node{--r:37.5%;left:calc(50% + var(--r) * var(--cx));top:calc(50% + var(--r) * var(--cy));position:absolute}.lp-node:first-child{--cx:0;--cy:-1}.lp-node:nth-child(2){--cx:.866;--cy:-.5}.lp-node:nth-child(3){--cx:.866;--cy:.5}.lp-node:nth-child(4){--cx:0;--cy:1}.lp-node:nth-child(5){--cx:-.866;--cy:.5}.lp-node:nth-child(6){--cx:-.866;--cy:-.5}.lp-node button{cursor:pointer;justify-content:center;align-items:center;width:44px;height:44px;display:flex;position:absolute;top:0;left:0;transform:translate(-50%,-50%)}.lp-n{width:34px;height:34px;font-family:var(--font-mono);font-size:var(--text-mono-xs);color:var(--color-fg);background:var(--color-bg);box-shadow:inset 0 0 0 1px var(--color-stroke-strong);border-radius:50%;justify-content:center;align-items:center;transition:background .3s,color .3s;display:inline-flex}.lp-node b{white-space:nowrap;font-size:var(--text-caption);color:var(--color-muted);font-weight:600;transition:color .3s;position:absolute;left:50%;transform:translate(-50%)}.lp-node.t b{bottom:calc(100% - 2px)}.lp-node:not(.t) b{top:calc(100% - 2px)}.lp-node button[aria-selected=true] .lp-n{background:var(--color-orange-ink);color:#fff;box-shadow:none}.lp-node button[aria-selected=true] b{color:var(--color-fg)}.lp-node button:focus-visible{outline:none}.lp-node button:focus-visible .lp-n{outline:2px solid var(--color-orange);outline-offset:3px}.lp-detail{border-left:2px solid var(--color-orange);flex-direction:column;justify-content:center;gap:8px;min-height:150px;padding:8px 0 8px 24px;display:flex}.lp-still{display:none}@media (prefers-reduced-motion:reduce){.lp-moving{display:none}.lp-still{display:grid}}
