/* Shared loading feedback: retain content during refresh and honor reduced motion. */
.loading-feedback{display:flex;align-items:center;justify-content:center;gap:12px;min-height:120px;color:#59634f;font:16px/1.5 system-ui}.loading-feedback p{margin:0}
.loading-spinner,[data-buffering="true"]::before,#presentation-feedback[aria-busy="true"]::before{content:"";display:inline-block;flex:none;width:18px;height:18px;border:2px solid #2450f526;border-top-color:#2450f5;border-radius:50%;animation:loading-spin .8s linear infinite;vertical-align:middle}
[data-buffering="true"]::before,#presentation-feedback[aria-busy="true"]::before{margin-right:9px}
.loading-skeleton{width:100%;display:grid;gap:14px;margin:12px auto 24px}.loading-skeleton i{display:block;height:78px;border:1px solid #d8dfcf;border-radius:12px;background:linear-gradient(100deg,#eef1e7 25%,#fafbf5 45%,#eef1e7 65%);background-size:220% 100%;animation:loading-shimmer 1.8s ease-in-out infinite}.loading-skeleton i:first-child{height:32px;width:38%;border:0}.loading-skeleton.lesson{width:min(76vw,860px)}.loading-skeleton.lesson i:last-child{height:clamp(150px,37vw,430px);aspect-ratio:16/9}
#studio-startup .loading-feedback{min-height:36px}#studio-startup[data-failed] .loading-skeleton,#studio-startup[data-failed] .loading-spinner{display:none}
#folder-navigation{display:contents}
@keyframes loading-spin{to{transform:rotate(360deg)}}@keyframes loading-shimmer{to{background-position:-120% 0}}
@media(prefers-reduced-motion:reduce){.loading-spinner,[data-buffering="true"]::before,#presentation-feedback[aria-busy="true"]::before,.loading-skeleton i{animation:none}}
