.vxrm-wrap { width:100%; background:var(--vx-bg-body); color:var(--vx-text); font-family:var(--vx-font-family); padding:15px 0 0px; }
.vxrm-head { text-align:center; padding:0 24px 24px; }
.vxrm-title { font-size:clamp(1.8rem,4vw,2.6rem); font-weight:800; margin:0 0 10px; }
.vxrm-sub { color:var(--vx-text-2); margin:0 0 20px; }
.vxrm-years { display:flex; justify-content:center; gap:8px; flex-wrap:wrap; }
.vxrm-year { padding:8px 18px; border:1px solid var(--vx-border); background:var(--vx-bg-card); color:var(--vx-text-2); border-radius:var(--vx-radius); cursor:pointer; font-weight:600; font-family:inherit; }
.vxrm-year.active { background:var(--vx-primary); border-color:var(--vx-primary); color:var(--vx-text-inv,#fff); }
.vxrm-stage { width:100%; overflow-x:auto; padding:20px; }
.vxrm-svg { width:100%; height:auto; display:block; min-width:900px; }
.vxrm-node text { user-select:none; }
.vxrm-node:hover rect { opacity:.92; }
.vxrm-loading, .vxrm-empty { text-align:center; padding:60px 24px; color:var(--vx-text-3); }
.vxrm-svg { width:100%; height:auto; display:block; min-width:1000px; }
.vxrm-node:hover path:first-of-type { filter:brightness(1.05) url(#vxrmShadow); }
.vxrm-svg      { width:100%; height:auto; display:block; }
.vxrm-svg-h    { min-width:1000px; }          
.vxrm-svg-v    { min-width:0; max-width:520px; margin:0 auto; }  

.vxrm-title-txt { fill: var(--vx-text); }
.vxrm-desc-txt  { fill: var(--vx-text-2); }

.vxrm-node:hover path:first-of-type,
.vxrm-node:hover rect { filter:brightness(1.05) url(#vxrmShadow); }
.vxrm-svg {
  width: 100%;
  height: auto;
  display: block;
  opacity: 0;
  transition: opacity .28s ease;
}
.vxrm-svg.is-in { opacity: 1; }
