.vs-add{display:flex;gap:10px;margin-bottom:20px}.vs-add input{flex:0 1 340px;padding:8px 12px;border:1px solid var(--line2);border-radius:8px;font:inherit}.vs-list{display:flex;flex-direction:column;gap:20px}.vs-stream{border:1px solid var(--line2);border-radius:12px;background:var(--card);padding:14px 16px}.vs-stream-head{display:flex;align-items:center;gap:10px;margin-bottom:12px}.vs-stream-head h3{margin:0}.vs-stages{display:flex;gap:12px;overflow-x:auto;padding-bottom:4px}.vs-stage{flex:0 0 200px;border:1px solid var(--line2);border-radius:10px;padding:10px}.vs-stage.vs-gap{border-color:color-mix(in srgb,var(--obs-eol) 45%,var(--line2));background:color-mix(in srgb,var(--obs-eol) 5%,var(--card))}.vs-stage-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.vs-stage-name{font-weight:600}.vs-apps{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}.vs-app-chip{display:inline-flex;align-items:center;gap:4px;font-size:.85em;padding:2px 8px;border-radius:999px;border:1px solid var(--line2);background:var(--card)}.vs-app-chip button,.vs-del{border:none;background:none;cursor:pointer;color:var(--ink3);font:inherit;line-height:1}.vs-gap-tag{font-size:.8em;color:var(--obs-eol)}.vs-app-add,.vs-add-stage input{font:inherit;font-size:.85em;width:100%;padding:4px 6px;border:1px solid var(--line2);border-radius:6px}.vs-add-stage{display:flex;flex-direction:column;gap:6px;justify-content:center;border-style:dashed}.vs-add-stage-btn{font:inherit;font-size:.85em;padding:4px 8px;border:1px solid var(--line2);border-radius:6px;background:var(--card);cursor:pointer}.vs-caps{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}.vs-cap-chip{display:inline-flex;align-items:center;gap:4px;font-size:.85em;padding:2px 8px;border-radius:6px;border:1px solid color-mix(in srgb,var(--teal, #2f8f83) 45%,var(--line2));background:color-mix(in srgb,var(--teal, #2f8f83) 8%,var(--card))}.vs-cap-chip button{border:none;background:none;cursor:pointer;color:var(--ink3);font:inherit;line-height:1}.vs-cap-controls{display:flex;gap:6px;align-items:center;margin-bottom:8px}.vs-cap-add{font:inherit;font-size:.85em;flex:1 1 auto;min-width:0;padding:4px 6px;border:1px solid var(--line2);border-radius:6px}.vs-deduce{font:inherit;font-size:.78em;white-space:nowrap;padding:4px 8px;border:1px dashed var(--line2);border-radius:6px;background:var(--card);cursor:pointer;color:var(--ink2)}.vs-deduce:hover{border-color:var(--ink3)}.vs-health{width:9px;height:9px;border-radius:999px;flex:0 0 auto;display:inline-block}.vs-h-stable{background:#2e7d46}.vs-h-evolving{background:#b26b00}.vs-h-heavy_debt{background:#c00000}.vs-gap-tag-app{color:var(--obs-eol)}.vs-gap-tag-cap{color:var(--lc-transition, #b26b00)}.vs-stage.vs-gap{animation:vs-gap-breathe 2.6s ease-in-out infinite}@keyframes vs-gap-breathe{0%,to{border-color:color-mix(in srgb,var(--obs-eol) 45%,var(--line2))}50%{border-color:color-mix(in srgb,var(--obs-eol) 78%,var(--line2))}}@media(prefers-reduced-motion:reduce){.vs-stage.vs-gap{animation:none}}
