/* AVENSHORE CARE — MOTION SYSTEM v1.0
   Design principles: calm, purposeful, short, and optional. Avoid parallax,
   auto-playing 3D motion and perpetual page decorations in care workflows. */
:root{--motion-fast:150ms;--motion-standard:260ms;--motion-slow:420ms;--motion-ease:cubic-bezier(.22,1,.36,1);--gold:#D6B77B;--teal:#0E6B67}
#boot-screen{position:fixed;inset:0;z-index:200;display:grid;place-items:center;min-height:100dvh;padding:24px;background:radial-gradient(ellipse at 50% 27%,#e6f3ee 0%,#f7f5ef 45%,#ffffff 100%);color:#104e4a;transition:opacity var(--motion-slow) ease,visibility var(--motion-slow) ease;visibility:visible;opacity:1}
body.booted #boot-screen{opacity:0;visibility:hidden;pointer-events:none}
.boot-inner{text-align:center;width:min(100%,370px);display:flex;flex-direction:column;align-items:center}
.boot-mark{width:96px;height:96px;border-radius:27px;box-shadow:0 15px 40px rgba(14,107,103,.12);background:white;display:grid;place-items:center;border:1px solid #e9efe7;margin-bottom:22px}
.boot-mark img{width:70px;height:70px}
.boot-wordmark{font-size:clamp(25px,5vw,33px);font-weight:800;letter-spacing:-1.4px;line-height:1.18}
.boot-wordmark span{font-weight:500}
.boot-tagline{letter-spacing:2.2px;font-weight:750;font-size:9px;color:#8a754e;margin-top:10px}
.boot-indicator{display:flex;justify-content:center;gap:8px;margin:31px 0 15px;min-height:11px}
.boot-indicator span{width:8px;height:8px;border-radius:50%;background:#159d8b;animation:calmPulse 1300ms ease-in-out infinite}
.boot-indicator span:nth-child(2){animation-delay:170ms;background:#D6B77B}
.boot-indicator span:nth-child(3){animation-delay:340ms}
.boot-caption{margin:0 0 27px;color:#617872;font-size:14px}
.boot-skeleton{width:100%;display:flex;flex-direction:column;gap:11px;align-items:center;opacity:.67}
.boot-skeleton span{height:10px;border-radius:99px;background:linear-gradient(100deg,#e4ede7 22%,#f8fcf9 50%,#e4ede7 78%);background-size:210% 100%;animation:skeletonGlide 1.9s linear infinite;width:72%}
.boot-skeleton span:last-child{width:48%}
.request-progress{position:fixed;top:0;left:0;right:0;height:3px;z-index:150;pointer-events:none;opacity:0;transition:opacity 150ms}
.request-progress.is-busy{opacity:1}
.request-progress span{display:block;width:35%;height:100%;background:linear-gradient(90deg,#0E6B67,#19A69A,#D6B77B);border-radius:99px;animation:requestTravel 1.5s ease-in-out infinite}
#app[aria-busy="true"] .btn[type="submit"]{filter:saturate(.85)}
#app.animate-view>.shell,#app.animate-view>.public-header,#app.animate-view>.public-main,#app.animate-view>.auth-wrap{animation:quietReveal var(--motion-standard) var(--motion-ease) both}
.toast{animation:toastReveal var(--motion-standard) var(--motion-ease) both}
/* Elegant, lightweight interaction states, no animation required to use controls */
.nav-button,.bottom-nav button,.icon-btn,.btn,.quick,.feature,.conversation-row{transition:background-color var(--motion-fast) ease,border-color var(--motion-fast) ease,box-shadow var(--motion-standard) ease,transform var(--motion-fast) ease}
@keyframes calmPulse{0%,65%,100%{opacity:.38;transform:scale(.72)}30%{opacity:1;transform:scale(1.08)}}
@keyframes skeletonGlide{0%{background-position:220% 0}100%{background-position:-80% 0}}
@keyframes requestTravel{0%{transform:translateX(-120%)}60%{transform:translateX(210%)}100%{transform:translateX(340%)}}
@keyframes quietReveal{from{opacity:.4;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}
@keyframes toastReveal{from{opacity:0;transform:translate(-50%,8px)}to{opacity:1;transform:translate(-50%,0)}}
/* Reduced motion is a patient safety requirement; preserve status text. */
@media(prefers-reduced-motion:reduce){
 #boot-screen,.request-progress,.nav-button,.bottom-nav button,.icon-btn,.btn,.quick,.feature,.conversation-row{transition:none!important}
 .boot-indicator span,.boot-skeleton span,.request-progress span,.toast,#app.animate-view>.shell,#app.animate-view>.public-header,#app.animate-view>.public-main,#app.animate-view>.auth-wrap{animation:none!important}
 .boot-indicator span{opacity:1;transform:none}
 .boot-skeleton span{background:#e4ede7}
 .request-progress span{width:100%;transform:none}
}
