/* VEXMIRA v82 — Smooth Runtime Core. Visual identity preserved, continuous paint/load collapsed. */
html.vx82-ready{scroll-behavior:auto!important;--vx82-fast:.14s}
html.vx82-ready body{background-attachment:scroll!important}
/* Hard animation budget: old visual layers stay styled, but only the curated transforms below are allowed to run. */
html.vx82-ready *,html.vx82-ready *::before,html.vx82-ready *::after{animation:none!important}
html.vx82-ready #scrollProg{width:100%!important;transform:scaleX(0);transform-origin:left center!important;will-change:transform}
html.vx82-ready .vx82-offscreen,html.vx82-ready .vx82-offscreen *{animation-play-state:paused!important}
html.vx82-ready .page:not(.active),html.vx82-ready .page:not(.active) *{animation-play-state:paused!important}
html.vx82-ready .modal-veil:not(.open),html.vx82-ready .modal-veil:not(.open) *{animation-play-state:paused!important}
/* One clean nav rail instead of several independently animated rails. */
html.vx82-ready #topbar::before{animation:none!important;background-position:50% 50%!important;filter:none!important}
html.vx82-ready #topbar::after{animation:none!important;filter:none!important}
html.vx82-ready .vx73-nav::after{animation:none!important;opacity:.55!important}
html.vx82-ready .vx75-nav-wave,html.vx82-ready .vx75-nav-scan,html.vx82-ready .vx75-nav-star{animation:none!important;display:none!important}
html.vx82-ready #topbar .top-brand::before{animation:none!important;opacity:.72}
html.vx82-ready #topbar .top-brand .brand-hex,html.vx82-ready #topbar .top-brand .vx46-emblem{animation:vx82BrandFloat 5.8s ease-in-out infinite!important;will-change:transform}
html.vx82-ready .vx73-brand-orbit{animation:vx82Orbit 11s linear infinite!important;will-change:transform}
html.vx82-ready .vx73-brand-orbit::before{animation:none!important}
/* Home: keep the important central motion, stop decorative repaint loops. */
html.vx82-ready #page-home .vx65-hero::before,html.vx82-ready .vx74-home-stage::before,html.vx82-ready .vx74-home-stage::after{animation:none!important;filter:none!important}
html.vx82-ready .vx74-nexus-ring.a{animation:vx82Orbit 24s linear infinite!important;will-change:transform}
html.vx82-ready .vx74-nexus-ring.b,html.vx82-ready .vx74-nexus-ring.c{animation:none!important}
html.vx82-ready .vx74-orb-node{animation:none!important}
html.vx82-ready .vx74-orb-node::before,html.vx82-ready .vx74-nexus-card::before{animation:none!important}
html.vx82-ready .vx74-nexus-sentinel{animation:none!important;will-change:auto!important}
html.vx82-ready .vx74-sentinel-orbit{animation:vx82Orbit 13s linear infinite!important;will-change:transform}
html.vx82-ready .vx74-sentinel{will-change:transform;transition:transform .055s linear!important}
html.vx82-ready .vx74-eye,html.vx82-ready .vx74-sentinel-mouth{will-change:transform;transition:none!important}
html.vx82-ready .vx75-brand-particles,html.vx82-ready .vx72-home-stars,html.vx82-ready #vx66Particles,html.vx82-ready .vx67-starfield{display:none!important}
/* Keep only transform-only marquees. */
html.vx82-ready .vx75-game-universe-track{animation:vx76GameRail 42s linear infinite!important;will-change:transform!important}
html.vx82-ready .vx76-corp-track{animation:vx76CorpRail 38s linear infinite!important;will-change:transform!important}
html.vx82-ready .vx76-game-mark::after,html.vx82-ready .vx75-game-chip::before{animation:none!important;display:none!important}
/* Rankings / global league: competition stays alive without dozens of pulses and sweeps. */
html.vx82-ready .vx73-rank-stage::before,html.vx82-ready .vx73-rank-stage::after,html.vx82-ready .vx73-rank-disc,html.vx82-ready .vx73-rank-trophy,html.vx82-ready .vx73-user-hero::after,html.vx82-ready .vx73-user-cup{animation:none!important}
html.vx82-ready .vx73-podium-card::before,html.vx82-ready .vx73-podium-card::after,html.vx82-ready #page-server-rankings .vx73-podium-card.first::after{animation:none!important}
html.vx82-ready .vx79-global-kicker i{animation:vx82Pulse 2.5s ease-in-out infinite!important}
html.vx82-ready .vx79-globe{animation:none!important}
html.vx82-ready .vx79-globe::before{animation:vx82Orbit 24s linear infinite!important;will-change:transform}
html.vx82-ready .vx79-globe::after,html.vx82-ready .vx79-flag-orbit{animation:none!important}
/* Repeated surfaces: remove expensive blur/filter compositing while keeping the dark glass appearance. */
html.vx82-ready :is(.srv,.item-card,.thread,.fcat,.post,.support-card,.ticket,.vx71-server-card,.vx73-rank-row,.vx60-rank-row,.vx73-podium-card,.vx60-podium-card,.vx80-country-network,.vx74-season-strip,.vx74-nexus-card,.vx75-game-chip,.vx73-user-rank-card){-webkit-backdrop-filter:none!important;backdrop-filter:none!important;filter:none!important;transition:transform var(--vx82-fast) ease,border-color var(--vx82-fast) ease,background-color var(--vx82-fast) ease!important}
html.vx82-ready :is(.srv,.item-card,.thread,.fcat,.post,.support-card,.ticket,.vx71-server-card,.vx73-rank-row,.vx60-rank-row,.vx73-podium-card,.vx60-podium-card,.vx74-nexus-card,.vx75-game-chip){box-shadow:0 16px 34px -28px rgba(0,0,0,.88),inset 0 1px rgba(255,255,255,.035)!important}
html.vx82-ready #topbar{-webkit-backdrop-filter:none!important;backdrop-filter:none!important;background:linear-gradient(180deg,rgba(8,7,23,.985),rgba(7,8,22,.975))!important}
html.vx82-ready .vx73-more-menu{-webkit-backdrop-filter:none!important;backdrop-filter:none!important;background:rgba(10,9,29,.985)!important}
/* During scroll: zero decorative work. */
html.vx82-scrolling :is(.vx73-brand-orbit,.vx74-sentinel-orbit,.vx74-nexus-ring,.vx75-game-universe-track,.vx76-corp-track,.vx79-globe::before,.vx79-global-kicker i,#topbar .brand-hex,#topbar .vx46-emblem){animation-play-state:paused!important}
html.vx82-scrolling #mainContent :is(.srv,.item-card,.thread,.fcat,.post,.support-card,.ticket,.vx71-server-card,.vx73-rank-row,.vx60-rank-row,.vx73-podium-card,.vx60-podium-card,.vx74-nexus-card,.vx75-game-chip){box-shadow:none!important;transition:none!important}
/* Low-power mode is deterministic rather than waiting for repeated frame misses. */
html.vx82-lite :is(.vx74-nexus-ring,.vx74-sentinel-orbit,.vx79-globe::before,.vx73-brand-orbit){animation:none!important}
html.vx82-lite .vx75-game-universe-track{animation-duration:55s!important}
html.vx82-lite .vx76-corp-track{animation-duration:50s!important}
@media(max-width:1024px){
 html.vx82-ready :is(.vx74-nexus-ring,.vx74-sentinel-orbit,.vx79-globe::before,.vx73-brand-orbit){animation:none!important}
 html.vx82-ready #topbar .top-brand .brand-hex,html.vx82-ready #topbar .top-brand .vx46-emblem{animation:none!important}
 html.vx82-ready .vx75-game-universe-track{animation-duration:52s!important}
 html.vx82-ready .vx76-corp-track{animation-duration:48s!important}
}
@media(prefers-reduced-motion:reduce){html.vx82-ready *,html.vx82-ready *::before,html.vx82-ready *::after{animation:none!important;transition-duration:0s!important}}
@keyframes vx82Orbit{to{rotate:360deg}}
@keyframes vx82BrandFloat{0%,100%{transform:translate3d(0,0,0)}50%{transform:translate3d(0,-2px,0)}}
@keyframes vx82Pulse{0%,100%{opacity:.55}50%{opacity:1}}

/* Blur on hundreds of nested cards is a major compositor cost; gradients retain the glass look without live blur. */
html.vx82-ready #mainContent :is(.card,.side-card,.srv,.item-card,.thread,.fcat,.post,.support-card,.ticket,.vx71-server-card,.vx73-rank-row,.vx60-rank-row,.vx73-podium-card,.vx60-podium-card,.vx74-nexus-card,.vx75-game-chip,.vx79-server-row,.vx80-country-chip){-webkit-backdrop-filter:none!important;backdrop-filter:none!important}
html.vx82-ready.vx82-hidden *,html.vx82-ready.vx82-hidden *::before,html.vx82-ready.vx82-hidden *::after{animation-play-state:paused!important}
