.hero .hero-badge{animation:hero-copy-enter .65s both}
.hero h1{animation:hero-copy-enter .9s .07s both}
.hero .hero-button{animation:hero-copy-enter .9s .15s both}
.hero-button-arrow svg{transition:translate .3s cubic-bezier(.2,.8,.2,1)}
.hero-button:hover .hero-button-arrow svg{translate:4px 0}
@keyframes hero-copy-enter{from{opacity:0;translate:0 18px;filter:blur(5px)}to{opacity:1;translate:0 0;filter:blur(0)}}
.motion-waiting{opacity:0;translate:0 28px}
.motion-visible{animation:section-enter .7s var(--reveal-delay,0ms) cubic-bezier(.16,1,.3,1) both}
@keyframes section-enter{from{opacity:0;translate:0 28px}to{opacity:1;translate:0 0}}
.category-tabs button,.catalog-sidebar>button{transition:background .25s,border-color .25s,color .25s,box-shadow .25s}
.faq details[open]>p,.faq details[open] .faq-support{animation:answer-enter .32s ease-out}
@keyframes answer-enter{from{opacity:0;translate:0 -5px}to{opacity:1;translate:0 0}}
/* A short text transition and drawn check confirm clipboard success. */
.ip-button{position:relative;overflow:hidden;transition:border-color .2s,background .2s}
.ip-button.ip-copied{background:#68c9830e;border-color:#8cdda560}
.ip-copy-label{display:flex;flex-direction:column;min-width:130px;align-items:flex-start}
.ip-copy-value{display:block;white-space:nowrap}
.ip-copy-value.copy-confirmed{color:#b0e7bd;animation:copy-label-in .25s ease-out both}
.ip-copy-icon{display:grid;place-items:center;width:22px;height:22px;color:#9acdaa}
.ip-copy-icon.is-copied{color:#a7edb9}
.copy-tick{stroke-dasharray:23;stroke-dashoffset:23;animation:copy-draw .35s .06s ease-out forwards}
@keyframes copy-label-in{from{opacity:0;translate:0 7px}to{opacity:1;translate:0 0}}
@keyframes copy-draw{to{stroke-dashoffset:0}}
@media(prefers-reduced-motion:reduce){.hero .hero-badge,.hero h1,.hero .hero-button,.motion-visible,.faq details[open]>p,.faq details[open] .faq-support,.ip-copy-value.copy-confirmed,.copy-tick{animation:none!important}.motion-waiting{opacity:1;translate:none}.hero-button-arrow svg,.ip-button{transition:none}.copy-tick{stroke-dashoffset:0}}
