.wh-fig{margin:clamp(34px,5vw,56px) 0}.wh-fig__frame{border:1px solid var(--line-2);border-radius:var(--r-lg);background:radial-gradient(120% 90% at 50% 0%, #d4a5740d, transparent 60%), var(--ink-50);padding:clamp(20px,3vw,34px);position:relative;overflow:hidden}.wh-fig__cap{font-family:var(--font-display);color:var(--text-tertiary);text-wrap:pretty;margin:14px 4px 0;font-size:.95rem;font-style:italic;line-height:1.5;display:block}.wh-fig__cap b{color:var(--accent-text);margin-right:6px;font-style:normal;font-weight:600}.wh-svg{width:100%;height:auto;display:block;overflow:visible}.wh-svg text{font-family:var(--font-sans);fill:var(--text-secondary)}.wh-svg .wh-svg__label{fill:var(--text-primary);font-size:12.5px;font-weight:600}.wh-svg .wh-svg__sub{fill:var(--text-tertiary);font-size:11px}.wh-svg .wh-svg__node{fill:var(--ink-100);stroke:var(--line-3)}.wh-svg .wh-svg__node--accent{stroke:var(--accent-deep)}.wh-svg .wh-svg__flow{fill:none;stroke:var(--line-3);stroke-width:1.5px}.wh-svg .wh-svg__pulse{fill:none;stroke:var(--accent);stroke-width:1.75px;stroke-linecap:round;stroke-dasharray:6 260;filter:drop-shadow(0 0 4px var(--accent-glow))}@media (prefers-reduced-motion:no-preference){[data-motion=cinematic] .wh-svg .wh-svg__pulse,[data-motion=quick] .wh-svg .wh-svg__pulse{animation:3.4s linear infinite wh-pulse-run}}@keyframes wh-pulse-run{to{stroke-dashoffset:-266px}}
