.vaw-board { fill: #050506; stroke: var(--xw-line-2); stroke-width: 1.5; }
.vaw-offdot { fill: #232327; }
.xwho__svg .vaw-lit { fill: none; stroke-width: 0.8; stroke-linecap: round; }
.vaw-lit--norm { stroke: #F4F4F5; }
.vaw-lit--warn { stroke: var(--sev-warn, #F59E0B); }
.vaw-lit--crit { stroke: var(--sev-crit, #F87171); }
.vaw-page--norm { opacity: 0; }   .vaw-frame rect { fill: none; }
.vaw-frame__line { stroke-width: 1.75; }
.vaw-frame__halo { stroke-width: 6; opacity: 0.18; }
.vaw-frame--warn rect { stroke: var(--sev-warn, #F59E0B); }
.vaw-frame--crit rect { stroke: var(--sev-crit, #F87171); }
.vaw-link { fill: none; stroke: var(--xw-muted); stroke-width: 1.5; stroke-dasharray: 3 4; }
.vaw-gdot { fill: var(--xw-line-2); }

.vaw1-who { color: var(--xw-blue); }
.vaw1-head, .vaw1-band, .vaw1-body { fill: none; stroke: currentColor; stroke-width: 1.75; }
.vaw1-head { fill: var(--xw-card); }
.vaw1-cup { fill: currentColor; }
.vaw1-eyes circle { fill: var(--xw-text); }
.vaw1-ray { fill: none; stroke: var(--xw-blue); stroke-width: 1.25; stroke-dasharray: 2 4; opacity: 0.8; }
.vaw1-box { fill: var(--xw-raised); stroke: var(--xw-muted); stroke-width: 1.25; }
.vaw1-belt { fill: var(--xw-raised); stroke: var(--xw-line-2); stroke-width: 1.5; }
.vaw1-run { fill: none; stroke: var(--xw-line-2); stroke-width: 1.5; stroke-dasharray: 6 6; }

.vaw2-glow { fill: rgba(var(--sev-warn-rgb, 245, 158, 11), 0.05); stroke: rgba(var(--sev-warn-rgb, 245, 158, 11), 0.6); stroke-width: 1.5; }
.vaw2-row { fill: rgba(var(--sev-warn-rgb, 245, 158, 11), 0.12); stroke: var(--sev-warn, #F59E0B); stroke-width: 1.25; }
.vaw2-dot { fill: var(--sev-warn, #F59E0B); }
.xwho .vaw2-lvl { fill: var(--sev-warn, #F59E0B); }
.vaw2-ackdot { fill: var(--sev-live, #4ADE80); }
.vaw2-ok circle { fill: var(--xw-card); stroke: var(--sev-live, #4ADE80); stroke-width: 1.5; }
.vaw2-ok path { fill: none; stroke: var(--sev-live, #4ADE80); stroke-width: 1.75; }

.vaw3-plan { fill: none; stroke: var(--xw-line-2); stroke-width: 1.5; }
.vaw3-hot { fill: rgba(var(--sev-crit-rgb, 248, 113, 113), 0.12); stroke: var(--sev-crit, #F87171); stroke-width: 1.5; }
.xwho .vaw3-lab { fill: var(--xw-text); }
.vaw3-dot { fill: var(--sev-crit, #F87171); }
.vaw3-path { fill: none; stroke: var(--xw-blue); stroke-width: 2.5; stroke-dasharray: 1; stroke-dashoffset: 0; }
.vaw3-end { fill: var(--xw-blue); }
.vaw3-you circle, .vaw3-you path { fill: none; stroke: var(--xw-blue); stroke-width: 1.75; }

.xwho.is-anim .vaw-page--norm { animation: vaw-norm var(--xw-T) linear infinite; }
.xwho.is-anim .vaw-page--alert,
.xwho.is-anim .vaw2-glow,
.xwho.is-anim .vaw2-alert,
.xwho.is-anim .vaw3-hot,
.xwho.is-anim .vaw3-flag { animation: vaw-alert var(--xw-T) linear infinite; }
.xwho.is-anim .vaw3-lab { animation: vaw-lab var(--xw-T) linear infinite; }
.xwho.is-anim .vaw-frame { animation: vaw-pulse var(--xw-T) linear infinite; }

.xwho.is-anim .vaw1-who { animation: vaw1-crew var(--xw-T) linear infinite; }
.xwho.is-anim .vaw1-eyes { animation: vaw1-eyes var(--xw-T) var(--ease-in-out, ease-in-out) infinite; }
.xwho.is-anim .vaw1-ray { animation: vaw1-ray var(--xw-T) linear infinite; }
.xwho.is-anim .vaw1-boxes { animation: vaw1-belt 9.6s linear infinite; }
.xwho.is-anim .vaw1-run { animation: vaw1-run 1.2s linear infinite; }

.xwho.is-anim .vaw2-r1 { animation: vaw-row45 var(--xw-T) var(--ease-out, ease) infinite; }
.xwho.is-anim .vaw2-r2 { animation: vaw-row72 var(--xw-T) var(--ease-out, ease) infinite; }
.xwho.is-anim .vaw2-ok { animation: vaw-p77 var(--xw-T) var(--ease-out, ease) infinite; }

.xwho.is-anim .vaw3-path { animation: vaw3-draw var(--xw-T) var(--ease-in-out, ease) infinite; }
.xwho.is-anim .vaw3-end { animation: vaw-p62 var(--xw-T) var(--ease-out, ease) infinite; }

.xwho.is-anim .vaw-page, .xwho.is-anim .vaw-frame, .xwho.is-anim .vaw2-glow, .xwho.is-anim .vaw2-alert,
.xwho.is-anim .vaw3-hot, .xwho.is-anim .vaw3-flag, .xwho.is-anim .vaw3-lab, .xwho.is-anim .vaw1-who,
.xwho.is-anim .vaw1-eyes, .xwho.is-anim .vaw1-ray, .xwho.is-anim .vaw2-r1, .xwho.is-anim .vaw2-r2,
.xwho.is-anim .vaw2-ok, .xwho.is-anim .vaw3-path, .xwho.is-anim .vaw3-end { animation-delay: var(--xw-start); }
.xwho.is-anim .vaw1-who--2, .xwho.is-anim .vaw1-who--2 .vaw1-eyes { animation-delay: calc(var(--xw-start) + 0.24s); }
.xwho.is-anim .vaw1-who--3, .xwho.is-anim .vaw1-who--3 .vaw1-eyes { animation-delay: calc(var(--xw-start) + 0.48s); }

@keyframes vaw-norm { 0%, 39.9% { opacity: 1; } 40%, 98.4% { opacity: 0; } 98.5%, 100% { opacity: 1; } }
@keyframes vaw-alert { 0%, 41.9% { opacity: 0; } 42%, 96.9% { opacity: 1; } 97%, 100% { opacity: 0; } }
@keyframes vaw-lab { 0%, 41.9% { fill: var(--xw-muted); } 42%, 96.9% { fill: var(--xw-text); } 97%, 100% { fill: var(--xw-muted); } }
@keyframes vaw-pulse {
  0%, 41.9% { opacity: 0; }
  42% { opacity: 1; } 46.5% { opacity: 0.55; } 51% { opacity: 1; } 55.5% { opacity: 0.55; } 60% { opacity: 1; } 64.5% { opacity: 0.55; }
  69%, 96.9% { opacity: 1; }
  97%, 100% { opacity: 0; }
}
@keyframes vaw1-crew { 0%, 46% { color: var(--xw-muted); } 50%, 95% { color: var(--xw-blue); } 99%, 100% { color: var(--xw-muted); } }
@keyframes vaw1-eyes { 0%, 45% { transform: translateY(5px); } 49%, 95% { transform: none; } 99%, 100% { transform: translateY(5px); } }
@keyframes vaw1-ray { 0%, 50% { opacity: 0; } 54%, 95% { opacity: 0.8; } 99%, 100% { opacity: 0; } }
@keyframes vaw1-belt { to { transform: translateX(96px); } }
@keyframes vaw1-run { to { stroke-dashoffset: -12; } }
@keyframes vaw-row45 { 0%, 44% { opacity: 0; transform: translateX(-8px); } 48%, 95% { opacity: 1; transform: none; } 99%, 100% { opacity: 0; transform: none; } }
@keyframes vaw-row72 { 0%, 71% { opacity: 0; transform: translateX(-8px); } 75%, 95% { opacity: 1; transform: none; } 99%, 100% { opacity: 0; transform: none; } }
@keyframes vaw-p77 { 0%, 76% { opacity: 0; transform: scale(0.4); } 79% { opacity: 1; transform: scale(1.18); } 81%, 95% { opacity: 1; transform: scale(1); } 99%, 100% { opacity: 0; transform: scale(1); } }
@keyframes vaw-p62 { 0%, 61% { opacity: 0; transform: scale(0.4); } 64% { opacity: 1; transform: scale(1.3); } 66%, 95% { opacity: 1; transform: scale(1); } 99%, 100% { opacity: 0; transform: scale(1); } }
@keyframes vaw3-draw { 0%, 48% { stroke-dashoffset: 1; opacity: 1; } 62%, 95% { stroke-dashoffset: 0; opacity: 1; } 99%, 100% { stroke-dashoffset: 0; opacity: 0; } }

[data-pillar] #use-cases .rp-card__meta { display: inline-flex; align-items: flex-start; gap: 0.5rem; line-height: 1.5; }
[data-pillar] #use-cases .rp-card__meta::before { content: ""; flex: none; width: 6px; height: 6px; margin-top: calc(0.75em - 3px); border-radius: 50%; background: var(--pillar-accent, #50A2FF); }
.vau-cards .led--mini { margin-top: auto; }
.vau-cards .rp-body { margin-bottom: 0.75rem; }
.vau-links { display: flex; flex-wrap: wrap; gap: 0.25rem 1.25rem; margin: 0.625rem 0 0; }
.vau-sr { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
