/* Shared motion; leaves colors and readable content in the existing theme. */
html:root body.aivanguard-theme {
 --motion-border:#65917a;
 --motion-shadow:rgba(10,28,25,.18);
 --motion-progress:#c7ff8c;
}
html:root[data-theme="light"] body.aivanguard-theme {
 --motion-border:#39794a;
 --motion-shadow:rgba(20,39,41,.12);
 --motion-progress:#255c35;
}
html:root body.aivanguard-theme :is([data-aiv-motion-card],.post-card,.hero-aside-card,.ms-fact,.ms-lane,.ms-report,.cs-card,.cs-fact,.vcfo-card,.data-card) {
 transition:transform 240ms ease,border-color 240ms ease,box-shadow 240ms ease!important;
}
html:root body.aivanguard-theme :is(.button,.btn,.roi-btn,.ms-share-button,.ms-jump a,.vcfo-toc a,.toc a) {
 transition:transform 200ms ease,box-shadow 200ms ease,border-color 200ms ease!important;
}
html:root body.aivanguard-theme .aiv-reading-progress {
 position:fixed;inset:0 0 auto;height:3px;z-index:1000;
 background:var(--motion-progress);transform-origin:left;transform:scaleX(0);
 pointer-events:none;transition:none!important;
}
html:root body.aivanguard-theme :is(.site-nav,.main-nav,.entry-content) a {
 text-underline-offset:.2em;text-decoration-thickness:1px;
}
html:root body.aivanguard-theme :is(.site-nav,.main-nav,.entry-content) a:hover {
 text-decoration:underline;text-decoration-thickness:2px;
}
html:root body.aivanguard-theme a:focus-visible,
html:root body.aivanguard-theme button:focus-visible {
 outline:2px solid var(--motion-border)!important;outline-offset:4px;
}
html:root body.aivanguard-theme :is([data-aiv-motion-card],.post-card,.hero-aside-card,.ms-fact,.ms-lane,.ms-report,.cs-card,.cs-fact,.vcfo-card,.data-card):focus-within {
 border-color:var(--motion-border)!important;box-shadow:0 9px 25px var(--motion-shadow)!important;
}
@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference) {
 html:root body.aivanguard-theme :is([data-aiv-motion-card],.post-card,.hero-aside-card,.ms-fact,.ms-lane,.ms-report,.cs-card,.cs-fact,.vcfo-card,.data-card):hover {
  transform:translateY(-3px)!important;border-color:var(--motion-border)!important;
  box-shadow:0 9px 25px var(--motion-shadow)!important;
 }
 html:root body.aivanguard-theme :is(.button,.btn,.roi-btn,.ms-share-button,.ms-jump a,.vcfo-toc a,.toc a):hover {
  transform:translateY(-2px)!important;
 }
}
@media (prefers-reduced-motion:no-preference) {
 html:root body.aivanguard-theme [data-aiv-motion-card]:focus-within {transform:translateY(-3px)!important;}
}
@media (prefers-reduced-motion:reduce) {
 html:root body.aivanguard-theme :is([data-aiv-motion-card],.post-card,.hero-aside-card,.ms-fact,.ms-lane,.ms-report,.cs-card,.cs-fact,.vcfo-card,.data-card,.spotlight-card,.spotlight-art img,.button,.btn,.roi-btn,.ms-share-button,.ms-jump a,.vcfo-toc a,.toc a) {
  animation:none!important;transition:none!important;transform:none!important;translate:none!important;
 }
}
/* The legacy footer locked pale text on light surfaces. */
html:root body.aivanguard-theme .footer-copy-row,
html:root body.aivanguard-theme .footer-copy-row > div {color:var(--text-2)!important;}
html:root[data-theme="light"] body.aivanguard-theme .brand-name span {color:#255c2e!important;}
html:root body.aivanguard-theme .single-meta strong {color:var(--text-2)!important;}
