/* Short, non-blocking entrances. Existing content stays visible if JS fails. */
@keyframes site-arrive{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@keyframes loading-breathe{0%,100%{opacity:.35}50%{opacity:1}}
.workspace #shell{animation:none}
.workspace aside,.workspace header,.workspace footer,
.modern-auth .auth-header,.modern-auth .intro-copy,.modern-auth footer,
.modern-recovery header,.modern-recovery main,.modern-guide .guide{
 animation:site-arrive .42s cubic-bezier(.2,.7,.2,1) both;
}
.workspace header,.modern-auth .intro-copy,.modern-recovery main{animation-delay:45ms}
.workspace footer,.modern-auth footer{animation-delay:90ms}
.page-loading{min-height:65vh;display:grid;place-content:center;justify-items:center;gap:16px;color:#476653;font-size:14px}
.page-loading .brand-icon{width:44px;height:48px;display:grid;place-items:center;font-size:36px;color:white;background:#185c44;animation:loading-breathe 1.2s ease-in-out infinite}
.page-loading p{margin:0}
@media(prefers-reduced-motion:reduce){
 *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
}
