:root{--bg-top:#0a1026;--bg-mid:#0f1f3d;--bg-bottom:#142a4f;--surface:#0d122494;--surface-border:#9cbeff47;--text-main:#f4f8ff;--text-muted:#b6c5e5;--success:#36d38d;--error:#ff7b88;--action:#6db7ff;--action-strong:#3f8ff3}*{box-sizing:border-box}body{min-height:100vh;color:var(--text-main);background:radial-gradient(circle at 20% 0%,#244f89 0%,transparent 45%),radial-gradient(circle at 90% 5%,#17386d 0%,transparent 42%),linear-gradient(160deg,var(--bg-top),var(--bg-mid)45%,var(--bg-bottom));margin:0;font-family:Sora,Avenir Next,Segoe UI,sans-serif}.page-bg{pointer-events:none;background:radial-gradient(circle at 75% 70%,#66b0ff33,#0000 38%);position:fixed;inset:0}.topbar{z-index:10;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#080c19ad;border-bottom:1px solid #a7c4ff33;justify-content:space-between;align-items:center;gap:12px;padding:14px 20px;display:flex;position:sticky;top:0}.brand-link{letter-spacing:.05em;font-size:1.1rem;font-weight:700;text-decoration:none}.auth-chip{background:#3045766b;border:1px solid #a5bff559;border-radius:999px;align-items:center;gap:8px;padding:6px 12px;display:flex}.auth-chip-text{color:var(--text-muted);font-size:.86rem}.auth-chip-text-restoring{min-width:112px}.auth-chip-label{color:#d6e6ff;border-left:1px solid #bbcef559;padding-left:8px;font-size:.82rem}.dot{background:#9fb0d4;border-radius:999px;width:9px;height:9px}.dot-on{background:var(--success);box-shadow:0 0 0 4px #36d38d33}.topbar-actions{justify-content:flex-end;gap:8px;min-width:196px;display:flex}.topbar-actions .ghost-btn,.topbar-actions .ghost-btn-link{text-align:center;min-width:92px}.action-btn{justify-content:center;align-items:center;min-height:34px;display:inline-flex}.ghost-btn,.ghost-btn-link{color:#dbe8ff;cursor:pointer;background:#1e2d5159;border:1px solid #a5bff559;border-radius:10px;padding:7px 12px;font-size:.88rem;text-decoration:none;transition:background-color .18s,transform .18s}.ghost-btn:hover,.ghost-btn-link:hover{background:#3a5a9980;transform:translateY(-1px)}.app-shell{min-height:calc(100vh - 66px);padding:28px 16px;position:relative}.home-content{max-width:780px;margin:24px auto 0}.artist-search-wrap{margin:18px 0 16px;position:relative}.artist-search-input{margin:0}.artist-search-dropdown{z-index:12;background:#070d1df5;border:1px solid #a5bff54d;border-radius:12px;width:100%;max-height:min(360px,55vh);position:absolute;top:calc(100% + 8px);overflow:auto;box-shadow:0 18px 32px #00000059}.artist-search-item{width:100%;color:var(--text-main);text-align:left;cursor:pointer;background:0 0;border:0;border-bottom:1px solid #a5bff51f;padding:11px 12px}.artist-search-item:last-child{border-bottom:0}.artist-search-item:hover,.artist-search-item-active{background:#4062a85c}.artist-search-name{margin:0;font-weight:600}.artist-search-row{justify-content:space-between;align-items:center;gap:8px;display:flex}.artist-search-check{color:#84f4c3;font-size:.88rem;font-weight:700}.artist-search-meta{color:var(--text-muted);margin:4px 0 0;font-size:.85rem}.artist-search-empty,.artist-search-error{margin:0;padding:12px}.artist-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;margin-top:14px;display:grid}.artist-card{background:#0c162d80;border:1px solid #a5bff53d;border-radius:14px;flex-direction:column;gap:10px;padding:14px;display:flex}.artist-card-link{color:inherit;text-decoration:none;display:block}.artist-card-name{margin:0;font-size:1rem}.artist-card-meta{color:var(--text-muted);margin:0;font-size:.86rem}.artist-card-actions{align-items:center;gap:8px;margin-top:auto;display:flex}.discography-item-links{align-items:center;gap:8px;display:inline-flex}.discography-item-download{border-left:1px solid #a5bff53d;align-items:center;gap:6px;margin-left:6px;padding-left:10px;display:inline-flex}.artist-empty-card{text-align:left;background:#0c162d5c;border:1px dashed #a5bff557;border-radius:14px;margin-top:14px;padding:14px}.artist-empty-card h2{margin:0;font-size:1rem}.artist-empty-card p{color:var(--text-muted);margin:8px 0 0;font-size:.9rem}.artist-page-content{max-width:920px}.artist-page-back{margin:0 0 14px}.artist-page-mbid{color:var(--text-muted);margin:-10px 0 14px;font-size:.84rem}.discography-filters{flex-wrap:wrap;gap:8px;margin:10px 0 14px;display:flex}.discography-filters-secondary{margin-top:-4px}.discography-filter-btn{color:#dbe8ff;cursor:pointer;background:#1e2d5159;border:1px solid #a5bff559;border-radius:999px;padding:7px 12px;font-size:.84rem}.discography-filter-btn-active{background:#4c76c79e;border-color:#accbff94}.discography-list{gap:10px;display:grid}.discography-grouped{gap:16px;display:grid}.discography-section{gap:10px;display:grid}.discography-divider{align-items:center;gap:10px;display:flex}.discography-divider:after{content:"";border-top:1px solid #a5bff53d;flex:1}.discography-divider-label{letter-spacing:.02em;color:#d7e5ff;font-size:.86rem;font-weight:650}.discography-item{background:#0c162d80;border:1px solid #a5bff53d;border-radius:14px;justify-content:space-between;align-items:center;gap:10px;padding:12px;display:flex}.discography-item-main{min-width:0}.discography-item-title{margin:0;font-size:.98rem}.discography-item-meta{color:var(--text-muted);margin:6px 0 0;font-size:.84rem}.discography-type{color:#d7e5ff;font-weight:600}.discography-load-more{margin-top:12px}.icon-btn{justify-content:center;align-items:center;width:34px;height:34px;padding:0;font-size:1rem;line-height:1;display:inline-flex}.icon-spinner{border:2px solid #dbe8ff4d;border-top-color:#dbe8ff;border-radius:999px;width:14px;height:14px;animation:.75s linear infinite icon-spin}.download-panel{text-align:left;background:#0c162d7a;border:1px solid #a5bff547;border-radius:16px;margin-top:24px;padding:18px}.download-title{margin:0;font-size:1.1rem}.download-subtitle{color:var(--text-muted);margin:6px 0 14px;font-size:.9rem}.download-form{grid-template-columns:1fr auto;align-items:center;gap:10px;display:grid}.download-url-input{margin:0}.download-job-card{background:#040a1659;border:1px solid #a5bff538;border-radius:12px;margin-top:14px;padding:12px}.queue-toolbar{justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px;display:flex}.queue-card-header{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.queue-card-meta{flex:1}.queue-toggle{color:#dbe8ff;cursor:pointer;background:#1e2d5159;border:1px solid #a5bff559;border-radius:8px;min-width:34px;height:34px}.download-job-meta{color:#c0d2f6;overflow-wrap:anywhere;margin:6px 0;font-size:.85rem}.progress-table{border-collapse:collapse;width:100%;margin-top:12px}.progress-table th,.progress-table td{text-align:left;border-bottom:1px solid #a5bff533;padding:8px 6px;font-size:.85rem}.progress-table th{color:#d7e5ff;font-weight:650}.status-cell{color:#d7e5ff}.status-error-inline{color:var(--error)}.track-progress{flex-direction:column;gap:4px;min-width:180px;display:flex}.progress-bar-shell{background:#8fabe440;border-radius:999px;width:100%;height:8px;overflow:hidden}.progress-bar-fill{background:linear-gradient(90deg,#64b4ff,#34d2c4);height:100%;transition:width .2s}.progress-bar-indeterminate .progress-bar-fill{width:35%;animation:1.2s ease-in-out infinite progress-sweep}.progress-label{color:#c2d5f5;font-size:.78rem}@keyframes progress-sweep{0%{transform:translate(-120%)}to{transform:translate(320%)}}@keyframes icon-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.auth-modal-backdrop{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:20;background:#0307138f;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.downloaded-modal-backdrop{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:26;background:#0307138f;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.downloaded-modal{width:min(860px,94vw);max-height:82vh;animation:.18s ease-out modal-in;overflow:auto}.downloaded-modal-header{justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px;display:flex}.downloaded-modal-header .card-title{font-size:1.2rem}.downloaded-modal-actions{flex-wrap:wrap;gap:10px;margin:14px 0 12px;display:flex}@media (max-width:640px){.downloaded-modal-actions .action-btn{width:100%}}.queue-modal-backdrop{z-index:25;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#03071370;justify-content:flex-end;display:flex;position:fixed;inset:0}.queue-slider{border-left:1px solid var(--surface-border);background:#091021eb;flex-direction:column;width:min(860px,92vw);height:100%;animation:.18s ease-out slider-in;display:flex;box-shadow:-18px 0 38px #00000057}.queue-slider-header{border-bottom:1px solid #a5bff533;flex-direction:column;align-items:stretch;gap:10px;padding:14px 16px;display:flex}.queue-slider-title-row{justify-content:space-between;align-items:center;gap:10px;display:flex}.queue-slider-header h2{margin:0;font-size:1.05rem}.queue-header-form{grid-template-columns:1fr auto;align-items:center;gap:10px;display:grid}.queue-header-url-input{margin:0}.queue-header-submit-btn{width:44px;min-width:44px;height:44px;padding:0;font-size:1.1rem;line-height:1}.queue-header-status{margin:0}.queue-slider-close{color:#dbe8ff;cursor:pointer;background:#1e2d5159;border:1px solid #a5bff559;border-radius:10px;width:34px;height:34px}.queue-slider-body{padding:14px;overflow:auto}.queue-panel-content{max-width:100%}.queue-empty-state{padding:8px 4px}.auth-card{background:var(--surface);border:1px solid var(--surface-border);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-radius:20px;width:min(100%,460px);padding:28px;box-shadow:0 22px 44px #050a1473}.auth-modal{animation:.18s ease-out modal-in}.card-title{margin:0;font-size:clamp(1.7rem,4vw,2.05rem)}.card-subtitle{color:var(--text-muted);margin:8px 0 20px}.auth-form{gap:10px;display:grid}.field-label{color:#d0def7;font-size:.9rem}.field-input{width:100%;color:var(--text-main);background:#070d1d8c;border:1px solid #9cbeff57;border-radius:12px;outline:none;padding:11px 13px}.field-input:focus{border-color:var(--action);box-shadow:0 0 0 2px #6db7ff40}.primary-btn{background:linear-gradient(120deg,var(--action),var(--action-strong));color:#f3f8ff;cursor:pointer;border:none;border-radius:12px;margin-top:10px;padding:11px 14px;font-weight:650}.primary-btn:disabled{cursor:default;opacity:.8}.status-success{color:var(--success);align-items:center;gap:8px;margin-top:8px;font-weight:600;display:flex}.status-label{color:#d4ffe8;font-weight:500}.status-info,.status-error{margin-top:12px;font-size:.9rem}.status-info{color:#c9d8f7}.status-error{color:var(--error)}@keyframes modal-in{0%{opacity:0;transform:translateY(8px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes slider-in{0%{opacity:0;transform:translate(14px)}to{opacity:1;transform:translate(0)}}@media (max-width:700px){.topbar{flex-wrap:wrap}.auth-chip{order:3;justify-content:center;width:100%}.topbar-actions{min-width:0}.queue-slider{width:100vw}.auth-card{padding:22px}.download-form,.queue-header-form{grid-template-columns:1fr}.queue-header-submit-btn{width:100%}.artist-card-actions,.discography-item{flex-direction:column;align-items:stretch}}