:root{color:#f5f3fa;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background:#111017;font-family:system-ui,sans-serif}*,:before,:after{box-sizing:border-box}body{padding-bottom:var(--music-player-height,0px);margin:0}button,input,select,textarea{font:inherit}.welcome{background:radial-gradient(circle at 100% 0,#302044 0,#0000 55%);flex-direction:column;justify-content:center;align-items:flex-start;min-height:100vh;padding:clamp(24px,8vw,120px);display:flex}.welcome__label{color:#c5a5f5;letter-spacing:.15em;font-size:.75rem;font-weight:700}.welcome h1{letter-spacing:-.05em;overflow-wrap:anywhere;margin:24px 0;font-size:clamp(2.5rem,7vw,6rem);line-height:1.05}.welcome p{color:#bcb5c8;max-width:540px;margin:0;font-size:1.15rem;line-height:1.7}.welcome__status{color:#dfc9ff;border:1px solid #66517f;border-radius:8px;margin-top:36px;padding:12px 18px;font-size:.875rem}.artists-page{width:100%;max-width:1200px;margin:0 auto;padding:48px 24px}.artists-page__back{color:#c5a5f5;text-decoration:none}.artists-page__back:hover{text-decoration:underline}.artists-page__back:focus-visible{outline-offset:4px;outline:2px solid #c5a5f5}.artists-page h1{overflow-wrap:anywhere;margin:32px 0 12px;font-size:clamp(2rem,5vw,3.5rem)}.artists-page>p{color:#bcb5c8;line-height:1.7}.artists-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:24px;margin-top:32px;display:grid}.artist-card{overflow-wrap:anywhere;background:#1a1622;border:1px solid #393044;border-radius:16px;min-width:0;padding:28px}.artist-card h2{margin:0 0 16px}.artist-card>h2{margin-top:16px}.artist-card p{color:#bcb5c8;line-height:1.7}.artist-card__location{color:#c5a5f5;font-size:.875rem}.artist-card h2 a{color:inherit;text-decoration:none}.artist-card h2 a:hover{color:#c5a5f5}.artist-card h2 a:focus-visible{outline-offset:6px;outline:2px solid #c5a5f5}.artist-profile{background:linear-gradient(135deg,#302044,#1a1622);border:1px solid #393044;border-radius:20px;margin-top:32px;padding:clamp(24px,5vw,56px)}.artist-profile__intro{color:#dfd7e9;max-width:700px;font-size:1.2rem;line-height:1.7}.artist-biography{max-width:800px;margin-top:40px}.artist-biography p{color:#bcb5c8;line-height:1.8}.artist-biography__text{white-space:pre-wrap;overflow-wrap:anywhere}.artist-genres{flex-wrap:wrap;gap:8px;margin:20px 0;padding:0;list-style:none;display:flex}.artist-genres__item{color:#e2cdff;background:#ffffff08;border:1px solid #80629f;border-radius:999px;padding:6px 14px;font-size:.875rem}.artist-links{margin-top:40px}.artist-links__list{flex-wrap:wrap;gap:12px;padding:0;list-style:none;display:flex}.artist-links__list li{min-width:0;max-width:100%}.artist-links__list a{color:#e2cdff;overflow-wrap:anywhere;border:1px solid #66517f;border-radius:10px;max-width:100%;padding:12px 18px;text-decoration:none;display:inline-block}.artist-links__list a:hover{background:#302044;border-color:#c5a5f5}.artist-links__list a:focus-visible{outline-offset:4px;outline:2px solid #c5a5f5}.artist-links__hint{color:#bcb5c8;font-size:.8rem}.album-artists{flex-wrap:wrap;gap:8px 16px;margin:16px 0 0;padding:0;list-style:none;display:flex}.music-player{z-index:1000;width:100%;padding:14px max(24px,50% - 576px);padding-bottom:calc(14px + env(safe-area-inset-bottom,0px));text-align:left;background:#191420;border-top:1px solid #66517f;grid-template-columns:minmax(0,1fr) minmax(280px,560px);align-items:center;gap:8px 24px;margin:0;display:grid;position:fixed;inset:auto 0 0;box-shadow:0 -8px 32px #00000040}.music-player[hidden]{display:none}.music-player>p{min-width:0;margin:0;line-height:1.4}.music-player>p>strong{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.music-player audio{width:100%;min-width:0;height:54px;margin:0;display:block}.music-player [role=alert]{color:#ffb4b4;overflow-wrap:anywhere;grid-column:1/-1;font-size:.875rem}@media (width<=640px){.artists-page{padding:32px 16px}.artist-card{padding:24px}.music-player{grid-template-columns:minmax(0,1fr);gap:8px;padding-left:16px;padding-right:16px}}.music-player__info{min-width:0}.music-player__title{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.music-player__navigation{flex-wrap:wrap;gap:8px;margin-top:8px;display:flex}.music-player__navigation button{color:#f5f3fa;cursor:pointer;background:#302044;border:1px solid #66517f;border-radius:8px;padding:6px 12px;font-size:.875rem}.music-player__navigation button:hover:not(:disabled){background:#44305c;border-color:#c5a5f5}.music-player__navigation button:focus-visible{outline-offset:3px;outline:2px solid #c5a5f5}.music-player__navigation button:disabled{opacity:.4;cursor:default}.music-player__navigation button[aria-pressed=true]{color:#21152e;background:#dfc9ff;border-color:#c5a5f5}.music-player__navigation button[aria-pressed=true]:hover:not(:disabled){background:#c5a5f5}.music-player__queue{background:#191420;border:1px solid #66517f;border-radius:16px;width:min(420px,100vw - 32px);max-height:min(50dvh,400px);padding:20px;position:absolute;bottom:calc(100% + 12px);right:16px;overflow-y:auto;box-shadow:0 8px 32px #00000060}.music-player__queue[hidden]{display:none}.music-player__queue h2{margin:0 0 16px;font-size:1.1rem}.music-player__queue-list{margin:0;padding-left:28px}.music-player__queue-list li{color:#bcb5c8;padding:4px 0}.music-player__queue-list button{color:#f5f3fa;text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;width:100%;padding:10px 12px;display:flex}.music-player__queue-list button>span:first-child{overflow-wrap:anywhere;min-width:0}.music-player__queue-list button:hover{background:#302044}.music-player__queue-list button:focus-visible{outline-offset:2px;outline:2px solid #c5a5f5}.music-player__queue-list button[aria-current=true]{color:#dfc9ff;background:#302044;border-color:#80629f}.music-player__queue-current{color:#dfc9ff;flex-shrink:0;font-size:.75rem}.album-tracks{margin-top:40px}.album-tracks>p{color:#bcb5c8;line-height:1.7}.album-tracks__list{gap:10px;margin:24px 0 0;padding:0;list-style:none;display:grid}.album-track{background:#1a1622;border:1px solid #393044;border-radius:12px;grid-template-columns:32px minmax(0,1fr) 64px 160px;align-items:center;gap:16px;padding:18px 20px;display:grid}.album-track:hover{background:#211a2c;border-color:#66517f}.album-track[aria-current=true]{background:#302044;border-color:#c5a5f5}.album-track__number{color:#bcb5c8;font-variant-numeric:tabular-nums;text-align:center}.album-track__info{gap:5px;min-width:0;display:grid}.album-track__title{color:#f5f3fa;overflow-wrap:anywhere}.album-track__disc,.album-track__status{font-size:.8rem}.album-track__disc{color:#bcb5c8}.album-track__status{color:#dfc9ff}.album-track__duration{color:#bcb5c8;font-variant-numeric:tabular-nums;text-align:right;font-size:.9rem}.album-track__play{color:#f5f3fa;cursor:pointer;background:#302044;border:1px solid #80629f;border-radius:8px;width:100%;padding:10px 14px;font-size:.875rem}.album-track__play:hover{background:#44305c;border-color:#c5a5f5}.album-track__play:focus-visible{outline-offset:3px;outline:2px solid #c5a5f5}.album-track[aria-current=true] .album-track__play{color:#21152e;background:#dfc9ff;border-color:#dfc9ff}.album-track[aria-current=true] .album-track__play:hover{background:#c5a5f5}.album-track__unavailable{color:#bcb5c8;text-align:center;font-size:.8rem}@media (width<=640px){.album-track{grid-template-columns:24px minmax(0,1fr) 48px;gap:12px;padding:16px 12px}.album-track__play,.album-track__unavailable{grid-column:2/-1}}.album-actions{flex-wrap:wrap;gap:12px;margin-top:28px;display:flex}.album-actions__play{color:#21152e;cursor:pointer;background:#dfc9ff;border:1px solid #dfc9ff;border-radius:8px;padding:12px 22px;font-weight:700}.album-actions__play:hover:not(:disabled){background:#c5a5f5;border-color:#c5a5f5}.album-actions__play:focus-visible{outline-offset:4px;outline:2px solid #f5f3fa}.album-actions__play:disabled{opacity:.4;cursor:default}.artist-discography{margin-top:40px}.artist-discography>p{color:#bcb5c8;line-height:1.7}.artist-discography__title{overflow-wrap:anywhere;margin:16px 0;font-size:1.4rem}.artist-discography__title a{color:#f5f3fa;text-decoration:none}.artist-discography__title a:hover{color:#c5a5f5}.artist-discography__title a:focus-visible{outline-offset:4px;outline:2px solid #c5a5f5}.auth-card{background:#1a1622;border:1px solid #66517f;border-radius:16px;max-width:480px;margin:40px auto 0;padding:clamp(24px,5vw,40px)}.auth-card__intro{color:#bcb5c8;line-height:1.7}.auth-form{gap:24px;margin-top:28px;display:grid}.auth-form__field{gap:8px;display:grid}.auth-form__field label{font-weight:600}.auth-form__field input{color:#f5f3fa;background:#111017;border:1px solid #66517f;border-radius:8px;width:100%;min-width:0;padding:12px 14px}.auth-form__field input:focus-visible{outline-offset:2px;outline:2px solid #c5a5f5}.auth-form__field input[aria-invalid=true]{border-color:#ffb4b4}.auth-form__error{color:#ffb4b4;margin:0;font-size:.875rem;line-height:1.5}.auth-form__remember{color:#dfd7e9;cursor:pointer;align-items:center;gap:10px;display:flex}.auth-form__remember input{accent-color:#c5a5f5;flex-shrink:0;width:18px;height:18px}.home-navigation{flex-wrap:wrap;gap:12px;margin-top:28px;display:flex}.home-navigation a{color:#f5f3fa;background:#302044;border:1px solid #80629f;border-radius:8px;padding:10px 18px;text-decoration:none}.home-navigation a:hover{background:#44305c;border-color:#c5a5f5}.home-navigation a:focus-visible{outline-offset:4px;outline:2px solid #c5a5f5}.home-session{border-top:1px solid #393044;gap:16px;width:100%;max-width:540px;margin-top:36px;padding-top:24px;display:grid}.home-session__login{justify-self:start;text-decoration:none;display:inline-block}.artist-editor{max-width:800px;margin-top:32px}.artist-editor .auth-form__field select,.artist-editor .auth-form__field textarea{color:#f5f3fa;background:#111017;border:1px solid #66517f;border-radius:8px;width:100%;min-width:0;padding:12px 14px}.artist-editor .auth-form__field textarea{resize:vertical;line-height:1.7}.artist-editor .auth-form__field select:focus-visible,.artist-editor .auth-form__field textarea:focus-visible{outline-offset:2px;outline:2px solid #c5a5f5}.artist-editor .auth-form__field [aria-invalid=true]{border-color:#ffb4b4}.artist-editor .auth-form__field small{color:#bcb5c8;line-height:1.5}.artist-editor .album-actions{align-items:center;margin-top:0}.artist-editor__images{border:1px solid #66517f;border-radius:12px;gap:28px;min-width:0;margin:0;padding:24px;display:grid}.artist-editor__images legend{color:#dfc9ff;padding:0 8px;font-weight:700}.artist-editor__preview{background:#211a2c;border:1px solid #393044;border-radius:8px;place-items:center;min-width:0;padding:16px;display:grid}.artist-editor__preview img{object-fit:contain;max-width:100%;max-height:260px;display:block}.artist-editor__progress{color:#dfc9ff;gap:8px;display:grid}.artist-editor__progress progress{accent-color:#c5a5f5;width:100%}.artist-hero{isolation:isolate;position:relative;overflow:hidden}.artist-hero__cover{z-index:-2;object-fit:cover;object-position:center;width:100%;height:100%;position:absolute;inset:0}.artist-hero:before{content:"";z-index:-1;background:linear-gradient(90deg,#111017f0,#111017b8);position:absolute;inset:0}.artist-hero__content{max-width:800px;position:relative}.artist-hero__logo{object-fit:contain;object-position:left center;width:auto;max-width:min(100%,320px);height:auto;max-height:160px;margin-top:24px;display:block}.artist-photo{background:#1a1622;border:1px solid #393044;border-radius:16px;max-width:900px;margin:32px auto 0;overflow:hidden}.artist-photo img{width:100%;height:auto;display:block}.artist-editor__genres{grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr));gap:16px;display:grid}.artist-editor__link{border:1px solid #393044;border-radius:8px;gap:16px;min-width:0;margin:0;padding:20px;display:grid}.artist-editor__link legend{color:#dfc9ff;padding:0 8px}.artist-editor__link-button{color:#f5f3fa;cursor:pointer;background:#302044;border:1px solid #80629f;border-radius:8px;justify-self:start;padding:10px 14px}.artist-editor__link-button:hover:not(:disabled){background:#44305c;border-color:#c5a5f5}.artist-editor__link-button:focus-visible{outline-offset:3px;outline:2px solid #c5a5f5}.artist-editor__link-button:disabled{opacity:.4;cursor:default}.admin-delete-button{color:#ffd4dd;cursor:pointer;background:#3b202b;border:1px solid #a85d70;border-radius:8px;padding:10px 18px}.admin-delete-button:hover:not(:disabled){background:#542b3b;border-color:#ffb4c5}.admin-delete-button:focus-visible{outline-offset:3px;outline:2px solid #ffb4c5}.admin-delete-button:disabled{opacity:.45;cursor:default}.confirm-dialog{color:#f5f3fa;background:#1a1622;border:1px solid #80629f;border-radius:16px;width:min(480px,100% - 32px);max-height:calc(100dvh - 32px);margin:auto;padding:clamp(24px,5vw,32px);overflow-y:auto;box-shadow:0 24px 80px #00000080}.confirm-dialog::backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#08060dcc}.confirm-dialog__title{overflow-wrap:anywhere;margin:0 0 16px;font-size:1.5rem;line-height:1.3}.confirm-dialog__description{color:#bcb5c8;white-space:pre-line;overflow-wrap:anywhere;margin:0;line-height:1.7}.confirm-dialog__actions{flex-wrap:wrap;justify-content:flex-end;gap:12px;margin-top:28px;display:flex}.confirm-dialog__cancel{color:#f5f3fa;cursor:pointer;background:#302044;border:1px solid #80629f;border-radius:8px;padding:10px 18px}.confirm-dialog__cancel:hover:not(:disabled){background:#44305c;border-color:#c5a5f5}.confirm-dialog__cancel:focus-visible{outline-offset:3px;outline:2px solid #c5a5f5}.confirm-dialog__cancel:disabled{opacity:.45;cursor:default}.confirm-dialog__status{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}@media (width<=480px){.confirm-dialog__actions{flex-direction:column}.confirm-dialog__actions button{width:100%}}.album-editor-page{max-width:1000px}.album-editor-page h1{letter-spacing:-.03em;margin-top:24px;font-size:clamp(2rem,4vw,2.75rem);line-height:1.15}.album-editor-page>p{max-width:680px;margin-bottom:0}.album-editor-page .artist-editor{max-width:none}.album-editor-page .artist-editor>fieldset{grid-template-columns:repeat(2,minmax(0,1fr))}.album-editor-page .artist-editor>fieldset>*{grid-column:1/-1;min-width:0}:is(.album-editor-page .artist-editor>fieldset>.auth-form__field:has(>#type),.album-editor-page .artist-editor>fieldset>.auth-form__field:has(>#release_date)){grid-column:span 1}.album-editor-page .artist-editor>fieldset>legend{color:#dfc9ff;padding:0 0 16px;font-size:1.15rem;font-weight:700}.album-editor-page .artist-editor__images{background:#1a1622;border-color:#393044;gap:20px;padding:24px}.album-editor-page .artist-editor__images>small{color:#bcb5c8;line-height:1.6}.album-editor-page .auth-form__field small{font-size:.85rem;line-height:1.6}.album-editor-page .artist-editor__genres{grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:12px}.album-editor-page .artist-editor__genres .auth-form__remember{overflow-wrap:anywhere;background:#111017;border:1px solid #66517f;border-radius:8px;flex-wrap:wrap;padding:14px}.album-editor-page .artist-editor__genres .auth-form__remember:has(input:checked){background:#302044;border-color:#c5a5f5}.album-editor-page .artist-editor__genres .auth-form__remember:focus-within{outline-offset:3px;outline:2px solid #c5a5f5}.album-editor-page .artist-editor__preview{aspect-ratio:1;justify-self:start;width:min(100%,300px)}.album-editor-page .artist-editor__preview img{max-width:100%;max-height:100%}.album-editor-page .album-actions{border-top:1px solid #393044;padding-top:24px}@media (width<=640px){.album-editor-page .artist-editor>fieldset{grid-template-columns:minmax(0,1fr)}.album-editor-page .artist-editor__images{padding:18px}}.music-player__info,.music-player__summary{width:100%;min-width:0}.music-player__metadata{flex:1;min-width:0}.music-player__navigation{align-items:center;width:100%;min-width:0}.music-player__navigation button{white-space:normal;word-break:normal;overflow-wrap:normal;flex:none;max-width:100%}@media (width<=960px){.music-player{grid-template-columns:minmax(0,1fr);gap:12px;padding-left:16px;padding-right:16px}.music-player>audio{width:100%;min-width:0}}
