/* v33.0.2 — safe motion-only layer. No data reads, no observers, no render hooks. */
:root{--motion-fast:160ms;--motion-mid:260ms;--motion-ease:cubic-bezier(.2,.8,.2,1)}
button,.icon-btn,.bottom-nav button,.quick{transition:transform var(--motion-fast) var(--motion-ease),box-shadow var(--motion-mid) ease,filter var(--motion-mid) ease!important}
button:active,.quick:active{transform:scale(.97)!important}.bottom-nav button:active{transform:translateY(1px) scale(.94)!important}.bottom-nav .fab:active{transform:translateY(2px) scale(.92)!important}
.bottom-nav .nav-icon{transition:transform var(--motion-mid) var(--motion-ease),stroke var(--motion-fast) ease!important;transform-origin:center}.bottom-nav button.active .nav-icon{transform:translateY(-2px) scale(1.07)}
.bottom-nav button.active[data-nav="home"] .nav-icon{animation:v33-home .34s var(--motion-ease)}.bottom-nav button.active[data-nav="accounts"] .nav-icon{animation:v33-card .34s var(--motion-ease)}.bottom-nav button.active[data-nav="invest"] .nav-icon{animation:v33-rise .38s var(--motion-ease)}.bottom-nav button.active[data-nav="reports"] .nav-icon{animation:v33-bars .38s var(--motion-ease)}
@keyframes v33-home{0%{transform:scale(.88)}65%{transform:translateY(-3px) scale(1.12)}100%{transform:translateY(-2px) scale(1.07)}}@keyframes v33-card{0%{transform:translateX(3px) scale(.9)}70%{transform:translateX(-1px) scale(1.1)}100%{transform:translateY(-2px) scale(1.07)}}@keyframes v33-rise{0%{transform:translateY(3px) scale(.9)}70%{transform:translateY(-4px) scale(1.12)}100%{transform:translateY(-2px) scale(1.07)}}@keyframes v33-bars{0%{transform:scaleY(.65)}70%{transform:scaleY(1.12)}100%{transform:translateY(-2px) scaleY(1)}}
.bottom-nav .fab{box-shadow:0 10px 24px rgba(22,133,255,.27),inset 0 1px 0 rgba(255,255,255,.25)!important}.bottom-nav .fab .nav-icon{transition:transform .3s var(--motion-ease)!important}.bottom-nav .fab:active .nav-icon{transform:rotate(45deg) scale(1.08)}
.panel,.card,.hero-card,.stats-grid article,.report-grid article,.cards-list>*,.mini-row{transition:transform var(--motion-mid) var(--motion-ease),box-shadow var(--motion-mid) ease,border-color var(--motion-mid) ease,background-color .32s ease!important}
dialog[open]{animation:v33-dialog .22s var(--motion-ease)}@keyframes v33-dialog{from{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:none}}
.icon-btn{transform-origin:center}.icon-btn:active{transform:rotate(8deg) scale(.92)!important}
body:not(.dark) .panel:hover,body:not(.dark) .card:hover{box-shadow:0 12px 30px rgba(35,60,92,.11)!important}
.dark .bottom-nav .fab{box-shadow:0 10px 26px rgba(28,132,255,.35),0 0 18px rgba(28,132,255,.10),inset 0 1px 0 rgba(255,255,255,.18)!important}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition-duration:.01ms!important}}
