.creation-loading { margin: 16px 0; }
.creation-loading-label { display: flex; align-items: center; justify-content: center; gap: 8px; margin: 0 0 16px; color: var(--text-secondary, #6E626A); font-size: 12px; line-height: 1.6; }
.creation-loading-block { position: relative; overflow: hidden; border-radius: 8px; background: #F3F4F6; }
.creation-loading-block::after { content: ''; position: absolute; inset: 0; background: linear-gradient(100deg, transparent 20%, rgba(255, 255, 255, .7) 50%, transparent 80%); transform: translateX(-100%); animation: creation-loading-shimmer 1.8s ease-in-out infinite; }
.creation-loading-photo { aspect-ratio: 3 / 4; }
.creation-loading-label::before, .creation-loading-status[data-busy="true"]:not(:empty)::before { content: ''; display: inline-block; box-sizing: border-box; flex-shrink: 0; width: 14px; height: 14px; border: 2px solid #E5E7EB; border-top-color: var(--text-secondary, #6E626A); border-radius: 50%; animation: creation-loading-spin .8s linear infinite; }
.creation-loading-status[data-busy="true"]:not(:empty)::before { margin-right: 8px; vertical-align: -2px; }
.creation-loading[data-refreshing="true"] .creation-loading-layout { display: none; }
.novel-loading { max-width: 520px; margin-right: auto; margin-left: auto; }
.novel-loading-tabs { width: 120px; height: 20px; margin-bottom: 28px; }
.novel-loading-heading { width: 64px; height: 14px; margin: 20px 0 12px; border-radius: 4px; }
.novel-loading-casts { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; }
.novel-loading-cast { aspect-ratio: 1; }
.novel-loading-input { height: 150px; }
.novel-loading-options { height: 44px; }
@keyframes creation-loading-shimmer { to { transform: translateX(100%); } }
@keyframes creation-loading-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) {
    .creation-loading-block::after, .creation-loading-label::before, .creation-loading-status[data-busy="true"]::before { animation: none; }
}
