/* NAMUVEST Motion System • optional, GPU-friendly, no synthetic financial data.
   Animations respect prefers-reduced-motion and the user's FX switch. */
:root { --motion-ease:cubic-bezier(.22,1,.36,1); --motion-fast:220ms; --motion-mid:520ms; }
body::before {content:"";position:fixed;pointer-events:none;inset:0;z-index:0;opacity:.36;
  background:radial-gradient(ellipse 55% 48% at 83% -18%,rgba(104,83,245,.12),transparent 75%),
             radial-gradient(ellipse 43% 30% at -11% 80%,rgba(45,185,167,.045),transparent 75%);}
.main-pane, .sidebar, .bottom-nav { isolation:isolate; }
.content {position:relative;z-index:1;}

/* Subtle app polish */
.motion-enabled .brand-logo {animation:brandAura 6s ease-in-out infinite;}
.motion-enabled .brand-logo svg {transition:transform .55s var(--motion-ease);}
.motion-enabled .brand:hover .brand-logo svg {transform:rotate(-12deg) scale(1.12);}
.motion-enabled .nav-btn, .motion-enabled .bottom-nav button {transition:background .25s ease,color .25s ease,transform .33s var(--motion-ease),box-shadow .25s ease;}
.motion-enabled .nav-btn:hover {transform:translateX(4px);}
.side-nav .nav-btn {position:relative;overflow:hidden;}
.motion-enabled .side-nav .nav-btn.active::before {content:"";position:absolute;left:0;top:20%;height:60%;width:3px;border-radius:0 4px 4px 0;background:linear-gradient(#b7acff,#5b4bf5);box-shadow:0 0 16px #8d7dff85;animation:navIndicator .38s var(--motion-ease) both;}
.motion-enabled .nav-btn svg, .motion-enabled .bottom-nav svg {transition:transform .35s var(--motion-ease);}
.motion-enabled .nav-btn:hover svg, .motion-enabled .bottom-nav button:hover svg {transform:translateY(-2px) scale(1.08);}
.motion-enabled .bottom-nav button.active:not(.bottom-deposit) {background:#5f4ef21b;border-radius:13px;}
.motion-enabled .bottom-nav .bottom-deposit {transition:transform .32s var(--motion-ease),box-shadow .3s ease;}
.motion-enabled .bottom-nav .bottom-deposit:hover {transform:translateY(-17px) scale(1.035);box-shadow:0 0 0 6px #08090d,0 6px 29px #6752fc67;}
.motion-enabled .connection-dot, .motion-enabled .live-chip span {animation:liveSignal 2.7s ease-in-out infinite;}
.motion-enabled .status-chip {transition:border-color .22s ease,background .22s ease;}

/* Progress gives scroll feedback without faking account activity */
.scroll-progress {position:fixed;z-index:90;top:0;left:0;height:2px;width:100%;transform:scaleX(0);transform-origin:left;background:linear-gradient(90deg,#7263ff,#d3b9ff,#49d6b6);box-shadow:0 0 13px #8e7eff90;pointer-events:none;will-change:transform;}
.motion-toggle {display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid #343044;border-radius:9px;background:#211c36;color:#c6bbff;height:34px;min-width:50px;padding:0 9px;font-weight:800;font-size:10px;letter-spacing:.8px;transition:transform .23s ease,background .23s ease,border-color .23s ease;}
.motion-toggle:hover {transform:translateY(-1px);border-color:#8376dc;background:#332b55;}
.motion-toggle svg {width:15px;height:15px;}
.motion-toggle[aria-pressed="false"] {background:#17171d;color:#777582;border-color:#2d2b34;}
.motion-toggle:focus-visible,.nav-btn:focus-visible,.btn-primary:focus-visible,.action-card:focus-visible {outline:2px solid #bdb4ff;outline-offset:3px;}

/* Scroll-triggered staggered component entry */
.motion-enabled .motion-reveal {opacity:0;transform:translate3d(0,23px,0) scale(.986);filter:blur(3px);
  transition:opacity .7s var(--motion-ease),transform .75s var(--motion-ease),filter .65s ease;
  transition-delay:var(--reveal-delay,0ms);}
.motion-enabled .motion-reveal.motion-visible {opacity:1;transform:translate3d(0,0,0) scale(1);filter:blur(0);}
.motion-enabled .page.active {animation:pageSweep .5s var(--motion-ease) both;}
.motion-enabled .page.active .eyebrow-dot {animation:liveSignal 2.7s ease-in-out infinite;}
.motion-enabled .page-intro h1 {animation:titleEase .7s var(--motion-ease) both;}
.motion-enabled .page.active .gradient-dot {display:inline-block;animation:dotBounce .65s var(--motion-ease) .25s both;}

/* Interactive glass highlight: mouse only, no click interception */
.motion-enabled .stat-card,.motion-enabled .card,.motion-enabled .action-card {position:relative;transition:border-color .38s ease,box-shadow .38s ease,background-color .3s ease;}
.motion-enabled .stat-card::after,.motion-enabled .action-card::after,.motion-enabled .card.motion-spotlight::after {content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;opacity:0;
  background:radial-gradient(230px circle at var(--mx,50%) var(--my,50%),rgba(155,134,255,.14),transparent 75%);transition:opacity .25s ease;}
@media (hover:hover) and (pointer:fine) {
  .motion-enabled .stat-card:hover,.motion-enabled .card.motion-spotlight:hover {border-color:#555074;box-shadow:0 15px 34px #02020b60;}
  .motion-enabled .stat-card:hover::after,.motion-enabled .action-card:hover::after,.motion-enabled .card.motion-spotlight:hover::after {opacity:1;}
  .motion-enabled .action-card:hover {border-color:#8d7af7;box-shadow:0 13px 30px #3b287a27;}
}
.motion-enabled .stat-card .stat-icon,.motion-enabled .action-icon {transition:transform .55s var(--motion-ease),box-shadow .35s ease;}
.motion-enabled .stat-card:hover .stat-icon,.motion-enabled .action-card:hover .action-icon {transform:translateY(-3px) rotate(-8deg) scale(1.1);box-shadow:0 6px 19px #6556f51c;}
.motion-enabled .primary-stat::before {content:"";position:absolute;inset:-80% 0;pointer-events:none;transform:rotate(28deg) translateX(-180%);
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.045),transparent);transition:transform 1.05s var(--motion-ease);}
.motion-enabled .primary-stat:hover::before {transform:rotate(28deg) translateX(160%);}
.motion-enabled .stat-decoration {animation:orbBreathe 8s ease-in-out infinite;}
.motion-enabled .action-card>span:last-child {transition:transform .32s var(--motion-ease),color .32s ease;}
.motion-enabled .action-card:hover>span:last-child {transform:translate(3px,-3px);color:#c6bdff;}
.motion-enabled .info-panel {background-size:180% 180%;animation:glowShift 13s ease-in-out infinite alternate;}

/* Button shine, subtle press response and click ripple */
.motion-enabled .btn-primary,.motion-enabled .btn-outline,.motion-enabled .tiny-button,.motion-enabled .icon-btn,.motion-enabled .action-card,.motion-enabled .nav-btn,.motion-enabled .bottom-nav button {position:relative;overflow:hidden;}
.motion-enabled .btn-primary:not(:disabled) {background-size:200% 100%;background-image:linear-gradient(112deg,#6858f6 0%,#5446d9 35%,#8b79ff 55%,#5b4cdb 100%);transition:transform .28s var(--motion-ease),box-shadow .28s ease,background-position .65s ease;}
.motion-enabled .btn-primary:hover:not(:disabled) {background-position:100% 0;transform:translateY(-2px);box-shadow:0 12px 30px #6755eb46;filter:none;}
.motion-enabled .btn-primary:active:not(:disabled),.motion-enabled .action-card:active,.motion-enabled .btn-outline:active {transform:scale(.975);}
.motion-enabled .btn-primary svg,.motion-enabled .btn-outline svg,.motion-enabled .link-button svg {transition:transform .3s var(--motion-ease);}
.motion-enabled .btn-primary:hover svg,.motion-enabled .btn-outline:hover svg,.motion-enabled .link-button:hover svg {transform:translateX(3px);}
.motion-ripple {position:absolute!important;border-radius:50%;pointer-events:none;z-index:6;background:rgba(220,212,255,.26);width:14px;height:14px;left:var(--ripple-x);top:var(--ripple-y);transform:translate(-50%,-50%) scale(0);animation:rippleWave .65s ease-out forwards;}
.motion-enabled .notice:not(.hidden) {animation:toastSlide .42s var(--motion-ease) both;}
.motion-enabled .profile-menu:not(.hidden) {animation:menuBloom .26s var(--motion-ease) both;transform-origin:top right;}
.motion-enabled .sidebar.mobile-open {box-shadow:15px 0 55px #0008;}
.motion-enabled .mobile-shade:not(.hidden) {animation:shadeEnter .26s ease both;}
.motion-enabled .small-record,.motion-enabled .activity-row,.motion-enabled .data-table tbody tr {transition:background .22s ease,padding-left .22s ease;}
.motion-enabled .activity-row:hover,.motion-enabled .small-record:hover {padding-left:7px;background:#ffffff04;}
.motion-enabled .data-table tbody tr:hover {background:#7962ed0b;}
.motion-enabled .change-chip {transition:transform .22s ease,filter .22s ease;}
.motion-enabled .change-chip:hover {transform:scale(1.035);filter:brightness(1.18);}
.motion-enabled input:focus,.motion-enabled select:focus {transition:border-color .22s,box-shadow .28s ease;box-shadow:0 0 0 4px #8878ff21,0 0 21px #6253ff14;}

/* Charts: only actual exchange candles are shown. Motion does not synthesize prices. */
.motion-enabled .chart-card {overflow:hidden;}
.motion-enabled .chart-badge {animation:softTint 5s ease-in-out infinite alternate;}
.motion-enabled .chart-wrap canvas.chart-refresh {animation:chartReveal .65s var(--motion-ease) both;}
.motion-enabled .tier-chart .tier-bar {transform-origin:bottom center;animation:tierRise .85s var(--motion-ease) both;animation-delay:calc(var(--tier-index,0) * 85ms);transition:background .25s ease,border .25s ease,filter .25s ease;}
.motion-enabled .tier-item:hover .tier-bar {filter:brightness(1.3);}
.motion-enabled .tier-item.selected .tier-bar {box-shadow:inset 0 0 0 1px #8879fa42,0 0 21px #6858ff25;}
.motion-enabled .tier-item .tier-amount {transition:color .24s ease,transform .24s ease;}
.motion-enabled .tier-item:hover .tier-amount {transform:translateY(-3px);color:#d3ccff;}

/* Login: ambient gradients, decorative orbital glows and rising data bars. */
.auth-overlay {isolation:isolate;}
.motion-enabled .auth-panel {animation:authPanelIn .85s var(--motion-ease) both;}
.motion-enabled .auth-art::before {content:"";position:absolute;inset:-55%;background:conic-gradient(from 0deg,transparent 0deg,#9f7dff0e 68deg,transparent 125deg,#6054f91a 230deg,transparent 290deg);animation:ambientSpin 40s linear infinite;}
.motion-enabled .auth-glow {animation:glowDrift 12s ease-in-out infinite alternate;}
.motion-enabled .art-grid {animation:gridFloat 21s linear infinite;}
.art-orbit {position:absolute;pointer-events:none;left:50%;top:44%;width:min(45vw,510px);aspect-ratio:1;border:1px solid #8473fb18;border-radius:50%;transform:translate(-50%,-50%);}
.art-orbit::after {content:"";position:absolute;left:50%;top:-4px;width:8px;height:8px;border-radius:50%;background:#c0b4ff;box-shadow:0 0 24px #a593ff88;}
.art-orbit.orbit-two {width:min(60vw,700px);border-color:#7165dd12;opacity:.65;}
.art-orbit.orbit-two::after {background:#42dfbd;box-shadow:0 0 21px #42dfbd77;}
.motion-enabled .art-orbit {animation:orbitTravel 28s linear infinite;}
.motion-enabled .art-orbit.orbit-two {animation-duration:42s;animation-direction:reverse;}
.motion-enabled .auth-art h2,.motion-enabled .auth-art p,.motion-enabled .art-badge {transition:transform .6s ease;transform:translate3d(var(--art-shift-x,0px),var(--art-shift-y,0px),0);}
.motion-enabled .art-lines div {transform-origin:bottom;animation:barDance 4.5s ease-in-out infinite alternate;animation-delay:calc(var(--line-index,0) * -420ms);}
.motion-enabled .art-badge svg {animation:shieldFloat 4s ease-in-out infinite;}
.motion-enabled .auth-overlay.auth-exiting {animation:authDismiss .46s var(--motion-ease) both;pointer-events:none;}
.motion-enabled .auth-panel .form-stack:not(.hidden) {animation:formEnter .44s var(--motion-ease) both;}
.motion-enabled .auth-copy {animation:formEnter .6s var(--motion-ease) both;}
.motion-enabled .auth-brand .brand-logo {box-shadow:0 0 29px #6556f527;}

@keyframes brandAura {0%,100%{box-shadow:0 0 0 #6656ff00}50%{box-shadow:0 0 24px #6656ff24}}
@keyframes navIndicator {from{transform:scaleY(.2);opacity:.2}to{transform:scaleY(1);opacity:1}}
@keyframes liveSignal {0%,100%{box-shadow:0 0 0 0 #38d3a350}50%{box-shadow:0 0 0 5px #38d3a300}}
@keyframes pageSweep {from{opacity:.6;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}
@keyframes titleEase {from{opacity:.5;transform:translateY(12px);letter-spacing:-2px}to{opacity:1;transform:translateY(0)}}
@keyframes dotBounce {from{opacity:0;transform:translateY(-9px) scale(.6)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes orbBreathe {0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(-20px,-15px) scale(1.2)}}
@keyframes glowShift {from{background-position:0% 40%}to{background-position:100% 75%}}
@keyframes rippleWave {to{transform:translate(-50%,-50%) scale(21);opacity:0}}
@keyframes toastSlide {from{transform:translateY(-13px);opacity:0}to{transform:translateY(0);opacity:1}}
@keyframes menuBloom {from{opacity:0;transform:translateY(-8px) scale(.94)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes shadeEnter {from{opacity:0}to{opacity:1}}
@keyframes chartReveal {from{opacity:.36;transform:translateY(5px) scale(.995)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes tierRise {from{transform:scaleY(.1);opacity:.2}to{transform:scaleY(1);opacity:1}}
@keyframes softTint {to{color:#c2b9ff}}
@keyframes authPanelIn {from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}
@keyframes ambientSpin {to{transform:rotate(360deg)}}
@keyframes glowDrift {to{transform:translate(160px,105px) scale(1.4)}}
@keyframes gridFloat {to{background-position:55px 55px}}
@keyframes orbitTravel {from{transform:translate(-50%,-50%) rotate(0deg)}to{transform:translate(-50%,-50%) rotate(360deg)}}
@keyframes barDance {from{transform:scaleY(.78);opacity:.66}to{transform:scaleY(1.05);opacity:1}}
@keyframes shieldFloat {50%{transform:translateY(-3px)}}
@keyframes authDismiss {to{opacity:0;transform:scale(1.025);filter:blur(8px)}}
@keyframes formEnter {from{opacity:.5;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}

@media(max-width:650px) {
  .motion-toggle {min-width:38px;width:38px;height:33px;padding:0;}
  .motion-toggle .fx-label {display:none;}
  .motion-enabled .motion-reveal {transform:translateY(15px);filter:none;transition-duration:.54s;}
  .motion-enabled .stat-card:hover .stat-icon {transform:none;}
  .motion-enabled .auth-art,.art-orbit {display:none;}
  .scroll-progress {height:2px;}
}
@media (prefers-reduced-motion:reduce) {
  html:not(.motion-force-on) *,html:not(.motion-force-on) *::before,html:not(.motion-force-on) *::after {animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important;}
  html:not(.motion-force-on) .motion-reveal {opacity:1!important;transform:none!important;filter:none!important;}
}
html.motion-off *,html.motion-off *::before,html.motion-off *::after {animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important;}
html.motion-off .motion-reveal {opacity:1!important;transform:none!important;filter:none!important;}

/* Keep interactive lift active after each scroll reveal has completed. */
@media (hover:hover) and (pointer:fine) {
  .motion-enabled .motion-reveal.motion-visible.action-card:hover {transform:translate3d(0,-4px,0) scale(1.012);}
  .motion-enabled .motion-reveal.motion-visible.stat-card:hover {transform:translate3d(0,-3px,0);}
}
