.hiw{--hiw-line:var(--muted);min-width:0}.hiw-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 24px;margin-bottom:16px;display:flex}.hiw-legend{color:var(--muted);font-size:var(--type-caption);flex-wrap:wrap;gap:6px 22px;margin:0;padding:0;list-style:none;display:flex}.hiw-legend li{align-items:center;gap:8px;display:inline-flex}.hiw-key{border-top:2px solid var(--hiw-line);width:26px;display:inline-block}.hiw-key-dash{border-top-style:dashed}.hiw-pause{border:1px solid var(--border);border-radius:var(--radius-pill);background:var(--surface);min-height:40px;color:var(--text-2);font-size:var(--type-ui);cursor:pointer;user-select:none;align-items:center;gap:8px;padding:0 16px 0 14px;display:inline-flex}.hiw-pause:hover{border-color:var(--border-strong)}.hiw-pause input{width:16px;height:16px;accent-color:var(--primary);margin:0}.hiw-pause:has(:focus-visible){outline:2px solid var(--accent);outline-offset:2px}.hiw-pause input:focus-visible{outline:none}.hiw-layout{grid-template-columns:minmax(0,1fr);align-items:start;gap:28px;display:grid}.hiw-stage{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);min-width:0;box-shadow:var(--shadow-sm);margin:0;padding:12px;position:relative}.hiw-svg{width:100%;max-width:100%;height:auto;display:block}.hiw-tall{max-width:420px;margin-inline:auto}.hiw-wide{display:none}@media (width>=768px) and (width<=1099.98px){.hiw-layout{grid-template-columns:minmax(0,380px) minmax(0,1fr);gap:32px}.hiw-alone .hiw-layout{grid-template-columns:minmax(0,420px);justify-content:center}}@media (width>=1100px){.hiw-stage{padding:20px 16px 16px}.hiw-tall{display:none}.hiw-wide{display:block}.hiw-steps{grid-template-columns:repeat(3,minmax(0,1fr))}}.hiw-group rect{fill:var(--bg-subtle);stroke:var(--border)}.hiw-group-pv rect{fill:var(--surface-2)}.hiw-glabel{fill:var(--muted);font-family:var(--mono);font-size:var(--type-micro);letter-spacing:.14em;font-weight:600}.hiw-lane{fill:var(--muted);font-family:var(--mono);font-size:var(--type-micro);letter-spacing:.12em;font-weight:500}.hiw-bus{fill:var(--border-strong)}.hiw-rule{stroke:var(--border);stroke-width:1px}.hiw-box{stroke-width:1.25px}.hiw-box.k-app{fill:var(--surface);stroke:var(--border-strong)}.hiw-box.k-wk{fill:var(--accent-soft);stroke:color-mix(in srgb, var(--accent) 55%, var(--border))}.hiw-box.k-data{fill:var(--accent-soft);stroke:var(--accent);stroke-width:1.75px}.hiw-hit{fill:#0000;stroke:none}.hiw-title{fill:var(--text);font-size:var(--type-compact);font-weight:600}.hiw-sub{fill:var(--muted);font-size:var(--type-label)}.hiw-line{stroke:var(--hiw-line);stroke-width:1.5px;stroke-linejoin:round}.hiw-line.is-dashed{stroke-dasharray:5 4}.hiw-arrowhead{fill:var(--hiw-line)}.hiw-pulse{stroke:var(--accent);stroke-width:4.5px;stroke-linecap:butt;stroke-linejoin:round}.hiw-label{fill:var(--muted);font-family:var(--mono);font-size:var(--type-micro);font-weight:500}.hiw-badge circle{fill:var(--primary)}.hiw-badge text{fill:var(--on-primary);font-size:var(--type-micro);pointer-events:none;font-weight:600}.hiw-node{cursor:pointer}.hiw-node:hover .hiw-box,.hiw-node.is-on .hiw-box{stroke:var(--accent);stroke-width:2px}.hiw-node:hover .hiw-hit,.hiw-node.is-on .hiw-hit{fill:var(--surface);stroke:var(--accent);stroke-width:1.5px}.hiw.is-focus .hiw-el{opacity:.3}.hiw.is-focus .hiw-el.is-on{opacity:1}.hiw-edge.is-on .hiw-line{stroke:var(--accent);stroke-width:2px}.hiw:has(.hiw-pause input:checked) .hiw-pulse{display:none}@media (prefers-reduced-motion:reduce){.hiw-pulse{display:none}}@media (prefers-reduced-motion:no-preference){.hiw-el{transition:opacity .2s var(--ease)}.hiw-box,.hiw-hit{transition:stroke .15s var(--ease), fill .15s var(--ease)}}.hiw-caption{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2);min-height:6.4em;color:var(--text-2);font-size:var(--type-ui);margin-top:12px;padding:12px 14px;line-height:1.5}.hiw-caption[hidden]{display:none}.hiw-caption strong{color:var(--text);font-weight:600;display:block}.hiw-caption.is-idle{color:var(--muted)}@media (width<=1099.98px){.hiw-caption{min-height:0;box-shadow:var(--shadow-md);position:sticky;bottom:12px}.hiw-caption.is-idle{display:none}}@media (width>=1100px){.hiw-caption{min-height:4.7em}}.hiw-steps{counter-reset:hiw;gap:12px;margin:0;padding:0;list-style:none;display:grid}.hiw-steps>li{counter-increment:hiw;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);min-width:0;padding:16px 16px 16px 58px;position:relative}.hiw-steps>li:before{content:counter(hiw);background:var(--primary);width:28px;height:28px;color:var(--on-primary);font-family:var(--mono);font-size:var(--type-caption);text-align:center;border-radius:50%;font-weight:600;line-height:28px;position:absolute;top:16px;left:16px}.hiw-steps h3{font-size:var(--type-body);letter-spacing:-.01em;margin:3px 0 6px;line-height:1.3}.hiw-steps p{color:var(--muted);font-size:var(--type-compact);margin:0;line-height:1.55}.hiw-steps code{border-radius:var(--radius-xs);background:var(--surface-2);color:var(--text-2);font-family:var(--mono);font-size:var(--type-code-inline);padding:1px 5px}.hiw-steps p a{z-index:1;position:relative}.hiw-steps>li.is-active{border-color:var(--accent);box-shadow:0 0 0 3px var(--ring)}.hiw-step-btn{color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;margin:0;padding:0}.hiw-step-btn:after{content:"";border-radius:var(--radius-lg);position:absolute;inset:0}.hiw-step-btn:focus-visible{outline:none}.hiw-steps>li:has(.hiw-step-btn:focus-visible){outline:2px solid var(--accent);outline-offset:2px}@supports (content:"a" / "b"){.hiw-steps>li:before{content:counter(hiw) / ""}}
