.project-loading-overlay[hidden] { display: none; }
.project-loading-overlay { position: absolute; inset: 0; z-index: 1200; display: flex; align-items: center; justify-content: center; background: rgb(8 15 23 / 65%); cursor: progress; }
.project-loading-progress { width: 50%; min-width: 0; color: #fff; }
.project-loading-label { margin-bottom: 12px; font-size: 15px; line-height: 1.4; overflow-wrap: anywhere; }
.project-loading-progress progress { display: block; appearance: none; width: 100%; height: 22px; border: 0; border-radius: 4px; overflow: hidden; background: #34434d; accent-color: #22c7bd; }
.project-loading-progress progress::-webkit-progress-bar { background: #34434d; border-radius: 4px; }
.project-loading-progress progress::-webkit-progress-value { background: #22c7bd; border-radius: 4px; }
.project-loading-progress progress::-moz-progress-bar { background: #22c7bd; }
.project-loading-total-label { margin: 22px 0 8px; font-size: 15px; line-height: 1.4; font-variant-numeric: tabular-nums; }
.project-loading-progress .project-loading-total::-webkit-progress-value { background: #8acbff; }
.project-loading-progress .project-loading-total::-moz-progress-bar { background: #8acbff; }
.project-loading-progress progress:not([value]) { animation: project-loading-pulse 1.2s ease-in-out infinite alternate; }
.project-loading-progress progress:not([value])::-webkit-progress-bar { background: #159f99; }
@keyframes project-loading-pulse { to { opacity: .5; } }
@media (prefers-reduced-motion: reduce) { .project-loading-progress progress { animation: none; } }
.project-load-restore { max-width: min(520px, calc(100vw - 32px)); box-sizing: border-box; border: 1px solid #566575; border-radius: 6px; background: #17212c; color: #fff; padding: 20px; }
.project-load-restore::backdrop { background: rgb(0 0 0 / 45%); }
.project-load-restore p { margin: 0 0 18px; font-size: 15px; }
.project-load-restore-actions { display: flex; flex-wrap: wrap; gap: 10px; justify-content: flex-end; }
.project-load-restore button { white-space: normal; max-width: 100%; padding: 8px 12px; color: #fff; background: #243745; border: 1px solid #22c7bd; border-radius: 4px; cursor: pointer; }
