:root{--ease-out:cubic-bezier(.16, 1, .3, 1);--ease-spring:cubic-bezier(.34, 1.4, .64, 1);--t-enter:.32s}@media (prefers-reduced-motion:reduce){:root{--t-enter:0s}}@keyframes rise-in{0%{opacity:0;transform:translateY(6px)}}@keyframes fade-only{0%{opacity:0}}@keyframes pop{0%{transform:scale(.6)}60%{transform:scale(1.12)}to{transform:scale(1)}}@keyframes grow-x{0%{transform:scaleX(0)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.btn{transition:background var(--t-fast) var(--ease), border-color var(--t-fast) var(--ease), transform .12s var(--ease-out), box-shadow var(--t-fast) var(--ease)}.btn:active:not(:disabled){transform:scale(.97)}.btn.primary{box-shadow:inset 0 1px #ffffff1f,0 1px 2px #1428502e}@media (hover:hover){.btn.primary:hover:not(:disabled){box-shadow:0 1px 0 #ffffff1f inset, 0 4px 12px color-mix(in srgb, var(--accent) 30%, transparent);transform:translateY(-1px)}.btn.primary:active:not(:disabled){transform:translateY(0)scale(.98)}}.btn svg{transition:transform var(--t-med) var(--ease-out)}@media (hover:hover){.btn:hover svg.lucide-refresh-ccw,.btn:hover svg.lucide-refresh-cw{transform:rotate(-60deg)}.btn:hover svg.lucide-plus{transform:rotate(90deg)}.btn:hover svg.lucide-arrow-right,.link:hover svg.lucide-arrow-right{transform:translate(2px)}}.seg button{transition:background var(--t-fast) var(--ease), color var(--t-fast) var(--ease), box-shadow var(--t-med) var(--ease-out), transform .12s var(--ease-out)}.seg button:active{transform:scale(.96)}:focus-visible{transition:box-shadow var(--t-fast) var(--ease)}.nav-link svg{transition:transform var(--t-med) var(--ease-spring)}@media (hover:hover){.nav-link:hover svg{transform:translate(1px)scale(1.06)}}.tabbar a{transition:color var(--t-fast) var(--ease), background var(--t-fast) var(--ease), transform .12s var(--ease-out);position:relative}.tabbar a:active{transform:scale(.94)}.tabbar a[aria-current=page] svg{color:var(--accent)}.tabbar a[aria-current=page]:before{content:"";background:var(--accent);border-radius:2px;height:2px;position:absolute;top:-6px;left:30%;right:30%}.card{transition:border-color var(--t-med) var(--ease), box-shadow var(--t-med) var(--ease)}@media (hover:hover){:is(.card:has(>.card-head a:hover),.card:has(>a:hover)){border-color:var(--line-strong);box-shadow:0 4px 16px #14141e0f}.li:hover .amount{transform:translate(-2px)}}.li .amount{transition:transform var(--t-med) var(--ease-out)}.li:active,tbody tr.clickable:active{background:var(--surface-3)}.badge{transition:background var(--t-med) var(--ease), color var(--t-med) var(--ease)}.progress>span,.bar span{transition:width var(--t-med) var(--ease-out)}.chart svg circle{transition:r var(--t-fast) var(--ease-out), opacity var(--t-fast) var(--ease)}.tooltip{animation:fade-only .12s var(--ease) both}dialog.panel .panel-body>*{animation:rise-in var(--t-enter) var(--ease-out) both;animation-delay:60ms}@media (max-width:820px){dialog.panel .panel-head{padding-top:var(--s5);position:relative}dialog.panel .panel-head:before{content:"";background:var(--line-strong);border-radius:2px;width:36px;height:4px;margin-left:-18px;position:absolute;top:8px;left:50%}dialog.panel[open]{animation:sheet-in .28s var(--ease-out)}}details[open]>:not(summary){animation:rise-in .22s var(--ease-out) both}details>summary:before{transition:transform var(--t-fast) var(--ease);display:inline-block}.task .tick{transition:background var(--t-fast) var(--ease), border-color var(--t-fast) var(--ease), transform .12s var(--ease-out)}.task .tick:active{transform:scale(.88)}.task .tick[aria-pressed=true] svg{animation:pop .32s var(--ease-spring)}.task .ttl{transition:color var(--t-med) var(--ease)}.toast{animation:toast-in .26s var(--ease-spring)}.skeleton{background:linear-gradient(90deg, var(--surface-2) 25%, var(--surface-3) 50%, var(--surface-2) 75%);background-size:200% 100%;animation:1.4s linear infinite shimmer}.mc-card[aria-pressed=true] .mc-name{transition:color var(--t-fast) var(--ease);color:var(--accent-ink)}
