.ccms-app-loader{justify-content:center;align-items:center;gap:var(--ccms-space-lg);background:radial-gradient(120% 90% at 50% -10%, var(--ccms-color-primary-soft) 0%, transparent 60%), var(--ccms-surface-sunken);width:100%;min-height:100vh;color:var(--ccms-text-muted);flex-direction:column;display:flex}.ccms-app-loader--inline{background:0 0;min-height:320px}.ccms-app-loader__mark{place-items:center;width:84px;height:84px;display:grid;position:relative}.ccms-app-loader__ring{border:3px solid var(--ccms-color-primary-border);border-top-color:var(--ccms-color-primary);border-radius:50%;animation:.9s linear infinite ccms-app-loader-spin;position:absolute;inset:0}.ccms-app-loader__ring--slow{border-width:2px;border-color:#0000;border-bottom-color:var(--ccms-color-primary-hover);animation-duration:1.6s;animation-direction:reverse;inset:10px}.ccms-app-loader__monogram{border-radius:var(--ccms-radius-lg);background:linear-gradient(135deg, var(--ccms-color-primary-hover), var(--ccms-color-primary));width:44px;height:44px;color:var(--ccms-text-inverse);font-size:var(--ccms-font-xl);font-weight:var(--ccms-weight-semibold);letter-spacing:.02em;box-shadow:var(--ccms-shadow-md);place-items:center;line-height:1;display:grid}.ccms-app-loader__text{align-items:center;gap:var(--ccms-space-xxs);text-align:center;flex-direction:column;display:flex}.ccms-app-loader__title{color:var(--ccms-text-strong);font-size:var(--ccms-font-lg);font-weight:var(--ccms-weight-semibold);line-height:var(--ccms-line-tight);margin:0}.ccms-app-loader__hint{font-size:var(--ccms-font-sm);margin:0}.ccms-app-loader__bar{border-radius:var(--ccms-radius-pill);background:var(--ccms-border);width:160px;height:3px;position:relative;overflow:hidden}.ccms-app-loader__bar:after{content:"";border-radius:inherit;background:var(--ccms-color-primary);width:40%;animation:ccms-app-loader-slide 1.4s var(--ccms-ease) infinite;position:absolute;inset-block:0}@keyframes ccms-app-loader-spin{to{transform:rotate(360deg)}}@keyframes ccms-app-loader-slide{0%{transform:translate(-100%)}to{transform:translate(250%)}}@media (prefers-reduced-motion:reduce){.ccms-app-loader__ring,.ccms-app-loader__bar:after{animation-duration:.01ms;animation-iteration-count:1}}
