@property --fx{syntax:"<length>";inherits:false;initial-value:0}@property --fy{syntax:"<length>";inherits:false;initial-value:0}.bx{--bx-top:60px;--k-llm:var(--text-soft);--k-code:var(--text-soft);--k-guard:var(--text-soft);--k-human:var(--text-soft);--k-tool:var(--text-soft);--k-data:var(--text-faint);--ok:var(--pattern);--bad:var(--danger)}.bx [hidden]{display:none!important}.k-llm{--kc:var(--k-llm)}.k-code{--kc:var(--k-code)}.k-guard{--kc:var(--k-guard)}.k-human{--kc:var(--k-human)}.k-tool{--kc:var(--k-tool)}.k-data{--kc:var(--k-data)}.k-input,.k-output{--kc:var(--text)}.bx-top{top:var(--bx-top);z-index:6;border-bottom:1px solid var(--border);background:var(--surface-2);scrollbar-width:none;align-items:center;gap:1rem;height:3rem;padding:0 clamp(.75rem,2vw,1.25rem);display:flex;position:sticky;overflow-x:auto}.bx-back{font:500 .82rem var(--font-ui);color:var(--text-soft);white-space:nowrap;text-decoration:none}.bx-back:hover{color:var(--text)}.bx-name{font:600 .9rem var(--font-ui);white-space:nowrap}.phases{gap:.25rem;margin:0 0 0 auto;padding:0;list-style:none;display:flex}.phases button{color:var(--text-faint);font:500 .8rem var(--font-ui);cursor:pointer;white-space:nowrap;background:0 0;border:0;border-radius:999px;align-items:center;gap:.45rem;padding:.3rem .65rem .3rem .35rem;display:inline-flex}.phases button:disabled{cursor:default;opacity:.5}.phases button:not(:disabled):hover{color:var(--text);background:var(--bg-soft)}.ph-n{border:1px solid var(--border-strong);width:1.35rem;height:1.35rem;font:600 .68rem var(--font-mono);border-radius:50%;place-items:center;display:grid}.phases [data-done=true] .ph-n{background:var(--kind);border-color:var(--kind);color:var(--surface)}.phases [aria-current=step]{color:var(--text);background:var(--kind-soft)}.phases [aria-current=step] .ph-n{border-color:var(--kind);color:var(--kind);box-shadow:0 0 0 3px color-mix(in oklab, var(--kind) 18%, transparent)}.bx-stage{grid-template-columns:minmax(21rem,29rem) minmax(0,1fr);align-items:start;display:grid}.bx-panel{min-width:0;min-height:calc(100dvh - var(--bx-top) - 3rem);border-right:1px solid var(--border);background:var(--bg);padding:1.6rem clamp(1rem,2.2vw,1.75rem) 3rem}.bx-panel h1{letter-spacing:-.03em;margin:.4rem 0 .6rem;font-size:clamp(1.6rem,2.6vw,2.1rem);line-height:1.12}.bx-panel h2{letter-spacing:-.02em}.bx-panel h3{margin:2rem 0 .75rem;font-size:1rem}.pitch{font:500 1.02rem/1.5 var(--font-ui);color:var(--text);margin:0}.brief{font:400 1rem/1.65 var(--font-body);color:var(--text-soft);margin:.9rem 0 0}.faces-h{margin:1.75rem 0 .2rem;font-size:1rem}.small{font-size:.85rem}.faces{gap:.35rem;margin:.75rem 0 1.5rem;padding:0;list-style:none;display:grid}.faces li{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);align-items:baseline;gap:.75rem;padding:.55rem .7rem;display:flex}.faces b{font:600 .86rem var(--font-ui);display:block}.faces q{font:400 .86rem/1.45 var(--font-ui);color:var(--text-soft);quotes:"“" "”";margin-top:.1rem;display:block}.tr-n{font:500 .7rem var(--font-mono);color:var(--text-faint)}.kbd-hint{font:500 .72rem/1.5 var(--font-mono);color:var(--text-faint);margin:.9rem 0 0}.cta{background:var(--text);color:var(--bg);font:600 .95rem var(--font-ui);cursor:pointer;box-shadow:var(--shadow-md);transition:transform .2s var(--ease), box-shadow .2s;border:0;border-radius:11px;align-items:center;gap:.6rem;padding:.75rem 1.15rem;display:inline-flex}.cta:hover{box-shadow:var(--shadow-lg);transform:translateY(-1px)}.cta:focus-visible,.opt:focus-visible,.tl:focus-visible,.tr:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.ghost-btn{border:1px solid var(--border);background:var(--surface);color:var(--text-soft);font:500 .88rem var(--font-ui);cursor:pointer;border-radius:10px;padding:.6rem 1rem}.ghost-btn:hover{color:var(--text);border-color:var(--border-strong)}.row{flex-wrap:wrap;align-items:center;gap:.6rem;margin-top:1.25rem;display:flex}.row.links{font:500 .9rem var(--font-ui);flex-direction:column;align-items:flex-start;gap:.35rem}.row.links a{color:var(--kind);text-decoration:none}.row.links a:hover{text-decoration:underline}.bx-card{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-md);padding:1.15rem 1.2rem 1.2rem}.enter{animation:bx-enter .38s var(--ease)}@keyframes bx-enter{0%{opacity:0;transform:translateY(8px)}}.timeline{--n:5;grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;gap:.25rem;margin:0 0 1.1rem;padding:0;list-style:none;display:grid;position:relative}.timeline:before{content:"";background:var(--border-strong);height:1px;position:absolute;top:.85rem;left:.85rem;right:.85rem}.tl{width:100%;color:var(--text-faint);text-align:left;cursor:pointer;background:0 0;border:0;flex-direction:column;align-items:flex-start;gap:.35rem;padding:0;display:flex;position:relative}.tl-n{border:1px solid var(--border-strong);background:var(--bg);width:1.7rem;height:1.7rem;font:600 .72rem var(--font-mono);border-radius:50%;place-items:center;transition:all .2s;display:grid}.tl-t{width:100%;min-width:0;padding-right:.25rem;display:grid}.tl-t b{font:600 .72rem var(--font-ui);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.tl-t small{font:400 .68rem var(--font-ui);color:var(--text-soft);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.tl[data-state=done]{color:var(--text)}.tl[data-state=done] .tl-n{background:var(--kind);border-color:var(--kind);color:var(--surface)}.tl[data-state=current]{color:var(--text)}.tl[data-state=current] .tl-n{border-color:var(--kind);color:var(--kind);background:var(--surface);box-shadow:0 0 0 4px color-mix(in oklab, var(--kind) 20%, transparent)}.tl:hover .tl-n{border-color:var(--kind)}.decision h2{margin:.45rem 0 .4rem;font-size:1.3rem;line-height:1.25}.ctx{font:400 .95rem/1.55 var(--font-body);color:var(--text-soft);margin:0 0 1rem}.opts{gap:.5rem;display:grid}.opt{border:1px solid var(--border);background:var(--surface);width:100%;color:var(--text);text-align:left;cursor:pointer;transition:border-color .15s, background .15s, opacity .2s, transform .2s var(--ease);border-radius:12px;grid-template-columns:auto 1fr;align-items:baseline;gap:.15rem .7rem;padding:.75rem .85rem;display:grid}.opt kbd{text-align:center;grid-row:span 2;align-self:start;min-width:1.4rem;margin-top:.05rem}.opt-t{font:600 .95rem/1.3 var(--font-ui)}.opt-d{font:400 .85rem/1.45 var(--font-ui);color:var(--text-soft)}.opts:hover .opt:not(:hover):not(.chosen),.opts:has(.opt:focus-visible) .opt:not(:focus-visible):not(.chosen){opacity:.5}.opt:hover,.opt.peek{border-color:var(--kind);background:var(--kind-soft);transform:translate(3px)}.opt[aria-checked=true]{border-color:var(--kind);box-shadow:inset 3px 0 0 var(--kind)}.opt.chosen{border-color:var(--kind);background:var(--kind-soft);animation:bx-chosen .5s var(--ease)}.opt:disabled{cursor:default}.opt:disabled:not(.chosen){opacity:.35}@keyframes bx-chosen{40%{box-shadow:0 0 0 6px color-mix(in oklab, var(--kind) 18%, transparent);transform:scale(1.015)}}.ready h2{margin:.4rem 0 .3rem}.ready .cta{margin-top:.75rem}.test-rows{gap:.15rem;margin:.6rem 0 1rem;padding:0;list-style:none;display:grid}.tr{width:100%;color:var(--text-soft);font:500 .86rem var(--font-ui);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:8px;grid-template-columns:auto auto 1fr auto;align-items:center;gap:.6rem;padding:.4rem .55rem;display:grid}.tr:hover{background:var(--bg-soft)}.tr-dot{background:var(--border-strong);border-radius:50%;width:.6rem;height:.6rem}.tr[data-state=running]{color:var(--text);background:var(--kind-soft)}.tr[data-state=running] .tr-dot{background:var(--kind);animation:1s infinite bx-pulse}.tr[data-state=pass]{color:var(--text)}.tr[data-state=pass] .tr-dot,[data-pass=true] .tr-dot{background:var(--ok)}.tr[data-state=fail] .tr-dot,[data-pass=false] .tr-dot{background:var(--bad)}.tr-s{font:600 .68rem var(--font-mono);text-transform:uppercase;letter-spacing:.05em}.tr[data-state=pass] .tr-s{color:var(--ok)}.tr[data-state=fail] .tr-s{color:var(--bad)}@keyframes bx-pulse{50%{box-shadow:0 0 0 5px color-mix(in oklab, var(--kind) 22%, transparent)}}.test-card .eyebrow{margin-bottom:.7rem}.app{border:1px solid var(--border);background:var(--bg-soft);border-radius:12px;overflow:hidden}.app-bar{border-bottom:1px solid var(--border);background:var(--surface-2);font:600 .8rem var(--font-ui);align-items:center;gap:.5rem;padding:.5rem .75rem;display:flex}.app-dot{background:var(--ok);border-radius:50%;width:.55rem;height:.55rem}.app-body{flex-direction:column;gap:.5rem;min-height:7rem;padding:.85rem .75rem;display:flex}.skin-chat .app-body{background:color-mix(in oklab, #e7dfd4 30%, var(--bg))}.bubble{max-width:88%;font:400 .9rem/1.45 var(--font-ui);box-shadow:var(--shadow-sm);animation:bx-enter .3s var(--ease);border-radius:12px;padding:.5rem .75rem}.bubble.in{background:color-mix(in oklab, var(--primary) 16%, var(--surface));border-bottom-right-radius:4px;align-self:flex-end}.bubble.out{background:var(--surface);border:1px solid var(--border);border-bottom-left-radius:4px;align-self:flex-start}.bubble.out.bad{border-color:color-mix(in oklab, var(--bad) 55%, var(--border))}.bubble.out.ok{border-color:color-mix(in oklab, var(--ok) 55%, var(--border))}.skin-doc .app-body{background:var(--surface)}.skin-doc .bubble{max-width:100%;box-shadow:none;font-family:var(--font-mono);border-radius:6px;font-size:.8rem}.skin-doc .bubble.in{background:var(--bg-soft);border:1px dashed var(--border-strong);align-self:stretch}.skin-doc .bubble.out{align-self:stretch}.skin-terminal .app-body{background:var(--term-bg)}.skin-terminal .bubble{max-width:100%;box-shadow:none;font:400 .8rem/1.5 var(--font-mono);color:#d8dbe0;background:#15181d;border:1px solid #262a31;border-radius:6px;align-self:stretch}.skin-terminal .bubble.in{color:#7fe3a8;background:0 0;border-color:#0000}.skin-terminal .bubble.in:before{content:"$ "}.expect{color:var(--text-soft);margin:.75rem 0 0;font-size:.86rem}.expect b{font:600 .68rem var(--font-mono);text-transform:uppercase;letter-spacing:.06em;color:var(--text-faint);margin-right:.35rem}.verdict{animation:bx-enter .3s var(--ease);border-left:3px solid;border-radius:10px;margin-top:.85rem;padding:.7rem .85rem}.verdict.ok{border-color:var(--ok);background:color-mix(in oklab, var(--ok) 8%, var(--surface))}.verdict.bad{border-color:var(--bad);background:color-mix(in oklab, var(--bad) 7%, var(--surface))}.verdict .vbadge{font:700 .72rem var(--font-mono);text-transform:uppercase;letter-spacing:.06em;background:0 0;border:0;padding:0}.verdict.ok .vbadge{color:var(--ok)}.verdict.bad .vbadge{color:var(--bad)}.verdict p{margin:.3rem 0 0;font-size:.9rem;line-height:1.5}.blame{color:var(--text-soft);font-size:.8rem!important}.chip{border:1px solid var(--kind-line);background:var(--kind-soft);color:var(--kind);font:600 .72rem var(--font-ui);border-radius:999px;padding:.05rem .45rem;display:inline-block}.score{grid-template-columns:7.5rem 1fr;align-items:center;gap:1.1rem;display:grid;position:relative}.ring{grid-area:1/1;width:7.5rem;height:7.5rem;transform:rotate(-90deg)}.ring circle{fill:none;stroke-width:9px}.ring-bg{stroke:var(--bg-soft)}.ring-fg{stroke:var(--tier);stroke-linecap:round}.score-n{grid-area:1/1;align-content:center;place-items:center;display:grid}.score-n b{font:600 2.1rem/1 var(--font-mono);letter-spacing:-.04em;color:var(--text)}.score-n small{font:500 .7rem var(--font-mono);color:var(--text-faint)}.score h2{color:var(--tier);margin:.35rem 0 .1rem;font-size:1.25rem}.score p{margin:0}[data-tier=ship]{--tier:var(--ok)}[data-tier=close]{--tier:var(--refactoring)}[data-tier=review]{--tier:var(--smell)}[data-tier=block]{--tier:var(--bad)}.parts{gap:.45rem;margin:1.25rem 0 0;display:grid}.part{grid-template-columns:6rem 1fr 2rem;align-items:center;gap:.7rem;font-size:.85rem;display:grid}.part-l{color:var(--text-soft)}.part-bar{background:var(--bg-soft);border-radius:99px;height:6px;overflow:hidden}.part-bar i{border-radius:inherit;background:var(--kind);width:0;height:100%;transition:width 1s var(--ease);display:block}.part-bar i.go{width:var(--w)}.part-v{font:600 .8rem var(--font-mono);text-align:right}.metrics{grid-template-columns:1fr 1fr;gap:.6rem;margin-top:1.25rem;display:grid}.metric{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);gap:.15rem;padding:.8rem .9rem;display:grid}.m-l{font:500 .68rem var(--font-mono);text-transform:uppercase;letter-spacing:.06em;color:var(--text-faint)}.metric b{font:600 1.35rem var(--font-mono);letter-spacing:-.03em}.metric b small{color:var(--text-faint);font-size:.75rem;font-weight:500}.m-i{font:500 .78rem var(--font-mono);color:var(--kind)}.m-h{color:var(--text-faint);font-size:.72rem;line-height:1.4}.review{gap:.55rem;margin:0;padding:0;list-style:none;display:grid}.rv{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);padding:.75rem .9rem;transition:border-color .15s,box-shadow .15s}.rv:hover{border-color:var(--kind);box-shadow:var(--shadow-md)}.rv[data-same=false]{border-left:3px solid var(--smell)}.rv[data-same=true]{border-left:3px solid var(--ok)}.rv-h{align-items:center;gap:.55rem;display:flex}.rv-h b{font:600 .92rem var(--font-ui)}.fit{background:linear-gradient(90deg, var(--tier-fit,var(--kind)) calc(var(--fit) * 100%), var(--bg-soft) 0);border-radius:99px;flex:none;width:2.2rem;height:5px}.rv[data-same=true] .fit{--tier-fit:var(--ok)}.rv[data-same=false] .fit{--tier-fit:var(--smell)}.tag{font:600 .66rem var(--font-mono);text-transform:uppercase;letter-spacing:.05em;margin-left:auto}.tag.ok{color:var(--ok)}.rv-pick{font:600 .88rem var(--font-ui);margin:.45rem 0 0}.rv-pick span{min-width:6.2rem;font:500 .68rem var(--font-mono);text-transform:uppercase;letter-spacing:.05em;color:var(--text-faint);display:inline-block}.rv-pick.ideal{color:var(--ok)}.rv-why{font:400 .86rem/1.5 var(--font-body);color:var(--text-soft);margin:.15rem 0 0}.rv-links{flex-wrap:wrap;gap:.35rem .75rem;margin:.55rem 0 0;font-size:.8rem;display:flex}.rv-links span{font:500 .68rem var(--font-mono);text-transform:uppercase;color:var(--text-faint)}.rv-links a{color:var(--kind);text-decoration:none}.rv-links a:hover{text-decoration:underline}.res-tests{gap:.35rem;margin:0;padding:0;list-style:none;display:grid}.res-tests button{width:100%;color:var(--text);font:400 .86rem var(--font-ui);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:8px;grid-template-columns:auto 1fr;align-items:baseline;gap:.1rem .6rem;padding:.45rem .55rem;display:grid}.res-tests button:hover{background:var(--bg-soft)}.res-tests b{font-weight:600}.res-tests button>span:last-child{color:var(--text-soft);grid-column:2;font-size:.82rem;line-height:1.45}.row.end{margin-top:1.75rem}.bx-canvas{top:calc(var(--bx-top) + 3rem);height:calc(100dvh - var(--bx-top) - 3rem);background:var(--bg-soft);min-height:28rem;position:sticky;overflow:hidden}.canvas-bg{background-size:22px 22px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(80% 80% at 50% 45%,#000 40%,#0000 100%);mask-image:radial-gradient(80% 80% at 50% 45%,#000 40%,#0000 100%)}.svg-box{position:absolute;inset:3.2rem 1rem 3.4rem}.flow{width:100%;height:100%;overflow:visible}.spot{pointer-events:none;opacity:0;transition:opacity .35s, --fx .45s var(--ease), --fy .45s var(--ease);background:radial-gradient(circle 220px at var(--fx) var(--fy), transparent 0 45%, color-mix(in oklab, var(--bg-soft) 70%, transparent) 100%);position:absolute;inset:0}.spot.on{opacity:1}.caption{z-index:3;border:1px solid var(--border);background:color-mix(in oklab, var(--surface) 92%, transparent);backdrop-filter:blur(8px);max-width:calc(100% - 13rem);box-shadow:var(--shadow-md);font:500 .76rem var(--font-mono);opacity:0;pointer-events:none;transition:opacity .25s, transform .25s var(--ease);border-radius:999px;flex-wrap:wrap;justify-content:center;gap:.35rem;padding:.35rem .5rem;display:flex;position:absolute;top:.85rem;left:50%;transform:translate(-50%,-6px)}.caption.on{opacity:1;transform:translate(-50%)}.caption span{white-space:nowrap;color:var(--text-soft);border-radius:999px;padding:.1rem .45rem}.caption .plus{color:var(--ok);background:color-mix(in oklab, var(--ok) 10%, transparent)}.caption .mod{color:var(--refactoring);background:color-mix(in oklab, var(--refactoring) 10%, transparent)}.caption .minus{color:var(--bad);background:color-mix(in oklab, var(--bad) 9%, transparent)}.views{z-index:5;border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow-sm);border-radius:10px;padding:.2rem;display:inline-flex;position:absolute;top:.8rem;right:.9rem}.views button{color:var(--text-soft);font:500 .78rem var(--font-ui);cursor:pointer;background:0 0;border:0;border-radius:7px;padding:.32rem .7rem}.views button[aria-pressed=true]{background:var(--text);color:var(--bg)}.legend{z-index:2;border-top:1px solid var(--border);background:color-mix(in oklab, var(--bg-soft) 88%, transparent);backdrop-filter:blur(6px);font:500 .72rem var(--font-mono);color:var(--text-faint);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem 1rem;padding:.6rem 1rem;display:flex;position:absolute;bottom:0;left:0;right:0}.hud,.kinds,.diff-legend{flex-wrap:wrap;gap:.35rem .85rem;display:flex}.hud-item,.kd,.dl{align-items:center;gap:.35rem;display:inline-flex}.hud-item svg,.kd svg{fill:none;stroke:currentColor;stroke-width:1.4px;stroke-linecap:round;stroke-linejoin:round;width:13px;height:13px;color:var(--text-soft);flex:none}.hud-item b{color:var(--text);font-weight:600}.hud-item[data-n="0"]{opacity:.4}.dl i{border-top:2px dashed;width:1.1rem;height:0}.dl.missing{color:var(--ok)}.dl.extra{color:var(--smell)}.diff-legend{display:none}.bx[data-phase=result] .diff-legend{display:flex}.bx[data-phase=result] .hud{display:none}.bx[data-phase=result] .bx-canvas:not([data-view=diff]) .diff-legend{visibility:hidden}.flow .node{cursor:default;transition:opacity .3s}.flow .node .in{transform-box:fill-box;transform-origin:50%;transition:transform .25s var(--ease)}.flow .box{fill:var(--surface);stroke:color-mix(in oklab, var(--kc) 40%, var(--border));stroke-width:1.2px;filter:drop-shadow(0 1px 1.5px #0000000f);transition:stroke .2s,fill .2s}.flow .accent{fill:var(--kc)}.flow .halo{fill:var(--kc);opacity:0;transition:opacity .3s}.flow .icon-bg{fill:color-mix(in oklab, var(--kc) 13%, var(--surface))}.flow .icon path{fill:none;stroke:var(--kc);stroke-width:1.4px;stroke-linecap:round;stroke-linejoin:round}.flow .k-llm .icon path{fill:color-mix(in oklab, var(--kc) 22%, transparent)}.flow .label{font:600 13px var(--font-ui);fill:var(--text);letter-spacing:-.01em}.flow .sub{font:400 10.5px var(--font-ui);fill:var(--text-soft)}.flow .k-data .box{stroke-dasharray:4 3;fill:var(--bg-soft)}.flow .k-input .box,.flow .k-output .box{fill:var(--text);stroke:none}.flow .k-input .label,.flow .k-output .label{fill:var(--bg)}.flow .k-input .sub,.flow .k-output .sub{fill:color-mix(in oklab, var(--bg) 68%, var(--text))}.flow .k-input .icon-bg,.flow .k-output .icon-bg{fill:color-mix(in oklab, var(--bg) 14%, var(--text))}.flow .k-input .icon path,.flow .k-output .icon path{stroke:var(--bg)}.flow .k-input .halo,.flow .k-output .halo{fill:var(--kind)}.flow .node.dim,.flow.dimmed .node[data-state=""]{opacity:.26}.flow .node.exit{opacity:0}.flow .node.exit .in{transform:scale(.9)}.flow .node[data-state=ghost] .box{fill:color-mix(in oklab, var(--kc) 7%, var(--surface));stroke:var(--kc);stroke-width:1.6px;stroke-dasharray:6 4;animation:1s linear infinite bx-march}.flow .node[data-state=ghost] .in{animation:bx-float 1.6s var(--ease) infinite}.flow .node[data-state=ghost] .halo{opacity:.18}.flow .node[data-state=changed] .box{stroke:var(--kc);stroke-width:2px}.flow .node[data-state=changed] .halo{opacity:.16}.flow .node[data-state=born] .in{animation:bx-born .65s var(--ease)}.flow .node[data-state=born] .halo{animation:bx-halo 1.4s var(--ease)}.flow .node[data-state=active] .box{stroke:var(--kc);stroke-width:2.2px}.flow .k-input[data-state=active] .box,.flow .k-output[data-state=active] .box{stroke:var(--kind);stroke-width:3px}.flow .node[data-state=active] .halo{opacity:.32}.flow .node[data-state=active] .in{transform:scale(1.045)}.flow .node[data-state=visited] .box{stroke:var(--kc);stroke-width:1.6px;fill:color-mix(in oklab, var(--kc) 6%, var(--surface))}.flow .node[data-state=pass] .box{stroke:var(--ok);stroke-width:3px}.flow .node[data-state=pass] .halo{fill:var(--ok);opacity:.35}.flow .node[data-state=fail] .box{stroke:var(--bad);stroke-width:3px}.flow .node[data-state=fail] .halo{fill:var(--bad);opacity:.4}.flow .node[data-state=fail] .in{animation:.45s bx-shake}.flow .node[data-state=missing] .box{fill:color-mix(in oklab, var(--ok) 8%, var(--surface));stroke:var(--ok);stroke-width:1.8px;stroke-dasharray:6 4}.flow .node[data-state=missing] .halo{fill:var(--ok);opacity:.15}.flow .node[data-state=extra] .box{fill:color-mix(in oklab, var(--smell) 8%, var(--surface));stroke:var(--smell);stroke-width:1.8px;stroke-dasharray:2 3}.flow .node[data-state=extra] .label{text-decoration:line-through;text-decoration-color:var(--smell)}.flow .edge{fill:none;stroke:var(--border-strong);stroke-width:1.6px;transition:stroke .25s,opacity .25s,stroke-width .25s}.flow #fx-arrow path{stroke:var(--text-faint)}.flow .edge.soft{stroke-dasharray:3 4}.flow .edge.dim,.flow.dimmed .edge[data-state=""]{opacity:.18}.flow .edge[data-state=ghost]{stroke:var(--kind);stroke-width:2px;stroke-dasharray:6 5;animation:.9s linear infinite bx-march}.flow .edge[data-state=born]{stroke:var(--kind);stroke-dasharray:900;stroke-dashoffset:900px;animation:bx-draw .9s .15s var(--ease) forwards}.flow .edge[data-state=flow]{stroke:var(--kind);stroke-width:2.6px}.flow .edge[data-state=visited]{stroke:color-mix(in oklab, var(--kind) 65%, var(--border-strong));stroke-width:2px}.flow .edge[data-state=missing]{stroke:var(--ok);stroke-width:2px;stroke-dasharray:6 4}.flow .edge[data-state=extra]{stroke:var(--smell);stroke-width:2px;stroke-dasharray:2 3}.flow .edge-label{font:600 9.5px var(--font-mono);fill:var(--text-faint);paint-order:stroke;stroke:var(--bg-soft);stroke-width:4px;stroke-linejoin:round}.flow.dimmed .edge-label{opacity:.3}.flow .comet{fill:var(--kind)}.flow .comet-tail{fill:var(--kind);opacity:.22}.flow .note{animation:bx-note .25s var(--ease);pointer-events:none}.flow .note rect{fill:var(--text)}.flow .note text{font:500 11px var(--font-mono);fill:var(--bg)}.flow .note.t-pass rect{fill:var(--ok)}.flow .note.t-fail rect{fill:var(--bad)}.flow .note.t-pass text,.flow .note.t-fail text{fill:var(--surface);text-transform:uppercase;letter-spacing:.05em;font-weight:700}@keyframes bx-march{to{stroke-dashoffset:-20px}}@keyframes bx-float{50%{transform:translateY(-2px)}}@keyframes bx-born{0%{opacity:0;transform:scale(.82)}60%{opacity:1;transform:scale(1.04)}}@keyframes bx-halo{0%{opacity:.5}to{opacity:0}}@keyframes bx-draw{to{stroke-dashoffset:0}}@keyframes bx-shake{20%,60%{transform:translate(-4px)}40%,80%{transform:translate(4px)}}@keyframes bx-note{0%{opacity:0}}@media (prefers-reduced-motion:reduce){.bx *,.bx :before{transition:none!important;animation:none!important}.flow .edge[data-state=born]{stroke-dashoffset:0}}@media (width<=62rem){.bx-stage{grid-template-columns:minmax(0,1fr)}.bx-canvas{z-index:5;border-bottom:1px solid var(--border);order:-1;height:46dvh;min-height:18rem}.bx-panel{border-right:0;min-height:0}.svg-box{inset:2.8rem .5rem 2.6rem}.legend{padding:.45rem .75rem}.legend .kinds{display:none}.caption{flex-wrap:nowrap;justify-content:flex-start;max-width:calc(100% - 1.5rem);top:.5rem;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#000 85%,#0000);mask-image:linear-gradient(90deg,#000 85%,#0000)}.views{top:auto;bottom:2.9rem;right:.6rem}.ph-t{display:none}.phases [aria-current=step] .ph-t{display:inline}}@media (width<=30rem){.metrics{grid-template-columns:1fr}.bx-name,.timeline .tl-t small{display:none}}.decision h2:focus{outline:none}.flow .k-input[data-state=visited] .box,.flow .k-output[data-state=visited] .box,.flow .k-input[data-state=active] .box,.flow .k-output[data-state=active] .box{fill:var(--text)}.code-cta{margin-top:1.75rem}.code-cta h3{margin:.35rem 0 .3rem}.code-cta .muted{margin:0;font-size:.9rem;line-height:1.5}.code-cta .row{margin-top:.9rem}.cta.sm,.ghost-btn.sm{box-shadow:none;border-radius:8px;padding:.38rem .75rem;font-size:.8rem}.views button[data-v=code]{font-family:var(--font-mono)}.code-view{z-index:4;border:1px solid var(--term-border);border-radius:var(--radius-lg);background:var(--term-bg);box-shadow:var(--shadow-lg);animation:bx-enter .3s var(--ease);flex-direction:column;display:flex;position:absolute;inset:3.4rem 1rem 1rem;overflow:hidden}.cv-bar{border-bottom:1px solid var(--term-border);background:color-mix(in oklab, var(--term-bg) 85%, #fff 4%);align-items:center;gap:.6rem;padding:.55rem .7rem .55rem 1rem;display:flex}.code-file{font:600 .8rem var(--font-mono);color:#e6e8eb}.code-meta{font:500 .7rem var(--font-mono);color:#8b929c;margin-right:auto}.cv-bar .ghost-btn{color:#c4c9d0;background:0 0;border-color:#2c313a}.cv-bar .ghost-btn:hover{color:#fff;border-color:#444b56}.cv-bar .cta{color:#0d0f12;background:#e9e7e2}.code-pre{font:400 .8rem/1.6 var(--font-mono);color:#d8dbe0;counter-reset:ln;tab-size:4;background:0 0;border:0;border-radius:0;flex:1;margin:0;padding:.9rem 0;overflow:auto}.code-pre code{min-width:max-content;display:block}.code-pre .line{padding:0 1.25rem 0 0;display:block}.code-pre .line:before{counter-increment:ln;content:counter(ln);text-align:right;color:#4a515c;user-select:none;width:3.2rem;padding-right:1rem;display:inline-block}.code-pre .line:hover{background:#ffffff09}.code-pre .k{color:#c792ea}.code-pre .s{color:#a5d6a7}.code-pre .c{color:#6b7380;font-style:italic}.code-pre .n{color:#f6b26b}.bx-canvas[data-view=code] .legend{display:none}@media (width<=62rem){.bx-canvas[data-view=code]{height:82dvh}.code-view{inset:.5rem .5rem 3.3rem}.code-meta{display:none}}.cv-bar button{white-space:nowrap}.code-cta .code-note{font:500 .82rem/1.5 var(--font-ui);color:var(--kind);margin:.6rem 0 0}.exam-pill{border:1px solid var(--kind-line);background:var(--kind-soft);color:var(--text);font:500 .76rem var(--font-ui);white-space:nowrap;border-radius:999px;align-items:center;gap:.4rem;padding:.2rem .6rem .2rem .25rem;text-decoration:none;display:inline-flex}.exam-pill span{background:var(--kind);color:var(--surface);font:600 .66rem var(--font-mono);text-transform:uppercase;letter-spacing:.05em;border-radius:999px;padding:.08rem .45rem}.exam-of{border:1px dashed var(--kind-line);border-radius:var(--radius);background:var(--kind-soft);flex-wrap:wrap;align-items:center;gap:.35rem .5rem;margin:1rem 0 0;padding:.65rem .8rem;display:flex}.exam-of a{background:var(--surface);border:1px solid var(--kind-line);color:var(--kind);font:600 .78rem var(--font-ui);border-radius:999px;padding:.1rem .5rem;text-decoration:none}.exam-of small{font:500 .72rem var(--font-mono);color:var(--text-soft);flex-basis:100%}.exam-tag{font:600 .68rem var(--font-mono);text-transform:uppercase;letter-spacing:.06em;color:var(--kind)}.exam{border-left:3px solid var(--smell);margin-top:1rem}.exam[data-pass=true]{border-left-color:var(--ok)}.exam h3{margin:.35rem 0 .25rem;font-size:1.05rem}.exam[data-pass=true] h3{color:var(--ok)}.exam .muted{margin:0;font-size:.86rem}.ex-trails{gap:.3rem;margin:.6rem 0 0;padding:0;list-style:none;display:grid}.ex-trails li{flex-wrap:wrap;align-items:baseline;gap:.25rem .6rem;font-size:.88rem;display:flex}.ex-trails a{color:var(--text);font-weight:600;text-decoration:none}.ex-trails a:hover{text-decoration:underline}.ex-st{font:500 .7rem var(--font-mono);color:var(--text-faint)}.ex-st[data-ok=true]{color:var(--ok)}.ex-trails .ex-cert{color:var(--kind);margin-left:auto;font-weight:600}@media (width<=62rem){.exam-pill b{display:none}}.tl[data-flag=true] .tl-n{background:var(--surface);border:2px solid var(--smell);color:var(--smell)}.tl[data-flag=true] .tl-t small{color:var(--smell)}.tl[data-flag=true][data-state=current] .tl-n{box-shadow:0 0 0 4px color-mix(in oklab, var(--smell) 22%, transparent)}.faces li>span:last-child{font:400 .9rem/1.5 var(--font-ui);color:var(--text)}.hidden-tests{border:1px dashed var(--border-strong);border-radius:var(--radius);font:500 .78rem/1.4 var(--font-mono);color:var(--text-soft);align-items:center;gap:.5rem;margin:-.6rem 0 1.5rem;padding:.55rem .75rem;display:flex}
