/* EVIDRYX V9.2 — context-aware motion polish, no fabricated network or wallet activity. */
:root{--evk:#38f9d1;--evb:#3dbaf4}
/* Give real page components depth without obscuring forms. */
:is(.tool-card,.glass,.workspace,.overview-grid article,.feature-actions a,.mined-shell .primary,.service-link,.premium-modal,.case-btn){backface-visibility:hidden;transform:translateZ(0)}
@media (hover:hover) and (pointer:fine){
.tool-card:hover .tool-icon,.overview-grid article:hover .overview-symbol{transform:translate3d(0,-3px,0) rotate(-3deg) scale(1.07);filter:drop-shadow(0 0 14px rgba(52,242,208,.46))}
:is(.tool-card,.primary-tool,.case-btn,.mined-hero,.workspace):hover{box-shadow:0 14px 42px rgba(5,226,189,.12),inset 0 1px rgba(167,255,234,.15)}
:is(.mined-shell .primary,.premium-entry-row button,.hr-modal-support,.service-link):hover{box-shadow:0 0 24px rgba(53,237,203,.25);filter:brightness(1.08)}
}
.tool-icon,.overview-symbol{transition:filter .42s ease,transform .5s cubic-bezier(.2,.75,.25,1)}
/* Soft diagnostic path animations work even when the API is idle, and are visibly decorative. */
.hero-orbit .orbit-core{animation:ev2-breathe 5.5s ease-in-out infinite}
.hero-orbit .orbit-ring.one{animation:ev2-orbit 18s linear infinite}
.hero-orbit .orbit-ring.two{animation:ev2-orbit 23s linear infinite reverse}
/* A nuanced specular shimmer over progress and case activity, not a fake completion bar. */
.scan-track,#graphWrap,.route-visual,.premium-modal{position:relative;isolation:isolate}
:is(.scan-track,.progress-track):after{content:'';position:absolute;inset:0;width:28%;pointer-events:none;background:linear-gradient(90deg,transparent,rgba(232,255,251,.16),transparent);animation:ev2-rail 4s linear infinite}
:is(#scanPanel,.premium-modal,.workspace,.mined-hero){overflow:hidden}
/* A graceful action glow only on controls, not on case findings. */
:is(.premium-entry-row button,.mined-shell .primary,.service-link){transition:transform .22s ease,box-shadow .32s ease,filter .3s ease}
:where(.premium-entry-row button,.mined-shell .primary,.service-link):active{transform:scale(.98)}
/* The access modal is the action point for premium tools. */
.modal-backdrop:not([hidden]) .premium-modal{animation:ev2-enter .36s cubic-bezier(.18,.8,.2,1) both}
/* Client transaction area stays clear and factual. */
#routeGraph{filter:drop-shadow(0 0 8px rgba(28,227,204,.12))}
#routePanel:not([hidden]) .route-visual:before{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,transparent,rgba(32,228,207,.04),transparent);animation:ev2-rail 15s ease-in-out infinite}
/* Focus states stay visible for keyboard users and on mobile. */
:where(.premium-entry-row input,.mined-shell input,.mined-shell select,.searchform input):focus-visible{outline:2px solid var(--evk);outline-offset:3px;box-shadow:0 0 0 5px rgba(49,229,193,.12)}
@keyframes ev2-breathe{50%{transform:scale(1.05);filter:drop-shadow(0 0 17px rgba(59,231,219,.22))}}
@keyframes ev2-orbit{to{transform:rotate(360deg)}}
@keyframes ev2-rail{from{transform:translateX(-420%)}to{transform:translateX(520%)}}
@keyframes ev2-enter{from{opacity:0;transform:translateY(12px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}
/* Ensure locks cannot be accidentally overridden by CSS display rules. */
[hidden]{display:none!important}
@media(max-width:650px){.modal-backdrop:not([hidden]) .premium-modal{max-height:calc(100dvh - 30px);overflow-y:auto}.tool-card{min-height:unset}}
@media(prefers-reduced-motion:reduce){.hero-orbit .orbit-core,.hero-orbit .orbit-ring.one,.hero-orbit .orbit-ring.two,:is(.scan-track,.progress-track):after,#routePanel .route-visual:before,.modal-backdrop:not([hidden]) .premium-modal{animation:none!important}}
.ev-cinema-off .hero-orbit .orbit-core,.ev-cinema-off .hero-orbit .orbit-ring,.ev-cinema-off :is(.scan-track,.progress-track):after,.ev-cinema-off .route-visual:before{animation:none!important}
