.music-loading{display:grid;justify-items:center;align-content:center;gap:12px;box-sizing:border-box;width:100%;padding:32px 16px;text-align:center;color:#e8dfed;font-family:var(--font-ui,sans-serif)}
.music-loading__art{display:block;flex:none;width:var(--music-size,160px);height:var(--music-size,160px);max-width:100%;overflow:visible}
.music-loading__blob{fill:#eea77e;transform-box:fill-box;transform-origin:center;animation:music-blob 2.8s ease-in-out infinite}
.music-loading__center-note{fill:#302634}
.music-loading__shadow{fill:#bca4ca;opacity:.14;transform-origin:80px 138px;animation:music-shadow 2.8s ease-in-out infinite}
.music-loading__note{fill:#c2add7;animation:music-note 2.6s var(--note-delay) ease-in-out infinite;transform:translate(var(--note-x),var(--note-y)) rotate(var(--note-tilt))}
.music-loading__note:nth-of-type(3n){fill:#a9cdc6}.music-loading__note:nth-of-type(3n + 1){fill:#eea77e}
.music-loading__label{max-width:28ch;font-size:14px;line-height:1.5;overflow-wrap:anywhere}
.social-shared-project>.music-loading{grid-column:1 / -1;--music-size:64px;padding:8px 0}
@keyframes music-blob{0%,100%{transform:translate(0,3px) rotate(-8deg) scale(.97,1.03)}50%{transform:translate(3px,-4px) rotate(8deg) scale(1.04,.96)}}
@keyframes music-shadow{0%,100%{transform:scaleX(1);opacity:.18}50%{transform:scaleX(.8);opacity:.1}}
@keyframes music-note{0%,100%{opacity:.55;transform:translate(var(--note-x),var(--note-y)) rotate(var(--note-tilt))}50%{opacity:1;transform:translate(calc(var(--note-x) + 4px),calc(var(--note-y) - 9px)) rotate(calc(var(--note-tilt) + 12deg))}}

.sodium-loading,#studio-boot.sodium-loading{position:fixed;inset:0;width:100%;height:100%;max-width:none;max-height:none;margin:0;padding:24px 16px;border:0;display:grid;place-items:center;box-sizing:border-box;overflow:auto;background:radial-gradient(ellipse at 25% 20%,#51405e66,transparent 60%),linear-gradient(140deg,#302a3d,#222e36);color:#eee7f3;z-index:2000;opacity:1;transition:opacity .25s ease;font-family:var(--font-ui,sans-serif)}
.sodium-loading::backdrop{background:radial-gradient(ellipse at 25% 20%,#51405e66,transparent 60%),linear-gradient(140deg,#302a3d,#222e36)}
.loading-scene{text-align:center;position:relative;width:min(440px,100%)}
.loading-wordmark{--wordmark-size:clamp(34px,8vw,52px);margin-bottom:12px}
.loading-scene .music-loading{padding:8px 0 24px}.loading-scene .music-loading__label{font-size:18px}
.loading-track{position:relative;height:6px;width:min(260px,100%);margin:auto;border:1px solid #8d7d9e66;border-radius:12px;overflow:hidden;background:#211f2d}
.loading-fill{position:absolute;inset:0;background:linear-gradient(90deg,#eea77e,#a8ccc8);transform:scaleX(var(--progress,0));transform-origin:left;transition:transform .3s ease}
.loading-scene h1{font:200 20px var(--font-heading,var(--font-display,sans-serif));margin:22px 0 8px;overflow-wrap:anywhere}
.loading-scene p{font-size:13px;color:#bdb5c9;margin:8px auto;line-height:1.6}.loading-scene output{font-size:12px;color:#c7badb;font-variant-numeric:tabular-nums;display:block;margin-top:10px}
.sodium-loading.loading-fade{opacity:0;pointer-events:none}.loading-error{margin-top:18px}.loading-error a{color:#cdb8e7}.loading-error button{min-height:36px;margin:4px;padding:6px 18px;background:#443b53;color:#f1e9f8;border:1px solid #8d7d9e;border-radius:5px}
.loading-paused .music-loading__art{display:none}.studio-booting #modal{visibility:hidden}
.page-loading #app,.page-loading #modal,.page-loading #admin-app,.page-loading>dialog:not(.sodium-loading){visibility:hidden}
.sodium-page-loading .loading-wordmark,.sodium-page-loading .loading-track,.sodium-page-loading h1,.sodium-page-loading .loading-scene>p,.sodium-page-loading output{display:none}
.sodium-loading #task-progress{visibility:hidden}
@media(max-height:600px){.loading-scene .music-loading__art{--music-size:112px}.loading-scene .music-loading{padding-bottom:16px}.loading-scene h1{margin-top:16px}}
@media(prefers-reduced-motion:reduce){.music-loading__blob,.music-loading__note,.music-loading__shadow{animation:none}.music-loading__note{opacity:.8}.loading-fill,.sodium-loading{transition:none}}
