/* Signal path options switch + Option C (routing matrix) */
.vth .opt-switch{display:flex;gap:6px;flex-wrap:wrap;margin:4px 0 12px}
.vth .opt-switch button{font-family:var(--font-mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;padding:6px 10px;background:var(--panel-bg-solid);border:1px solid var(--border-main);color:var(--text-muted);cursor:pointer}
.vth .opt-switch button:hover{border-color:var(--accent-blue);color:var(--text-dark)}
.vth .opt-switch button.on{background:var(--accent-blue-trans);border-color:var(--accent-blue);color:var(--accent-blue)}
.vth .flow-opt[hidden]{display:none!important}

/* Option C · Telemetry skin (same SVG as A) */
.vth .skin-c .c-host svg{width:100%;height:auto;display:block}
.vth .skin-c .c-host svg *{vector-effect:non-scaling-stroke}
.vth .skin-c .c-dot{fill:var(--border-light)}
.vth .skin-c .node{fill:var(--surface-pane,rgba(255,255,255,.4));stroke:var(--border-light);stroke-dasharray:2 3}
.vth .skin-c .c-brk{fill:none;stroke:var(--border-main);stroke-width:1.25;transition:stroke .25s}
.vth .skin-c .c-src .node{stroke:var(--border-main);stroke-dasharray:none}
.vth .skin-c .c-src .c-brk,.vth .skin-c .zone.on .c-brk,.vth .skin-c .dev.on .c-brk{stroke:var(--accent-blue);stroke-width:2}
.vth .skin-c text{font-family:var(--font-mono);font-size:10px;letter-spacing:.6px;text-transform:uppercase;fill:var(--text-dark)}
.vth .skin-c .sub{font-size:8px;fill:var(--text-muted)}
.vth .skin-c .c-id{font-size:7px;letter-spacing:1px;fill:var(--text-muted)}
.vth .skin-c .c-tx{font-size:8px;letter-spacing:1px;fill:var(--accent-red);animation:c-blink 1s steps(1) infinite}
.vth .skin-c .wire{stroke:var(--border-main);stroke-width:1;stroke-dasharray:1 3;fill:none;animation:none;transition:opacity .25s,stroke .25s}
.vth .skin-c .has-sel .wire.on{stroke:var(--accent-blue);stroke-width:1.5;stroke-dasharray:none}
.vth .skin-c .has-sel .wire:not(.on),.vth .skin-c .has-sel .zone:not(.on),.vth .skin-c .has-sel .dev:not(.on){opacity:.28}
.vth .skin-c .c-pk{opacity:0;transition:opacity .2s}
.vth .skin-c .c-pk rect{fill:var(--accent-blue)}
.vth .skin-c .has-sel .c-pk.on{opacity:1}
.vth .skin-c .zone{cursor:pointer;outline:none}
.vth .skin-c .zone:hover .node,.vth .skin-c .zone:focus-visible .node{stroke:var(--accent-blue);stroke-dasharray:none}
.vth .skin-c .zone.on .node,.vth .skin-c .dev.on .node{fill:var(--accent-blue-trans);stroke:var(--accent-blue);stroke-dasharray:none}
.vth .skin-c .zone.on text:not(.sub):not(.c-id){fill:var(--accent-blue)}
.vth .skin-c .zone.on .c-id,.vth .skin-c .dev.on .c-id{fill:var(--accent-blue)}
.vth .skin-c .pulse{fill:var(--accent-green)}
.vth .skin-c .has-sel .dev:not(.on) .pulse{fill:var(--border-main)}
.vth .skin-c .c-ring{fill:none;stroke:var(--accent-green);opacity:0;transform-box:fill-box;transform-origin:center}
.vth .skin-c .dev.on .c-ring{animation:c-ring 1.8s ease-out infinite}
.vth .skin-c .c-hint{color:var(--accent-blue)}
@keyframes c-ring{0%{opacity:.9;transform:scale(1)}100%{opacity:0;transform:scale(3.4)}}
@keyframes c-blink{50%{opacity:.2}}
@media (prefers-reduced-motion:reduce){.vth .skin-c .c-pk,.vth .skin-c .dev.on .c-ring,.vth .skin-c .c-tx{animation:none;display:none}}
