/* VPS internal SVG only. No frame, material, typography or geometry override. */
.vps-kvm-scene{width:100%;height:100%;overflow:hidden}
.vps-material-top{stop-color:var(--color-bg-surface-2)}
.vps-material-base{stop-color:var(--color-bg-page)}
.vps-guest-top{stop-color:var(--color-primary-tint)}
.vps-kvm-scene text{fill:var(--color-text-primary);font-family:var(--font-body);font-size:var(--type-small);letter-spacing:1px;font-weight:600}
.vps-host>path:first-child,.vps-guest-case{stroke:var(--color-border);stroke-width:1.5}
.vps-seam,.vps-host-trace,.vps-host-contacts,.vps-guest-edge{fill:none;stroke:var(--color-border);stroke-width:1.5}
.vps-layer>path:first-child{fill:var(--color-primary-tint);stroke:var(--color-primary);stroke-width:1.5}
.vps-layer text{fill:var(--color-text-accent)}
.vps-compute{fill:var(--color-primary-tint);stroke:var(--color-text-accent)}
.vps-compute-trace{fill:none;stroke:var(--color-text-accent);stroke-width:1}
.vps-memory,.vps-os-state{fill:var(--color-text-accent)}
.vps-storage{fill:none;stroke:var(--color-text-secondary);stroke-width:3}
.vps-work{fill:none;stroke:var(--color-primary);stroke-width:2;stroke-dasharray:18 62;animation:vps-guest-work 3s linear infinite}
.vps-layer,.vps-guest,.vps-allocation{opacity:.22;transition:opacity .6s ease}
.vps-layer[data-active=true],.vps-guest[data-active=true],.vps-allocation[data-active=true]{opacity:1}
.vps-guest[data-active=true] .vps-guest-case{stroke:var(--color-text-accent)}
.frame[data-running=false] .vps-kvm-scene *{animation-play-state:paused;transition:none}
@keyframes vps-guest-work{to{stroke-dashoffset:-80}}
@media(prefers-reduced-motion:reduce){.vps-kvm-scene *{animation:none!important;transition:none!important}}
