/* Motion enhances the interface without delaying interactions or changing balances. */
.btn,.seg-tab,.nav-item,.language-choice{position:relative;isolation:isolate;overflow:hidden}
.nav-item-center{overflow:visible}
.tap-wave{position:absolute;pointer-events:none;border-radius:50%;background:#d4f5ff;z-index:-1;mix-blend-mode:screen}
.nav-center-orb{position:relative;animation:orb-breathe 5s ease-in-out infinite}
.nav-center-orb::after{content:'';position:absolute;inset:-6px;border:1px solid #52dfff4d;border-radius:50%;pointer-events:none;animation:orb-ring 5s ease-in-out infinite}
.btn-cyan,.btn-purple,.btn-gold,.btn-emerald{background-size:140% 100%;transition:background-position .4s,filter .2s,transform .2s,box-shadow .25s}
.seg-tab{transition:color .2s,background .2s,box-shadow .2s}
.nav-item{transition:color .2s,background .2s,border-color .2s}
.nav-item.active svg{animation:nav-lift .4s cubic-bezier(.2,.8,.2,1)}
.nv-card{transition:border-color .25s,box-shadow .25s,transform .25s}
.progress-fill{transform-origin:left;transition:width .55s cubic-bezier(.2,.8,.2,1)}
.modal-card{animation:modal-arrive .24s cubic-bezier(.2,.8,.2,1)}
.modal-backdrop{animation:backdrop-arrive .2s ease-out}
.toast-banner{animation:toast-arrive .28s cubic-bezier(.2,.8,.2,1)}
.brand-logo-svg svg{filter:drop-shadow(0 0 4px #81eeff60)}
@media(hover:hover) and (pointer:fine){
 .nv-card:hover{transform:translateY(-2px);border-color:#98d7fa55;box-shadow:inset 0 1px 1px #edf5ff18,0 8px 26px #05214244}
 .btn:hover:not(:disabled){background-position:100% 0}
 .language-choice:hover{border-color:#51caff88;transform:translateY(-1px)}
}
@keyframes orb-breathe{0%,100%{filter:brightness(1);transform:translateY(0)}50%{filter:brightness(1.12);transform:translateY(-2px)}}
@keyframes orb-ring{0%,100%{opacity:.25;transform:scale(.98)}50%{opacity:.8;transform:scale(1.055)}}
@keyframes nav-lift{0%{transform:translateY(3px) scale(.88)}55%{transform:translateY(-2px) scale(1.08)}100%{transform:translateY(0) scale(1)}}
@keyframes modal-arrive{from{opacity:0;transform:translateY(16px) scale(.98)}to{opacity:1;transform:none}}
@keyframes backdrop-arrive{from{opacity:0}to{opacity:1}}
@keyframes toast-arrive{from{opacity:0;transform:translateY(-9px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
