.auth-page{background:#eef6f1!important;background-image:linear-gradient(115deg,rgba(8,122,85,.08) 0,rgba(8,122,85,0) 34%,rgba(217,255,119,.16) 100%)!important}
.model-mark img{width:22px;height:22px;object-fit:contain}
.hero-v2-copy>*{opacity:0;animation:flask-rise .7s cubic-bezier(.2,.8,.2,1) forwards}
.hero-v2-copy>*:nth-child(2){animation-delay:.08s}.hero-v2-copy>*:nth-child(3){animation-delay:.16s}.hero-v2-copy>*:nth-child(4){animation-delay:.24s}.hero-v2-copy>*:nth-child(5){animation-delay:.32s}
.route-deck{opacity:0;animation:deck-enter .9s .16s cubic-bezier(.2,.8,.2,1) forwards}
.route-node.active{animation:route-live 3.2s ease-in-out infinite}
.deck-head i,.deck-response i{animation:status-pulse 2s ease-in-out infinite}
.btn{transition:transform .2s,box-shadow .2s,background .2s}.btn:hover{transform:translateY(-2px)}
.models article{transition:transform .25s,border-color .25s,box-shadow .25s}.models article:hover{transform:translateY(-5px);border-color:#8fc8ad;box-shadow:0 16px 38px rgba(10,70,52,.1)}
.models article:hover .model-mark{transform:rotate(-5deg) translateY(-3px)}.model-mark{transition:transform .25s}
@keyframes flask-rise{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
@keyframes deck-enter{from{opacity:0;transform:translateY(22px) rotate(1deg) scale(.98)}to{opacity:1;transform:none}}
@keyframes route-live{0%,100%{box-shadow:inset 3px 0 #4af0a5}50%{box-shadow:inset 3px 0 #dfff76,0 0 24px rgba(74,240,165,.08)}}
@keyframes status-pulse{0%,100%{opacity:.65}50%{opacity:1}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important}}
