/* InP Finance · animácie a odozva na akcie používateľa
   Všetko sa vypne pri nastavení systému „obmedziť pohyb“ (prefers-reduced-motion). */
:root{--ease:cubic-bezier(.2,.8,.2,1);--ease-out:cubic-bezier(.16,1,.3,1);--spring:cubic-bezier(.34,1.56,.64,1)}

/* tlačidlá: stlačenie, vlna pod prstom */
.btn,.acc-b,.acc-chip,#tabs .btn,.del,.ac-tabs button{transition:transform .16s var(--ease),background-color .18s,color .18s,box-shadow .2s,opacity .18s,border-color .18s}
.btn:active,.acc-b:active,.ac-tabs button:active{transform:scale(.97)}
.btn,.acc-b{position:relative;overflow:hidden;isolation:isolate}
.mo-rip{position:absolute;border-radius:50%;pointer-events:none;background:currentColor;opacity:.18;transform:scale(0);animation:moRip .55s var(--ease-out) forwards;z-index:-1}
@keyframes moRip{to{transform:scale(1);opacity:0}}

/* karty: jemné nadvihnutie pod myšou */
.card,.pn{transition:transform .22s var(--ease),box-shadow .22s var(--ease),border-color .22s}
@media(hover:hover){.cards .card:hover{transform:translateY(-2px);box-shadow:0 10px 24px -14px rgba(0,0,0,.35);border-color:var(--b)}}

/* políčka: plynulé zvýraznenie pri písaní */
input,select,textarea{transition:border-color .18s,box-shadow .18s,background-color .18s}
input[type=checkbox]:checked{animation:moPop .28s var(--spring)}
@keyframes moPop{0%{transform:scale(.8)}100%{transform:scale(1)}}

/* príchod obsahu (záložka, prvé načítanie) – postupne po sebe */
.mo-in{animation:moIn .42s var(--ease-out) both;animation-delay:calc(var(--i,0) * 45ms)}
@keyframes moIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}

/* riadky tabuliek: pridanie a odstránenie */
.er.mo-new{animation:moRow .38s var(--ease-out) both}
@keyframes moRow{from{opacity:0;transform:translateY(-6px) scale(.98);background:var(--teal-soft,rgba(14,159,110,.12))}to{opacity:1;transform:none}}
.er.mo-out{animation:moOut .2s var(--ease) forwards;pointer-events:none}
@keyframes moOut{to{opacity:0;transform:translateX(16px)}}

/* zmena hodnoty: krátke zablikanie podľa smeru */
.mo-up{animation:moUp .7s var(--ease)}
.mo-down{animation:moDown .7s var(--ease)}
@keyframes moUp{0%{background:color-mix(in srgb,var(--teal,#0E9F6E) 22%,transparent)}100%{background:transparent}}
@keyframes moDown{0%{background:color-mix(in srgb,var(--red,#D93C3C) 22%,transparent)}100%{background:transparent}}
.card .n.mo-up,.card .n.mo-down,#nw.mo-up,#nw.mo-down{border-radius:8px;box-decoration-break:clone}

/* stav uloženia */
#st.mo-saved{animation:moSaved .9s var(--ease)}
@keyframes moSaved{0%{color:var(--teal,#0E9F6E)}100%{color:inherit}}
#st.mo-saved::before{content:"✓ ";display:inline-block;animation:moPop .3s var(--spring)}

/* grafy: čiara sa nakreslí */
.mo-draw{stroke-dasharray:var(--len);stroke-dashoffset:var(--len);animation:moDraw .9s var(--ease-out) forwards}
@keyframes moDraw{to{stroke-dashoffset:0}}
.ch .an{transition:opacity .4s}
.mo-fade{animation:moFade .6s var(--ease) both}
@keyframes moFade{from{opacity:0}}

/* ukazovatele: plynulé dobehnutie */
.bar div,.rbar i,.mb i{transition:width .7s var(--ease-out)}

/* oznámenie po akcii */
.mo-toast{position:fixed;left:50%;bottom:calc(20px + env(safe-area-inset-bottom));z-index:300;transform:translate(-50%,16px);opacity:0;max-width:min(92vw,460px);
 display:flex;gap:10px;align-items:center;padding:12px 16px;border-radius:14px;background:var(--t,#111);color:var(--p,#fff);font:600 14px/1.4 var(--sans,system-ui);
 box-shadow:0 18px 40px -16px rgba(0,0,0,.55);transition:transform .32s var(--spring),opacity .25s;pointer-events:auto}
.mo-toast.show{transform:translate(-50%,0);opacity:1}
.mo-toast i{font-style:normal;flex:none;width:22px;height:22px;border-radius:50%;display:grid;place-items:center;font-size:13px;background:var(--teal,#0E9F6E);color:#fff}
.mo-toast.err i{background:var(--red,#D93C3C)}
.mo-toast.warn i{background:var(--amber,#C27C0E)}

/* oslava (uzavretý mesiac, cieľ) */
.mo-burst{position:fixed;width:8px;height:8px;border-radius:2px;pointer-events:none;z-index:310;animation:moBurst .9s var(--ease-out) forwards}
@keyframes moBurst{0%{transform:translate(0,0) rotate(0);opacity:1}100%{transform:translate(var(--x),var(--y)) rotate(var(--r));opacity:0}}

/* záložky: aktívna sa jemne „usadí“ */
#tabs .btn.on{animation:moTab .3s var(--spring)}
@keyframes moTab{from{transform:scale(.94)}to{transform:none}}

/* okná (konflikt) */
.acc-modal{animation:moFade .2s var(--ease)}
.acc-modal .acc-card{animation:moIn .32s var(--spring)}

/* portál: karty nástrojov pri skrolovaní */
.mo-reveal{opacity:0;transform:translateY(16px);transition:opacity .5s var(--ease-out),transform .5s var(--ease-out);transition-delay:calc(var(--i,0) * 60ms)}
.mo-reveal.mo-seen{opacity:1;transform:none}

@media (prefers-reduced-motion:reduce){
 *,*::before,*::after{animation-duration:.001ms!important;animation-delay:0s!important;transition-duration:.001ms!important;transition-delay:0s!important}
 .mo-reveal{opacity:1;transform:none}
 .mo-burst,.mo-rip{display:none}
}
