.exercise-loading-shell{display:none}
.exercise-loading .exercise-loading-shell{display:block}
.exercise-loading .exercise-loading-fallback{display:none}
.exercise-loading-label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.exercise-skeleton-intro{padding-block:36px 28px;display:grid;gap:16px}
.exercise-skeleton-block{display:block;border-radius:10px;background:#e6e9f1;animation:exercise-skeleton-pulse 1.5s ease-in-out infinite}
.skeleton-heading{width:min(320px,80%);height:40px}
.skeleton-description{width:min(470px,95%);height:20px}
.exercise-skeleton-layout{display:grid;grid-template-columns:300px minmax(0,1fr);gap:28px;padding-bottom:48px;align-items:start}
.exercise-skeleton-map{border:1px solid #e1e5ef;background:#fff;border-radius:20px;padding:24px;display:grid;gap:24px}
.skeleton-map-title{width:65%;height:24px;margin:auto}
.skeleton-body{width:60%;height:350px;margin:auto;border-radius:40% 40% 24% 24%}
.skeleton-map-caption{height:18px;width:80%;margin:auto}
.exercise-skeleton-results{min-width:0;display:grid;gap:20px}
.exercise-skeleton-chips{display:flex;gap:10px;flex-wrap:wrap}
.exercise-skeleton-chips>.exercise-skeleton-block{height:36px;width:90px;max-width:25%}
.skeleton-search{height:48px;width:100%}
.exercise-skeleton-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.exercise-skeleton-card{padding:12px;border:1px solid #e1e5ef;border-radius:16px;background:#fff;display:grid;gap:14px}
.skeleton-image{aspect-ratio:4/3;width:100%}
.skeleton-card-title{height:22px;width:85%}
.skeleton-card-caption{height:16px;width:60%;margin-bottom:8px}
@keyframes exercise-skeleton-pulse{50%{opacity:.5}}
@media(max-width:1100px){.exercise-skeleton-layout{grid-template-columns:260px minmax(0,1fr);gap:20px}.exercise-skeleton-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.exercise-skeleton-layout{grid-template-columns:minmax(0,1fr)}.exercise-skeleton-map{display:none}.exercise-skeleton-intro{padding-block:24px}.skeleton-heading{height:34px}.exercise-skeleton-grid{gap:12px}}
@media(prefers-reduced-motion:reduce){.exercise-skeleton-block{animation:none}}
