/* WP-002 retrieval walk: a question seeds two nodes, the walk spreads along typed edges, then the facts it found and the answer appear. Plays once on load. */
.wv{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(32px,5vw,72px);align-items:center}
.wv-g{max-height:calc(100vh - 340px)}
.wv-q{font-style:italic;font-size:1.15rem;line-height:1.5;color:var(--ink);margin:0 0 20px}
.wv-q span{color:var(--pen);font-style:normal}
.wv-g{width:100%;height:auto;display:block}
.wv-g .mono{font-family:var(--mono)}
.wv-g text{font-size:10px;fill:var(--muted)}
.wv-g .nl{font-size:12px;fill:var(--ink)}
.wv-g .ns{font-size:12px;fill:var(--ink-2)}
.wv-g .nm{font-size:12px;fill:var(--muted)}
.wv-g path[style]{fill:none;stroke:var(--pen);stroke-dasharray:var(--len);stroke-dashoffset:var(--len)}
.wv-g circle.n1,.wv-g circle.nw,.wv-g circle.n2{transform-box:fill-box;transform-origin:center}
.e1{stroke-opacity:.8;stroke-width:2;animation:wvDraw .5s var(--ease) .7s forwards}
.e2{stroke-opacity:.92;stroke-width:2.2;animation:wvDraw .5s var(--ease) 1.5s forwards}
.ew{stroke-opacity:.25;stroke-width:1;animation:wvDraw .5s var(--ease) .7s forwards}
.t1,.tw{opacity:0;animation:wvIn .6s var(--ease) .7s forwards}
.t2{opacity:0;animation:wvIn .6s var(--ease) 1.5s forwards}
.n1{fill:var(--ink);fill-opacity:.65;animation:wvG1 .6s var(--ease) .7s both}
.nw{fill:var(--ink);fill-opacity:.3;animation:wvGw .6s var(--ease) .7s both}
.n2{fill:var(--pen);animation:wvG2 .7s var(--ease) 1.5s both}
@keyframes wvDraw{to{stroke-dashoffset:0}}
@keyframes wvIn{to{opacity:1}}
@keyframes wvG1{from{transform:scale(.43);fill-opacity:.25}to{transform:scale(1);fill-opacity:.65}}
@keyframes wvGw{from{transform:scale(.75);fill-opacity:.15}to{transform:scale(1);fill-opacity:.3}}
@keyframes wvG2{from{transform:scale(.25);fill:var(--ink);fill-opacity:.2}to{transform:scale(1);fill:var(--pen);fill-opacity:1}}
.wv-rows{list-style:none;margin:0;padding:0}
.wv-row{border-top:1px solid var(--rule);padding:14px 0 10px;opacity:0;animation:wvUp .5s var(--ease) forwards}
.wv-row .mono{display:block;font-size:.86rem;color:var(--ink)}
.wv-row b{font-weight:400;color:var(--pen)}
.wv-src{display:block;font-style:italic;color:var(--muted);font-size:.95rem;margin-top:4px}
.wv-r1{animation-delay:2s}.wv-r2{animation-delay:2.3s}.wv-r3{animation-delay:2.6s}.wv-r4{animation-delay:2.9s}
.wv-a{font-size:1.25rem;line-height:1.45;font-weight:380;margin:22px 0 0;opacity:0;animation:wvUp .6s var(--ease) 3.3s forwards}
.wv-a span{color:var(--pen)}
@keyframes wvUp{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}
@media (max-width:860px){
  .wv{grid-template-columns:1fr;gap:24px}
  .wv-g{max-height:none}
}
@media (prefers-reduced-motion:reduce){
  .wv *{animation:none!important}
  .t1,.t2,.tw,.wv-row,.wv-a{opacity:1}
  .wv-g path[style]{stroke-dashoffset:0}
}
